tyrell-components 1.0.0-RC11 → 1.0.0-RC13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/css/tyrell-colors-static.css +316 -0
- package/css/tyrell-theme.css +1454 -0
- package/css/tyrell.css +112 -420
- package/dist/tyrell-colors-static.css +316 -0
- package/dist/tyrell-theme.css +1454 -0
- package/dist/tyrell.css +112 -420
- package/dist/tyrell.js +1 -1
- package/lib/base/ty-component.d.ts +7 -0
- package/lib/base/ty-component.d.ts.map +1 -1
- package/lib/base/ty-component.js +27 -0
- package/lib/base/ty-component.js.map +1 -1
- package/lib/components/button.d.ts +16 -1
- package/lib/components/button.d.ts.map +1 -1
- package/lib/components/button.js +34 -4
- package/lib/components/button.js.map +1 -1
- package/lib/components/calendar-month.d.ts +23 -0
- package/lib/components/calendar-month.d.ts.map +1 -1
- package/lib/components/calendar-month.js +168 -11
- package/lib/components/calendar-month.js.map +1 -1
- package/lib/components/calendar-navigation.d.ts +31 -5
- package/lib/components/calendar-navigation.d.ts.map +1 -1
- package/lib/components/calendar-navigation.js +71 -31
- package/lib/components/calendar-navigation.js.map +1 -1
- package/lib/components/calendar.d.ts +17 -2
- package/lib/components/calendar.d.ts.map +1 -1
- package/lib/components/calendar.js +83 -12
- package/lib/components/calendar.js.map +1 -1
- package/lib/components/checkbox.d.ts +14 -3
- package/lib/components/checkbox.d.ts.map +1 -1
- package/lib/components/checkbox.js +86 -57
- package/lib/components/checkbox.js.map +1 -1
- package/lib/components/copy.d.ts +14 -3
- package/lib/components/copy.d.ts.map +1 -1
- package/lib/components/copy.js +47 -25
- package/lib/components/copy.js.map +1 -1
- package/lib/components/date-picker.d.ts +26 -1
- package/lib/components/date-picker.d.ts.map +1 -1
- package/lib/components/date-picker.js +151 -32
- package/lib/components/date-picker.js.map +1 -1
- package/lib/components/input.d.ts +17 -2
- package/lib/components/input.d.ts.map +1 -1
- package/lib/components/input.js +104 -25
- package/lib/components/input.js.map +1 -1
- package/lib/components/modal.d.ts.map +1 -1
- package/lib/components/modal.js +28 -3
- package/lib/components/modal.js.map +1 -1
- package/lib/components/option.d.ts +0 -27
- package/lib/components/option.d.ts.map +1 -1
- package/lib/components/option.js +11 -102
- package/lib/components/option.js.map +1 -1
- package/lib/components/popup.d.ts.map +1 -1
- package/lib/components/popup.js +36 -2
- package/lib/components/popup.js.map +1 -1
- package/lib/components/radio.d.ts +6 -2
- package/lib/components/radio.d.ts.map +1 -1
- package/lib/components/radio.js +55 -13
- package/lib/components/radio.js.map +1 -1
- package/lib/components/scroll-container.d.ts +16 -0
- package/lib/components/scroll-container.d.ts.map +1 -1
- package/lib/components/scroll-container.js +105 -1
- package/lib/components/scroll-container.js.map +1 -1
- package/lib/components/select.d.ts +550 -0
- package/lib/components/select.d.ts.map +1 -0
- package/lib/components/select.js +2115 -0
- package/lib/components/select.js.map +1 -0
- package/lib/components/selected-tags.d.ts +93 -0
- package/lib/components/selected-tags.d.ts.map +1 -0
- package/lib/components/selected-tags.js +286 -0
- package/lib/components/selected-tags.js.map +1 -0
- package/lib/components/switch.d.ts +6 -3
- package/lib/components/switch.d.ts.map +1 -1
- package/lib/components/switch.js +54 -36
- package/lib/components/switch.js.map +1 -1
- package/lib/components/tabs.d.ts.map +1 -1
- package/lib/components/tabs.js +190 -25
- package/lib/components/tabs.js.map +1 -1
- package/lib/components/tag.d.ts +9 -1
- package/lib/components/tag.d.ts.map +1 -1
- package/lib/components/tag.js +41 -5
- package/lib/components/tag.js.map +1 -1
- package/lib/components/textarea.d.ts +3 -0
- package/lib/components/textarea.d.ts.map +1 -1
- package/lib/components/textarea.js +61 -6
- package/lib/components/textarea.js.map +1 -1
- package/lib/components/tooltip.d.ts +4 -2
- package/lib/components/tooltip.d.ts.map +1 -1
- package/lib/components/tooltip.js +109 -70
- package/lib/components/tooltip.js.map +1 -1
- package/lib/components/wizard.d.ts.map +1 -1
- package/lib/components/wizard.js +22 -3
- package/lib/components/wizard.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/styles/button.d.ts +41 -6
- package/lib/styles/button.d.ts.map +1 -1
- package/lib/styles/button.js +294 -254
- package/lib/styles/button.js.map +1 -1
- package/lib/styles/calendar-month.d.ts +3 -1
- package/lib/styles/calendar-month.d.ts.map +1 -1
- package/lib/styles/calendar-month.js +100 -67
- package/lib/styles/calendar-month.js.map +1 -1
- package/lib/styles/calendar-navigation.d.ts +1 -1
- package/lib/styles/calendar-navigation.d.ts.map +1 -1
- package/lib/styles/calendar-navigation.js +20 -28
- package/lib/styles/calendar-navigation.js.map +1 -1
- package/lib/styles/checkbox.d.ts +7 -5
- package/lib/styles/checkbox.d.ts.map +1 -1
- package/lib/styles/checkbox.js +125 -8
- package/lib/styles/checkbox.js.map +1 -1
- package/lib/styles/copy.d.ts +3 -1
- package/lib/styles/copy.d.ts.map +1 -1
- package/lib/styles/copy.js +61 -6
- package/lib/styles/copy.js.map +1 -1
- package/lib/styles/custom-scrollbar.d.ts +1 -1
- package/lib/styles/custom-scrollbar.d.ts.map +1 -1
- package/lib/styles/custom-scrollbar.js +2 -2
- package/lib/styles/date-picker.d.ts +3 -1
- package/lib/styles/date-picker.d.ts.map +1 -1
- package/lib/styles/date-picker.js +65 -103
- package/lib/styles/date-picker.js.map +1 -1
- package/lib/styles/file-upload.d.ts +1 -1
- package/lib/styles/file-upload.d.ts.map +1 -1
- package/lib/styles/file-upload.js +3 -3
- package/lib/styles/input.d.ts +3 -1
- package/lib/styles/input.d.ts.map +1 -1
- package/lib/styles/input.js +93 -419
- package/lib/styles/input.js.map +1 -1
- package/lib/styles/multiselect.d.ts +3 -1
- package/lib/styles/multiselect.d.ts.map +1 -1
- package/lib/styles/multiselect.js +26 -2
- package/lib/styles/multiselect.js.map +1 -1
- package/lib/styles/option.d.ts +1 -1
- package/lib/styles/option.d.ts.map +1 -1
- package/lib/styles/option.js +20 -47
- package/lib/styles/option.js.map +1 -1
- package/lib/styles/radio.d.ts +3 -1
- package/lib/styles/radio.d.ts.map +1 -1
- package/lib/styles/radio.js +24 -21
- package/lib/styles/radio.js.map +1 -1
- package/lib/styles/scroll-container.d.ts +1 -1
- package/lib/styles/scroll-container.d.ts.map +1 -1
- package/lib/styles/scroll-container.js +6 -0
- package/lib/styles/scroll-container.js.map +1 -1
- package/lib/styles/select-base.d.ts +9 -0
- package/lib/styles/select-base.d.ts.map +1 -0
- package/lib/styles/select-base.js +973 -0
- package/lib/styles/select-base.js.map +1 -0
- package/lib/styles/select.d.ts +12 -0
- package/lib/styles/select.d.ts.map +1 -0
- package/lib/styles/select.js +308 -0
- package/lib/styles/select.js.map +1 -0
- package/lib/styles/step.d.ts +1 -1
- package/lib/styles/step.d.ts.map +1 -1
- package/lib/styles/switch.d.ts +3 -1
- package/lib/styles/switch.d.ts.map +1 -1
- package/lib/styles/switch.js +25 -10
- package/lib/styles/switch.js.map +1 -1
- package/lib/styles/tab.d.ts +1 -1
- package/lib/styles/tab.d.ts.map +1 -1
- package/lib/styles/tabs.d.ts +1 -1
- package/lib/styles/tabs.d.ts.map +1 -1
- package/lib/styles/tabs.js +71 -1
- package/lib/styles/tabs.js.map +1 -1
- package/lib/styles/tag.d.ts +1 -1
- package/lib/styles/tag.d.ts.map +1 -1
- package/lib/styles/tag.js +40 -141
- package/lib/styles/tag.js.map +1 -1
- package/lib/styles/textarea.d.ts +1 -1
- package/lib/styles/textarea.d.ts.map +1 -1
- package/lib/styles/textarea.js +71 -37
- package/lib/styles/textarea.js.map +1 -1
- package/lib/styles/tooltip.d.ts +4 -2
- package/lib/styles/tooltip.d.ts.map +1 -1
- package/lib/styles/tooltip.js +4 -119
- package/lib/styles/tooltip.js.map +1 -1
- package/lib/styles/wizard.d.ts +1 -1
- package/lib/styles/wizard.d.ts.map +1 -1
- package/lib/styles/wizard.js +18 -6
- package/lib/styles/wizard.js.map +1 -1
- package/lib/types/common.d.ts +2 -1
- package/lib/types/common.d.ts.map +1 -1
- package/lib/types/common.js +15 -1
- package/lib/types/common.js.map +1 -1
- package/lib/utils/calendar-utils.d.ts +0 -48
- package/lib/utils/calendar-utils.d.ts.map +1 -1
- package/lib/utils/calendar-utils.js +0 -69
- package/lib/utils/calendar-utils.js.map +1 -1
- package/lib/utils/flavor-sheet.d.ts +32 -0
- package/lib/utils/flavor-sheet.d.ts.map +1 -0
- package/lib/utils/flavor-sheet.js +40 -0
- package/lib/utils/flavor-sheet.js.map +1 -0
- package/lib/utils/icon-registry.d.ts +0 -13
- package/lib/utils/icon-registry.d.ts.map +1 -1
- package/lib/utils/icon-registry.js +0 -35
- package/lib/utils/icon-registry.js.map +1 -1
- package/lib/utils/icons.d.ts +10 -0
- package/lib/utils/icons.d.ts.map +1 -0
- package/lib/utils/icons.js +10 -0
- package/lib/utils/icons.js.map +1 -0
- package/lib/utils/loader-registry.d.ts +2 -2
- package/lib/utils/loader-registry.js +2 -2
- package/lib/utils/locale.d.ts +0 -57
- package/lib/utils/locale.d.ts.map +1 -1
- package/lib/utils/locale.js +0 -89
- package/lib/utils/locale.js.map +1 -1
- package/lib/utils/number-format.d.ts +0 -21
- package/lib/utils/number-format.d.ts.map +1 -1
- package/lib/utils/number-format.js +0 -27
- package/lib/utils/number-format.js.map +1 -1
- package/lib/utils/positioning.d.ts +29 -22
- package/lib/utils/positioning.d.ts.map +1 -1
- package/lib/utils/positioning.js +23 -87
- package/lib/utils/positioning.js.map +1 -1
- package/lib/utils/scroll-lock.d.ts.map +1 -1
- package/lib/utils/scroll-lock.js +0 -1
- package/lib/utils/scroll-lock.js.map +1 -1
- package/lib/utils/styles.d.ts +0 -5
- package/lib/utils/styles.d.ts.map +1 -1
- package/lib/utils/styles.js +0 -7
- package/lib/utils/styles.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +22 -11
- package/css/tyrell-brand.css +0 -913
- package/dist/tyrell-brand.css +0 -913
- package/lib/components/dropdown.d.ts +0 -424
- package/lib/components/dropdown.d.ts.map +0 -1
- package/lib/components/dropdown.js +0 -1640
- package/lib/components/dropdown.js.map +0 -1
- package/lib/components/multiselect.d.ts +0 -397
- package/lib/components/multiselect.d.ts.map +0 -1
- package/lib/components/multiselect.js +0 -1595
- package/lib/components/multiselect.js.map +0 -1
- package/lib/styles/dropdown.d.ts +0 -12
- package/lib/styles/dropdown.d.ts.map +0 -1
- package/lib/styles/dropdown.js +0 -1081
- package/lib/styles/dropdown.js.map +0 -1
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
* Calendar Month Styles
|
|
3
3
|
* Improved design with better visual hierarchy and size variants
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
6
|
+
export declare const calendarMonthCustomFlavorCss: (base: string) => string;
|
|
7
|
+
export declare const calendarMonthStyles: string;
|
|
6
8
|
//# sourceMappingURL=calendar-month.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-month.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"calendar-month.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,GAAI,MAAM,MAAM,WAAyC,CAAC;AAEnG,eAAO,MAAM,mBAAmB,QAyQ/B,CAAC"}
|
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
* Calendar Month Styles
|
|
3
3
|
* Improved design with better visual hierarchy and size variants
|
|
4
4
|
*/
|
|
5
|
+
import { FLAVORS } from "../types/common.js";
|
|
6
|
+
/* Flavor rules set --calendar-month-* local vars, wired in as the fallback
|
|
7
|
+
BEHIND every existing --ty-calendar-* public override (so those keep
|
|
8
|
+
working exactly as before) and AHEAD of the hardcoded primary default.
|
|
9
|
+
Doubles as the per-instance override API for a specific flavor: e.g.
|
|
10
|
+
`ty-calendar-month { --calendar-month-accent: ... }`. Fallback flavor
|
|
11
|
+
`fb` is used for custom flavors so missing tokens degrade to neutral. */
|
|
12
|
+
const calendarMonthFlavor = (f, fb) => {
|
|
13
|
+
const color = (s) => fb
|
|
14
|
+
? `var(--ty-color-${f}${s}, var(--ty-color-${fb}${s}))`
|
|
15
|
+
: `var(--ty-color-${f}${s})`;
|
|
16
|
+
const bg = (s) => fb
|
|
17
|
+
? `var(--ty-bg-${f}${s}, var(--ty-bg-${fb}${s}))`
|
|
18
|
+
: `var(--ty-bg-${f}${s})`;
|
|
19
|
+
return `
|
|
20
|
+
:host([flavor="${f}"]) {
|
|
21
|
+
--calendar-month-accent: ${color("")};
|
|
22
|
+
--calendar-month-selected-bg: ${bg("")};
|
|
23
|
+
--calendar-month-selected-color: ${color("-strong")};
|
|
24
|
+
--calendar-month-selected-hover-bg: ${bg("-bold")};
|
|
25
|
+
}
|
|
26
|
+
:host([flavor="${f}+"]) {
|
|
27
|
+
--calendar-month-accent: ${color("-strong")};
|
|
28
|
+
--calendar-month-selected-bg: ${bg("-bold")};
|
|
29
|
+
--calendar-month-selected-color: ${color("-strong")};
|
|
30
|
+
--calendar-month-selected-hover-bg: ${bg("-bold")};
|
|
31
|
+
}
|
|
32
|
+
:host([flavor="${f}-"]) {
|
|
33
|
+
--calendar-month-accent: ${color("-soft")};
|
|
34
|
+
--calendar-month-selected-bg: ${bg("-soft")};
|
|
35
|
+
--calendar-month-selected-color: ${color("")};
|
|
36
|
+
--calendar-month-selected-hover-bg: ${bg("")};
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
};
|
|
40
|
+
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
41
|
+
export const calendarMonthCustomFlavorCss = (base) => calendarMonthFlavor(base, "neutral");
|
|
5
42
|
export const calendarMonthStyles = `
|
|
6
43
|
/* ============================================================================
|
|
7
44
|
Theming Tokens
|
|
@@ -9,43 +46,11 @@ export const calendarMonthStyles = `
|
|
|
9
46
|
Defaults chain back to the global --ty-color-* / --ty-bg-* / --ty-border tokens.
|
|
10
47
|
============================================================================ */
|
|
11
48
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
/* Header (weekday names) */
|
|
19
|
-
--ty-calendar-header-color: var(--ty-color-neutral-strong);
|
|
20
|
-
|
|
21
|
-
/* Day cell — base */
|
|
22
|
-
--ty-calendar-day-color: var(--ty-calendar-muted);
|
|
23
|
-
--ty-calendar-day-bg: transparent;
|
|
24
|
-
--ty-calendar-day-border: var(--ty-border);
|
|
25
|
-
--ty-calendar-day-radius: 0.375rem;
|
|
26
|
-
|
|
27
|
-
/* Day cell — hover */
|
|
28
|
-
--ty-calendar-day-hover-color: var(--ty-color-neutral-strong);
|
|
29
|
-
--ty-calendar-day-hover-bg: var(--ty-bg-neutral-soft);
|
|
30
|
-
--ty-calendar-day-hover-border: var(--ty-border-bold);
|
|
31
|
-
|
|
32
|
-
/* Today */
|
|
33
|
-
--ty-calendar-today-color: var(--ty-color-secondary-strong);
|
|
34
|
-
--ty-calendar-today-bg: var(--ty-bg-secondary-soft);
|
|
35
|
-
--ty-calendar-today-border: var(--ty-calendar-today-accent);
|
|
36
|
-
|
|
37
|
-
/* Selected */
|
|
38
|
-
--ty-calendar-selected-color: var(--ty-color-primary-strong);
|
|
39
|
-
--ty-calendar-selected-bg: var(--ty-bg-primary);
|
|
40
|
-
--ty-calendar-selected-border: var(--ty-calendar-accent);
|
|
41
|
-
--ty-calendar-selected-hover-bg: var(--ty-bg-primary-bold);
|
|
42
|
-
--ty-calendar-selected-hover-border: var(--ty-color-primary-bold);
|
|
43
|
-
|
|
44
|
-
/* Modifier states */
|
|
45
|
-
--ty-calendar-weekend-color: var(--ty-color-danger-soft);
|
|
46
|
-
--ty-calendar-other-month-color: var(--ty-color-neutral-faint);
|
|
47
|
-
--ty-calendar-other-month-opacity: 0.5;
|
|
48
|
-
}
|
|
49
|
+
/* Theming tokens are applied as var(--ty-calendar-*, <default>) at point
|
|
50
|
+
of use (not declared on :host) so consumers can override any of them
|
|
51
|
+
from outside the shadow root. The 3 accent aliases — --ty-calendar-accent,
|
|
52
|
+
--ty-calendar-today-accent, --ty-calendar-muted — still cascade into the
|
|
53
|
+
derived defaults, so overriding one retints the related cells. */
|
|
49
54
|
|
|
50
55
|
/* ============================================================================
|
|
51
56
|
Base Calendar Container
|
|
@@ -57,7 +62,7 @@ export const calendarMonthStyles = `
|
|
|
57
62
|
box-sizing: border-box;
|
|
58
63
|
gap: 0;
|
|
59
64
|
padding: 0.75rem;
|
|
60
|
-
border-radius:
|
|
65
|
+
border-radius: var(--ty-radius-md);
|
|
61
66
|
font-family: system-ui, sans-serif;
|
|
62
67
|
user-select: none;
|
|
63
68
|
width: var(--calendar-width, fit-content);
|
|
@@ -77,7 +82,7 @@ export const calendarMonthStyles = `
|
|
|
77
82
|
|
|
78
83
|
.calendar-header-row {
|
|
79
84
|
flex: 0 0 auto;
|
|
80
|
-
color: var(--ty-calendar-header-color);
|
|
85
|
+
color: var(--ty-calendar-header-color, var(--ty-color-neutral-soft));
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
.calendar-day-row {
|
|
@@ -106,7 +111,7 @@ export const calendarMonthStyles = `
|
|
|
106
111
|
|
|
107
112
|
.calendar-header-cell {
|
|
108
113
|
text-align: center;
|
|
109
|
-
font-weight:
|
|
114
|
+
font-weight: 500;
|
|
110
115
|
text-transform: uppercase;
|
|
111
116
|
padding: 0.25rem;
|
|
112
117
|
letter-spacing: 0.05em;
|
|
@@ -129,65 +134,88 @@ export const calendarMonthStyles = `
|
|
|
129
134
|
/* Spacing */
|
|
130
135
|
margin: 0.125rem;
|
|
131
136
|
|
|
132
|
-
/* Visual */
|
|
133
|
-
border-radius: var(--ty-calendar-day-radius);
|
|
134
|
-
border: 1px solid var(--ty-calendar-day-border);
|
|
135
|
-
background-color: var(--ty-calendar-day-bg);
|
|
136
|
-
color: var(--ty-calendar-day-color);
|
|
137
|
+
/* Visual: ghost cells — no boxes; the border is a theming hook only */
|
|
138
|
+
border-radius: var(--ty-calendar-day-radius, 0.5rem);
|
|
139
|
+
border: 1px solid var(--ty-calendar-day-border, transparent);
|
|
140
|
+
background-color: var(--ty-calendar-day-bg, transparent);
|
|
141
|
+
color: var(--ty-calendar-day-color, var(--ty-calendar-muted, var(--ty-text)));
|
|
137
142
|
cursor: pointer;
|
|
138
|
-
transition:
|
|
143
|
+
transition: var(--ty-local-transition, background-color 0.15s ease, color 0.15s ease);
|
|
139
144
|
|
|
140
145
|
/* Typography */
|
|
141
146
|
font-weight: 400;
|
|
147
|
+
font-variant-numeric: tabular-nums;
|
|
142
148
|
}
|
|
143
149
|
|
|
144
|
-
/* Hover
|
|
150
|
+
/* Hover: soft rounded pill, no border flash */
|
|
145
151
|
.calendar-day-cell:hover {
|
|
146
|
-
color: var(--ty-calendar-day-hover-color);
|
|
147
|
-
background-color: var(--ty-calendar-day-hover-bg);
|
|
148
|
-
border-color: var(--ty-calendar-day-hover-border);
|
|
152
|
+
color: var(--ty-calendar-day-hover-color, var(--ty-text-strong));
|
|
153
|
+
background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
|
|
154
|
+
border-color: var(--ty-calendar-day-hover-border, transparent);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Keyboard focus ring (roving tabindex — see calendar-month.ts's render()).
|
|
158
|
+
:focus-visible, not :focus, so mouse/pointerdown activation doesn't flash
|
|
159
|
+
a ring; only Tab-in / arrow-key navigation does. */
|
|
160
|
+
.calendar-day-cell:focus-visible {
|
|
161
|
+
outline: none;
|
|
162
|
+
box-shadow: 0 0 0 2px var(--calendar-month-accent, var(--ty-color-primary));
|
|
149
163
|
}
|
|
150
164
|
|
|
151
165
|
/* ============================================================================
|
|
152
166
|
Day States
|
|
153
167
|
============================================================================ */
|
|
154
168
|
|
|
155
|
-
/* Today
|
|
169
|
+
/* Today: accent number, no slab — never collides with hover, and the
|
|
170
|
+
selected pill wins when today is picked */
|
|
156
171
|
.calendar-day-cell.today {
|
|
157
|
-
background-color: var(--ty-calendar-today-bg);
|
|
158
|
-
color: var(--ty-calendar-today-color);
|
|
159
|
-
border-color: var(--ty-calendar-today-border);
|
|
172
|
+
background-color: var(--ty-calendar-today-bg, transparent);
|
|
173
|
+
color: var(--ty-calendar-today-color, var(--ty-calendar-today-accent, var(--calendar-month-accent, var(--ty-color-primary))));
|
|
174
|
+
border-color: var(--ty-calendar-today-border, transparent);
|
|
160
175
|
font-weight: 600;
|
|
161
176
|
}
|
|
162
177
|
|
|
163
|
-
/* Weekend
|
|
178
|
+
/* Weekend: no distinction by default (hook kept for theming) */
|
|
164
179
|
.calendar-day-cell.weekend {
|
|
165
|
-
color: var(--ty-calendar-weekend-color);
|
|
180
|
+
color: var(--ty-calendar-weekend-color, var(--ty-calendar-day-color, var(--ty-text)));
|
|
166
181
|
}
|
|
167
182
|
|
|
168
|
-
/* Other Month - Muted
|
|
183
|
+
/* Other Month - Muted.
|
|
184
|
+
Was color: var(--ty-color-neutral-faint) at opacity 0.5 — -faint alone is
|
|
185
|
+
only ~2.5:1 against the content surface (already under the 4.5:1 AA text
|
|
186
|
+
minimum), and blending it toward the background via opacity made it
|
|
187
|
+
worse (~1.5:1 in light mode). --ty-calendar-other-month-color is its own
|
|
188
|
+
token (tyrell.css :root / html.dark) calibrated to actually pass, with
|
|
189
|
+
opacity dropped rather than layered on top. */
|
|
169
190
|
.calendar-day-cell.other-month {
|
|
170
|
-
color: var(--ty-calendar-other-month-color);
|
|
171
|
-
opacity: var(--ty-calendar-other-month-opacity);
|
|
191
|
+
color: var(--ty-calendar-other-month-color, #6b7280);
|
|
172
192
|
}
|
|
173
193
|
|
|
174
194
|
.calendar-day-cell.other-month:hover {
|
|
175
|
-
color: var(--ty-calendar-day-hover-color);
|
|
176
|
-
background-color: var(--ty-calendar-day-hover-bg);
|
|
195
|
+
color: var(--ty-calendar-day-hover-color, var(--ty-color-neutral-strong));
|
|
196
|
+
background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
|
|
177
197
|
opacity: 0.7;
|
|
178
198
|
}
|
|
179
199
|
|
|
180
|
-
/*
|
|
200
|
+
/* Disabled - outside min/max bounds */
|
|
201
|
+
.calendar-day-cell.disabled {
|
|
202
|
+
color: var(--ty-calendar-disabled-color, var(--ty-color-neutral-faint));
|
|
203
|
+
opacity: var(--ty-calendar-disabled-opacity, 0.35);
|
|
204
|
+
cursor: default;
|
|
205
|
+
pointer-events: none;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Selected: the one strong element in the grid */
|
|
181
209
|
.calendar-day-cell.selected {
|
|
182
|
-
background-color: var(--ty-calendar-selected-bg);
|
|
183
|
-
color: var(--ty-calendar-selected-color);
|
|
184
|
-
border-color: var(--ty-calendar-selected-border);
|
|
210
|
+
background-color: var(--ty-calendar-selected-bg, var(--calendar-month-selected-bg, var(--ty-bg-primary)));
|
|
211
|
+
color: var(--ty-calendar-selected-color, var(--calendar-month-selected-color, var(--ty-color-primary-strong)));
|
|
212
|
+
border-color: var(--ty-calendar-selected-border, var(--ty-calendar-accent, var(--calendar-month-accent, transparent)));
|
|
185
213
|
font-weight: 600;
|
|
186
214
|
}
|
|
187
215
|
|
|
188
216
|
.calendar-day-cell.selected:hover {
|
|
189
|
-
background-color: var(--ty-calendar-selected-hover-bg);
|
|
190
|
-
border-color: var(--ty-calendar-selected-hover-border);
|
|
217
|
+
background-color: var(--ty-calendar-selected-hover-bg, var(--calendar-month-selected-hover-bg, var(--ty-bg-primary-bold)));
|
|
218
|
+
border-color: var(--ty-calendar-selected-hover-border, transparent);
|
|
191
219
|
}
|
|
192
220
|
|
|
193
221
|
.calendar-day-cell.selected.other-month {
|
|
@@ -271,5 +299,10 @@ export const calendarMonthStyles = `
|
|
|
271
299
|
justify-content: center;
|
|
272
300
|
box-sizing: border-box;
|
|
273
301
|
}
|
|
302
|
+
|
|
303
|
+
/* ============================================================================
|
|
304
|
+
Flavor Variants (set --calendar-month-*, consumed above)
|
|
305
|
+
============================================================================ */
|
|
306
|
+
${FLAVORS.map((f) => calendarMonthFlavor(f)).join("")}
|
|
274
307
|
`;
|
|
275
308
|
//# sourceMappingURL=calendar-month.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-month.js","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"calendar-month.js","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;2EAK2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE;IACrD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAC1B,EAAE;QACA,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,IAAI;QACvD,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CACvB,EAAE;QACA,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI;QACjD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9B,OAAO;iBACQ,CAAC;6BACW,KAAK,CAAC,EAAE,CAAC;kCACJ,EAAE,CAAC,EAAE,CAAC;qCACH,KAAK,CAAC,SAAS,CAAC;wCACb,EAAE,CAAC,OAAO,CAAC;;iBAElC,CAAC;6BACW,KAAK,CAAC,SAAS,CAAC;kCACX,EAAE,CAAC,OAAO,CAAC;qCACR,KAAK,CAAC,SAAS,CAAC;wCACb,EAAE,CAAC,OAAO,CAAC;;iBAElC,CAAC;6BACW,KAAK,CAAC,OAAO,CAAC;kCACT,EAAE,CAAC,OAAO,CAAC;qCACR,KAAK,CAAC,EAAE,CAAC;wCACN,EAAE,CAAC,EAAE,CAAC;;CAE7C,CAAC;AACF,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwQjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;CACpD,CAAC"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Calendar Navigation Styles
|
|
3
3
|
* Clean, modern design with proper visual hierarchy and size variants
|
|
4
4
|
*/
|
|
5
|
-
export declare const calendarNavigationStyles = "\n/* ============================================================================\n Size Variants (CSS Custom Properties)\n ============================================================================ */\n\n
|
|
5
|
+
export declare const calendarNavigationStyles = "\n/* ============================================================================\n Size Variants (CSS Custom Properties)\n ============================================================================ */\n\n/* Theming tokens applied as var(--ty-calendar-nav-*, <default>) at point of\n use (NOT on :host) so consumers can override them from outside \u2014 this\n component is nested inside ty-calendar's shadow, so a :host default would\n block inherited overrides. --ty-calendar-accent still cascades in. */\n\n:host([data-size=\"md\"]) {\n --nav-btn-size: 2rem;\n --nav-btn-icon-size: 1.25rem;\n --nav-font-size: 1rem;\n --nav-padding: 0.5rem 0.75rem;\n --nav-default-width: 280px;\n}\n\n:host([data-size=\"sm\"]) {\n --nav-btn-size: 1.5rem;\n --nav-btn-icon-size: 1rem;\n --nav-font-size: 0.875rem;\n --nav-padding: 0.375rem 0.5rem;\n --nav-default-width: 240px;\n}\n\n:host([data-size=\"lg\"]) {\n --nav-btn-size: 2.5rem;\n --nav-btn-icon-size: 1.5rem;\n --nav-font-size: 1.125rem;\n --nav-padding: 0.625rem 1rem;\n --nav-default-width: 360px;\n}\n\n/* ============================================================================\n Main Navigation Header\n ============================================================================ */\n\n.calendar-navigation-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nav-padding);\n font-family: system-ui, sans-serif;\n user-select: none;\n width: var(--nav-width, var(--nav-default-width));\n box-sizing: border-box;\n}\n\n/* ============================================================================\n Navigation Groups (Left, Center, Right)\n ============================================================================ */\n\n.nav-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.nav-group-left,\n.nav-group-right {\n flex: 0 0 auto;\n}\n\n.nav-group-center {\n flex: 1;\n justify-content: center;\n}\n\n/* ============================================================================\n Navigation Buttons\n ============================================================================ */\n\n.nav-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nav-btn-size);\n height: var(--nav-btn-size);\n padding: 0;\n border: none;\n border-radius: var(--ty-radius-base);\n background-color: transparent;\n color: var(--ty-calendar-nav-color, var(--ty-color-neutral));\n cursor: pointer;\n transition: var(--ty-local-transition, all 0.15s ease);\n outline: none;\n}\n\n.nav-btn:hover {\n background-color: var(--ty-calendar-nav-hover-bg, var(--ty-bg-neutral-soft));\n color: var(--ty-calendar-nav-hover-color, var(--ty-color-neutral-strong));\n}\n\n.nav-btn:active {\n background-color: var(--ty-calendar-nav-active-bg, var(--ty-bg-neutral));\n transform: scale(0.95);\n}\n\n.nav-btn:disabled {\n opacity: 0.35;\n cursor: default;\n pointer-events: none;\n}\n\n.nav-btn:focus-visible {\n outline: 2px solid var(--ty-calendar-nav-focus-outline, var(--ty-calendar-accent, var(--ty-color-primary)));\n outline-offset: 2px;\n}\n\n/* SVG sizing */\n.nav-btn svg {\n width: var(--nav-btn-icon-size);\n height: var(--nav-btn-icon-size);\n display: block;\n}\n\n/* ============================================================================\n Month/Year Display (Center)\n ============================================================================ */\n\n.month-year-display {\n font-size: var(--nav-font-size);\n font-weight: 600;\n color: var(--ty-calendar-nav-title-color, var(--ty-color-neutral-strong));\n text-align: center;\n white-space: nowrap;\n letter-spacing: -0.01em;\n}\n";
|
|
6
6
|
//# sourceMappingURL=calendar-navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-navigation.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"calendar-navigation.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,wBAAwB,kpHAiIpC,CAAC"}
|
|
@@ -7,31 +7,17 @@ export const calendarNavigationStyles = `
|
|
|
7
7
|
Size Variants (CSS Custom Properties)
|
|
8
8
|
============================================================================ */
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/* Theming tokens applied as var(--ty-calendar-nav-*, <default>) at point of
|
|
11
|
+
use (NOT on :host) so consumers can override them from outside — this
|
|
12
|
+
component is nested inside ty-calendar's shadow, so a :host default would
|
|
13
|
+
block inherited overrides. --ty-calendar-accent still cascades in. */
|
|
14
|
+
|
|
15
|
+
:host([data-size="md"]) {
|
|
12
16
|
--nav-btn-size: 2rem;
|
|
13
17
|
--nav-btn-icon-size: 1.25rem;
|
|
14
18
|
--nav-font-size: 1rem;
|
|
15
19
|
--nav-padding: 0.5rem 0.75rem;
|
|
16
20
|
--nav-default-width: 280px;
|
|
17
|
-
|
|
18
|
-
/* ==========================================================================
|
|
19
|
-
Theming Tokens
|
|
20
|
-
Override these to retheme navigation without touching the global palette.
|
|
21
|
-
========================================================================== */
|
|
22
|
-
|
|
23
|
-
/* Accent alias — drives focus outline, mirrors --ty-calendar-accent */
|
|
24
|
-
--ty-calendar-accent: var(--ty-color-primary);
|
|
25
|
-
|
|
26
|
-
/* Nav button (prev/next chevrons) */
|
|
27
|
-
--ty-calendar-nav-color: var(--ty-color-neutral);
|
|
28
|
-
--ty-calendar-nav-hover-color: var(--ty-color-neutral-strong);
|
|
29
|
-
--ty-calendar-nav-hover-bg: var(--ty-bg-neutral-soft);
|
|
30
|
-
--ty-calendar-nav-active-bg: var(--ty-bg-neutral);
|
|
31
|
-
--ty-calendar-nav-focus-outline: var(--ty-calendar-accent);
|
|
32
|
-
|
|
33
|
-
/* Title (month/year display) */
|
|
34
|
-
--ty-calendar-nav-title-color: var(--ty-color-neutral-strong);
|
|
35
21
|
}
|
|
36
22
|
|
|
37
23
|
:host([data-size="sm"]) {
|
|
@@ -97,26 +83,32 @@ export const calendarNavigationStyles = `
|
|
|
97
83
|
height: var(--nav-btn-size);
|
|
98
84
|
padding: 0;
|
|
99
85
|
border: none;
|
|
100
|
-
border-radius:
|
|
86
|
+
border-radius: var(--ty-radius-base);
|
|
101
87
|
background-color: transparent;
|
|
102
|
-
color: var(--ty-calendar-nav-color);
|
|
88
|
+
color: var(--ty-calendar-nav-color, var(--ty-color-neutral));
|
|
103
89
|
cursor: pointer;
|
|
104
|
-
transition: all 0.15s ease;
|
|
90
|
+
transition: var(--ty-local-transition, all 0.15s ease);
|
|
105
91
|
outline: none;
|
|
106
92
|
}
|
|
107
93
|
|
|
108
94
|
.nav-btn:hover {
|
|
109
|
-
background-color: var(--ty-calendar-nav-hover-bg);
|
|
110
|
-
color: var(--ty-calendar-nav-hover-color);
|
|
95
|
+
background-color: var(--ty-calendar-nav-hover-bg, var(--ty-bg-neutral-soft));
|
|
96
|
+
color: var(--ty-calendar-nav-hover-color, var(--ty-color-neutral-strong));
|
|
111
97
|
}
|
|
112
98
|
|
|
113
99
|
.nav-btn:active {
|
|
114
|
-
background-color: var(--ty-calendar-nav-active-bg);
|
|
100
|
+
background-color: var(--ty-calendar-nav-active-bg, var(--ty-bg-neutral));
|
|
115
101
|
transform: scale(0.95);
|
|
116
102
|
}
|
|
117
103
|
|
|
104
|
+
.nav-btn:disabled {
|
|
105
|
+
opacity: 0.35;
|
|
106
|
+
cursor: default;
|
|
107
|
+
pointer-events: none;
|
|
108
|
+
}
|
|
109
|
+
|
|
118
110
|
.nav-btn:focus-visible {
|
|
119
|
-
outline: 2px solid var(--ty-calendar-nav-focus-outline);
|
|
111
|
+
outline: 2px solid var(--ty-calendar-nav-focus-outline, var(--ty-calendar-accent, var(--ty-color-primary)));
|
|
120
112
|
outline-offset: 2px;
|
|
121
113
|
}
|
|
122
114
|
|
|
@@ -134,7 +126,7 @@ export const calendarNavigationStyles = `
|
|
|
134
126
|
.month-year-display {
|
|
135
127
|
font-size: var(--nav-font-size);
|
|
136
128
|
font-weight: 600;
|
|
137
|
-
color: var(--ty-calendar-nav-title-color);
|
|
129
|
+
color: var(--ty-calendar-nav-title-color, var(--ty-color-neutral-strong));
|
|
138
130
|
text-align: center;
|
|
139
131
|
white-space: nowrap;
|
|
140
132
|
letter-spacing: -0.01em;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-navigation.js","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG
|
|
1
|
+
{"version":3,"file":"calendar-navigation.js","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiIvC,CAAC"}
|
package/lib/styles/checkbox.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checkbox Component Styles
|
|
2
|
+
* Checkbox Component Styles — self-contained (no inputStyles import).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* The checkbox is "just the tick": a single checkmark whose color/opacity
|
|
5
|
+
* carries the state. Full flavor color when checked, faint when unchecked,
|
|
6
|
+
* dash at mid-opacity when indeterminate, grayscale when disabled.
|
|
7
7
|
*/
|
|
8
|
-
export declare const checkboxStyles = "\n\n:host {\n display: block;\n font-family: var(--ty-font-sans);\n width: 100%;\n}\n\n:host([size=\"xl\"]) {\n font-size: 20px;\n}\n\n\n:host([size=\"xs\"]) {\n font-size: 12px;\n}\n\n\n:host([size=\"sm\"]) {\n font-size: 14px;\n}\n\n:host([size=\"lg\"]) {\n font-size: 18px;\n}\n\n.input-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n}\n\n/* ===== LABEL STYLING ===== */\n\n.ty-field-label {\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n font-weight: var(--ty-font-medium);\n color: var(--ty-label-color);\n margin-bottom: 6px;\n padding-left: 12px;\n display: flex;\n align-items: center;\n}\n\n/* Required indicator - using SVG icon */\n.required-icon {\n display: inline-flex;\n align-items: center;\n color: var(--ty-color-danger);\n width: 12px;\n height: 12px;\n margin-left: 4px;\n vertical-align: middle;\n}\n\n.required-icon svg {\n width: 100%;\n height: 100%;\n}\n\n/* ===== INPUT WRAPPER WITH SLOTS ===== */\n\n.input-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* No gap by default */\n width: 100%;\n box-sizing: border-box;\n border: 1px solid var(--input-border, var(--ty-input-border));\n border-radius: var(--ty-radius-base);\n background: var(--input-bg, var(--input-bg, var(--ty-input-bg)));\n transition: all 0.15s ease-in-out;\n \n /* Default size (md) */\n min-height: 40px;\n padding: 0 12px;\n}\n\n/* Wrapper states */\n.input-wrapper:hover:not(.disabled) {\n border-color: var(--input-border-hover, var(--ty-input-border-hover));\n}\n\n.input-wrapper.focused {\n border-color: var(--input-border-focus, var(--ty-input-border-focus));\n box-shadow: 0 0 0 3px var(--input-shadow-focus, var(--ty-input-shadow-focus));\n}\n\n.input-wrapper.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n background: var(--input-disabled-bg, var(--ty-input-disabled-bg));\n border-color: var(--input-disabled-border, var(--ty-input-disabled-border));\n}\n\n/* ===== SLOT STYLING ===== */\n\n/* Style slotted content directly (no wrappers needed) */\n::slotted([slot=\"start\"]),\n::slotted([slot=\"end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--ty-color-text-soft);\n}\n\n/* Icon sizing for slotted icons */\n::slotted(ty-icon) {\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n}\n\n/* ===== ERROR MESSAGE STYLING ===== */\n\n.error-message {\n font-size: var(--ty-font-xs);\n line-height: var(--ty-leading-xs);\n letter-spacing: var(--ty-tracking-xs);\n color: var(--ty-color-danger);\n margin-top: 4px;\n padding-left: 12px;\n}\n\n/* Error state for wrapper */\n.input-wrapper.error {\n border-color: var(--ty-color-danger);\n background: var(--ty-bg-danger-soft);\n}\n\n.input-wrapper.error.focused {\n border-color: var(--ty-color-danger-bold);\n box-shadow: 0 0 0 3px var(--input-shadow-focus, var(--ty-input-shadow-focus));\n}\n\n/* ===== INPUT BASE STYLING ===== */\n\ninput {\n /* Reset and base styles \u2014 Linear-paired typography */\n flex: 1;\n min-width: 0;\n box-sizing: border-box;\n border: none;\n outline: none;\n background: transparent;\n color: var(--input-color, var(--ty-input-color));\n font-family: inherit;\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n font-weight: var(--ty-font-normal);\n padding: 0;\n margin: 0;\n}\n\n/* Remove number input spinner arrows */\ninput[type=\"number\"]::-webkit-outer-spin-button,\ninput[type=\"number\"]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n/* Disabled state */\ninput:disabled {\n cursor: not-allowed;\n color: var(--input-disabled-color, var(--ty-input-disabled-color));\n}\n\n/* Placeholder styling */\ninput::placeholder {\n color: var(--input-placeholder, var(--ty-input-placeholder));\n font-weight: 400;\n}\n\n/* ===== SIZE MODIFIERS ===== */\n\n/* Extra Small */\n.input-wrapper.xs {\n min-height: 32px;\n padding: 0 8px;\n border-radius: var(--ty-input-radius-xs, var(--ty-radius-base));\n}\n\n.input-wrapper.xs input {\n font-size: var(--ty-font-xs);\n line-height: var(--ty-leading-xs);\n letter-spacing: var(--ty-tracking-xs);\n}\n\n/* Small */\n.input-wrapper.sm {\n min-height: 36px;\n padding: 0 10px;\n border-radius: var(--ty-input-radius-sm, var(--ty-radius-base));\n}\n\n.input-wrapper.sm input {\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n}\n\n/* Medium (default) */\n.input-wrapper.md {\n min-height: 40px;\n padding: 0 12px;\n border-radius: var(--ty-input-radius-md, var(--ty-radius-base));\n}\n\n.input-wrapper.md input {\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n}\n\n/* Large */\n.input-wrapper.lg {\n min-height: 44px;\n padding: 0 14px;\n border-radius: var(--ty-input-radius-lg, var(--ty-radius-base));\n}\n\n.input-wrapper.lg input {\n font-size: var(--ty-font-base);\n line-height: var(--ty-leading-base);\n letter-spacing: var(--ty-tracking-base);\n}\n\n/* Extra Large */\n.input-wrapper.xl {\n min-height: 48px;\n padding: 0 16px;\n border-radius: var(--ty-input-radius-xl, var(--ty-radius-base));\n}\n\n.input-wrapper.xl input {\n font-size: var(--ty-font-lg);\n line-height: var(--ty-leading-lg);\n letter-spacing: var(--ty-tracking-lg);\n}\n\n/* ===== SEMANTIC FLAVOR MODIFIERS ===== */\n\n/* Primary */\n.input-wrapper.primary {\n border-color: var(--ty-input-primary-border, var(--ty-color-primary));\n}\n\n.input-wrapper.primary:hover:not(.disabled) {\n border-color: var(--ty-color-primary-bold);\n}\n\n.input-wrapper.primary.focused {\n border-color: var(--ty-color-primary-bold);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-primary) 15%, transparent);\n}\n\n/* Secondary */\n.input-wrapper.secondary {\n border-color: var(--ty-input-secondary-border, var(--ty-color-secondary));\n}\n\n.input-wrapper.secondary.focused {\n border-color: var(--ty-color-secondary-bold);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-secondary) 15%, transparent);\n}\n\n/* Success */\n.input-wrapper.success {\n border-color: var(--ty-input-success-border);\n}\n\n.input-wrapper.success:hover:not(.disabled) {\n border-color: var(--ty-color-success-bold);\n}\n\n.input-wrapper.success.focused {\n border-color: var(--ty-color-success-bold);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-success) 15%, transparent);\n}\n\n/* Danger */\n.input-wrapper.danger {\n border-color: var(--ty-input-danger-border);\n}\n\n.input-wrapper.danger:hover:not(.disabled) {\n border-color: var(--ty-color-danger-bold);\n}\n\n.input-wrapper.danger.focused {\n border-color: var(--ty-color-danger-bold);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-danger) 15%, transparent);\n}\n\n/* Warning */\n.input-wrapper.warning {\n border-color: var(--ty-input-warning-border);\n}\n\n.input-wrapper.warning:hover:not(.disabled) {\n border-color: var(--ty-color-warning-bold);\n}\n\n.input-wrapper.warning.focused {\n border-color: var(--ty-color-warning-bold);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-warning) 15%, transparent);\n}\n\n/* Neutral (default) */\n.input-wrapper.neutral.focused {\n border-color: var(--input-border-focus, var(--ty-input-border-focus));\n box-shadow: 0 0 0 3px var(--input-shadow-focus, var(--ty-input-shadow-focus));\n}\n\n/* ===== ACCESSIBILITY ENHANCEMENTS ===== */\n\ninput:focus-visible {\n outline: none;\n}\n\n/* High contrast mode support */\n@media (prefers-contrast: high) {\n .input-wrapper {\n border-width: 2px;\n }\n}\n\n/* Reduced motion support */\n@media (prefers-reduced-motion: reduce) {\n .input-wrapper {\n transition: none;\n }\n}\n\n/* ===== RESPONSIVE BEHAVIOR ===== */\n\n@media (max-width: 640px) {\n .input-wrapper.lg {\n min-height: 40px;\n padding: 0 12px;\n }\n\n .input-wrapper.lg input {\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n }\n\n .input-wrapper.xl {\n min-height: 44px;\n padding: 0 14px;\n }\n\n .input-wrapper.xl input {\n font-size: var(--ty-font-base);\n line-height: var(--ty-leading-base);\n letter-spacing: var(--ty-tracking-base);\n }\n}\n\n@media (max-width: 480px) {\n .input-wrapper.xl {\n min-height: 40px;\n padding: 0 12px;\n }\n\n .input-wrapper.xl input {\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n }\n}\n\n/* ===== CHECKBOX STYLING ===== */\n\n.checkbox-container {\n display: inline-flex;\n align-items: center;\n outline: none;\n transition: all 0.15s ease-in-out;\n user-select: none;\n cursor: pointer;\n\n /* Default size (md) - matching input sizes */\n border-radius: 6px;\n gap: var(--ty-spacing-1);\n color: var(--ty-text-faint);\n}\n\n.checkbox-container[aria-checked=\"true\"] {\n color: var(--ty-text);\n}\n\n/* Ensure slotted label content inherits the color from container */\n.checkbox-container ::slotted(*) {\n color: inherit;\n transition: color 0.15s ease-in-out;\n}\n\n.checkbox-container label {\n cursor: pointer;\n}\n\n.checkbox-container label {\n font-size: var(--ty-font-sm);\n}\n\n.checkbox-container.sm label {\n font-size: var(--ty-font-xs);\n}\n\n.checkbox-container.lg label {\n font-size: var(--ty-font-base);\n}\n\n.checkbox-container.xl label {\n font-size: var(--ty-font-lg);\n}\n\n/* Checkbox input container - different layout for checkboxes */\n.input-container.checkbox-layout {\n flex-direction: row;\n align-items: center;\n gap: 12px;\n width: auto;\n /* Don't force full width for checkboxes */\n}\n\n.input-container.checkbox-layout .ty-field-label {\n margin-bottom: 0;\n padding-left: 0;\n order: 2;\n cursor: pointer;\n flex: 1;\n}\n\n.input-container.checkbox-layout .checkbox-container {\n order: 1;\n flex-shrink: 0;\n}\n\n/* Error message positioning for checkboxes */\n.input-container.checkbox-layout .error-message {\n padding-left: 0;\n margin-left: 52px;\n /* Align with label text */\n}\n\n.checkbox-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: inherit;\n transition: color 0.15s ease-in-out;\n pointer-events: none;\n /* Let the container handle the click */\n}\n\n.checkbox-container svg {\n width: 24px;\n height: 24px;\n}\n\n/* ===== CHECKBOX SIZE MODIFIERS ===== */\n\n.checkbox-container.xs svg {\n width: 16px;\n height: 16px;\n}\n\n/* Adjust error message margin for XS */\n.input-container.checkbox-layout .checkbox-container.xs~.error-message {\n margin-left: 44px;\n}\n\n\n.checkbox-container.sm svg {\n width: 20px;\n height: 20px;\n}\n\n/* Adjust error message margin for SM */\n.input-container.checkbox-layout .checkbox-container.sm~.error-message {\n margin-left: 48px;\n}\n\n\n.checkbox-container.md svg {\n width: 24px;\n height: 24px;\n}\n\n\n.checkbox-container.lg svg {\n width: 28px;\n height: 28px;\n}\n\n.checkbox-container.xl svg {\n width: 32px;\n height: 32px;\n}\n\n\n.checkbox-container.xl svg {\n font-size: 20px;\n}\n\n/* Adjust error message margin for LG */\n.input-container.checkbox-layout .checkbox-container.lg~.error-message {\n margin-left: 56px;\n}\n\n\n/* Adjust error message margin for XL */\n.input-container.checkbox-layout .checkbox-container.xl~.error-message {\n margin-left: 60px;\n /* 48px + 12px gap */\n}\n\n/* ===== CHECKBOX SEMANTIC FLAVORS ===== */\n\n.checkbox-container.primary {\n color: var(--ty-color-primary-soft);\n}\n\n\n.checkbox-container.primary[aria-checked=\"true\"] {\n color: var(--ty-color-primary);\n}\n\n.checkbox-container.secondary {\n color: var(--ty-color-secondary-soft);\n}\n\n\n.checkbox-container.secondary[aria-checked=\"true\"] {\n color: var(--ty-color-secondary);\n}\n\n.checkbox-container.success {\n color: var(--ty-color-success-soft);\n}\n\n\n.checkbox-container.success[aria-checked=\"true\"] {\n color: var(--ty-color-success);\n}\n\n.checkbox-container.danger {\n color: var(--ty-color-danger-soft);\n}\n\n.checkbox-container.danger[aria-checked=\"true\"] {\n color: var(--ty-color-danger);\n}\n\n.checkbox-container.warning {\n color: var(--ty-color-warning-soft);\n}\n\n.checkbox-container.warning[aria-checked=\"true\"] {\n color: var(--ty-color-warning);\n}\n\n\n/* Neutral */\n.checkbox-container.neutral {\n color: var(--ty-color-neutral-soft);\n}\n\n.checkbox-container.neutral[aria-checked=\"true\"] {\n color: var(--ty-color-neutral);\n}\n\n/* Disabled state */\n.checkbox-container.disabled {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.checkbox-container.disabled .checkbox-icon {\n color: var(--ty-color-neutral-faint);\n}\n\n/* Error state */\n.checkbox-container.error .checkbox-icon {\n color: var(--ty-color-danger);\n}\n\n.checkbox-container.error:focus {\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-danger) 15%, transparent);\n}\n\n/* Required state */\n.checkbox-container.required .checkbox-icon {\n /* Could add specific styling for required checkboxes */\n}\n\n/* ===== RESPONSIVE CHECKBOX BEHAVIOR ===== */\n\n@container (max-width: 480px) {\n .checkbox-container.lg {\n width: 40px;\n height: 40px;\n }\n\n .checkbox-container.lg svg {\n width: 20px;\n height: 20px;\n }\n\n .checkbox-container.xl {\n width: 44px;\n height: 44px;\n }\n\n .checkbox-container.xl svg {\n width: 22px;\n height: 22px;\n }\n}\n\n@container (max-width: 320px) {\n .checkbox-container.xl {\n width: 40px;\n height: 40px;\n }\n\n .checkbox-container.xl svg {\n width: 20px;\n height: 20px;\n }\n}\n\n/* Fallback for browsers without container query support */\n@media (max-width: 640px) {\n .checkbox-container.lg {\n width: 40px;\n height: 40px;\n }\n\n .checkbox-container.lg svg {\n width: 20px;\n height: 20px;\n }\n\n .checkbox-container.xl {\n width: 44px;\n height: 44px;\n }\n\n .checkbox-container.xl svg {\n width: 22px;\n height: 22px;\n }\n}\n\n@media (max-width: 480px) {\n .checkbox-container.xl {\n width: 40px;\n height: 40px;\n }\n\n .checkbox-container.xl svg {\n width: 20px;\n height: 20px;\n }\n}\n\n\n/* Override input's :host to be inline (sized to its visual) */\n:host {\n display: inline-flex;\n width: auto;\n vertical-align: middle;\n}\n";
|
|
8
|
+
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
9
|
+
export declare const checkboxCustomFlavorCss: (base: string) => string;
|
|
10
|
+
export declare const checkboxStyles: string;
|
|
9
11
|
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/styles/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/styles/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,WAAoC,CAAC;AAEzF,eAAO,MAAM,cAAc,QA0G1B,CAAC"}
|
package/lib/styles/checkbox.js
CHANGED
|
@@ -1,19 +1,136 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checkbox Component Styles
|
|
2
|
+
* Checkbox Component Styles — self-contained (no inputStyles import).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* The checkbox is "just the tick": a single checkmark whose color/opacity
|
|
5
|
+
* carries the state. Full flavor color when checked, faint when unchecked,
|
|
6
|
+
* dash at mid-opacity when indeterminate, grayscale when disabled.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { FLAVORS } from "../types/common.js";
|
|
9
|
+
/* Flavor rules only set --checkbox-color (checked) / --checkbox-color-off
|
|
10
|
+
(unchecked) / --checkbox-ring (focus ring); the base rules below consume
|
|
11
|
+
them. Doubles as the per-instance override API: `ty-checkbox {
|
|
12
|
+
--checkbox-color: … }`. --checkbox-ring pre-resolves the color-mix() here
|
|
13
|
+
(rather than inlining a nested var(...,fallback) as a color-mix argument
|
|
14
|
+
directly in the box-shadow rule) — that nested form fails at
|
|
15
|
+
computed-value time in some engines. Fallback flavor `fb` is used for
|
|
16
|
+
custom flavors so missing tokens degrade to neutral. */
|
|
17
|
+
const checkboxFlavor = (f, fb) => {
|
|
18
|
+
const tok = (s) => fb
|
|
19
|
+
? `var(--ty-color-${f}${s}, var(--ty-color-${fb}${s}))`
|
|
20
|
+
: `var(--ty-color-${f}${s})`;
|
|
21
|
+
return `
|
|
22
|
+
:host([flavor="${f}"]) { --checkbox-color: ${tok("")}; --checkbox-color-off: ${tok("-soft")}; --checkbox-ring: color-mix(in oklab, ${tok("")} 25%, transparent); }
|
|
23
|
+
:host([flavor="${f}+"]) { --checkbox-color: ${tok("-strong")}; --checkbox-color-off: ${tok("-soft")}; --checkbox-ring: color-mix(in oklab, ${tok("-strong")} 25%, transparent); }
|
|
24
|
+
:host([flavor="${f}-"]) { --checkbox-color: ${tok("-soft")}; --checkbox-color-off: ${tok("-faint")}; --checkbox-ring: color-mix(in oklab, ${tok("-soft")} 25%, transparent); }
|
|
25
|
+
`;
|
|
26
|
+
};
|
|
27
|
+
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
28
|
+
export const checkboxCustomFlavorCss = (base) => checkboxFlavor(base, "neutral");
|
|
9
29
|
export const checkboxStyles = `
|
|
10
|
-
${inputStyles}
|
|
11
|
-
|
|
12
|
-
/* Override input's :host to be inline (sized to its visual) */
|
|
13
30
|
:host {
|
|
14
31
|
display: inline-flex;
|
|
15
32
|
width: auto;
|
|
16
33
|
vertical-align: middle;
|
|
17
34
|
}
|
|
35
|
+
|
|
36
|
+
.checkbox-container {
|
|
37
|
+
display: inline-flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
outline: none;
|
|
40
|
+
transition: var(--ty-local-transition, all 0.15s ease-in-out);
|
|
41
|
+
user-select: none;
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
border-radius: 6px;
|
|
44
|
+
gap: var(--ty-spacing-1);
|
|
45
|
+
/* Default (no flavor attribute) is neutral — defaults don't reflect to the
|
|
46
|
+
host attribute, so the fallbacks here carry the default look. */
|
|
47
|
+
color: var(--checkbox-color-off, var(--ty-color-neutral-soft));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.checkbox-container[aria-checked="true"] {
|
|
51
|
+
color: var(--checkbox-color, var(--ty-color-neutral));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Visible focus ring (keyboard) — .focused is toggled by the component.
|
|
55
|
+
Matches the checked-state color so a danger checkbox gets a red ring,
|
|
56
|
+
not a fixed primary one. */
|
|
57
|
+
.checkbox-container.focused,
|
|
58
|
+
.checkbox-container:focus-visible {
|
|
59
|
+
box-shadow: 0 0 0 3px var(--checkbox-ring, color-mix(in oklab, var(--ty-color-primary) 25%, transparent));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.checkbox-icon {
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
color: inherit;
|
|
67
|
+
transition: var(--ty-local-transition, color 0.15s ease-in-out);
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
/* Let the container handle the click */
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ===== SIZES ===== */
|
|
73
|
+
|
|
74
|
+
.checkbox-container svg {
|
|
75
|
+
width: 16px;
|
|
76
|
+
height: 16px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.checkbox-container.xs svg {
|
|
80
|
+
width: 12px;
|
|
81
|
+
height: 12px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.checkbox-container.sm svg {
|
|
85
|
+
width: 14px;
|
|
86
|
+
height: 14px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.checkbox-container.lg svg {
|
|
90
|
+
width: 20px;
|
|
91
|
+
height: 20px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.checkbox-container.xl svg {
|
|
95
|
+
width: 24px;
|
|
96
|
+
height: 24px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* ===== SEMANTIC FLAVORS (set --checkbox-color[-off], consumed above) ===== */
|
|
100
|
+
${FLAVORS.map((f) => checkboxFlavor(f)).join("")}
|
|
101
|
+
|
|
102
|
+
/* ===== STATES ===== */
|
|
103
|
+
|
|
104
|
+
/* Clean tick: no box outline, just the checkmark. Inactive = faint tick. */
|
|
105
|
+
.checkbox-container:not([aria-checked="true"]) {
|
|
106
|
+
opacity: 0.35;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Indeterminate (dash) sits between unchecked and checked */
|
|
110
|
+
.checkbox-container[aria-checked="mixed"] {
|
|
111
|
+
opacity: 0.7;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Disabled must stay distinguishable from merely-unchecked: grayscale kills
|
|
115
|
+
the flavor color, and disabled-unchecked drops below the unchecked 0.35. */
|
|
116
|
+
.checkbox-container.disabled {
|
|
117
|
+
pointer-events: none;
|
|
118
|
+
cursor: not-allowed;
|
|
119
|
+
opacity: 0.5;
|
|
120
|
+
filter: grayscale(1);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.checkbox-container.disabled:not([aria-checked="true"]) {
|
|
124
|
+
opacity: 0.2;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* Error state */
|
|
128
|
+
.checkbox-container.error .checkbox-icon {
|
|
129
|
+
color: var(--ty-color-danger);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.checkbox-container.error:focus {
|
|
133
|
+
box-shadow: 0 0 0 3px color-mix(in oklab, var(--ty-color-danger) 15%, transparent);
|
|
134
|
+
}
|
|
18
135
|
`;
|
|
19
136
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/styles/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/styles/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;;;0DAO0D;AAC1D,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAW,EAAE,EAAE;IAChD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CACxB,EAAE;QACA,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,IAAI;QACvD,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,OAAO;iBACQ,CAAC,4BAA4B,GAAG,CAAC,EAAE,CAAC,2BAA2B,GAAG,CAAC,OAAO,CAAC,0CAA0C,GAAG,CAAC,EAAE,CAAC;iBAC5H,CAAC,4BAA4B,GAAG,CAAC,SAAS,CAAC,2BAA2B,GAAG,CAAC,OAAO,CAAC,0CAA0C,GAAG,CAAC,SAAS,CAAC;iBAC1I,CAAC,4BAA4B,GAAG,CAAC,OAAO,CAAC,2BAA2B,GAAG,CAAC,QAAQ,CAAC,0CAA0C,GAAG,CAAC,OAAO,CAAC;CACvJ,CAAC;AACF,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuE5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC/C,CAAC"}
|
package/lib/styles/copy.d.ts
CHANGED
|
@@ -3,5 +3,7 @@
|
|
|
3
3
|
* Read-only field with copy-to-clipboard functionality
|
|
4
4
|
* Extends input styles with copy-specific styling
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
7
|
+
export declare const copyCustomFlavorCss: (base: string) => string;
|
|
8
|
+
export declare const copyStyles: string;
|
|
7
9
|
//# sourceMappingURL=copy.d.ts.map
|
package/lib/styles/copy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/styles/copy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/styles/copy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,WAAgC,CAAC;AAEjF,eAAO,MAAM,UAAU,QA0HtB,CAAA"}
|