@cryptlex/web-components 6.6.6-alpha05 → 6.6.6-alpha07
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/dist/components/data-table-filter.d.ts +3 -6
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/icons.js +146 -146
- package/dist/components/icons.js.map +1 -1
- package/dist/components/id-search.js +1 -1
- package/dist/components/id-search.js.map +1 -1
- package/dist/utilities/form.d.ts +1 -1
- package/dist/utilities/form.js +1 -1
- package/dist/utilities/form.js.map +1 -1
- package/lib/index.css +236 -4
- package/package.json +14 -15
- package/lib/base.css +0 -25
- package/lib/theme.css +0 -122
- package/lib/utilities.css +0 -85
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sources":["../../lib/utilities/form.tsx"],"sourcesContent":["import { type AnyFieldMeta, type FieldApi, type FormApi } from '@tanstack/react-form';\nimport React from 'react';\nimport { useFieldContext } from './form-context';\n\ntype FieldContextProps = {\n disabled?: boolean;\n};\n\n/**\n * Custom hook to handle disabled state for form fields\n * @param {boolean} disabled - The disabled prop passed to the component\n * @returns The field context with disabled state properly managed\n */\nexport
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../lib/utilities/form.tsx"],"sourcesContent":["import { type AnyFieldMeta, type FieldApi, type FormApi } from '@tanstack/react-form';\nimport React from 'react';\nimport { useFieldContext } from './form-context';\n\ntype FieldContextProps = {\n disabled?: boolean;\n};\n\n/**\n * Custom hook to handle disabled state for form fields\n * @param {boolean} disabled - The disabled prop passed to the component\n * @returns The field context with disabled state properly managed\n */\nexport function useTfFieldContext<T>({ disabled }: FieldContextProps) {\n const field = useFieldContext<T>();\n\n React.useEffect(() => {\n field.setMeta(meta => ({\n ...meta,\n disabled: !!disabled,\n }));\n }, [disabled, field]);\n\n return field;\n}\n\n/** Utility type to simplify FormApi usage */\nexport type AppFormApi<TValues> = FormApi<TValues, any, any, any, any, any, any, any, any, any>;\n\n/**\n * Utility function to submit a form with a handler that receives the values and the formApi.\n * @param onSubmit - The handler function to call with the values and the formApi.\n * @returns A function that can be used to submit the form. It will filter out disabled fields from the values.\n */\nexport function tfOnSubmit<TValues>(\n onSubmit: ({ values, formApi }: { values: TValues; formApi: AppFormApi<TValues> }) => Promise<any> | any\n) {\n return async ({ formApi }: { formApi: AppFormApi<TValues> }): Promise<any> => {\n const values = pickEnabledFields(formApi.state.values, formApi);\n\n await onSubmit({ values, formApi });\n };\n}\nfunction pickEnabledFields<TValues>(rawValues: TValues, formApi: AppFormApi<TValues>): TValues {\n const result: TValues = {} as TValues;\n\n //TODO: Nested objects are not supported yet\n for (const key in rawValues) {\n const meta = formApi.getFieldMeta(key) as AnyFieldMeta & {\n disabled?: boolean;\n };\n if (!meta?.disabled) {\n result[key] = rawValues[key];\n }\n }\n\n return result;\n}\n\nexport function getFieldErrorMessage(\n field: FieldApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>\n): string {\n return field?.state.meta.errors.map(e => e?.message).join(',');\n}\n"],"names":["useTfFieldContext","disabled","field","useFieldContext","React","meta","tfOnSubmit","onSubmit","formApi","values","pickEnabledFields","rawValues","result","key","getFieldErrorMessage","e"],"mappings":"sGAaO,SAASA,EAAqB,CAAE,SAAAC,GAA+B,CAClE,MAAMC,EAAQC,EAAA,EAEd,OAAAC,EAAM,UAAU,IAAM,CAClBF,EAAM,QAAQG,IAAS,CACnB,GAAGA,EACH,SAAU,CAAC,CAACJ,CAAA,EACd,CACN,EAAG,CAACA,EAAUC,CAAK,CAAC,EAEbA,CACX,CAUO,SAASI,EACZC,EACF,CACE,MAAO,OAAO,CAAE,QAAAC,KAA8D,CAC1E,MAAMC,EAASC,EAAkBF,EAAQ,MAAM,OAAQA,CAAO,EAE9D,MAAMD,EAAS,CAAE,OAAAE,EAAQ,QAAAD,EAAS,CACtC,CACJ,CACA,SAASE,EAA2BC,EAAoBH,EAAuC,CAC3F,MAAMI,EAAkB,CAAA,EAGxB,UAAWC,KAAOF,EACDH,EAAQ,aAAaK,CAAG,GAG1B,WACPD,EAAOC,CAAG,EAAIF,EAAUE,CAAG,GAInC,OAAOD,CACX,CAEO,SAASE,EACZZ,EACM,CACN,OAAOA,GAAO,MAAM,KAAK,OAAO,OAASa,GAAG,OAAO,EAAE,KAAK,GAAG,CACjE"}
|
package/lib/index.css
CHANGED
|
@@ -1,7 +1,239 @@
|
|
|
1
1
|
@import 'tailwindcss';
|
|
2
|
-
@import 'tw-animate-css';
|
|
3
2
|
@import './tokens.css';
|
|
4
|
-
|
|
3
|
+
/** https://tailwindcss.com/docs/theme#theme-variable-namespaces */
|
|
4
|
+
@theme inline {
|
|
5
|
+
/* Radius */
|
|
6
|
+
--radius-*: initial;
|
|
7
|
+
|
|
8
|
+
/* Text Sizes */
|
|
9
|
+
/* Reset all default text sizes */
|
|
10
|
+
--text-*: initial;
|
|
11
|
+
|
|
12
|
+
/* No shadows needed so far, just don't use them. */
|
|
13
|
+
--shadow-*: initial;
|
|
14
|
+
|
|
15
|
+
/* Colors */
|
|
16
|
+
--color-*: initial;
|
|
17
|
+
--color-primary-1: var(--primary-1);
|
|
18
|
+
--color-primary-2: var(--primary-2);
|
|
19
|
+
--color-primary-3: var(--primary-3);
|
|
20
|
+
--color-primary-4: var(--primary-4);
|
|
21
|
+
--color-primary-5: var(--primary-5);
|
|
22
|
+
--color-primary-6: var(--primary-6);
|
|
23
|
+
--color-primary-7: var(--primary-7);
|
|
24
|
+
--color-primary-8: var(--primary-8);
|
|
25
|
+
--color-primary-9: var(--primary-9);
|
|
26
|
+
--color-primary-10: var(--primary-10);
|
|
27
|
+
|
|
28
|
+
--color-secondary-1: var(--secondary-1);
|
|
29
|
+
--color-secondary-2: var(--secondary-2);
|
|
30
|
+
--color-secondary-3: var(--secondary-3);
|
|
31
|
+
--color-secondary-4: var(--secondary-4);
|
|
32
|
+
--color-secondary-5: var(--secondary-5);
|
|
33
|
+
--color-secondary-6: var(--secondary-6);
|
|
34
|
+
--color-secondary-7: var(--secondary-7);
|
|
35
|
+
--color-secondary-8: var(--secondary-8);
|
|
36
|
+
--color-secondary-9: var(--secondary-9);
|
|
37
|
+
--color-secondary-10: var(--secondary-10);
|
|
38
|
+
|
|
39
|
+
--color-neutral-1: var(--neutral-1);
|
|
40
|
+
--color-neutral-2: var(--neutral-2);
|
|
41
|
+
--color-neutral-3: var(--neutral-3);
|
|
42
|
+
--color-neutral-4: var(--neutral-4);
|
|
43
|
+
--color-neutral-5: var(--neutral-5);
|
|
44
|
+
--color-neutral-6: var(--neutral-6);
|
|
45
|
+
--color-neutral-7: var(--neutral-7);
|
|
46
|
+
--color-neutral-8: var(--neutral-8);
|
|
47
|
+
--color-neutral-9: var(--neutral-9);
|
|
48
|
+
--color-neutral-10: var(--neutral-10);
|
|
49
|
+
|
|
50
|
+
--color-destructive-1: var(--destructive-1);
|
|
51
|
+
--color-destructive-2: var(--destructive-2);
|
|
52
|
+
--color-destructive-3: var(--destructive-3);
|
|
53
|
+
--color-destructive-4: var(--destructive-4);
|
|
54
|
+
--color-destructive-5: var(--destructive-5);
|
|
55
|
+
--color-destructive-6: var(--destructive-6);
|
|
56
|
+
--color-destructive-7: var(--destructive-7);
|
|
57
|
+
--color-destructive-8: var(--destructive-8);
|
|
58
|
+
--color-destructive-9: var(--destructive-9);
|
|
59
|
+
--color-destructive-10: var(--destructive-10);
|
|
60
|
+
|
|
61
|
+
--color-success-1: var(--success-1);
|
|
62
|
+
--color-success-2: var(--success-2);
|
|
63
|
+
--color-success-3: var(--success-3);
|
|
64
|
+
--color-success-4: var(--success-4);
|
|
65
|
+
--color-success-5: var(--success-5);
|
|
66
|
+
--color-success-6: var(--success-6);
|
|
67
|
+
--color-success-7: var(--success-7);
|
|
68
|
+
--color-success-8: var(--success-8);
|
|
69
|
+
--color-success-9: var(--success-9);
|
|
70
|
+
--color-success-10: var(--success-10);
|
|
71
|
+
|
|
72
|
+
--color-background: var(--color-neutral-3);
|
|
73
|
+
--color-elevation-1: var(--color-neutral-2);
|
|
74
|
+
--color-elevation-2: var(--color-neutral-1);
|
|
75
|
+
|
|
76
|
+
--color-foreground: var(--color-neutral-8);
|
|
77
|
+
--color-card: var(--color-elevation-1);
|
|
78
|
+
--color-card-foreground: var(--color-foreground);
|
|
79
|
+
/* Assuming popovers only show up over cards ??? */
|
|
80
|
+
--color-popover: var(--color-elevation-2);
|
|
81
|
+
--color-popover-foreground: var(--color-foreground);
|
|
82
|
+
|
|
83
|
+
--color-primary: var(--color-primary-7);
|
|
84
|
+
--color-primary-foreground: var(--color-primary-2);
|
|
85
|
+
--color-secondary: var(--color-secondary-7);
|
|
86
|
+
--color-secondary-foreground: var(--color-secondary-2);
|
|
87
|
+
--color-muted: var(--color-neutral-7);
|
|
88
|
+
--color-muted-foreground: var(--color-neutral-4);
|
|
89
|
+
--color-accent: var(--color-neutral-7);
|
|
90
|
+
--color-accent-foreground: var(--color-neutral-4);
|
|
91
|
+
--color-destructive: var(--color-destructive-7);
|
|
92
|
+
--color-destructive-foreground: var(--color-destructive-2);
|
|
93
|
+
--color-success: var(--color-success-7);
|
|
94
|
+
--color-success-foreground: var(--color-success-2);
|
|
95
|
+
|
|
96
|
+
--color-border: var(--color-neutral-4);
|
|
97
|
+
--color-input: var(--color-border);
|
|
98
|
+
--color-ring: var(--color-neutral-5);
|
|
99
|
+
|
|
100
|
+
--color-chart-1: var(--color-primary-5);
|
|
101
|
+
--color-chart-2: var(--color-primary-4);
|
|
102
|
+
--color-chart-3: var(--color-secondary-5);
|
|
103
|
+
--color-chart-4: var(--color-secondary-4);
|
|
104
|
+
--color-chart-5: var(--color-secondary-2);
|
|
105
|
+
|
|
106
|
+
--color-sidebar-background: var(--color-elevation-1);
|
|
107
|
+
--color-sidebar-foreground: var(--color-foreground);
|
|
108
|
+
|
|
109
|
+
--spacing-input: --spacing(8);
|
|
110
|
+
--spacing-icon: --spacing(4);
|
|
111
|
+
--spacing-table: --spacing(100);
|
|
112
|
+
|
|
113
|
+
--sidebar-width: var(--container-3xs);
|
|
114
|
+
--sidebar-width-mobile: var(--container-2xs);
|
|
115
|
+
--sidebar-width-icon: --spacing(12);
|
|
116
|
+
|
|
117
|
+
/* Header nav */
|
|
118
|
+
--spacing-header: --spacing(12);
|
|
119
|
+
/* Helper for using sidebar with header */
|
|
120
|
+
--spacing-sidebar: calc(100svh - var(--spacing-header));
|
|
121
|
+
|
|
122
|
+
/* Minimum length for fluid grid containers */
|
|
123
|
+
--fluid-grid-min: var(--container-3xs);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@import 'tw-animate-css';
|
|
5
127
|
@import 'tw-type-css';
|
|
6
|
-
|
|
7
|
-
@
|
|
128
|
+
|
|
129
|
+
@utility link {
|
|
130
|
+
@apply text-primary/70 focus:text-primary hover:text-primary;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* Fluid grid with minimum width */
|
|
134
|
+
@utility grid-fluid {
|
|
135
|
+
@apply grid grid-cols-[repeat(auto-fill,_minmax(var(--fluid-grid-min),_1fr))] gap-icon;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@utility focus-ring {
|
|
139
|
+
@apply data-[focus-visible]:outline-none focus-visible:outline-none data-[focus-visible]:ring-1 data-[focus-visible]:ring-ring data-[focus-visible]:ring-offset-2 focus-visible:outline-hidden focus-visible:ring-offset-2 focus-visible:ring-1 focus-visible:ring-ring;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@utility disabled-muted {
|
|
143
|
+
@apply disabled:cursor-not-allowed disabled:opacity-70 aria-disabled:cursor-not-allowed aria-disabled:opacity-70 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none data-[disabled]:opacity-70;
|
|
144
|
+
}
|
|
145
|
+
@utility input {
|
|
146
|
+
@apply border border-input bg-popover px-icon py-2 body-sm placeholder:text-muted-foreground disabled-muted focus-ring;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* A base set of classes for elements that can be clicked */
|
|
150
|
+
@utility btn {
|
|
151
|
+
@apply inline-flex gap-1 data-[disabled]:pointer-events-none text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 leading-none outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@utility btn-link {
|
|
155
|
+
@apply btn-ghost underline underline-offset-2;
|
|
156
|
+
}
|
|
157
|
+
@utility btn-primary {
|
|
158
|
+
@apply border border-primary text-primary bg-primary/10 hover:bg-primary/20 data-[hovered]:bg-primary/20 focus:bg-primary/20 data-[focused]:bg-primary/20;
|
|
159
|
+
}
|
|
160
|
+
@utility btn-destructive {
|
|
161
|
+
@apply border border-destructive text-destructive bg-destructive/10 hover:bg-destructive/20 data-[hovered]:bg-destructive/20 focus:bg-destructive/20 data-[focused]:bg-destructive/20;
|
|
162
|
+
}
|
|
163
|
+
@utility btn-neutral {
|
|
164
|
+
@apply border border-input text-accent bg-accent/10 hover:bg-accent/20 data-[hovered]:bg-accent/20 focus:bg-accent/20 data-[focused]:bg-accent/20;
|
|
165
|
+
}
|
|
166
|
+
@utility btn-secondary {
|
|
167
|
+
@apply border border-secondary text-secondary bg-secondary/10 hover:bg-secondary/20 data-[hovered]:bg-secondary/20 focus:bg-secondary/20 data-[focused]:bg-secondary/20;
|
|
168
|
+
}
|
|
169
|
+
@utility btn-ghost {
|
|
170
|
+
@apply bg-transparent focus:bg-accent/20 data-[focused]:bg-accent/20 hover:bg-accent/20 data-[hovered]:bg-accent/20;
|
|
171
|
+
}
|
|
172
|
+
@utility btn-tab {
|
|
173
|
+
@apply truncate btn btn-ghost input-dim font-normal text-accent justify-start data-[selected=true]:bg-primary/20 data-[selected=true]:font-medium data-[selected=true]:text-primary;
|
|
174
|
+
}
|
|
175
|
+
/* Dimensions for a standard input */
|
|
176
|
+
@utility input-dim {
|
|
177
|
+
@apply h-input px-icon py-2 body-sm leading-none;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@utility form-column {
|
|
181
|
+
@apply flex flex-col gap-input;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@utility form-field {
|
|
185
|
+
@apply flex flex-col gap-1;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@utility steps {
|
|
189
|
+
@apply ps-0;
|
|
190
|
+
> ol {
|
|
191
|
+
counter-reset: steps-counter;
|
|
192
|
+
@apply list-none ps-0;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
> ol > li {
|
|
196
|
+
counter-increment: steps-counter;
|
|
197
|
+
@apply relative ps-input pb-2 min-h-12 list-none;
|
|
198
|
+
}
|
|
199
|
+
> ol > li + li {
|
|
200
|
+
@apply mt-0;
|
|
201
|
+
}
|
|
202
|
+
> ol > li::before {
|
|
203
|
+
content: counter(steps-counter);
|
|
204
|
+
@apply absolute top-0 start-0 size-icon leading-icon bg-accent text-accent-foreground body-sm font-semibold text-center rounded-full;
|
|
205
|
+
}
|
|
206
|
+
> ol > li::after {
|
|
207
|
+
content: '';
|
|
208
|
+
@apply absolute bg-border w-[1px] top-5 h-1/2 left-2 py-1;
|
|
209
|
+
}
|
|
210
|
+
> ol > li:last-child::after {
|
|
211
|
+
@apply content-none;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@layer base {
|
|
216
|
+
* {
|
|
217
|
+
@apply border-border outline-ring/50;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
body {
|
|
221
|
+
@apply bg-background text-foreground;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.tw-prose a {
|
|
225
|
+
@apply link;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
*::-webkit-scrollbar {
|
|
229
|
+
@apply size-2;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
*::-webkit-scrollbar-track {
|
|
233
|
+
@apply bg-card rounded-none;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
*::-webkit-scrollbar-thumb {
|
|
237
|
+
@apply bg-foreground/70 hover:bg-foreground;
|
|
238
|
+
}
|
|
239
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptlex/web-components",
|
|
3
|
-
"version": "6.6.6-
|
|
3
|
+
"version": "6.6.6-alpha07",
|
|
4
4
|
"description": "React component library for Cryptlex web applications",
|
|
5
5
|
"author": "Cryptlex",
|
|
6
6
|
"type": "module",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@dnd-kit/core": "6.3.1",
|
|
50
50
|
"@dnd-kit/sortable": "10.0.0",
|
|
51
51
|
"@dnd-kit/utilities": "3.2.2",
|
|
52
|
-
"@internationalized/date": "3.
|
|
52
|
+
"@internationalized/date": "3.9.0",
|
|
53
53
|
"@tanstack/react-form": "1.6.3",
|
|
54
54
|
"@tanstack/react-query": "5.62.3",
|
|
55
55
|
"@tanstack/react-table": "8.20.5",
|
|
@@ -72,12 +72,13 @@
|
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@rollup/plugin-node-resolve": "16.0.1",
|
|
75
|
-
"@storybook/addon-a11y": "9.1.
|
|
76
|
-
"@storybook/addon-docs": "9.1.
|
|
77
|
-
"@storybook/addon-links": "9.1.
|
|
78
|
-
"@storybook/addon-onboarding": "9.1.
|
|
79
|
-
"@storybook/addon-vitest": "9.1.
|
|
80
|
-
"@storybook/react-vite": "9.1.
|
|
75
|
+
"@storybook/addon-a11y": "9.1.4",
|
|
76
|
+
"@storybook/addon-docs": "9.1.4",
|
|
77
|
+
"@storybook/addon-links": "9.1.4",
|
|
78
|
+
"@storybook/addon-onboarding": "9.1.4",
|
|
79
|
+
"@storybook/addon-vitest": "9.1.4",
|
|
80
|
+
"@storybook/react-vite": "9.1.4",
|
|
81
|
+
"@tailwindcss/cli": "4.1.12",
|
|
81
82
|
"@tailwindcss/vite": "4.1.12",
|
|
82
83
|
"@types/node": "^22.7.8",
|
|
83
84
|
"@types/react": "^19.1.0",
|
|
@@ -87,22 +88,20 @@
|
|
|
87
88
|
"@vitest/coverage-v8": "^3.2.4",
|
|
88
89
|
"husky": "^9.1.7",
|
|
89
90
|
"lint-staged": "^16.1.4",
|
|
90
|
-
"lucide-react": "0.
|
|
91
|
+
"lucide-react": "0.541.0",
|
|
91
92
|
"playwright": "^1.55.0",
|
|
92
93
|
"prettier": "3.6.2",
|
|
93
94
|
"rollup-preserve-directives": "1.1.3",
|
|
94
|
-
"sass": "1.
|
|
95
|
-
"storybook": "9.1.
|
|
96
|
-
"typescript": "5.
|
|
97
|
-
"
|
|
98
|
-
"vite": "7.0.6",
|
|
95
|
+
"sass": "1.89.2",
|
|
96
|
+
"storybook": "9.1.4",
|
|
97
|
+
"typescript": "5.9.2",
|
|
98
|
+
"vite": "7.1.4",
|
|
99
99
|
"vite-plugin-dts": "4.5.4",
|
|
100
100
|
"vite-tsconfig-paths": "5.1.4",
|
|
101
101
|
"vitest": "^3.2.4"
|
|
102
102
|
},
|
|
103
103
|
"scripts": {
|
|
104
104
|
"build": "tsc && vite build",
|
|
105
|
-
"lint": "eslint .",
|
|
106
105
|
"storybook": "storybook dev -p 6006 --no-open",
|
|
107
106
|
"build:storybook": "storybook build",
|
|
108
107
|
"build:tokens": "sass --no-source-map ./lib/tokens.scss ./lib/tokens.css",
|
package/lib/base.css
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
@layer base {
|
|
2
|
-
* {
|
|
3
|
-
@apply border-border outline-ring/50;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
body {
|
|
7
|
-
@apply bg-background text-foreground;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.tw-prose a {
|
|
11
|
-
@apply link;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
*::-webkit-scrollbar {
|
|
15
|
-
@apply size-2;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
*::-webkit-scrollbar-track {
|
|
19
|
-
@apply bg-card rounded-none;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
*::-webkit-scrollbar-thumb {
|
|
23
|
-
@apply bg-foreground/70 hover:bg-foreground;
|
|
24
|
-
}
|
|
25
|
-
}
|
package/lib/theme.css
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
/** https://tailwindcss.com/docs/theme#theme-variable-namespaces */
|
|
2
|
-
@theme {
|
|
3
|
-
/* Radius */
|
|
4
|
-
--radius-*: initial;
|
|
5
|
-
|
|
6
|
-
/* Text Sizes */
|
|
7
|
-
/* Reset all default text sizes */
|
|
8
|
-
--text-*: initial;
|
|
9
|
-
|
|
10
|
-
/* No shadows needed so far, just don't use them. */
|
|
11
|
-
--shadow-*: initial;
|
|
12
|
-
|
|
13
|
-
/* Colors */
|
|
14
|
-
--color-*: initial;
|
|
15
|
-
--color-primary-1: var(--primary-1);
|
|
16
|
-
--color-primary-2: var(--primary-2);
|
|
17
|
-
--color-primary-3: var(--primary-3);
|
|
18
|
-
--color-primary-4: var(--primary-4);
|
|
19
|
-
--color-primary-5: var(--primary-5);
|
|
20
|
-
--color-primary-6: var(--primary-6);
|
|
21
|
-
--color-primary-7: var(--primary-7);
|
|
22
|
-
--color-primary-8: var(--primary-8);
|
|
23
|
-
--color-primary-9: var(--primary-9);
|
|
24
|
-
--color-primary-10: var(--primary-10);
|
|
25
|
-
|
|
26
|
-
--color-secondary-1: var(--secondary-1);
|
|
27
|
-
--color-secondary-2: var(--secondary-2);
|
|
28
|
-
--color-secondary-3: var(--secondary-3);
|
|
29
|
-
--color-secondary-4: var(--secondary-4);
|
|
30
|
-
--color-secondary-5: var(--secondary-5);
|
|
31
|
-
--color-secondary-6: var(--secondary-6);
|
|
32
|
-
--color-secondary-7: var(--secondary-7);
|
|
33
|
-
--color-secondary-8: var(--secondary-8);
|
|
34
|
-
--color-secondary-9: var(--secondary-9);
|
|
35
|
-
--color-secondary-10: var(--secondary-10);
|
|
36
|
-
|
|
37
|
-
--color-neutral-1: var(--neutral-1);
|
|
38
|
-
--color-neutral-2: var(--neutral-2);
|
|
39
|
-
--color-neutral-3: var(--neutral-3);
|
|
40
|
-
--color-neutral-4: var(--neutral-4);
|
|
41
|
-
--color-neutral-5: var(--neutral-5);
|
|
42
|
-
--color-neutral-6: var(--neutral-6);
|
|
43
|
-
--color-neutral-7: var(--neutral-7);
|
|
44
|
-
--color-neutral-8: var(--neutral-8);
|
|
45
|
-
--color-neutral-9: var(--neutral-9);
|
|
46
|
-
--color-neutral-10: var(--neutral-10);
|
|
47
|
-
|
|
48
|
-
--color-destructive-1: var(--destructive-1);
|
|
49
|
-
--color-destructive-2: var(--destructive-2);
|
|
50
|
-
--color-destructive-3: var(--destructive-3);
|
|
51
|
-
--color-destructive-4: var(--destructive-4);
|
|
52
|
-
--color-destructive-5: var(--destructive-5);
|
|
53
|
-
--color-destructive-6: var(--destructive-6);
|
|
54
|
-
--color-destructive-7: var(--destructive-7);
|
|
55
|
-
--color-destructive-8: var(--destructive-8);
|
|
56
|
-
--color-destructive-9: var(--destructive-9);
|
|
57
|
-
--color-destructive-10: var(--destructive-10);
|
|
58
|
-
|
|
59
|
-
--color-success-1: var(--success-1);
|
|
60
|
-
--color-success-2: var(--success-2);
|
|
61
|
-
--color-success-3: var(--success-3);
|
|
62
|
-
--color-success-4: var(--success-4);
|
|
63
|
-
--color-success-5: var(--success-5);
|
|
64
|
-
--color-success-6: var(--success-6);
|
|
65
|
-
--color-success-7: var(--success-7);
|
|
66
|
-
--color-success-8: var(--success-8);
|
|
67
|
-
--color-success-9: var(--success-9);
|
|
68
|
-
--color-success-10: var(--success-10);
|
|
69
|
-
|
|
70
|
-
--color-background: var(--color-neutral-3);
|
|
71
|
-
--color-elevation-1: var(--color-neutral-2);
|
|
72
|
-
--color-elevation-2: var(--color-neutral-1);
|
|
73
|
-
|
|
74
|
-
--color-foreground: var(--color-neutral-8);
|
|
75
|
-
--color-card: var(--color-elevation-1);
|
|
76
|
-
--color-card-foreground: var(--color-foreground);
|
|
77
|
-
/* Assuming popovers only show up over cards ??? */
|
|
78
|
-
--color-popover: var(--color-elevation-2);
|
|
79
|
-
--color-popover-foreground: var(--color-foreground);
|
|
80
|
-
|
|
81
|
-
--color-primary: var(--color-primary-7);
|
|
82
|
-
--color-primary-foreground: var(--color-primary-2);
|
|
83
|
-
--color-secondary: var(--color-secondary-7);
|
|
84
|
-
--color-secondary-foreground: var(--color-secondary-2);
|
|
85
|
-
--color-muted: var(--color-neutral-7);
|
|
86
|
-
--color-muted-foreground: var(--color-neutral-4);
|
|
87
|
-
--color-accent: var(--color-neutral-7);
|
|
88
|
-
--color-accent-foreground: var(--color-neutral-4);
|
|
89
|
-
--color-destructive: var(--color-destructive-7);
|
|
90
|
-
--color-destructive-foreground: var(--color-destructive-2);
|
|
91
|
-
--color-success: var(--color-success-7);
|
|
92
|
-
--color-success-foreground: var(--color-success-2);
|
|
93
|
-
|
|
94
|
-
--color-border: var(--color-neutral-4);
|
|
95
|
-
--color-input: var(--color-border);
|
|
96
|
-
--color-ring: var(--color-neutral-5);
|
|
97
|
-
|
|
98
|
-
--color-chart-1: var(--color-primary-5);
|
|
99
|
-
--color-chart-2: var(--color-primary-4);
|
|
100
|
-
--color-chart-3: var(--color-secondary-5);
|
|
101
|
-
--color-chart-4: var(--color-secondary-4);
|
|
102
|
-
--color-chart-5: var(--color-secondary-2);
|
|
103
|
-
|
|
104
|
-
--color-sidebar-background: var(--color-elevation-1);
|
|
105
|
-
--color-sidebar-foreground: var(--color-foreground);
|
|
106
|
-
|
|
107
|
-
--spacing-input: calc(var(--spacing) * 8);
|
|
108
|
-
--spacing-icon: calc(var(--spacing-input) / 2);
|
|
109
|
-
--spacing-table: calc(var(--spacing) * 100);
|
|
110
|
-
|
|
111
|
-
--sidebar-width: var(--container-3xs);
|
|
112
|
-
--sidebar-width-mobile: var(--container-2xs);
|
|
113
|
-
--sidebar-width-icon: var(--spacing(12));
|
|
114
|
-
|
|
115
|
-
/* Header nav */
|
|
116
|
-
--spacing-header: calc(var(--spacing) * 12);
|
|
117
|
-
/* Helper for using sidebar with header */
|
|
118
|
-
--spacing-sidebar: calc(100svh - var(--spacing-header));
|
|
119
|
-
|
|
120
|
-
/* Minimum length for fluid grid containers */
|
|
121
|
-
--fluid-grid-min: var(--container-3xs);
|
|
122
|
-
}
|
package/lib/utilities.css
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
@utility link {
|
|
2
|
-
@apply text-primary/70 focus:text-primary hover:text-primary;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
/* Fluid grid with minimum width */
|
|
6
|
-
@utility grid-fluid {
|
|
7
|
-
@apply grid grid-cols-[repeat(auto-fill,_minmax(var(--fluid-grid-min),_1fr))] gap-icon;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@utility focus-ring {
|
|
11
|
-
@apply data-[focus-visible]:outline-none focus-visible:outline-none data-[focus-visible]:ring-1 data-[focus-visible]:ring-ring data-[focus-visible]:ring-offset-2 focus-visible:outline-hidden focus-visible:ring-offset-2 focus-visible:ring-1 focus-visible:ring-ring;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@utility disabled-muted {
|
|
15
|
-
@apply disabled:cursor-not-allowed disabled:opacity-70 aria-disabled:cursor-not-allowed aria-disabled:opacity-70 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none data-[disabled]:opacity-70;
|
|
16
|
-
}
|
|
17
|
-
@utility input {
|
|
18
|
-
@apply border border-input bg-popover px-icon py-2 body-sm placeholder:text-muted-foreground disabled-muted focus-ring;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/* A base set of classes for elements that can be clicked */
|
|
22
|
-
@utility btn {
|
|
23
|
-
@apply inline-flex gap-1 data-[disabled]:pointer-events-none text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 leading-none outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@utility btn-link {
|
|
27
|
-
@apply btn-ghost underline underline-offset-2;
|
|
28
|
-
}
|
|
29
|
-
@utility btn-primary {
|
|
30
|
-
@apply border border-primary text-primary bg-primary/10 hover:bg-primary/20 data-[hovered]:bg-primary/20 focus:bg-primary/20 data-[focused]:bg-primary/20;
|
|
31
|
-
}
|
|
32
|
-
@utility btn-destructive {
|
|
33
|
-
@apply border border-destructive text-destructive bg-destructive/10 hover:bg-destructive/20 data-[hovered]:bg-destructive/20 focus:bg-destructive/20 data-[focused]:bg-destructive/20;
|
|
34
|
-
}
|
|
35
|
-
@utility btn-neutral {
|
|
36
|
-
@apply border border-input text-accent bg-accent/10 hover:bg-accent/20 data-[hovered]:bg-accent/20 focus:bg-accent/20 data-[focused]:bg-accent/20;
|
|
37
|
-
}
|
|
38
|
-
@utility btn-secondary {
|
|
39
|
-
@apply border border-secondary text-secondary bg-secondary/10 hover:bg-secondary/20 data-[hovered]:bg-secondary/20 focus:bg-secondary/20 data-[focused]:bg-secondary/20;
|
|
40
|
-
}
|
|
41
|
-
@utility btn-ghost {
|
|
42
|
-
@apply bg-transparent focus:bg-accent/20 data-[focused]:bg-accent/20 hover:bg-accent/20 data-[hovered]:bg-accent/20;
|
|
43
|
-
}
|
|
44
|
-
@utility btn-tab {
|
|
45
|
-
@apply truncate btn btn-ghost input-dim font-normal text-accent justify-start data-[selected=true]:bg-primary/20 data-[selected=true]:font-medium data-[selected=true]:text-primary;
|
|
46
|
-
}
|
|
47
|
-
/* Dimensions for a standard input */
|
|
48
|
-
@utility input-dim {
|
|
49
|
-
@apply h-input px-icon py-2 body-sm leading-none;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
@utility form-column {
|
|
53
|
-
@apply flex flex-col gap-input;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@utility form-field {
|
|
57
|
-
@apply flex flex-col gap-1;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@utility steps {
|
|
61
|
-
@apply ps-0;
|
|
62
|
-
> ol {
|
|
63
|
-
counter-reset: steps-counter;
|
|
64
|
-
@apply list-none ps-0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
> ol > li {
|
|
68
|
-
counter-increment: steps-counter;
|
|
69
|
-
@apply relative ps-input pb-2 min-h-12 list-none;
|
|
70
|
-
}
|
|
71
|
-
> ol > li + li {
|
|
72
|
-
@apply mt-0;
|
|
73
|
-
}
|
|
74
|
-
> ol > li::before {
|
|
75
|
-
content: counter(steps-counter);
|
|
76
|
-
@apply absolute top-0 start-0 size-icon leading-icon bg-accent text-accent-foreground body-sm font-semibold text-center rounded-full;
|
|
77
|
-
}
|
|
78
|
-
> ol > li::after {
|
|
79
|
-
content: '';
|
|
80
|
-
@apply absolute bg-border w-[1px] top-5 h-1/2 left-2 py-1;
|
|
81
|
-
}
|
|
82
|
-
> ol > li:last-child::after {
|
|
83
|
-
@apply content-none;
|
|
84
|
-
}
|
|
85
|
-
}
|