@devalok/shilp-sutra 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +239 -0
- package/dist/composed/content-card.d.ts +2 -2
- package/dist/composed/error-boundary.js +1 -1
- package/dist/shell/notification-preferences.js +14 -14
- package/dist/tailwind/index.cjs +344 -0
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +15 -10
- package/dist/tokens/index.css +1 -0
- package/dist/tokens/semantic.css +3 -3
- package/dist/tokens/typography.css +7 -7
- package/dist/ui/alert.d.ts +7 -7
- package/dist/ui/alert.js +10 -10
- package/dist/ui/autocomplete.d.ts +3 -3
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +1 -1
- package/dist/ui/badge.d.ts +10 -7
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/badge.js +82 -30
- package/dist/ui/banner.d.ts +5 -5
- package/dist/ui/banner.js +17 -17
- package/dist/ui/button-group.d.ts +8 -5
- package/dist/ui/button-group.d.ts.map +1 -1
- package/dist/ui/button-group.js +17 -17
- package/dist/ui/button.d.ts +10 -8
- package/dist/ui/button.d.ts.map +1 -1
- package/dist/ui/button.js +65 -47
- package/dist/ui/chip.d.ts +5 -5
- package/dist/ui/chip.js +10 -10
- package/dist/ui/combobox.d.ts +6 -7
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +32 -31
- package/dist/ui/dialog.d.ts +5 -11
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +53 -53
- package/dist/ui/file-upload.js +34 -34
- package/dist/ui/form.d.ts +31 -28
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +34 -32
- package/dist/ui/icon-button.d.ts +4 -4
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +69 -69
- package/dist/ui/number-input.d.ts +8 -10
- package/dist/ui/number-input.d.ts.map +1 -1
- package/dist/ui/number-input.js +48 -47
- package/dist/ui/progress.d.ts +1 -1
- package/dist/ui/search-input.js +8 -8
- package/dist/ui/sheet.d.ts +6 -12
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +49 -49
- package/dist/ui/sidebar.d.ts +1 -1
- package/dist/ui/slider.d.ts +1 -0
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/spinner.js +7 -7
- package/dist/ui/switch.d.ts +4 -1
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +13 -12
- package/dist/ui/toast.d.ts +3 -3
- package/dist/ui/toast.js +22 -22
- package/dist/ui/toaster.d.ts +3 -3
- package/dist/ui/toggle-group.d.ts +2 -2
- package/dist/ui/toggle.d.ts +2 -2
- package/fonts/Inter-Italic-Variable.woff2 +0 -0
- package/fonts/Inter-Variable.woff2 +0 -0
- package/fonts/Ranade-Variable.woff2 +0 -0
- package/fonts/Ranade-VariableItalic.woff2 +0 -0
- package/package.json +63 -11
- package/fonts/GoogleSans-Italic-Variable.ttf +0 -0
- package/fonts/GoogleSans-Variable.ttf +0 -0
- package/fonts/Ranade-Variable.ttf +0 -0
- package/fonts/Ranade-VariableItalic.ttf +0 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
const r = {
|
|
2
|
+
/**
|
|
3
|
+
* Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
|
|
4
|
+
* set it explicitly in your own tailwind.config — your config takes precedence.
|
|
5
|
+
*/
|
|
6
|
+
darkMode: "class",
|
|
7
|
+
theme: {
|
|
8
|
+
extend: {
|
|
9
|
+
// Breakpoints must be static values — CSS custom properties cannot be used
|
|
10
|
+
// in @media queries (compiled at build time). These mirror the tokens in
|
|
11
|
+
// semantic.css (--breakpoint-sm … --breakpoint-2xl).
|
|
12
|
+
// Placed inside `extend` so deployer breakpoints are merged, not replaced.
|
|
13
|
+
screens: {
|
|
14
|
+
sm: "640px",
|
|
15
|
+
md: "768px",
|
|
16
|
+
lg: "1024px",
|
|
17
|
+
xl: "1280px",
|
|
18
|
+
"2xl": "1536px"
|
|
19
|
+
},
|
|
20
|
+
fontFamily: {
|
|
21
|
+
sans: ["var(--font-sans)", "system-ui", "sans-serif"],
|
|
22
|
+
display: ["var(--font-display)", "system-ui", "sans-serif"],
|
|
23
|
+
body: ["var(--font-body)", "sans-serif"],
|
|
24
|
+
accent: ["var(--font-accent)", "sans-serif"],
|
|
25
|
+
mono: ["var(--font-mono)", "monospace"]
|
|
26
|
+
},
|
|
27
|
+
fontWeight: {
|
|
28
|
+
light: "var(--font-weight-light)",
|
|
29
|
+
regular: "var(--font-weight-regular)",
|
|
30
|
+
medium: "var(--font-weight-medium)",
|
|
31
|
+
semibold: "var(--font-weight-semibold)",
|
|
32
|
+
bold: "var(--font-weight-bold)"
|
|
33
|
+
},
|
|
34
|
+
letterSpacing: {
|
|
35
|
+
"ds-tighter": "var(--tracking-tighter)",
|
|
36
|
+
"ds-tight": "var(--tracking-tight)",
|
|
37
|
+
"ds-normal": "var(--tracking-normal)",
|
|
38
|
+
"ds-wide": "var(--tracking-wide)",
|
|
39
|
+
"ds-wider": "var(--tracking-wider)",
|
|
40
|
+
"ds-widest": "var(--tracking-widest)"
|
|
41
|
+
},
|
|
42
|
+
lineHeight: {
|
|
43
|
+
"ds-none": "var(--line-height-none)",
|
|
44
|
+
"ds-tight": "var(--line-height-tight)",
|
|
45
|
+
"ds-snug": "var(--line-height-snug)",
|
|
46
|
+
"ds-normal": "var(--line-height-normal)",
|
|
47
|
+
"ds-relaxed": "var(--line-height-relaxed)",
|
|
48
|
+
"ds-loose": "var(--line-height-loose)"
|
|
49
|
+
},
|
|
50
|
+
fontSize: {
|
|
51
|
+
"ds-xs": ["var(--font-size-xs)", { lineHeight: "var(--line-height-relaxed)" }],
|
|
52
|
+
"ds-sm": ["var(--font-size-sm)", { lineHeight: "var(--line-height-relaxed)" }],
|
|
53
|
+
"ds-md": ["var(--font-size-md)", { lineHeight: "var(--line-height-relaxed)" }],
|
|
54
|
+
"ds-base": ["var(--font-size-base)", { lineHeight: "var(--line-height-relaxed)" }],
|
|
55
|
+
"ds-lg": ["var(--font-size-lg)", { lineHeight: "var(--line-height-normal)" }],
|
|
56
|
+
"ds-xl": ["var(--font-size-xl)", { lineHeight: "var(--line-height-snug)" }],
|
|
57
|
+
"ds-2xl": ["var(--font-size-2xl)", { lineHeight: "var(--line-height-snug)" }],
|
|
58
|
+
"ds-3xl": ["var(--font-size-3xl)", { lineHeight: "var(--line-height-tight)" }],
|
|
59
|
+
"ds-4xl": ["var(--font-size-4xl)", { lineHeight: "var(--line-height-tight)" }],
|
|
60
|
+
"ds-5xl": ["var(--font-size-5xl)", { lineHeight: "var(--line-height-tight)" }],
|
|
61
|
+
"ds-6xl": ["var(--font-size-6xl)", { lineHeight: "var(--line-height-tight)" }]
|
|
62
|
+
},
|
|
63
|
+
borderWidth: {
|
|
64
|
+
"ds-sm": "var(--border-width-sm)",
|
|
65
|
+
"ds-md": "var(--border-width-md)",
|
|
66
|
+
"ds-lg": "var(--border-width-lg)",
|
|
67
|
+
focus: "var(--border-focus-width)"
|
|
68
|
+
},
|
|
69
|
+
borderRadius: {
|
|
70
|
+
"ds-none": "0",
|
|
71
|
+
"ds-sm": "var(--radius-sm)",
|
|
72
|
+
"ds-default": "var(--radius-default)",
|
|
73
|
+
"ds-md": "var(--radius-md)",
|
|
74
|
+
"ds-lg": "var(--radius-lg)",
|
|
75
|
+
"ds-xl": "var(--radius-xl)",
|
|
76
|
+
"ds-2xl": "var(--radius-2xl)",
|
|
77
|
+
"ds-full": "var(--radius-full)"
|
|
78
|
+
},
|
|
79
|
+
spacing: {
|
|
80
|
+
"ds-01": "var(--spacing-01)",
|
|
81
|
+
"ds-02": "var(--spacing-02)",
|
|
82
|
+
"ds-02b": "var(--spacing-02b)",
|
|
83
|
+
"ds-03": "var(--spacing-03)",
|
|
84
|
+
"ds-04": "var(--spacing-04)",
|
|
85
|
+
"ds-05": "var(--spacing-05)",
|
|
86
|
+
"ds-05b": "var(--spacing-05b)",
|
|
87
|
+
"ds-06": "var(--spacing-06)",
|
|
88
|
+
"ds-07": "var(--spacing-07)",
|
|
89
|
+
"ds-08": "var(--spacing-08)",
|
|
90
|
+
"ds-09": "var(--spacing-09)",
|
|
91
|
+
"ds-10": "var(--spacing-10)",
|
|
92
|
+
"ds-11": "var(--spacing-11)",
|
|
93
|
+
"ds-12": "var(--spacing-12)",
|
|
94
|
+
"ds-13": "var(--spacing-13)"
|
|
95
|
+
},
|
|
96
|
+
width: {
|
|
97
|
+
"ds-xs": "var(--size-xs)",
|
|
98
|
+
"ds-xs-plus": "var(--size-xs-plus)",
|
|
99
|
+
"ds-sm": "var(--size-sm)",
|
|
100
|
+
"ds-sm-plus": "var(--size-sm-plus)",
|
|
101
|
+
"ds-md": "var(--size-md)",
|
|
102
|
+
"ds-lg": "var(--size-lg)",
|
|
103
|
+
"ds-xl": "var(--size-xl)",
|
|
104
|
+
"ico-sm": "var(--icon-sm)",
|
|
105
|
+
"ico-md": "var(--icon-md)",
|
|
106
|
+
"ico-lg": "var(--icon-lg)",
|
|
107
|
+
"ico-xl": "var(--icon-xl)"
|
|
108
|
+
},
|
|
109
|
+
height: {
|
|
110
|
+
"ds-xs": "var(--size-xs)",
|
|
111
|
+
"ds-xs-plus": "var(--size-xs-plus)",
|
|
112
|
+
"ds-sm": "var(--size-sm)",
|
|
113
|
+
"ds-sm-plus": "var(--size-sm-plus)",
|
|
114
|
+
"ds-md": "var(--size-md)",
|
|
115
|
+
"ds-lg": "var(--size-lg)",
|
|
116
|
+
"ds-xl": "var(--size-xl)",
|
|
117
|
+
"ico-sm": "var(--icon-sm)",
|
|
118
|
+
"ico-md": "var(--icon-md)",
|
|
119
|
+
"ico-lg": "var(--icon-lg)",
|
|
120
|
+
"ico-xl": "var(--icon-xl)"
|
|
121
|
+
},
|
|
122
|
+
minHeight: {
|
|
123
|
+
"ds-xs": "var(--size-xs)",
|
|
124
|
+
"ds-xs-plus": "var(--size-xs-plus)",
|
|
125
|
+
"ds-sm": "var(--size-sm)",
|
|
126
|
+
"ds-sm-plus": "var(--size-sm-plus)",
|
|
127
|
+
"ds-md": "var(--size-md)",
|
|
128
|
+
"ds-lg": "var(--size-lg)",
|
|
129
|
+
"ds-xl": "var(--size-xl)"
|
|
130
|
+
},
|
|
131
|
+
maxWidth: {
|
|
132
|
+
layout: "var(--max-width)",
|
|
133
|
+
"layout-body": "var(--max-width-body)"
|
|
134
|
+
},
|
|
135
|
+
minWidth: {
|
|
136
|
+
"ds-xs": "var(--size-xs)",
|
|
137
|
+
"ds-sm": "var(--size-sm)",
|
|
138
|
+
"ds-md": "var(--size-md)",
|
|
139
|
+
"ds-lg": "var(--size-lg)",
|
|
140
|
+
"ds-xl": "var(--size-xl)"
|
|
141
|
+
},
|
|
142
|
+
opacity: {
|
|
143
|
+
"action-hover": "var(--action-hover-opacity)",
|
|
144
|
+
"action-selected": "var(--action-selected-opacity)",
|
|
145
|
+
"action-disabled": "var(--action-disabled-opacity)",
|
|
146
|
+
"action-focus": "var(--action-focus-opacity)",
|
|
147
|
+
"action-active": "var(--action-active-opacity)"
|
|
148
|
+
},
|
|
149
|
+
colors: {
|
|
150
|
+
"text-interactive": "var(--color-text-interactive)",
|
|
151
|
+
interactive: "var(--color-interactive)",
|
|
152
|
+
"interactive-hover": "var(--color-interactive-hover)",
|
|
153
|
+
"interactive-active": "var(--color-interactive-active)",
|
|
154
|
+
"interactive-selected": "var(--color-interactive-selected)",
|
|
155
|
+
"interactive-subtle": "var(--color-interactive-subtle)",
|
|
156
|
+
accent: "var(--color-accent)",
|
|
157
|
+
"accent-hover": "var(--color-accent-hover)",
|
|
158
|
+
"accent-subtle": "var(--color-accent-subtle)",
|
|
159
|
+
background: "var(--color-background)",
|
|
160
|
+
"layer-01": "var(--color-layer-01)",
|
|
161
|
+
"layer-02": "var(--color-layer-02)",
|
|
162
|
+
"layer-03": "var(--color-layer-03)",
|
|
163
|
+
overlay: "var(--color-overlay)",
|
|
164
|
+
field: "var(--color-field)",
|
|
165
|
+
"field-hover": "var(--color-field-hover)",
|
|
166
|
+
"text-primary": "var(--color-text-primary)",
|
|
167
|
+
"text-secondary": "var(--color-text-secondary)",
|
|
168
|
+
"text-tertiary": "var(--color-text-tertiary)",
|
|
169
|
+
"text-placeholder": "var(--color-text-placeholder)",
|
|
170
|
+
"text-helper": "var(--color-text-helper)",
|
|
171
|
+
"text-disabled": "var(--color-text-disabled)",
|
|
172
|
+
"text-error": "var(--color-text-error)",
|
|
173
|
+
"text-success": "var(--color-text-success)",
|
|
174
|
+
"text-warning": "var(--color-text-warning)",
|
|
175
|
+
"text-link": "var(--color-text-link)",
|
|
176
|
+
"text-on-color": "var(--color-text-on-color)",
|
|
177
|
+
"text-inverse": "var(--color-text-inverse)",
|
|
178
|
+
"text-brand": "var(--color-text-brand)",
|
|
179
|
+
"icon-primary": "var(--color-icon-primary)",
|
|
180
|
+
"icon-secondary": "var(--color-icon-secondary)",
|
|
181
|
+
"icon-disabled": "var(--color-icon-disabled)",
|
|
182
|
+
"icon-on-color": "var(--color-icon-on-color)",
|
|
183
|
+
"icon-interactive": "var(--color-icon-interactive)",
|
|
184
|
+
border: "var(--color-border-default)",
|
|
185
|
+
"border-subtle": "var(--color-border-subtle)",
|
|
186
|
+
"border-strong": "var(--color-border-strong)",
|
|
187
|
+
"border-interactive": "var(--color-border-interactive)",
|
|
188
|
+
"border-disabled": "var(--color-border-disabled)",
|
|
189
|
+
"border-error": "var(--color-border-error)",
|
|
190
|
+
"border-success": "var(--color-border-success)",
|
|
191
|
+
"border-warning": "var(--color-border-warning)",
|
|
192
|
+
focus: "var(--color-focus)",
|
|
193
|
+
"focus-inset": "var(--color-focus-inset)",
|
|
194
|
+
success: "var(--color-success)",
|
|
195
|
+
"success-surface": "var(--color-success-surface)",
|
|
196
|
+
error: "var(--color-error)",
|
|
197
|
+
"error-surface": "var(--color-error-surface)",
|
|
198
|
+
warning: "var(--color-warning)",
|
|
199
|
+
"warning-surface": "var(--color-warning-surface)",
|
|
200
|
+
info: "var(--color-info)",
|
|
201
|
+
"info-surface": "var(--color-info-surface)",
|
|
202
|
+
"skeleton-base": "var(--color-skeleton-base)",
|
|
203
|
+
"skeleton-shimmer": "var(--color-skeleton-shimmer)",
|
|
204
|
+
"category-teal": "var(--color-category-teal)",
|
|
205
|
+
"category-teal-surface": "var(--color-category-teal-surface)",
|
|
206
|
+
"category-teal-border": "var(--color-category-teal-border)",
|
|
207
|
+
"category-teal-text": "var(--color-category-teal-text)",
|
|
208
|
+
"category-amber": "var(--color-category-amber)",
|
|
209
|
+
"category-amber-surface": "var(--color-category-amber-surface)",
|
|
210
|
+
"category-amber-border": "var(--color-category-amber-border)",
|
|
211
|
+
"category-amber-text": "var(--color-category-amber-text)",
|
|
212
|
+
"category-slate": "var(--color-category-slate)",
|
|
213
|
+
"category-slate-surface": "var(--color-category-slate-surface)",
|
|
214
|
+
"category-slate-border": "var(--color-category-slate-border)",
|
|
215
|
+
"category-slate-text": "var(--color-category-slate-text)",
|
|
216
|
+
"category-indigo": "var(--color-category-indigo)",
|
|
217
|
+
"category-indigo-surface": "var(--color-category-indigo-surface)",
|
|
218
|
+
"category-indigo-border": "var(--color-category-indigo-border)",
|
|
219
|
+
"category-indigo-text": "var(--color-category-indigo-text)",
|
|
220
|
+
"category-cyan": "var(--color-category-cyan)",
|
|
221
|
+
"category-cyan-surface": "var(--color-category-cyan-surface)",
|
|
222
|
+
"category-cyan-border": "var(--color-category-cyan-border)",
|
|
223
|
+
"category-cyan-text": "var(--color-category-cyan-text)",
|
|
224
|
+
"category-orange": "var(--color-category-orange)",
|
|
225
|
+
"category-orange-surface": "var(--color-category-orange-surface)",
|
|
226
|
+
"category-orange-border": "var(--color-category-orange-border)",
|
|
227
|
+
"category-orange-text": "var(--color-category-orange-text)",
|
|
228
|
+
"category-emerald": "var(--color-category-emerald)",
|
|
229
|
+
"category-emerald-surface": "var(--color-category-emerald-surface)",
|
|
230
|
+
"category-emerald-border": "var(--color-category-emerald-border)",
|
|
231
|
+
"category-emerald-text": "var(--color-category-emerald-text)",
|
|
232
|
+
"interactive-disabled": "var(--color-interactive-disabled)",
|
|
233
|
+
"field-02": "var(--color-field-02)",
|
|
234
|
+
"field-02-hover": "var(--color-field-02-hover)",
|
|
235
|
+
"text-on-color-dark": "var(--color-text-on-color-dark)",
|
|
236
|
+
"text-link-hover": "var(--color-text-link-hover)",
|
|
237
|
+
"success-border": "var(--color-success-border)",
|
|
238
|
+
"error-border": "var(--color-error-border)",
|
|
239
|
+
"warning-border": "var(--color-warning-border)",
|
|
240
|
+
"info-border": "var(--color-info-border)",
|
|
241
|
+
"success-text": "var(--color-success-text)",
|
|
242
|
+
"error-text": "var(--color-error-text)",
|
|
243
|
+
"warning-text": "var(--color-warning-text)",
|
|
244
|
+
"info-text": "var(--color-info-text)",
|
|
245
|
+
divider: "var(--color-divider)",
|
|
246
|
+
"inset-glow": "var(--color-inset-glow)",
|
|
247
|
+
"inset-glow-strong": "var(--color-inset-glow-strong)",
|
|
248
|
+
"inset-glow-subtle": "var(--color-inset-glow-subtle)",
|
|
249
|
+
"surface-overlay-light": "var(--color-surface-overlay-light)",
|
|
250
|
+
"surface-overlay-dark": "var(--color-surface-overlay-dark)",
|
|
251
|
+
"layer-accent-subtle": "var(--color-layer-accent-subtle)",
|
|
252
|
+
"text-shadow": "var(--color-text-shadow)",
|
|
253
|
+
"error-hover": "var(--color-error-hover)",
|
|
254
|
+
"chart-1": "var(--chart-1)",
|
|
255
|
+
"chart-2": "var(--chart-2)",
|
|
256
|
+
"chart-3": "var(--chart-3)",
|
|
257
|
+
"chart-4": "var(--chart-4)",
|
|
258
|
+
"chart-5": "var(--chart-5)",
|
|
259
|
+
"chart-6": "var(--chart-6)",
|
|
260
|
+
"chart-7": "var(--chart-7)",
|
|
261
|
+
"chart-8": "var(--chart-8)"
|
|
262
|
+
},
|
|
263
|
+
keyframes: {
|
|
264
|
+
ripple: {
|
|
265
|
+
"0%": { transform: "translate(-50%, -50%) scale(0)", opacity: "1" },
|
|
266
|
+
"100%": { transform: "translate(-50%, -50%) scale(4)", opacity: "0" }
|
|
267
|
+
},
|
|
268
|
+
shake: {
|
|
269
|
+
"0%": { transform: "translateX(0)" },
|
|
270
|
+
"10%": { transform: "translateX(-3px)" },
|
|
271
|
+
"20%": { transform: "translateX(3px)" },
|
|
272
|
+
"30%": { transform: "translateX(-8px)" },
|
|
273
|
+
"40%": { transform: "translateX(8px)" },
|
|
274
|
+
"50%": { transform: "translateX(-5px)" },
|
|
275
|
+
"60%": { transform: "translateX(3px)" },
|
|
276
|
+
"70%, 100%": { transform: "translateX(0)" }
|
|
277
|
+
},
|
|
278
|
+
"progress-indeterminate": {
|
|
279
|
+
"0%": { transform: "translateX(-100%)" },
|
|
280
|
+
"100%": { transform: "translateX(250%)" }
|
|
281
|
+
},
|
|
282
|
+
"skeleton-shimmer": {
|
|
283
|
+
"0%": { backgroundPosition: "-200% 0" },
|
|
284
|
+
"100%": { backgroundPosition: "200% 0" }
|
|
285
|
+
},
|
|
286
|
+
"caret-blink": {
|
|
287
|
+
"0%,70%,100%": { opacity: "1" },
|
|
288
|
+
"20%,50%": { opacity: "0" }
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
animation: {
|
|
292
|
+
ripple: "ripple var(--duration-slow-01) linear",
|
|
293
|
+
"ripple-icon": "ripple var(--duration-moderate-02) linear forwards",
|
|
294
|
+
shake: "shake 1s var(--ease-productive-standard) infinite",
|
|
295
|
+
"progress-indeterminate": "progress-indeterminate var(--duration-slow-02) var(--ease-productive-standard) infinite",
|
|
296
|
+
"skeleton-shimmer": "skeleton-shimmer var(--duration-slow-02) var(--ease-linear) infinite",
|
|
297
|
+
"caret-blink": "caret-blink 1.25s ease-out infinite"
|
|
298
|
+
},
|
|
299
|
+
backgroundImage: {
|
|
300
|
+
"gradient-brand": "var(--gradient-brand-light)",
|
|
301
|
+
"gradient-brand-dark": "var(--gradient-brand-dark)"
|
|
302
|
+
},
|
|
303
|
+
boxShadow: {
|
|
304
|
+
"01": "var(--shadow-01)",
|
|
305
|
+
"02": "var(--shadow-02)",
|
|
306
|
+
"03": "var(--shadow-03)",
|
|
307
|
+
"04": "var(--shadow-04)",
|
|
308
|
+
"05": "var(--shadow-05)",
|
|
309
|
+
brand: "var(--shadow-brand)"
|
|
310
|
+
},
|
|
311
|
+
transitionDuration: {
|
|
312
|
+
instant: "var(--duration-instant)",
|
|
313
|
+
"fast-01": "var(--duration-fast-01)",
|
|
314
|
+
"fast-02": "var(--duration-fast-02)",
|
|
315
|
+
"moderate-01": "var(--duration-moderate-01)",
|
|
316
|
+
"moderate-02": "var(--duration-moderate-02)",
|
|
317
|
+
"slow-01": "var(--duration-slow-01)",
|
|
318
|
+
"slow-02": "var(--duration-slow-02)"
|
|
319
|
+
},
|
|
320
|
+
transitionTimingFunction: {
|
|
321
|
+
"productive-standard": "var(--ease-productive-standard)",
|
|
322
|
+
"productive-entrance": "var(--ease-productive-entrance)",
|
|
323
|
+
"productive-exit": "var(--ease-productive-exit)",
|
|
324
|
+
"expressive-standard": "var(--ease-expressive-standard)",
|
|
325
|
+
"expressive-entrance": "var(--ease-expressive-entrance)",
|
|
326
|
+
"expressive-exit": "var(--ease-expressive-exit)",
|
|
327
|
+
bounce: "var(--ease-bounce)",
|
|
328
|
+
linear: "var(--ease-linear)"
|
|
329
|
+
},
|
|
330
|
+
zIndex: {
|
|
331
|
+
base: "var(--z-base)",
|
|
332
|
+
raised: "var(--z-raised)",
|
|
333
|
+
dropdown: "var(--z-dropdown)",
|
|
334
|
+
sticky: "var(--z-sticky)",
|
|
335
|
+
overlay: "var(--z-overlay)",
|
|
336
|
+
modal: "var(--z-modal)",
|
|
337
|
+
toast: "var(--z-toast)",
|
|
338
|
+
tooltip: "var(--z-tooltip)"
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
module.exports = r;
|
|
344
|
+
module.exports.default = module.exports;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAuV3B,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/dist/tailwind/preset.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
const r = {
|
|
2
|
+
/**
|
|
3
|
+
* Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
|
|
4
|
+
* set it explicitly in your own tailwind.config — your config takes precedence.
|
|
5
|
+
*/
|
|
2
6
|
darkMode: "class",
|
|
3
7
|
theme: {
|
|
4
|
-
// Breakpoints must be static values — CSS custom properties cannot be used
|
|
5
|
-
// in @media queries (compiled at build time). These mirror the tokens in
|
|
6
|
-
// semantic.css (--breakpoint-sm … --breakpoint-2xl).
|
|
7
|
-
screens: {
|
|
8
|
-
sm: "640px",
|
|
9
|
-
md: "768px",
|
|
10
|
-
lg: "1024px",
|
|
11
|
-
xl: "1280px",
|
|
12
|
-
"2xl": "1536px"
|
|
13
|
-
},
|
|
14
8
|
extend: {
|
|
9
|
+
// Breakpoints must be static values — CSS custom properties cannot be used
|
|
10
|
+
// in @media queries (compiled at build time). These mirror the tokens in
|
|
11
|
+
// semantic.css (--breakpoint-sm … --breakpoint-2xl).
|
|
12
|
+
// Placed inside `extend` so deployer breakpoints are merged, not replaced.
|
|
13
|
+
screens: {
|
|
14
|
+
sm: "640px",
|
|
15
|
+
md: "768px",
|
|
16
|
+
lg: "1024px",
|
|
17
|
+
xl: "1280px",
|
|
18
|
+
"2xl": "1536px"
|
|
19
|
+
},
|
|
15
20
|
fontFamily: {
|
|
16
21
|
sans: ["var(--font-sans)", "system-ui", "sans-serif"],
|
|
17
22
|
display: ["var(--font-display)", "system-ui", "sans-serif"],
|
package/dist/tokens/index.css
CHANGED
package/dist/tokens/semantic.css
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
color-scheme: light;
|
|
3
3
|
|
|
4
4
|
/* Font families — override these with next/font CSS variables */
|
|
5
|
-
--font-sans: "
|
|
6
|
-
--font-display: "
|
|
7
|
-
--font-body: "
|
|
5
|
+
--font-sans: "Inter", system-ui, sans-serif;
|
|
6
|
+
--font-display: "Inter", system-ui, sans-serif;
|
|
7
|
+
--font-body: "Inter", system-ui, sans-serif;
|
|
8
8
|
--font-accent: Ranade, sans-serif;
|
|
9
9
|
--font-mono: "SF Mono", "Fira Code", monospace;
|
|
10
10
|
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
/* ── Font Faces ─────────────────────────────────────────────────── */
|
|
10
10
|
|
|
11
|
-
/*
|
|
11
|
+
/* Inter (primary UI font) — Variable font: supports weights 100-900 */
|
|
12
12
|
@font-face {
|
|
13
|
-
font-family: '
|
|
14
|
-
src: url('../../fonts/
|
|
13
|
+
font-family: 'Inter';
|
|
14
|
+
src: url('../../fonts/Inter-Variable.woff2') format('woff2');
|
|
15
15
|
font-weight: 100 900;
|
|
16
16
|
font-style: normal;
|
|
17
17
|
font-display: swap;
|
|
18
18
|
}
|
|
19
19
|
@font-face {
|
|
20
|
-
font-family: '
|
|
21
|
-
src: url('../../fonts/
|
|
20
|
+
font-family: 'Inter';
|
|
21
|
+
src: url('../../fonts/Inter-Italic-Variable.woff2') format('woff2');
|
|
22
22
|
font-weight: 100 900;
|
|
23
23
|
font-style: italic;
|
|
24
24
|
font-display: swap;
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
/* Ranade (accent — brand moments, hero headings, special callouts) */
|
|
28
28
|
@font-face {
|
|
29
29
|
font-family: 'Ranade';
|
|
30
|
-
src: url('../../fonts/Ranade-Variable.
|
|
30
|
+
src: url('../../fonts/Ranade-Variable.woff2') format('woff2');
|
|
31
31
|
font-weight: 100 900;
|
|
32
32
|
font-display: swap;
|
|
33
33
|
}
|
|
34
34
|
@font-face {
|
|
35
35
|
font-family: 'Ranade';
|
|
36
|
-
src: url('../../fonts/Ranade-VariableItalic.
|
|
36
|
+
src: url('../../fonts/Ranade-VariableItalic.woff2') format('woff2');
|
|
37
37
|
font-weight: 100 900;
|
|
38
38
|
font-style: italic;
|
|
39
39
|
font-display: swap;
|
package/dist/ui/alert.d.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
declare const alertVariants: (props?: ({
|
|
5
|
-
|
|
5
|
+
color?: "error" | "warning" | "success" | "info" | "neutral" | null | undefined;
|
|
6
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
7
|
/**
|
|
8
8
|
* Props for Alert — an inline message block with a colored icon, optional title, optional body,
|
|
9
9
|
* and an optional dismiss button. Renders with `role="alert"` for screen reader announcements.
|
|
10
10
|
*
|
|
11
|
-
* **
|
|
12
|
-
* The matching icon (info circle, checkmark, triangle, alert circle) is auto-selected by
|
|
11
|
+
* **Colors:** `info` (default, blue tones) | `success` | `warning` | `error` | `neutral`
|
|
12
|
+
* The matching icon (info circle, checkmark, triangle, alert circle) is auto-selected by color.
|
|
13
13
|
*
|
|
14
14
|
* **Alert vs Banner:** Alert is inline (inside page content). Banner is a full-width notification
|
|
15
15
|
* strip rendered at the top of a page/section (see `<Banner>`).
|
|
@@ -18,25 +18,25 @@ declare const alertVariants: (props?: ({
|
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* // Informational tip inside a settings form:
|
|
21
|
-
* <Alert title="Tip"
|
|
21
|
+
* <Alert title="Tip" color="info">
|
|
22
22
|
* Changes take effect after you save and reload the page.
|
|
23
23
|
* </Alert>
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* // Error feedback after a failed API call (dismissible):
|
|
27
|
-
* <Alert
|
|
27
|
+
* <Alert color="error" title="Save failed" onDismiss={() => setError(null)}>
|
|
28
28
|
* Your changes could not be saved. Please try again.
|
|
29
29
|
* </Alert>
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
32
|
* // Success confirmation after publishing:
|
|
33
|
-
* <Alert
|
|
33
|
+
* <Alert color="success" title="Published!">
|
|
34
34
|
* Your post is now live and visible to all subscribers.
|
|
35
35
|
* </Alert>
|
|
36
36
|
*
|
|
37
37
|
* @example
|
|
38
38
|
* // Neutral inline note (no colored intent):
|
|
39
|
-
* <Alert
|
|
39
|
+
* <Alert color="neutral">This field is auto-populated from your profile.</Alert>
|
|
40
40
|
* // These are just a few ways — feel free to combine props creatively!
|
|
41
41
|
*/
|
|
42
42
|
export interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
|
package/dist/ui/alert.js
CHANGED
|
@@ -4,11 +4,11 @@ import { IconInfoCircle as i, IconAlertCircle as m, IconAlertTriangle as f, Icon
|
|
|
4
4
|
import * as x from "react";
|
|
5
5
|
import { cva as g } from "class-variance-authority";
|
|
6
6
|
import { cn as p } from "./lib/utils.js";
|
|
7
|
-
const
|
|
7
|
+
const h = g(
|
|
8
8
|
"relative flex gap-ds-04 rounded-ds-lg border p-ds-05",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
|
-
|
|
11
|
+
color: {
|
|
12
12
|
info: "bg-info-surface border-info-border text-info-text",
|
|
13
13
|
success: "bg-success-surface border-success-border text-success-text",
|
|
14
14
|
warning: "bg-warning-surface border-warning-border text-warning-text",
|
|
@@ -16,29 +16,29 @@ const v = g(
|
|
|
16
16
|
neutral: "bg-layer-02 border-border text-text-primary [&>svg]:text-text-secondary"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
-
defaultVariants: {
|
|
19
|
+
defaultVariants: { color: "info" }
|
|
20
20
|
}
|
|
21
|
-
),
|
|
21
|
+
), v = {
|
|
22
22
|
info: i,
|
|
23
23
|
success: b,
|
|
24
24
|
warning: f,
|
|
25
25
|
error: m,
|
|
26
26
|
neutral: i
|
|
27
27
|
}, w = x.forwardRef(
|
|
28
|
-
({ className: n,
|
|
29
|
-
const l =
|
|
30
|
-
return /* @__PURE__ */ t("div", { ref: d, className: p(
|
|
28
|
+
({ className: n, color: e = "info", title: o, onDismiss: s, children: c, ...a }, d) => {
|
|
29
|
+
const l = v[e ?? "info"];
|
|
30
|
+
return /* @__PURE__ */ t("div", { ref: d, className: p(h({ color: e }), n), role: "alert", ...a, children: [
|
|
31
31
|
/* @__PURE__ */ r(l, { className: "mt-ds-01 h-ico-md w-ico-md shrink-0", "aria-hidden": "true" }),
|
|
32
32
|
/* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: [
|
|
33
33
|
o && /* @__PURE__ */ r("p", { className: "text-ds-md font-semibold mb-ds-01", children: o }),
|
|
34
|
-
/* @__PURE__ */ r("div", { className: "text-ds-md opacity-[0.9]", children:
|
|
34
|
+
/* @__PURE__ */ r("div", { className: "text-ds-md opacity-[0.9]", children: c })
|
|
35
35
|
] }),
|
|
36
36
|
s && /* @__PURE__ */ r(
|
|
37
37
|
"button",
|
|
38
38
|
{
|
|
39
39
|
type: "button",
|
|
40
40
|
onClick: s,
|
|
41
|
-
className: "shrink-0 rounded-ds-sm text-icon-secondary transition-colors hover:text-icon-primary hover:bg-field focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus",
|
|
41
|
+
className: "shrink-0 min-h-6 min-w-6 flex items-center justify-center rounded-ds-sm text-icon-secondary transition-colors hover:text-icon-primary hover:bg-field focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus",
|
|
42
42
|
"aria-label": "Dismiss",
|
|
43
43
|
children: /* @__PURE__ */ r(u, { className: "h-ico-sm w-ico-sm" })
|
|
44
44
|
}
|
|
@@ -49,5 +49,5 @@ const v = g(
|
|
|
49
49
|
w.displayName = "Alert";
|
|
50
50
|
export {
|
|
51
51
|
w as Alert,
|
|
52
|
-
|
|
52
|
+
h as alertVariants
|
|
53
53
|
};
|
|
@@ -21,7 +21,7 @@ type AutocompleteOption = {
|
|
|
21
21
|
* <Autocomplete
|
|
22
22
|
* options={[{ value: 'mumbai', label: 'Mumbai' }, { value: 'delhi', label: 'Delhi' }]}
|
|
23
23
|
* value={selectedCity}
|
|
24
|
-
*
|
|
24
|
+
* onValueChange={(opt) => setSelectedCity(opt)}
|
|
25
25
|
* placeholder="Search cities..."
|
|
26
26
|
* />
|
|
27
27
|
*
|
|
@@ -29,7 +29,7 @@ type AutocompleteOption = {
|
|
|
29
29
|
* // Employee name lookup with custom empty text:
|
|
30
30
|
* <Autocomplete
|
|
31
31
|
* options={employees.map(e => ({ value: e.id, label: e.fullName }))}
|
|
32
|
-
*
|
|
32
|
+
* onValueChange={(opt) => setAssignee(opt.value)}
|
|
33
33
|
* emptyText="No employees found"
|
|
34
34
|
* placeholder="Search employees..."
|
|
35
35
|
* />
|
|
@@ -38,7 +38,7 @@ type AutocompleteOption = {
|
|
|
38
38
|
type AutocompleteProps = {
|
|
39
39
|
options: AutocompleteOption[];
|
|
40
40
|
value?: AutocompleteOption | null;
|
|
41
|
-
|
|
41
|
+
onValueChange?: (option: AutocompleteOption) => void;
|
|
42
42
|
placeholder?: string;
|
|
43
43
|
emptyText?: string;
|
|
44
44
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/ui/autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACjC,
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/ui/autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,QAAA,MAAM,YAAY,4FAyKjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,CAAA"}
|
package/dist/ui/autocomplete.js
CHANGED
package/dist/ui/badge.d.ts
CHANGED
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
declare const badgeVariants: (props?: ({
|
|
5
|
-
variant?: "
|
|
5
|
+
variant?: "solid" | "outline" | "subtle" | null | undefined;
|
|
6
|
+
color?: "accent" | "default" | "error" | "warning" | "success" | "cyan" | "indigo" | "orange" | "teal" | "info" | "brand" | "amber" | "slate" | "emerald" | null | undefined;
|
|
6
7
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
8
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
9
|
/**
|
|
9
|
-
* Props for Badge — a compact inline label with
|
|
10
|
+
* Props for Badge — a compact inline label with a two-axis variant system, an optional
|
|
10
11
|
* leading dot indicator, and a dismissible close button.
|
|
11
12
|
*
|
|
12
|
-
* **
|
|
13
|
-
*
|
|
13
|
+
* **Two axes:**
|
|
14
|
+
* - `variant` controls **visual style**: `"subtle"` (default, surface bg) | `"solid"` (filled) | `"outline"` (border only)
|
|
15
|
+
* - `color` controls **semantic intent/category**: `"default"` | `"info"` | `"success"` | `"error"` |
|
|
16
|
+
* `"warning"` | `"brand"` | `"accent"` | `"teal"` | `"amber"` | `"slate"` | `"indigo"` | `"cyan"` | `"orange"` | `"emerald"`
|
|
14
17
|
*
|
|
15
18
|
* **Comparison with Chip:** Badge is a pure display label (no onClick, no delete handler).
|
|
16
19
|
* Chip (`<Chip>`) is interactive — use Chip when users can click or dismiss the tag.
|
|
@@ -20,7 +23,7 @@ declare const badgeVariants: (props?: ({
|
|
|
20
23
|
*
|
|
21
24
|
* @example
|
|
22
25
|
* // Status badge in a table cell:
|
|
23
|
-
* <Badge
|
|
26
|
+
* <Badge color="success">Active</Badge>
|
|
24
27
|
*
|
|
25
28
|
* @example
|
|
26
29
|
* // Notification count with dot indicator (solid fill for high contrast):
|
|
@@ -28,11 +31,11 @@ declare const badgeVariants: (props?: ({
|
|
|
28
31
|
*
|
|
29
32
|
* @example
|
|
30
33
|
* // Dismissible category filter (e.g. in a filter bar):
|
|
31
|
-
* <Badge
|
|
34
|
+
* <Badge color="teal" onDismiss={() => removeFilter('teal')}>Teal team</Badge>
|
|
32
35
|
*
|
|
33
36
|
* @example
|
|
34
37
|
* // Error badge for a failed job in a pipeline view:
|
|
35
|
-
* <Badge
|
|
38
|
+
* <Badge color="error" size="lg">Build failed</Badge>
|
|
36
39
|
* // These are just a few ways — feel free to combine props creatively!
|
|
37
40
|
*/
|
|
38
41
|
export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
package/dist/ui/badge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/ui/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,QAAA,MAAM,aAAa;;;;8EAoFlB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAC3C,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,KAAK,oFAwBV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
|