@karni/ui 0.3.1 → 0.4.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 +712 -72
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8660 -4725
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +18 -1
- package/dist/script-BVJ9BbPm.cjs +2 -0
- package/dist/script-BVJ9BbPm.cjs.map +1 -0
- package/dist/script-D1fn4Dm4.js +6 -0
- package/dist/script-D1fn4Dm4.js.map +1 -0
- package/dist/src/auth/AuthGuard.d.ts +69 -4
- package/dist/src/auth/LoginForm.d.ts +41 -7
- package/dist/src/auth/engine.d.ts +15 -13
- package/dist/src/auth/provider.d.ts +10 -10
- package/dist/src/auth/storage.d.ts +1 -1
- package/dist/src/auth/types.d.ts +3 -3
- package/dist/src/components/brand/karni-mark.d.ts +4 -4
- package/dist/src/components/chart/data-chart.d.ts +66 -11
- package/dist/src/components/empty-state/empty-state.d.ts +22 -2
- package/dist/src/components/file-upload/FileUpload.d.ts +67 -3
- package/dist/src/components/layout/layout.d.ts +104 -9
- package/dist/src/components/layout/route-focus.d.ts +43 -0
- package/dist/src/components/modal/modal.d.ts +49 -8
- package/dist/src/components/page/page.d.ts +36 -5
- package/dist/src/components/primitives/button.d.ts +1 -0
- package/dist/src/components/primitives/checkbox.d.ts +4 -1
- package/dist/src/components/primitives/dropdown-menu.d.ts +1 -1
- package/dist/src/components/primitives/icons.d.ts +9 -1
- package/dist/src/components/primitives/input.d.ts +4 -1
- package/dist/src/components/primitives/label.d.ts +4 -1
- package/dist/src/components/primitives/select.d.ts +37 -6
- package/dist/src/components/primitives/skeleton.d.ts +4 -1
- package/dist/src/components/primitives/switch.d.ts +4 -1
- package/dist/src/components/primitives/tabs.d.ts +2 -2
- package/dist/src/components/primitives/textarea.d.ts +4 -1
- package/dist/src/components/resource/ResourceDetail.d.ts +3 -3
- package/dist/src/components/resource/ResourceForm.d.ts +4 -3
- package/dist/src/components/resource/ResourceSelect.d.ts +3 -1
- package/dist/src/components/resource/ResourceTable.d.ts +9 -3
- package/dist/src/components/resource/audit-fields.d.ts +1 -1
- package/dist/src/components/resource/detail/ResourceDetail.d.ts +109 -11
- package/dist/src/components/resource/empty-value.d.ts +17 -0
- package/dist/src/components/resource/form/ResourceForm.d.ts +65 -6
- package/dist/src/components/resource/form/field-inputs.d.ts +15 -1
- package/dist/src/components/resource/form/form-states.d.ts +87 -0
- package/dist/src/components/resource/form/prepare.d.ts +3 -3
- package/dist/src/components/resource/form/server-errors.d.ts +14 -0
- package/dist/src/components/resource/history/ChangeHistory.d.ts +46 -4
- package/dist/src/components/resource/import/ResourceImport.d.ts +73 -7
- package/dist/src/components/resource/nouns.d.ts +12 -0
- package/dist/src/components/resource/query-state.d.ts +20 -0
- package/dist/src/components/resource/resource-names.d.ts +23 -0
- package/dist/src/components/resource/select/ResourceSelect.d.ts +39 -8
- package/dist/src/components/resource/select/select-states.d.ts +68 -0
- package/dist/src/components/resource/select/use-option-pages.d.ts +37 -0
- package/dist/src/components/resource/select/venue-backend.d.ts +144 -0
- package/dist/src/components/resource/table/BulkActionsBar.d.ts +62 -5
- package/dist/src/components/resource/table/CardList.d.ts +31 -0
- package/dist/src/components/resource/table/ConfirmDialog.d.ts +28 -0
- package/dist/src/components/resource/table/ExportButtons.d.ts +2 -2
- package/dist/src/components/resource/table/FilterBar.d.ts +3 -3
- package/dist/src/components/resource/table/PaginationControls.d.ts +15 -3
- package/dist/src/components/resource/table/ResourceTable.d.ts +79 -14
- package/dist/src/components/resource/table/RowCard.d.ts +31 -0
- package/dist/src/components/resource/table/TableView.d.ts +29 -0
- package/dist/src/components/resource/table/ViewOptions.d.ts +19 -0
- package/dist/src/components/resource/table/access.d.ts +12 -0
- package/dist/src/components/resource/table/derive-columns.d.ts +2 -2
- package/dist/src/components/resource/table/grid-navigation.d.ts +23 -0
- package/dist/src/components/resource/table/layout.d.ts +37 -0
- package/dist/src/components/resource/table/preferences.d.ts +12 -0
- package/dist/src/components/resource/table/slots.d.ts +41 -0
- package/dist/src/components/resource/table/states.d.ts +91 -0
- package/dist/src/components/resource/table/story-fixtures.d.ts +25 -0
- package/dist/src/components/resource/table/structural-columns.d.ts +25 -0
- package/dist/src/components/resource/table/table-icons.d.ts +16 -0
- package/dist/src/components/resource/table/table-utils.d.ts +27 -3
- package/dist/src/components/resource/table/url-state.d.ts +67 -0
- package/dist/src/components/resource/table/use-container-width.d.ts +10 -0
- package/dist/src/components/resource/testapp-fixtures.d.ts +78 -0
- package/dist/src/components/stat/stat.d.ts +36 -6
- package/dist/src/components/toast/toast-store.d.ts +1 -1
- package/dist/src/components/toast/toaster.d.ts +39 -6
- package/dist/src/components/toast/use-toast.d.ts +1 -1
- package/dist/src/hooks/keys.d.ts +4 -4
- package/dist/src/hooks/multipart.d.ts +9 -9
- package/dist/src/hooks/params.d.ts +1 -1
- package/dist/src/hooks/types.d.ts +3 -3
- package/dist/src/hooks/useChangeHistory.d.ts +3 -2
- package/dist/src/hooks/useResourceImport.d.ts +2 -2
- package/dist/src/hooks/useResourceMutations.d.ts +2 -2
- package/dist/src/hooks/useUnsavedChangesGuard.d.ts +31 -0
- package/dist/src/index.d.ts +49 -31
- package/dist/src/lib/roles.d.ts +4 -4
- package/dist/src/lib/variants.d.ts +1 -1
- package/dist/src/primitives/registry.d.ts +81 -0
- package/dist/src/schema/client.d.ts +10 -10
- package/dist/src/schema/parse.d.ts +2 -2
- package/dist/src/schema/provider.d.ts +10 -3
- package/dist/src/schema/types.d.ts +18 -9
- package/dist/src/schema/useSchema.d.ts +5 -1
- package/dist/src/states/ErrorState.d.ts +43 -0
- package/dist/src/states/PendingButton.d.ts +16 -0
- package/dist/src/states/describe-error.d.ts +25 -0
- package/dist/src/states/hooks.d.ts +10 -0
- package/dist/src/theme/script.d.ts +12 -0
- package/dist/src/theme/theme.d.ts +45 -0
- package/dist/styles.css +174 -13
- package/dist/tailwind-preset.cjs +2 -2
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts +83 -1
- package/dist/tailwind-preset.js +181 -62
- package/dist/tailwind-preset.js.map +1 -1
- package/dist/tailwind-v4.css +31 -0
- package/dist/vite-plugin.cjs +2 -0
- package/dist/vite-plugin.cjs.map +1 -0
- package/dist/vite-plugin.d.ts +19 -0
- package/dist/vite-plugin.js +16 -0
- package/dist/vite-plugin.js.map +1 -0
- package/eslint-plugin/index.js +4 -0
- package/eslint-plugin/rules/max-page-lines.js +1 -1
- package/eslint-plugin/rules/no-deep-imports.js +1 -1
- package/eslint-plugin/rules/no-direct-http.js +1 -1
- package/eslint-plugin/rules/no-raw-elements.js +1 -1
- package/eslint-plugin/rules/no-style-literals.js +222 -0
- package/eslint-plugin/rules.json +10 -4
- package/package.json +22 -19
package/dist/styles.css
CHANGED
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @karni/ui design tokens.
|
|
3
3
|
*
|
|
4
|
-
* Every
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Every visual value a component uses resolves from a custom property in one
|
|
5
|
+
* of these families:
|
|
6
|
+
*
|
|
7
|
+
* --karni-color-* colours (any CSS colour: hsl(), oklch(), hex, var())
|
|
8
|
+
* --karni-space-* the spacing scale: --karni-space-unit (0.25rem), and any
|
|
9
|
+
* step --karni-space-<n> (4 = 1rem) to override that step
|
|
10
|
+
* --karni-radius-* corner radii (sm, md, lg, xl, full)
|
|
11
|
+
* --karni-font-* families, sizes, line heights, weights, letter spacing
|
|
12
|
+
* --karni-shadow-* elevation (sm, DEFAULT, md, lg)
|
|
13
|
+
* --karni-z-*, --karni-opacity-*, --karni-duration, --karni-ease,
|
|
14
|
+
* --karni-border-width*, --karni-ring-* stacking, opacity, motion, lines
|
|
15
|
+
*
|
|
16
|
+
* The Tailwind preset maps its classes to these properties, so `bg-primary`
|
|
17
|
+
* or `p-4` in a component (or in your own code) reads them. Override any of
|
|
18
|
+
* them in your own stylesheet to retheme every component; `karni ui detect`
|
|
19
|
+
* writes karni-theme.css for you from the project's shadcn/ui, Tailwind,
|
|
20
|
+
* Material UI, Chakra UI or Mantine theme.
|
|
21
|
+
* Add the `dark` class to <html> (or any ancestor) for the dark palette.
|
|
22
|
+
*
|
|
23
|
+
* Both palettes meet WCAG 2.2 AA for every pair the components use (4.5:1
|
|
24
|
+
* text, 3:1 field boundaries, focus rings, icons and chart series);
|
|
25
|
+
* tests/contrast.test.ts computes the ratios from the values below. Check
|
|
26
|
+
* your own overrides against the same pairs.
|
|
27
|
+
*
|
|
28
|
+
* The 0.3 HSL-triplet names (--karni-primary, --karni-border, ...) still
|
|
29
|
+
* work as inputs: each --karni-color-* defaults to its triplet. They are
|
|
30
|
+
* deprecated in 0.4 and removed in 1.0; set --karni-color-* instead.
|
|
31
|
+
*
|
|
32
|
+
* The Django side (the admin, the welcome page) uses this same file: the
|
|
33
|
+
* karni package ships a byte-for-byte copy as the static file
|
|
34
|
+
* karni/tokens.css, and a karni test fails until a change here is copied.
|
|
9
35
|
*/
|
|
10
36
|
:root {
|
|
11
37
|
color-scheme: light;
|
|
@@ -26,24 +52,24 @@
|
|
|
26
52
|
--karni-secondary-foreground: 220.9 39.3% 11%;
|
|
27
53
|
|
|
28
54
|
--karni-muted: 220 14.3% 95.9%;
|
|
29
|
-
--karni-muted-foreground: 220 8.9%
|
|
55
|
+
--karni-muted-foreground: 220 8.9% 43%;
|
|
30
56
|
|
|
31
57
|
--karni-accent: 220 14.3% 95.9%;
|
|
32
58
|
--karni-accent-foreground: 220.9 39.3% 11%;
|
|
33
59
|
|
|
34
|
-
--karni-destructive: 0
|
|
60
|
+
--karni-destructive: 0 72% 46%;
|
|
35
61
|
--karni-destructive-foreground: 210 20% 98%;
|
|
36
62
|
|
|
37
63
|
--karni-border: 220 13% 91%;
|
|
38
|
-
--karni-input: 220
|
|
64
|
+
--karni-input: 220 9% 56%;
|
|
39
65
|
--karni-ring: 224 71.4% 4.1%;
|
|
40
66
|
|
|
41
67
|
--karni-radius: 0.5rem;
|
|
42
68
|
|
|
43
69
|
/* DataChart series colors (chart-1 .. chart-5). */
|
|
44
70
|
--karni-chart-1: 220 70% 50%;
|
|
45
|
-
--karni-chart-2: 160 60%
|
|
46
|
-
--karni-chart-3: 30 80%
|
|
71
|
+
--karni-chart-2: 160 60% 36%;
|
|
72
|
+
--karni-chart-3: 30 80% 42%;
|
|
47
73
|
--karni-chart-4: 280 65% 60%;
|
|
48
74
|
--karni-chart-5: 340 75% 55%;
|
|
49
75
|
}
|
|
@@ -72,11 +98,11 @@
|
|
|
72
98
|
--karni-accent: 215 27.9% 16.9%;
|
|
73
99
|
--karni-accent-foreground: 210 20% 98%;
|
|
74
100
|
|
|
75
|
-
--karni-destructive: 0
|
|
76
|
-
--karni-destructive-foreground:
|
|
101
|
+
--karni-destructive: 0 84% 67%;
|
|
102
|
+
--karni-destructive-foreground: 224 71.4% 4.1%;
|
|
77
103
|
|
|
78
104
|
--karni-border: 215 27.9% 16.9%;
|
|
79
|
-
--karni-input: 215
|
|
105
|
+
--karni-input: 215 14% 42%;
|
|
80
106
|
--karni-ring: 216 12.2% 83.9%;
|
|
81
107
|
|
|
82
108
|
--karni-chart-1: 217 91% 60%;
|
|
@@ -85,3 +111,138 @@
|
|
|
85
111
|
--karni-chart-4: 280 65% 60%;
|
|
86
112
|
--karni-chart-5: 340 75% 55%;
|
|
87
113
|
}
|
|
114
|
+
|
|
115
|
+
/* The colour layer components read. Declared on .dark as well so a dark
|
|
116
|
+
subtree recomputes them from its own values. */
|
|
117
|
+
:root,
|
|
118
|
+
.dark {
|
|
119
|
+
--karni-color-background: hsl(var(--karni-background));
|
|
120
|
+
--karni-color-foreground: hsl(var(--karni-foreground));
|
|
121
|
+
--karni-color-card: hsl(var(--karni-card));
|
|
122
|
+
--karni-color-card-foreground: hsl(var(--karni-card-foreground));
|
|
123
|
+
--karni-color-popover: hsl(var(--karni-popover));
|
|
124
|
+
--karni-color-popover-foreground: hsl(var(--karni-popover-foreground));
|
|
125
|
+
--karni-color-primary: hsl(var(--karni-primary));
|
|
126
|
+
--karni-color-primary-foreground: hsl(var(--karni-primary-foreground));
|
|
127
|
+
--karni-color-primary-hover: color-mix(in srgb, var(--karni-color-primary) 90%, transparent);
|
|
128
|
+
--karni-color-secondary: hsl(var(--karni-secondary));
|
|
129
|
+
--karni-color-secondary-foreground: hsl(var(--karni-secondary-foreground));
|
|
130
|
+
--karni-color-secondary-hover: color-mix(in srgb, var(--karni-color-secondary) 80%, transparent);
|
|
131
|
+
--karni-color-muted: hsl(var(--karni-muted));
|
|
132
|
+
--karni-color-muted-foreground: hsl(var(--karni-muted-foreground));
|
|
133
|
+
--karni-color-muted-subtle: color-mix(in srgb, var(--karni-color-muted) 50%, transparent);
|
|
134
|
+
--karni-color-accent: hsl(var(--karni-accent));
|
|
135
|
+
--karni-color-accent-foreground: hsl(var(--karni-accent-foreground));
|
|
136
|
+
--karni-color-destructive: hsl(var(--karni-destructive));
|
|
137
|
+
--karni-color-destructive-foreground: hsl(var(--karni-destructive-foreground));
|
|
138
|
+
--karni-color-destructive-hover: color-mix(
|
|
139
|
+
in srgb,
|
|
140
|
+
var(--karni-color-destructive) 90%,
|
|
141
|
+
transparent
|
|
142
|
+
);
|
|
143
|
+
--karni-color-destructive-subtle: color-mix(
|
|
144
|
+
in srgb,
|
|
145
|
+
var(--karni-color-destructive) 10%,
|
|
146
|
+
transparent
|
|
147
|
+
);
|
|
148
|
+
--karni-color-destructive-border: color-mix(
|
|
149
|
+
in srgb,
|
|
150
|
+
var(--karni-color-destructive) 50%,
|
|
151
|
+
transparent
|
|
152
|
+
);
|
|
153
|
+
--karni-color-border: hsl(var(--karni-border));
|
|
154
|
+
--karni-color-input: hsl(var(--karni-input));
|
|
155
|
+
--karni-color-ring: hsl(var(--karni-ring));
|
|
156
|
+
--karni-color-overlay: color-mix(in srgb, var(--karni-color-foreground) 40%, transparent);
|
|
157
|
+
--karni-color-chart-1: hsl(var(--karni-chart-1));
|
|
158
|
+
--karni-color-chart-2: hsl(var(--karni-chart-2));
|
|
159
|
+
--karni-color-chart-3: hsl(var(--karni-chart-3));
|
|
160
|
+
--karni-color-chart-4: hsl(var(--karni-chart-4));
|
|
161
|
+
--karni-color-chart-5: hsl(var(--karni-chart-5));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* The scrim behind a modal or the mobile drawer dims the page in both
|
|
165
|
+
themes: the dark theme's foreground is light, so its scrim is the
|
|
166
|
+
background colour instead. */
|
|
167
|
+
.dark {
|
|
168
|
+
--karni-color-overlay: color-mix(in srgb, var(--karni-color-background) 80%, transparent);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Size, type, elevation, stacking and motion. The preset falls back to the
|
|
172
|
+
same values when a property is unset. */
|
|
173
|
+
:root {
|
|
174
|
+
--karni-space-unit: 0.25rem;
|
|
175
|
+
|
|
176
|
+
--karni-radius-sm: calc(var(--karni-radius) - 4px);
|
|
177
|
+
--karni-radius-md: calc(var(--karni-radius) - 2px);
|
|
178
|
+
--karni-radius-lg: var(--karni-radius);
|
|
179
|
+
--karni-radius-xl: calc(var(--karni-radius) + 4px);
|
|
180
|
+
--karni-radius-full: 9999px;
|
|
181
|
+
|
|
182
|
+
--karni-font-sans:
|
|
183
|
+
ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
|
|
184
|
+
"Noto Color Emoji";
|
|
185
|
+
--karni-font-mono:
|
|
186
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
|
|
187
|
+
monospace;
|
|
188
|
+
--karni-font-size-xs: 0.75rem;
|
|
189
|
+
--karni-font-size-sm: 0.875rem;
|
|
190
|
+
--karni-font-size-base: 1rem;
|
|
191
|
+
--karni-font-size-lg: 1.125rem;
|
|
192
|
+
--karni-font-size-xl: 1.25rem;
|
|
193
|
+
--karni-font-size-2xl: 1.5rem;
|
|
194
|
+
--karni-font-leading-xs: 1rem;
|
|
195
|
+
--karni-font-leading-sm: 1.25rem;
|
|
196
|
+
--karni-font-leading-base: 1.5rem;
|
|
197
|
+
--karni-font-leading-lg: 1.75rem;
|
|
198
|
+
--karni-font-leading-xl: 1.75rem;
|
|
199
|
+
--karni-font-leading-2xl: 2rem;
|
|
200
|
+
--karni-font-leading-none: 1;
|
|
201
|
+
--karni-font-weight-normal: 400;
|
|
202
|
+
--karni-font-weight-medium: 500;
|
|
203
|
+
--karni-font-weight-semibold: 600;
|
|
204
|
+
--karni-font-weight-bold: 700;
|
|
205
|
+
--karni-font-tracking-tight: -0.025em;
|
|
206
|
+
--karni-font-tracking-wide: 0.025em;
|
|
207
|
+
--karni-font-underline-offset: 4px;
|
|
208
|
+
|
|
209
|
+
/* Tailwind 4's scale (its shadow-sm is Tailwind 3's bare shadow). */
|
|
210
|
+
--karni-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
211
|
+
--karni-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
212
|
+
--karni-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
213
|
+
--karni-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
214
|
+
|
|
215
|
+
--karni-border-width: 1px;
|
|
216
|
+
--karni-border-width-2: 2px;
|
|
217
|
+
--karni-ring-width: 2px;
|
|
218
|
+
--karni-ring-width-1: 1px;
|
|
219
|
+
--karni-ring-offset-width: 2px;
|
|
220
|
+
|
|
221
|
+
/* ResourceTable scrolls inside a box this tall (its header sticks); `none`
|
|
222
|
+
lets the page scroll instead. */
|
|
223
|
+
--karni-table-max-height: 70vh;
|
|
224
|
+
|
|
225
|
+
--karni-z-raised: 10;
|
|
226
|
+
--karni-z-drawer: 40;
|
|
227
|
+
--karni-z-popover: 50;
|
|
228
|
+
--karni-z-modal: 50;
|
|
229
|
+
--karni-z-toast: 100;
|
|
230
|
+
|
|
231
|
+
--karni-opacity-50: 0.5;
|
|
232
|
+
--karni-opacity-60: 0.6;
|
|
233
|
+
--karni-opacity-70: 0.7;
|
|
234
|
+
--karni-opacity-90: 0.9;
|
|
235
|
+
|
|
236
|
+
--karni-duration: 150ms;
|
|
237
|
+
--karni-duration-pulse: 2s;
|
|
238
|
+
--karni-duration-spin: 1s;
|
|
239
|
+
--karni-ease: cubic-bezier(0.4, 0, 0.2, 1);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@media (prefers-reduced-motion: reduce) {
|
|
243
|
+
:root {
|
|
244
|
+
--karni-duration: 0ms;
|
|
245
|
+
--karni-duration-pulse: 0s;
|
|
246
|
+
--karni-duration-spin: 0s;
|
|
247
|
+
}
|
|
248
|
+
}
|
package/dist/tailwind-preset.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=tailwind-preset.cjs.map
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function e(e){return`color-mix(in srgb, var(--karni-color-${e}) calc(<alpha-value> * 100%), transparent)`}var t=[.5,1,1.5,2,2.5,3,3.5,4,5,6,7,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,72,80,96,128];function n(){let e={0:`0px`,px:`var(--karni-space-px, 1px)`};for(let n of t){let t=String(n).replace(`.`,`-`);e[String(n)]=`var(--karni-space-${t}, calc(var(--karni-space-unit, 0.25rem) * ${n}))`}return e}var r={xs:[`0.75rem`,`1rem`],sm:[`0.875rem`,`1.25rem`],base:[`1rem`,`1.5rem`],lg:[`1.125rem`,`1.75rem`],xl:[`1.25rem`,`1.75rem`],"2xl":[`1.5rem`,`2rem`]};function i(){return Object.fromEntries(Object.entries(r).map(([e,[t,n]])=>[e,[`var(--karni-font-size-${e}, ${t})`,{lineHeight:`var(--karni-font-leading-${e}, ${n})`}]]))}var a={darkMode:`class`,theme:{extend:{colors:{background:e(`background`),foreground:e(`foreground`),card:{DEFAULT:e(`card`),foreground:e(`card-foreground`)},popover:{DEFAULT:e(`popover`),foreground:e(`popover-foreground`)},primary:{DEFAULT:e(`primary`),foreground:e(`primary-foreground`),hover:e(`primary-hover`)},secondary:{DEFAULT:e(`secondary`),foreground:e(`secondary-foreground`),hover:e(`secondary-hover`)},muted:{DEFAULT:e(`muted`),foreground:e(`muted-foreground`),subtle:e(`muted-subtle`)},accent:{DEFAULT:e(`accent`),foreground:e(`accent-foreground`)},destructive:{DEFAULT:e(`destructive`),foreground:e(`destructive-foreground`),hover:e(`destructive-hover`),subtle:e(`destructive-subtle`),border:e(`destructive-border`)},border:e(`border`),input:e(`input`),ring:e(`ring`),overlay:e(`overlay`),chart:{1:e(`chart-1`),2:e(`chart-2`),3:e(`chart-3`),4:e(`chart-4`),5:e(`chart-5`)}},borderColor:{DEFAULT:e(`border`)},spacing:n(),borderRadius:{DEFAULT:`var(--karni-radius-sm, 0.25rem)`,sm:`var(--karni-radius-sm, 0.25rem)`,md:`var(--karni-radius-md, 0.375rem)`,lg:`var(--karni-radius-lg, 0.5rem)`,xl:`var(--karni-radius-xl, 0.75rem)`,full:`var(--karni-radius-full, 9999px)`},fontFamily:{sans:`var(--karni-font-sans, ui-sans-serif, system-ui, sans-serif)`,mono:`var(--karni-font-mono, ui-monospace, monospace)`},fontSize:i(),fontWeight:{normal:`var(--karni-font-weight-normal, 400)`,medium:`var(--karni-font-weight-medium, 500)`,semibold:`var(--karni-font-weight-semibold, 600)`,bold:`var(--karni-font-weight-bold, 700)`},lineHeight:{none:`var(--karni-font-leading-none, 1)`},textUnderlineOffset:{4:`var(--karni-font-underline-offset, 4px)`},letterSpacing:{tight:`var(--karni-font-tracking-tight, -0.025em)`,wide:`var(--karni-font-tracking-wide, 0.025em)`},boxShadow:{sm:`var(--karni-shadow-sm, 0 1px 3px 0 rgb(0 0 0 / 0.1))`,DEFAULT:`var(--karni-shadow, 0 1px 3px 0 rgb(0 0 0 / 0.1))`,md:`var(--karni-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1))`,lg:`var(--karni-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1))`},borderWidth:{DEFAULT:`var(--karni-border-width, 1px)`,2:`var(--karni-border-width-2, 2px)`},divideWidth:{DEFAULT:`var(--karni-border-width, 1px)`},outlineWidth:{DEFAULT:`var(--karni-border-width, 1px)`},ringWidth:{1:`var(--karni-ring-width-1, 1px)`,2:`var(--karni-ring-width, 2px)`},ringOffsetWidth:{2:`var(--karni-ring-offset-width, 2px)`},zIndex:{raised:`var(--karni-z-raised, 10)`,drawer:`var(--karni-z-drawer, 40)`,popover:`var(--karni-z-popover, 50)`,modal:`var(--karni-z-modal, 50)`,toast:`var(--karni-z-toast, 100)`},opacity:{50:`var(--karni-opacity-50, 0.5)`,60:`var(--karni-opacity-60, 0.6)`,70:`var(--karni-opacity-70, 0.7)`,90:`var(--karni-opacity-90, 0.9)`},transitionDuration:{DEFAULT:`var(--karni-duration, 150ms)`},transitionTimingFunction:{DEFAULT:`var(--karni-ease, cubic-bezier(0.4, 0, 0.2, 1))`},animation:{pulse:`pulse var(--karni-duration-pulse, 2s) cubic-bezier(0.4, 0, 0.6, 1) infinite`,spin:`spin var(--karni-duration-spin, 1s) linear infinite`}}}};exports.SPACE_STEPS=t,exports.default=a;
|
|
2
|
+
//# sourceMappingURL=tailwind-preset.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-preset.cjs","sources":["../tailwind-preset.ts"],"sourcesContent":["/**\n * Tailwind
|
|
1
|
+
{"version":3,"file":"tailwind-preset.cjs","names":["color","name","SPACE_STEPS","spacing","scale","step","FONT_SIZES","fontSize","size","leading","karniPreset"],"sources":["../tailwind-preset.ts"],"sourcesContent":["/**\n * Tailwind preset for @karni/ui consumers (Tailwind 3, and 4 through @config).\n *\n * Usage (tailwind.config.ts of the consuming app):\n *\n * ```ts\n * import karniPreset from \"@karni/ui/tailwind-preset\";\n *\n * export default {\n * presets: [karniPreset],\n * content: [\n * \"./src/**\\/*.{ts,tsx}\",\n * \"./node_modules/@karni/ui/dist/**\\/*.js\",\n * ],\n * };\n * ```\n *\n * Also import \"@karni/ui/styles.css\" once (it defines the --karni-* tokens).\n * Tailwind v4 loads the same config through `@config` in CSS, next to\n * `@import \"@karni/ui/tailwind-v4.css\"` (see the README).\n */\nimport type { Config } from \"tailwindcss\";\n\n/**\n * A colour token as a Tailwind colour. Wrapping it in color-mix with\n * `<alpha-value>` keeps opacity modifiers (`bg-primary/50`) working in\n * Tailwind 3 as well as 4, for any colour format the token holds.\n */\nfunction color(name: string): string {\n return `color-mix(in srgb, var(--karni-color-${name}) calc(<alpha-value> * 100%), transparent)`;\n}\n\n/** The spacing scale: each step reads --karni-space-<n>, else n × --karni-space-unit. */\nexport const SPACE_STEPS = [\n 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48,\n 52, 56, 60, 64, 72, 80, 96, 128,\n] as const;\n\nfunction spacing(): Record<string, string> {\n const scale: Record<string, string> = {\n 0: \"0px\",\n px: \"var(--karni-space-px, 1px)\",\n };\n for (const step of SPACE_STEPS) {\n const name = String(step).replace(\".\", \"-\");\n scale[String(step)] =\n `var(--karni-space-${name}, calc(var(--karni-space-unit, 0.25rem) * ${step}))`;\n }\n return scale;\n}\n\nconst FONT_SIZES = {\n xs: [\"0.75rem\", \"1rem\"],\n sm: [\"0.875rem\", \"1.25rem\"],\n base: [\"1rem\", \"1.5rem\"],\n lg: [\"1.125rem\", \"1.75rem\"],\n xl: [\"1.25rem\", \"1.75rem\"],\n \"2xl\": [\"1.5rem\", \"2rem\"],\n} as const;\n\nfunction fontSize(): Record<string, [string, { lineHeight: string }]> {\n return Object.fromEntries(\n Object.entries(FONT_SIZES).map(([name, [size, leading]]) => [\n name,\n [\n `var(--karni-font-size-${name}, ${size})`,\n { lineHeight: `var(--karni-font-leading-${name}, ${leading})` },\n ],\n ]),\n );\n}\n\nconst karniPreset = {\n // `as const` keeps the literal type so the preset stays assignable to\n // Config[\"presets\"] when consumers spread it into their own config.\n darkMode: \"class\" as const,\n theme: {\n extend: {\n colors: {\n background: color(\"background\"),\n foreground: color(\"foreground\"),\n card: { DEFAULT: color(\"card\"), foreground: color(\"card-foreground\") },\n popover: { DEFAULT: color(\"popover\"), foreground: color(\"popover-foreground\") },\n primary: {\n DEFAULT: color(\"primary\"),\n foreground: color(\"primary-foreground\"),\n hover: color(\"primary-hover\"),\n },\n secondary: {\n DEFAULT: color(\"secondary\"),\n foreground: color(\"secondary-foreground\"),\n hover: color(\"secondary-hover\"),\n },\n muted: {\n DEFAULT: color(\"muted\"),\n foreground: color(\"muted-foreground\"),\n subtle: color(\"muted-subtle\"),\n },\n accent: { DEFAULT: color(\"accent\"), foreground: color(\"accent-foreground\") },\n destructive: {\n DEFAULT: color(\"destructive\"),\n foreground: color(\"destructive-foreground\"),\n hover: color(\"destructive-hover\"),\n subtle: color(\"destructive-subtle\"),\n border: color(\"destructive-border\"),\n },\n border: color(\"border\"),\n input: color(\"input\"),\n ring: color(\"ring\"),\n overlay: color(\"overlay\"),\n chart: {\n \"1\": color(\"chart-1\"),\n \"2\": color(\"chart-2\"),\n \"3\": color(\"chart-3\"),\n \"4\": color(\"chart-4\"),\n \"5\": color(\"chart-5\"),\n },\n },\n borderColor: {\n // A bare `border` class uses the token, never Tailwind's default gray.\n DEFAULT: color(\"border\"),\n },\n spacing: spacing(),\n borderRadius: {\n DEFAULT: \"var(--karni-radius-sm, 0.25rem)\",\n sm: \"var(--karni-radius-sm, 0.25rem)\",\n md: \"var(--karni-radius-md, 0.375rem)\",\n lg: \"var(--karni-radius-lg, 0.5rem)\",\n xl: \"var(--karni-radius-xl, 0.75rem)\",\n full: \"var(--karni-radius-full, 9999px)\",\n },\n fontFamily: {\n sans: \"var(--karni-font-sans, ui-sans-serif, system-ui, sans-serif)\",\n mono: \"var(--karni-font-mono, ui-monospace, monospace)\",\n },\n fontSize: fontSize(),\n fontWeight: {\n normal: \"var(--karni-font-weight-normal, 400)\",\n medium: \"var(--karni-font-weight-medium, 500)\",\n semibold: \"var(--karni-font-weight-semibold, 600)\",\n bold: \"var(--karni-font-weight-bold, 700)\",\n },\n lineHeight: { none: \"var(--karni-font-leading-none, 1)\" },\n textUnderlineOffset: { \"4\": \"var(--karni-font-underline-offset, 4px)\" },\n letterSpacing: {\n tight: \"var(--karni-font-tracking-tight, -0.025em)\",\n wide: \"var(--karni-font-tracking-wide, 0.025em)\",\n },\n boxShadow: {\n sm: \"var(--karni-shadow-sm, 0 1px 3px 0 rgb(0 0 0 / 0.1))\",\n DEFAULT: \"var(--karni-shadow, 0 1px 3px 0 rgb(0 0 0 / 0.1))\",\n md: \"var(--karni-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1))\",\n lg: \"var(--karni-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1))\",\n },\n borderWidth: {\n DEFAULT: \"var(--karni-border-width, 1px)\",\n \"2\": \"var(--karni-border-width-2, 2px)\",\n },\n divideWidth: { DEFAULT: \"var(--karni-border-width, 1px)\" },\n outlineWidth: { DEFAULT: \"var(--karni-border-width, 1px)\" },\n ringWidth: {\n \"1\": \"var(--karni-ring-width-1, 1px)\",\n \"2\": \"var(--karni-ring-width, 2px)\",\n },\n ringOffsetWidth: { \"2\": \"var(--karni-ring-offset-width, 2px)\" },\n zIndex: {\n raised: \"var(--karni-z-raised, 10)\",\n drawer: \"var(--karni-z-drawer, 40)\",\n popover: \"var(--karni-z-popover, 50)\",\n modal: \"var(--karni-z-modal, 50)\",\n toast: \"var(--karni-z-toast, 100)\",\n },\n opacity: {\n \"50\": \"var(--karni-opacity-50, 0.5)\",\n \"60\": \"var(--karni-opacity-60, 0.6)\",\n \"70\": \"var(--karni-opacity-70, 0.7)\",\n \"90\": \"var(--karni-opacity-90, 0.9)\",\n },\n transitionDuration: { DEFAULT: \"var(--karni-duration, 150ms)\" },\n transitionTimingFunction: { DEFAULT: \"var(--karni-ease, cubic-bezier(0.4, 0, 0.2, 1))\" },\n animation: {\n pulse: \"pulse var(--karni-duration-pulse, 2s) cubic-bezier(0.4, 0, 0.6, 1) infinite\",\n spin: \"spin var(--karni-duration-spin, 1s) linear infinite\",\n },\n },\n },\n} satisfies Omit<Config, \"content\">;\n\nexport default karniPreset;\n"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** The spacing scale: each step reads --karni-space-<n>, else n × --karni-space-unit. */
|
|
2
|
+
export declare const SPACE_STEPS: readonly [0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 96, 128];
|
|
1
3
|
declare const karniPreset: {
|
|
2
4
|
darkMode: "class";
|
|
3
5
|
theme: {
|
|
@@ -16,14 +18,17 @@ declare const karniPreset: {
|
|
|
16
18
|
primary: {
|
|
17
19
|
DEFAULT: string;
|
|
18
20
|
foreground: string;
|
|
21
|
+
hover: string;
|
|
19
22
|
};
|
|
20
23
|
secondary: {
|
|
21
24
|
DEFAULT: string;
|
|
22
25
|
foreground: string;
|
|
26
|
+
hover: string;
|
|
23
27
|
};
|
|
24
28
|
muted: {
|
|
25
29
|
DEFAULT: string;
|
|
26
30
|
foreground: string;
|
|
31
|
+
subtle: string;
|
|
27
32
|
};
|
|
28
33
|
accent: {
|
|
29
34
|
DEFAULT: string;
|
|
@@ -32,10 +37,14 @@ declare const karniPreset: {
|
|
|
32
37
|
destructive: {
|
|
33
38
|
DEFAULT: string;
|
|
34
39
|
foreground: string;
|
|
40
|
+
hover: string;
|
|
41
|
+
subtle: string;
|
|
42
|
+
border: string;
|
|
35
43
|
};
|
|
36
44
|
border: string;
|
|
37
45
|
input: string;
|
|
38
46
|
ring: string;
|
|
47
|
+
overlay: string;
|
|
39
48
|
chart: {
|
|
40
49
|
"1": string;
|
|
41
50
|
"2": string;
|
|
@@ -47,10 +56,83 @@ declare const karniPreset: {
|
|
|
47
56
|
borderColor: {
|
|
48
57
|
DEFAULT: string;
|
|
49
58
|
};
|
|
59
|
+
spacing: Record<string, string>;
|
|
50
60
|
borderRadius: {
|
|
51
|
-
|
|
61
|
+
DEFAULT: string;
|
|
62
|
+
sm: string;
|
|
52
63
|
md: string;
|
|
64
|
+
lg: string;
|
|
65
|
+
xl: string;
|
|
66
|
+
full: string;
|
|
67
|
+
};
|
|
68
|
+
fontFamily: {
|
|
69
|
+
sans: string;
|
|
70
|
+
mono: string;
|
|
71
|
+
};
|
|
72
|
+
fontSize: Record<string, [string, {
|
|
73
|
+
lineHeight: string;
|
|
74
|
+
}]>;
|
|
75
|
+
fontWeight: {
|
|
76
|
+
normal: string;
|
|
77
|
+
medium: string;
|
|
78
|
+
semibold: string;
|
|
79
|
+
bold: string;
|
|
80
|
+
};
|
|
81
|
+
lineHeight: {
|
|
82
|
+
none: string;
|
|
83
|
+
};
|
|
84
|
+
textUnderlineOffset: {
|
|
85
|
+
"4": string;
|
|
86
|
+
};
|
|
87
|
+
letterSpacing: {
|
|
88
|
+
tight: string;
|
|
89
|
+
wide: string;
|
|
90
|
+
};
|
|
91
|
+
boxShadow: {
|
|
53
92
|
sm: string;
|
|
93
|
+
DEFAULT: string;
|
|
94
|
+
md: string;
|
|
95
|
+
lg: string;
|
|
96
|
+
};
|
|
97
|
+
borderWidth: {
|
|
98
|
+
DEFAULT: string;
|
|
99
|
+
"2": string;
|
|
100
|
+
};
|
|
101
|
+
divideWidth: {
|
|
102
|
+
DEFAULT: string;
|
|
103
|
+
};
|
|
104
|
+
outlineWidth: {
|
|
105
|
+
DEFAULT: string;
|
|
106
|
+
};
|
|
107
|
+
ringWidth: {
|
|
108
|
+
"1": string;
|
|
109
|
+
"2": string;
|
|
110
|
+
};
|
|
111
|
+
ringOffsetWidth: {
|
|
112
|
+
"2": string;
|
|
113
|
+
};
|
|
114
|
+
zIndex: {
|
|
115
|
+
raised: string;
|
|
116
|
+
drawer: string;
|
|
117
|
+
popover: string;
|
|
118
|
+
modal: string;
|
|
119
|
+
toast: string;
|
|
120
|
+
};
|
|
121
|
+
opacity: {
|
|
122
|
+
"50": string;
|
|
123
|
+
"60": string;
|
|
124
|
+
"70": string;
|
|
125
|
+
"90": string;
|
|
126
|
+
};
|
|
127
|
+
transitionDuration: {
|
|
128
|
+
DEFAULT: string;
|
|
129
|
+
};
|
|
130
|
+
transitionTimingFunction: {
|
|
131
|
+
DEFAULT: string;
|
|
132
|
+
};
|
|
133
|
+
animation: {
|
|
134
|
+
pulse: string;
|
|
135
|
+
spin: string;
|
|
54
136
|
};
|
|
55
137
|
};
|
|
56
138
|
};
|
package/dist/tailwind-preset.js
CHANGED
|
@@ -1,64 +1,183 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
1
|
+
//#region tailwind-preset.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return `color-mix(in srgb, var(--karni-color-${e}) calc(<alpha-value> * 100%), transparent)`;
|
|
4
|
+
}
|
|
5
|
+
var t = [
|
|
6
|
+
.5,
|
|
7
|
+
1,
|
|
8
|
+
1.5,
|
|
9
|
+
2,
|
|
10
|
+
2.5,
|
|
11
|
+
3,
|
|
12
|
+
3.5,
|
|
13
|
+
4,
|
|
14
|
+
5,
|
|
15
|
+
6,
|
|
16
|
+
7,
|
|
17
|
+
8,
|
|
18
|
+
9,
|
|
19
|
+
10,
|
|
20
|
+
11,
|
|
21
|
+
12,
|
|
22
|
+
14,
|
|
23
|
+
16,
|
|
24
|
+
20,
|
|
25
|
+
24,
|
|
26
|
+
28,
|
|
27
|
+
32,
|
|
28
|
+
36,
|
|
29
|
+
40,
|
|
30
|
+
44,
|
|
31
|
+
48,
|
|
32
|
+
52,
|
|
33
|
+
56,
|
|
34
|
+
60,
|
|
35
|
+
64,
|
|
36
|
+
72,
|
|
37
|
+
80,
|
|
38
|
+
96,
|
|
39
|
+
128
|
|
40
|
+
];
|
|
41
|
+
function n() {
|
|
42
|
+
let e = {
|
|
43
|
+
0: "0px",
|
|
44
|
+
px: "var(--karni-space-px, 1px)"
|
|
45
|
+
};
|
|
46
|
+
for (let n of t) {
|
|
47
|
+
let t = String(n).replace(".", "-");
|
|
48
|
+
e[String(n)] = `var(--karni-space-${t}, calc(var(--karni-space-unit, 0.25rem) * ${n}))`;
|
|
49
|
+
}
|
|
50
|
+
return e;
|
|
51
|
+
}
|
|
52
|
+
var r = {
|
|
53
|
+
xs: ["0.75rem", "1rem"],
|
|
54
|
+
sm: ["0.875rem", "1.25rem"],
|
|
55
|
+
base: ["1rem", "1.5rem"],
|
|
56
|
+
lg: ["1.125rem", "1.75rem"],
|
|
57
|
+
xl: ["1.25rem", "1.75rem"],
|
|
58
|
+
"2xl": ["1.5rem", "2rem"]
|
|
60
59
|
};
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
function i() {
|
|
61
|
+
return Object.fromEntries(Object.entries(r).map(([e, [t, n]]) => [e, [`var(--karni-font-size-${e}, ${t})`, { lineHeight: `var(--karni-font-leading-${e}, ${n})` }]]));
|
|
62
|
+
}
|
|
63
|
+
var a = {
|
|
64
|
+
darkMode: "class",
|
|
65
|
+
theme: { extend: {
|
|
66
|
+
colors: {
|
|
67
|
+
background: e("background"),
|
|
68
|
+
foreground: e("foreground"),
|
|
69
|
+
card: {
|
|
70
|
+
DEFAULT: e("card"),
|
|
71
|
+
foreground: e("card-foreground")
|
|
72
|
+
},
|
|
73
|
+
popover: {
|
|
74
|
+
DEFAULT: e("popover"),
|
|
75
|
+
foreground: e("popover-foreground")
|
|
76
|
+
},
|
|
77
|
+
primary: {
|
|
78
|
+
DEFAULT: e("primary"),
|
|
79
|
+
foreground: e("primary-foreground"),
|
|
80
|
+
hover: e("primary-hover")
|
|
81
|
+
},
|
|
82
|
+
secondary: {
|
|
83
|
+
DEFAULT: e("secondary"),
|
|
84
|
+
foreground: e("secondary-foreground"),
|
|
85
|
+
hover: e("secondary-hover")
|
|
86
|
+
},
|
|
87
|
+
muted: {
|
|
88
|
+
DEFAULT: e("muted"),
|
|
89
|
+
foreground: e("muted-foreground"),
|
|
90
|
+
subtle: e("muted-subtle")
|
|
91
|
+
},
|
|
92
|
+
accent: {
|
|
93
|
+
DEFAULT: e("accent"),
|
|
94
|
+
foreground: e("accent-foreground")
|
|
95
|
+
},
|
|
96
|
+
destructive: {
|
|
97
|
+
DEFAULT: e("destructive"),
|
|
98
|
+
foreground: e("destructive-foreground"),
|
|
99
|
+
hover: e("destructive-hover"),
|
|
100
|
+
subtle: e("destructive-subtle"),
|
|
101
|
+
border: e("destructive-border")
|
|
102
|
+
},
|
|
103
|
+
border: e("border"),
|
|
104
|
+
input: e("input"),
|
|
105
|
+
ring: e("ring"),
|
|
106
|
+
overlay: e("overlay"),
|
|
107
|
+
chart: {
|
|
108
|
+
1: e("chart-1"),
|
|
109
|
+
2: e("chart-2"),
|
|
110
|
+
3: e("chart-3"),
|
|
111
|
+
4: e("chart-4"),
|
|
112
|
+
5: e("chart-5")
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
borderColor: { DEFAULT: e("border") },
|
|
116
|
+
spacing: n(),
|
|
117
|
+
borderRadius: {
|
|
118
|
+
DEFAULT: "var(--karni-radius-sm, 0.25rem)",
|
|
119
|
+
sm: "var(--karni-radius-sm, 0.25rem)",
|
|
120
|
+
md: "var(--karni-radius-md, 0.375rem)",
|
|
121
|
+
lg: "var(--karni-radius-lg, 0.5rem)",
|
|
122
|
+
xl: "var(--karni-radius-xl, 0.75rem)",
|
|
123
|
+
full: "var(--karni-radius-full, 9999px)"
|
|
124
|
+
},
|
|
125
|
+
fontFamily: {
|
|
126
|
+
sans: "var(--karni-font-sans, ui-sans-serif, system-ui, sans-serif)",
|
|
127
|
+
mono: "var(--karni-font-mono, ui-monospace, monospace)"
|
|
128
|
+
},
|
|
129
|
+
fontSize: i(),
|
|
130
|
+
fontWeight: {
|
|
131
|
+
normal: "var(--karni-font-weight-normal, 400)",
|
|
132
|
+
medium: "var(--karni-font-weight-medium, 500)",
|
|
133
|
+
semibold: "var(--karni-font-weight-semibold, 600)",
|
|
134
|
+
bold: "var(--karni-font-weight-bold, 700)"
|
|
135
|
+
},
|
|
136
|
+
lineHeight: { none: "var(--karni-font-leading-none, 1)" },
|
|
137
|
+
textUnderlineOffset: { 4: "var(--karni-font-underline-offset, 4px)" },
|
|
138
|
+
letterSpacing: {
|
|
139
|
+
tight: "var(--karni-font-tracking-tight, -0.025em)",
|
|
140
|
+
wide: "var(--karni-font-tracking-wide, 0.025em)"
|
|
141
|
+
},
|
|
142
|
+
boxShadow: {
|
|
143
|
+
sm: "var(--karni-shadow-sm, 0 1px 3px 0 rgb(0 0 0 / 0.1))",
|
|
144
|
+
DEFAULT: "var(--karni-shadow, 0 1px 3px 0 rgb(0 0 0 / 0.1))",
|
|
145
|
+
md: "var(--karni-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1))",
|
|
146
|
+
lg: "var(--karni-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1))"
|
|
147
|
+
},
|
|
148
|
+
borderWidth: {
|
|
149
|
+
DEFAULT: "var(--karni-border-width, 1px)",
|
|
150
|
+
2: "var(--karni-border-width-2, 2px)"
|
|
151
|
+
},
|
|
152
|
+
divideWidth: { DEFAULT: "var(--karni-border-width, 1px)" },
|
|
153
|
+
outlineWidth: { DEFAULT: "var(--karni-border-width, 1px)" },
|
|
154
|
+
ringWidth: {
|
|
155
|
+
1: "var(--karni-ring-width-1, 1px)",
|
|
156
|
+
2: "var(--karni-ring-width, 2px)"
|
|
157
|
+
},
|
|
158
|
+
ringOffsetWidth: { 2: "var(--karni-ring-offset-width, 2px)" },
|
|
159
|
+
zIndex: {
|
|
160
|
+
raised: "var(--karni-z-raised, 10)",
|
|
161
|
+
drawer: "var(--karni-z-drawer, 40)",
|
|
162
|
+
popover: "var(--karni-z-popover, 50)",
|
|
163
|
+
modal: "var(--karni-z-modal, 50)",
|
|
164
|
+
toast: "var(--karni-z-toast, 100)"
|
|
165
|
+
},
|
|
166
|
+
opacity: {
|
|
167
|
+
50: "var(--karni-opacity-50, 0.5)",
|
|
168
|
+
60: "var(--karni-opacity-60, 0.6)",
|
|
169
|
+
70: "var(--karni-opacity-70, 0.7)",
|
|
170
|
+
90: "var(--karni-opacity-90, 0.9)"
|
|
171
|
+
},
|
|
172
|
+
transitionDuration: { DEFAULT: "var(--karni-duration, 150ms)" },
|
|
173
|
+
transitionTimingFunction: { DEFAULT: "var(--karni-ease, cubic-bezier(0.4, 0, 0.2, 1))" },
|
|
174
|
+
animation: {
|
|
175
|
+
pulse: "pulse var(--karni-duration-pulse, 2s) cubic-bezier(0.4, 0, 0.6, 1) infinite",
|
|
176
|
+
spin: "spin var(--karni-duration-spin, 1s) linear infinite"
|
|
177
|
+
}
|
|
178
|
+
} }
|
|
63
179
|
};
|
|
64
|
-
//#
|
|
180
|
+
//#endregion
|
|
181
|
+
export { t as SPACE_STEPS, a as default };
|
|
182
|
+
|
|
183
|
+
//# sourceMappingURL=tailwind-preset.js.map
|