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.
- package/.claude/settings.json +29 -2
- package/.claude/skills/components/alert-content-inner.md +60 -0
- package/.claude/skills/components/display-dialog.md +80 -0
- package/.claude/skills/components/display-prompt.md +163 -0
- package/.claude/skills/components/display-toast.md +235 -0
- package/.claude/skills/index.md +7 -3
- package/.claude/skills/theming-colour-ramps.md +328 -0
- package/.claude/skills/theming-override-default.md +115 -186
- package/.claude/skills/theming-partial-override.md +88 -75
- package/README.md +166 -0
- package/app/app.config.ts +44 -0
- package/app/assets/styles/setup/01.config/_head.css +3 -3
- package/app/assets/styles/setup/02.colours/_amber.css +12 -10
- package/app/assets/styles/setup/02.colours/_blue.css +10 -9
- package/app/assets/styles/setup/02.colours/_green.css +12 -11
- package/app/assets/styles/setup/02.colours/_orange.css +12 -10
- package/app/assets/styles/setup/02.colours/_red.css +10 -9
- package/app/assets/styles/setup/02.colours/_slate.css +12 -11
- package/app/assets/styles/setup/02.colours/_sunset.css +12 -10
- package/app/assets/styles/setup/02.colours/_theme-params.css +18 -0
- package/app/assets/styles/setup/02.colours/index.css +1 -0
- package/app/assets/styles/setup/03.theming/_default.css +87 -0
- package/app/assets/styles/setup/03.theming/_error.css +14 -0
- package/app/assets/styles/setup/03.theming/_success.css +4 -0
- package/app/assets/styles/setup/03.theming/_theme-slots.css +16 -0
- package/app/assets/styles/setup/03.theming/_warning.css +13 -0
- package/app/assets/styles/setup/03.theming/index.css +6 -4
- package/app/assets/styles/setup/03.theming/theme-ramp.css +19 -0
- package/app/assets/styles/setup/04.elements/forms/00.element-defaults.css +0 -7
- package/app/assets/styles/setup/04.elements/forms/06.button-geometry.css +1 -1
- package/app/assets/styles/setup/index.css +1 -1
- package/app/components/01.atoms/display-dialog/DisplayDialog.vue +74 -24
- package/app/components/01.atoms/display-dialog/tests/DisplayDialog.spec.ts +148 -14
- package/app/components/01.atoms/display-dialog/tests/__snapshots__/DisplayDialog.spec.ts.snap +3 -3
- package/app/components/01.atoms/prompt/DisplayPrompt.vue +113 -0
- package/app/components/01.atoms/prompt/stories/DisplayPrompt.stories.ts +112 -0
- package/app/components/01.atoms/prompt/tests/DisplayPrompt.spec.ts +205 -0
- package/app/components/01.atoms/toast/DisplayToast.vue +327 -0
- package/app/components/01.atoms/toast/DisplayToastProvider.vue +362 -0
- package/app/components/01.atoms/toast/stories/DisplayToast.stories.ts +195 -0
- package/app/components/01.atoms/toast/stories/DisplayToastProvider.stories.ts +142 -0
- package/app/components/01.atoms/toast/tests/DisplayToast.spec.ts +266 -0
- package/app/components/01.atoms/toast/tests/DisplayToastProvider.spec.ts +256 -0
- package/app/components/02.molecules/action-menu/ActionMenu.vue +8 -1
- package/app/components/02.molecules/action-menu/ActionMenuItemCore.vue +11 -3
- package/app/components/02.molecules/alert-content/AlertContent.vue +67 -0
- package/app/components/02.molecules/alert-content/AlertContentInner.vue +153 -0
- package/app/components/02.molecules/alert-content/stories/AlertContent.stories.ts +131 -0
- package/app/components/02.molecules/alert-content/tests/AlertContent.spec.ts +135 -0
- package/app/components/02.molecules/alert-content/tests/AlertContentInner.spec.ts +135 -0
- package/app/components/02.molecules/alert-masked-content/AlertMaskedContent.vue +78 -0
- package/app/components/02.molecules/alert-masked-content/stories/AlertMaskedContent.stories.ts +132 -0
- package/app/components/02.molecules/alert-masked-content/tests/AlertMaskedContent.spec.ts +149 -0
- package/app/components/05.forms/input-button/InputButtonCore.vue +35 -39
- package/app/components/05.forms/input-checkbox-radio/InputCheckboxRadioButton.vue +8 -8
- package/app/components/05.forms/input-checkbox-radio/InputCheckboxRadioCore.vue +5 -5
- package/app/components/05.forms/input-copy/InputCopyCore.vue +7 -7
- package/app/components/05.forms/input-number/InputNumberCore.vue +5 -5
- package/app/components/05.forms/input-select/InputSelectCore.vue +6 -6
- package/app/components/05.forms/input-text/InputTextCore.vue +6 -6
- package/app/components/05.forms/input-text/variants/InputTextAsNumberWithLabel.vue +2 -2
- package/app/components/05.forms/input-textarea/InputTextareaCore.vue +5 -5
- package/app/components/05.forms/pending-effect/PendingEffect.vue +60 -60
- package/app/components/05.forms/toggle-switch/ToggleSwitchCore.vue +10 -10
- package/app/components/05.forms/triple-toggle-switch/TripleToggleSwitchCore.vue +4 -4
- package/app/components/display-theme-switch/DisplayThemeSwitch.vue +4 -4
- package/app/components/display-tooltip/DisplayTooltip.vue +4 -4
- package/app/composables/useBodyLock.ts +21 -0
- package/app/composables/useDialogControls.ts +11 -11
- package/app/composables/useToastQueue.ts +39 -0
- package/app/layouts/default.vue +1 -1
- package/app/pages/ui/display-dialog.vue +275 -127
- package/app/pages/ui/display-prompt.vue +255 -52
- package/app/pages/ui/display-toast.vue +278 -299
- package/app/pages/ui/mask-element.vue +25 -3
- package/app/pages/ui/settings.vue +9 -35
- package/app/types/app-config.d.ts +41 -0
- package/app/types/components/display-prompt.d.ts +11 -0
- package/app/types/components/display-toast.d.ts +11 -9
- package/app/types/components/index.ts +2 -0
- package/app/types/components/semantic-theme.d.ts +1 -0
- package/nuxt.config.ts +16 -0
- package/package.json +6 -4
- package/app/assets/styles/setup/03.theming/default/_dark.css +0 -156
- package/app/assets/styles/setup/03.theming/default/_light.css +0 -166
- package/app/assets/styles/setup/03.theming/default/index.css +0 -2
- package/app/assets/styles/setup/03.theming/error/_dark.css +0 -56
- package/app/assets/styles/setup/03.theming/error/_light.css +0 -74
- package/app/assets/styles/setup/03.theming/error/index.css +0 -2
- package/app/assets/styles/setup/03.theming/success/_dark.css +0 -50
- package/app/assets/styles/setup/03.theming/success/_light.css +0 -65
- package/app/assets/styles/setup/03.theming/success/index.css +0 -2
- package/app/assets/styles/setup/03.theming/warning/_dark.css +0 -50
- package/app/assets/styles/setup/03.theming/warning/_light.css +0 -64
- package/app/assets/styles/setup/03.theming/warning/index.css +0 -2
- package/app/components/display-prompt/DisplayPromptCore.vue +0 -228
- package/app/components/display-prompt/variants/DisplayPromptError.vue +0 -53
- package/app/components/display-toast/DisplayToast.vue +0 -447
- package/app/components/display-toast/molecules/DefaultToastContent.vue +0 -163
- 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
|
-
<
|
|
13
|
+
<div class="theme-test" data-theme="error">
|
|
14
|
+
<h2 class="page-heading-2 mbe-18">Theme test (error)</h2>
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
69
|
-
|
|
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-
|
|
77
|
-
border-radius:
|
|
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.
|
|
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
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
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,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
|
-
}
|