vlite3 0.5.2 → 0.5.3
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 +117 -116
- package/_virtual/index10.js +2 -2
- package/_virtual/index11.js +2 -2
- package/_virtual/index7.js +2 -2
- package/_virtual/index9.js +2 -2
- package/components/Dropdown/DropdownItem.vue.js +28 -20
- package/components/Dropdown/DropdownMenu.vue.js +20 -19
- package/components/Modal.vue.d.ts +6 -2
- package/components/Modal.vue.js +1 -1
- package/components/Modal.vue2.js +56 -53
- package/package.json +2 -2
- package/style.css +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,6 @@ import tailwindcss from '@tailwindcss/vite'
|
|
|
24
24
|
export default defineConfig({
|
|
25
25
|
plugins: [vue(), tailwindcss()],
|
|
26
26
|
})
|
|
27
|
-
|
|
28
27
|
```
|
|
29
28
|
|
|
30
29
|
`style.css`
|
|
@@ -35,7 +34,6 @@ export default defineConfig({
|
|
|
35
34
|
|
|
36
35
|
@import 'vlite3/style.css';
|
|
37
36
|
@source "../node_modules/vlite3";
|
|
38
|
-
|
|
39
37
|
```
|
|
40
38
|
|
|
41
39
|
## 3. Usage
|
|
@@ -53,7 +51,6 @@ import { Button, Input } from 'vlite3'
|
|
|
53
51
|
<Input placeholder="Type here..." />
|
|
54
52
|
</div>
|
|
55
53
|
</template>
|
|
56
|
-
|
|
57
54
|
```
|
|
58
55
|
|
|
59
56
|
## Global Configuration (Registry System)
|
|
@@ -117,21 +114,20 @@ const vlite = createVLite({
|
|
|
117
114
|
return data.url // MUST return the file URL string
|
|
118
115
|
},
|
|
119
116
|
},
|
|
120
|
-
|
|
117
|
+
|
|
121
118
|
// Global UI Components Configuration
|
|
122
119
|
components: {
|
|
123
120
|
form: {
|
|
124
121
|
variant: 'outline', // Applies 'outline' globally to all Form inputs ('solid' | 'outline' | 'floating' | etc.)
|
|
125
|
-
size: 'md',
|
|
126
|
-
rounded: 'md',
|
|
122
|
+
size: 'md', // Global size for form inputs ('sm' | 'md' | 'lg')
|
|
123
|
+
rounded: 'md', // Global border radius for forms
|
|
127
124
|
showRequiredAsterisk: true, // Globally toggle the visibility of the required asterisk
|
|
128
|
-
}
|
|
129
|
-
}
|
|
125
|
+
},
|
|
126
|
+
},
|
|
130
127
|
})
|
|
131
128
|
|
|
132
129
|
app.use(vlite)
|
|
133
130
|
app.mount('#app')
|
|
134
|
-
|
|
135
131
|
```
|
|
136
132
|
|
|
137
133
|
### How it works
|
|
@@ -184,11 +180,10 @@ const handleSubmit = (payload) => {
|
|
|
184
180
|
<template>
|
|
185
181
|
<div class="">
|
|
186
182
|
<Form :schema="schema" @onSubmit="handleSubmit" />
|
|
187
|
-
|
|
183
|
+
|
|
188
184
|
<Form :schema="schema" variant="solid" size="lg" @onSubmit="handleSubmit" />
|
|
189
185
|
</div>
|
|
190
186
|
</template>
|
|
191
|
-
|
|
192
187
|
```
|
|
193
188
|
|
|
194
189
|
# 🎨 Theming & Customization
|
|
@@ -203,23 +198,23 @@ All colors are defined as CSS variables, allowing you to customize the appearanc
|
|
|
203
198
|
|
|
204
199
|
Override these variables in `:root` or within a `.dark` class (when using class-based dark mode) to adjust your theme.
|
|
205
200
|
|
|
206
|
-
| Variable
|
|
207
|
-
|
|
|
208
|
-
| `--color-background`
|
|
209
|
-
| `--color-foreground`
|
|
210
|
-
| `--color-card`
|
|
211
|
-
| `--color-primary`
|
|
212
|
-
| `--color-primary-foreground`
|
|
213
|
-
| `--color-secondary`
|
|
214
|
-
| `--color-secondary-foreground`
|
|
215
|
-
| `--color-muted`
|
|
216
|
-
| `--color-muted`
|
|
217
|
-
| `--color-accent`
|
|
218
|
-
| `--color-accent-foreground`
|
|
219
|
-
| `--color-destructive`
|
|
220
|
-
| `--color-destructive-foreground` | `text-destructive-foreground` | Text on destructive background (white)
|
|
221
|
-
| `--color-border`
|
|
222
|
-
| `--radius`
|
|
201
|
+
| Variable | Utility Class | Description | Recommended Usage |
|
|
202
|
+
| -------------------------------- | ----------------------------- | --------------------------------------- | ----------------------------------------------- |
|
|
203
|
+
| `--color-background` | `bg-background` | Default page background (white) | Main application background |
|
|
204
|
+
| `--color-foreground` | `text-foreground` | Default text color (gray-900) | Primary content text |
|
|
205
|
+
| `--color-card` | `bg-card` | Card background (gray-100) | Cards, containers, surfaces, panels, dialogs |
|
|
206
|
+
| `--color-primary` | `bg-primary` | Primary brand color (blue) | Main actions, buttons, active states |
|
|
207
|
+
| `--color-primary-foreground` | `text-primary-foreground` | Text on primary background (white) | Text/icons displayed on primary elements |
|
|
208
|
+
| `--color-secondary` | `bg-secondary` | Secondary background (gray-200) | Secondary actions, muted sections |
|
|
209
|
+
| `--color-secondary-foreground` | `text-secondary-foreground` | Text on secondary background (gray-900) | Content displayed on secondary elements |
|
|
210
|
+
| `--color-muted` | `bg-muted` | Muted background (gray-150) | Subtle surfaces, table headers, disabled states |
|
|
211
|
+
| `--color-muted` | `text-muted` | Muted text (gray-600) | Secondary text, inactive links, descriptions |
|
|
212
|
+
| `--color-accent` | `bg-accent` | Accent background (gray-150) | Hover states, selection highlights |
|
|
213
|
+
| `--color-accent-foreground` | `text-accent-foreground` | Text on accent background (gray-900) | Content displayed on accent elements |
|
|
214
|
+
| `--color-destructive` | `bg-destructive` | Destructive color (red) | Errors, warnings, destructive actions |
|
|
215
|
+
| `--color-destructive-foreground` | `text-destructive-foreground` | Text on destructive background (white) | Content displayed on destructive elements |
|
|
216
|
+
| `--color-border` | `border` | Default border color (gray-250) | Inputs, cards, dividers |
|
|
217
|
+
| `--radius` | `rounded` | Global border radius | Shared radius across components |
|
|
223
218
|
|
|
224
219
|
---
|
|
225
220
|
|
|
@@ -227,9 +222,9 @@ Override these variables in `:root` or within a `.dark` class (when using class-
|
|
|
227
222
|
|
|
228
223
|
For more complex components, vlite3 provides extended variants for main semantic colors (`primary`, `danger`, `warning`, `info`, `success`). These are useful for building nuanced UIs with subtle backgrounds, hover states, and accessible text.
|
|
229
224
|
|
|
230
|
-
| Base Color
|
|
231
|
-
|
|
|
232
|
-
| **Primary** | `--color-primary-light`<br>
|
|
225
|
+
| Base Color | Variant Variables | Usage Description |
|
|
226
|
+
| ----------- | --------------------------- | ----------------- |
|
|
227
|
+
| **Primary** | `--color-primary-light`<br> |
|
|
233
228
|
|
|
234
229
|
<br>`--color-primary-dark`<br>
|
|
235
230
|
|
|
@@ -239,9 +234,9 @@ For more complex components, vlite3 provides extended variants for main semantic
|
|
|
239
234
|
|
|
240
235
|
<br>**Dark**: Hover state for the main color.<br>
|
|
241
236
|
|
|
242
|
-
<br>**Fg**: Text color on top of the
|
|
237
|
+
<br>**Fg**: Text color on top of the _main_ color.<br>
|
|
243
238
|
|
|
244
|
-
<br>**Fg-Light**: Text color on top of the
|
|
239
|
+
<br>**Fg-Light**: Text color on top of the _light_ variant. |
|
|
245
240
|
| **Danger** | `--color-danger-light`<br>
|
|
246
241
|
|
|
247
242
|
<br>`--color-danger-dark`<br>
|
|
@@ -303,19 +298,18 @@ For more complex components, vlite3 provides extended variants for main semantic
|
|
|
303
298
|
</div>
|
|
304
299
|
|
|
305
300
|
<button class="bg-danger text-danger-fg hover:bg-danger-dark">Delete</button>
|
|
306
|
-
|
|
307
301
|
```
|
|
308
302
|
|
|
309
303
|
### Additional Colors
|
|
310
304
|
|
|
311
305
|
vlite3 also provides additional utility colors for specific feedback states:
|
|
312
306
|
|
|
313
|
-
| Variable
|
|
314
|
-
|
|
|
315
|
-
| `--color-success` | `text-success`, `bg-success` | For success messages/badges.
|
|
316
|
-
| `--color-warning` | `text-warning`, `bg-warning` | For warning messages/badges.
|
|
317
|
-
| `--color-info`
|
|
318
|
-
| `--color-danger`
|
|
307
|
+
| Variable | Class Name | Description |
|
|
308
|
+
| ----------------- | ---------------------------- | --------------------------------------- |
|
|
309
|
+
| `--color-success` | `text-success`, `bg-success` | For success messages/badges. |
|
|
310
|
+
| `--color-warning` | `text-warning`, `bg-warning` | For warning messages/badges. |
|
|
311
|
+
| `--color-info` | `text-info`, `bg-info` | For informational messages/badges. |
|
|
312
|
+
| `--color-danger` | `text-danger`, `bg-danger` | Alias for destructive in some contexts. |
|
|
319
313
|
|
|
320
314
|
---
|
|
321
315
|
|
|
@@ -323,8 +317,8 @@ vlite3 also provides additional utility colors for specific feedback states:
|
|
|
323
317
|
|
|
324
318
|
The typography system is organized into two complementary scales:
|
|
325
319
|
|
|
326
|
-
|
|
327
|
-
|
|
320
|
+
- Compact scale (prefixed with `--text--fs-*`)
|
|
321
|
+
- Progressive scale (prefixed with `--text-fs-*`)
|
|
328
322
|
|
|
329
323
|
Use the progressive scale only when you need finer visual control beyond the standard Tailwind size tokens.
|
|
330
324
|
For most layout and content needs, prefer the default Tailwind text sizes to maintain consistency.
|
|
@@ -340,7 +334,6 @@ For most layout and content needs, prefer the default Tailwind text sizes to mai
|
|
|
340
334
|
--text--fs-6: 0.6em;
|
|
341
335
|
--text--fs-7: 0.55em;
|
|
342
336
|
--text--fs-8: 0.5em;
|
|
343
|
-
|
|
344
337
|
```
|
|
345
338
|
|
|
346
339
|
### Progressive Text Scale
|
|
@@ -366,23 +359,13 @@ For most layout and content needs, prefer the default Tailwind text sizes to mai
|
|
|
366
359
|
--text-fs-9: 1.8em;
|
|
367
360
|
--text-fs-9.5: 2em;
|
|
368
361
|
--text-fs-10: 2.5em;
|
|
369
|
-
|
|
370
362
|
```
|
|
371
363
|
|
|
372
364
|
### Tailwind Size Tokens
|
|
373
365
|
|
|
374
366
|
```css
|
|
375
|
-
--text-xs: 0.75rem
|
|
376
|
-
--text-
|
|
377
|
-
--text-base: 1rem
|
|
378
|
-
--text-lg: 1.125rem
|
|
379
|
-
--text-xl: 1.25rem
|
|
380
|
-
--text-2xl: 1.5rem
|
|
381
|
-
--text-3xl: 1.875rem
|
|
382
|
-
--text-4xl: 2.25rem
|
|
383
|
-
--text-5xl: 3rem
|
|
384
|
-
--text-6xl: 4rem;
|
|
385
|
-
|
|
367
|
+
--text-xs: 0.75rem --text-sm: 0.875rem --text-base: 1rem --text-lg: 1.125rem --text-xl: 1.25rem
|
|
368
|
+
--text-2xl: 1.5rem --text-3xl: 1.875rem --text-4xl: 2.25rem --text-5xl: 3rem --text-6xl: 4rem;
|
|
386
369
|
```
|
|
387
370
|
|
|
388
371
|
---
|
|
@@ -395,87 +378,105 @@ For most layout and content needs, prefer the default Tailwind text sizes to mai
|
|
|
395
378
|
<span class="-text-fs-4 text-muted"> Caption text </span>
|
|
396
379
|
|
|
397
380
|
<h1 class="text-xl font-semibold">Page Title</h1>
|
|
398
|
-
|
|
399
381
|
```
|
|
400
382
|
|
|
401
383
|
## Hard Rules
|
|
402
384
|
|
|
403
385
|
Follow these rules strictly to ensure visual consistency and predictable styling across the system:
|
|
404
386
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
387
|
+
- Use `border` instead of `border-border` (the default border color (gray-250) is already applied).
|
|
388
|
+
- Use `rounded` instead of `rounded-rounded`.
|
|
389
|
+
- Use `bg-muted` instead of `bg-secondary/20`.
|
|
390
|
+
- Use `gap-x-*` instead of applying `ml-*` or `mr-*` directly on sibling items.
|
|
391
|
+
- Use `gap-y-*` instead of applying `mt-*` or `mb-*` directly on sibling items.
|
|
410
392
|
|
|
411
393
|
---
|
|
412
394
|
|
|
413
395
|
## ✅ Components
|
|
414
396
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
397
|
+
- [x] **Button**
|
|
398
|
+
- [x] **ButtonGroup**
|
|
399
|
+
- [x] **Icon**
|
|
400
|
+
- [x] **Label**
|
|
401
|
+
- [x] **Badge**
|
|
402
|
+
- [x] **Chip**
|
|
403
|
+
- [x] **Logo**
|
|
404
|
+
- [x] **Navbar**
|
|
405
|
+
- [x] **SidebarMenu**
|
|
406
|
+
- [x] **SidePanel**
|
|
407
|
+
- [x] **Breadcrumb**
|
|
408
|
+
- [x] **List**
|
|
409
|
+
- [x] **Masonry Grid**
|
|
410
|
+
- [x] **Stats**
|
|
411
|
+
- [x] **ThemeToggle**
|
|
412
|
+
- [x] **Screen**
|
|
427
413
|
|
|
428
414
|
### Inputs & Forms
|
|
429
415
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
416
|
+
- [x] **Input**
|
|
417
|
+
- [x] **Textarea**
|
|
418
|
+
- [x] **CheckBox**
|
|
419
|
+
- [x] **Switch**
|
|
420
|
+
- [x] **ChoiceBox**
|
|
421
|
+
- [x] **Slider**
|
|
422
|
+
- [x] **OTPInput**
|
|
423
|
+
- [x] **NumberInput**
|
|
424
|
+
- [x] **DatePicker**
|
|
425
|
+
- [x] **DateRangePicker**
|
|
426
|
+
- [x] **ColorPicker**
|
|
427
|
+
- [x] **FilePicker**
|
|
428
|
+
- [x] **AvatarUploader**
|
|
429
|
+
- [x] **IconPicker**
|
|
430
|
+
- [x] **MultiSelect**
|
|
431
|
+
- [x] **Forms**
|
|
432
|
+
- [x] **CustomFields**
|
|
433
|
+
- [x] **GoogleLogin**
|
|
434
|
+
- [x] **PermissionEditor**
|
|
447
435
|
|
|
448
436
|
### Data Display
|
|
449
437
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
438
|
+
- [x] **Avatar**
|
|
439
|
+
- [x] **Accordion**
|
|
440
|
+
- [x] **Carousel**
|
|
441
|
+
- [x] **DataTable**
|
|
442
|
+
- [x] **DataList**
|
|
443
|
+
- [x] **Pagination**
|
|
444
|
+
- [x] **Timeline**
|
|
445
|
+
- [x] **Heatmap**
|
|
446
|
+
- [x] **PricingPlan**
|
|
447
|
+
- [x] **FileTree**
|
|
448
|
+
- [x] **Workbook**
|
|
449
|
+
- [x] **Kanban**
|
|
450
|
+
- [x] **Tabes**
|
|
451
|
+
- [x] **Masonry**
|
|
452
|
+
- [x] **Stats**
|
|
461
453
|
|
|
462
454
|
### Feedback & Overlays
|
|
463
455
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
456
|
+
- [x] **Alert**
|
|
457
|
+
- [x] **Modal**
|
|
458
|
+
- [x] **ConfirmationModal**
|
|
459
|
+
- [x] **ToastNotification**
|
|
460
|
+
- [x] **Tooltip**
|
|
461
|
+
- [x] **Dropdown**
|
|
462
|
+
- [x] **ProgressBar**
|
|
463
|
+
- [x] **Spinner**
|
|
464
|
+
- [x] **CommandPalette**
|
|
465
|
+
- [x] **SidePanel**
|
|
472
466
|
|
|
473
|
-
|
|
467
|
+
### Utilities & Tools
|
|
474
468
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
469
|
+
- [x] **Barcode**
|
|
470
|
+
- [x] **QRCode**
|
|
471
|
+
- [x] **ImportData**
|
|
472
|
+
- [x] **ExportData**
|
|
473
|
+
|
|
474
|
+
## Complete reference for AI agents and developers:
|
|
481
475
|
|
|
476
|
+
- [0-setup.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/0-vlite3-setup.md)
|
|
477
|
+
- [1-theming.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/1-theming.md)
|
|
478
|
+
- [2-components.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/2-all-components.md)
|
|
479
|
+
- [3-forms.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/components/Forms.md)
|
|
480
|
+
- [3-utility.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/3-utility.md)
|
|
481
|
+
- [4-i18n.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/4-i18n.md)
|
|
482
|
+
- [5-search-util.md](https://github.com/safdar-azeem/vlite3/blob/main/docs/5-search-util.md)
|
package/_virtual/index10.js
CHANGED
package/_virtual/index11.js
CHANGED
package/_virtual/index7.js
CHANGED
package/_virtual/index9.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as g, computed as s, openBlock as n, createElementBlock as l, withKeys as k, withModifiers as w, normalizeClass as h, renderSlot as I, normalizeProps as $, guardReactiveProps as B, createBlock as b, createCommentVNode as i, createElementVNode as c, toDisplayString as a } from "vue";
|
|
2
|
+
import v from "../Icon.vue.js";
|
|
3
3
|
import { $t as d } from "../../utils/i18n.js";
|
|
4
|
-
const
|
|
4
|
+
const j = ["data-disabled"], C = { class: "flex flex-col flex-1 min-w-0" }, D = { class: "flex items-center justify-between gap-2" }, S = { class: "truncate font-medium" }, z = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "text-xs text-muted-foreground whitespace-nowrap opacity-90"
|
|
7
|
-
},
|
|
7
|
+
}, E = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "text-[10px] text-muted-foreground truncate opacity-70"
|
|
10
|
-
}, P = /* @__PURE__ */
|
|
10
|
+
}, P = /* @__PURE__ */ g({
|
|
11
11
|
__name: "DropdownItem",
|
|
12
12
|
props: {
|
|
13
13
|
option: {},
|
|
@@ -17,40 +17,48 @@ const B = ["data-disabled"], $ = { class: "flex flex-col flex-1 min-w-0" }, j =
|
|
|
17
17
|
index: {}
|
|
18
18
|
},
|
|
19
19
|
emits: ["click", "mouseenter"],
|
|
20
|
-
setup(e, { emit:
|
|
21
|
-
const t = e,
|
|
22
|
-
|
|
20
|
+
setup(e, { emit: x }) {
|
|
21
|
+
const t = e, r = x, y = s(
|
|
22
|
+
() => t.option.labelI18n ? d(t.option.labelI18n) : t.option.label
|
|
23
|
+
), u = s(
|
|
24
|
+
() => t.option.subtitleI18n ? d(t.option.subtitleI18n) : t.option.subtitle
|
|
25
|
+
), m = s(
|
|
26
|
+
() => t.option.descriptionI18n ? d(t.option.descriptionI18n) : t.option.description
|
|
27
|
+
);
|
|
28
|
+
return (f, o) => (n(), l("div", {
|
|
29
|
+
tabindex: 0,
|
|
23
30
|
"data-dropdown-item": "",
|
|
24
|
-
class: h(["relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-disabled:pointer-events-none data-disabled:opacity-50", [
|
|
31
|
+
class: h(["relative w-full flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-offset-1 data-disabled:pointer-events-none data-disabled:opacity-50", [
|
|
25
32
|
e.selectable && e.selected && !e.option.children ? "bg-accent" : "",
|
|
26
33
|
e.focused ? "bg-accent text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground",
|
|
27
34
|
e.option.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
|
|
28
35
|
]]),
|
|
29
36
|
"data-disabled": e.option.disabled ? !0 : void 0,
|
|
30
|
-
onClick:
|
|
31
|
-
|
|
37
|
+
onClick: o[0] || (o[0] = (p) => r("click", e.option)),
|
|
38
|
+
onKeydown: o[1] || (o[1] = k(w((p) => r("click", e.option), ["prevent"]), ["enter"])),
|
|
39
|
+
onMouseenter: o[2] || (o[2] = (p) => f.$emit("mouseenter", e.index ?? -1))
|
|
32
40
|
}, [
|
|
33
|
-
|
|
34
|
-
e.option.icon || e.option.emoji ? (
|
|
41
|
+
I(f.$slots, "default", $(B({ option: e.option, index: e.index, selected: e.selected })), () => [
|
|
42
|
+
e.option.icon || e.option.emoji ? (n(), b(v, {
|
|
35
43
|
key: 0,
|
|
36
44
|
icon: e.option.icon,
|
|
37
45
|
emoji: e.option.emoji,
|
|
38
46
|
class: "mr-2 h-4 w-4 shrink-0 mt-0.5"
|
|
39
47
|
}, null, 8, ["icon", "emoji"])) : i("", !0),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
c("div", C, [
|
|
49
|
+
c("div", D, [
|
|
50
|
+
c("span", S, a(y.value), 1),
|
|
51
|
+
u.value ? (n(), l("span", z, a(u.value), 1)) : i("", !0)
|
|
44
52
|
]),
|
|
45
|
-
|
|
53
|
+
m.value ? (n(), l("span", E, a(m.value), 1)) : i("", !0)
|
|
46
54
|
]),
|
|
47
|
-
e.selectable && e.selected ? (
|
|
55
|
+
e.selectable && e.selected ? (n(), b(v, {
|
|
48
56
|
key: 1,
|
|
49
57
|
icon: "lucide:check",
|
|
50
58
|
class: "ml-2 h-4 w-4 shrink-0 text-primary"
|
|
51
59
|
})) : i("", !0)
|
|
52
60
|
])
|
|
53
|
-
], 42,
|
|
61
|
+
], 42, j));
|
|
54
62
|
}
|
|
55
63
|
});
|
|
56
64
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as Z, defineAsyncComponent as ee, ref as j, computed as h, watch as T, onMounted as te, onBeforeUnmount as le, openBlock as n, createElementBlock as
|
|
1
|
+
import { defineComponent as Z, defineAsyncComponent as ee, ref as j, computed as h, watch as T, onMounted as te, onBeforeUnmount as le, openBlock as n, createElementBlock as c, createVNode as S, createCommentVNode as u, renderSlot as b, unref as o, normalizeStyle as se, normalizeClass as _, toDisplayString as D, createBlock as v, Fragment as E, renderList as ne, withCtx as N, createElementVNode as $, createSlots as oe, mergeProps as re, nextTick as ae } from "vue";
|
|
2
2
|
import I from "../Icon.vue.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import ce from "../Input.vue.js";
|
|
4
|
+
import de from "./DropdownItem.vue.js";
|
|
5
5
|
import ie from "./DropdownBooleanItem.vue.js";
|
|
6
6
|
import ue from "./DropdownGroupedLayout.vue.js";
|
|
7
7
|
import { useDropdownNavigation as fe } from "./composables/useDropdownNavigation.js";
|
|
@@ -54,7 +54,7 @@ const he = ["dir"], ve = {
|
|
|
54
54
|
}), L = h(() => {
|
|
55
55
|
const e = M("vlite.dropdown.search");
|
|
56
56
|
return e !== "vlite.dropdown.search" ? e : "Search...";
|
|
57
|
-
}),
|
|
57
|
+
}), d = h(() => t.options ? t.options.map((e) => typeof e == "string" || typeof e == "number" ? { label: String(e), value: String(e) } : e) : []), R = h(() => t.remote ? t.searchable : t.searchable && (d.value.length || 0) > 9);
|
|
58
58
|
let k = null;
|
|
59
59
|
T(m, (e) => {
|
|
60
60
|
t.remote && (k && clearTimeout(k), k = setTimeout(() => {
|
|
@@ -75,12 +75,12 @@ const he = ["dir"], ve = {
|
|
|
75
75
|
onMouseEnterItem: x,
|
|
76
76
|
scrollToIndex: U
|
|
77
77
|
} = fe({
|
|
78
|
-
options:
|
|
78
|
+
options: d,
|
|
79
79
|
searchQuery: m,
|
|
80
80
|
containerRef: O,
|
|
81
81
|
emit: (e, ...s) => f(e, ...s),
|
|
82
82
|
handleSelect: (e, s) => w(e)
|
|
83
|
-
}), g = h(() => t.remote ? m.value ?
|
|
83
|
+
}), g = h(() => t.remote ? m.value ? d.value : t.cachedOptions.length ? t.cachedOptions : d.value : K.value), q = (e) => {
|
|
84
84
|
if (!(!t.selected || typeof t.selected != "object") && e.key && e.key in t.selected)
|
|
85
85
|
return t.selected[e.key];
|
|
86
86
|
}, G = (e) => e.disabled ? !1 : Array.isArray(t.selected) ? t.selected.includes(e.value) : t.selected && typeof t.selected == "object" && e.key ? t.selected[e.key] === e.value : t.selected === e.value, J = (e) => !e.key || !t.selected || typeof t.selected != "object" ? !1 : !!t.selected[e.key], Q = (e, s) => {
|
|
@@ -105,7 +105,7 @@ const he = ["dir"], ve = {
|
|
|
105
105
|
}, X = async () => {
|
|
106
106
|
await ae();
|
|
107
107
|
let e = -1;
|
|
108
|
-
t.layout !== "grouped" && (t.selectedIndex !== null && t.selectedIndex >= 0 ? e = t.selectedIndex : t.selected !== void 0 && typeof t.selected != "object" && (e =
|
|
108
|
+
t.layout !== "grouped" && (t.selectedIndex !== null && t.selectedIndex >= 0 ? e = t.selectedIndex : t.selected !== void 0 && typeof t.selected != "object" && (e = d.value.findIndex((s) => s.value === t.selected)), e !== -1 && U(e));
|
|
109
109
|
};
|
|
110
110
|
T(
|
|
111
111
|
() => g.value,
|
|
@@ -118,12 +118,12 @@ const he = ["dir"], ve = {
|
|
|
118
118
|
window.removeEventListener("keydown", B);
|
|
119
119
|
});
|
|
120
120
|
const Y = (e) => e.labelI18n ? M(e.labelI18n) : e.label;
|
|
121
|
-
return (e, s) => (n(),
|
|
121
|
+
return (e, s) => (n(), c("div", {
|
|
122
122
|
class: "dropdown-menu w-full min-w-[150px] flex flex-col",
|
|
123
123
|
dir: r.direction
|
|
124
124
|
}, [
|
|
125
|
-
R.value ? (n(),
|
|
126
|
-
S(
|
|
125
|
+
R.value ? (n(), c("div", ve, [
|
|
126
|
+
S(ce, {
|
|
127
127
|
modelValue: m.value,
|
|
128
128
|
"onUpdate:modelValue": s[0] || (s[0] = (l) => m.value = l),
|
|
129
129
|
placeholder: L.value,
|
|
@@ -136,10 +136,10 @@ const he = ["dir"], ve = {
|
|
|
136
136
|
"show-clear-button": !1
|
|
137
137
|
}, null, 8, ["modelValue", "placeholder"])
|
|
138
138
|
])) : u("", !0),
|
|
139
|
-
e.$slots.header ? (n(),
|
|
139
|
+
e.$slots.header ? (n(), c("div", ye, [
|
|
140
140
|
b(e.$slots, "header")
|
|
141
141
|
])) : u("", !0),
|
|
142
|
-
|
|
142
|
+
d.value.length > 0 || e.$slots.menu ? (n(), c("div", {
|
|
143
143
|
key: 2,
|
|
144
144
|
ref_key: "containerRef",
|
|
145
145
|
ref: O,
|
|
@@ -154,7 +154,7 @@ const he = ["dir"], ve = {
|
|
|
154
154
|
(...l) => o(C) && o(C)(...l)),
|
|
155
155
|
onScroll: F
|
|
156
156
|
}, [
|
|
157
|
-
g.value.length === 0 &&
|
|
157
|
+
g.value.length === 0 && d.value.length > 0 && !r.loading ? (n(), c("div", ge, D(A.value), 1)) : u("", !0),
|
|
158
158
|
r.layout === "grouped" ? (n(), v(ue, {
|
|
159
159
|
key: 1,
|
|
160
160
|
options: g.value,
|
|
@@ -162,8 +162,8 @@ const he = ["dir"], ve = {
|
|
|
162
162
|
selectable: r.selectable,
|
|
163
163
|
columns: r.columns,
|
|
164
164
|
onSelect: w
|
|
165
|
-
}, null, 8, ["options", "selected", "selectable", "columns"])) : (n(!0),
|
|
166
|
-
l.label === "---" ? (n(),
|
|
165
|
+
}, null, 8, ["options", "selected", "selectable", "columns"])) : (n(!0), c(E, { key: 2 }, ne(g.value, (l, a) => (n(), c(E, { key: a }, [
|
|
166
|
+
l.label === "---" ? (n(), c("div", be)) : l.data?.isBoolean ? (n(), v(ie, {
|
|
167
167
|
key: 1,
|
|
168
168
|
option: l,
|
|
169
169
|
value: J(l),
|
|
@@ -187,8 +187,9 @@ const he = ["dir"], ve = {
|
|
|
187
187
|
}, {
|
|
188
188
|
trigger: N(() => [
|
|
189
189
|
$("div", {
|
|
190
|
+
tabindex: 0,
|
|
190
191
|
"data-dropdown-item": "",
|
|
191
|
-
class: _(["relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm font-medium outline-none transition-colors justify-between w-full", [
|
|
192
|
+
class: _(["relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm font-medium outline-none transition-colors justify-between w-full focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-offset-1", [
|
|
192
193
|
o(p) && o(y) === a ? "bg-accent text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground",
|
|
193
194
|
l.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
194
195
|
]]),
|
|
@@ -210,7 +211,7 @@ const he = ["dir"], ve = {
|
|
|
210
211
|
], 42, ke)
|
|
211
212
|
]),
|
|
212
213
|
_: 2
|
|
213
|
-
}, 1032, ["position", "offset", "options", "selected", "menuId", "nestedPosition", "nestedOffset", "selectable", "ignoreClickOutside", "direction", "onOnSelect"])) : (n(), v(
|
|
214
|
+
}, 1032, ["position", "offset", "options", "selected", "menuId", "nestedPosition", "nestedOffset", "selectable", "ignoreClickOutside", "direction", "onOnSelect"])) : (n(), v(de, {
|
|
214
215
|
key: 3,
|
|
215
216
|
option: l,
|
|
216
217
|
index: a,
|
|
@@ -229,7 +230,7 @@ const he = ["dir"], ve = {
|
|
|
229
230
|
} : void 0
|
|
230
231
|
]), 1032, ["option", "index", "selected", "focused", "selectable", "onClick", "onMouseenter"]))
|
|
231
232
|
], 64))), 128)),
|
|
232
|
-
r.loading ? (n(),
|
|
233
|
+
r.loading ? (n(), c("div", xe, [
|
|
233
234
|
S(I, {
|
|
234
235
|
icon: "lucide:loader-2",
|
|
235
236
|
class: "w-4 h-4 animate-spin text-muted-foreground"
|
|
@@ -237,7 +238,7 @@ const he = ["dir"], ve = {
|
|
|
237
238
|
])) : u("", !0),
|
|
238
239
|
b(e.$slots, "menu")
|
|
239
240
|
], 38)) : u("", !0),
|
|
240
|
-
e.$slots.footer ? (n(),
|
|
241
|
+
e.$slots.footer ? (n(), c("div", Se, [
|
|
241
242
|
b(e.$slots, "footer")
|
|
242
243
|
])) : u("", !0)
|
|
243
244
|
], 8, he));
|
|
@@ -27,7 +27,9 @@ declare function __VLS_template(): {
|
|
|
27
27
|
close: () => void;
|
|
28
28
|
}): any;
|
|
29
29
|
};
|
|
30
|
-
refs: {
|
|
30
|
+
refs: {
|
|
31
|
+
modalRef: HTMLDivElement;
|
|
32
|
+
};
|
|
31
33
|
rootEl: any;
|
|
32
34
|
};
|
|
33
35
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
@@ -44,7 +46,9 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
44
46
|
maxWidth: string;
|
|
45
47
|
closeOutside: boolean;
|
|
46
48
|
backdrop: boolean;
|
|
47
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
49
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
50
|
+
modalRef: HTMLDivElement;
|
|
51
|
+
}, any>;
|
|
48
52
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
49
53
|
export default _default;
|
|
50
54
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
package/components/Modal.vue.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Modal.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b4f8e934"]]);
|
|
5
5
|
export {
|
|
6
6
|
m as default
|
|
7
7
|
};
|
package/components/Modal.vue2.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import { useKeyStroke as
|
|
4
|
-
import { $t as
|
|
5
|
-
const
|
|
1
|
+
import { defineComponent as N, ref as u, watch as g, provide as P, nextTick as V, onUnmounted as j, computed as x, openBlock as s, createElementBlock as r, Fragment as K, createElementVNode as d, mergeProps as C, withModifiers as w, renderSlot as f, createCommentVNode as c, createBlock as $, Teleport as M, createVNode as B, Transition as R, withCtx as W, normalizeClass as a, toDisplayString as T, resolveDynamicComponent as A } from "vue";
|
|
2
|
+
import F from "./Button.vue.js";
|
|
3
|
+
import { useKeyStroke as U } from "../composables/useKeyStroke.js";
|
|
4
|
+
import { $t as I } from "../utils/i18n.js";
|
|
5
|
+
const q = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "flex-none flex flex-col space-y-1.5 pb-0 border-b border-border/90"
|
|
8
|
-
},
|
|
8
|
+
}, G = { class: "text-lg font-semibold leading-none tracking-tight" }, H = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "text-sm text-muted-foreground mb-6.5"
|
|
11
|
-
},
|
|
11
|
+
}, Y = /* @__PURE__ */ N({
|
|
12
12
|
inheritAttrs: !1,
|
|
13
13
|
__name: "Modal",
|
|
14
14
|
props: {
|
|
@@ -28,51 +28,51 @@ const U = {
|
|
|
28
28
|
bodyProps: {}
|
|
29
29
|
},
|
|
30
30
|
emits: ["close", "update:show", "onOpen"],
|
|
31
|
-
setup(t, { emit:
|
|
32
|
-
const o = t,
|
|
33
|
-
let
|
|
31
|
+
setup(t, { emit: S }) {
|
|
32
|
+
const o = t, m = S, n = u(o.show), b = u(!1), y = u(!1), p = u(null);
|
|
33
|
+
let i = null;
|
|
34
34
|
g(
|
|
35
35
|
() => o.show,
|
|
36
36
|
(e) => {
|
|
37
|
-
|
|
37
|
+
n.value = e, e && m("onOpen");
|
|
38
38
|
}
|
|
39
39
|
);
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
const O = () => {
|
|
41
|
+
n.value = !0;
|
|
42
|
+
}, z = (e) => {
|
|
43
|
+
b.value = e;
|
|
44
|
+
}, l = () => {
|
|
45
|
+
if (b.value) {
|
|
46
|
+
y.value = !0, i && clearTimeout(i), i = setTimeout(() => {
|
|
47
|
+
y.value = !1;
|
|
48
48
|
}, 1e3);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
n.value = !1, m("update:show", !1), m("close");
|
|
52
52
|
};
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
o.closeOutside &&
|
|
56
|
-
}, { onKeyStroke:
|
|
57
|
-
|
|
58
|
-
e ? document.body.style.overflow = "hidden" : document.body.style.overflow = "";
|
|
59
|
-
}),
|
|
60
|
-
document.body.style.overflow = "",
|
|
53
|
+
P("modal-context", { close: l, setSubmitting: z });
|
|
54
|
+
const D = () => {
|
|
55
|
+
o.closeOutside && l();
|
|
56
|
+
}, { onKeyStroke: E } = U();
|
|
57
|
+
E("Escape", l), g(n, async (e) => {
|
|
58
|
+
e ? (document.body.style.overflow = "hidden", await V(), p.value?.focus()) : document.body.style.overflow = "";
|
|
59
|
+
}), j(() => {
|
|
60
|
+
document.body.style.overflow = "", i && clearTimeout(i);
|
|
61
61
|
});
|
|
62
|
-
const
|
|
63
|
-
() => o.descriptionI18n ?
|
|
62
|
+
const v = x(() => o.titleI18n ? I(o.titleI18n) : o.title), h = x(
|
|
63
|
+
() => o.descriptionI18n ? I(o.descriptionI18n) : o.description
|
|
64
64
|
);
|
|
65
|
-
return (e,
|
|
66
|
-
d("span",
|
|
67
|
-
onClick:
|
|
65
|
+
return (e, k) => (s(), r(K, null, [
|
|
66
|
+
d("span", C({
|
|
67
|
+
onClick: w(O, ["stop"]),
|
|
68
68
|
class: `${t.triggerClass}`
|
|
69
69
|
}, e.$attrs), [
|
|
70
|
-
|
|
71
|
-
t.body ?
|
|
70
|
+
f(e.$slots, "trigger", {}, () => [
|
|
71
|
+
t.body ? f(e.$slots, "default", { key: 0 }, void 0, !0) : c("", !0)
|
|
72
72
|
], !0)
|
|
73
73
|
], 16),
|
|
74
|
-
(
|
|
75
|
-
|
|
74
|
+
(s(), $(M, { to: "body" }, [
|
|
75
|
+
B(R, {
|
|
76
76
|
"enter-active-class": "transition duration-200 ease-out",
|
|
77
77
|
"enter-from-class": "opacity-0",
|
|
78
78
|
"enter-to-class": "opacity-100",
|
|
@@ -80,46 +80,49 @@ const U = {
|
|
|
80
80
|
"leave-from-class": "opacity-100",
|
|
81
81
|
"leave-to-class": "opacity-0"
|
|
82
82
|
}, {
|
|
83
|
-
default:
|
|
84
|
-
|
|
83
|
+
default: W(() => [
|
|
84
|
+
n.value ? (s(), r("div", {
|
|
85
85
|
key: 0,
|
|
86
86
|
class: a(["fixed inset-0 z-50 flex items-center justify-center bg-[#00000051] p-4", t.backdrop && "backdrop-blur-[2px]"]),
|
|
87
|
-
onClick:
|
|
87
|
+
onClick: D
|
|
88
88
|
}, [
|
|
89
89
|
d("div", {
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
ref_key: "modalRef",
|
|
91
|
+
ref: p,
|
|
92
|
+
tabindex: "-1",
|
|
93
|
+
class: a(["modal-body relative w-full rounded border border-border/60 bg-body shadow-lg text-foreground flex flex-col max-h-[85vh] sm:max-h-[90vh] focus:outline-none", [t.maxWidth]]),
|
|
94
|
+
onClick: k[0] || (k[0] = w(() => {
|
|
92
95
|
}, ["stop"]))
|
|
93
96
|
}, [
|
|
94
|
-
|
|
97
|
+
v.value ? (s(), r("div", q, [
|
|
95
98
|
d("div", {
|
|
96
99
|
class: a(["flex items-center justify-between py-2 px-4 rounded-t-md", t.headerClass])
|
|
97
100
|
}, [
|
|
98
|
-
d("h3",
|
|
99
|
-
|
|
101
|
+
d("h3", G, T(v.value), 1),
|
|
102
|
+
B(F, {
|
|
100
103
|
rounded: "full",
|
|
101
104
|
size: "sm",
|
|
102
105
|
icon: "lucide:x",
|
|
103
106
|
variant: "ghost",
|
|
104
|
-
class: a(["hover:bg-gray-250/25! transition-all", { "blink-bg":
|
|
105
|
-
onClick:
|
|
107
|
+
class: a(["hover:bg-gray-250/25! transition-all", { "blink-bg": y.value }]),
|
|
108
|
+
onClick: l
|
|
106
109
|
}, null, 8, ["class"])
|
|
107
110
|
], 2)
|
|
108
111
|
])) : c("", !0),
|
|
109
112
|
d("div", {
|
|
110
113
|
class: a(["flex-1 overflow-y-auto px-4 pt-4 pb-3.5 min-h-0", t.bodyClass])
|
|
111
114
|
}, [
|
|
112
|
-
|
|
113
|
-
t.body ? (
|
|
115
|
+
h.value ? (s(), r("p", H, T(h.value), 1)) : c("", !0),
|
|
116
|
+
t.body ? (s(), $(A(t.body), C({ key: 1 }, { ...t.bodyProps, ...e.$attrs }, { close: l }), null, 16)) : f(e.$slots, "default", {
|
|
114
117
|
key: 2,
|
|
115
|
-
close:
|
|
118
|
+
close: l
|
|
116
119
|
}, void 0, !0)
|
|
117
120
|
], 2),
|
|
118
|
-
e.$slots.footer ? (
|
|
121
|
+
e.$slots.footer ? (s(), r("div", {
|
|
119
122
|
key: 1,
|
|
120
123
|
class: a([t.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/75 rounded-b-xl bg-body"])
|
|
121
124
|
}, [
|
|
122
|
-
|
|
125
|
+
f(e.$slots, "footer", { close: l }, void 0, !0)
|
|
123
126
|
], 2)) : c("", !0)
|
|
124
127
|
], 2)
|
|
125
128
|
], 2)) : c("", !0)
|
|
@@ -131,5 +134,5 @@ const U = {
|
|
|
131
134
|
}
|
|
132
135
|
});
|
|
133
136
|
export {
|
|
134
|
-
|
|
137
|
+
Y as default
|
|
135
138
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"private": false,
|
|
4
4
|
"description": "A Vue 3 UI component library built with Tailwind CSS.",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "0.5.
|
|
6
|
+
"version": "0.5.3",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"module": "index.js",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"scrollreveal": "^4.0.9",
|
|
48
48
|
"tailwindcss": "^4.1.18",
|
|
49
49
|
"v-datepicker-lite": "^0.1.6",
|
|
50
|
-
"v-tooltip-lite": "^0.2.
|
|
50
|
+
"v-tooltip-lite": "^0.2.3",
|
|
51
51
|
"vue-carousel-lite": "^0.2.7",
|
|
52
52
|
"vue-draggable-plus": "^0.5.3",
|
|
53
53
|
"vue3-google-signin": "^2.1.1",
|
package/style.css
CHANGED
|
@@ -714,5 +714,5 @@ textarea::-webkit-scrollbar-thumb {
|
|
|
714
714
|
}
|
|
715
715
|
|
|
716
716
|
/* --- Vite Generated CSS --- */
|
|
717
|
-
input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.blink-bg[data-v-32c213fd]{animation:blink-animation-32c213fd 1s infinite}@keyframes blink-animation-32c213fd{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-c9831df1] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-c9831df1] input,.custom-fields-table[data-v-c9831df1] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-c9831df1] input,.custom-fields-table[data-v-c9831df1] textarea,.custom-fields-table[data-v-c9831df1] select,.custom-fields-table[data-v-c9831df1] .input-wrapper,.custom-fields-table[data-v-c9831df1] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-c9831df1] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-c9831df1] input:focus,.custom-fields-table[data-v-c9831df1] textarea:focus,.custom-fields-table[data-v-c9831df1] select:focus,.custom-fields-table[data-v-c9831df1] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-c9831df1] .w-full{width:100%;height:100%}.list-enter-active[data-v-c9831df1]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-c9831df1]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-03c267ac]{display:flex;flex-direction:column}.form-field-item[data-v-03c267ac]:has([role=switch]),.form-field-item[data-v-03c267ac]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-655cd96c]{width:100%}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.breadcrumb-item[data-v-0b2efcbc]{display:inline-flex;align-items:center}.breadcrumb-link[data-v-0b2efcbc]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-0b2efcbc]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-0b2efcbc]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-0b2efcbc]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-0b2efcbc]{flex-shrink:0}.breadcrumb-list[data-v-a68fd721]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.45em}.breadcrumb--sm[data-v-a68fd721]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-a68fd721]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-a68fd721]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-a68fd721]{display:inline-flex;align-items:center;color:var(--color-gray-400);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-a68fd721]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-a68fd721]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-a68fd721]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-300)}.breadcrumb--contained[data-v-a68fd721]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-300)}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-a68fd721]{gap:0}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-a68fd721]{display:none}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-1f9be4e0]{max-height:70vh}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.button-group[data-v-ba735fac] button{align-self:stretch;height:auto!important;min-height:unset!important;min-width:unset!important;width:auto!important}.button-group[data-v-ba735fac]:not(.vertical-group) button{aspect-ratio:unset}.attached-group[data-v-ba735fac] button{position:relative;--radius: .375rem}.attached-group[data-v-ba735fac] button:focus-visible,.attached-group[data-v-ba735fac] button:hover{z-index:10}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-ba735fac]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-ba735fac] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-ba735fac] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-ba735fac] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.first-toast-enter-active[data-v-dc3a3b49]{animation:first-toast-in-dc3a3b49 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-dc3a3b49]{transition:all .25s ease-in}.first-toast-leave-to[data-v-dc3a3b49]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-dc3a3b49{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-dc3a3b49],.stack-toast-leave-active[data-v-dc3a3b49]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-dc3a3b49]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-dc3a3b49]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-dc3a3b49]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}
|
|
717
|
+
input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.blink-bg[data-v-b4f8e934]{animation:blink-animation-b4f8e934 1s infinite}@keyframes blink-animation-b4f8e934{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-c9831df1] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-c9831df1] input,.custom-fields-table[data-v-c9831df1] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-c9831df1] input,.custom-fields-table[data-v-c9831df1] textarea,.custom-fields-table[data-v-c9831df1] select,.custom-fields-table[data-v-c9831df1] .input-wrapper,.custom-fields-table[data-v-c9831df1] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-c9831df1] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-c9831df1] input:focus,.custom-fields-table[data-v-c9831df1] textarea:focus,.custom-fields-table[data-v-c9831df1] select:focus,.custom-fields-table[data-v-c9831df1] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-c9831df1] .w-full{width:100%;height:100%}.list-enter-active[data-v-c9831df1]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-c9831df1]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-03c267ac]{display:flex;flex-direction:column}.form-field-item[data-v-03c267ac]:has([role=switch]),.form-field-item[data-v-03c267ac]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-655cd96c]{width:100%}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3849c10a]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.breadcrumb-item[data-v-0b2efcbc]{display:inline-flex;align-items:center}.breadcrumb-link[data-v-0b2efcbc]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-0b2efcbc]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-0b2efcbc]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-0b2efcbc]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-0b2efcbc]{flex-shrink:0}.breadcrumb-list[data-v-a68fd721]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.45em}.breadcrumb--sm[data-v-a68fd721]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-a68fd721]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-a68fd721]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-a68fd721]{display:inline-flex;align-items:center;color:var(--color-gray-400);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-a68fd721]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-a68fd721]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-a68fd721]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-300)}.breadcrumb--contained[data-v-a68fd721]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-300)}.breadcrumb--pills[data-v-a68fd721] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-a68fd721]{gap:0}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-a68fd721] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-a68fd721]{display:none}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-1f9be4e0]{max-height:70vh}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.permission-matrix-wrapper[data-v-1f9be4e0]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.button-group[data-v-ba735fac] button{align-self:stretch;height:auto!important;min-height:unset!important;min-width:unset!important;width:auto!important}.button-group[data-v-ba735fac]:not(.vertical-group) button{aspect-ratio:unset}.attached-group[data-v-ba735fac] button{position:relative;--radius: .375rem}.attached-group[data-v-ba735fac] button:focus-visible,.attached-group[data-v-ba735fac] button:hover{z-index:10}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-ba735fac]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-ba735fac] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-ba735fac] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-ba735fac] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.first-toast-enter-active[data-v-dc3a3b49]{animation:first-toast-in-dc3a3b49 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-dc3a3b49]{transition:all .25s ease-in}.first-toast-leave-to[data-v-dc3a3b49]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-dc3a3b49{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-dc3a3b49],.stack-toast-leave-active[data-v-dc3a3b49]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-dc3a3b49]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-dc3a3b49]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-dc3a3b49]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-c2e803a4] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}
|
|
718
718
|
|