Iridium is a UI framework with no UI. It's built for Vue. It focuses on providing reuseable renderless UI components and convenient helper components.
Check out the documentation to learn more.
A Vue UI framework with no UI
Home Page: http://iridiumui.com
License: MIT License
Iridium is a UI framework with no UI. It's built for Vue. It focuses on providing reuseable renderless UI components and convenient helper components.
Check out the documentation to learn more.
Currently Visually Hidden wil throw an error if you just pass in some text. Instead you have to pass in a tag or something similar. But Visually Hidden will almost always just be used to pass in some text so it should be able to support that.
Part of switching the project over to using Storybook will be to implement snapshot tests.
The Screen helpers currently accept a direction prop of the type String. However the only valid Strings should be 'up' and 'down'.
Since accessibility is an important part of the project I will play around with automatic a11y tests using Storybook.
Some things will be moved around slightly. The new folder structure will be as follows:
/src
..../components
........./core
........./extra
........./helpers
........./transitions
........./accessibility
..../stories
........./core
........./extra
........./helpers
........./transitions
........./accessibility
..../tests
........./plugin
The accordion will be built on top of the new Toggle component. The accordion will be responsible for managin several Toggles called Accordion Items.
Features:
The Tabs component will be a container for multiple Tab Items. It will be responsible for making sure that only 1 Tab Item is visible at once.
Features:
Currently the eslint setup is pretty relaxed about certain stuff. Below is a list of improvements I want to make:
As I've been building more components I've noticed a pattern where a lot of the components contain the same basic functionality. The ability to show / hide something. The idea with the toggle component is that it will be a parent component that contains this functionality. Then the rest of the components can be built on top of this.
API:
Todo:
As we're getting close to v.1 I want to introduce a CHANGELOG.md file that makes it easy for people to see what have been added/changed.
A nice feature would be the ability to add aliases to certain folders.
This means it's no longer necessary to manually navigating folders when importing modules from other files.
Below is a list of aliases that will initially be implemented:
Currently every new component is manually registered and exported in the main index.js file. But as the number of components grow this file becomes very cluttered. It would be better if we could find a way to automatically register the components
Currently the library have abstractions on the Fixed component such as FixedBottom and FixedRight. It should have a few more abstractions such as FixedBottomRight etc. This will make the component slightly more useful.
Components:
FixedTopRight
FixedTopLeft
FixedBottomRight
FixedBottomLeft
Since Storybook will be implemented in the project, all old tests will have to be converted.
The library should include a page progress component. This component will return a % of the page that has been scrolled. Optionally it could also be a % of a specific container.
This is useful for websites that have long-form articles and want to show a progress indicator. It could also be useful if you want to trigger an action after 50% of an article has been read.
Features:
The component should remove the event listener it has attached when it's destroyed.
The library should contain a modal component.
The modal should have the following features:
Currently InView accepts an array of numbers as a threshold. It does that because it's based on the Intersection Observer API which accepts the same array. But it doesn't actually work properly in the component since that's only returning a boolean of whether the element is in view. This mean that this boolean will only be updated when the first item in the array matches. Therefor it doesn't make any sense to accept an array and it should be removed.
A problem with the ClickOutside component is that you can't control when it's active. If you for example use it in a modal where you attach a method that will close the modal to it. If this code is active when the modal trigger is clicked the method will still fire and automatically close the modal right away again. This can be solved by allowing it to accept an 'active' prop. If the prop is provided it will only emit events if the prop is 'true'.
There isn't really a need for these this to live in a seperate file. It's basically just another really simple component and it uses a render function so it doesn't need to be a .vue file either. It will be simpler if it was simply moved into the parent component
Stories should be added for all the transitions
The Breakpoint component currently supports resizing, but there is not test that proves it
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.