@owodesign/owoui 0.1.3 → 0.1.5

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.
Files changed (46) hide show
  1. package/README.md +22 -6
  2. package/dist/index.min.js +1 -1
  3. package/dist/preset-default.css +143 -0
  4. package/dist/preset-elevated.css +164 -0
  5. package/dist/preset-flat.css +144 -0
  6. package/dist/preset-glass.css +173 -0
  7. package/dist/storybook/index.min.js +9 -9
  8. package/dist/storybook-static/app.css +1832 -1974
  9. package/dist/storybook-static/assets/main.css +2 -2
  10. package/dist/storybook-static/assets/main.js +16 -16
  11. package/dist/style.css +2988 -0
  12. package/dist/theme-dark.css +230 -0
  13. package/dist/theme-light.css +231 -0
  14. package/dist/tokens.css +118 -0
  15. package/dist/tokens.d.ts +16 -9
  16. package/dist/tokens.min.js +1 -1
  17. package/package.json +25 -30
  18. package/src/preset-default.css +0 -27
  19. package/src/preset-elevated.css +0 -27
  20. package/src/preset-flat.css +0 -27
  21. package/src/preset-glass.css +0 -27
  22. package/src/style.css +0 -22
  23. package/src/styles/tokens.css +0 -253
  24. package/src/styles/ui/avatar.css +0 -13
  25. package/src/styles/ui/badge.css +0 -52
  26. package/src/styles/ui/button.css +0 -49
  27. package/src/styles/ui/collapsible.css +0 -13
  28. package/src/styles/ui/dialog.css +0 -37
  29. package/src/styles/ui/drawer.css +0 -15
  30. package/src/styles/ui/dropdown-menu.css +0 -132
  31. package/src/styles/ui/field.css +0 -12
  32. package/src/styles/ui/icon-button.css +0 -29
  33. package/src/styles/ui/input.css +0 -16
  34. package/src/styles/ui/panel.css +0 -23
  35. package/src/styles/ui/segmented-control.css +0 -28
  36. package/src/styles/ui/select.css +0 -52
  37. package/src/styles/ui/skeleton.css +0 -99
  38. package/src/styles/ui/status-notice.css +0 -49
  39. package/src/styles/ui/switch.css +0 -17
  40. package/src/styles/ui/tabs.css +0 -33
  41. package/src/styles/ui/textarea.css +0 -8
  42. package/src/styles/ui/toast.css +0 -57
  43. package/src/styles/ui/tooltip.css +0 -31
  44. package/src/theme-dark.css +0 -87
  45. package/src/theme-light.css +0 -102
  46. package/src/tokens.css +0 -1
@@ -1 +1 @@
1
- var e=["--ui-surface-bg","--ui-surface-bg-subtle","--ui-surface-bg-raised","--ui-surface-bg-inset","--ui-surface-border","--ui-surface-border-muted","--ui-surface-border-strong","--ui-surface-shadow","--ui-surface-shadow-strong","--ui-surface-blur","--ui-canvas-bg","--ui-canvas-bg-subtle","--ui-surface-container","--ui-surface-container-high","--ui-surface-container-highest","--ui-text-primary","--ui-text-secondary","--ui-text-muted","--ui-text-on-accent","--ui-accent-bg","--ui-accent-bg-hover","--ui-accent-bg-muted","--ui-accent-text","--ui-accent-border","--ui-success-bg","--ui-success-border","--ui-success-text","--ui-warning-bg","--ui-warning-border","--ui-warning-text","--ui-danger-bg","--ui-danger-bg-emphasis","--ui-danger-border","--ui-danger-text","--ui-info-bg","--ui-info-border","--ui-info-text","--ui-control-radius-sm","--ui-control-radius-md","--ui-control-radius-lg","--ui-control-radius-xl","--ui-control-radius-2xl","--ui-control-border-width","--ui-control-focus-ring","--ui-control-focus-ring-offset","--ui-font-heading","--ui-motion-duration-fast","--ui-motion-duration-default","--ui-motion-ease-standard","--ui-density-compact","--ui-density-default","--ui-density-comfortable"],r=["light","dark"],t=[{id:"surface",label:"Surface",tokens:["--ui-surface-bg","--ui-surface-bg-subtle","--ui-surface-bg-raised","--ui-surface-bg-inset","--ui-surface-border","--ui-surface-border-muted","--ui-surface-border-strong","--ui-surface-shadow","--ui-surface-shadow-strong","--ui-surface-blur","--ui-canvas-bg","--ui-canvas-bg-subtle","--ui-surface-container","--ui-surface-container-high","--ui-surface-container-highest"]},{id:"text",label:"Text",tokens:["--ui-text-primary","--ui-text-secondary","--ui-text-muted","--ui-text-on-accent"]},{id:"accent",label:"Accent",tokens:["--ui-accent-bg","--ui-accent-bg-hover","--ui-accent-bg-muted","--ui-accent-text","--ui-accent-border"]},{id:"feedback",label:"Feedback",tokens:["--ui-success-bg","--ui-success-border","--ui-success-text","--ui-warning-bg","--ui-warning-border","--ui-warning-text","--ui-danger-bg","--ui-danger-bg-emphasis","--ui-danger-border","--ui-danger-text","--ui-info-bg","--ui-info-border","--ui-info-text"]},{id:"control",label:"Control",tokens:["--ui-control-radius-sm","--ui-control-radius-md","--ui-control-radius-lg","--ui-control-radius-xl","--ui-control-radius-2xl","--ui-control-border-width","--ui-control-focus-ring","--ui-control-focus-ring-offset"]},{id:"typography",label:"Typography",tokens:["--ui-font-heading"]},{id:"motion-density",label:"Motion & Density",tokens:["--ui-motion-duration-fast","--ui-motion-duration-default","--ui-motion-ease-standard","--ui-density-compact","--ui-density-default","--ui-density-comfortable"]}],o=["default","flat","elevated","glass"],a={"--ui-surface-bg":"Default component surface background.","--ui-surface-bg-subtle":"Lower-emphasis surface background.","--ui-surface-bg-raised":"Raised surface background for floating or elevated panels.","--ui-surface-bg-inset":"Inset surface background for inputs and compact controls.","--ui-surface-border":"Default component border color.","--ui-surface-border-muted":"Lowest-emphasis border for subtle separators and dividers.","--ui-surface-border-strong":"Higher-emphasis border or focus-adjacent border color.","--ui-surface-shadow":"Default surface shadow for raised UI.","--ui-surface-shadow-strong":"Higher-emphasis shadow for popovers and overlays.","--ui-surface-blur":"Backdrop blur amount for translucent surface styles.","--ui-canvas-bg":"Page-level canvas background, distinct from component surfaces.","--ui-canvas-bg-subtle":"Subtle canvas background for secondary page regions.","--ui-surface-container":"Container background for sidebars, panels, and layout regions.","--ui-surface-container-high":"Higher-emphasis container background for nested panels.","--ui-surface-container-highest":"Highest-emphasis container background for deeply nested panels.","--ui-text-primary":"Primary readable foreground text color.","--ui-text-secondary":"Secondary readable foreground text color.","--ui-text-muted":"Muted or tertiary text color.","--ui-text-on-accent":"Readable text color when placed on accent surfaces.","--ui-accent-bg":"Primary accent background color.","--ui-accent-bg-hover":"Primary accent hover color.","--ui-accent-bg-muted":"Muted accent background for hover, selected, and highlighted states.","--ui-accent-text":"Readable text color used on accent backgrounds.","--ui-accent-border":"Accent-tinted border for active indicators and emphasis separators.","--ui-success-bg":"Success background treatment.","--ui-success-border":"Success border treatment.","--ui-success-text":"Success foreground text color.","--ui-warning-bg":"Warning background treatment.","--ui-warning-border":"Warning border treatment.","--ui-warning-text":"Warning foreground text color.","--ui-danger-bg":"Danger background treatment.","--ui-danger-bg-emphasis":"Stronger danger background for hover, active, or destructive emphasis.","--ui-danger-border":"Danger border treatment.","--ui-danger-text":"Danger foreground text color.","--ui-info-bg":"Info background treatment.","--ui-info-border":"Info border treatment.","--ui-info-text":"Info foreground text color.","--ui-control-radius-sm":"Small control radius.","--ui-control-radius-md":"Default control radius.","--ui-control-radius-lg":"Large control radius.","--ui-control-radius-xl":"Extra-large radius for drawers, dialogs, and large containers.","--ui-control-radius-2xl":"Double extra-large radius for sheets and full-page overlays.","--ui-control-border-width":"Default border width for controls.","--ui-control-focus-ring":"Focus ring color.","--ui-control-focus-ring-offset":"Focus ring offset base color.","--ui-font-heading":"Heading font family stack.","--ui-motion-duration-fast":"Fast motion duration.","--ui-motion-duration-default":"Default motion duration.","--ui-motion-ease-standard":"Default motion easing curve.","--ui-density-compact":"Compact density scale.","--ui-density-default":"Default density scale.","--ui-density-comfortable":"Comfortable density scale."};export{o as presetNames,e as semanticTokenKeys,r as themeNames,a as tokenDescriptions,t as tokenGroups};
1
+ var o=["--owo-ref-color-neutral-900","--owo-ref-color-neutral-800","--owo-ref-color-neutral-700","--owo-ref-color-neutral-600","--owo-ref-color-neutral-500","--owo-ref-color-neutral-400","--owo-ref-color-neutral-300","--owo-ref-color-neutral-200","--owo-ref-color-neutral-100"],e=["--owo-cmp-surface-bg","--owo-cmp-surface-bg-subtle","--owo-cmp-surface-bg-raised","--owo-cmp-surface-bg-inset","--owo-cmp-surface-border","--owo-cmp-surface-border-muted","--owo-cmp-surface-border-strong","--owo-cmp-surface-shadow","--owo-cmp-surface-shadow-strong","--owo-cmp-surface-blur","--owo-cmp-canvas-bg","--owo-cmp-canvas-bg-subtle","--owo-cmp-surface-container","--owo-cmp-surface-container-high","--owo-cmp-surface-container-highest","--owo-cmp-overlay-bg","--owo-cmp-text-primary","--owo-cmp-text-secondary","--owo-cmp-text-muted","--owo-cmp-text-on-accent","--owo-cmp-accent-bg","--owo-cmp-accent-bg-hover","--owo-cmp-accent-bg-muted","--owo-cmp-accent-text","--owo-cmp-accent-border","--owo-cmp-success-bg","--owo-cmp-success-border","--owo-cmp-success-text","--owo-cmp-warning-bg","--owo-cmp-warning-border","--owo-cmp-warning-text","--owo-cmp-danger-bg","--owo-cmp-danger-bg-emphasis","--owo-cmp-danger-border","--owo-cmp-danger-text","--owo-cmp-info-bg","--owo-cmp-info-border","--owo-cmp-info-text","--owo-cmp-control-radius-sm","--owo-cmp-control-radius-md","--owo-cmp-control-radius-lg","--owo-cmp-control-radius-xl","--owo-cmp-control-radius-2xl","--owo-cmp-control-radius-full","--owo-cmp-control-border-width","--owo-cmp-control-focus-ring","--owo-cmp-control-focus-ring-offset","--owo-cmp-font-heading","--owo-cmp-motion-duration-fast","--owo-cmp-motion-duration-default","--owo-cmp-motion-ease-standard","--owo-cmp-motion-ease-decelerate","--owo-cmp-motion-ease-accelerate","--owo-cmp-density-compact","--owo-cmp-density-default","--owo-cmp-density-comfortable","--owo-cmp-z-dropdown","--owo-cmp-z-modal","--owo-cmp-z-toast"],r=["light","dark"],c=[{id:"surface",label:"Surface",tokens:["--owo-cmp-surface-bg","--owo-cmp-surface-bg-subtle","--owo-cmp-surface-bg-raised","--owo-cmp-surface-bg-inset","--owo-cmp-surface-border","--owo-cmp-surface-border-muted","--owo-cmp-surface-border-strong","--owo-cmp-surface-shadow","--owo-cmp-surface-shadow-strong","--owo-cmp-surface-blur","--owo-cmp-canvas-bg","--owo-cmp-canvas-bg-subtle","--owo-cmp-surface-container","--owo-cmp-surface-container-high","--owo-cmp-surface-container-highest","--owo-cmp-overlay-bg"]},{id:"text",label:"Text",tokens:["--owo-cmp-text-primary","--owo-cmp-text-secondary","--owo-cmp-text-muted","--owo-cmp-text-on-accent"]},{id:"accent",label:"Accent",tokens:["--owo-cmp-accent-bg","--owo-cmp-accent-bg-hover","--owo-cmp-accent-bg-muted","--owo-cmp-accent-text","--owo-cmp-accent-border"]},{id:"feedback",label:"Feedback",tokens:["--owo-cmp-success-bg","--owo-cmp-success-border","--owo-cmp-success-text","--owo-cmp-warning-bg","--owo-cmp-warning-border","--owo-cmp-warning-text","--owo-cmp-danger-bg","--owo-cmp-danger-bg-emphasis","--owo-cmp-danger-border","--owo-cmp-danger-text","--owo-cmp-info-bg","--owo-cmp-info-border","--owo-cmp-info-text"]},{id:"control",label:"Control",tokens:["--owo-cmp-control-radius-sm","--owo-cmp-control-radius-md","--owo-cmp-control-radius-lg","--owo-cmp-control-radius-xl","--owo-cmp-control-radius-2xl","--owo-cmp-control-radius-full","--owo-cmp-control-border-width","--owo-cmp-control-focus-ring","--owo-cmp-control-focus-ring-offset"]},{id:"typography",label:"Typography",tokens:["--owo-cmp-font-heading"]},{id:"motion-density",label:"Motion & Density",tokens:["--owo-cmp-motion-duration-fast","--owo-cmp-motion-duration-default","--owo-cmp-motion-ease-standard","--owo-cmp-motion-ease-decelerate","--owo-cmp-motion-ease-accelerate","--owo-cmp-density-compact","--owo-cmp-density-default","--owo-cmp-density-comfortable"]},{id:"layering",label:"Layering",tokens:["--owo-cmp-z-dropdown","--owo-cmp-z-modal","--owo-cmp-z-toast"]}],a=["default","flat","elevated","glass"],t={"--owo-cmp-surface-bg":"Default component surface background.","--owo-cmp-surface-bg-subtle":"Lower-emphasis surface background.","--owo-cmp-surface-bg-raised":"Raised surface background for floating or elevated panels.","--owo-cmp-surface-bg-inset":"Inset surface background for inputs and compact controls.","--owo-cmp-surface-border":"Default component border color.","--owo-cmp-surface-border-muted":"Lowest-emphasis border for subtle separators and dividers.","--owo-cmp-surface-border-strong":"Higher-emphasis border or focus-adjacent border color.","--owo-cmp-surface-shadow":"Default surface shadow for raised UI.","--owo-cmp-surface-shadow-strong":"Higher-emphasis shadow for popovers and overlays.","--owo-cmp-surface-blur":"Backdrop blur amount for translucent surface styles.","--owo-cmp-canvas-bg":"Page-level canvas background, distinct from component surfaces.","--owo-cmp-canvas-bg-subtle":"Subtle canvas background for secondary page regions.","--owo-cmp-surface-container":"Container background for sidebars, panels, and layout regions.","--owo-cmp-surface-container-high":"Higher-emphasis container background for nested panels.","--owo-cmp-surface-container-highest":"Highest-emphasis container background for deeply nested panels.","--owo-cmp-overlay-bg":"Shared overlay or backdrop background treatment.","--owo-cmp-text-primary":"Primary readable foreground text color.","--owo-cmp-text-secondary":"Secondary readable foreground text color.","--owo-cmp-text-muted":"Muted or tertiary text color.","--owo-cmp-text-on-accent":"Readable text color when placed on accent surfaces.","--owo-cmp-accent-bg":"Primary accent background color.","--owo-cmp-accent-bg-hover":"Primary accent hover color.","--owo-cmp-accent-bg-muted":"Muted accent background for hover, selected, and highlighted states.","--owo-cmp-accent-text":"Readable text color used on accent backgrounds.","--owo-cmp-accent-border":"Accent-tinted border for active indicators and emphasis separators.","--owo-cmp-success-bg":"Success background treatment.","--owo-cmp-success-border":"Success border treatment.","--owo-cmp-success-text":"Success foreground text color.","--owo-cmp-warning-bg":"Warning background treatment.","--owo-cmp-warning-border":"Warning border treatment.","--owo-cmp-warning-text":"Warning foreground text color.","--owo-cmp-danger-bg":"Danger background treatment.","--owo-cmp-danger-bg-emphasis":"Stronger danger background for hover, active, or destructive emphasis.","--owo-cmp-danger-border":"Danger border treatment.","--owo-cmp-danger-text":"Danger foreground text color.","--owo-cmp-info-bg":"Info background treatment.","--owo-cmp-info-border":"Info border treatment.","--owo-cmp-info-text":"Info foreground text color.","--owo-cmp-control-radius-sm":"Small control radius.","--owo-cmp-control-radius-md":"Default control radius.","--owo-cmp-control-radius-lg":"Large control radius.","--owo-cmp-control-radius-xl":"Extra-large radius for drawers, dialogs, and large containers.","--owo-cmp-control-radius-2xl":"Double extra-large radius for sheets and full-page overlays.","--owo-cmp-control-radius-full":"Fully rounded radius for pills, badges, avatars, and circular controls.","--owo-cmp-control-border-width":"Default border width for controls.","--owo-cmp-control-focus-ring":"Focus ring color.","--owo-cmp-control-focus-ring-offset":"Focus ring offset base color.","--owo-cmp-font-heading":"Heading font family stack.","--owo-cmp-motion-duration-fast":"Fast motion duration.","--owo-cmp-motion-duration-default":"Default motion duration.","--owo-cmp-motion-ease-standard":"Default motion easing curve.","--owo-cmp-motion-ease-decelerate":"Entrance-friendly motion easing curve.","--owo-cmp-motion-ease-accelerate":"Exit-friendly motion easing curve.","--owo-cmp-density-compact":"Compact density scale.","--owo-cmp-density-default":"Default density scale.","--owo-cmp-density-comfortable":"Comfortable density scale.","--owo-cmp-z-dropdown":"Dropdown and popover layering index.","--owo-cmp-z-modal":"Modal and drawer layering index.","--owo-cmp-z-toast":"Toast and high-priority overlay layering index."};export{o as foundationNeutralKeys,a as presetNames,e as semanticTokenKeys,r as themeNames,t as tokenDescriptions,c as tokenGroups};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owodesign/owoui",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Reusable React UI foundation components and theme presets.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.min.js",
@@ -27,7 +27,7 @@
27
27
  "types": "./dist/tokens.d.ts",
28
28
  "import": "./dist/tokens.min.js"
29
29
  },
30
- "./tokens.css": "./src/tokens.css",
30
+ "./tokens.css": "./dist/tokens.css",
31
31
  "./storybook": {
32
32
  "types": "./dist/storybook/index.d.ts",
33
33
  "import": "./dist/storybook/index.min.js"
@@ -37,41 +37,32 @@
37
37
  "import": "./dist/storybook/catalog.js"
38
38
  },
39
39
  "./storybook/catalog.json": "./dist/storybook/catalog.json",
40
- "./style.css": "./src/style.css",
41
- "./theme-light.css": "./src/theme-light.css",
42
- "./theme-dark.css": "./src/theme-dark.css",
43
- "./preset-default.css": "./src/preset-default.css",
44
- "./preset-flat.css": "./src/preset-flat.css",
45
- "./preset-elevated.css": "./src/preset-elevated.css",
46
- "./preset-glass.css": "./src/preset-glass.css"
40
+ "./style.css": "./dist/style.css",
41
+ "./theme-light.css": "./dist/theme-light.css",
42
+ "./theme-dark.css": "./dist/theme-dark.css",
43
+ "./preset-default.css": "./dist/preset-default.css",
44
+ "./preset-flat.css": "./dist/preset-flat.css",
45
+ "./preset-elevated.css": "./dist/preset-elevated.css",
46
+ "./preset-glass.css": "./dist/preset-glass.css"
47
47
  },
48
48
  "files": [
49
- "dist",
50
- "src/style.css",
51
- "src/tokens.css",
52
- "src/theme-light.css",
53
- "src/theme-dark.css",
54
- "src/preset-default.css",
55
- "src/preset-flat.css",
56
- "src/preset-elevated.css",
57
- "src/preset-glass.css",
58
- "src/styles"
49
+ "dist"
59
50
  ],
60
51
  "sideEffects": [
61
- "./src/style.css",
62
- "./src/tokens.css",
63
- "./src/theme-light.css",
64
- "./src/theme-dark.css",
65
- "./src/preset-default.css",
66
- "./src/preset-flat.css",
67
- "./src/preset-elevated.css",
68
- "./src/preset-glass.css",
69
- "./src/styles/**/*.css",
52
+ "./dist/style.css",
53
+ "./dist/tokens.css",
54
+ "./dist/theme-light.css",
55
+ "./dist/theme-dark.css",
56
+ "./dist/preset-default.css",
57
+ "./dist/preset-flat.css",
58
+ "./dist/preset-elevated.css",
59
+ "./dist/preset-glass.css",
70
60
  "./src/storybook/**/*.ts",
71
61
  "./src/storybook/**/*.tsx"
72
62
  ],
73
63
  "scripts": {
74
- "build": "npm run build:lib && npm run build:storybook && npm run build:storybook:catalog && npm run build:storybook:static",
64
+ "build": "npm run build:lib && npm run build:css && npm run build:storybook && npm run build:storybook:catalog && npm run build:storybook:static",
65
+ "build:css": "node scripts/build-css.mjs",
75
66
  "build:lib": "tsup",
76
67
  "build:storybook": "tsup --config tsup.storybook.config.ts",
77
68
  "build:storybook:catalog": "node scripts/build-storybook-catalog.mjs",
@@ -81,8 +72,11 @@
81
72
  "preview:storybook": "vite preview --config vite.config.ts",
82
73
  "typecheck": "tsc --noEmit -p tsconfig.json",
83
74
  "consumer:smoke": "node examples/consumer-smoke.mjs",
75
+ "consumer:tarball": "node scripts/verify-tarball-consumer.mjs",
76
+ "clean": "rm -rf dist",
84
77
  "pack:inspect": "npm_config_cache=/tmp/owoui-npm-cache npm pack --dry-run --json .",
85
- "release:check": "npm run build && npm run typecheck && npm run consumer:smoke && npm run pack:inspect"
78
+ "release:check": "npm run build && npm run typecheck && npm run consumer:smoke && npm run consumer:tarball && npm run pack:inspect",
79
+ "release:publish": "npm run release:check && npm publish --access public"
86
80
  },
87
81
  "publishConfig": {
88
82
  "access": "public"
@@ -105,6 +99,7 @@
105
99
  "react": "^19.2.4",
106
100
  "react-dom": "^19.2.4",
107
101
  "tailwindcss": "^4.2.1",
102
+ "typescript": "^5.9.3",
108
103
  "tsup": "^8.5.1",
109
104
  "vite": "^8.0.3"
110
105
  }
@@ -1,27 +0,0 @@
1
- @import "./tokens.css";
2
-
3
- :root[data-preset="default"],
4
- .owoui-preset-default {
5
- --preset-surface-bg: var(--theme-surface-base);
6
- --preset-surface-bg-subtle: var(--theme-surface-subtle);
7
- --preset-surface-bg-raised: var(--theme-surface-raised);
8
- --preset-surface-bg-inset: var(--theme-surface-inset);
9
- --preset-surface-border: var(--theme-surface-border);
10
- --preset-surface-border-muted: var(--theme-surface-border-muted);
11
- --preset-surface-border-strong: var(--theme-surface-border-strong);
12
- --preset-surface-shadow: var(--shadow-raised);
13
- --preset-surface-shadow-strong: var(--shadow-popover);
14
- --preset-surface-blur: 0px;
15
- --preset-canvas-bg: var(--theme-surface-canvas);
16
- --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
- --preset-surface-container: var(--theme-surface-container);
18
- --preset-surface-container-high: var(--theme-surface-container-high);
19
- --preset-surface-container-highest: var(--theme-surface-container-highest);
20
- --preset-control-radius-sm: 0.5rem;
21
- --preset-control-radius-md: 0.75rem;
22
- --preset-control-radius-lg: 1rem;
23
- --preset-control-radius-xl: 1.5rem;
24
- --preset-control-radius-2xl: 2rem;
25
- --preset-control-border-width: 1px;
26
- }
27
-
@@ -1,27 +0,0 @@
1
- @import "./tokens.css";
2
-
3
- :root[data-preset="elevated"],
4
- .owoui-preset-elevated {
5
- --preset-surface-bg: color-mix(in srgb, var(--theme-surface-base) 96%, var(--theme-surface-border-strong));
6
- --preset-surface-bg-subtle: color-mix(in srgb, var(--theme-surface-subtle) 96%, var(--theme-surface-border-strong));
7
- --preset-surface-bg-raised: color-mix(in srgb, var(--theme-surface-raised) 94%, var(--theme-surface-border-strong));
8
- --preset-surface-bg-inset: var(--theme-surface-inset);
9
- --preset-surface-border: color-mix(in srgb, var(--theme-surface-border) 88%, var(--theme-surface-border-strong));
10
- --preset-surface-border-muted: var(--theme-surface-border-muted);
11
- --preset-surface-border-strong: var(--theme-surface-border-strong);
12
- --preset-surface-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
13
- --preset-surface-shadow-strong: 0 28px 60px rgba(15, 23, 42, 0.18);
14
- --preset-surface-blur: 0px;
15
- --preset-canvas-bg: var(--theme-surface-canvas);
16
- --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
- --preset-surface-container: color-mix(in srgb, var(--theme-surface-container) 94%, var(--theme-surface-border-strong));
18
- --preset-surface-container-high: color-mix(in srgb, var(--theme-surface-container-high) 94%, var(--theme-surface-border-strong));
19
- --preset-surface-container-highest: color-mix(in srgb, var(--theme-surface-container-highest) 92%, var(--theme-surface-border-strong));
20
- --preset-control-radius-sm: 0.625rem;
21
- --preset-control-radius-md: 0.875rem;
22
- --preset-control-radius-lg: 1.125rem;
23
- --preset-control-radius-xl: 1.625rem;
24
- --preset-control-radius-2xl: 2.125rem;
25
- --preset-control-border-width: 1px;
26
- }
27
-
@@ -1,27 +0,0 @@
1
- @import "./tokens.css";
2
-
3
- :root[data-preset="flat"],
4
- .owoui-preset-flat {
5
- --preset-surface-bg: var(--theme-surface-base);
6
- --preset-surface-bg-subtle: var(--theme-surface-subtle);
7
- --preset-surface-bg-raised: var(--theme-surface-base);
8
- --preset-surface-bg-inset: var(--theme-surface-inset);
9
- --preset-surface-border: var(--theme-surface-border);
10
- --preset-surface-border-muted: var(--theme-surface-border-muted);
11
- --preset-surface-border-strong: var(--theme-surface-border-strong);
12
- --preset-surface-shadow: none;
13
- --preset-surface-shadow-strong: none;
14
- --preset-surface-blur: 0px;
15
- --preset-canvas-bg: var(--theme-surface-canvas);
16
- --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
- --preset-surface-container: var(--theme-surface-container);
18
- --preset-surface-container-high: var(--theme-surface-container);
19
- --preset-surface-container-highest: var(--theme-surface-container-high);
20
- --preset-control-radius-sm: 0.375rem;
21
- --preset-control-radius-md: 0.625rem;
22
- --preset-control-radius-lg: 0.875rem;
23
- --preset-control-radius-xl: 1.25rem;
24
- --preset-control-radius-2xl: 1.5rem;
25
- --preset-control-border-width: 1px;
26
- }
27
-
@@ -1,27 +0,0 @@
1
- @import "./tokens.css";
2
-
3
- :root[data-preset="glass"],
4
- .owoui-preset-glass {
5
- --preset-surface-bg: color-mix(in srgb, var(--theme-surface-base) 62%, transparent);
6
- --preset-surface-bg-subtle: color-mix(in srgb, var(--theme-surface-subtle) 48%, transparent);
7
- --preset-surface-bg-raised: color-mix(in srgb, var(--theme-surface-raised) 72%, transparent);
8
- --preset-surface-bg-inset: color-mix(in srgb, var(--theme-surface-inset) 82%, transparent);
9
- --preset-surface-border: color-mix(in srgb, var(--theme-surface-border-strong) 55%, transparent);
10
- --preset-surface-border-muted: color-mix(in srgb, var(--theme-surface-border-muted) 60%, transparent);
11
- --preset-surface-border-strong: color-mix(in srgb, var(--theme-surface-border-strong) 78%, transparent);
12
- --preset-surface-shadow: 0 16px 44px rgba(15, 23, 42, 0.1);
13
- --preset-surface-shadow-strong: 0 24px 64px rgba(15, 23, 42, 0.14);
14
- --preset-surface-blur: 18px;
15
- --preset-canvas-bg: var(--theme-surface-canvas);
16
- --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
17
- --preset-surface-container: color-mix(in srgb, var(--theme-surface-container) 70%, transparent);
18
- --preset-surface-container-high: color-mix(in srgb, var(--theme-surface-container-high) 74%, transparent);
19
- --preset-surface-container-highest: color-mix(in srgb, var(--theme-surface-container-highest) 78%, transparent);
20
- --preset-control-radius-sm: 0.75rem;
21
- --preset-control-radius-md: 1rem;
22
- --preset-control-radius-lg: 1.25rem;
23
- --preset-control-radius-xl: 1.75rem;
24
- --preset-control-radius-2xl: 2.25rem;
25
- --preset-control-border-width: 1px;
26
- }
27
-
package/src/style.css DELETED
@@ -1,22 +0,0 @@
1
- @import "tailwindcss";
2
- @import "./styles/tokens.css";
3
- @import "./styles/ui/avatar.css";
4
- @import "./styles/ui/badge.css";
5
- @import "./styles/ui/button.css";
6
- @import "./styles/ui/collapsible.css";
7
- @import "./styles/ui/dialog.css";
8
- @import "./styles/ui/dropdown-menu.css";
9
- @import "./styles/ui/drawer.css";
10
- @import "./styles/ui/field.css";
11
- @import "./styles/ui/icon-button.css";
12
- @import "./styles/ui/input.css";
13
- @import "./styles/ui/panel.css";
14
- @import "./styles/ui/segmented-control.css";
15
- @import "./styles/ui/select.css";
16
- @import "./styles/ui/skeleton.css";
17
- @import "./styles/ui/status-notice.css";
18
- @import "./styles/ui/switch.css";
19
- @import "./styles/ui/tabs.css";
20
- @import "./styles/ui/textarea.css";
21
- @import "./styles/ui/toast.css";
22
- @import "./styles/ui/tooltip.css";
@@ -1,253 +0,0 @@
1
- /* ================================================================== */
2
- /* tokens.css — Tailwind v4 theme registration + shared mapping */
3
- /* */
4
- /* This file has TWO responsibilities: */
5
- /* 1. @theme: Register CSS variables for Tailwind (initial values */
6
- /* are light-mode defaults — a Tailwind v4 technical requirement) */
7
- /* 2. :root: Shared mapping chains that are the SAME across all */
8
- /* themes (preset → ui, app-specific derived variables) */
9
- /* */
10
- /* All color VALUES live in theme-light.css / theme-dark.css. */
11
- /* Do NOT add theme-specific colors here. */
12
- /* ================================================================== */
13
-
14
- @theme {
15
- /* Neutral scale — initial values (light); overridden per-theme */
16
- --color-n900: #1a1a1a;
17
- --color-n800: #2d2d2d;
18
- --color-n700: #4a4a4a;
19
- --color-n600: #71717a;
20
- --color-n500: #a1a1aa;
21
- --color-n400: #d4d4d8;
22
- --color-n300: #e4e4e7;
23
-
24
- /* Brand — initial values (light); overridden per-theme */
25
- --color-brand-primary: #1a1a1a;
26
- --color-brand-primary-hover: #000000;
27
- --color-brand-accent: #4a4a4a;
28
-
29
- /* Surface — initial values (light); overridden per-theme */
30
- --color-surface-canvas: #ffffff;
31
- --color-surface-base: #ffffff;
32
- --color-surface-subtle: #fafaf9;
33
- --color-surface-raised: #ffffff;
34
- --color-surface-inset: #f5f5f4;
35
- --color-surface-border: #e5e7eb;
36
- --color-surface-ring: #d6d3d1;
37
- --color-surface-overlay: rgba(0, 0, 0, 0.4);
38
- --color-overlay-soft: rgba(244, 238, 230, 0.56);
39
- --color-overlay-strong: rgba(15, 23, 42, 0.18);
40
- --color-highlight-soft: rgba(255, 255, 255, 0.56);
41
- --color-highlight-sheen: rgba(255, 255, 255, 0.34);
42
- --color-text-on-brand: #ffffff;
43
- --color-code-block-bg: #f4f4f5;
44
- --color-code-block-border: #e4e4e7;
45
- --color-code-block-divider: #ececed;
46
- --color-code-inline-bg: #f4f4f5;
47
- --shadow-raised: 0 10px 20px rgba(15, 23, 42, 0.08);
48
- --shadow-popover: 0 18px 40px rgba(15, 23, 42, 0.10);
49
-
50
- /* Status — initial values (light); overridden per-theme */
51
- --color-admin-success-bg: rgba(16, 185, 129, 0.10);
52
- --color-admin-success-border: rgba(16, 185, 129, 0.20);
53
- --color-admin-success-text: #047857;
54
- --color-admin-warning-bg: rgba(245, 158, 11, 0.10);
55
- --color-admin-warning-border: rgba(245, 158, 11, 0.20);
56
- --color-admin-warning-text: #b45309;
57
- --color-admin-danger-bg: rgba(239, 68, 68, 0.10);
58
- --color-admin-danger-border: rgba(239, 68, 68, 0.20);
59
- --color-admin-danger-text: #b91c1c;
60
- --color-admin-info-bg: rgba(14, 165, 233, 0.10);
61
- --color-admin-info-border: rgba(14, 165, 233, 0.20);
62
- --color-admin-info-text: #0369a1;
63
-
64
- /* Typography — shared across all themes */
65
- --font-sans: var(--font-inter), var(--font-noto-sans-sc), system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;
66
- --font-heading: var(--font-source-serif-pro), var(--font-noto-serif-sc), "Source Serif 4", Georgia, "Times New Roman", serif;
67
- --font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
68
-
69
- /* Motion — shared across all themes */
70
- --ease-standard: cubic-bezier(0.2, 0, 0, 1);
71
- --ease-exit: cubic-bezier(0.4, 0, 1, 1);
72
- }
73
-
74
- /* ================================================================== */
75
- /* Shared mapping chains: preset → ui */
76
- /* These mappings are identical across all themes. */
77
- /* Theme files set --theme-*, presets set --preset-*, this layer */
78
- /* wires them to the final --ui-* that components consume. */
79
- /* ================================================================== */
80
-
81
- :root {
82
- /* Preset defaults — theme → preset (overridden by preset-*.css) */
83
- --preset-surface-bg: var(--theme-surface-base);
84
- --preset-surface-bg-subtle: var(--theme-surface-subtle);
85
- --preset-surface-bg-raised: var(--theme-surface-raised);
86
- --preset-surface-bg-inset: var(--theme-surface-inset);
87
- --preset-surface-border: var(--theme-surface-border);
88
- --preset-surface-border-muted: var(--theme-surface-border-muted);
89
- --preset-surface-border-strong: var(--theme-surface-border-strong);
90
- --preset-surface-shadow: var(--shadow-raised);
91
- --preset-surface-shadow-strong: var(--shadow-popover);
92
- --preset-surface-blur: 0px;
93
- --preset-canvas-bg: var(--theme-surface-canvas);
94
- --preset-canvas-bg-subtle: var(--theme-canvas-bg-subtle);
95
- --preset-surface-container: var(--theme-surface-container);
96
- --preset-surface-container-high: var(--theme-surface-container-high);
97
- --preset-surface-container-highest: var(--theme-surface-container-highest);
98
- --preset-control-radius-sm: 0.5rem;
99
- --preset-control-radius-md: 0.75rem;
100
- --preset-control-radius-lg: 1rem;
101
- --preset-control-radius-xl: 1.5rem;
102
- --preset-control-radius-2xl: 2rem;
103
- --preset-control-border-width: 1px;
104
-
105
- /* Final UI layer — preset → ui (consumed by components) */
106
- --ui-surface-bg: var(--preset-surface-bg);
107
- --ui-surface-bg-subtle: var(--preset-surface-bg-subtle);
108
- --ui-surface-bg-raised: var(--preset-surface-bg-raised);
109
- --ui-surface-bg-inset: var(--preset-surface-bg-inset);
110
- --ui-surface-border: var(--preset-surface-border);
111
- --ui-surface-border-muted: var(--preset-surface-border-muted);
112
- --ui-surface-border-strong: var(--preset-surface-border-strong);
113
- --ui-surface-shadow: var(--preset-surface-shadow);
114
- --ui-surface-shadow-strong: var(--preset-surface-shadow-strong);
115
- --ui-surface-blur: var(--preset-surface-blur);
116
-
117
- --ui-canvas-bg: var(--preset-canvas-bg);
118
- --ui-canvas-bg-subtle: var(--preset-canvas-bg-subtle);
119
-
120
- --ui-surface-container: var(--preset-surface-container);
121
- --ui-surface-container-high: var(--preset-surface-container-high);
122
- --ui-surface-container-highest: var(--preset-surface-container-highest);
123
-
124
- --ui-text-primary: var(--theme-text-primary);
125
- --ui-text-secondary: var(--theme-text-secondary);
126
- --ui-text-muted: var(--theme-text-muted);
127
- --ui-text-on-accent: var(--theme-text-on-accent);
128
-
129
- --ui-accent-bg: var(--theme-accent-bg);
130
- --ui-accent-bg-hover: var(--theme-accent-bg-hover);
131
- --ui-accent-bg-muted: var(--theme-accent-bg-muted);
132
- --ui-accent-text: var(--theme-text-on-accent);
133
- --ui-accent-border: var(--theme-accent-border);
134
-
135
- --ui-success-bg: var(--theme-success-bg);
136
- --ui-success-border: var(--theme-success-border);
137
- --ui-success-text: var(--theme-success-text);
138
- --ui-warning-bg: var(--theme-warning-bg);
139
- --ui-warning-border: var(--theme-warning-border);
140
- --ui-warning-text: var(--theme-warning-text);
141
- --ui-danger-bg: var(--theme-danger-bg);
142
- --ui-danger-bg-emphasis: var(--theme-danger-bg-emphasis);
143
- --ui-danger-border: var(--theme-danger-border);
144
- --ui-danger-text: var(--theme-danger-text);
145
- --ui-info-bg: var(--theme-info-bg);
146
- --ui-info-border: var(--theme-info-border);
147
- --ui-info-text: var(--theme-info-text);
148
-
149
- --ui-control-radius-sm: var(--preset-control-radius-sm);
150
- --ui-control-radius-md: var(--preset-control-radius-md);
151
- --ui-control-radius-lg: var(--preset-control-radius-lg);
152
- --ui-control-radius-xl: var(--preset-control-radius-xl);
153
- --ui-control-radius-2xl: var(--preset-control-radius-2xl);
154
- --ui-control-border-width: var(--preset-control-border-width);
155
- --ui-control-focus-ring: var(--theme-control-focus-ring);
156
- --ui-control-focus-ring-offset: var(--theme-control-focus-ring-offset);
157
-
158
- --ui-font-heading: var(--font-heading);
159
-
160
- /* Motion & density — shared */
161
- --ui-motion-duration-fast: 0.15s;
162
- --ui-motion-duration-default: 0.2s;
163
- --ui-motion-ease-standard: var(--ease-standard);
164
- --ui-density-compact: 0.875;
165
- --ui-density-default: 1;
166
- --ui-density-comfortable: 1.125;
167
-
168
- /* Content layout — shared */
169
- --content-min-width: 320px;
170
- --content-preferred-width: 70vw;
171
- --content-max-width: 960px;
172
- --content-width: clamp(600px, 70vw, 960px);
173
- --content-padding: 24px;
174
- --header-top-margin: 64px;
175
-
176
- /* App-specific derived variables — shared (reference --ui-* only) */
177
- --publish-trigger-bg: var(--ui-surface-bg-subtle);
178
- --publish-trigger-border: var(--ui-surface-border);
179
- --publish-trigger-text: var(--ui-text-primary);
180
- --publish-trigger-active-bg: var(--ui-accent-bg-muted);
181
- --publish-popover-bg: var(--ui-surface-bg);
182
- --publish-popover-border: var(--ui-surface-border);
183
- --publish-popover-shadow: var(--ui-surface-shadow-strong);
184
- --publish-section-bg: var(--ui-surface-bg-subtle);
185
- --publish-section-border: var(--ui-surface-border);
186
- --publish-fact-title: var(--ui-text-secondary);
187
- --publish-fact-value: var(--color-n900);
188
- --publish-muted-text: var(--ui-text-secondary);
189
- --publish-warning-bg: var(--ui-warning-bg);
190
- --publish-warning-border: var(--ui-warning-border);
191
- --publish-warning-text: var(--ui-warning-text);
192
- --publish-danger-bg: var(--ui-danger-bg);
193
- --publish-danger-border: var(--ui-danger-border);
194
- --publish-danger-text: var(--ui-danger-text);
195
- --publish-success-bg: var(--ui-success-bg);
196
- --publish-success-border: var(--ui-success-border);
197
- --publish-success-text: var(--ui-success-text);
198
- --publish-progress-track: var(--ui-surface-bg-inset);
199
- --publish-progress-fill: var(--ui-accent-bg);
200
-
201
- --feedback-neutral-bg: var(--ui-surface-bg-raised);
202
- --feedback-neutral-border: var(--ui-surface-border);
203
- --feedback-neutral-text: var(--ui-text-primary);
204
- --feedback-neutral-icon: var(--ui-text-secondary);
205
- --feedback-info-bg: var(--ui-info-bg);
206
- --feedback-info-border: var(--ui-info-border);
207
- --feedback-info-text: var(--ui-info-text);
208
- --feedback-info-icon: var(--ui-info-text);
209
- --feedback-success-bg: var(--ui-success-bg);
210
- --feedback-success-border: var(--ui-success-border);
211
- --feedback-success-text: var(--ui-success-text);
212
- --feedback-success-icon: var(--ui-success-text);
213
- --feedback-warning-bg: var(--ui-warning-bg);
214
- --feedback-warning-border: var(--ui-warning-border);
215
- --feedback-warning-text: var(--ui-warning-text);
216
- --feedback-warning-icon: var(--ui-warning-text);
217
- --feedback-danger-bg: var(--ui-danger-bg);
218
- --feedback-danger-border: var(--ui-danger-border);
219
- --feedback-danger-text: var(--ui-danger-text);
220
- --feedback-danger-icon: var(--ui-danger-text);
221
-
222
- --toast-shadow: var(--ui-surface-shadow-strong);
223
-
224
- --skeleton-bg: linear-gradient(
225
- 180deg,
226
- color-mix(in srgb, var(--ui-surface-bg-inset) 94%, white) 0%,
227
- color-mix(in srgb, var(--ui-surface-bg-inset) 100%, var(--ui-surface-border)) 100%
228
- );
229
- --skeleton-bg-emphasis: linear-gradient(
230
- 180deg,
231
- color-mix(in srgb, var(--ui-surface-bg-subtle) 78%, var(--color-highlight-soft)) 0%,
232
- color-mix(in srgb, var(--ui-surface-bg-inset) 86%, var(--ui-surface-border)) 100%
233
- );
234
- --skeleton-sheen: linear-gradient(
235
- 100deg,
236
- transparent 0%,
237
- color-mix(in srgb, var(--color-highlight-sheen) 10%, transparent) 28%,
238
- color-mix(in srgb, var(--color-highlight-sheen) 35%, transparent) 40%,
239
- var(--color-highlight-sheen) 50%,
240
- color-mix(in srgb, var(--color-highlight-sheen) 35%, transparent) 60%,
241
- color-mix(in srgb, var(--color-highlight-sheen) 10%, transparent) 72%,
242
- transparent 100%
243
- );
244
- --skeleton-top-highlight: var(--color-highlight-soft);
245
-
246
- --workspace-transition-veil-bg: var(--color-overlay-soft);
247
- --workspace-transition-stale-bg: color-mix(in srgb, var(--color-overlay-soft) 72%, transparent);
248
-
249
- --tooltip-shadow: var(--ui-surface-shadow-strong);
250
- --select-dropdown-shadow: var(--ui-surface-shadow-strong);
251
- --theme-picker-shadow: var(--ui-surface-shadow-strong);
252
- --drawer-panel-shadow: var(--ui-surface-shadow-strong);
253
- }
@@ -1,13 +0,0 @@
1
- .ui-avatar {
2
- --avatar-bg: var(--ui-surface-bg-inset);
3
- --avatar-text: var(--ui-text-secondary);
4
- --avatar-border: transparent;
5
- background: var(--avatar-bg);
6
- color: var(--avatar-text);
7
- border: 1px solid var(--avatar-border);
8
- }
9
-
10
- .ui-avatar[data-tone="subtle"] {
11
- --avatar-bg: var(--ui-surface-bg-subtle);
12
- --avatar-text: var(--ui-text-muted);
13
- }
@@ -1,52 +0,0 @@
1
- .ui-badge {
2
- --badge-bg: var(--ui-surface-bg-inset);
3
- --badge-text: var(--ui-text-secondary);
4
- --badge-border: transparent;
5
- background: var(--badge-bg);
6
- border-color: var(--badge-border);
7
- }
8
-
9
- .ui-badge[data-variant="outline"] {
10
- --badge-bg: transparent;
11
- --badge-border: var(--ui-surface-border);
12
- }
13
-
14
- .ui-badge[data-tone="info"] {
15
- --badge-bg: var(--ui-info-bg);
16
- --badge-text: var(--ui-info-text);
17
- --badge-border: var(--ui-info-border);
18
- }
19
-
20
- .ui-badge[data-tone="info"][data-variant="outline"] {
21
- --badge-bg: transparent;
22
- }
23
-
24
- .ui-badge[data-tone="success"] {
25
- --badge-bg: var(--ui-success-bg);
26
- --badge-text: var(--ui-success-text);
27
- --badge-border: var(--ui-success-border);
28
- }
29
-
30
- .ui-badge[data-tone="success"][data-variant="outline"] {
31
- --badge-bg: transparent;
32
- }
33
-
34
- .ui-badge[data-tone="warning"] {
35
- --badge-bg: var(--ui-warning-bg);
36
- --badge-text: var(--ui-warning-text);
37
- --badge-border: var(--ui-warning-border);
38
- }
39
-
40
- .ui-badge[data-tone="warning"][data-variant="outline"] {
41
- --badge-bg: transparent;
42
- }
43
-
44
- .ui-badge[data-tone="danger"] {
45
- --badge-bg: var(--ui-danger-bg);
46
- --badge-text: var(--ui-danger-text);
47
- --badge-border: var(--ui-danger-border);
48
- }
49
-
50
- .ui-badge[data-tone="danger"][data-variant="outline"] {
51
- --badge-bg: transparent;
52
- }
@@ -1,49 +0,0 @@
1
- .ui-button {
2
- --button-bg: var(--ui-surface-bg);
3
- --button-bg-hover: var(--ui-surface-bg-inset);
4
- --button-bg-active: var(--ui-surface-bg-subtle);
5
- --button-text: var(--ui-text-primary);
6
- --button-border: var(--ui-surface-border);
7
- --button-ring: var(--ui-control-focus-ring);
8
- --button-disabled-opacity: 0.5;
9
- background: var(--button-bg);
10
- color: var(--button-text);
11
- border-color: var(--button-border);
12
- }
13
-
14
- .ui-button:hover {
15
- background: var(--button-bg-hover);
16
- }
17
-
18
- .ui-button:active {
19
- background: var(--button-bg-active);
20
- }
21
-
22
- .ui-button:focus-visible {
23
- --tw-ring-color: var(--button-ring);
24
- }
25
-
26
- .ui-button[data-variant="primary"] {
27
- --button-bg: var(--ui-accent-bg);
28
- --button-bg-hover: var(--ui-accent-bg-hover);
29
- --button-bg-active: color-mix(in srgb, var(--ui-accent-bg-hover) 88%, black);
30
- --button-text: var(--ui-accent-text);
31
- --button-border: transparent;
32
- }
33
-
34
- .ui-button[data-variant="ghost"] {
35
- --button-bg: transparent;
36
- --button-bg-hover: var(--ui-surface-bg-inset);
37
- --button-bg-active: var(--ui-surface-bg-subtle);
38
- --button-text: var(--ui-text-secondary);
39
- --button-border: transparent;
40
- }
41
-
42
- .ui-button[data-variant="danger"] {
43
- --button-bg: var(--ui-danger-bg);
44
- --button-bg-hover: color-mix(in srgb, var(--ui-danger-bg) 92%, var(--ui-danger-border));
45
- --button-bg-active: color-mix(in srgb, var(--ui-danger-bg) 84%, var(--ui-danger-border));
46
- --button-text: var(--ui-danger-text);
47
- --button-border: var(--ui-danger-border);
48
- --button-ring: var(--ui-danger-border);
49
- }