vlite3 0.2.6 → 0.2.8

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 (31) hide show
  1. package/components/Button.vue.js +42 -33
  2. package/components/Carousel/Carousel.vue.d.ts +14 -0
  3. package/components/ChoiceBox/ChoiceBox.vue.js +19 -19
  4. package/components/ColorPicker/ColorIro.vue.d.ts +18 -1
  5. package/components/ColorPicker/ColorIro.vue.js +59 -61
  6. package/components/ColorPicker/ColorPicker.vue.d.ts +2 -0
  7. package/components/ColorPicker/ColorPicker.vue.js +81 -26
  8. package/components/DataTable/DataTable.vue.js +2 -2
  9. package/components/DataTable/DataTable.vue2.js +18 -15
  10. package/components/DataTable/DataTableRow.vue.js +47 -44
  11. package/components/Kanban/Kanban.vue.d.ts +60 -0
  12. package/components/Kanban/Kanban.vue.js +7 -0
  13. package/components/Kanban/Kanban.vue2.js +62 -0
  14. package/components/Kanban/KanbanBoard.vue.d.ts +59 -0
  15. package/components/Kanban/KanbanBoard.vue.js +7 -0
  16. package/components/Kanban/KanbanBoard.vue2.js +132 -0
  17. package/components/Kanban/index.d.ts +4 -0
  18. package/components/Kanban/types.d.ts +32 -0
  19. package/components/Kanban/useKanbanBoard.d.ts +13 -0
  20. package/components/Kanban/useKanbanBoard.js +43 -0
  21. package/components/Tabes/Tabes.vue.js +10 -10
  22. package/components/Workbook/Sheet.vue.d.ts +6 -0
  23. package/components/Workbook/Sheet.vue.js +63 -55
  24. package/components/Workbook/Workbook.vue.d.ts +3 -2
  25. package/components/Workbook/Workbook.vue.js +152 -5
  26. package/components/Workbook/Workbook.vue2.js +2 -146
  27. package/components/Workbook/types.d.ts +3 -0
  28. package/index.d.ts +1 -1
  29. package/index.js +120 -114
  30. package/package.json +3 -3
  31. package/style.css +5 -1
@@ -1,148 +1,4 @@
1
- import { defineComponent as T, ref as g, watch as p, nextTick as _, computed as U, openBlock as a, createElementBlock as i, createElementVNode as c, renderSlot as m, createCommentVNode as u, Fragment as A, renderList as P, unref as J, createBlock as O, createVNode as x } from "vue";
2
- import { useDragAndDrop as W } from "@formkit/drag-and-drop/vue";
3
- import { animations as Y } from "@formkit/drag-and-drop";
4
- import z from "./Sheet.vue.js";
5
- import b from "./WorkbookAddButton.vue.js";
6
- const F = { class: "flex flex-col w-full font-sans" }, L = { class: "flex items-end w-full border-b px-1 gap-2" }, M = {
7
- key: 0,
8
- class: "flex items-center mb-1 mr-2"
9
- }, j = {
10
- key: 0,
11
- class: "shrink-0 mb-1"
12
- }, q = { class: "flex items-center mb-0.5 z-20 sticky right-0 ml-auto box-decoration-clone" }, G = { key: 0 }, H = { key: 1 }, K = { class: "flex-1 relative bg-white w-full" }, te = /* @__PURE__ */ T({
13
- __name: "Workbook",
14
- props: {
15
- modelValue: { default: "" },
16
- sheets: { default: () => [] },
17
- editable: { type: Boolean, default: !0 },
18
- addable: { type: Boolean, default: !0 },
19
- draggable: { type: Boolean, default: !0 },
20
- addButtonPosition: { default: "fixed-right" },
21
- maxSheets: { default: 50 },
22
- variant: { default: "chrome" },
23
- class: {},
24
- confirmDelete: { type: Boolean, default: !1 },
25
- confirmDeleteTexts: {},
26
- allowIconChange: { type: Boolean, default: !0 }
27
- },
28
- emits: ["update:modelValue", "update:sheets", "change", "add", "delete", "duplicate", "edit-start", "edit-end"],
29
- setup(d, { emit: k }) {
30
- const l = d, o = k, f = g(null), r = g(null), [w, h] = W(l.sheets, {
31
- plugins: [Y()],
32
- draggable: (e) => l.draggable && !r.value,
33
- onSort: (e) => {
34
- o("update:sheets", e.values);
35
- }
36
- });
37
- p(
38
- () => l.sheets,
39
- (e) => {
40
- JSON.stringify(e) !== JSON.stringify(h.value) && (h.value = [...e]);
41
- },
42
- { deep: !0 }
43
- );
44
- const y = (e) => {
45
- o("update:modelValue", e), o("change", e);
46
- }, v = () => {
47
- l.sheets.length >= l.maxSheets || o("add");
48
- }, S = (e, s) => {
49
- const t = l.sheets.findIndex((n) => n.id === e);
50
- if (t !== -1) {
51
- const n = [...l.sheets];
52
- n[t] = { ...n[t], title: s }, o("update:sheets", n);
53
- }
54
- }, D = (e, s) => {
55
- const t = l.sheets.findIndex((n) => n.id === e);
56
- if (t !== -1) {
57
- const n = [...l.sheets];
58
- n[t] = { ...n[t], icon: s }, o("update:sheets", n);
59
- }
60
- }, B = (e) => {
61
- r.value = e, o("edit-start", e);
62
- }, V = (e) => {
63
- r.value = null, o("edit-end", e);
64
- }, I = (e) => {
65
- o("duplicate", e);
66
- }, C = (e) => {
67
- const s = l.sheets.findIndex((n) => n.id === e);
68
- if (s === -1) return;
69
- const t = [...l.sheets];
70
- if (t.splice(s, 1), o("update:sheets", t), o("delete", e), l.modelValue === e) {
71
- let n = "";
72
- if (t.length > 0) {
73
- const N = Math.min(s, t.length - 1);
74
- n = t[N].id;
75
- }
76
- o("update:modelValue", n), o("change", n);
77
- }
78
- };
79
- p(
80
- () => l.sheets.length,
81
- (e, s) => {
82
- s !== void 0 && s > 0 && e === s + 1 && l.addable && _(() => {
83
- const t = l.sheets[l.sheets.length - 1];
84
- t.id === l.modelValue && (r.value = t.id);
85
- });
86
- }
87
- );
88
- const E = (e) => {
89
- f.value && e.deltaY !== 0 && (f.value.scrollLeft += e.deltaY, e.preventDefault());
90
- }, $ = U(() => l.sheets.length > 1);
91
- return (e, s) => (a(), i("div", F, [
92
- c("div", L, [
93
- e.$slots["left-addons"] ? (a(), i("div", M, [
94
- m(e.$slots, "left-addons", {}, void 0, !0)
95
- ])) : u("", !0),
96
- c("div", {
97
- ref_key: "scrollContainer",
98
- ref: f,
99
- class: "flex-1 flex items-end overflow-x-auto scrollbar-none overscroll-contain",
100
- style: { "scrollbar-width": "none", "-ms-overflow-style": "none" },
101
- onWheel: E
102
- }, [
103
- c("div", {
104
- ref_key: "parent",
105
- ref: w,
106
- class: "flex items-end"
107
- }, [
108
- (a(!0), i(A, null, P(J(h), (t) => (a(), O(z, {
109
- key: t.id,
110
- sheet: t,
111
- "is-active": d.modelValue === t.id,
112
- "is-editing": r.value === t.id,
113
- "can-delete": $.value,
114
- "confirm-delete": d.confirmDelete,
115
- "confirm-delete-texts": d.confirmDeleteTexts,
116
- "allow-icon-change": d.allowIconChange,
117
- onSelect: y,
118
- "onUpdate:title": S,
119
- "onUpdate:icon": D,
120
- onEditStart: B,
121
- onEditEnd: V,
122
- onDuplicate: I,
123
- onDelete: C
124
- }, null, 8, ["sheet", "is-active", "is-editing", "can-delete", "confirm-delete", "confirm-delete-texts", "allow-icon-change"]))), 128))
125
- ], 512),
126
- d.addable && d.addButtonPosition === "attached" ? (a(), i("div", j, [
127
- x(b, { onClick: v })
128
- ])) : u("", !0),
129
- s[0] || (s[0] = c("div", { class: "w-1 shrink-0" }, null, -1))
130
- ], 544),
131
- c("div", q, [
132
- d.addable && d.addButtonPosition === "fixed-right" ? (a(), i("div", G, [
133
- x(b, { onClick: v })
134
- ])) : u("", !0),
135
- e.$slots["right-addons"] ? (a(), i("div", H, [
136
- m(e.$slots, "right-addons", {}, void 0, !0)
137
- ])) : u("", !0)
138
- ])
139
- ]),
140
- c("div", K, [
141
- m(e.$slots, "default", {}, void 0, !0)
142
- ])
143
- ]));
144
- }
145
- });
1
+ import f from "./Workbook.vue.js";
146
2
  export {
147
- te as default
3
+ f as default
148
4
  };
@@ -19,6 +19,9 @@ export interface WorkbookProps {
19
19
  maxSheets?: number;
20
20
  variant?: 'chrome' | 'folder' | 'simple' | 'card';
21
21
  class?: string;
22
+ itemClass?: string;
23
+ activeItemClass?: string;
24
+ inactiveItemClass?: string;
22
25
  confirmDelete?: boolean;
23
26
  confirmDeleteTexts?: {
24
27
  title?: string;
package/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export * from './components/Heatmap';
22
22
  export { default as Icon } from './components/Icon.vue';
23
23
  export { default as IconPicker } from './components/IconPicker.vue';
24
24
  export { default as Input } from './components/Input.vue';
25
+ export * from './components/Kanban';
25
26
  export { default as NumberInput } from './components/NumberInput.vue';
26
27
  export { default as Label } from './components/Label.vue';
27
28
  export { default as Logo } from './components/Logo.vue';
@@ -46,7 +47,6 @@ export { default as Tooltip } from './components/Tooltip.vue';
46
47
  export * from './components/Workbook';
47
48
  export { default as GoogleLogin } from './components/GoogleLogin.vue';
48
49
  export * from './components/ProgressBar';
49
- export * from './components/Spinner';
50
50
  export * from './composables/useNotifications';
51
51
  export * from './composables/useTheme';
52
52
  export * from './composables/useKeyStroke';
package/index.js CHANGED
@@ -6,16 +6,16 @@ import { default as u } from "./components/Accordion/AccordionContent.vue.js";
6
6
  import { default as i } from "./components/Alert.vue.js";
7
7
  import { default as c } from "./components/Avatar.vue.js";
8
8
  import { default as g } from "./components/AvatarUploader/AvatarUploader.vue.js";
9
- import { default as b } from "./components/Badge.vue.js";
9
+ import { default as S } from "./components/Badge.vue.js";
10
10
  import { default as P } from "./components/Button.vue.js";
11
11
  import { default as v } from "./components/ButtonGroup.vue.js";
12
12
  import { default as C } from "./components/Carousel/Carousel.vue.js";
13
13
  import { default as D } from "./components/CheckBox.vue.js";
14
14
  import { default as y } from "./components/Chip/Chip.vue.js";
15
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";
16
+ import { default as M } from "./components/ColorPicker/ColorPicker.vue.js";
17
+ import { default as L } from "./components/ConfirmationModal.vue.js";
18
+ import { default as R } from "./components/DatePicker.vue.js";
19
19
  import { default as O } from "./components/DataTable/DataTable.vue.js";
20
20
  import { default as z } from "./components/DataTable/DataTableHeader.vue.js";
21
21
  import { default as V } from "./components/DataTable/DataTableRow.vue.js";
@@ -33,53 +33,56 @@ import { default as ue } from "./components/Form/Form.vue.js";
33
33
  import { default as ie } from "./components/Form/FormField.vue.js";
34
34
  import { default as ce } from "./components/Form/FormFields.vue.js";
35
35
  import { default as ge } from "./components/Form/CustomFields.vue.js";
36
- import { useForm as be } from "./components/Form/composables/useForm.js";
36
+ import { useForm as Se } from "./components/Form/composables/useForm.js";
37
37
  import { useFileUpload as Pe } from "./components/Form/composables/useFileUpload.js";
38
38
  import { default as ve } from "./components/Heatmap/Heatmap.vue.js";
39
39
  import { default as Ce } from "./components/Icon.vue.js";
40
40
  import { default as De } from "./components/IconPicker.vue.js";
41
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";
42
+ import { default as ke } from "./components/Kanban/Kanban.vue.js";
43
+ import { default as Me } from "./components/Kanban/KanbanBoard.vue.js";
44
+ import { useKanbanBoard as Le } from "./components/Kanban/useKanbanBoard.js";
45
+ import { default as Re } from "./components/NumberInput.vue.js";
46
+ import { default as Oe } from "./components/Label.vue.js";
47
+ import { default as ze } from "./components/Logo.vue.js";
48
+ import { default as Ve } from "./components/Masonry/Masonry.vue.js";
49
+ import { MASONRY_BREAKPOINTS as We } from "./components/Masonry/types.js";
50
+ import { default as _e } from "./components/Modal.vue.js";
51
+ import { default as Je } from "./components/MultiSelect/MultiSelect.vue.js";
52
+ import { default as Xe } from "./components/Navbar/Navbar.vue.js";
53
+ import { default as $e } from "./components/Navbar/NavbarItem.vue.js";
54
+ import { default as oo } from "./components/Navbar/NavbarGroup.vue.js";
55
+ import { default as to } from "./components/OTPInput/OTPInput.vue.js";
56
+ import { default as fo } from "./components/Pagination/Pagination.vue.js";
57
+ import { default as mo } from "./components/PricingPlan/PricingPlan.vue.js";
58
+ import { default as so } from "./components/PricingPlan/PricingPlanItem.vue.js";
59
+ import { default as xo } from "./components/SidePanel.vue.js";
60
+ import { default as no } from "./components/SidebarMenu/SidebarMenu.vue.js";
61
+ import { default as To } from "./components/SidebarMenu/SidebarMenuItem.vue.js";
59
62
  /* empty css */
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";
63
+ import { default as bo } from "./components/Slider.vue.js";
64
+ import { default as Io } from "./components/Spinner/Spinner.vue.js";
65
+ import { default as ho } from "./components/Switch.vue.js";
66
+ import { default as Ao } from "./components/Tabes/Tabes.vue.js";
67
+ import { default as Fo } from "./components/Textarea.vue.js";
68
+ import { default as wo } from "./components/ThemeToggle.vue.js";
69
+ import { default as No } from "./components/Timeline.vue.js";
70
+ import { default as Bo } from "./components/ToastNotification.vue.js";
71
+ import { default as Ko } from "./components/Tooltip.vue.js";
72
+ import { default as Go } from "./components/Workbook/Workbook.vue.js";
73
+ import { default as Eo } from "./components/Workbook/Sheet.vue.js";
74
+ import { default as Uo } from "./components/GoogleLogin.vue.js";
75
+ import { default as Ho } from "./components/ProgressBar/ProgressBar.vue.js";
76
+ import { configure as qo, pauseTimers as Wo, removeToast as Yo, resumeTimers as _o, showToast as jo, toast as Jo, useNotifications as Qo } from "./composables/useNotifications.js";
77
+ import { useTheme as Zo } from "./composables/useTheme.js";
78
+ import { useAdvancedKeyStroke as er, useKeyStroke as or } from "./composables/useKeyStroke.js";
79
+ import { vScrollReveal as tr } from "./directives/vScrollReveal.js";
80
+ import { createVLite as fr } from "./core/index.js";
81
+ import { deepMerge as mr } from "./utils/object.js";
82
+ import { camelCase as dr, capitalize as sr, copyToClipboard as ur, debounce as xr, delay as ir, downloadFile as nr, flattenArray as cr, formatCurrency as Tr, getUniqueId as gr, isAppleDevice as br, isEmpty as Sr, randomNumber as Ir, removeExtraProperties as Pr, slugify as hr, throttle as vr, truncate as Ar } from "./utils/functions.js";
83
+ import { lazySearch as Fr, resetSearchIndex as Dr, search as wr } from "./utils/search.util.js";
84
+ import { env as Nr } from "./utils/env.js";
85
+ import { useVLiteConfig as Br } from "./core/config.js";
83
86
  export {
84
87
  f as Accordion,
85
88
  u as AccordionContent,
@@ -88,20 +91,20 @@ export {
88
91
  i as Alert,
89
92
  c as Avatar,
90
93
  g as AvatarUploader,
91
- b as Badge,
94
+ S as Badge,
92
95
  P as Button,
93
96
  v as ButtonGroup,
94
97
  C as Carousel,
95
98
  D as CheckBox,
96
99
  y as Chip,
97
100
  k as ChoiceBox,
98
- B as ColorPicker,
99
- G as ConfirmationModal,
101
+ M as ColorPicker,
102
+ L as ConfirmationModal,
100
103
  ge as CustomFields,
101
104
  O as DataTable,
102
105
  z as DataTableHeader,
103
106
  V as DataTableRow,
104
- E as DatePicker,
107
+ R as DatePicker,
105
108
  W as Dropdown,
106
109
  X as DropdownItem,
107
110
  _ as DropdownMenu,
@@ -112,78 +115,81 @@ export {
112
115
  ue as Form,
113
116
  ie as FormField,
114
117
  ce as FormFields,
115
- Lo as GoogleLogin,
118
+ Uo as GoogleLogin,
116
119
  t as GoogleSignInPlugin,
117
120
  ve as Heatmap,
118
121
  Ce as Icon,
119
122
  De as IconPicker,
120
123
  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,
124
+ ke as Kanban,
125
+ Me as KanbanBoard,
126
+ Oe as Label,
127
+ ze as Logo,
128
+ We as MASONRY_BREAKPOINTS,
129
+ Ve as Masonry,
130
+ _e as Modal,
131
+ Je as MultiSelect,
132
+ Xe as Navbar,
133
+ oo as NavbarGroup,
134
+ $e as NavbarItem,
135
+ Re as NumberInput,
136
+ to as OTPInput,
137
+ fo as Pagination,
138
+ mo as PricingPlan,
139
+ so as PricingPlanItem,
140
+ Ho as ProgressBar,
141
+ Eo as Sheet,
142
+ xo as SidePanel,
143
+ no as SidebarMenu,
144
+ To as SidebarMenuItem,
145
+ bo as Slider,
146
+ Io as Spinner,
147
+ ho as Switch,
148
+ Ao as Tabes,
149
+ Fo as Textarea,
150
+ wo as ThemeToggle,
151
+ No as Timeline,
152
+ Bo as ToastNotification,
153
+ Ko as Tooltip,
154
+ Go as Workbook,
155
+ dr as camelCase,
156
+ sr as capitalize,
157
+ qo as configure,
158
+ ur as copyToClipboard,
159
+ fr as createVLite,
160
+ xr as debounce,
161
+ mr as deepMerge,
162
+ ir as delay,
163
+ nr as downloadFile,
164
+ Nr as env,
165
+ cr as flattenArray,
166
+ Tr as formatCurrency,
167
+ gr as getUniqueId,
168
+ br as isAppleDevice,
169
+ Sr as isEmpty,
170
+ Fr as lazySearch,
171
+ Wo as pauseTimers,
172
+ Ir as randomNumber,
173
+ Pr as removeExtraProperties,
174
+ Yo as removeToast,
175
+ Dr as resetSearchIndex,
176
+ _o as resumeTimers,
177
+ wr as search,
178
+ jo as showToast,
179
+ hr as slugify,
180
+ vr as throttle,
181
+ Jo as toast,
182
+ Ar as truncate,
183
+ er as useAdvancedKeyStroke,
179
184
  oe as useDropdownIds,
180
185
  $ as useDropdownSelection,
181
186
  Pe as useFileUpload,
182
- be as useForm,
183
- Jo as useKeyStroke,
184
- qo as useNotifications,
185
- Yo as useTheme,
187
+ Se as useForm,
188
+ Le as useKanbanBoard,
189
+ or as useKeyStroke,
190
+ Qo as useNotifications,
191
+ Zo as useTheme,
186
192
  de as useTreeSelection,
187
- Fr as useVLiteConfig,
188
- Xo as vScrollReveal
193
+ Br as useVLiteConfig,
194
+ tr as vScrollReveal
189
195
  };
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.2.6",
6
+ "version": "0.2.8",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
@@ -31,7 +31,6 @@
31
31
  "./style.css": "./style.css"
32
32
  },
33
33
  "dependencies": {
34
- "@formkit/drag-and-drop": "^0.5.3",
35
34
  "@iconify/vue": "5.0.0",
36
35
  "@jaames/iro": "^5.5.2",
37
36
  "@tailwindcss/vite": "^4.1.18",
@@ -42,7 +41,8 @@
42
41
  "tailwindcss": "^4.1.18",
43
42
  "v-datepicker-lite": "^0.1.6",
44
43
  "v-tooltip-lite": "^0.1.9",
45
- "vue-carousel-lite": "^0.2.6",
44
+ "vue-carousel-lite": "^0.2.7",
45
+ "vue-draggable-plus": "^0.5.3",
46
46
  "vue3-google-signin": "^2.1.1"
47
47
  },
48
48
  "peerDependencies": {
package/style.css CHANGED
@@ -315,6 +315,10 @@
315
315
  --color-success-dark: #00613f;
316
316
  }
317
317
 
318
+ @utility -text-fs-* {
319
+ font-size: calc(--value(--text--fs- *, [length], [number]));
320
+ }
321
+
318
322
 
319
323
  .dark .modal-body,
320
324
  .dark .sidepanel-body {
@@ -653,5 +657,5 @@ textarea::-webkit-scrollbar-thumb {
653
657
  }
654
658
 
655
659
  /* --- Vite Generated CSS --- */
656
- .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)}}
660
+ .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-b5d3795b]:first-child,table td[data-v-b5d3795b]: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}}.custom-scrollbar[data-v-d8186e60]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-d8186e60]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-d8186e60]::-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}.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)}}
657
661