@soft-stech/bootsman-ui-shadcn 2.0.4 → 2.0.5
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/input/index.js +38 -37
- package/dist/components/tabs/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/theme.css +211 -0
- package/package.json +2 -1
- package/src/components/input/BuiInput.vue +1 -0
- package/src/components/tabs/index.ts +1 -1
- package/src/stories/BuiSelect.stories.ts +3 -4
- package/src/stories/components/ComboboxStoryFormFields.vue +4 -7
- package/src/stories/components/ComboboxStoryMultipleCreate.vue +4 -7
- package/src/stories/components/LoginForm.vue +4 -7
- package/src/stories/components/LoginFormHook.vue +6 -9
- package/src/stories/components/ReadonlyForm.vue +8 -11
- package/src/stories/components/UseBuiField.vue +5 -8
- package/src/style.css +1 -211
- package/src/theme.css +211 -0
package/dist/theme.css
ADDED
@@ -0,0 +1,211 @@
|
|
1
|
+
@custom-variant dark (&:is(.dark *));
|
2
|
+
|
3
|
+
@theme {
|
4
|
+
/* --container-padding: 2rem; */
|
5
|
+
/* --container-screen-2xl: 1400px; */
|
6
|
+
|
7
|
+
--color-border: var(--border);
|
8
|
+
--color-input: var(--input);
|
9
|
+
--color-ring: var(--ring);
|
10
|
+
--color-background: var(--background);
|
11
|
+
--color-foreground: var(--foreground);
|
12
|
+
--color-sidebar: var(--side-bar);
|
13
|
+
--color-tabs-sidebar: var(--tabs-sidebar);
|
14
|
+
|
15
|
+
--color-primary: var(--primary);
|
16
|
+
--color-primary-foreground: var(--primary-foreground);
|
17
|
+
--color-primary-hover: var(--primary-hover);
|
18
|
+
--color-primary-active: var(--primary-active);
|
19
|
+
|
20
|
+
--color-secondary: var(--secondary);
|
21
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
22
|
+
|
23
|
+
--color-destructive: var(--destructive);
|
24
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
25
|
+
--color-success: var(--success);
|
26
|
+
--color-success-foreground: var(--success-foreground);
|
27
|
+
--color-info: var(--info);
|
28
|
+
--color-info-foreground: var(--info-foreground);
|
29
|
+
--color-warning: var(--warning);
|
30
|
+
--color-warning-foreground: var(--warning-foreground);
|
31
|
+
--color-muted: var(--muted);
|
32
|
+
--color-muted-foreground: var(--muted-foreground);
|
33
|
+
--color-accent: var(--accent);
|
34
|
+
--color-accent-foreground: var(--accent-foreground);
|
35
|
+
--color-popover: var(--popover);
|
36
|
+
--color-popover-foreground: var(--popover-foreground);
|
37
|
+
--color-card: var(--card);
|
38
|
+
--color-card-foreground: var(--card-foreground);
|
39
|
+
|
40
|
+
--radius-lg: var(--radius);
|
41
|
+
--radius-md: calc(var(--radius) - 2px);
|
42
|
+
--radius-sm: calc(var(--radius) - 4px);
|
43
|
+
|
44
|
+
--shadow-card: 0px 4px 8px 0px var(--card-shadow);
|
45
|
+
--shadow-tab: 0px 2px 4px 0px var(--tab-shadow), 0px 4px 4px 0px var(--tab-shadow);
|
46
|
+
--shadow-top: 0px -2px 4px 0px var(--tab-shadow);
|
47
|
+
--shadow-level1:
|
48
|
+
0px 16px 16px 0px var(--tab-shadow), 0px 8px 16px 0px var(--tab-shadow),
|
49
|
+
0px 8px 8px 0px var(--tab-shadow);
|
50
|
+
--shadow-level2:
|
51
|
+
0px 32px 16px 0px var(--tab-shadow), 0px 16px 16px 0px var(--tab-shadow),
|
52
|
+
0px 16px 16px 0px var(--tab-shadow);
|
53
|
+
--shadow-level3:
|
54
|
+
0px 56px 24px 0px var(--tab-shadow), 0px 32px 24px 0px var(--tab-shadow),
|
55
|
+
0px 32px 24px 0px var(--tab-shadow);
|
56
|
+
--shadow-tab-sidebar: inset -8px 0px 16px 0px var(--tabs-sidebar-shadow);
|
57
|
+
|
58
|
+
--animate-accordion-down: accordion-down 0.2s ease-out;
|
59
|
+
--animate-accordion-up: accordion-up 0.2s ease-out;
|
60
|
+
--animate-collapsible-down: collapsible-down 0.2s ease-in-out;
|
61
|
+
--animate-collapsible-up: collapsible-up 0.2s ease-in-out;
|
62
|
+
|
63
|
+
--bg-image-logo: url('/src/assets/logo-full.png');
|
64
|
+
--bg-image-logo-dark: url('/src/assets/logo-full-dark.png');
|
65
|
+
|
66
|
+
--color-tooltip: var(--tooltip);
|
67
|
+
--color-tooltip-link: var(--tooltip-link);
|
68
|
+
}
|
69
|
+
|
70
|
+
@keyframes accordion-down {
|
71
|
+
from {
|
72
|
+
height: 0;
|
73
|
+
}
|
74
|
+
to {
|
75
|
+
height: var(--reka-accordion-content-height);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
@keyframes accordion-up {
|
80
|
+
from {
|
81
|
+
height: var(--reka-accordion-content-height);
|
82
|
+
}
|
83
|
+
to {
|
84
|
+
height: 0;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
@keyframes collapsible-down {
|
89
|
+
from {
|
90
|
+
height: 0;
|
91
|
+
}
|
92
|
+
to {
|
93
|
+
height: var(--reka-collapsible-content-height);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
@keyframes collapsible-up {
|
98
|
+
from {
|
99
|
+
height: var(--reka-collapsible-content-height);
|
100
|
+
}
|
101
|
+
to {
|
102
|
+
height: 0;
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
@layer base {
|
107
|
+
* {
|
108
|
+
@apply border-border;
|
109
|
+
}
|
110
|
+
body {
|
111
|
+
@apply bg-background text-foreground;
|
112
|
+
}
|
113
|
+
|
114
|
+
button:not(:disabled),
|
115
|
+
[role='button']:not(:disabled) {
|
116
|
+
cursor: pointer;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
:root {
|
121
|
+
--background: hsl(0 0% 100%);
|
122
|
+
--foreground: hsl(242 24% 21%);
|
123
|
+
|
124
|
+
--muted: hsl(210 40% 96.1%);
|
125
|
+
--muted-foreground: hsl(225 5% 47%);
|
126
|
+
|
127
|
+
--popover: hsl(0 0% 100%);
|
128
|
+
--popover-foreground: hsl(222.2 84% 4.9%);
|
129
|
+
|
130
|
+
--card: hsl(0 0% 100%);
|
131
|
+
--card-foreground: hsl(222.2 84% 4.9%);
|
132
|
+
--card-shadow: hsl(241, 92%, 71%, 0.16);
|
133
|
+
--tab-shadow: hsl(228, 51%, 11%, 0.08);
|
134
|
+
|
135
|
+
--side-bar: hsl(0 0% 100%);
|
136
|
+
--tabs-sidebar: hsl(210 40% 96.1%);
|
137
|
+
--tabs-sidebar-shadow: hsl(0, 0%, 100%, 0);
|
138
|
+
|
139
|
+
--border: hsl(241 92% 71%);
|
140
|
+
--input: hsl(225 11% 84%);
|
141
|
+
|
142
|
+
--primary: hsl(241 92% 71%);
|
143
|
+
--primary-hover: hsl(241 76% 62%);
|
144
|
+
--primary-active: hsl(241 54% 54%);
|
145
|
+
--primary-foreground: hsl(0 0% 100%);
|
146
|
+
|
147
|
+
--secondary: hsl(210 40% 96.1%);
|
148
|
+
--secondary-foreground: hsl(241 76% 62%);
|
149
|
+
|
150
|
+
--accent: hsl(241 92% 71%);
|
151
|
+
--accent-foreground: hsl(241 76% 62%);
|
152
|
+
|
153
|
+
--destructive: hsl(328, 68%, 63%, 0.16);
|
154
|
+
--destructive-foreground: hsl(328 68% 63%);
|
155
|
+
|
156
|
+
--success: hsl(181, 34%, 39%, 0.16);
|
157
|
+
--success-foreground: hsl(181 34% 39%);
|
158
|
+
|
159
|
+
--warning: hsl(48, 79%, 45%, 0.16);
|
160
|
+
--warning-foreground: hsl(48 79% 45%);
|
161
|
+
|
162
|
+
--info: hsl(198, 85%, 45%, 0.16);
|
163
|
+
--info-foreground: hsl(198 85% 45%);
|
164
|
+
|
165
|
+
--ring: hsl(241 92% 71%);
|
166
|
+
|
167
|
+
--radius: 0.5rem;
|
168
|
+
|
169
|
+
--tooltip: hsl(225 5% 47%);
|
170
|
+
--tooltip-link: hsl(241 100% 88%);
|
171
|
+
}
|
172
|
+
|
173
|
+
.dark {
|
174
|
+
--background: hsl(242 24% 21%);
|
175
|
+
--foreground: hsl(0 0% 100%);
|
176
|
+
|
177
|
+
--muted: hsl(217.2 32.6% 17.5%);
|
178
|
+
--muted-foreground: hsl(0, 0%, 100%, 0.32);
|
179
|
+
|
180
|
+
--popover: hsl(222.2 84% 4.9%);
|
181
|
+
--popover-foreground: hsl(210 40% 98%);
|
182
|
+
|
183
|
+
--card: hsl(242 24% 21%);
|
184
|
+
--card-foreground: hsl(210 40% 98%);
|
185
|
+
--card-shadow: hsl(241, 92%, 71%, 0.4);
|
186
|
+
--tab-shadow: hsl(228, 51%, 11%, 0.08);
|
187
|
+
|
188
|
+
--side-bar: hsl(243.2 24.1% 15.5%);
|
189
|
+
--tabs-sidebar: hsl(243.2 24.1% 15.5%);
|
190
|
+
--tabs-sidebar-shadow: hsl(0, 0%, 0%, 0.08);
|
191
|
+
|
192
|
+
--border: hsl(241 92% 71%);
|
193
|
+
--input: hsl(0, 0%, 100%, 0.32);
|
194
|
+
|
195
|
+
--primary: hsl(241 92% 71%);
|
196
|
+
--primary-hover: hsl(241 76% 62%);
|
197
|
+
--primary-active: hsl(241 54% 54%);
|
198
|
+
--primary-foreground: hsl(0 0% 100%);
|
199
|
+
|
200
|
+
--secondary: hsl(217.2 32.6% 17.5%);
|
201
|
+
--secondary-foreground: hsl(210 40% 98%);
|
202
|
+
|
203
|
+
--accent: hsl(241 92% 71%);
|
204
|
+
--accent-foreground: hsl(240 100% 77%);
|
205
|
+
|
206
|
+
--destructive: hsl(328, 68%, 63%, 0.16);
|
207
|
+
--destructive-foreground: hsl(328 68% 63%);
|
208
|
+
|
209
|
+
--success: hsl(154, 84%, 45%, 0.16);
|
210
|
+
--success-foreground: hsl(181 35% 49%);
|
211
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@soft-stech/bootsman-ui-shadcn",
|
3
|
-
"version": "2.0.
|
3
|
+
"version": "2.0.5",
|
4
4
|
"type": "module",
|
5
5
|
"files": [
|
6
6
|
"dist",
|
@@ -68,6 +68,7 @@
|
|
68
68
|
"typescript-eslint": "^8.44.0",
|
69
69
|
"vite": "^7.1.2",
|
70
70
|
"vite-plugin-dts": "^4.5.4",
|
71
|
+
"vite-plugin-static-copy": "^3.1.3",
|
71
72
|
"vitest": "^3.2.4",
|
72
73
|
"vue-tsc": "^3.0.5"
|
73
74
|
},
|
@@ -53,6 +53,7 @@ const handleKeyDown = (e: KeyboardEvent) => {
|
|
53
53
|
:readonly="readonlyContext || props.readonly"
|
54
54
|
:disabled="props.disabled"
|
55
55
|
:placeholder="props.placeholder"
|
56
|
+
:type="props.type || 'text'"
|
56
57
|
@focus="handleFocus"
|
57
58
|
@blur="handleBlur"
|
58
59
|
@keydown="handleKeyDown"
|
@@ -29,7 +29,7 @@ export const tabsTriggerVariants = cva(
|
|
29
29
|
ghost:
|
30
30
|
'whitespace-nowrap border-transparent text-muted-foreground pb-0 [&_div]:pb-0.5 data-[state=active]:[&_div]:border-b-2 data-[state=active]:[&_div]:border-primary',
|
31
31
|
vertical:
|
32
|
-
'border-transparent text-primary data-[state=active]:border-primary data-[state=active]:bg-background data-[state=active]:shadow-tab-sidebar-shadow border-l-2 border-b-0 w-full h-fit justify-start pl-6'
|
32
|
+
'border-transparent text-primary data-[state=active]:border-primary data-[state=active]:bg-background data-[state=active]:shadow-tab-sidebar-shadow border-l-2 border-b-0 w-full h-fit justify-start pl-6!'
|
33
33
|
}
|
34
34
|
},
|
35
35
|
defaultVariants: {
|
@@ -1,23 +1,22 @@
|
|
1
1
|
import {
|
2
2
|
BuiSelect,
|
3
3
|
BuiSelectContent,
|
4
|
+
BuiSelectGroup,
|
4
5
|
BuiSelectItem,
|
5
6
|
BuiSelectItemText,
|
6
7
|
BuiSelectLabel,
|
7
|
-
BuiSelectGroup,
|
8
8
|
BuiSelectTrigger,
|
9
9
|
BuiSelectValue
|
10
10
|
} from '@/components/select'
|
11
11
|
import type { Meta, StoryObj } from '@storybook/vue3-vite'
|
12
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
13
12
|
import { BringToFrontIcon } from 'lucide-vue-next'
|
14
13
|
import z from 'zod'
|
15
14
|
|
16
15
|
import {
|
17
16
|
BuiForm,
|
17
|
+
BuiFormControl,
|
18
18
|
BuiFormField,
|
19
19
|
BuiFormItem,
|
20
|
-
BuiFormControl,
|
21
20
|
BuiFormMessage
|
22
21
|
} from '@/components/form'
|
23
22
|
import type { AcceptableValue, SelectRootProps } from 'reka-ui'
|
@@ -134,7 +133,7 @@ export const WithValidation: Story = {
|
|
134
133
|
const validationRules = z.object({
|
135
134
|
favoriteFruit: z.enum(['banana'])
|
136
135
|
})
|
137
|
-
const validationSchema =
|
136
|
+
const validationSchema = validationRules
|
138
137
|
const initialValues = {
|
139
138
|
favoriteFruit: 'apple'
|
140
139
|
}
|
@@ -17,17 +17,14 @@ import {
|
|
17
17
|
} from '@/components/form'
|
18
18
|
import { BuiLabel } from '@/components/label'
|
19
19
|
import { BuiPopover, BuiPopoverContent, BuiPopoverTrigger } from '@/components/popover'
|
20
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
21
20
|
import { CheckIcon, ChevronDown } from 'lucide-vue-next'
|
22
21
|
import { ref } from 'vue'
|
23
22
|
import { z } from 'zod'
|
24
23
|
|
25
|
-
const formSchema =
|
26
|
-
z.
|
27
|
-
|
28
|
-
|
29
|
-
})
|
30
|
-
)
|
24
|
+
const formSchema = z.object({
|
25
|
+
namespace: z.string().min(2),
|
26
|
+
groups: z.array(z.string())
|
27
|
+
})
|
31
28
|
const isNamespacesPopoverOpen = ref(false)
|
32
29
|
const namespaces = ['default', 'local', 'my-namespace']
|
33
30
|
</script>
|
@@ -18,18 +18,15 @@ import {
|
|
18
18
|
} from '@/components/form'
|
19
19
|
import { BuiLabel } from '@/components/label'
|
20
20
|
import { BuiPopover, BuiPopoverContent, BuiPopoverTrigger } from '@/components/popover'
|
21
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
22
21
|
import { CheckIcon, ChevronDown, CirclePlusIcon } from 'lucide-vue-next'
|
23
22
|
import { ref } from 'vue'
|
24
23
|
import { z } from 'zod'
|
25
24
|
|
26
25
|
const search = ref<string>('')
|
27
|
-
const formSchema =
|
28
|
-
z.
|
29
|
-
|
30
|
-
|
31
|
-
})
|
32
|
-
)
|
26
|
+
const formSchema = z.object({
|
27
|
+
namespace: z.string().min(2),
|
28
|
+
groups: z.array(z.string())
|
29
|
+
})
|
33
30
|
const isGroupsPopoverOpen = ref(false)
|
34
31
|
const existingGroups = ref(['group-1', 'group-2', 'group-3'])
|
35
32
|
</script>
|
@@ -11,15 +11,12 @@ import {
|
|
11
11
|
BuiFormMessage
|
12
12
|
} from '@/components/form'
|
13
13
|
|
14
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
15
14
|
import * as z from 'zod'
|
16
15
|
|
17
|
-
const loginFormSchema =
|
18
|
-
z.
|
19
|
-
|
20
|
-
|
21
|
-
})
|
22
|
-
)
|
16
|
+
const loginFormSchema = z.object({
|
17
|
+
email: z.string().email(),
|
18
|
+
password: z.string().min(8).max(64)
|
19
|
+
})
|
23
20
|
|
24
21
|
const initialValues = {
|
25
22
|
email: 'test@example.com',
|
@@ -11,15 +11,12 @@ import {
|
|
11
11
|
useBuiForm
|
12
12
|
} from '@/components/form'
|
13
13
|
|
14
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
15
14
|
import * as z from 'zod'
|
16
15
|
|
17
|
-
const loginFormSchema =
|
18
|
-
z.
|
19
|
-
|
20
|
-
|
21
|
-
})
|
22
|
-
)
|
16
|
+
const loginFormSchema = z.object({
|
17
|
+
email: z.string().email(),
|
18
|
+
password: z.string().min(8).max(64)
|
19
|
+
})
|
23
20
|
|
24
21
|
const initialValues = {
|
25
22
|
email: 'test@example.com',
|
@@ -40,11 +37,11 @@ const onSubmit = handleSubmit((values) => {
|
|
40
37
|
<div class="flex min-h-full flex-1 flex-col justify-center py-12 sm:px-6 lg:px-8">
|
41
38
|
<div class="sm:mx-auto sm:w-full sm:max-w-md">
|
42
39
|
<div
|
43
|
-
class="mx-auto h-10 bg-
|
40
|
+
class="bg-logo dark:bg-logo-dark mx-auto h-10 bg-contain bg-center bg-no-repeat"
|
44
41
|
alt="Bootsman"
|
45
42
|
/>
|
46
43
|
<h2
|
47
|
-
class="mt-6 text-center text-2xl font-bold
|
44
|
+
class="mt-6 text-center text-2xl leading-9 font-bold tracking-tight text-gray-900 dark:text-white"
|
48
45
|
>
|
49
46
|
Sign in to your account
|
50
47
|
</h2>
|
@@ -25,19 +25,16 @@ import BuiSelectTrigger from '@/components/select/BuiSelectTrigger.vue'
|
|
25
25
|
import BuiSelectValue from '@/components/select/BuiSelectValue.vue'
|
26
26
|
import BuiSwitch from '@/components/switch/BuiSwitch.vue'
|
27
27
|
import BuiTextarea from '@/components/textarea/BuiTextarea.vue'
|
28
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
29
28
|
import * as z from 'zod'
|
30
29
|
|
31
|
-
const loginFormSchema =
|
32
|
-
z.
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
})
|
40
|
-
)
|
30
|
+
const loginFormSchema = z.object({
|
31
|
+
email: z.string().email(),
|
32
|
+
password: z.string().min(8).max(64),
|
33
|
+
remember: z.boolean(),
|
34
|
+
favoriteFruit: z.enum(['banana']),
|
35
|
+
description: z.string().min(2).max(10),
|
36
|
+
display: z.enum(['default', 'compact', 'comfortable'])
|
37
|
+
})
|
41
38
|
|
42
39
|
const initialValues = {
|
43
40
|
email: 'test@example.com',
|
@@ -11,16 +11,13 @@ import {
|
|
11
11
|
useBuiForm
|
12
12
|
} from '@/components/form'
|
13
13
|
|
14
|
-
import { toTypedSchema } from '@vee-validate/zod'
|
15
|
-
import * as z from 'zod'
|
16
14
|
import SubForm from '@/stories/components/SubForm.vue'
|
15
|
+
import * as z from 'zod'
|
17
16
|
|
18
|
-
const formSchema =
|
19
|
-
z.object({
|
20
|
-
|
21
|
-
|
22
|
-
})
|
23
|
-
)
|
17
|
+
const formSchema = z.object({
|
18
|
+
meta: z.object({ field: z.string().trim().min(1) }),
|
19
|
+
example: z.string().trim().min(1)
|
20
|
+
})
|
24
21
|
|
25
22
|
const initialValues = {
|
26
23
|
meta: {
|
package/src/style.css
CHANGED
@@ -3,214 +3,4 @@
|
|
3
3
|
|
4
4
|
@plugin 'tailwind-scrollbar';
|
5
5
|
|
6
|
-
@
|
7
|
-
|
8
|
-
@theme {
|
9
|
-
/* --container-padding: 2rem; */
|
10
|
-
/* --container-screen-2xl: 1400px; */
|
11
|
-
|
12
|
-
--color-border: var(--border);
|
13
|
-
--color-input: var(--input);
|
14
|
-
--color-ring: var(--ring);
|
15
|
-
--color-background: var(--background);
|
16
|
-
--color-foreground: var(--foreground);
|
17
|
-
--color-sidebar: var(--side-bar);
|
18
|
-
--color-tabs-sidebar: var(--tabs-sidebar);
|
19
|
-
|
20
|
-
--color-primary: var(--primary);
|
21
|
-
--color-primary-foreground: var(--primary-foreground);
|
22
|
-
--color-primary-hover: var(--primary-hover);
|
23
|
-
--color-primary-active: var(--primary-active);
|
24
|
-
|
25
|
-
--color-secondary: var(--secondary);
|
26
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
27
|
-
|
28
|
-
--color-destructive: var(--destructive);
|
29
|
-
--color-destructive-foreground: var(--destructive-foreground);
|
30
|
-
--color-success: var(--success);
|
31
|
-
--color-success-foreground: var(--success-foreground);
|
32
|
-
--color-info: var(--info);
|
33
|
-
--color-info-foreground: var(--info-foreground);
|
34
|
-
--color-warning: var(--warning);
|
35
|
-
--color-warning-foreground: var(--warning-foreground);
|
36
|
-
--color-muted: var(--muted);
|
37
|
-
--color-muted-foreground: var(--muted-foreground);
|
38
|
-
--color-accent: var(--accent);
|
39
|
-
--color-accent-foreground: var(--accent-foreground);
|
40
|
-
--color-popover: var(--popover);
|
41
|
-
--color-popover-foreground: var(--popover-foreground);
|
42
|
-
--color-card: var(--card);
|
43
|
-
--color-card-foreground: var(--card-foreground);
|
44
|
-
|
45
|
-
--radius-lg: var(--radius);
|
46
|
-
--radius-md: calc(var(--radius) - 2px);
|
47
|
-
--radius-sm: calc(var(--radius) - 4px);
|
48
|
-
|
49
|
-
--shadow-card: 0px 4px 8px 0px var(--card-shadow);
|
50
|
-
--shadow-tab: 0px 2px 4px 0px var(--tab-shadow), 0px 4px 4px 0px var(--tab-shadow);
|
51
|
-
--shadow-top: 0px -2px 4px 0px var(--tab-shadow);
|
52
|
-
--shadow-level1:
|
53
|
-
0px 16px 16px 0px var(--tab-shadow), 0px 8px 16px 0px var(--tab-shadow),
|
54
|
-
0px 8px 8px 0px var(--tab-shadow);
|
55
|
-
--shadow-level2:
|
56
|
-
0px 32px 16px 0px var(--tab-shadow), 0px 16px 16px 0px var(--tab-shadow),
|
57
|
-
0px 16px 16px 0px var(--tab-shadow);
|
58
|
-
--shadow-level3:
|
59
|
-
0px 56px 24px 0px var(--tab-shadow), 0px 32px 24px 0px var(--tab-shadow),
|
60
|
-
0px 32px 24px 0px var(--tab-shadow);
|
61
|
-
--shadow-tab-sidebar: inset -8px 0px 16px 0px var(--tabs-sidebar-shadow);
|
62
|
-
|
63
|
-
--animate-accordion-down: accordion-down 0.2s ease-out;
|
64
|
-
--animate-accordion-up: accordion-up 0.2s ease-out;
|
65
|
-
--animate-collapsible-down: collapsible-down 0.2s ease-in-out;
|
66
|
-
--animate-collapsible-up: collapsible-up 0.2s ease-in-out;
|
67
|
-
|
68
|
-
--bg-image-logo: url('/src/assets/logo-full.png');
|
69
|
-
--bg-image-logo-dark: url('/src/assets/logo-full-dark.png');
|
70
|
-
|
71
|
-
--color-tooltip: var(--tooltip);
|
72
|
-
--color-tooltip-link: var(--tooltip-link);
|
73
|
-
}
|
74
|
-
|
75
|
-
@keyframes accordion-down {
|
76
|
-
from {
|
77
|
-
height: 0;
|
78
|
-
}
|
79
|
-
to {
|
80
|
-
height: var(--reka-accordion-content-height);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
@keyframes accordion-up {
|
85
|
-
from {
|
86
|
-
height: var(--reka-accordion-content-height);
|
87
|
-
}
|
88
|
-
to {
|
89
|
-
height: 0;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
@keyframes collapsible-down {
|
94
|
-
from {
|
95
|
-
height: 0;
|
96
|
-
}
|
97
|
-
to {
|
98
|
-
height: var(--reka-collapsible-content-height);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
@keyframes collapsible-up {
|
103
|
-
from {
|
104
|
-
height: var(--reka-collapsible-content-height);
|
105
|
-
}
|
106
|
-
to {
|
107
|
-
height: 0;
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
@layer base {
|
112
|
-
* {
|
113
|
-
@apply border-border;
|
114
|
-
}
|
115
|
-
body {
|
116
|
-
@apply bg-background text-foreground;
|
117
|
-
}
|
118
|
-
|
119
|
-
button:not(:disabled),
|
120
|
-
[role='button']:not(:disabled) {
|
121
|
-
cursor: pointer;
|
122
|
-
}
|
123
|
-
}
|
124
|
-
|
125
|
-
:root {
|
126
|
-
--background: hsl(0 0% 100%);
|
127
|
-
--foreground: hsl(242 24% 21%);
|
128
|
-
|
129
|
-
--muted: hsl(210 40% 96.1%);
|
130
|
-
--muted-foreground: hsl(225 5% 47%);
|
131
|
-
|
132
|
-
--popover: hsl(0 0% 100%);
|
133
|
-
--popover-foreground: hsl(222.2 84% 4.9%);
|
134
|
-
|
135
|
-
--card: hsl(0 0% 100%);
|
136
|
-
--card-foreground: hsl(222.2 84% 4.9%);
|
137
|
-
--card-shadow: hsl(241, 92%, 71%, 0.16);
|
138
|
-
--tab-shadow: hsl(228, 51%, 11%, 0.08);
|
139
|
-
|
140
|
-
--side-bar: hsl(0 0% 100%);
|
141
|
-
--tabs-sidebar: hsl(210 40% 96.1%);
|
142
|
-
--tabs-sidebar-shadow: hsl(0, 0%, 100%, 0);
|
143
|
-
|
144
|
-
--border: hsl(241 92% 71%);
|
145
|
-
--input: hsl(225 11% 84%);
|
146
|
-
|
147
|
-
--primary: hsl(241 92% 71%);
|
148
|
-
--primary-hover: hsl(241 76% 62%);
|
149
|
-
--primary-active: hsl(241 54% 54%);
|
150
|
-
--primary-foreground: hsl(0 0% 100%);
|
151
|
-
|
152
|
-
--secondary: hsl(210 40% 96.1%);
|
153
|
-
--secondary-foreground: hsl(241 76% 62%);
|
154
|
-
|
155
|
-
--accent: hsl(241 92% 71%);
|
156
|
-
--accent-foreground: hsl(241 76% 62%);
|
157
|
-
|
158
|
-
--destructive: hsl(328, 68%, 63%, 0.16);
|
159
|
-
--destructive-foreground: hsl(328 68% 63%);
|
160
|
-
|
161
|
-
--success: hsl(181, 34%, 39%, 0.16);
|
162
|
-
--success-foreground: hsl(181 34% 39%);
|
163
|
-
|
164
|
-
--warning: hsl(48, 79%, 45%, 0.16);
|
165
|
-
--warning-foreground: hsl(48 79% 45%);
|
166
|
-
|
167
|
-
--info: hsl(198, 85%, 45%, 0.16);
|
168
|
-
--info-foreground: hsl(198 85% 45%);
|
169
|
-
|
170
|
-
--ring: hsl(241 92% 71%);
|
171
|
-
|
172
|
-
--radius: 0.5rem;
|
173
|
-
|
174
|
-
--tooltip: hsl(225 5% 47%);
|
175
|
-
--tooltip-link: hsl(241 100% 88%);
|
176
|
-
}
|
177
|
-
|
178
|
-
.dark {
|
179
|
-
--background: hsl(242 24% 21%);
|
180
|
-
--foreground: hsl(0 0% 100%);
|
181
|
-
|
182
|
-
--muted: hsl(217.2 32.6% 17.5%);
|
183
|
-
--muted-foreground: hsl(0, 0%, 100%, 0.32);
|
184
|
-
|
185
|
-
--popover: hsl(222.2 84% 4.9%);
|
186
|
-
--popover-foreground: hsl(210 40% 98%);
|
187
|
-
|
188
|
-
--card: hsl(242 24% 21%);
|
189
|
-
--card-foreground: hsl(210 40% 98%);
|
190
|
-
--card-shadow: hsl(241, 92%, 71%, 0.4);
|
191
|
-
--tab-shadow: hsl(228, 51%, 11%, 0.08);
|
192
|
-
|
193
|
-
--side-bar: hsl(243.2 24.1% 15.5%);
|
194
|
-
--tabs-sidebar: hsl(243.2 24.1% 15.5%);
|
195
|
-
--tabs-sidebar-shadow: hsl(0, 0%, 0%, 0.08);
|
196
|
-
|
197
|
-
--border: hsl(241 92% 71%);
|
198
|
-
--input: hsl(0, 0%, 100%, 0.32);
|
199
|
-
|
200
|
-
--primary: hsl(241 92% 71%);
|
201
|
-
--primary-hover: hsl(241 76% 62%);
|
202
|
-
--primary-active: hsl(241 54% 54%);
|
203
|
-
--primary-foreground: hsl(0 0% 100%);
|
204
|
-
|
205
|
-
--secondary: hsl(217.2 32.6% 17.5%);
|
206
|
-
--secondary-foreground: hsl(210 40% 98%);
|
207
|
-
|
208
|
-
--accent: hsl(241 92% 71%);
|
209
|
-
--accent-foreground: hsl(240 100% 77%);
|
210
|
-
|
211
|
-
--destructive: hsl(328, 68%, 63%, 0.16);
|
212
|
-
--destructive-foreground: hsl(328 68% 63%);
|
213
|
-
|
214
|
-
--success: hsl(154, 84%, 45%, 0.16);
|
215
|
-
--success-foreground: hsl(181 35% 49%);
|
216
|
-
}
|
6
|
+
@import './theme.css';
|