srcdev-nuxt-components 9.1.55 → 9.1.56

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 (100) hide show
  1. package/.claude/settings.json +29 -2
  2. package/.claude/skills/components/alert-content-inner.md +60 -0
  3. package/.claude/skills/components/display-dialog.md +80 -0
  4. package/.claude/skills/components/display-prompt.md +163 -0
  5. package/.claude/skills/components/display-toast.md +235 -0
  6. package/.claude/skills/index.md +7 -3
  7. package/.claude/skills/theming-colour-ramps.md +328 -0
  8. package/.claude/skills/theming-override-default.md +115 -186
  9. package/.claude/skills/theming-partial-override.md +88 -75
  10. package/README.md +166 -0
  11. package/app/app.config.ts +44 -0
  12. package/app/assets/styles/setup/01.config/_head.css +3 -3
  13. package/app/assets/styles/setup/02.colours/_amber.css +12 -10
  14. package/app/assets/styles/setup/02.colours/_blue.css +10 -9
  15. package/app/assets/styles/setup/02.colours/_green.css +12 -11
  16. package/app/assets/styles/setup/02.colours/_orange.css +12 -10
  17. package/app/assets/styles/setup/02.colours/_red.css +10 -9
  18. package/app/assets/styles/setup/02.colours/_slate.css +12 -11
  19. package/app/assets/styles/setup/02.colours/_sunset.css +12 -10
  20. package/app/assets/styles/setup/02.colours/_theme-params.css +18 -0
  21. package/app/assets/styles/setup/02.colours/index.css +1 -0
  22. package/app/assets/styles/setup/03.theming/_default.css +87 -0
  23. package/app/assets/styles/setup/03.theming/_error.css +14 -0
  24. package/app/assets/styles/setup/03.theming/_success.css +4 -0
  25. package/app/assets/styles/setup/03.theming/_theme-slots.css +16 -0
  26. package/app/assets/styles/setup/03.theming/_warning.css +13 -0
  27. package/app/assets/styles/setup/03.theming/index.css +6 -4
  28. package/app/assets/styles/setup/03.theming/theme-ramp.css +19 -0
  29. package/app/assets/styles/setup/04.elements/forms/00.element-defaults.css +0 -7
  30. package/app/assets/styles/setup/04.elements/forms/06.button-geometry.css +1 -1
  31. package/app/assets/styles/setup/index.css +1 -1
  32. package/app/components/01.atoms/display-dialog/DisplayDialog.vue +74 -24
  33. package/app/components/01.atoms/display-dialog/tests/DisplayDialog.spec.ts +148 -14
  34. package/app/components/01.atoms/display-dialog/tests/__snapshots__/DisplayDialog.spec.ts.snap +3 -3
  35. package/app/components/01.atoms/prompt/DisplayPrompt.vue +113 -0
  36. package/app/components/01.atoms/prompt/stories/DisplayPrompt.stories.ts +112 -0
  37. package/app/components/01.atoms/prompt/tests/DisplayPrompt.spec.ts +205 -0
  38. package/app/components/01.atoms/toast/DisplayToast.vue +327 -0
  39. package/app/components/01.atoms/toast/DisplayToastProvider.vue +362 -0
  40. package/app/components/01.atoms/toast/stories/DisplayToast.stories.ts +195 -0
  41. package/app/components/01.atoms/toast/stories/DisplayToastProvider.stories.ts +142 -0
  42. package/app/components/01.atoms/toast/tests/DisplayToast.spec.ts +266 -0
  43. package/app/components/01.atoms/toast/tests/DisplayToastProvider.spec.ts +256 -0
  44. package/app/components/02.molecules/action-menu/ActionMenu.vue +8 -1
  45. package/app/components/02.molecules/action-menu/ActionMenuItemCore.vue +11 -3
  46. package/app/components/02.molecules/alert-content/AlertContent.vue +67 -0
  47. package/app/components/02.molecules/alert-content/AlertContentInner.vue +153 -0
  48. package/app/components/02.molecules/alert-content/stories/AlertContent.stories.ts +131 -0
  49. package/app/components/02.molecules/alert-content/tests/AlertContent.spec.ts +135 -0
  50. package/app/components/02.molecules/alert-content/tests/AlertContentInner.spec.ts +135 -0
  51. package/app/components/02.molecules/alert-masked-content/AlertMaskedContent.vue +78 -0
  52. package/app/components/02.molecules/alert-masked-content/stories/AlertMaskedContent.stories.ts +132 -0
  53. package/app/components/02.molecules/alert-masked-content/tests/AlertMaskedContent.spec.ts +149 -0
  54. package/app/components/05.forms/input-button/InputButtonCore.vue +35 -39
  55. package/app/components/05.forms/input-checkbox-radio/InputCheckboxRadioButton.vue +8 -8
  56. package/app/components/05.forms/input-checkbox-radio/InputCheckboxRadioCore.vue +5 -5
  57. package/app/components/05.forms/input-copy/InputCopyCore.vue +7 -7
  58. package/app/components/05.forms/input-number/InputNumberCore.vue +5 -5
  59. package/app/components/05.forms/input-select/InputSelectCore.vue +6 -6
  60. package/app/components/05.forms/input-text/InputTextCore.vue +6 -6
  61. package/app/components/05.forms/input-text/variants/InputTextAsNumberWithLabel.vue +2 -2
  62. package/app/components/05.forms/input-textarea/InputTextareaCore.vue +5 -5
  63. package/app/components/05.forms/pending-effect/PendingEffect.vue +60 -60
  64. package/app/components/05.forms/toggle-switch/ToggleSwitchCore.vue +10 -10
  65. package/app/components/05.forms/triple-toggle-switch/TripleToggleSwitchCore.vue +4 -4
  66. package/app/components/display-theme-switch/DisplayThemeSwitch.vue +4 -4
  67. package/app/components/display-tooltip/DisplayTooltip.vue +4 -4
  68. package/app/composables/useBodyLock.ts +21 -0
  69. package/app/composables/useDialogControls.ts +11 -11
  70. package/app/composables/useToastQueue.ts +39 -0
  71. package/app/layouts/default.vue +1 -1
  72. package/app/pages/ui/display-dialog.vue +275 -127
  73. package/app/pages/ui/display-prompt.vue +255 -52
  74. package/app/pages/ui/display-toast.vue +278 -299
  75. package/app/pages/ui/mask-element.vue +25 -3
  76. package/app/pages/ui/settings.vue +9 -35
  77. package/app/types/app-config.d.ts +41 -0
  78. package/app/types/components/display-prompt.d.ts +11 -0
  79. package/app/types/components/display-toast.d.ts +11 -9
  80. package/app/types/components/index.ts +2 -0
  81. package/app/types/components/semantic-theme.d.ts +1 -0
  82. package/nuxt.config.ts +16 -0
  83. package/package.json +6 -4
  84. package/app/assets/styles/setup/03.theming/default/_dark.css +0 -156
  85. package/app/assets/styles/setup/03.theming/default/_light.css +0 -166
  86. package/app/assets/styles/setup/03.theming/default/index.css +0 -2
  87. package/app/assets/styles/setup/03.theming/error/_dark.css +0 -56
  88. package/app/assets/styles/setup/03.theming/error/_light.css +0 -74
  89. package/app/assets/styles/setup/03.theming/error/index.css +0 -2
  90. package/app/assets/styles/setup/03.theming/success/_dark.css +0 -50
  91. package/app/assets/styles/setup/03.theming/success/_light.css +0 -65
  92. package/app/assets/styles/setup/03.theming/success/index.css +0 -2
  93. package/app/assets/styles/setup/03.theming/warning/_dark.css +0 -50
  94. package/app/assets/styles/setup/03.theming/warning/_light.css +0 -64
  95. package/app/assets/styles/setup/03.theming/warning/index.css +0 -2
  96. package/app/components/display-prompt/DisplayPromptCore.vue +0 -228
  97. package/app/components/display-prompt/variants/DisplayPromptError.vue +0 -53
  98. package/app/components/display-toast/DisplayToast.vue +0 -447
  99. package/app/components/display-toast/molecules/DefaultToastContent.vue +0 -163
  100. package/app/components/display-toast/stories/DisplayToast.stories.ts +0 -380
@@ -10,38 +10,12 @@
10
10
  </PageRow>
11
11
 
12
12
  <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
13
- <h1 class="page-heading-1 mbe-18">Default button elements</h1>
13
+ <div class="theme-test" data-theme="error">
14
+ <h2 class="page-heading-2 mbe-18">Theme test (error)</h2>
14
15
 
15
- <div class="mb-12">
16
- <p class="page-body-normal mbe-12"><code>class="test-button" data-theme="default"</code></p>
17
- <button class="input-button-core" type="button">This is a button</button>
18
- </div>
19
- </PageRow>
20
-
21
- <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
22
- <h1 class="page-heading-1 mbe-18">Primary button elements</h1>
23
-
24
- <div class="mb-12" data-theme="default">
25
- <p class="page-body-normal mbe-12"><code>class="test-button" data-theme="default"</code></p>
26
- <button class="input-button-core" type="button">This is a button</button>
27
- </div>
28
- </PageRow>
29
-
30
- <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
31
- <h1 class="page-heading-1 mbe-18">Error button elements</h1>
32
-
33
- <div class="mb-12" data-theme="default" data-error>
34
- <p class="page-body-normal mbe-12"><code>class="test-button" data-theme="error"</code></p>
35
- <button class="input-button-core" type="button">This is a button</button>
36
- </div>
37
- </PageRow>
38
-
39
- <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
40
- <h1 class="page-heading-1 mbe-18">Success button elements</h1>
41
-
42
- <div class="mb-12" data-theme="success">
43
- <p class="page-body-normal mbe-12"><code>class="test-button" data-theme="success"</code></p>
44
- <button class="input-button-core" type="button">This is a button</button>
16
+ <div class="mb-12">
17
+ <p class="page-body-normal mbe-12">This is test text</p>
18
+ </div>
45
19
  </div>
46
20
  </PageRow>
47
21
  </template>
@@ -65,16 +39,16 @@ useHead({
65
39
 
66
40
  <style lang="css">
67
41
  .settings-page {
68
- .test-button {
69
- /* all: unset; */
42
+ .theme-test {
43
+ margin: 2rem;
70
44
  padding: 0.6rem 1.2rem;
71
45
 
72
46
  border: var(--colour-theme-10) solid 1px;
73
47
  outline: var(--colour-theme-10) solid 1px;
74
48
  outline-offset: 3px;
75
49
  background-color: var(--colour-theme-1);
76
- color: var(--colour-theme-10);
77
- border-radius: 100vw;
50
+ color: var(--colour-theme-7);
51
+ border-radius: 0.4rem;
78
52
  }
79
53
  }
80
54
  </style>
@@ -0,0 +1,41 @@
1
+ import type { SemanticTheme, DisplayPromptTheme, DisplayToastTheme, DisplayToastPosition, DisplayToastAlignment } from "./components"
2
+
3
+ declare module "@nuxt/schema" {
4
+ interface AppConfigInput {
5
+ srcdev?: {
6
+ alertContent?: {
7
+ icons?: Partial<Record<SemanticTheme, string>>
8
+ dismissIcon?: string
9
+ }
10
+ displayPrompt?: {
11
+ theme?: DisplayPromptTheme
12
+ dismissible?: boolean
13
+ useAutoFocus?: boolean
14
+ masked?: boolean
15
+ }
16
+ displayToast?: {
17
+ appearance?: {
18
+ theme?: DisplayToastTheme
19
+ position?: DisplayToastPosition
20
+ alignment?: DisplayToastAlignment
21
+ fullWidth?: boolean
22
+ masked?: boolean
23
+ }
24
+ behavior?: {
25
+ autoDismiss?: boolean
26
+ duration?: number
27
+ revealDuration?: number
28
+ }
29
+ }
30
+ displayDialog?: {
31
+ variant?: "dialog" | "modal" | "confirm" | "alert" | "fullscreen"
32
+ justifyDialog?: "start" | "center" | "end"
33
+ alignDialog?: "start" | "center" | "end"
34
+ lockViewport?: boolean
35
+ allowContentScroll?: boolean
36
+ theme?: SemanticTheme
37
+ closeIcon?: string
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,11 @@
1
+ import type { SemanticTheme } from "./semantic-theme.d"
2
+
3
+ export type DisplayPromptTheme = SemanticTheme
4
+
5
+ export interface DisplayPromptProps {
6
+ theme?: DisplayPromptTheme
7
+ dismissible?: boolean
8
+ useAutoFocus?: boolean
9
+ masked?: boolean
10
+ styleClassPassthrough?: string | string[]
11
+ }
@@ -1,14 +1,7 @@
1
1
  import type { VNode, ComponentPublicInstance } from "vue"
2
+ import type { SemanticTheme } from "./semantic-theme.d"
2
3
 
3
- export type DisplayToastTheme =
4
- | "primary"
5
- | "secondary"
6
- | "tertiary"
7
- | "ghost"
8
- | "error"
9
- | "info"
10
- | "success"
11
- | "warning"
4
+ export type DisplayToastTheme = SemanticTheme
12
5
 
13
6
  export type DisplayToastPosition = "top" | "bottom"
14
7
  export type DisplayToastAlignment = "left" | "center" | "right"
@@ -18,6 +11,7 @@ export interface DisplayToastAppearanceConfig {
18
11
  position?: DisplayToastPosition
19
12
  alignment?: DisplayToastAlignment
20
13
  fullWidth?: boolean
14
+ masked?: boolean
21
15
  }
22
16
 
23
17
  export interface DisplayToastBehaviorConfig {
@@ -45,6 +39,14 @@ export interface DisplayToastProps {
45
39
  styleClassPassthrough?: string | string[]
46
40
  }
47
41
 
42
+ export type ToastQueueStatus = "pending" | "visible"
43
+
44
+ export interface ToastQueueEntry {
45
+ id: string
46
+ config: DisplayToastConfig
47
+ status: ToastQueueStatus
48
+ }
49
+
48
50
  export interface ToastSlots {
49
51
  default?(props?: Record<string, never>): VNode[]
50
52
  customToastIcon?(props?: Record<string, never>): VNode[]
@@ -1,4 +1,5 @@
1
1
  // Export types from the components directory
2
+ export * from "./semantic-theme.d"
2
3
  export * from "./carousel-basic.d"
3
4
  export * from "./slider-gallery.d"
4
5
  export * from "./canvas-switcher.d"
@@ -6,6 +7,7 @@ export * from "./display-chip.d"
6
7
  export * from "./tabs.d"
7
8
  export * from "./responsive-header.d"
8
9
  export * from "./display-toast.d"
10
+ export * from "./display-prompt.d"
9
11
  export * from "./qr-code.d"
10
12
  export * from "./alert-mask-core.d"
11
13
  export * from "./hero-text"
@@ -0,0 +1 @@
1
+ export type SemanticTheme = "info" | "success" | "warning" | "error"
package/nuxt.config.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  // https://nuxt.com/docs/api/configuration/nuxt-config
2
2
  import { createResolver } from "@nuxt/kit";
3
+ import { execFile } from "node:child_process";
4
+ import { promisify } from "node:util";
3
5
 
4
6
  const { resolve } = createResolver(import.meta.url);
5
7
  const isStandalone = !!process.env.SRCDEV_STANDALONE;
8
+ const execFileAsync = promisify(execFile);
6
9
 
7
10
  export default defineNuxtConfig({
8
11
  // debug: !isProduction,
@@ -126,6 +129,19 @@ export default defineNuxtConfig({
126
129
  vue: {
127
130
  runtimeCompiler: true,
128
131
  },
132
+ // Re-generate ramps on config change during local dev.
133
+ // Guarded by isStandalone so consumers extending this layer never trigger
134
+ // generation inside node_modules (they never set SRCDEV_STANDALONE).
135
+ hooks: isStandalone
136
+ ? {
137
+ async "builder:watch"(_event, path) {
138
+ if (!path.endsWith("ramps.config.mjs")) return;
139
+ console.log("[ramps] ramps.config.mjs changed, regenerating…");
140
+ await execFileAsync("node", ["scripts/generate-ramps.mjs"], { cwd: resolve("./") });
141
+ console.log("[ramps] done.");
142
+ },
143
+ }
144
+ : {},
129
145
  compatibilityDate: "2026-05-20",
130
146
  typescript: {
131
147
  includeWorkspace: true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "srcdev-nuxt-components",
3
3
  "type": "module",
4
- "version": "9.1.55",
4
+ "version": "9.1.56",
5
5
  "main": "nuxt.config.ts",
6
6
  "types": "types.d.ts",
7
7
  "license": "MIT",
@@ -10,9 +10,11 @@
10
10
  "cleanall": "rm -rf node_modules && rm -rf .nuxt && rm -rf .output && rm package-lock.json",
11
11
  "reinstall": "rm -rf node_modules && npm install",
12
12
  "cleaninstall": "npm run clean && npm run reinstall",
13
- "dev": "SRCDEV_STANDALONE=true nuxt dev",
14
- "build": "SRCDEV_STANDALONE=true nuxt build",
15
- "generate": "SRCDEV_STANDALONE=true nuxt generate",
13
+ "generate:ramps": "node scripts/generate-ramps.mjs",
14
+ "check:ramps": "node scripts/check-ramps.mjs",
15
+ "dev": "npm run generate:ramps && SRCDEV_STANDALONE=true nuxt dev",
16
+ "build": "npm run generate:ramps && SRCDEV_STANDALONE=true nuxt build",
17
+ "generate": "npm run generate:ramps && SRCDEV_STANDALONE=true nuxt generate",
16
18
  "preview": "SRCDEV_STANDALONE=true nuxt preview",
17
19
  "lint": "eslint .",
18
20
  "prepare": "SRCDEV_STANDALONE=true nuxt prepare",
@@ -1,156 +0,0 @@
1
- :where(html.dark) {
2
- /* ===========================================
3
- COLOR SCALE VARIABLES
4
- Base color tokens for the default theme
5
- =========================================== */
6
- --colour-theme-1: var(--blue-01);
7
- --colour-theme-2: var(--blue-02);
8
- --colour-theme-3: var(--blue-03);
9
- --colour-theme-4: var(--blue-04);
10
- --colour-theme-5: var(--blue-05);
11
- --colour-theme-6: var(--blue-06);
12
- --colour-theme-7: var(--blue-07);
13
- --colour-theme-8: var(--blue-08);
14
- --colour-theme-9: var(--blue-09);
15
- --colour-theme-10: var(--blue-10);
16
- --colour-theme-11: var(--blue-10);
17
- --colour-theme-12: var(--blue-10);
18
-
19
- /* ===========================================
20
- GENERIC BODY VARIABLES
21
- =========================================== */
22
- --page-bg: var(--slate-08);
23
- --colour-text-default: var(--slate-01);
24
- --colour-text-accent: var(--blue-05);
25
- --colour-text-eyebrow: var(--blue-05);
26
-
27
- /* ===========================================
28
- GLASS PANEL VARIABLES
29
- =========================================== */
30
- --glass-panel-bg: rgba(12, 12, 20, 0.45);
31
- --glass-panel-border-color: rgba(255, 255, 255, 0.07);
32
- --glass-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
33
- --glass-panel-highlight: rgba(255, 255, 255, 0.04);
34
-
35
- /* ===========================================
36
- HERO TEXT VARIABLES
37
- =========================================== */
38
- --hero-text-bg-img: linear-gradient(135deg, #c2a770, #b4747e, #d1bd94);
39
-
40
- /* ===========================================
41
- EYEBROW TEXT VARIABLES
42
- =========================================== */
43
- --eyebrow-text-bg-img: linear-gradient(135deg, #c2a770, #b4747e, #d1bd94);
44
-
45
- /* ===========================================
46
- STEPPER LIST VARIABLES
47
- =========================================== */
48
- --stepper-list-counter-circle-background: transparent;
49
- --stepper-list-counter-circle-text: var(--blue-02);
50
- --stepper-list-counter-circle-border: var(--blue-02);
51
-
52
- --stepper-list-counter-disc-background: var(--blue-02);
53
- --stepper-list-counter-disc-text: var(--blue-09);
54
- --stepper-list-counter-disc-border: var(--blue-02);
55
-
56
- --stepper-list-counter-square-background: transparent;
57
- --stepper-list-counter-square-text: var(--blue-02);
58
- --stepper-list-counter-square-border: var(--blue-02);
59
-
60
- --stepper-list-connector-color: var(--blue-02);
61
-
62
- --stepper-list-icon: var(--blue-02);
63
-
64
- /* ===========================================
65
- COLOUR FINDER VARIABLES
66
- =========================================== */
67
- --colour-finder-primary-colour: var(--blue-03);
68
- --colour-finder-border-colour: var(--blue-03);
69
-
70
- --colour-finder-checked-surface-colour: var(--green-10);
71
- --colour-finder-checked-stroke-colour: var(--green-03);
72
-
73
- --colour-finder-conflict-surface-colour: var(--sunset-09);
74
- --colour-finder-conflict-stroke-colour: var(--sunset-03);
75
-
76
- /* ===========================================
77
- TREATMENT CONSULTANT VARIABLES
78
- =========================================== */
79
- --treatment-consultant-primary-colour: var(--amber-02);
80
- --treatment-consultant-primary-foreground: var(--amber-02);
81
-
82
- --treatment-consultant-muted-colour: var(--amber-05);
83
- --treatment-consultant-muted-foreground: var(--amber-05);
84
-
85
- --treatment-consultant-background: var(--amber-10);
86
- --treatment-consultant-foreground: var(--amber-02);
87
-
88
- --treatment-consultant-border-colour: var(--amber-03);
89
-
90
- --treatment-consultant-checked-surface-colour: var(--green-10);
91
- --treatment-consultant-checked-stroke-colour: var(--green-03);
92
-
93
- --treatment-consultant-conflict-surface-colour: var(--sunset-09);
94
- --treatment-consultant-conflict-stroke-colour: var(--sunset-03);
95
-
96
- /* ===========================================
97
- ANCHOR LINK VARIABLES
98
- =========================================== */
99
- --colour-link-default: var(--blue-02);
100
- --colour-link-hover: var(--blue-03);
101
-
102
- /* ===========================================
103
- FORM INPUT VARIABLES
104
- Styling for form inputs and controls
105
- =========================================== */
106
-
107
- /* Input surfaces and backgrounds */
108
- --theme-input-surface: var(--slate-10);
109
- --theme-input-surface-hover: var(--slate-09);
110
-
111
- /* Input borders */
112
- --theme-input-border: var(--blue-06);
113
- --theme-input-border-hover: var(--blue-05);
114
- --theme-input-border-focus: var(--blue-04);
115
-
116
- /* Input outlines and focus */
117
- --theme-input-outline: var(--blue-06);
118
- --theme-input-outline-focus: var(--blue-04);
119
- --theme-input-visible-outline: var(--blue-04);
120
- --theme-focus-visible-shadow: 0 0 0 2px var(--blue-02);
121
-
122
- /* ===========================================
123
- INPUT TEXT VARIABLES
124
- =========================================== */
125
- --theme-input-placeholder: var(--slate-04);
126
- --theme-input-text-color-normal: var(--slate-01);
127
-
128
- /* ===========================================
129
- CHECKBOX AND RADIO BUTTON VARIABLES
130
- =========================================== */
131
- --theme-checkbox-symbol-surface: var(--theme-input-surface);
132
- --theme-checkbox-symbol-color: var(--blue-02);
133
- --theme-checkbox-decorator-color: var(--blue-02);
134
-
135
- /* ===========================================
136
- FORM BUTTON VARIABLES
137
- Styling for form buttons and controls
138
- =========================================== */
139
-
140
- /* Variant Primary */
141
- --theme-button-primary-border: var(--blue-07);
142
- --theme-button-primary-border-active: var(--blue-07);
143
- --theme-button-primary-text: var(--blue-00);
144
- --theme-button-primary-text-hover: var(--blue-00);
145
-
146
- /* Variant Secondary */
147
- --theme-button-secondary-surface: var(--blue-01);
148
- --theme-button-secondary-border-active: var(--blue-01);
149
- --theme-button-secondary-text: var(--blue-09);
150
-
151
- /* Variant Tertiary */
152
- --theme-button-tertiary-surface: transparent;
153
- --theme-button-tertiary-text: var(--blue-01);
154
- --theme-button-tertiary-border-active: var(--blue-01);
155
- --theme-button-tertiary-outline-active: var(--blue-09);
156
- }
@@ -1,166 +0,0 @@
1
- :where(html) {
2
- /* ===========================================
3
- COLOR SCALE VARIABLES
4
- Base color tokens for the default theme
5
- =========================================== */
6
- --colour-theme-1: var(--blue-01);
7
- --colour-theme-2: var(--blue-02);
8
- --colour-theme-3: var(--blue-03);
9
- --colour-theme-4: var(--blue-04);
10
- --colour-theme-5: var(--blue-05);
11
- --colour-theme-6: var(--blue-06);
12
- --colour-theme-7: var(--blue-07);
13
- --colour-theme-8: var(--blue-08);
14
- --colour-theme-9: var(--blue-09);
15
- --colour-theme-10: var(--blue-10);
16
-
17
- /* ===========================================
18
- GENERIC BODY VARIABLES
19
- =========================================== */
20
- --page-bg: var(--slate-00);
21
- --colour-text-default: var(--slate-09);
22
- --colour-text-accent: var(--blue-09);
23
- --colour-text-eyebrow: var(--blue-09);
24
-
25
- /* ===========================================
26
- GLASS PANEL VARIABLES
27
- =========================================== */
28
- --glass-panel-bg: rgba(255, 255, 255, 0.55);
29
- --glass-panel-border-color: rgba(255, 255, 255, 0.8);
30
- --glass-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
31
- --glass-panel-highlight: rgba(255, 255, 255, 0.9);
32
-
33
- /* ===========================================
34
- HERO TEXT VARIABLES
35
- =========================================== */
36
- --hero-text-bg-img: linear-gradient(135deg, #c2a770, #b4747e, #d1bd94);
37
-
38
- /* ===========================================
39
- EYEBROW TEXT VARIABLES
40
- =========================================== */
41
- --eyebrow-text-bg-img: linear-gradient(135deg, #c2a770, #b4747e, #d1bd94);
42
-
43
- /* ===========================================
44
- STEPPER LIST VARIABLES
45
- =========================================== */
46
- --stepper-list-counter-circle-background: transparent;
47
- --stepper-list-counter-circle-text: var(--blue-09);
48
- --stepper-list-counter-circle-border: var(--blue-09);
49
-
50
- --stepper-list-counter-disc-background: var(--blue-01);
51
- --stepper-list-counter-disc-text: var(--blue-09);
52
- --stepper-list-counter-disc-border: var(--blue-01);
53
-
54
- --stepper-list-counter-square-background: transparent;
55
- --stepper-list-counter-square-text: var(--blue-09);
56
- --stepper-list-counter-square-border: var(--blue-09);
57
-
58
- --stepper-list-connector-color: var(--blue-01);
59
-
60
- --stepper-list-icon: var(--blue-09);
61
-
62
- /* ===========================================
63
- COLOUR FINDER VARIABLES
64
- =========================================== */
65
- --colour-finder-primary-colour: var(--blue-03);
66
- --colour-finder-border-colour: var(--blue-02);
67
-
68
- --colour-finder-checked-surface-colour: var(--green-03);
69
- --colour-finder-checked-stroke-colour: var(--green-09);
70
-
71
- --colour-finder-conflict-surface-colour: var(--sunset-03);
72
- --colour-finder-conflict-stroke-colour: var(--sunset-09);
73
-
74
- /* ===========================================
75
- TREATMENT CONSULTANT VARIABLES
76
- =========================================== */
77
- --treatment-consultant-primary-colour: var(--amber-05);
78
- --treatment-consultant-border-colour: var(--blue-02);
79
-
80
- --treatment-consultant-checked-surface-colour: var(--green-03);
81
- --treatment-consultant-checked-stroke-colour: var(--green-09);
82
-
83
- --treatment-consultant-conflict-surface-colour: var(--sunset-03);
84
- --treatment-consultant-conflict-stroke-colour: var(--sunset-09);
85
-
86
- /* ===========================================
87
- ANCHOR LINK VARIABLES
88
- Styling for anchor links and interactive text
89
- =========================================== */
90
- --colour-link-default: var(--blue-10);
91
- --colour-link-hover: var(--blue-09);
92
-
93
- /* ===========================================
94
- FORM INPUT VARIABLES
95
- Styling for form inputs and controls
96
- =========================================== */
97
-
98
- /* Input surfaces and backgrounds */
99
- --theme-input-surface: var(--slate-00);
100
- --theme-input-surface-hover: var(--slate-01);
101
-
102
- /* Input borders */
103
- --theme-input-border: var(--blue-06);
104
- --theme-input-border-hover: var(--blue-05);
105
- --theme-input-border-focus: var(--blue-04);
106
-
107
- /* Input outlines and focus */
108
- --theme-input-outline: transparent;
109
- --theme-input-outline-focus: var(--blue-04);
110
- --theme-input-visible-outline: var(--blue-10);
111
- --theme-focus-visible-shadow: 0 0 0 2px var(--blue-02);
112
-
113
- /* ===========================================
114
- INPUT TEXT VARIABLES
115
- =========================================== */
116
- --theme-input-placeholder: var(--slate-05);
117
- --theme-input-text-color-normal: var(--slate-09);
118
-
119
- /* ===========================================
120
- CHECKBOX AND RADIO BUTTON VARIABLES
121
- =========================================== */
122
- --theme-checkbox-symbol-color: var(--blue-08);
123
- --theme-checkbox-symbol-surface: var(--theme-input-surface);
124
- --theme-checkbox-decorator-color: var(--blue-09);
125
-
126
- /* ===========================================
127
- TOGGLE SWITCH VARIABLES
128
- =========================================== */
129
- --theme-toggle-symbol-color-default: var(--blue-00);
130
- --theme-toggle-symbol-color-checked: var(--blue-08);
131
-
132
- --input-error-margin-block-start: 0.25rem;
133
-
134
- /* ===========================================
135
- FORM BUTTON VARIABLES
136
- Styling for form buttons and controls
137
- =========================================== */
138
-
139
- /* Variant Primary */
140
- --theme-button-primary-surface: var(--blue-09);
141
- --theme-button-primary-surface-hover: var(--blue-08);
142
- --theme-button-primary-surface-active: var(--blue-07);
143
- --theme-button-primary-border: var(--blue-09);
144
- --theme-button-primary-border-active: var(--blue-09);
145
- --theme-button-primary-outline: var(--blue-01);
146
- --theme-button-primary-outline-active: var(--blue-07);
147
- --theme-button-primary-text: var(--blue-00);
148
- --theme-button-primary-text-hover: var(--blue-00);
149
-
150
- /* Variant Secondary */
151
- --theme-button-secondary-surface: transparent;
152
- --theme-button-secondary-surface-hover: var(--blue-01);
153
- --theme-button-secondary-surface-active: var(--blue-01);
154
- --theme-button-secondary-border: var(--blue-09);
155
- --theme-button-secondary-border-active: var(--blue-09);
156
- --theme-button-secondary-outline: var(--blue-09);
157
- --theme-button-secondary-outline-active: var(--blue-09);
158
- --theme-button-secondary-text: var(--blue-09);
159
- --theme-button-secondary-text-hover: var(--blue-09);
160
-
161
- /* Variant Tertiary */
162
- --theme-button-tertiary-surface: var(--slate-01);
163
- --theme-button-tertiary-text: var(--blue-09);
164
- --theme-button-tertiary-border-active: var(--blue-09);
165
- --theme-button-tertiary-outline-active: var(--blue-09);
166
- }
@@ -1,2 +0,0 @@
1
- @import "./_light";
2
- @import "./_dark";
@@ -1,56 +0,0 @@
1
- :where(html.dark [data-invalid]),
2
- :where(html.dark [data-theme="error"]) {
3
- /* ===========================================
4
- COLOR SCALE VARIABLES
5
- Base color tokens for the error theme
6
- =========================================== */
7
- --colour-theme-1: var(--red-01);
8
- --colour-theme-2: var(--red-02);
9
- --colour-theme-3: var(--red-03);
10
- --colour-theme-4: var(--red-04);
11
- --colour-theme-5: var(--red-05);
12
- --colour-theme-6: var(--red-06);
13
- --colour-theme-7: var(--red-07);
14
- --colour-theme-8: var(--red-08);
15
- --colour-theme-9: var(--red-09);
16
- --colour-theme-10: var(--red-10);
17
- --colour-theme-11: var(--red-10);
18
- --colour-theme-12: var(--red-10);
19
-
20
- /* ===========================================
21
- FORM ERROR DISPLAY
22
- =========================================== */
23
- --theme-error-outline: var(--red-05);
24
-
25
- /* ===========================================
26
- FORM INPUT VARIABLES
27
- Styling for form inputs and controls
28
- =========================================== */
29
- --theme-input-border: var(--red-06);
30
- --theme-input-border-focus: var(--red-04);
31
-
32
- /* Input outlines and focus */
33
- --theme-input-outline: var(--red-05);
34
-
35
- /* ===========================================
36
- FORM BUTTON VARIABLES
37
- Styling for form buttons and controls
38
- =========================================== */
39
-
40
- /* Variant Primary */
41
- --theme-button-primary-border: var(--red-07);
42
- --theme-button-primary-border-active: var(--red-07);
43
- --theme-button-primary-text: var(--red-00);
44
- --theme-button-primary-text-hover: var(--red-00);
45
-
46
- /* Variant Secondary */
47
- --theme-button-secondary-surface: var(--red-01);
48
- --theme-button-secondary-border-active: var(--red-01);
49
- --theme-button-secondary-text: var(--red-09);
50
-
51
- /* Variant Tertiary */
52
- --theme-button-tertiary-surface: transparent;
53
- --theme-button-tertiary-text: var(--red-01);
54
- --theme-button-tertiary-border-active: var(--red-01);
55
- --theme-button-tertiary-outline-active: var(--red-09);
56
- }