Natura11y Core provides the foundation for the design system using vanilla JavaScript and SCSS.
- SCSS: Organized with a partial for each component/utility. It uses BEM conventions and CSS cascade layers applied in the order:
base → component → utility. - JavaScript: Uses native browser APIs and a class-based structure where each class handles a single interaction.
- Distribution: The source compiles into two main files in the
dist/ folder: natura11y.css and natura11y.js.
core/
├── src/
│ ├── js/
│ │ ├── accordion.js
│ │ ├── alert.js
│ │ └── ...
│ ├── scss/
│ │ ├── _accordion.scss
│ │ ├── _alert.scss
│ │ └── index.scss (loads Sass partials)
│ └── index.js (loads styles and initializes JS classes)
└── dist/
├── natura11y.css (compiled CSS output)
└── natura11y.js (compiled JS output)