Style-guide and component library for the Oslo public libraries
- React
- PostCSS CSS processing
- Backpack.css CSS foundation for applications
- Rollup JavaScript module bundler
- Storybook UI Development Environment
Local development is done via React-storybook. Clone the repo and run:
npm i
npm start
Before adding a new Component, make sure this is a generic utility-component. If it's not, add it to the project where it will be used. I.E, an "Accordion" is generic, a "LibraryDetailsCard" is probably not.
Requirement | Description | |
---|---|---|
✅ | The component is semantic | Use HTML5 markup, the correct font hierarchy etc. |
✅ | The component is documented | Ensure the component has a Component.md file, a story and proptype definitions. |
✅ | The component is accessible | Usable with a keyboard, correct :focus -styles, correct aria-roles . |
✅ | The component is tested | Cross-browser testing. |
All icons are stored in the /src/assets/icons
folder.
- Export the icons for web!
- It's important that they're as lean as possible since they'll be downloaded by all visitors. Use this Optimizer if possible.
- Make sure the new icon has the same size/style/line width as the old files.
- Add the icon to the folder and run
npm run icons
. - After the output file has been created (
public/icons.svg
), You need to manually replace any hex color values (taken from the source files) withcurrentColor
. This will allow the icons to easily be colored when used. NB: Check the commit well to ensure you didn't edit any old icons/colors). - Add the new icon to the
stories/1-Base/3-icons.stories.js
file. - Publish new version of Deichman-UI.
Make sure to update the changelog if there's any breaking changes.
To publish a new version of the library to npm:
npm version {major/minor/patch}
git push --tags
git push origin master
npm publish
To publish/update the docs:
npm run deploy-storybook
jsDelivr will cache the @latest
tag for 24 hours, if you're using the latest version and wish to purge the cache, visit https://purge.jsdelivr.net/npm/@digibib/deichman-ui@latest/dist/index.css