srcdev-nuxt-components 4.0.6 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +171 -2
- package/assets/styles/extends-layer/srcdev-components/display-prompt-core/index.css +70 -0
- package/assets/styles/extends-layer/srcdev-components/index.css +2 -0
- package/assets/styles/extends-layer/srcdev-components/themes/_error.css +15 -0
- package/assets/styles/extends-layer/srcdev-components/themes/_info.css +15 -0
- package/assets/styles/extends-layer/srcdev-components/themes/_success.css +15 -0
- package/assets/styles/extends-layer/srcdev-components/themes/_warning.css +15 -0
- package/assets/styles/main.css +2 -5
- package/assets/styles/{forms/variables/_theme.css → setup/_head.css} +0 -6
- package/assets/styles/{a11y → setup/a11y}/_variables.css +2 -0
- package/assets/styles/setup/a11y/index.css +2 -0
- package/assets/styles/setup/index.css +5 -0
- package/assets/styles/setup/typography/index.css +2 -0
- package/assets/styles/setup/typography/utility-classes/_generic-font-classes.css +192 -0
- package/assets/styles/setup/typography/utility-classes/_generic-font-variation-settings.css +29 -0
- package/assets/styles/setup/typography/utility-classes/_generic-font-weights.css +41 -0
- package/assets/styles/setup/typography/utility-classes/index.css +3 -0
- package/assets/styles/setup/typography/vars/index.css +1 -0
- package/assets/styles/setup/utility-classes/_page.css +49 -0
- package/assets/styles/setup/utility-classes/index.css +3 -0
- package/assets/styles/setup/variables/index.css +1 -0
- package/components/accordian/AccordianCore.vue +46 -0
- package/components/{presentation/container-glow → container-glow}/ContainerGlowCore.vue +80 -80
- package/components/display-details/DisplayDetailsCore.vue +49 -60
- package/components/{functional/display-dialog → display-dialog}/DisplayDialogCore.vue +49 -38
- package/components/display-prompt/DisplayPromptCore.vue +187 -0
- package/components/expanding-panel/ExpandingPanel.vue +124 -0
- package/components/responsive-header/NavigationItems.vue +23 -18
- package/components/responsive-header/ResponsiveHeader.vue +345 -278
- package/components/{presentation/tabs → tabs}/TabsCore.vue +27 -58
- package/composables/useDialogControls.ts +22 -1
- package/package.json +1 -1
- package/assets/styles/a11y/index.css +0 -2
- package/assets/styles/forms/index.css +0 -2
- package/assets/styles/forms/themes/_error.css +0 -77
- package/assets/styles/forms/themes/_ghost.css +0 -77
- package/assets/styles/forms/themes/_input-action.css +0 -20
- package/assets/styles/forms/themes/_primary.css +0 -82
- package/assets/styles/forms/themes/_secondary.css +0 -77
- package/assets/styles/forms/themes/_success.css +0 -77
- package/assets/styles/forms/themes/_tertiary.css +0 -77
- package/assets/styles/forms/themes/_warning.css +0 -77
- package/assets/styles/forms/themes/index.css +0 -8
- package/assets/styles/forms/variables/_sizes.css +0 -82
- package/assets/styles/forms/variables/index.css +0 -2
- package/assets/styles/typography/index.css +0 -2
- package/assets/styles/typography/utils/_font-classes.css +0 -160
- package/assets/styles/typography/utils/_weights.css +0 -69
- package/assets/styles/typography/utils/index.css +0 -2
- package/assets/styles/typography/variables/_colors.css +0 -14
- package/assets/styles/typography/variables/index.css +0 -2
- package/assets/styles/utils/_animations.css +0 -42
- package/assets/styles/utils/_canvasWidths.css +0 -18
- package/assets/styles/utils/_display.css +0 -7
- package/assets/styles/utils/_page.css +0 -27
- package/assets/styles/utils/_placement.css +0 -73
- package/assets/styles/utils/index.css +0 -7
- package/assets/styles/variables/components/_accordian.css +0 -7
- package/assets/styles/variables/components/_container-glow-core.css +0 -16
- package/assets/styles/variables/components/_display-dialog-core.css +0 -35
- package/assets/styles/variables/components/_tabs.css +0 -18
- package/assets/styles/variables/components/display-prompt-core/_scaffolding.css +0 -57
- package/assets/styles/variables/components/display-prompt-core/index.css +0 -2
- package/assets/styles/variables/components/display-prompt-core/themes/_error.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_info.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_success.css +0 -39
- package/assets/styles/variables/components/display-prompt-core/themes/_warning.css +0 -39
- package/assets/styles/variables/components/index.css +0 -5
- package/assets/styles/variables/index.css +0 -2
- package/components/functional/accordian/AccordianCore.vue +0 -138
- package/components/presentation/display-prompt/DisplayPromptCore.vue +0 -150
- /package/assets/styles/{variables/components/display-prompt-core → extends-layer/srcdev-components}/themes/index.css +0 -0
- /package/assets/styles/{a11y → setup/a11y}/_utils.css +0 -0
- /package/assets/styles/{typography/variables/_reponsive-font-size.css → setup/typography/vars/_reponsive-font-sizes.css} +0 -0
- /package/assets/styles/{utils → setup/utility-classes}/_margin-helpers.css +0 -0
- /package/assets/styles/{utils → setup/utility-classes}/_padding-helpers.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_blue.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_gray.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_green.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_orange.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_red.css +0 -0
- /package/assets/styles/{variables → setup/variables}/colors/_yellow.css +0 -0
- /package/assets/styles/{variables/colors/colors.css → setup/variables/colors/index.css} +0 -0
- /package/components/{functional/display-dialog → display-dialog}/variants/DisplayDialogConfirm.vue +0 -0
- /package/components/{functional/display-dialog → display-dialog}/variants/DisplayDialogScrollableContent.vue +0 -0
- /package/components/{presentation/display-grid → display-grid}/DisplayGridCore.vue +0 -0
- /package/components/{presentation/display-prompt → display-prompt}/variants/DisplayPromptError.vue +0 -0
- /package/components/{presentation/layout-grids → layout-grids}/LayoutGridA.vue +0 -0
- /package/components/{presentation/layout-grids → layout-grids}/LayoutGridB.vue +0 -0
- /package/components/{presentation/layout-row → layout-row}/LayoutRow.vue +0 -0
- /package/components/{presentation/masonry-grid → masonry-grid}/MasonryGrid.vue +0 -0
- /package/components/{presentation/masonry-grid-sorted → masonry-grid-sorted}/MasonryGridSorted.vue +0 -0
- /package/components/{functional/pop-over → pop-over}/PopOver.vue +0 -0
package/README.md
CHANGED
|
@@ -10,16 +10,185 @@ Althought this repo is public and feel free to do what you wish with it, this ha
|
|
|
10
10
|
npm install --save nuxt-compnents
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
## Additional
|
|
13
|
+
## Additional required packages
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
npm install --save @oddbird/css-anchor-positioning
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Then add the dependency to
|
|
19
|
+
Then add the dependency to the property `extends` in `nuxt.config`:
|
|
20
20
|
|
|
21
21
|
```ts
|
|
22
22
|
defineNuxtConfig({
|
|
23
23
|
extends: 'nuxt-compnents',
|
|
24
24
|
});
|
|
25
25
|
```
|
|
26
|
+
|
|
27
|
+
## Styles Architecture
|
|
28
|
+
|
|
29
|
+
The `/assets/styles` directory contains a modular CSS architecture designed for scalability and maintainability. The styles are organized into the following structure:
|
|
30
|
+
|
|
31
|
+
### Main Entry Point
|
|
32
|
+
|
|
33
|
+
- **`main.css`** - Primary entry point that imports all style modules
|
|
34
|
+
|
|
35
|
+
### Setup Layer (`/setup`)
|
|
36
|
+
|
|
37
|
+
The setup layer provides the foundational styles and utilities:
|
|
38
|
+
|
|
39
|
+
#### Core Configuration
|
|
40
|
+
|
|
41
|
+
- **`_head.css`** - Root-level CSS custom properties including:
|
|
42
|
+
- Font size and line height defaults
|
|
43
|
+
- Primary font family stack (futura-pt, Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif)
|
|
44
|
+
|
|
45
|
+
#### Variables (`/variables`)
|
|
46
|
+
|
|
47
|
+
- **Color System** - Comprehensive color palette with semantic naming:
|
|
48
|
+
- `_blue.css` - Blue color scale (--blue-0 to --blue-12)
|
|
49
|
+
- `_gray.css` - Gray color scale
|
|
50
|
+
- `_green.css` - Green color scale
|
|
51
|
+
- `_orange.css` - Orange color scale
|
|
52
|
+
- `_red.css` - Red color scale
|
|
53
|
+
- `_yellow.css` - Yellow color scale
|
|
54
|
+
|
|
55
|
+
#### Typography (`/typography`)
|
|
56
|
+
|
|
57
|
+
- **Responsive Font Sizes** - Fluid typography using clamp() functions:
|
|
58
|
+
- `--step-5` to `--step--2` providing 8 responsive font size steps
|
|
59
|
+
- **Utility Classes** - Pre-built typography classes:
|
|
60
|
+
- `.heading-1` through `.heading-5` - Semantic heading styles
|
|
61
|
+
- Generic font weight and variation settings
|
|
62
|
+
- **Font Variation Settings** - Advanced typography controls
|
|
63
|
+
|
|
64
|
+
#### Utility Classes (`/utility-classes`)
|
|
65
|
+
|
|
66
|
+
- **Spacing Helpers**:
|
|
67
|
+
- `_margin-helpers.css` - Comprehensive margin utilities (`.mi-auto`, `.mb-0`, etc.)
|
|
68
|
+
- `_padding-helpers.css` - Padding utility classes
|
|
69
|
+
- **Page Layout** - Base page styling (`_page.css`)
|
|
70
|
+
|
|
71
|
+
#### Accessibility (`/a11y`)
|
|
72
|
+
|
|
73
|
+
- **Screen Reader Utilities** - `.sr-only` class for accessible hidden content
|
|
74
|
+
- **A11y Variables** - Accessibility-focused CSS custom properties
|
|
75
|
+
- **Utility Functions** - Helper classes for improved accessibility
|
|
76
|
+
|
|
77
|
+
### Component Layer (`/extends-layer/srcdev-components`)
|
|
78
|
+
|
|
79
|
+
Component-specific styles for the included components:
|
|
80
|
+
|
|
81
|
+
#### Display Prompt Component
|
|
82
|
+
|
|
83
|
+
- **`_scaffolding.css`** - Core component structure with CSS custom properties:
|
|
84
|
+
- Wrapper styling (border-radius, layout)
|
|
85
|
+
- Inner content styling (margin, padding, gap)
|
|
86
|
+
- Icon sizing and positioning
|
|
87
|
+
- Content spacing and typography
|
|
88
|
+
- **Themes** - Pre-built component variants:
|
|
89
|
+
- `_error.css` - Error state styling
|
|
90
|
+
- `_info.css` - Information state styling
|
|
91
|
+
- `_success.css` - Success state styling
|
|
92
|
+
- `_warning.css` - Warning state styling
|
|
93
|
+
|
|
94
|
+
### Import Structure
|
|
95
|
+
|
|
96
|
+
The styles follow a cascading import pattern:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
main.css
|
|
100
|
+
├── setup/
|
|
101
|
+
│ ├── index.css
|
|
102
|
+
│ ├── _head.css
|
|
103
|
+
│ ├── utility-classes/
|
|
104
|
+
│ │ ├── index.css
|
|
105
|
+
│ │ ├── _margin-helpers.css
|
|
106
|
+
│ │ ├── _padding-helpers.css
|
|
107
|
+
│ │ └── _page.css
|
|
108
|
+
│ ├── a11y/
|
|
109
|
+
│ │ ├── index.css
|
|
110
|
+
│ │ ├── _utils.css
|
|
111
|
+
│ │ └── _variables.css
|
|
112
|
+
│ ├── variables/
|
|
113
|
+
│ │ ├── index.css
|
|
114
|
+
│ │ └── colors/
|
|
115
|
+
│ │ ├── index.css
|
|
116
|
+
│ │ ├── _blue.css
|
|
117
|
+
│ │ ├── _gray.css
|
|
118
|
+
│ │ ├── _green.css
|
|
119
|
+
│ │ ├── _orange.css
|
|
120
|
+
│ │ ├── _red.css
|
|
121
|
+
│ │ └── _yellow.css
|
|
122
|
+
│ └── typography/
|
|
123
|
+
│ ├── index.css
|
|
124
|
+
│ ├── utility-classes/
|
|
125
|
+
│ │ ├── index.css
|
|
126
|
+
│ │ ├── _generic-font-classes.css
|
|
127
|
+
│ │ ├── _generic-font-variation-settings.css
|
|
128
|
+
│ │ └── _generic-font-weights.css
|
|
129
|
+
│ └── vars/
|
|
130
|
+
│ ├── index.css
|
|
131
|
+
│ └── _reponsive-font-sizes.css
|
|
132
|
+
└── extends-layer/srcdev-components/
|
|
133
|
+
├── index.css
|
|
134
|
+
├── display-prompt-core/
|
|
135
|
+
│ └── index.css
|
|
136
|
+
└── themes/
|
|
137
|
+
├── index.css
|
|
138
|
+
├── _error.css
|
|
139
|
+
├── _info.css
|
|
140
|
+
├── _success.css
|
|
141
|
+
└── _warning.css
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This architecture ensures proper CSS cascade order and allows for easy customization through CSS custom properties.
|
|
145
|
+
|
|
146
|
+
## Development Environment (`.vscode`)
|
|
147
|
+
|
|
148
|
+
The `.vscode` directory contains Visual Studio Code configuration files to ensure a consistent development experience across the project:
|
|
149
|
+
|
|
150
|
+
### Workspace Configuration
|
|
151
|
+
|
|
152
|
+
- **`settings.json`** - VS Code workspace settings including:
|
|
153
|
+
- Code formatting configuration (2-space indentation, auto-formatting on save)
|
|
154
|
+
- ESLint, Prettier, and Stylelint integration
|
|
155
|
+
- File handling settings (trim whitespace, final newlines, Unix line endings)
|
|
156
|
+
- CSS variable recognition for the project's custom properties
|
|
157
|
+
|
|
158
|
+
### Recommended Extensions
|
|
159
|
+
|
|
160
|
+
- **`extensions.json`** - Curated list of VS Code extensions for optimal development:
|
|
161
|
+
- **Vue.js Development**: `vue.volar` - Vue 3 language support
|
|
162
|
+
- **Nuxt.js Development**: `nuxtr.nuxtr-vscode` - Enhanced Nuxt development tools
|
|
163
|
+
- **Code Quality**: `dbaeumer.vscode-eslint`, `esbenp.prettier-vscode` - Linting and formatting
|
|
164
|
+
- **CSS Development**: `willofindie.vscode-cssvar` - CSS custom property IntelliSense
|
|
165
|
+
- **Testing**: `vitest.explorer` - Vitest test runner integration
|
|
166
|
+
- **Markdown**: `davidanson.vscode-markdownlint` - Markdown linting
|
|
167
|
+
- **Productivity**: `jkjustjoshing.vscode-text-pastry`, `formulahendry.auto-rename-tag`
|
|
168
|
+
|
|
169
|
+
### Code Snippets
|
|
170
|
+
|
|
171
|
+
The `.vscode` directory includes comprehensive code snippets for rapid component development:
|
|
172
|
+
|
|
173
|
+
#### Core Components
|
|
174
|
+
|
|
175
|
+
- **`srcdev-nuxt3-component-boilerplate.code-snippets`** - Base component template with prop validation
|
|
176
|
+
- **`srcdev-nuxt3-page-layout.code-snippets`** - Page layout scaffolding
|
|
177
|
+
- **`srcdev-nuxt3-pinia-store-setup.code-snippets`** - Pinia store configuration
|
|
178
|
+
|
|
179
|
+
#### UI Components
|
|
180
|
+
|
|
181
|
+
- **`srcdev-nuxt3-accordian-component.code-snippets`** - Accordion component templates
|
|
182
|
+
- **`srcdev-nuxt3-carousel-basic-component.code-snippets`** - Basic carousel implementation
|
|
183
|
+
- **`srcdev-nuxt3-carousel-flip-component.code-snippets`** - Flip carousel variant
|
|
184
|
+
- **`srcdev-nuxt3-container-glow-component.code-snippets`** - Container with glow effects
|
|
185
|
+
- **`srcdev-nuxt3-dialog-component.code-snippets`** - Modal dialog templates
|
|
186
|
+
- **`srcdev-nuxt3-display-banner-component.code-snippets`** - Display banner component
|
|
187
|
+
- **`srcdev-nuxt3-display-details-component.code-snippets`** - Collapsible details component
|
|
188
|
+
- **`srcdev-nuxt3-display-prompt-component.code-snippets`** - Alert/notification prompts
|
|
189
|
+
- **`srcdev-nuxt3-expanding-panel-component.code-snippets`** - Expandable panel component
|
|
190
|
+
- **`srcdev-nuxt3-layout-row.code-snippets`** - Layout row component
|
|
191
|
+
- **`srcdev-nuxt3-responsive-header-component.code-snippets`** - Responsive navigation header
|
|
192
|
+
- **`srcdev-nuxt3-tabs-component.code-snippets`** - Tab component system
|
|
193
|
+
|
|
194
|
+
Each snippet provides both HTML template usage examples and TypeScript setup code, enabling developers to quickly implement components with proper typing and configuration.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.display-prompt-core {
|
|
2
|
+
.display-prompt-wrapper {
|
|
3
|
+
background-color: var(--component-theme-10);
|
|
4
|
+
border: 1px solid var(--component-theme-8);
|
|
5
|
+
border-inline-start: 8px solid var(--component-theme-8);
|
|
6
|
+
border-radius: 4px;
|
|
7
|
+
border-start-start-radius: 8px;
|
|
8
|
+
border-end-start-radius: 8px;
|
|
9
|
+
|
|
10
|
+
.display-prompt-inner {
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: 12px;
|
|
13
|
+
padding-block: 1rem;
|
|
14
|
+
padding-inline: 1.5rem;
|
|
15
|
+
|
|
16
|
+
.display-prompt-icon {
|
|
17
|
+
.icon {
|
|
18
|
+
color: var(--component-theme-8);
|
|
19
|
+
font-size: 3rem;
|
|
20
|
+
font-style: normal;
|
|
21
|
+
font-weight: normal;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.display-prompt-content {
|
|
26
|
+
gap: 1rem;
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding: 0.2rem;
|
|
29
|
+
|
|
30
|
+
.title {
|
|
31
|
+
font-size: var(--step-2);
|
|
32
|
+
font-weight: bold;
|
|
33
|
+
line-height: 1.3;
|
|
34
|
+
color: var(--component-theme-8);
|
|
35
|
+
margin: 0;
|
|
36
|
+
padding: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.text {
|
|
40
|
+
font-size: var(--step-2);
|
|
41
|
+
font-weight: normal;
|
|
42
|
+
line-height: 1.3;
|
|
43
|
+
color: var(--component-theme-8);
|
|
44
|
+
margin: 0;
|
|
45
|
+
padding: 0;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
.display-prompt-action {
|
|
49
|
+
background-color: transparent;
|
|
50
|
+
align-items: center;
|
|
51
|
+
margin: 1rem;
|
|
52
|
+
padding: 0.5rem;
|
|
53
|
+
border: 0.1rem solid var(--component-theme-8);
|
|
54
|
+
border-radius: 50%;
|
|
55
|
+
outline: 1px solid var(--component-theme-3);
|
|
56
|
+
|
|
57
|
+
&:hover {
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.icon {
|
|
62
|
+
color: var(--component-theme-8);
|
|
63
|
+
font-size: var(--step-2);
|
|
64
|
+
border: 1px solid green;
|
|
65
|
+
padding: 1rem;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[data-prompt-theme='error'] {
|
|
2
|
+
--component-theme-0: var(--red-0);
|
|
3
|
+
--component-theme-1: var(--red-1);
|
|
4
|
+
--component-theme-2: var(--red-2);
|
|
5
|
+
--component-theme-3: var(--red-3);
|
|
6
|
+
--component-theme-4: var(--red-4);
|
|
7
|
+
--component-theme-5: var(--red-5);
|
|
8
|
+
--component-theme-6: var(--red-6);
|
|
9
|
+
--component-theme-7: var(--red-7);
|
|
10
|
+
--component-theme-8: var(--red-8);
|
|
11
|
+
--component-theme-9: var(--red-9);
|
|
12
|
+
--component-theme-10: var(--red-10);
|
|
13
|
+
--component-theme-11: var(--red-11);
|
|
14
|
+
--component-theme-12: var(--red-12);
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[data-prompt-theme='info'] {
|
|
2
|
+
--component-theme-0: var(--blue-0);
|
|
3
|
+
--component-theme-1: var(--blue-1);
|
|
4
|
+
--component-theme-2: var(--blue-2);
|
|
5
|
+
--component-theme-3: var(--blue-3);
|
|
6
|
+
--component-theme-4: var(--blue-4);
|
|
7
|
+
--component-theme-5: var(--blue-5);
|
|
8
|
+
--component-theme-6: var(--blue-6);
|
|
9
|
+
--component-theme-7: var(--blue-7);
|
|
10
|
+
--component-theme-8: var(--blue-8);
|
|
11
|
+
--component-theme-9: var(--blue-9);
|
|
12
|
+
--component-theme-10: var(--blue-10);
|
|
13
|
+
--component-theme-11: var(--blue-11);
|
|
14
|
+
--component-theme-12: var(--blue-12);
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[data-prompt-theme='success'] {
|
|
2
|
+
--component-theme-0: var(--green-0);
|
|
3
|
+
--component-theme-1: var(--green-1);
|
|
4
|
+
--component-theme-2: var(--green-2);
|
|
5
|
+
--component-theme-3: var(--green-3);
|
|
6
|
+
--component-theme-4: var(--green-4);
|
|
7
|
+
--component-theme-5: var(--green-5);
|
|
8
|
+
--component-theme-6: var(--green-6);
|
|
9
|
+
--component-theme-7: var(--green-7);
|
|
10
|
+
--component-theme-8: var(--green-8);
|
|
11
|
+
--component-theme-9: var(--green-9);
|
|
12
|
+
--component-theme-10: var(--green-10);
|
|
13
|
+
--component-theme-11: var(--green-11);
|
|
14
|
+
--component-theme-12: var(--green-12);
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[data-prompt-theme='warning'] {
|
|
2
|
+
--component-theme-0: var(--orange-0);
|
|
3
|
+
--component-theme-1: var(--orange-1);
|
|
4
|
+
--component-theme-2: var(--orange-2);
|
|
5
|
+
--component-theme-3: var(--orange-3);
|
|
6
|
+
--component-theme-4: var(--orange-4);
|
|
7
|
+
--component-theme-5: var(--orange-5);
|
|
8
|
+
--component-theme-6: var(--orange-6);
|
|
9
|
+
--component-theme-7: var(--orange-7);
|
|
10
|
+
--component-theme-8: var(--orange-8);
|
|
11
|
+
--component-theme-9: var(--orange-9);
|
|
12
|
+
--component-theme-10: var(--orange-10);
|
|
13
|
+
--component-theme-11: var(--orange-11);
|
|
14
|
+
--component-theme-12: var(--orange-12);
|
|
15
|
+
}
|
package/assets/styles/main.css
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--font-size: 1.6rem;
|
|
3
3
|
--line-height: calc((var(--font-size) * 2) - 1rem);
|
|
4
|
-
|
|
5
4
|
--font-family: futura-pt, Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
|
|
6
|
-
|
|
7
|
-
--theme-error-surface: var(--red-12);
|
|
8
|
-
--theme-error-text: var(--red-0);
|
|
9
|
-
|
|
10
|
-
--theme-form-button-font-size-normal: var(--form-element-font-size);
|
|
11
5
|
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
.heading-1 {
|
|
3
|
+
font-size: var(--step-5);
|
|
4
|
+
font-weight: bold;
|
|
5
|
+
line-height: 1.3;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.heading-2 {
|
|
9
|
+
font-size: var(--step-4);
|
|
10
|
+
font-weight: bold;
|
|
11
|
+
line-height: 1.3;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.heading-3 {
|
|
15
|
+
font-size: var(--step-3);
|
|
16
|
+
font-weight: bold;
|
|
17
|
+
line-height: 1.3;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.heading-4 {
|
|
21
|
+
font-size: var(--step-2);
|
|
22
|
+
font-weight: bold;
|
|
23
|
+
line-height: 1.3;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.heading-5 {
|
|
27
|
+
font-size: var(--step-1);
|
|
28
|
+
font-weight: bold;
|
|
29
|
+
line-height: 1.3;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.heading-6 {
|
|
33
|
+
font-size: var(--step-0);
|
|
34
|
+
font-weight: bold;
|
|
35
|
+
line-height: 1.3;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Body text */
|
|
39
|
+
|
|
40
|
+
.body-large {
|
|
41
|
+
font-size: var(--step-3);
|
|
42
|
+
font-weight: normal;
|
|
43
|
+
line-height: 1.5;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.body-medium {
|
|
47
|
+
font-size: var(--step-2);
|
|
48
|
+
font-weight: normal;
|
|
49
|
+
line-height: 1.5;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.body-normal {
|
|
53
|
+
font-size: var(--step-1);
|
|
54
|
+
font-weight: normal;
|
|
55
|
+
line-height: 1.5;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.body-small {
|
|
59
|
+
font-size: var(--step--0);
|
|
60
|
+
font-weight: normal;
|
|
61
|
+
line-height: 1.5;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.body-xsmall {
|
|
65
|
+
font-size: var(--step--1);
|
|
66
|
+
font-weight: normal;
|
|
67
|
+
line-height: 1.5;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.body-large-semibold {
|
|
71
|
+
font-size: var(--step-3);
|
|
72
|
+
font-weight: 500;
|
|
73
|
+
line-height: 1.5;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.body-medium-semibold {
|
|
77
|
+
font-size: var(--step-2);
|
|
78
|
+
font-weight: 500;
|
|
79
|
+
line-height: 1.5;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.body-normal-semibold {
|
|
83
|
+
font-size: var(--step-1);
|
|
84
|
+
font-weight: 500;
|
|
85
|
+
line-height: 1.5;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.body-small-semibold {
|
|
89
|
+
font-size: var(--step-0);
|
|
90
|
+
font-weight: 500;
|
|
91
|
+
line-height: 1.5;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.body-xsmall-semibold {
|
|
95
|
+
font-size: var(--step--1);
|
|
96
|
+
font-weight: 500;
|
|
97
|
+
line-height: 1.5;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.body-large-bold {
|
|
101
|
+
font-size: var(--step-3);
|
|
102
|
+
font-weight: bold;
|
|
103
|
+
line-height: 1.5;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.body-medium-bold {
|
|
107
|
+
font-size: var(--step-2);
|
|
108
|
+
font-weight: bold;
|
|
109
|
+
line-height: 1.5;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.body-normal-bold {
|
|
113
|
+
font-size: var(--step-1);
|
|
114
|
+
font-weight: bold;
|
|
115
|
+
line-height: 1.5;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.body-small-bold {
|
|
119
|
+
font-size: var(--step-0);
|
|
120
|
+
font-weight: bold;
|
|
121
|
+
line-height: 1.5;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.body-xsmall-bold {
|
|
125
|
+
font-size: var(--step--1);
|
|
126
|
+
font-weight: bold;
|
|
127
|
+
line-height: 1.5;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* Links */
|
|
131
|
+
|
|
132
|
+
.link-large {
|
|
133
|
+
color: var(--theme-link-default);
|
|
134
|
+
font-size: var(--step-3);
|
|
135
|
+
font-weight: 600;
|
|
136
|
+
line-height: 1.5;
|
|
137
|
+
text-decoration: underline;
|
|
138
|
+
|
|
139
|
+
&:visited {
|
|
140
|
+
color: var(--theme-link-default);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.link-medium {
|
|
145
|
+
color: var(--theme-link-default);
|
|
146
|
+
font-size: var(--step-2);
|
|
147
|
+
font-weight: 600;
|
|
148
|
+
line-height: 1.5;
|
|
149
|
+
text-decoration: underline;
|
|
150
|
+
|
|
151
|
+
&:visited {
|
|
152
|
+
color: var(--theme-link-default);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.link-normal {
|
|
157
|
+
color: var(--theme-link-default);
|
|
158
|
+
font-size: var(--step-1);
|
|
159
|
+
font-weight: 600;
|
|
160
|
+
line-height: 1.5;
|
|
161
|
+
text-decoration: underline;
|
|
162
|
+
|
|
163
|
+
&:visited,
|
|
164
|
+
&:active {
|
|
165
|
+
color: var(--theme-link-default);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.link-small {
|
|
170
|
+
color: var(--theme-link-default);
|
|
171
|
+
font-size: var(--step-0);
|
|
172
|
+
font-weight: 600;
|
|
173
|
+
line-height: 1.5;
|
|
174
|
+
text-decoration: underline;
|
|
175
|
+
|
|
176
|
+
&:visited {
|
|
177
|
+
color: var(--theme-link-default);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.link-xsmall {
|
|
182
|
+
color: var(--theme-link-default);
|
|
183
|
+
font-size: var(--step--1);
|
|
184
|
+
font-weight: 600;
|
|
185
|
+
line-height: 1.5;
|
|
186
|
+
text-decoration: underline;
|
|
187
|
+
|
|
188
|
+
&:visited {
|
|
189
|
+
color: var(--theme-link-default);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
.fvs-wght-100 {
|
|
3
|
+
font-variation-settings: 'wght' 100;
|
|
4
|
+
}
|
|
5
|
+
.fvs-wght-200 {
|
|
6
|
+
font-variation-settings: 'wght' 200;
|
|
7
|
+
}
|
|
8
|
+
.fvs-wght-300 {
|
|
9
|
+
font-variation-settings: 'wght' 300;
|
|
10
|
+
}
|
|
11
|
+
.fvs-wght-400 {
|
|
12
|
+
font-variation-settings: 'wght' 400;
|
|
13
|
+
}
|
|
14
|
+
.fvs-wght-500 {
|
|
15
|
+
font-variation-settings: 'wght' 500;
|
|
16
|
+
}
|
|
17
|
+
.fvs-wght-600 {
|
|
18
|
+
font-variation-settings: 'wght' 600;
|
|
19
|
+
}
|
|
20
|
+
.fvs-wght-700 {
|
|
21
|
+
font-variation-settings: 'wght' 700;
|
|
22
|
+
}
|
|
23
|
+
.fvs-wght-800 {
|
|
24
|
+
font-variation-settings: 'wght' 800;
|
|
25
|
+
}
|
|
26
|
+
.fvs-wght-900 {
|
|
27
|
+
font-variation-settings: 'wght' 900;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* By numeric step */
|
|
3
|
+
.wght-100 {
|
|
4
|
+
font-weight: 100;
|
|
5
|
+
}
|
|
6
|
+
.wght-200 {
|
|
7
|
+
font-weight: 200;
|
|
8
|
+
}
|
|
9
|
+
.wght-300 {
|
|
10
|
+
font-weight: 300;
|
|
11
|
+
}
|
|
12
|
+
.wght-400 {
|
|
13
|
+
font-weight: 400;
|
|
14
|
+
}
|
|
15
|
+
.wght-500 {
|
|
16
|
+
font-weight: 500;
|
|
17
|
+
}
|
|
18
|
+
.wght-600 {
|
|
19
|
+
font-weight: 600;
|
|
20
|
+
}
|
|
21
|
+
.wght-700 {
|
|
22
|
+
font-weight: 700;
|
|
23
|
+
}
|
|
24
|
+
.wght-800 {
|
|
25
|
+
font-weight: 800;
|
|
26
|
+
}
|
|
27
|
+
.wght-900 {
|
|
28
|
+
font-weight: 900;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* By named weight */
|
|
32
|
+
.light {
|
|
33
|
+
font-weight: light;
|
|
34
|
+
}
|
|
35
|
+
.normal {
|
|
36
|
+
font-weight: normal;
|
|
37
|
+
}
|
|
38
|
+
.bold {
|
|
39
|
+
font-weight: bold;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import './_reponsive-font-sizes.css';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
html {
|
|
2
|
+
color-scheme: light dark;
|
|
3
|
+
|
|
4
|
+
&[data-color-scheme='light'] {
|
|
5
|
+
color-scheme: light;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&[data-color-scheme='dark'] {
|
|
9
|
+
color-scheme: dark;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
background-color: var(--page-bg);
|
|
13
|
+
|
|
14
|
+
font-size: 62.5%;
|
|
15
|
+
|
|
16
|
+
transition: background-color 0.4s ease, color 0.4s ease;
|
|
17
|
+
scrollbar-gutter: stable;
|
|
18
|
+
}
|
|
19
|
+
body,
|
|
20
|
+
p,
|
|
21
|
+
pre,
|
|
22
|
+
code,
|
|
23
|
+
div,
|
|
24
|
+
fieldset,
|
|
25
|
+
legend,
|
|
26
|
+
li,
|
|
27
|
+
a {
|
|
28
|
+
color: light-dark(var(--gray-12), var(--gray-3));
|
|
29
|
+
font-family: var(--font-family);
|
|
30
|
+
font-size: var(--step-1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
body {
|
|
34
|
+
&.page-theme-grey {
|
|
35
|
+
background-color: lightseagreen;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
form {
|
|
40
|
+
input {
|
|
41
|
+
font: inherit;
|
|
42
|
+
/* accent-color: var(--accent-color, red); */
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
label {
|
|
46
|
+
text-box-trim: both;
|
|
47
|
+
text-box-edge: cap alphabetic;
|
|
48
|
+
}
|
|
49
|
+
}
|