vlite3 0.1.10 → 0.2.2

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.
Files changed (55) hide show
  1. package/README.md +226 -150
  2. package/components/Button.vue.js +1 -1
  3. package/components/Chip/Chip.vue.js +15 -15
  4. package/components/DataTable/DataTable.vue.js +2 -2
  5. package/components/DataTable/DataTable.vue2.js +41 -39
  6. package/components/DataTable/types.d.ts +1 -0
  7. package/components/DatePicker.vue.d.ts +12 -3
  8. package/components/DatePicker.vue.js +80 -39
  9. package/components/Dropdown/DropdownMenu.vue.js +48 -47
  10. package/components/Form/Form.vue.d.ts +2 -0
  11. package/components/Form/Form.vue.js +2 -2
  12. package/components/Form/Form.vue2.js +104 -101
  13. package/components/Form/FormField.vue.d.ts +4 -0
  14. package/components/Form/FormField.vue.js +248 -148
  15. package/components/Form/FormFields.vue.d.ts +2 -0
  16. package/components/Form/FormFields.vue.js +2 -2
  17. package/components/Form/FormFields.vue2.js +45 -39
  18. package/components/Form/types.d.ts +24 -4
  19. package/components/Form/utils/form.utils.d.ts +5 -1
  20. package/components/Form/utils/form.utils.js +69 -60
  21. package/components/GoogleLogin.vue.d.ts +41 -0
  22. package/components/GoogleLogin.vue.js +60 -0
  23. package/components/GoogleLogin.vue2.js +4 -0
  24. package/components/Input.vue.js +120 -111
  25. package/components/NumberInput.vue.d.ts +38 -0
  26. package/components/NumberInput.vue.js +7 -0
  27. package/components/NumberInput.vue2.js +191 -0
  28. package/components/Pagination/Pagination.vue.d.ts +1 -0
  29. package/components/Pagination/Pagination.vue.js +60 -46
  30. package/components/ProgressBar/ProgressBar.vue.d.ts +12 -0
  31. package/components/ProgressBar/ProgressBar.vue.js +7 -0
  32. package/components/ProgressBar/ProgressBar.vue2.js +158 -0
  33. package/components/ProgressBar/index.d.ts +3 -0
  34. package/components/Spinner/Spinner.vue.d.ts +8 -0
  35. package/components/Spinner/Spinner.vue.js +89 -0
  36. package/components/Spinner/Spinner.vue2.js +4 -0
  37. package/components/Spinner/index.d.ts +2 -0
  38. package/components/Spinner/types.d.ts +9 -0
  39. package/components/Tabes/Tabes.vue.d.ts +3 -1
  40. package/components/Tabes/Tabes.vue.js +103 -44
  41. package/directives/vScrollReveal.d.ts +2 -0
  42. package/directives/vScrollReveal.js +48 -0
  43. package/index.d.ts +8 -0
  44. package/index.js +180 -147
  45. package/package.json +6 -3
  46. package/style.css +56 -4
  47. package/types/form.type.d.ts +2 -2
  48. package/types/progressbar.d.ts +75 -0
  49. package/utils/env.d.ts +14 -0
  50. package/utils/env.js +4 -0
  51. package/utils/functions.d.ts +99 -0
  52. package/utils/functions.js +91 -7
  53. package/utils/index.d.ts +2 -0
  54. package/utils/search.util.d.ts +127 -0
  55. package/utils/search.util.js +363 -0
package/index.js CHANGED
@@ -1,156 +1,189 @@
1
- import { default as t } from "./components/Accordion/Accordion.vue.js";
2
- import { default as f } from "./components/Accordion/AccordionItem.vue.js";
3
- import { default as p } from "./components/Accordion/AccordionTrigger.vue.js";
4
- import { default as l } from "./components/Accordion/AccordionContent.vue.js";
5
- import { default as u } from "./components/Alert.vue.js";
6
- import { default as i } from "./components/Avatar.vue.js";
7
- import { default as c } from "./components/AvatarUploader/AvatarUploader.vue.js";
8
- import { default as g } from "./components/Badge.vue.js";
9
- import { default as b } from "./components/Button.vue.js";
10
- import { default as F } from "./components/ButtonGroup.vue.js";
11
- import { default as A } from "./components/Carousel/Carousel.vue.js";
12
- import { default as k } from "./components/CheckBox.vue.js";
13
- import { default as C } from "./components/Chip/Chip.vue.js";
14
- import { default as h } from "./components/ChoiceBox/ChoiceBox.vue.js";
15
- import { default as v } from "./components/ColorPicker/ColorPicker.vue.js";
16
- import { default as L } from "./components/ConfirmationModal.vue.js";
17
- import { default as K } from "./components/DatePicker.vue.js";
18
- import { default as R } from "./components/DataTable/DataTable.vue.js";
19
- import { default as H } from "./components/DataTable/DataTableHeader.vue.js";
1
+ import { default as t } from "./node_modules/vue3-google-signin/dist/index.es.js";
2
+ import { default as f } from "./components/Accordion/Accordion.vue.js";
3
+ import { default as m } from "./components/Accordion/AccordionItem.vue.js";
4
+ import { default as d } from "./components/Accordion/AccordionTrigger.vue.js";
5
+ import { default as u } from "./components/Accordion/AccordionContent.vue.js";
6
+ import { default as i } from "./components/Alert.vue.js";
7
+ import { default as c } from "./components/Avatar.vue.js";
8
+ import { default as g } from "./components/AvatarUploader/AvatarUploader.vue.js";
9
+ import { default as b } from "./components/Badge.vue.js";
10
+ import { default as P } from "./components/Button.vue.js";
11
+ import { default as v } from "./components/ButtonGroup.vue.js";
12
+ import { default as C } from "./components/Carousel/Carousel.vue.js";
13
+ import { default as D } from "./components/CheckBox.vue.js";
14
+ import { default as y } from "./components/Chip/Chip.vue.js";
15
+ import { default as k } from "./components/ChoiceBox/ChoiceBox.vue.js";
16
+ import { default as B } from "./components/ColorPicker/ColorPicker.vue.js";
17
+ import { default as G } from "./components/ConfirmationModal.vue.js";
18
+ import { default as E } from "./components/DatePicker.vue.js";
19
+ import { default as O } from "./components/DataTable/DataTable.vue.js";
20
+ import { default as z } from "./components/DataTable/DataTableHeader.vue.js";
20
21
  import { default as V } from "./components/DataTable/DataTableRow.vue.js";
21
22
  import { default as W } from "./components/Dropdown/Dropdown.vue.js";
22
23
  import { default as _ } from "./components/Dropdown/DropdownMenu.vue.js";
23
- import { default as q } from "./components/Dropdown/DropdownTrigger.vue.js";
24
- import { default as J } from "./components/Dropdown/DropdownItem.vue.js";
25
- import { useDropdownSelection as X } from "./components/Dropdown/composables/useDropdownSelection.js";
26
- import { useDropdownIds as $ } from "./components/Dropdown/composables/useDropdownIds.js";
27
- import { default as oe } from "./components/FilePicker/FilePicker.vue.js";
28
- import { default as te } from "./components/FileTree/FileTree.vue.js";
29
- import { default as fe } from "./components/FileTree/FileTreeNode.vue.js";
30
- import { useTreeSelection as pe } from "./components/FileTree/useTreeSelection.js";
31
- import { default as le } from "./components/Form/Form.vue.js";
32
- import { default as ue } from "./components/Form/FormField.vue.js";
33
- import { default as ie } from "./components/Form/FormFields.vue.js";
34
- import { default as ce } from "./components/Form/CustomFields.vue.js";
35
- import { useForm as ge } from "./components/Form/composables/useForm.js";
36
- import { useFileUpload as be } from "./components/Form/composables/useFileUpload.js";
37
- import { default as Fe } from "./components/Heatmap/Heatmap.vue.js";
38
- import { default as Ae } from "./components/Icon.vue.js";
39
- import { default as ke } from "./components/IconPicker.vue.js";
40
- import { default as Ce } from "./components/Input.vue.js";
41
- import { default as he } from "./components/Label.vue.js";
42
- import { default as ve } from "./components/Logo.vue.js";
43
- import { default as Le } from "./components/Masonry/Masonry.vue.js";
44
- import { MASONRY_BREAKPOINTS as Ke } from "./components/Masonry/types.js";
45
- import { default as Re } from "./components/Modal.vue.js";
46
- import { default as He } from "./components/MultiSelect/MultiSelect.vue.js";
47
- import { default as Ve } from "./components/Navbar/Navbar.vue.js";
48
- import { default as We } from "./components/Navbar/NavbarItem.vue.js";
49
- import { default as _e } from "./components/Navbar/NavbarGroup.vue.js";
50
- import { default as qe } from "./components/OTPInput/OTPInput.vue.js";
51
- import { default as Je } from "./components/Pagination/Pagination.vue.js";
52
- import { default as Xe } from "./components/PricingPlan/PricingPlan.vue.js";
53
- import { default as $e } from "./components/PricingPlan/PricingPlanItem.vue.js";
54
- import { default as oo } from "./components/SidePanel.vue.js";
55
- import { default as to } from "./components/SidebarMenu/SidebarMenu.vue.js";
56
- import { default as fo } from "./components/SidebarMenu/SidebarMenuItem.vue.js";
24
+ import { default as J } from "./components/Dropdown/DropdownTrigger.vue.js";
25
+ import { default as X } from "./components/Dropdown/DropdownItem.vue.js";
26
+ import { useDropdownSelection as $ } from "./components/Dropdown/composables/useDropdownSelection.js";
27
+ import { useDropdownIds as oe } from "./components/Dropdown/composables/useDropdownIds.js";
28
+ import { default as te } from "./components/FilePicker/FilePicker.vue.js";
29
+ import { default as fe } from "./components/FileTree/FileTree.vue.js";
30
+ import { default as me } from "./components/FileTree/FileTreeNode.vue.js";
31
+ import { useTreeSelection as de } from "./components/FileTree/useTreeSelection.js";
32
+ import { default as ue } from "./components/Form/Form.vue.js";
33
+ import { default as ie } from "./components/Form/FormField.vue.js";
34
+ import { default as ce } from "./components/Form/FormFields.vue.js";
35
+ import { default as ge } from "./components/Form/CustomFields.vue.js";
36
+ import { useForm as be } from "./components/Form/composables/useForm.js";
37
+ import { useFileUpload as Pe } from "./components/Form/composables/useFileUpload.js";
38
+ import { default as ve } from "./components/Heatmap/Heatmap.vue.js";
39
+ import { default as Ce } from "./components/Icon.vue.js";
40
+ import { default as De } from "./components/IconPicker.vue.js";
41
+ import { default as ye } from "./components/Input.vue.js";
42
+ import { default as ke } from "./components/NumberInput.vue.js";
43
+ import { default as Be } from "./components/Label.vue.js";
44
+ import { default as Ge } from "./components/Logo.vue.js";
45
+ import { default as Ee } from "./components/Masonry/Masonry.vue.js";
46
+ import { MASONRY_BREAKPOINTS as Oe } from "./components/Masonry/types.js";
47
+ import { default as ze } from "./components/Modal.vue.js";
48
+ import { default as Ve } from "./components/MultiSelect/MultiSelect.vue.js";
49
+ import { default as We } from "./components/Navbar/Navbar.vue.js";
50
+ import { default as _e } from "./components/Navbar/NavbarItem.vue.js";
51
+ import { default as Je } from "./components/Navbar/NavbarGroup.vue.js";
52
+ import { default as Xe } from "./components/OTPInput/OTPInput.vue.js";
53
+ import { default as $e } from "./components/Pagination/Pagination.vue.js";
54
+ import { default as oo } from "./components/PricingPlan/PricingPlan.vue.js";
55
+ import { default as to } from "./components/PricingPlan/PricingPlanItem.vue.js";
56
+ import { default as fo } from "./components/SidePanel.vue.js";
57
+ import { default as mo } from "./components/SidebarMenu/SidebarMenu.vue.js";
58
+ import { default as so } from "./components/SidebarMenu/SidebarMenuItem.vue.js";
57
59
  /* empty css */
58
- import { default as po } from "./components/Slider.vue.js";
59
- import { default as so } from "./components/Switch.vue.js";
60
- import { default as xo } from "./components/Tabes/Tabes.vue.js";
61
- import { default as no } from "./components/Textarea.vue.js";
62
- import { default as To } from "./components/ThemeToggle.vue.js";
63
- import { default as So } from "./components/Timeline.vue.js";
64
- import { default as Po } from "./components/ToastNotification.vue.js";
65
- import { default as Io } from "./components/Tooltip.vue.js";
66
- import { default as Do } from "./components/Workbook/Workbook.vue.js";
67
- import { default as wo } from "./components/Workbook/Sheet.vue.js";
68
- import { configure as Mo, pauseTimers as ho, removeToast as No, resumeTimers as vo, showToast as Bo, toast as Lo, useNotifications as yo } from "./composables/useNotifications.js";
69
- import { useTheme as Oo } from "./composables/useTheme.js";
70
- import { useAdvancedKeyStroke as Go, useKeyStroke as Ho } from "./composables/useKeyStroke.js";
71
- import { createVLite as Vo } from "./core/index.js";
72
- import { deepMerge as Wo } from "./utils/object.js";
73
- import { debounce as _o } from "./utils/functions.js";
74
- import { useVLiteConfig as qo } from "./core/config.js";
60
+ import { default as xo } from "./components/Slider.vue.js";
61
+ import { default as no } from "./components/Spinner/Spinner.vue.js";
62
+ import { default as To } from "./components/Switch.vue.js";
63
+ import { default as So } from "./components/Tabes/Tabes.vue.js";
64
+ import { default as Io } from "./components/Textarea.vue.js";
65
+ import { default as ho } from "./components/ThemeToggle.vue.js";
66
+ import { default as Ao } from "./components/Timeline.vue.js";
67
+ import { default as Fo } from "./components/ToastNotification.vue.js";
68
+ import { default as wo } from "./components/Tooltip.vue.js";
69
+ import { default as No } from "./components/Workbook/Workbook.vue.js";
70
+ import { default as Mo } from "./components/Workbook/Sheet.vue.js";
71
+ import { default as Lo } from "./components/GoogleLogin.vue.js";
72
+ import { default as Ro } from "./components/ProgressBar/ProgressBar.vue.js";
73
+ import { configure as Ko, pauseTimers as Oo, removeToast as Uo, resumeTimers as zo, showToast as Ho, toast as Vo, useNotifications as qo } from "./composables/useNotifications.js";
74
+ import { useTheme as Yo } from "./composables/useTheme.js";
75
+ import { useAdvancedKeyStroke as jo, useKeyStroke as Jo } from "./composables/useKeyStroke.js";
76
+ import { vScrollReveal as Xo } from "./directives/vScrollReveal.js";
77
+ import { createVLite as $o } from "./core/index.js";
78
+ import { deepMerge as or } from "./utils/object.js";
79
+ import { camelCase as tr, capitalize as ar, copyToClipboard as fr, debounce as lr, delay as mr, downloadFile as pr, flattenArray as dr, formatCurrency as sr, getUniqueId as ur, isAppleDevice as xr, isEmpty as ir, randomNumber as nr, removeExtraProperties as cr, slugify as Tr, throttle as gr, truncate as Sr } from "./utils/functions.js";
80
+ import { lazySearch as Ir, resetSearchIndex as Pr, search as hr } from "./utils/search.util.js";
81
+ import { env as Ar } from "./utils/env.js";
82
+ import { useVLiteConfig as Fr } from "./core/config.js";
75
83
  export {
76
- t as Accordion,
77
- l as AccordionContent,
78
- f as AccordionItem,
79
- p as AccordionTrigger,
80
- u as Alert,
81
- i as Avatar,
82
- c as AvatarUploader,
83
- g as Badge,
84
- b as Button,
85
- F as ButtonGroup,
86
- A as Carousel,
87
- k as CheckBox,
88
- C as Chip,
89
- h as ChoiceBox,
90
- v as ColorPicker,
91
- L as ConfirmationModal,
92
- ce as CustomFields,
93
- R as DataTable,
94
- H as DataTableHeader,
84
+ f as Accordion,
85
+ u as AccordionContent,
86
+ m as AccordionItem,
87
+ d as AccordionTrigger,
88
+ i as Alert,
89
+ c as Avatar,
90
+ g as AvatarUploader,
91
+ b as Badge,
92
+ P as Button,
93
+ v as ButtonGroup,
94
+ C as Carousel,
95
+ D as CheckBox,
96
+ y as Chip,
97
+ k as ChoiceBox,
98
+ B as ColorPicker,
99
+ G as ConfirmationModal,
100
+ ge as CustomFields,
101
+ O as DataTable,
102
+ z as DataTableHeader,
95
103
  V as DataTableRow,
96
- K as DatePicker,
104
+ E as DatePicker,
97
105
  W as Dropdown,
98
- J as DropdownItem,
106
+ X as DropdownItem,
99
107
  _ as DropdownMenu,
100
- q as DropdownTrigger,
101
- oe as FilePicker,
102
- te as FileTree,
103
- fe as FileTreeNode,
104
- le as Form,
105
- ue as FormField,
106
- ie as FormFields,
107
- Fe as Heatmap,
108
- Ae as Icon,
109
- ke as IconPicker,
110
- Ce as Input,
111
- he as Label,
112
- ve as Logo,
113
- Ke as MASONRY_BREAKPOINTS,
114
- Le as Masonry,
115
- Re as Modal,
116
- He as MultiSelect,
117
- Ve as Navbar,
118
- _e as NavbarGroup,
119
- We as NavbarItem,
120
- qe as OTPInput,
121
- Je as Pagination,
122
- Xe as PricingPlan,
123
- $e as PricingPlanItem,
124
- wo as Sheet,
125
- oo as SidePanel,
126
- to as SidebarMenu,
127
- fo as SidebarMenuItem,
128
- po as Slider,
129
- so as Switch,
130
- xo as Tabes,
131
- no as Textarea,
132
- To as ThemeToggle,
133
- So as Timeline,
134
- Po as ToastNotification,
135
- Io as Tooltip,
136
- Do as Workbook,
137
- Mo as configure,
138
- Vo as createVLite,
139
- _o as debounce,
140
- Wo as deepMerge,
141
- ho as pauseTimers,
142
- No as removeToast,
143
- vo as resumeTimers,
144
- Bo as showToast,
145
- Lo as toast,
146
- Go as useAdvancedKeyStroke,
147
- $ as useDropdownIds,
148
- X as useDropdownSelection,
149
- be as useFileUpload,
150
- ge as useForm,
151
- Ho as useKeyStroke,
152
- yo as useNotifications,
153
- Oo as useTheme,
154
- pe as useTreeSelection,
155
- qo as useVLiteConfig
108
+ J as DropdownTrigger,
109
+ te as FilePicker,
110
+ fe as FileTree,
111
+ me as FileTreeNode,
112
+ ue as Form,
113
+ ie as FormField,
114
+ ce as FormFields,
115
+ Lo as GoogleLogin,
116
+ t as GoogleSignInPlugin,
117
+ ve as Heatmap,
118
+ Ce as Icon,
119
+ De as IconPicker,
120
+ ye as Input,
121
+ Be as Label,
122
+ Ge as Logo,
123
+ Oe as MASONRY_BREAKPOINTS,
124
+ Ee as Masonry,
125
+ ze as Modal,
126
+ Ve as MultiSelect,
127
+ We as Navbar,
128
+ Je as NavbarGroup,
129
+ _e as NavbarItem,
130
+ ke as NumberInput,
131
+ Xe as OTPInput,
132
+ $e as Pagination,
133
+ oo as PricingPlan,
134
+ to as PricingPlanItem,
135
+ Ro as ProgressBar,
136
+ Mo as Sheet,
137
+ fo as SidePanel,
138
+ mo as SidebarMenu,
139
+ so as SidebarMenuItem,
140
+ xo as Slider,
141
+ no as Spinner,
142
+ To as Switch,
143
+ So as Tabes,
144
+ Io as Textarea,
145
+ ho as ThemeToggle,
146
+ Ao as Timeline,
147
+ Fo as ToastNotification,
148
+ wo as Tooltip,
149
+ No as Workbook,
150
+ tr as camelCase,
151
+ ar as capitalize,
152
+ Ko as configure,
153
+ fr as copyToClipboard,
154
+ $o as createVLite,
155
+ lr as debounce,
156
+ or as deepMerge,
157
+ mr as delay,
158
+ pr as downloadFile,
159
+ Ar as env,
160
+ dr as flattenArray,
161
+ sr as formatCurrency,
162
+ ur as getUniqueId,
163
+ xr as isAppleDevice,
164
+ ir as isEmpty,
165
+ Ir as lazySearch,
166
+ Oo as pauseTimers,
167
+ nr as randomNumber,
168
+ cr as removeExtraProperties,
169
+ Uo as removeToast,
170
+ Pr as resetSearchIndex,
171
+ zo as resumeTimers,
172
+ hr as search,
173
+ Ho as showToast,
174
+ Tr as slugify,
175
+ gr as throttle,
176
+ Vo as toast,
177
+ Sr as truncate,
178
+ jo as useAdvancedKeyStroke,
179
+ oe as useDropdownIds,
180
+ $ as useDropdownSelection,
181
+ Pe as useFileUpload,
182
+ be as useForm,
183
+ Jo as useKeyStroke,
184
+ qo as useNotifications,
185
+ Yo as useTheme,
186
+ de as useTreeSelection,
187
+ Fr as useVLiteConfig,
188
+ Xo as vScrollReveal
156
189
  };
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.1.10",
6
+ "version": "0.2.2",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
@@ -35,12 +35,15 @@
35
35
  "@iconify/vue": "5.0.0",
36
36
  "@jaames/iro": "^5.5.2",
37
37
  "@tailwindcss/vite": "^4.1.18",
38
+ "@types/scrollreveal": "^0.0.11",
38
39
  "@vueuse/core": "^14.1.0",
39
40
  "iconify-icon-picker": "^1.0.3",
41
+ "scrollreveal": "^4.0.9",
40
42
  "tailwindcss": "^4.1.18",
41
- "v-datepicker-lite": "^0.1.3",
43
+ "v-datepicker-lite": "^0.1.6",
42
44
  "v-tooltip-lite": "^0.1.9",
43
- "vue-carousel-lite": "^0.2.3"
45
+ "vue-carousel-lite": "^0.2.3",
46
+ "vue3-google-signin": "^2.1.1"
44
47
  },
45
48
  "peerDependencies": {
46
49
  "vue": "^3.5.24",
package/style.css CHANGED
@@ -74,12 +74,39 @@
74
74
  --radius-lg: calc(0.5rem + 2px);
75
75
  --radius-xl: calc(0.5rem + 4px);
76
76
 
77
-
78
-
79
77
  /* Animations */
80
78
  --animate-accordion-down: accordion-down 0.2s ease-out;
81
79
  --animate-accordion-up: accordion-up 0.2s ease-out;
82
80
  --animate-ripple: ripple 600ms linear;
81
+
82
+ --text--fs-1: 0.95em;
83
+ --text--fs-2: 0.8em;
84
+ --text--fs-3: 0.75em;
85
+ --text--fs-4: 0.7em;
86
+ --text--fs-5: 0.65em;
87
+ --text--fs-6: 0.6em;
88
+ --text--fs-7: 0.55em;
89
+ --text--fs-8: 0.5em;
90
+ --text-fs-0.5: 1em;
91
+ --text-fs-1: 1.03030303em;
92
+ --text-fs-1.5: 1.06060606em;
93
+ --text-fs-2: 1.1030303em;
94
+ --text-fs-2.5: 1.13333333em;
95
+ --text-fs-3: 1.16363636em;
96
+ --text-fs-3.5: 1.19393939em;
97
+ --text-fs-4: 1.2242424242424241em;
98
+ --text-fs-4.5: 1.31515152em;
99
+ --text-fs-5: 1.39393939em;
100
+ --text-fs-5.5: 1.48484848em;
101
+ --text-fs-6: 1.57575758em;
102
+ --text-fs-6.5: 1.63636364em;
103
+ --text-fs-7: 1.6969697em;
104
+ --text-fs-7.5: 1.75757576em;
105
+ --text-fs-8: 1.81818182em;
106
+ --text-fs-8.5: 1.87878788em;
107
+ --text-fs-9: 1.93939394em;
108
+ --text-fs-9.5: 2em;
109
+ --text-fs-10: 2.06060606em;
83
110
  }
84
111
  }
85
112
 
@@ -189,6 +216,10 @@
189
216
  --tooltip-border: color-mix(in oklab, var(--color-mixture-1) 93%, var(--color-mixture-2)) !important;
190
217
  --date-picker-border: var(--color-border) !important;
191
218
  --iconPicker-border: var(--color-border) !important;
219
+
220
+ --timer-picker-bg: var(--color-background) !important;
221
+ --date-picker-border: var(--color-border) !important;
222
+ --date-picker-radius: var(--radius) !important;
192
223
  }
193
224
 
194
225
  .dark {
@@ -373,7 +404,7 @@
373
404
  box-shadow: var(--shadow-xl) !important;
374
405
  }
375
406
 
376
- .text-muted {
407
+ @utility text-muted {
377
408
  color: var(--color-gray-600) !important;
378
409
  }
379
410
 
@@ -528,6 +559,27 @@ html {
528
559
  padding: 5px;
529
560
  }
530
561
 
562
+ .tooltip-container .date-picker-date-section .date-picker-content.months {
563
+ padding-bottom: 0 !important;
564
+ }
565
+
566
+ .v-time-picker {
567
+ border: 1px solid var(--color-border) !important;
568
+ background-color: var(--color-background) !important;
569
+ border-radius: var(--radius) !important;
570
+ margin-top: -3px !important;
571
+ }
572
+
573
+ .v-time-picker .tooltip-content,
574
+ .v-time-picker .time-picker-dropdown {
575
+ border: none !important;
576
+ box-shadow: none !important;
577
+ backdrop-filter: none !important;
578
+ --timer-picker-bg: var(--color-background) !important;
579
+ --date-picker-border: var(--color-border) !important;
580
+ --date-picker-radius: var(--radius) !important;
581
+ }
582
+
531
583
  /* --- input.css --- */
532
584
  input[type='number']::-webkit-inner-spin-button,
533
585
  input[type='number']::-webkit-outer-spin-button {
@@ -592,5 +644,5 @@ textarea::-webkit-scrollbar-thumb {
592
644
  }
593
645
 
594
646
  /* --- Vite Generated CSS --- */
595
- .accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]: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-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]: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-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] 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-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] 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-8c9add3e]: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}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}table th[data-v-896cd72f]:first-child,table td[data-v-896cd72f]:first-child{width:48px!important;max-width:48px!important;min-width:48px!important}.form-field-item[data-v-5c98aa0e]{display:flex;flex-direction:column}.form-field-item[data-v-5c98aa0e]:has([role=switch]),.form-field-item[data-v-5c98aa0e]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-353f6094]{width:100%}.custom-fields-table[data-v-79b7dd60] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-79b7dd60] input,.custom-fields-table[data-v-79b7dd60] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-79b7dd60] input,.custom-fields-table[data-v-79b7dd60] textarea,.custom-fields-table[data-v-79b7dd60] select,.custom-fields-table[data-v-79b7dd60] .input-wrapper,.custom-fields-table[data-v-79b7dd60] .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-79b7dd60] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-79b7dd60] input:focus,.custom-fields-table[data-v-79b7dd60] textarea:focus,.custom-fields-table[data-v-79b7dd60] select:focus,.custom-fields-table[data-v-79b7dd60] .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-79b7dd60] .w-full{width:100%;height:100%}.list-move[data-v-79b7dd60],.list-enter-active[data-v-79b7dd60],.list-leave-active[data-v-79b7dd60]{transition:all .3s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-79b7dd60],.list-leave-to[data-v-79b7dd60]{opacity:0;transform:translateY(-10px)}.list-leave-active[data-v-79b7dd60]{position:absolute;width:100%;z-index:0}.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}.slide-right-enter-active[data-v-016e19f6],.slide-right-leave-active[data-v-016e19f6],.slide-left-enter-active[data-v-016e19f6],.slide-left-leave-active[data-v-016e19f6]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-016e19f6],.slide-right-leave-to[data-v-016e19f6]{transform:translate(100%)}.slide-left-enter-from[data-v-016e19f6],.slide-left-leave-to[data-v-016e19f6]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{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-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}
647
+ .accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]: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-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]: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-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] 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-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] 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-8c9add3e]: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}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}table th[data-v-53f1fe21]:first-child,table td[data-v-53f1fe21]:first-child{width:48px!important;max-width:48px!important;min-width:48px!important}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}.form-field-item[data-v-47af145c]{display:flex;flex-direction:column}.form-field-item[data-v-47af145c]:has([role=switch]),.form-field-item[data-v-47af145c]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-67eb0c47]{width:100%}.custom-fields-table[data-v-79b7dd60] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-79b7dd60] input,.custom-fields-table[data-v-79b7dd60] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-79b7dd60] input,.custom-fields-table[data-v-79b7dd60] textarea,.custom-fields-table[data-v-79b7dd60] select,.custom-fields-table[data-v-79b7dd60] .input-wrapper,.custom-fields-table[data-v-79b7dd60] .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-79b7dd60] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-79b7dd60] input:focus,.custom-fields-table[data-v-79b7dd60] textarea:focus,.custom-fields-table[data-v-79b7dd60] select:focus,.custom-fields-table[data-v-79b7dd60] .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-79b7dd60] .w-full{width:100%;height:100%}.list-move[data-v-79b7dd60],.list-enter-active[data-v-79b7dd60],.list-leave-active[data-v-79b7dd60]{transition:all .3s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-79b7dd60],.list-leave-to[data-v-79b7dd60]{opacity:0;transform:translateY(-10px)}.list-leave-active[data-v-79b7dd60]{position:absolute;width:100%;z-index:0}.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}.slide-right-enter-active[data-v-016e19f6],.slide-right-leave-active[data-v-016e19f6],.slide-left-enter-active[data-v-016e19f6],.slide-left-leave-active[data-v-016e19f6]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-016e19f6],.slide-right-leave-to[data-v-016e19f6]{transform:translate(100%)}.slide-left-enter-from[data-v-016e19f6],.slide-left-leave-to[data-v-016e19f6]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{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-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.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)}}
596
648
 
@@ -23,8 +23,8 @@ export interface InputProps {
23
23
  size?: InputSize;
24
24
  rounded?: InputRounded;
25
25
  labelPosition?: LabelPosition;
26
- addonLeft?: string;
27
- addonRight?: string;
26
+ addonLeft?: string | Record<string, any>;
27
+ addonRight?: string | Record<string, any>;
28
28
  addonLeftClass?: string;
29
29
  addonRightClass?: string;
30
30
  min?: number;
@@ -0,0 +1,75 @@
1
+ export type ProgressBarType = 'linear' | 'circular';
2
+ export type ProgressBarVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'gradient';
3
+ export type ProgressBarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export interface ProgressBarProps {
5
+ /**
6
+ * Current value (0-100)
7
+ */
8
+ modelValue?: number;
9
+ /**
10
+ * Visual type of the progress bar
11
+ * @default 'linear'
12
+ */
13
+ type?: ProgressBarType;
14
+ /**
15
+ * Color theme variant
16
+ * @default 'primary'
17
+ */
18
+ variant?: ProgressBarVariant;
19
+ /**
20
+ * Size preset
21
+ * @default 'md'
22
+ */
23
+ size?: ProgressBarSize;
24
+ /**
25
+ * Show value label
26
+ * @default false
27
+ */
28
+ showValue?: boolean;
29
+ /**
30
+ * Custom label text (overrides percentage)
31
+ */
32
+ label?: string;
33
+ /**
34
+ * Custom height for linear bar (e.g. '10px', 20)
35
+ * Overrides size preset height
36
+ */
37
+ height?: string | number;
38
+ /**
39
+ * Width/Diameter for circular bar (e.g. '120px', 100)
40
+ * Overrides size preset width
41
+ */
42
+ width?: string | number;
43
+ /**
44
+ * Stroke width for circular bar
45
+ */
46
+ strokeWidth?: number;
47
+ /**
48
+ * Enable striped background (Linear only)
49
+ * @default false
50
+ */
51
+ striped?: boolean;
52
+ /**
53
+ * Animate stripes (Linear only)
54
+ * @default false
55
+ */
56
+ animated?: boolean;
57
+ /**
58
+ * Indeterminate state (loading without specific value)
59
+ * @default false
60
+ */
61
+ indeterminate?: boolean;
62
+ /**
63
+ * Custom color (hex/rgb) - overrides variant
64
+ */
65
+ color?: string;
66
+ /**
67
+ * Custom track color
68
+ */
69
+ trackColor?: string;
70
+ /**
71
+ * Border radius class
72
+ * @default 'rounded-full'
73
+ */
74
+ rounded?: string;
75
+ }
package/utils/env.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Global environment object that wraps `import.meta.env` for Vite-based Vue 3 apps.
3
+ *
4
+ * Usage:
5
+ * ```ts
6
+ * import { env } from 'vlite3'
7
+ *
8
+ * // Instead of: import.meta.env.VITE_GOOGLE_CLIENT_ID
9
+ * // Use: env.VITE_GOOGLE_CLIENT_ID
10
+ * ```
11
+ *
12
+ * Works in `<script setup>`, composables, and `<template>` blocks.
13
+ */
14
+ export declare const env: Record<string, string>;
package/utils/env.js ADDED
@@ -0,0 +1,4 @@
1
+ const e = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, t = e ?? {};
2
+ export {
3
+ t as env
4
+ };