@aziontech/theme 2.5.0 → 4.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 +73 -66
- package/dist/v4/globals.css +799 -79
- package/dist/v4/globals.scss +799 -79
- package/package.json +6 -23
- package/src/scripts/build-tokens.mjs +197 -230
- package/src/scripts/compile-primitives.js +79 -79
- package/src/scripts/compile-theme.js +70 -63
- package/src/scripts/css-vars.d.ts.map +1 -1
- package/src/scripts/css-vars.js +20 -16
- package/src/scripts/refs.js +2 -2
- package/src/scripts/resolve.d.ts.map +1 -1
- package/src/scripts/resolve.js +50 -47
- package/src/tokens/README.md +53 -74
- package/src/tokens/index.js +5 -5
- package/src/tokens/primitives/animations/animate.d.ts +10 -0
- package/src/tokens/primitives/animations/animate.d.ts.map +1 -1
- package/src/tokens/primitives/animations/animate.js +15 -5
- package/src/tokens/primitives/animations/ease.d.ts.map +1 -1
- package/src/tokens/primitives/animations/ease.js +3 -3
- package/src/tokens/primitives/animations/keyframes.d.ts +63 -0
- package/src/tokens/primitives/animations/keyframes.d.ts.map +1 -0
- package/src/tokens/primitives/animations/keyframes.js +69 -0
- package/src/tokens/primitives/border-widths.d.ts.map +1 -1
- package/src/tokens/primitives/border-widths.js +3 -3
- package/src/tokens/primitives/breakpoints.d.ts.map +1 -1
- package/src/tokens/primitives/breakpoints.js +3 -3
- package/src/tokens/primitives/colors/alpha.d.ts +80 -80
- package/src/tokens/primitives/colors/alpha.js +84 -84
- package/src/tokens/primitives/colors/brand.d.ts +22 -22
- package/src/tokens/primitives/colors/brand.js +28 -28
- package/src/tokens/primitives/colors/colors.d.ts +88 -88
- package/src/tokens/primitives/colors/colors.js +107 -107
- package/src/tokens/primitives/effects/blur.d.ts.map +1 -1
- package/src/tokens/primitives/effects/blur.js +3 -3
- package/src/tokens/primitives/effects/drop-shadow.d.ts.map +1 -1
- package/src/tokens/primitives/effects/drop-shadow.js +3 -3
- package/src/tokens/primitives/effects/inset-shadow.d.ts.map +1 -1
- package/src/tokens/primitives/effects/inset-shadow.js +3 -3
- package/src/tokens/primitives/effects/opacity.d.ts.map +1 -1
- package/src/tokens/primitives/effects/opacity.js +3 -3
- package/src/tokens/primitives/effects/perspective.js +3 -3
- package/src/tokens/primitives/effects/shadow.d.ts.map +1 -1
- package/src/tokens/primitives/effects/shadow.js +3 -3
- package/src/{azion/_fonts.scss → tokens/primitives/fonts.css} +19 -4
- package/src/tokens/primitives/ring-offset.d.ts.map +1 -1
- package/src/tokens/primitives/ring-offset.js +3 -3
- package/src/tokens/primitives/shape/aspect-video.d.ts.map +1 -1
- package/src/tokens/primitives/shape/aspect-video.js +2 -2
- package/src/tokens/primitives/shape/container.d.ts.map +1 -1
- package/src/tokens/primitives/shape/container.js +3 -3
- package/src/tokens/primitives/shape/height.d.ts.map +1 -1
- package/src/tokens/primitives/shape/height.js +3 -3
- package/src/tokens/primitives/shape/radius.d.ts.map +1 -1
- package/src/tokens/primitives/shape/radius.js +3 -3
- package/src/tokens/primitives/shape/size.d.ts.map +1 -1
- package/src/tokens/primitives/shape/size.js +3 -3
- package/src/tokens/primitives/shape/spacing.d.ts.map +1 -1
- package/src/tokens/primitives/shape/spacing.js +3 -3
- package/src/tokens/primitives/shape/width.d.ts.map +1 -1
- package/src/tokens/primitives/shape/width.js +4 -4
- package/src/tokens/primitives/typography/font-size.d.ts.map +1 -1
- package/src/tokens/primitives/typography/font-size.js +4 -4
- package/src/tokens/primitives/typography/font-weight.js +3 -3
- package/src/tokens/primitives/typography/leading.js +3 -3
- package/src/tokens/primitives/typography/line-height.d.ts.map +1 -1
- package/src/tokens/primitives/typography/line-height.js +3 -3
- package/src/tokens/primitives/typography/tracking.js +3 -3
- package/src/tokens/semantic/colors.js +17 -17
- package/src/tokens/semantic/containers.data.d.ts.map +1 -1
- package/src/tokens/semantic/containers.data.js +3 -3
- package/src/tokens/semantic/containers.js +25 -25
- package/src/tokens/semantic/spacings.data.d.ts.map +1 -1
- package/src/tokens/semantic/spacings.data.js +3 -3
- package/src/tokens/semantic/texts.data.d.ts +59 -28
- package/src/tokens/semantic/texts.data.d.ts.map +1 -1
- package/src/tokens/semantic/texts.data.js +90 -56
- package/src/tokens/theme/accent.js +6 -6
- package/src/tokens/theme/border.js +6 -6
- package/src/tokens/theme/code-sintax.d.ts +53 -0
- package/src/tokens/theme/code-sintax.d.ts.map +1 -0
- package/src/tokens/theme/code-sintax.js +28 -0
- package/src/tokens/theme/feedback/danger.js +6 -6
- package/src/tokens/theme/feedback/info.js +6 -6
- package/src/tokens/theme/feedback/success.js +6 -6
- package/src/tokens/theme/feedback/warning.js +6 -6
- package/src/tokens/theme/primary.js +6 -6
- package/src/tokens/theme/ring.js +6 -6
- package/src/tokens/theme/secondary.js +6 -6
- package/src/tokens/theme/surfaces.d.ts.map +1 -1
- package/src/tokens/theme/surfaces.js +6 -6
- package/src/tokens/theme/text.d.ts +6 -0
- package/src/tokens/theme/text.js +2 -0
- package/src/tokens/theme.d.ts +110 -110
- package/src/tokens/theme.js +9 -9
- package/default.js +0 -1
- package/dist/v3/globals.css +0 -855
- package/dist/v3/globals.scss +0 -855
- package/dist/v3/tailwind-preset.js +0 -510
- package/dist/v3/tailwind.config.js +0 -518
- package/src/azion/_custom.scss +0 -3
- package/src/azion/_extensions.scss +0 -37
- package/src/azion/_variables-widget.scss +0 -400
- package/src/azion/_variables.scss +0 -407
- package/src/azion/custom/_code.scss +0 -11
- package/src/azion/custom/_focus.scss +0 -5
- package/src/azion/custom/_scrollbehavior.scss +0 -6
- package/src/azion/custom/_selection.scss +0 -4
- package/src/azion/custom/_special-button.scss +0 -57
- package/src/azion/extended-components/_autocomplete.scss +0 -13
- package/src/azion/extended-components/_badge.scss +0 -53
- package/src/azion/extended-components/_breadcumb.scss +0 -18
- package/src/azion/extended-components/_button.scss +0 -134
- package/src/azion/extended-components/_calendar.scss +0 -310
- package/src/azion/extended-components/_carousel.scss +0 -9
- package/src/azion/extended-components/_checkbox.scss +0 -33
- package/src/azion/extended-components/_datatable.scss +0 -130
- package/src/azion/extended-components/_dialog.scss +0 -45
- package/src/azion/extended-components/_divider.scss +0 -37
- package/src/azion/extended-components/_dropdown.scss +0 -10
- package/src/azion/extended-components/_dropdownitem.scss +0 -13
- package/src/azion/extended-components/_inlinemessage.scss +0 -10
- package/src/azion/extended-components/_inputnumber.scss +0 -40
- package/src/azion/extended-components/_inputpassword.scss +0 -4
- package/src/azion/extended-components/_inputswitch.scss +0 -53
- package/src/azion/extended-components/_listbox.scss +0 -35
- package/src/azion/extended-components/_markdown.scss +0 -135
- package/src/azion/extended-components/_menuitem.scss +0 -22
- package/src/azion/extended-components/_multiselect.scss +0 -167
- package/src/azion/extended-components/_overlaypanel.scss +0 -18
- package/src/azion/extended-components/_picklist.scss +0 -25
- package/src/azion/extended-components/_progressbar.scss +0 -6
- package/src/azion/extended-components/_radiobutton.scss +0 -63
- package/src/azion/extended-components/_selectbutton.scss +0 -36
- package/src/azion/extended-components/_sidebar.scss +0 -28
- package/src/azion/extended-components/_splitbutton.scss +0 -22
- package/src/azion/extended-components/_tabmenu.scss +0 -21
- package/src/azion/extended-components/_tabview.scss +0 -41
- package/src/azion/extended-components/_tag.scss +0 -47
- package/src/azion/extended-components/_toast.scss +0 -9
- package/src/azion/extended-components/_tooltip.scss +0 -7
- package/src/azion/extended-components/_treeselect.scss +0 -10
- package/src/azion/extended-components/jsonform/_inputcheckbox.scss +0 -41
- package/src/azion/extended-components/jsonform/_inputtext.scss +0 -26
- package/src/azion/extended-components/jsonform/_label.scss +0 -185
- package/src/azion/extended-components/jsonform/_select.scss +0 -34
- package/src/azion/theme-base/_colors.scss +0 -18
- package/src/azion/theme-base/_common.scss +0 -75
- package/src/azion/theme-base/_components.scss +0 -103
- package/src/azion/theme-base/_mixins.scss +0 -250
- package/src/azion/theme-base/components/button/_button.scss +0 -567
- package/src/azion/theme-base/components/button/_speeddial.scss +0 -97
- package/src/azion/theme-base/components/button/_splitbutton.scss +0 -390
- package/src/azion/theme-base/components/data/_carousel.scss +0 -37
- package/src/azion/theme-base/components/data/_datatable.scss +0 -347
- package/src/azion/theme-base/components/data/_dataview.scss +0 -47
- package/src/azion/theme-base/components/data/_filter.scss +0 -138
- package/src/azion/theme-base/components/data/_orderlist.scss +0 -70
- package/src/azion/theme-base/components/data/_organizationchart.scss +0 -50
- package/src/azion/theme-base/components/data/_paginator.scss +0 -92
- package/src/azion/theme-base/components/data/_picklist.scss +0 -70
- package/src/azion/theme-base/components/data/_timeline.scss +0 -38
- package/src/azion/theme-base/components/data/_tree.scss +0 -90
- package/src/azion/theme-base/components/data/_treetable.scss +0 -251
- package/src/azion/theme-base/components/file/_fileupload.scss +0 -82
- package/src/azion/theme-base/components/input/_autocomplete.scss +0 -114
- package/src/azion/theme-base/components/input/_calendar.scss +0 -251
- package/src/azion/theme-base/components/input/_cascadeselect.scss +0 -106
- package/src/azion/theme-base/components/input/_checkbox.scss +0 -86
- package/src/azion/theme-base/components/input/_chips.scss +0 -53
- package/src/azion/theme-base/components/input/_colorpicker.scss +0 -18
- package/src/azion/theme-base/components/input/_dropdown.scss +0 -147
- package/src/azion/theme-base/components/input/_editor.scss +0 -122
- package/src/azion/theme-base/components/input/_inputgroup.scss +0 -74
- package/src/azion/theme-base/components/input/_inputnumber.scss +0 -5
- package/src/azion/theme-base/components/input/_inputswitch.scss +0 -62
- package/src/azion/theme-base/components/input/_inputtext.scss +0 -100
- package/src/azion/theme-base/components/input/_listbox.scss +0 -89
- package/src/azion/theme-base/components/input/_multiselect.scss +0 -166
- package/src/azion/theme-base/components/input/_password.scss +0 -33
- package/src/azion/theme-base/components/input/_radiobutton.scss +0 -78
- package/src/azion/theme-base/components/input/_rating.scss +0 -60
- package/src/azion/theme-base/components/input/_selectbutton.scss +0 -50
- package/src/azion/theme-base/components/input/_slider.scss +0 -49
- package/src/azion/theme-base/components/input/_togglebutton.scss +0 -52
- package/src/azion/theme-base/components/input/_treeselect.scss +0 -91
- package/src/azion/theme-base/components/menu/_breadcrumb.scss +0 -42
- package/src/azion/theme-base/components/menu/_contextmenu.scss +0 -39
- package/src/azion/theme-base/components/menu/_dock.scss +0 -95
- package/src/azion/theme-base/components/menu/_megamenu.scss +0 -55
- package/src/azion/theme-base/components/menu/_menu.scss +0 -33
- package/src/azion/theme-base/components/menu/_menubar.scss +0 -141
- package/src/azion/theme-base/components/menu/_panelmenu.scss +0 -153
- package/src/azion/theme-base/components/menu/_steps.scss +0 -56
- package/src/azion/theme-base/components/menu/_tabmenu.scss +0 -49
- package/src/azion/theme-base/components/menu/_tieredmenu.scss +0 -43
- package/src/azion/theme-base/components/messages/_inlinemessage.scss +0 -64
- package/src/azion/theme-base/components/messages/_message.scss +0 -100
- package/src/azion/theme-base/components/messages/_toast.scss +0 -100
- package/src/azion/theme-base/components/misc/_avatar.scss +0 -30
- package/src/azion/theme-base/components/misc/_badge.scss +0 -48
- package/src/azion/theme-base/components/misc/_blockui.scss +0 -0
- package/src/azion/theme-base/components/misc/_chip.scss +0 -39
- package/src/azion/theme-base/components/misc/_inplace.scss +0 -17
- package/src/azion/theme-base/components/misc/_progressbar.scss +0 -17
- package/src/azion/theme-base/components/misc/_progressspinner.scss +0 -49
- package/src/azion/theme-base/components/misc/_scrolltop.scss +0 -25
- package/src/azion/theme-base/components/misc/_skeleton.scss +0 -8
- package/src/azion/theme-base/components/misc/_tag.scss +0 -40
- package/src/azion/theme-base/components/misc/_terminal.scss +0 -12
- package/src/azion/theme-base/components/multimedia/_galleria.scss +0 -151
- package/src/azion/theme-base/components/multimedia/_image.scss +0 -54
- package/src/azion/theme-base/components/overlay/_confirmpopup.scss +0 -72
- package/src/azion/theme-base/components/overlay/_dialog.scss +0 -64
- package/src/azion/theme-base/components/overlay/_overlaypanel.scss +0 -38
- package/src/azion/theme-base/components/overlay/_sidebar.scss +0 -23
- package/src/azion/theme-base/components/overlay/_tooltip.scss +0 -33
- package/src/azion/theme-base/components/panel/_accordion.scss +0 -118
- package/src/azion/theme-base/components/panel/_card.scss +0 -30
- package/src/azion/theme-base/components/panel/_divider.scss +0 -40
- package/src/azion/theme-base/components/panel/_fieldset.scss +0 -51
- package/src/azion/theme-base/components/panel/_panel.scss +0 -47
- package/src/azion/theme-base/components/panel/_scrollpanel.scss +0 -11
- package/src/azion/theme-base/components/panel/_splitter.scss +0 -24
- package/src/azion/theme-base/components/panel/_tabview.scss +0 -66
- package/src/azion/theme-base/components/panel/_toolbar.scss +0 -11
- package/src/azion/theme-widget.scss +0 -9
- package/src/azion/theme.scss +0 -9
- package/src/azion/variables/_button.scss +0 -438
- package/src/azion/variables/_data.scss +0 -346
- package/src/azion/variables/_form.scss +0 -570
- package/src/azion/variables/_general.scss +0 -149
- package/src/azion/variables/_media.scss +0 -231
- package/src/azion/variables/_menu.scss +0 -287
- package/src/azion/variables/_message.scss +0 -145
- package/src/azion/variables/_misc.scss +0 -143
- package/src/azion/variables/_overlay.scss +0 -67
- package/src/azion/variables/_panel.scss +0 -327
- package/src/tests/primitives.html +0 -293
- package/src/tests/theme.html +0 -310
- package/src/tests/tokens.html +0 -87
- package/src/tokens/semantic/animations.d.ts +0 -3
- package/src/tokens/semantic/animations.d.ts.map +0 -1
- package/src/tokens/semantic/animations.js +0 -80
- package/src/tokens/semantic/spacings.d.ts +0 -3
- package/src/tokens/semantic/spacings.d.ts.map +0 -1
- package/src/tokens/semantic/spacings.js +0 -163
- package/src/tokens/semantic/texts.d.ts +0 -3
- package/src/tokens/semantic/texts.d.ts.map +0 -1
- package/src/tokens/semantic/texts.js +0 -299
- package/tokens.js +0 -7
- package/widget.js +0 -1
package/src/tokens/README.md
CHANGED
|
@@ -140,14 +140,14 @@ Plain JS objects with literal values. Theme-invariant.
|
|
|
140
140
|
// tokens/primitives/colors/brand.js
|
|
141
141
|
export const brandPrimitives = {
|
|
142
142
|
primary: { 50: '#FFF5EF', 100: '#FFE7D8', /* … */ 500: '#FE601F', /* … */ 950: '#401602' },
|
|
143
|
-
accent:
|
|
144
|
-
absolute: { black: '#0A0A0A', white: '#FCFCFC' }
|
|
145
|
-
}
|
|
143
|
+
accent: { 50: '#F6F6FF', /* … */ 500: '#8A84EC', /* … */ 950: '#0B0A19' },
|
|
144
|
+
absolute: { black: '#0A0A0A', white: '#FCFCFC' }
|
|
145
|
+
}
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
```js
|
|
149
149
|
// tokens/primitives/shape/spacing.js
|
|
150
|
-
export const spacing = { 1: '4px', 2: '8px', /* … */ 96: '384px' }
|
|
150
|
+
export const spacing = { 1: '4px', 2: '8px', /* … */ 96: '384px' }
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
### Semantic / theme
|
|
@@ -156,22 +156,22 @@ Objects with `light` / `dark` variants. Values are `tokenRef(...)` calls that po
|
|
|
156
156
|
|
|
157
157
|
```js
|
|
158
158
|
// tokens/theme/primary.js
|
|
159
|
-
import { tokenRef } from '../../scripts/refs.js'
|
|
159
|
+
import { tokenRef } from '../../scripts/refs.js'
|
|
160
160
|
|
|
161
161
|
export const primary = {
|
|
162
162
|
light: {
|
|
163
|
-
primary:
|
|
164
|
-
'primary-mask':
|
|
165
|
-
'primary-hover':
|
|
166
|
-
'primary-contrast': tokenRef('primitives.base.black')
|
|
163
|
+
primary: tokenRef('brand.primary.primary-500'),
|
|
164
|
+
'primary-mask': tokenRef('primitives.alpha.orange.100'),
|
|
165
|
+
'primary-hover': tokenRef('brand.primary.primary-600'),
|
|
166
|
+
'primary-contrast': tokenRef('primitives.base.black')
|
|
167
167
|
},
|
|
168
168
|
dark: {
|
|
169
|
-
primary:
|
|
170
|
-
'primary-mask':
|
|
171
|
-
'primary-hover':
|
|
172
|
-
'primary-contrast': tokenRef('primitives.base.white')
|
|
173
|
-
}
|
|
174
|
-
}
|
|
169
|
+
primary: tokenRef('brand.primary.primary-500'),
|
|
170
|
+
'primary-mask': tokenRef('primitives.alpha.orange.100'),
|
|
171
|
+
'primary-hover': tokenRef('brand.primary.primary-600'),
|
|
172
|
+
'primary-contrast': tokenRef('primitives.base.white')
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
### Responsive semantic data (`*.data.js`)
|
|
@@ -182,9 +182,9 @@ Containers, spacings, and texts use a per-breakpoint table that `build-tokens.mj
|
|
|
182
182
|
// tokens/semantic/spacings.data.js
|
|
183
183
|
export const spacingsData = {
|
|
184
184
|
'gap-sm': { _: '8px', md: '12px', xl: '16px' },
|
|
185
|
-
'gap-md': { _: '12px', md: '16px', xl: '24px' }
|
|
185
|
+
'gap-md': { _: '12px', md: '16px', xl: '24px' }
|
|
186
186
|
// …
|
|
187
|
-
}
|
|
187
|
+
}
|
|
188
188
|
```
|
|
189
189
|
|
|
190
190
|
`_` is the base value emitted in `:root`; the breakpoint keys (`sm`, `md`, `lg`, `xl`, `2xl`) become media-query overrides.
|
|
@@ -196,63 +196,38 @@ export const spacingsData = {
|
|
|
196
196
|
### Building the package
|
|
197
197
|
|
|
198
198
|
```bash
|
|
199
|
-
# emit
|
|
199
|
+
# emit the v4 bundle
|
|
200
200
|
pnpm --filter @aziontech/theme build:tokens
|
|
201
|
-
|
|
202
|
-
# only one target
|
|
203
|
-
pnpm --filter @aziontech/theme build:tokens:v3
|
|
204
|
-
pnpm --filter @aziontech/theme build:tokens:v4
|
|
205
|
-
|
|
206
|
-
# v3 + compile final CSS with tailwindcss
|
|
207
|
-
pnpm --filter @aziontech/theme build:css:v3
|
|
208
201
|
```
|
|
209
202
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
### Consuming in a Tailwind v3 project
|
|
203
|
+
Output lands in `packages/theme/dist/v4/`.
|
|
213
204
|
|
|
214
|
-
|
|
215
|
-
// tailwind.config.js
|
|
216
|
-
import themePreset from '@aziontech/theme/tailwind-preset/v3'
|
|
217
|
-
|
|
218
|
-
export default {
|
|
219
|
-
presets: [themePreset],
|
|
220
|
-
content: ['./src/**/*.{vue,js,ts,jsx,tsx}'],
|
|
221
|
-
darkMode: ['class'],
|
|
222
|
-
}
|
|
223
|
-
```
|
|
205
|
+
### Consuming (Tailwind v4)
|
|
224
206
|
|
|
225
207
|
```css
|
|
226
208
|
/* main.css */
|
|
227
|
-
@import '@aziontech/theme/
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Utilities like `text-default`, `bg-surface`, `border-default`, `text-primary`, `gap-md`, `p-md`, `.text-heading-lg`, etc. are then available everywhere.
|
|
231
|
-
|
|
232
|
-
### Consuming in a Tailwind v4 project
|
|
233
|
-
|
|
234
|
-
```css
|
|
235
|
-
/* main.css */
|
|
236
|
-
@import '@aziontech/theme/v4/globals.css';
|
|
209
|
+
@import '@aziontech/theme/globals.css';
|
|
237
210
|
```
|
|
238
211
|
|
|
239
212
|
No `tailwind.config.js` needed — v4 reads `@theme { … }` directly from the imported CSS.
|
|
240
213
|
|
|
214
|
+
Utilities like `text-default`, `bg-surface`, `border-default`, `text-primary`, `gap-md`, `p-md`, `.text-heading-lg`, `animate-popup-scale-in`, etc. are then available everywhere.
|
|
215
|
+
|
|
241
216
|
### As JS objects (Node / build steps)
|
|
242
217
|
|
|
243
218
|
```js
|
|
244
|
-
import { createCssVars, cssVarsString } from '@aziontech/theme'
|
|
219
|
+
import { createCssVars, cssVarsString } from '@aziontech/theme'
|
|
245
220
|
|
|
246
|
-
createCssVars()
|
|
247
|
-
cssVarsString()
|
|
221
|
+
createCssVars() // → { light: { '--text-default': '#1A1A1A', … }, dark: { … } }
|
|
222
|
+
cssVarsString() // → ':root, [data-theme=light], .azion.azion-light { … } [data-theme=dark], … { … }'
|
|
248
223
|
```
|
|
249
224
|
|
|
250
225
|
### Injecting at runtime (browser)
|
|
251
226
|
|
|
252
227
|
```js
|
|
253
|
-
import { injectCssVars } from '@aziontech/theme'
|
|
228
|
+
import { injectCssVars } from '@aziontech/theme'
|
|
254
229
|
|
|
255
|
-
injectCssVars()
|
|
230
|
+
injectCssVars() // appends a <style data-azion-tokens> element to <head>
|
|
256
231
|
```
|
|
257
232
|
|
|
258
233
|
Only useful if you can't precompile and import `globals.css` — production usage should prefer the static stylesheet.
|
|
@@ -269,8 +244,8 @@ Only useful if you can't precompile and import `globals.css` — production usag
|
|
|
269
244
|
```js
|
|
270
245
|
export const spacing = {
|
|
271
246
|
/* … */
|
|
272
|
-
128: '512px'
|
|
273
|
-
}
|
|
247
|
+
128: '512px' // new
|
|
248
|
+
}
|
|
274
249
|
```
|
|
275
250
|
|
|
276
251
|
3. Rebuild (`pnpm --filter @aziontech/theme build:tokens`). The compiler picks it up and emits `--spacing-128: 512px`.
|
|
@@ -285,13 +260,13 @@ Only useful if you can't precompile and import `globals.css` — production usag
|
|
|
285
260
|
export const border = {
|
|
286
261
|
light: {
|
|
287
262
|
/* … */
|
|
288
|
-
'border-emphasis': tokenRef('primitives.gray.400')
|
|
263
|
+
'border-emphasis': tokenRef('primitives.gray.400')
|
|
289
264
|
},
|
|
290
265
|
dark: {
|
|
291
266
|
/* … */
|
|
292
|
-
'border-emphasis': tokenRef('primitives.gray.500')
|
|
293
|
-
}
|
|
294
|
-
}
|
|
267
|
+
'border-emphasis': tokenRef('primitives.gray.500')
|
|
268
|
+
}
|
|
269
|
+
}
|
|
295
270
|
```
|
|
296
271
|
|
|
297
272
|
3. Rebuild. The new variable lands in both `:root` and `[data-theme=dark]` blocks.
|
|
@@ -304,8 +279,8 @@ Only useful if you can't precompile and import `globals.css` — production usag
|
|
|
304
279
|
// tokens/semantic/spacings.data.js
|
|
305
280
|
export const spacingsData = {
|
|
306
281
|
/* … */
|
|
307
|
-
'gap-2xl': { _: '32px', md: '40px', xl: '56px' }
|
|
308
|
-
}
|
|
282
|
+
'gap-2xl': { _: '32px', md: '40px', xl: '56px' }
|
|
283
|
+
}
|
|
309
284
|
```
|
|
310
285
|
|
|
311
286
|
2. Rebuild. `build-tokens.mjs` emits the base var in `:root`, per-breakpoint `@media` overrides, **and** a matching `.gap-2xl { gap: var(--gap-2xl) }` utility.
|
|
@@ -333,14 +308,14 @@ Bundles with `fontSize: 'inherit'` are omitted from the Tailwind `fontSize` pres
|
|
|
333
308
|
|
|
334
309
|
`tokenRef(path)` returns a marker object `{ __ref: path }` that the compiler resolves at build time. Supported path prefixes (see `scripts/resolve.js`):
|
|
335
310
|
|
|
336
|
-
| Prefix
|
|
337
|
-
|
|
338
|
-
| `primitives.X.Y.Z`
|
|
339
|
-
| `surfacePrimitives.surface.N` | the surface palette (used internally; usually referenced via `brand.surfaces.…`)
|
|
340
|
-
| `brand.surfaces.surface-N`
|
|
341
|
-
| `brand.primary.primary-N`
|
|
342
|
-
| `brand.accent.accent-N`
|
|
343
|
-
| `brand.absolute.X`
|
|
311
|
+
| Prefix | Looks up |
|
|
312
|
+
| ----------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
313
|
+
| `primitives.X.Y.Z` | `tokens/primitives/colors/colors.js` tree (e.g., `primitives.gray.900`, `primitives.alpha.orange.100`) |
|
|
314
|
+
| `surfacePrimitives.surface.N` | the surface palette (used internally; usually referenced via `brand.surfaces.…`) |
|
|
315
|
+
| `brand.surfaces.surface-N` | `surfacePrimitives.surface[N]` (e.g., `brand.surfaces.surface-100` → `#F5F5F5`) |
|
|
316
|
+
| `brand.primary.primary-N` | `brandPrimitives.primary[N]` (e.g., `brand.primary.primary-500` → `#FE601F`) |
|
|
317
|
+
| `brand.accent.accent-N` | `brandPrimitives.accent[N]` |
|
|
318
|
+
| `brand.absolute.X` | `brandPrimitives.absolute.X` (`black` / `white`) |
|
|
344
319
|
|
|
345
320
|
Refs of unknown prefixes are left as the raw path string in the output — flag for "this needs resolver support".
|
|
346
321
|
|
|
@@ -365,11 +340,15 @@ npx http-server packages/theme/src -p 8080
|
|
|
365
340
|
The compiled CSS targets multiple hooks so the runtime can pick whichever convention the consumer uses:
|
|
366
341
|
|
|
367
342
|
```css
|
|
368
|
-
:root,
|
|
343
|
+
:root,
|
|
344
|
+
[data-theme='light'],
|
|
345
|
+
.azion.azion-light {
|
|
369
346
|
/* light theme vars */
|
|
370
347
|
}
|
|
371
348
|
|
|
372
|
-
[data-theme=dark],
|
|
349
|
+
[data-theme='dark'],
|
|
350
|
+
.dark,
|
|
351
|
+
.azion.azion-dark {
|
|
373
352
|
/* dark theme vars */
|
|
374
353
|
}
|
|
375
354
|
```
|
|
@@ -378,13 +357,13 @@ Switching is a one-liner:
|
|
|
378
357
|
|
|
379
358
|
```js
|
|
380
359
|
// data-attribute strategy
|
|
381
|
-
document.documentElement.setAttribute('data-theme', 'dark')
|
|
360
|
+
document.documentElement.setAttribute('data-theme', 'dark') // or 'light'
|
|
382
361
|
|
|
383
362
|
// Tailwind class strategy
|
|
384
|
-
document.documentElement.classList.toggle('dark')
|
|
363
|
+
document.documentElement.classList.toggle('dark')
|
|
385
364
|
|
|
386
365
|
// Azion namespaced classes (use one or the other)
|
|
387
|
-
document.documentElement.classList.add('azion', 'azion-dark')
|
|
366
|
+
document.documentElement.classList.add('azion', 'azion-dark')
|
|
388
367
|
```
|
|
389
368
|
|
|
390
369
|
All three strategies hit the same set of CSS variables.
|
package/src/tokens/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Tokens public exports.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
export { createCssVars, cssVarsString, injectCssVars } from '../scripts/css-vars.js'
|
|
6
|
-
export * from './primitives/colors/colors.js'
|
|
7
|
-
export * from './semantic/colors.js'
|
|
8
|
-
export { textsData } from './semantic/texts.data.js'
|
|
9
|
-
export * from './theme.js'
|
|
5
|
+
export { createCssVars, cssVarsString, injectCssVars } from '../scripts/css-vars.js'
|
|
6
|
+
export * from './primitives/colors/colors.js'
|
|
7
|
+
export * from './semantic/colors.js'
|
|
8
|
+
export { textsData } from './semantic/texts.data.js'
|
|
9
|
+
export * from './theme.js'
|
|
@@ -11,14 +11,24 @@ export const duration: {
|
|
|
11
11
|
'moderate-02': string;
|
|
12
12
|
'slow-01': string;
|
|
13
13
|
'slow-02': string;
|
|
14
|
+
'slow-03': string;
|
|
15
|
+
'slow-04': string;
|
|
14
16
|
};
|
|
15
17
|
export const animate: {
|
|
16
18
|
spin: string;
|
|
17
19
|
ping: string;
|
|
18
20
|
pulse: string;
|
|
19
21
|
bounce: string;
|
|
22
|
+
shimmer: string;
|
|
23
|
+
blink: string;
|
|
24
|
+
'fade-in': string;
|
|
25
|
+
'fade-out': string;
|
|
26
|
+
'slide-down': string;
|
|
27
|
+
'highlight-fade': string;
|
|
20
28
|
'popup-scale-in': string;
|
|
21
29
|
'popup-scale-out': string;
|
|
30
|
+
'progress-indeterminate': string;
|
|
31
|
+
'progress-indeterminate-short': string;
|
|
22
32
|
};
|
|
23
33
|
declare namespace _default {
|
|
24
34
|
export { animate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["animate.js"],"names":[],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["animate.js"],"names":[],"mappings":"AAAA;;;;;EAKC;AAED;;;;;;;;;EASC;AAED;;;;;;;;;;;;;;;EAeC"}
|
|
@@ -2,8 +2,8 @@ export const curve = {
|
|
|
2
2
|
'productive-entrance': 'cubic-bezier(0.39, 0.57, 0.56, 1)',
|
|
3
3
|
'productive-exit': 'cubic-bezier(0.55, 0.09, 0.68, 0.53)',
|
|
4
4
|
'expressive-entrance': 'cubic-bezier(0.17, 0.84, 0.44, 1)',
|
|
5
|
-
'expressive-exit': 'cubic-bezier(0.95, 0.05, 0.8, 0.04)'
|
|
6
|
-
}
|
|
5
|
+
'expressive-exit': 'cubic-bezier(0.95, 0.05, 0.8, 0.04)'
|
|
6
|
+
}
|
|
7
7
|
|
|
8
8
|
export const duration = {
|
|
9
9
|
'fast-01': '70ms',
|
|
@@ -12,15 +12,25 @@ export const duration = {
|
|
|
12
12
|
'moderate-02': '240ms',
|
|
13
13
|
'slow-01': '400ms',
|
|
14
14
|
'slow-02': '700ms',
|
|
15
|
-
|
|
15
|
+
'slow-03': '1100ms',
|
|
16
|
+
'slow-04': '2100ms'
|
|
17
|
+
}
|
|
16
18
|
|
|
17
19
|
export const animate = {
|
|
18
20
|
spin: 'spin 1s linear infinite',
|
|
19
21
|
ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',
|
|
20
22
|
pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
|
21
23
|
bounce: 'bounce 1s infinite',
|
|
24
|
+
shimmer: 'shimmer 1.6s linear infinite',
|
|
25
|
+
blink: 'blink 1s step-end infinite',
|
|
26
|
+
'fade-in': 'fadeIn 220ms ease-in-out',
|
|
27
|
+
'fade-out': 'fadeOut 220ms ease-in-out',
|
|
28
|
+
'slide-down': 'slideDown 220ms ease-in-out',
|
|
29
|
+
'highlight-fade': 'highlight ease-in forwards',
|
|
22
30
|
'popup-scale-in': `popupScaleIn ${duration['moderate-01']} ${curve['productive-entrance']}`,
|
|
23
31
|
'popup-scale-out': `popupScaleOut ${duration['fast-02']} ${curve['productive-exit']}`,
|
|
24
|
-
}
|
|
32
|
+
'progress-indeterminate': `progressIndeterminate ${duration['slow-04']} ${curve['productive-entrance']} infinite`,
|
|
33
|
+
'progress-indeterminate-short': `progressIndeterminateShort ${duration['slow-04']} ${curve['expressive-entrance']} ${duration['slow-03']} infinite`
|
|
34
|
+
}
|
|
25
35
|
|
|
26
|
-
export default { animate, curve, duration }
|
|
36
|
+
export default { animate, curve, duration }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ease.d.ts","sourceRoot":"","sources":["ease.js"],"names":[],"mappings":"AAAA;;;;
|
|
1
|
+
{"version":3,"file":"ease.d.ts","sourceRoot":"","sources":["ease.js"],"names":[],"mappings":"AAAA;;;;EAIC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export namespace keyframes {
|
|
2
|
+
let fadeIn: {
|
|
3
|
+
'0%': string;
|
|
4
|
+
'100%': string;
|
|
5
|
+
};
|
|
6
|
+
let fadeOut: {
|
|
7
|
+
'0%': string;
|
|
8
|
+
'100%': string;
|
|
9
|
+
};
|
|
10
|
+
let slideDown: {
|
|
11
|
+
'0%': string;
|
|
12
|
+
'100%': string;
|
|
13
|
+
};
|
|
14
|
+
let blink: {
|
|
15
|
+
'0%, 100%': string;
|
|
16
|
+
'50%': string;
|
|
17
|
+
};
|
|
18
|
+
let highlight: {
|
|
19
|
+
'0%': string;
|
|
20
|
+
'100%': string;
|
|
21
|
+
};
|
|
22
|
+
let shimmer: {
|
|
23
|
+
'0%': string;
|
|
24
|
+
'100%': string;
|
|
25
|
+
};
|
|
26
|
+
let popupScaleIn: {
|
|
27
|
+
'0%': string;
|
|
28
|
+
'100%': string;
|
|
29
|
+
};
|
|
30
|
+
let popupScaleOut: {
|
|
31
|
+
'0%': string;
|
|
32
|
+
'100%': string;
|
|
33
|
+
};
|
|
34
|
+
let progressIndeterminate: {
|
|
35
|
+
'0%': string;
|
|
36
|
+
'60%': string;
|
|
37
|
+
'100%': string;
|
|
38
|
+
};
|
|
39
|
+
let progressIndeterminateShort: {
|
|
40
|
+
'0%': string;
|
|
41
|
+
'60%': string;
|
|
42
|
+
'100%': string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Utilities that need CSS properties beyond the `animation` shorthand
|
|
47
|
+
* emitted by Tailwind v4 from `--animate-*`. Serialized into
|
|
48
|
+
* `@layer components` in `dist/v4/globals.css`.
|
|
49
|
+
*/
|
|
50
|
+
export const animateExtras: {
|
|
51
|
+
'animate-popup-scale-in': {
|
|
52
|
+
'transform-origin': string;
|
|
53
|
+
};
|
|
54
|
+
'animate-popup-scale-out': {
|
|
55
|
+
'transform-origin': string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
declare namespace _default {
|
|
59
|
+
export { keyframes };
|
|
60
|
+
export { animateExtras };
|
|
61
|
+
}
|
|
62
|
+
export default _default;
|
|
63
|
+
//# sourceMappingURL=keyframes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframes.d.ts","sourceRoot":"","sources":["keyframes.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA;;;;GAIG;AACH;;;;;;;EAGE"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw `@keyframes` definitions used by `--animate-*` in `animate.js`.
|
|
3
|
+
*
|
|
4
|
+
* Consumed by `scripts/build-tokens.mjs` to emit real `@keyframes` blocks
|
|
5
|
+
* in the Tailwind v4 `dist/v4/globals.css` output. Tailwind v4 registers
|
|
6
|
+
* the utility via `@theme { --animate-<name>: ... }`, but does not
|
|
7
|
+
* generate the `@keyframes` — those live here.
|
|
8
|
+
*
|
|
9
|
+
* Values are plain CSS-style declarations (strings), not the camelCase
|
|
10
|
+
* object form used by the legacy v3 plugin — this way the build script
|
|
11
|
+
* can serialize them verbatim.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export const keyframes = {
|
|
15
|
+
fadeIn: {
|
|
16
|
+
'0%': 'opacity: 0',
|
|
17
|
+
'100%': 'opacity: 1',
|
|
18
|
+
},
|
|
19
|
+
fadeOut: {
|
|
20
|
+
'0%': 'opacity: 1',
|
|
21
|
+
'100%': 'opacity: 0',
|
|
22
|
+
},
|
|
23
|
+
slideDown: {
|
|
24
|
+
'0%': 'height: 0',
|
|
25
|
+
'100%': 'height: auto',
|
|
26
|
+
},
|
|
27
|
+
blink: {
|
|
28
|
+
'0%, 100%': 'opacity: 1',
|
|
29
|
+
'50%': 'opacity: 0',
|
|
30
|
+
},
|
|
31
|
+
highlight: {
|
|
32
|
+
'0%': 'background-color: var(--surface-hover); font-weight: 500',
|
|
33
|
+
'100%': 'background-color: var(--surface-hover); font-weight: 500',
|
|
34
|
+
},
|
|
35
|
+
shimmer: {
|
|
36
|
+
'0%': 'background-position: 200% 0',
|
|
37
|
+
'100%': 'background-position: -200% 0',
|
|
38
|
+
},
|
|
39
|
+
popupScaleIn: {
|
|
40
|
+
'0%': 'opacity: 0; transform: scale(0.95)',
|
|
41
|
+
'100%': 'opacity: 1; transform: scale(1)',
|
|
42
|
+
},
|
|
43
|
+
popupScaleOut: {
|
|
44
|
+
'0%': 'opacity: 1; transform: scale(1)',
|
|
45
|
+
'100%': 'opacity: 0; transform: scale(0.95)',
|
|
46
|
+
},
|
|
47
|
+
progressIndeterminate: {
|
|
48
|
+
'0%': 'inset-inline-start: -35%; inset-inline-end: 100%',
|
|
49
|
+
'60%': 'inset-inline-start: 100%; inset-inline-end: -90%',
|
|
50
|
+
'100%': 'inset-inline-start: 100%; inset-inline-end: -90%',
|
|
51
|
+
},
|
|
52
|
+
progressIndeterminateShort: {
|
|
53
|
+
'0%': 'inset-inline-start: -200%; inset-inline-end: 100%',
|
|
54
|
+
'60%': 'inset-inline-start: 107%; inset-inline-end: -8%',
|
|
55
|
+
'100%': 'inset-inline-start: 107%; inset-inline-end: -8%',
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Utilities that need CSS properties beyond the `animation` shorthand
|
|
61
|
+
* emitted by Tailwind v4 from `--animate-*`. Serialized into
|
|
62
|
+
* `@layer components` in `dist/v4/globals.css`.
|
|
63
|
+
*/
|
|
64
|
+
export const animateExtras = {
|
|
65
|
+
'animate-popup-scale-in': { 'transform-origin': 'var(--popup-origin, center)' },
|
|
66
|
+
'animate-popup-scale-out': { 'transform-origin': 'var(--popup-origin, center)' },
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export default { keyframes, animateExtras };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border-widths.d.ts","sourceRoot":"","sources":["border-widths.js"],"names":[],"mappings":"AAAA;;;;;;
|
|
1
|
+
{"version":3,"file":"border-widths.d.ts","sourceRoot":"","sources":["border-widths.js"],"names":[],"mappings":"AAAA;;;;;;EAMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["breakpoints.js"],"names":[],"mappings":"AAAA;;;;;;
|
|
1
|
+
{"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["breakpoints.js"],"names":[],"mappings":"AAAA;;;;;;EAMC"}
|