@rolemodel/optics
Version:
Optics is a css package that provides base styles and components that can be integrated and customized in a variety of projects.
97 lines (61 loc) • 3.15 kB
Markdown
<div style='display: flex; gap: 10px;'>
[](https://github.com/RoleModel/optics)
[](https://github.com/RoleModel/optics/blob/main/LICENSE)
[](https://www.npmjs.com/package/@rolemodel/optics)
[](https://github.com/RoleModel/optics/actions/workflows/linting.yml)
</div>
Optics is a css package that provides base styles and components that can be integrated and customized in a variety of projects.
```sh
npm install @rolemodel/optics
```
```sh
yarn add @rolemodel/optics
```
You can add this import to the top of your root level `css` file.
```css
@import '@rolemodel/optics'; /* Using webpack to compile */
/* Or */
@import '@rolemodel/optics/dist/css/optics'; /* Using a different compiler */
/* Or */
@import '@rolemodel/optics/dist/css/optics.min.css'; /* If you want a single file with all the styles in it. */
```
To use Optics without compilation, use a CDN like [jsDelivr](https://www.jsdelivr.com/) or [unpkg](https://unpkg.com/).
Add a link in your HTML head or an `@import` to the top of your root level `css` file.
```html
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@rolemodel/optics@[desired version]/dist/css/optics.min.css"
/>
```
```css
@import 'https://cdn.jsdelivr.net/npm/@rolemodel/optics@[desired version]/dist/css/optics.min.css';
```
Note: You can use this method to use Optics with [CodePen](https://codepen.io/). In a CodePen project, go to `Settings > CSS`, find the section for adding external stylesheets, and add the CDN link as a resource.
We use [Storybook](https://storybook.js.org/docs/html/get-started/introduction) as a way to provide informative and interactive documentation.
It can be found here [Optics Documentation](https://docs.optics.rolemodel.design/)
We use the Storybook Design Token for showing design tokens in the documentation. This allows us to tag groups of tokens with a category and a presenter.
[](https://github.com/UX-and-I/storybook-design-token#available-presenters)
Add the following above a group to categorize the tokens.
```css
/**
* @tokens Basic Colors
* @presenter Color
*/
```
For instructions on how to create a new component, see [Process for Creating New Components](./NEW_COMPONENT.md)
Additional stories can be added using the following command, or copying an existing story.
```sh
npm run generate
```
The visual graphic found on the Selective Imports page in the documentation is generated from the `tools/generate-graph.dot` file. You can preview and export a newer svg version of the graphic by using the `tintinweb.graphviz-interactive-preview` VSCode extension.
[](LICENSE)