vuesp-components 1.1.1 → 1.3.0

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 (195) hide show
  1. package/README.md +34 -1
  2. package/dist/App.vue.d.ts.map +1 -1
  3. package/dist/components/app/AppAside.vue.d.ts +3 -5
  4. package/dist/components/app/AppAside.vue.d.ts.map +1 -1
  5. package/dist/components/app/AppDialog.vue.d.ts +3 -10
  6. package/dist/components/app/AppDialog.vue.d.ts.map +1 -1
  7. package/dist/components/app/AppHeader.vue.d.ts +7 -11
  8. package/dist/components/app/AppHeader.vue.d.ts.map +1 -1
  9. package/dist/components/app/AppNav.vue.d.ts +3 -8
  10. package/dist/components/app/AppNav.vue.d.ts.map +1 -1
  11. package/dist/components/app/AppNotification.vue.d.ts +8 -11
  12. package/dist/components/app/AppNotification.vue.d.ts.map +1 -1
  13. package/dist/components/app/AppProgress.vue.d.ts +2 -5
  14. package/dist/components/app/AppProgress.vue.d.ts.map +1 -1
  15. package/dist/components/app/types.d.ts +46 -0
  16. package/dist/components/app/types.d.ts.map +1 -0
  17. package/dist/components/block/breadcrumb/BlockBreadcrumb.vue.d.ts +25 -0
  18. package/dist/components/block/breadcrumb/BlockBreadcrumb.vue.d.ts.map +1 -0
  19. package/dist/components/block/breadcrumb/types.d.ts +11 -0
  20. package/dist/components/block/breadcrumb/types.d.ts.map +1 -0
  21. package/dist/components/block/index.d.ts +4 -0
  22. package/dist/components/block/index.d.ts.map +1 -0
  23. package/dist/components/{general/blocks → block/info}/BlockInfo.vue.d.ts +2 -2
  24. package/dist/components/block/info/BlockInfo.vue.d.ts.map +1 -0
  25. package/dist/components/block/info/types.d.ts +5 -0
  26. package/dist/components/block/info/types.d.ts.map +1 -0
  27. package/dist/components/block/types.d.ts +3 -0
  28. package/dist/components/block/types.d.ts.map +1 -0
  29. package/dist/components/card/index.d.ts +4 -0
  30. package/dist/components/card/index.d.ts.map +1 -0
  31. package/dist/components/{general/cards/CardGray.vue.d.ts → card/main/CardMain.vue.d.ts} +3 -6
  32. package/dist/components/card/main/CardMain.vue.d.ts.map +1 -0
  33. package/dist/components/card/main/types.d.ts +5 -0
  34. package/dist/components/card/main/types.d.ts.map +1 -0
  35. package/dist/components/card/notification/CardNotification.vue.d.ts +10 -0
  36. package/dist/components/card/notification/CardNotification.vue.d.ts.map +1 -0
  37. package/dist/components/card/notification/types.d.ts +8 -0
  38. package/dist/components/card/notification/types.d.ts.map +1 -0
  39. package/dist/components/card/types.d.ts +3 -0
  40. package/dist/components/card/types.d.ts.map +1 -0
  41. package/dist/components/dashboard/cards/CardBase.vue.d.ts +19 -18
  42. package/dist/components/dashboard/cards/CardBase.vue.d.ts.map +1 -1
  43. package/dist/components/dashboard/cards/CardButton.vue.d.ts +13 -7
  44. package/dist/components/dashboard/cards/CardButton.vue.d.ts.map +1 -1
  45. package/dist/components/dashboard/cards/CardDate.vue.d.ts +13 -7
  46. package/dist/components/dashboard/cards/CardDate.vue.d.ts.map +1 -1
  47. package/dist/components/dashboard/cards/CardDimmer.vue.d.ts +13 -7
  48. package/dist/components/dashboard/cards/CardDimmer.vue.d.ts.map +1 -1
  49. package/dist/components/dashboard/cards/CardInfo.vue.d.ts +13 -5
  50. package/dist/components/dashboard/cards/CardInfo.vue.d.ts.map +1 -1
  51. package/dist/components/dashboard/cards/CardInput.vue.d.ts +13 -7
  52. package/dist/components/dashboard/cards/CardInput.vue.d.ts.map +1 -1
  53. package/dist/components/dashboard/cards/CardList.vue.d.ts +13 -7
  54. package/dist/components/dashboard/cards/CardList.vue.d.ts.map +1 -1
  55. package/dist/components/dashboard/cards/types.d.ts +10 -0
  56. package/dist/components/dashboard/cards/types.d.ts.map +1 -0
  57. package/dist/components/dashboard/edit/ItemEdit.vue.d.ts +3 -6
  58. package/dist/components/dashboard/edit/ItemEdit.vue.d.ts.map +1 -1
  59. package/dist/components/dashboard/edit/ItemOptions.vue.d.ts +6 -15
  60. package/dist/components/dashboard/edit/ItemOptions.vue.d.ts.map +1 -1
  61. package/dist/components/dashboard/edit/types.d.ts +21 -0
  62. package/dist/components/dashboard/edit/types.d.ts.map +1 -0
  63. package/dist/components/dashboard/types.d.ts +3 -0
  64. package/dist/components/dashboard/types.d.ts.map +1 -0
  65. package/dist/components/index.d.ts +6 -0
  66. package/dist/components/index.d.ts.map +1 -0
  67. package/dist/components/ui/accordion/types.d.ts +14 -0
  68. package/dist/components/ui/accordion/types.d.ts.map +1 -0
  69. package/dist/components/{general/forms → ui/autocomplete}/VAutocomplete.vue.d.ts +3 -10
  70. package/dist/components/ui/autocomplete/VAutocomplete.vue.d.ts.map +1 -0
  71. package/dist/components/ui/autocomplete/types.d.ts +14 -0
  72. package/dist/components/ui/autocomplete/types.d.ts.map +1 -0
  73. package/dist/components/{general/blocks/BlockBreadcrumb.vue.d.ts → ui/button/VButton.vue.d.ts} +6 -14
  74. package/dist/components/ui/button/VButton.vue.d.ts.map +1 -0
  75. package/dist/components/ui/button/types.d.ts +15 -0
  76. package/dist/components/ui/button/types.d.ts.map +1 -0
  77. package/dist/components/{general/forms → ui/checkbox}/VCheckbox.vue.d.ts +3 -6
  78. package/dist/components/ui/checkbox/VCheckbox.vue.d.ts.map +1 -0
  79. package/dist/components/ui/checkbox/types.d.ts +9 -0
  80. package/dist/components/ui/checkbox/types.d.ts.map +1 -0
  81. package/dist/components/{general/forms → ui/drag-drop}/VDragDrop.vue.d.ts +11 -14
  82. package/dist/components/ui/drag-drop/VDragDrop.vue.d.ts.map +1 -0
  83. package/dist/components/ui/drag-drop/types.d.ts +17 -0
  84. package/dist/components/ui/drag-drop/types.d.ts.map +1 -0
  85. package/dist/components/{general/forms → ui/dropdown}/VDropdown.vue.d.ts +8 -14
  86. package/dist/components/ui/dropdown/VDropdown.vue.d.ts.map +1 -0
  87. package/dist/components/ui/dropdown/types.d.ts +12 -0
  88. package/dist/components/ui/dropdown/types.d.ts.map +1 -0
  89. package/dist/components/{general/forms → ui/expansion}/VExpansion.vue.d.ts +2 -5
  90. package/dist/components/ui/expansion/VExpansion.vue.d.ts.map +1 -0
  91. package/dist/components/ui/expansion/types.d.ts +5 -0
  92. package/dist/components/ui/expansion/types.d.ts.map +1 -0
  93. package/dist/components/ui/file/VFile.vue.d.ts.map +1 -0
  94. package/dist/components/ui/file/types.d.ts +4 -0
  95. package/dist/components/ui/file/types.d.ts.map +1 -0
  96. package/dist/components/{general/forms → ui/func}/VFunc.vue.d.ts +3 -9
  97. package/dist/components/ui/func/VFunc.vue.d.ts.map +1 -0
  98. package/dist/components/ui/func/types.d.ts +13 -0
  99. package/dist/components/ui/func/types.d.ts.map +1 -0
  100. package/dist/components/{general/forms/VIcons.vue.d.ts → ui/icon/VIcon.vue.d.ts} +1 -1
  101. package/dist/components/ui/icon/VIcon.vue.d.ts.map +1 -0
  102. package/dist/components/ui/icon/types.d.ts +5 -0
  103. package/dist/components/ui/icon/types.d.ts.map +1 -0
  104. package/dist/components/ui/index.d.ts +19 -0
  105. package/dist/components/ui/index.d.ts.map +1 -0
  106. package/dist/components/{general/forms → ui/list}/VList.vue.d.ts +3 -7
  107. package/dist/components/ui/list/VList.vue.d.ts.map +1 -0
  108. package/dist/components/ui/list/VListObject.vue.d.ts +8 -0
  109. package/dist/components/ui/list/VListObject.vue.d.ts.map +1 -0
  110. package/dist/components/ui/list/types.d.ts +19 -0
  111. package/dist/components/ui/list/types.d.ts.map +1 -0
  112. package/dist/components/ui/loader/VLoader.vue.d.ts.map +1 -0
  113. package/dist/components/ui/loader/types.d.ts +1 -0
  114. package/dist/components/ui/loader/types.d.ts.map +1 -0
  115. package/dist/components/{general/forms → ui/select}/VSelect.vue.d.ts +3 -9
  116. package/dist/components/ui/select/VSelect.vue.d.ts.map +1 -0
  117. package/dist/components/ui/select/types.d.ts +13 -0
  118. package/dist/components/ui/select/types.d.ts.map +1 -0
  119. package/dist/components/{general/blocks/BlockTable.vue.d.ts → ui/table/VTable.vue.d.ts} +9 -12
  120. package/dist/components/ui/table/VTable.vue.d.ts.map +1 -0
  121. package/dist/components/ui/table/types.d.ts +21 -0
  122. package/dist/components/ui/table/types.d.ts.map +1 -0
  123. package/dist/components/{general/forms → ui/tabs}/VTabs.vue.d.ts +3 -8
  124. package/dist/components/ui/tabs/VTabs.vue.d.ts.map +1 -0
  125. package/dist/components/ui/tabs/types.d.ts +10 -0
  126. package/dist/components/ui/tabs/types.d.ts.map +1 -0
  127. package/dist/components/ui/text-field/VTextField.vue.d.ts +32 -0
  128. package/dist/components/ui/text-field/VTextField.vue.d.ts.map +1 -0
  129. package/dist/components/ui/text-field/types.d.ts +16 -0
  130. package/dist/components/ui/text-field/types.d.ts.map +1 -0
  131. package/dist/components/{general/forms → ui/text-wrapper}/VTextWrapper.vue.d.ts +3 -8
  132. package/dist/components/ui/text-wrapper/VTextWrapper.vue.d.ts.map +1 -0
  133. package/dist/components/ui/text-wrapper/types.d.ts +10 -0
  134. package/dist/components/ui/text-wrapper/types.d.ts.map +1 -0
  135. package/dist/components/ui/types.d.ts +1 -0
  136. package/dist/components/ui/types.d.ts.map +1 -0
  137. package/dist/components/ui/wifiIcon/VWifiIcon.vue.d.ts +4 -0
  138. package/dist/components/ui/wifiIcon/VWifiIcon.vue.d.ts.map +1 -0
  139. package/dist/components/ui/wifiIcon/types.d.ts +5 -0
  140. package/dist/components/ui/wifiIcon/types.d.ts.map +1 -0
  141. package/dist/composables/types.d.ts +8 -8
  142. package/dist/composables/types.d.ts.map +1 -1
  143. package/dist/dashboard/types.d.ts +1 -0
  144. package/dist/dashboard/types.d.ts.map +1 -1
  145. package/dist/helpers/fetch.d.ts +7 -7
  146. package/dist/helpers/fetch.d.ts.map +1 -1
  147. package/dist/helpers/general.d.ts.map +1 -1
  148. package/dist/helpers/index.es.js +6 -4
  149. package/dist/helpers/utils.d.ts +1 -1
  150. package/dist/helpers/utils.d.ts.map +1 -1
  151. package/dist/index.d.ts +1 -3
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.es.js +1984 -1922
  154. package/dist/style.css +1 -1
  155. package/dist/utils/directives/index.d.ts +1 -1
  156. package/dist/utils/directives/index.d.ts.map +1 -1
  157. package/dist/{utils-r5TQv-RW.js → utils-DxCyEA-K.js} +20 -20
  158. package/package.json +12 -3
  159. package/dist/components/general/blocks/BlockBreadcrumb.vue.d.ts.map +0 -1
  160. package/dist/components/general/blocks/BlockInfo.vue.d.ts.map +0 -1
  161. package/dist/components/general/blocks/BlockTable.vue.d.ts.map +0 -1
  162. package/dist/components/general/blocks/index.d.ts +0 -5
  163. package/dist/components/general/blocks/index.d.ts.map +0 -1
  164. package/dist/components/general/cards/CardGray.vue.d.ts.map +0 -1
  165. package/dist/components/general/cards/CardNotification.vue.d.ts +0 -10
  166. package/dist/components/general/cards/CardNotification.vue.d.ts.map +0 -1
  167. package/dist/components/general/cards/index.d.ts +0 -4
  168. package/dist/components/general/cards/index.d.ts.map +0 -1
  169. package/dist/components/general/forms/VAutocomplete.vue.d.ts.map +0 -1
  170. package/dist/components/general/forms/VButton.vue.d.ts +0 -33
  171. package/dist/components/general/forms/VButton.vue.d.ts.map +0 -1
  172. package/dist/components/general/forms/VCheckbox.vue.d.ts.map +0 -1
  173. package/dist/components/general/forms/VDragDrop.vue.d.ts.map +0 -1
  174. package/dist/components/general/forms/VDropdown.vue.d.ts.map +0 -1
  175. package/dist/components/general/forms/VExpansion.vue.d.ts.map +0 -1
  176. package/dist/components/general/forms/VFile.vue.d.ts.map +0 -1
  177. package/dist/components/general/forms/VFunc.vue.d.ts.map +0 -1
  178. package/dist/components/general/forms/VIcons.vue.d.ts.map +0 -1
  179. package/dist/components/general/forms/VList.vue.d.ts.map +0 -1
  180. package/dist/components/general/forms/VListObject.vue.d.ts +0 -13
  181. package/dist/components/general/forms/VListObject.vue.d.ts.map +0 -1
  182. package/dist/components/general/forms/VLoader.vue.d.ts.map +0 -1
  183. package/dist/components/general/forms/VSelect.vue.d.ts.map +0 -1
  184. package/dist/components/general/forms/VTabs.vue.d.ts.map +0 -1
  185. package/dist/components/general/forms/VTextField.vue.d.ts +0 -43
  186. package/dist/components/general/forms/VTextField.vue.d.ts.map +0 -1
  187. package/dist/components/general/forms/VTextWrapper.vue.d.ts.map +0 -1
  188. package/dist/components/general/forms/VWifiIcon.vue.d.ts +0 -7
  189. package/dist/components/general/forms/VWifiIcon.vue.d.ts.map +0 -1
  190. package/dist/components/general/forms/index.d.ts +0 -18
  191. package/dist/components/general/forms/index.d.ts.map +0 -1
  192. package/dist/components/general/index.d.ts +0 -4
  193. package/dist/components/general/index.d.ts.map +0 -1
  194. /package/dist/components/{general/forms → ui/file}/VFile.vue.d.ts +0 -0
  195. /package/dist/components/{general/forms → ui/loader}/VLoader.vue.d.ts +0 -0
package/dist/index.es.js CHANGED
@@ -1,494 +1,49 @@
1
- import { defineComponent as B, ref as L, computed as M, createElementBlock as c, openBlock as o, createElementVNode as l, createCommentVNode as I, normalizeClass as V, createBlock as A, toDisplayString as _, resolveDynamicComponent as q, mergeProps as D, withKeys as Le, renderSlot as C, createTextVNode as T, resolveDirective as je, withDirectives as de, createVNode as p, Transition as Y, withCtx as m, normalizeStyle as J, Fragment as H, renderList as N, onMounted as ce, unref as z, withModifiers as F, vShow as Ne, TransitionGroup as _e, toRef as Oe, readonly as Fe, customRef as Pe, getCurrentScope as Ee, onScopeDispose as Re, shallowRef as me, watch as U, nextTick as Ue, toValue as ue, isRef as Ge, vModelText as We, resolveComponent as ee, normalizeProps as E, guardReactiveProps as R, Teleport as qe } from "vue";
2
- import { getDataValue as Ke } from "./dashboard/index.es.js";
1
+ import { createElementBlock as v, openBlock as s, createElementVNode as l, Fragment as D, defineComponent as V, computed as M, createBlock as A, resolveDynamicComponent as G, resolveComponent as ae, createCommentVNode as I, normalizeClass as z, createVNode as p, withCtx as m, renderSlot as C, mergeProps as H, ref as L, onMounted as se, Teleport as $e, Transition as Q, withModifiers as P, toDisplayString as _, createTextVNode as T, resolveDirective as we, withDirectives as oe, normalizeStyle as K, renderList as N, unref as E, TransitionGroup as pe, watch as W, normalizeProps as R, guardReactiveProps as U, withKeys as Ce, vShow as ze, toRef as Ve, readonly as Be, customRef as Me, getCurrentScope as Ie, onScopeDispose as Ae, shallowRef as ce, nextTick as Se, toValue as ne, isRef as Te, vModelText as De } from "vue";
2
+ import { getDataValue as He } from "./dashboard/index.es.js";
3
3
  import { getFunction as y1, getParamsData as x1, getStateItem as k1, setStateItem as _1 } from "./dashboard/index.es.js";
4
- import { u as ve, d as Ze, e as Je, b as Qe, f as Xe } from "./utils-r5TQv-RW.js";
5
- import { useForm as w1 } from "./composables/index.es.js";
6
- const Ye = {
7
- mounted(e, t) {
8
- e.clickOutsideEvent = function(d) {
9
- e === d.target || e.contains(d.target) || t.value(d, e);
10
- }, document.addEventListener("click", e.clickOutsideEvent);
4
+ import { d as Le, t as je, f as Ne, a as re, c as Oe } from "./utils-DxCyEA-K.js";
5
+ const Pe = {
6
+ mounted(t, e) {
7
+ t.clickOutsideEvent = function(n) {
8
+ t === n.target || t.contains(n.target) || e.value(n, t);
9
+ }, document.addEventListener("click", t.clickOutsideEvent);
11
10
  },
12
- unmounted(e) {
13
- document.removeEventListener("click", e.clickOutsideEvent), delete e.clickOutsideEvent;
11
+ unmounted(t) {
12
+ document.removeEventListener("click", t.clickOutsideEvent), delete t.clickOutsideEvent;
14
13
  }
15
- }, et = [{ name: "outside", directive: Ye }], tt = { class: "w-full relative" }, lt = ["disabled"], st = {
16
- key: 0,
17
- class: "text-red-400 h-[24px] px-2 text-xs"
18
- }, at = "after:absolute after:h-1 after:w-full after:left-0 after:translate-y-[6px] after:-z-10 dark:after:bg-gray-800 after:bg-white after:transition-all", O = /* @__PURE__ */ B({
19
- __name: "VTextField",
20
- props: {
21
- modelValue: { default: null },
22
- label: { default: "" },
23
- component: { default: "input" },
24
- type: { default: "text" },
25
- message: { default: "" },
26
- readonly: { type: Boolean },
27
- disabled: { type: [Boolean, Number], default: !1 },
28
- active: { type: Boolean, default: !1 },
29
- hideMessage: { type: Boolean, default: !1 },
30
- rules: {}
31
- },
32
- emits: ["update:modelValue", "click", "on-icon", "enter", "blur"],
33
- setup(e, { emit: t }) {
34
- const d = t, r = {
35
- input: "w-full h-full px-4 outline-none overflow-ellipsis flex-auto overflow-hidden w-[calc(100% - 20px)] bg-transparent",
36
- textarea: "h-full w-full px-4 py-2 outline-none flex-auto bg-transparent"
37
- }, s = L(!1), n = M(() => [
38
- e.component === "input" ? "h-[40px]" : "min-h-[40px]",
39
- e.message ? "border-red-500 hover:border-red-400" : "",
40
- e.disabled ? "border-gray-400 opacity-40" : "border-gray-300 hover:border-gray-400 dark:border-gray-700/50 hover:dark:border-gray-600/50"
41
- ]), v = M(() => r[e.component]), u = (g) => g || g === 0, f = M(() => [at, s.value || u(e.modelValue) || e.active ? "top-0 left-3 text-xs" : "top-1/2"]), a = M(() => e.component === "input"), i = (g) => {
42
- s.value = !1, d("blur", g);
43
- }, h = ({ target: g }) => d("update:modelValue", g.value), b = (g) => d("enter", g), $ = () => s.value = !0, y = (g) => d("click", g), w = (g) => {
44
- e.disabled || d("on-icon", g);
45
- };
46
- return (g, P) => (o(), c("div", tt, [
47
- l("label", {
48
- class: V(["relative w-full border border-gray-300 dark:border-gray-700 flex items-center rounded transition bg-white dark:bg-gray-800", n.value])
49
- }, [
50
- l("span", {
51
- class: V(["absolute left-4 transition-all rounded -translate-y-1/2 text-gray-600 dark:text-gray-400", f.value])
52
- }, _(g.label), 3),
53
- (o(), A(q(g.component), D(g.$attrs, {
54
- value: g.modelValue,
55
- disabled: !!g.disabled,
56
- type: g.type,
57
- readonly: g.readonly,
58
- rows: a.value ? null : "2",
59
- wrap: a.value ? null : "soft",
60
- class: v.value,
61
- onFocus: $,
62
- onBlur: i,
63
- onInput: h,
64
- onClick: y,
65
- onKeypress: Le(b, ["enter"])
66
- }), null, 16, ["value", "disabled", "type", "readonly", "rows", "wrap", "class"])),
67
- g.$slots.icon ? (o(), c("button", {
68
- key: 0,
69
- disabled: !!g.disabled,
70
- class: V([{ "cursor-pointer": !g.disabled }, "flex-[0_0_50px] h-full flex items-center justify-center text-gray-400 border-l border-gray-300 dark:border-gray-700/50"]),
71
- onClick: w
72
- }, [
73
- C(g.$slots, "icon")
74
- ], 10, lt)) : I("", !0)
75
- ], 2),
76
- g.hideMessage ? I("", !0) : (o(), c("div", st, [
77
- C(g.$slots, "message", {}, () => [
78
- T(_(g.message), 1)
79
- ])
80
- ]))
81
- ]));
82
- }
83
- }), ot = { class: "relative" }, nt = { class: "flex items-center cursor-pointer" }, te = /* @__PURE__ */ B({
84
- __name: "VDropdown",
85
- props: {
86
- top: { default: "calc(100% + 5px)" },
87
- left: { default: "0" },
88
- right: { default: "" },
89
- height: { default: "200px" },
90
- hideOnClick: { type: Boolean, default: !0 }
91
- },
92
- emits: ["click", "show", "close"],
93
- setup(e, { emit: t }) {
94
- const d = t, r = L(!1), s = M(() => ({ top: e.top, left: e.left, right: e.right, "max-height": e.height })), n = (i) => {
95
- r.value && f(i);
96
- }, v = (i) => {
97
- r.value ? e.hideOnClick && f(i) : u(i), d("click", r.value);
98
- }, u = (i) => {
99
- r.value = !0, d("show", i);
100
- }, f = (i) => {
101
- r.value = !1, d("close", i);
102
- }, a = { click: v, open: u };
103
- return (i, h) => {
104
- const b = je("outside");
105
- return de((o(), c("div", ot, [
106
- l("div", nt, [
107
- C(i.$slots, "activator", {
108
- on: a,
109
- show: r.value
110
- })
111
- ]),
112
- p(Y, {
113
- "enter-active-class": "duration-300 ease-out",
114
- "enter-from-class": "transform opacity-0 -translate-y-2",
115
- "enter-to-class": "opacity-100 translate-y-0",
116
- "leave-active-class": "duration-200 ease-in",
117
- "leave-from-class": "opacity-100 translate-y-0",
118
- "leave-to-class": "transform opacity-0 -translate-y-2"
119
- }, {
120
- default: m(() => [
121
- r.value ? (o(), c("div", {
122
- key: 0,
123
- class: "z-10 min-w-full absolute overflow-auto shadow-lg scrollbar",
124
- style: J(s.value),
125
- onClick: v
126
- }, [
127
- C(i.$slots, "default", {
128
- on: a,
129
- show: u,
130
- hide: f,
131
- isShown: r.value
132
- })
133
- ], 4)) : I("", !0)
134
- ]),
135
- _: 3
136
- })
137
- ])), [
138
- [b, n]
139
- ]);
140
- };
141
- }
142
- }), rt = ["onClick"], le = /* @__PURE__ */ B({
143
- __name: "VList",
144
- props: {
145
- list: {},
146
- className: {}
147
- },
148
- emits: ["click"],
149
- setup(e, { emit: t }) {
150
- const d = e, r = t, s = (n, v) => r("click", n, v);
151
- return (n, v) => (o(), c("ul", {
152
- class: V(d.className ?? "bg-white dark:bg-gray-800")
153
- }, [
154
- (o(!0), c(H, null, N(d.list, (u) => (o(), c("li", {
155
- key: `${u.value}_${u.name}`,
156
- class: "whitespace-nowrap cursor-pointer flex items-center min-h-[40px] py-1 px-6 border-b last:border-b-0 dark:border-gray-700 border-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700/30",
157
- onClick: (f) => s(u, f)
158
- }, [
159
- C(n.$slots, "default", { item: u }, () => [
160
- T(_(u.name), 1)
161
- ])
162
- ], 8, rt))), 128))
163
- ], 2));
164
- }
165
- }), d1 = /* @__PURE__ */ B({
166
- __name: "VAutocomplete",
167
- props: {
168
- modelValue: { default: "" },
169
- label: {},
170
- name: { default: "" },
171
- message: { default: "" },
172
- list: {}
173
- },
174
- emits: ["update:modelValue", "select"],
175
- setup(e, { emit: t }) {
176
- const d = t, r = (n) => {
177
- d("update:modelValue", n);
178
- }, s = (n, v) => {
179
- n.click(v), d("select", v);
180
- };
181
- return (n, v) => (o(), A(te, D(n.$attrs, {
182
- top: "50px",
183
- "hide-on-click": ""
184
- }), {
185
- activator: m(({ on: u }) => [
186
- p(O, {
187
- "model-value": n.modelValue,
188
- name: n.name,
189
- message: n.message,
190
- label: n.label,
191
- "onUpdate:modelValue": r,
192
- onClick: u.open
193
- }, null, 8, ["model-value", "name", "message", "label", "onClick"])
194
- ]),
195
- default: m(({ on: u }) => [
196
- p(le, {
197
- list: n.list,
198
- onClick: (f) => s(u, f)
199
- }, {
200
- default: m(({ item: f }) => [
201
- C(n.$slots, "default", { item: f }, () => [
202
- T(_(f.name), 1)
203
- ])
204
- ]),
205
- _: 2
206
- }, 1032, ["list", "onClick"])
207
- ]),
208
- _: 3
209
- }, 16));
210
- }
211
- }), $e = (e, t) => {
212
- const d = e.__vccOpts || e;
213
- for (const [r, s] of t)
214
- d[r] = s;
215
- return d;
216
- }, it = {}, dt = {
217
- class: "animate-spin h-6 w-6",
218
- fill: "none",
219
- viewBox: "0 0 24 24"
220
- };
221
- function ct(e, t) {
222
- return o(), c("svg", dt, t[0] || (t[0] = [
223
- l("circle", {
224
- class: "opacity-25",
225
- cx: "12",
226
- cy: "12",
227
- r: "10",
228
- stroke: "currentColor",
229
- "stroke-width": "2"
230
- }, null, -1),
231
- l("path", {
232
- class: "opacity-75",
233
- fill: "currentColor",
234
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
235
- }, null, -1)
236
- ]));
237
- }
238
- const we = /* @__PURE__ */ $e(it, [["render", ct]]), ut = "relative flex justify-center items-center transition not-disabled:cursor-pointer not-disabled:hover:opacity-90 disabled:opacity-40 rounded", j = /* @__PURE__ */ B({
239
- __name: "VButton",
240
- props: {
241
- block: { type: Boolean },
242
- outline: { type: Boolean, default: !1 },
243
- color: { default: "gray" },
244
- size: { default: "normal" },
245
- type: { default: "button" },
246
- href: { default: "" },
247
- to: { default: "" },
248
- loading: { type: Boolean, default: !1 },
249
- disabled: { type: [Number, Boolean], default: !1 }
250
- },
251
- emits: ["click"],
252
- setup(e, { emit: t }) {
253
- const d = t, r = (g) => d("click", g), s = e.outline ? "border border-green-600 text-green-600" : "bg-green-600 dark:bg-green-800", n = e.outline ? "border border-red-600 text-red-600" : "bg-red-600 dark:bg-red-800", v = e.outline ? "border border-gray-600 text-gray-600" : "bg-gray-500 dark:bg-gray-800", u = e.outline ? "border border-blue-600 text-blue-600" : "bg-blue-700 dark:bg-blue-800", f = { green: s, red: n, gray: v, blue: u }, a = {
254
- button: "px-4",
255
- icon: "rounded-full border border-gray-200 dark:border-gray-800"
256
- }, i = {
257
- button: { normal: "h-10", small: "h-8" },
258
- icon: { normal: "size-10", small: "size-8" }
259
- }, h = (g, P) => {
260
- var X;
261
- return ((X = i[g]) == null ? void 0 : X[P]) || "";
262
- }, b = (g) => (a == null ? void 0 : a[g]) || "", $ = (g) => e.type === "icon" ? "" : `${e.outline ? "dark:text-white" : "text-white"} ${(f == null ? void 0 : f[g]) || ""}`, y = M(() => [ut, $(e.color), b(e.type), h(e.type, e.size), { "w-full": e.block }]), w = M(() => e.href || e.to ? "router-link" : "button");
263
- return (g, P) => (o(), A(q(w.value), D(g.$attrs, {
264
- href: g.href,
265
- to: g.to,
266
- class: y.value,
267
- disabled: !!g.disabled,
268
- onClick: r
269
- }), {
270
- default: m(() => [
271
- l("span", {
272
- class: V(g.loading ? "opacity-0" : "")
273
- }, [
274
- C(g.$slots, "default")
275
- ], 2),
276
- g.loading ? (o(), A(we, {
277
- key: 0,
278
- class: "absolute left-1/2 -translate-x-1/2"
279
- })) : I("", !0)
280
- ]),
281
- _: 3
282
- }, 16, ["href", "to", "class", "disabled"]));
283
- }
284
- }), vt = ["checked", "disabled"], ft = { class: "text-sm ms-2 peer-disabled:opacity-40" }, ht = /* @__PURE__ */ B({
285
- __name: "VCheckbox",
286
- props: {
287
- modelValue: { type: [Number, Boolean], default: !1 },
288
- disabled: { type: Boolean, default: !1 }
289
- },
290
- emits: ["update:modelValue", "click"],
291
- setup(e, { emit: t }) {
292
- const d = t, r = (n) => {
293
- const v = n.target;
294
- d("update:modelValue", v.checked);
295
- }, s = (n) => d("click", n);
296
- return (n, v) => (o(), c("label", {
297
- class: V(["inline-flex items-center relative", { "cursor-pointer": !n.disabled }]),
298
- onClick: s
299
- }, [
300
- l("input", {
301
- type: "checkbox",
302
- checked: !!n.modelValue,
303
- disabled: n.disabled,
304
- class: "peer size-5 transition-all appearance-none rounded border border-gray-300 dark:border-gray-700 disabled:opacity-40 not-disabled:cursor-pointer",
305
- onChange: r
306
- }, null, 40, vt),
307
- v[0] || (v[0] = l("button", { class: "absolute opacity-0 peer-checked:opacity-100 peer-disabled:opacity-40 top-1/2 left-[10px] transform -translate-x-1/2 -translate-y-1/2 pointer-events-none" }, [
308
- l("svg", {
309
- class: "h-3.5 w-3.5",
310
- viewBox: "0 0 20 20",
311
- fill: "currentColor",
312
- stroke: "currentColor",
313
- "stroke-width": "1"
314
- }, [
315
- l("path", {
316
- "fill-rule": "evenodd",
317
- d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
318
- "clip-rule": "evenodd"
319
- })
320
- ])
321
- ], -1)),
322
- l("span", ft, [
323
- C(n.$slots, "default")
324
- ])
325
- ], 2));
326
- }
327
- }), pt = {
328
- width: "24",
329
- height: "24",
330
- fill: "currentColor",
331
- viewBox: "0 0 24 24"
332
- };
333
- function gt(e, t) {
334
- return o(), c("svg", pt, t[0] || (t[0] = [
335
- l("path", { d: "m12 13.171 4.95-4.95 1.414 1.415L12 16 5.636 9.636 7.05 8.222z" }, null, -1)
336
- ]));
337
- }
338
- const K = { render: gt }, mt = { class: "v-expansion__content max-h-0 overflow-hidden transition-all duration-300" }, bt = { class: "p-4" }, c1 = /* @__PURE__ */ B({
339
- __name: "VExpansion",
340
- props: {
341
- label: { default: "" },
342
- value: { type: Boolean, default: !1 }
343
- },
344
- setup(e) {
345
- const t = L(null), d = L(e.value), r = () => {
346
- if (!t.value) return;
347
- const n = t.value.querySelector(".v-expansion__content");
348
- n && (n.style.maxHeight = d.value ? `${n.scrollHeight}px` : "0");
349
- }, s = () => {
350
- d.value = !d.value, r();
351
- };
352
- return ce(() => {
353
- r();
354
- }), (n, v) => (o(), c("div", {
355
- ref_key: "root",
356
- ref: t,
357
- class: "border-b dark:border-gray-700 border-gray-200"
358
- }, [
359
- l("div", {
360
- class: "cursor-pointer min-h-[60px] px-4 flex items-center justify-between",
361
- onClick: s
362
- }, [
363
- l("h4", null, _(n.label), 1),
364
- l("div", {
365
- class: V(["transition text-gray-400", { "rotate-180": d.value }])
366
- }, [
367
- p(z(K))
368
- ], 2)
369
- ]),
370
- l("div", mt, [
371
- l("div", bt, [
372
- C(n.$slots, "default")
373
- ])
374
- ])
375
- ], 512));
376
- }
377
- }), yt = ["value", "selected"], Q = /* @__PURE__ */ B({
378
- __name: "VSelect",
379
- props: {
380
- value: { default: "" },
381
- label: {},
382
- disabled: { type: [Boolean, Number], default: !1 },
383
- list: {}
384
- },
385
- emits: ["update:modelValue", "change"],
386
- setup(e, { emit: t }) {
387
- const d = t, r = M(() => {
388
- const u = e.list.find((f) => f.value === e.value);
389
- return (u == null ? void 0 : u.name) || "";
390
- }), s = (u) => ({ "rotate-x-180": u }), n = (u) => {
391
- const f = u.target, a = (f == null ? void 0 : f.value) || 0, i = e.list.find((h) => h.value == a);
392
- i && d("change", i);
393
- }, v = (u, f) => {
394
- u.click(f), d("change", f);
395
- };
396
- return (u, f) => (o(), A(te, D({ class: "relative w-full" }, u.$attrs, { top: "46px" }), {
397
- activator: m(({ on: a, show: i }) => [
398
- p(O, {
399
- "model-value": r.value,
400
- readonly: "",
401
- hideMessage: "",
402
- disabled: u.disabled,
403
- active: "",
404
- label: u.label,
405
- onClick: a.click,
406
- onOnIcon: a.click
407
- }, {
408
- icon: m(() => [
409
- p(z(K), {
410
- class: V(["transition", s(i)])
411
- }, null, 8, ["class"])
412
- ]),
413
- _: 2
414
- }, 1032, ["model-value", "disabled", "label", "onClick", "onOnIcon"]),
415
- l("select", {
416
- class: "md:hidden absolute left-0 top-0 w-full h-full opacity-0",
417
- name: "select",
418
- onChange: n
419
- }, [
420
- (o(!0), c(H, null, N(u.list, (h) => (o(), c("option", {
421
- key: h.value,
422
- value: h.value,
423
- selected: u.value === h.value
424
- }, _(h.name), 9, yt))), 128))
425
- ], 32)
426
- ]),
427
- default: m(({ on: a }) => [
428
- p(le, {
429
- list: u.list,
430
- onClick: (i) => v(a, i)
431
- }, {
432
- default: m(({ item: i }) => [
433
- C(u.$slots, "default", { item: i }, () => [
434
- T(_(i.name), 1)
435
- ])
436
- ]),
437
- _: 2
438
- }, 1032, ["list", "onClick"])
439
- ]),
440
- _: 3
441
- }, 16));
442
- }
443
- }), xt = { class: "flex items-center cursor-pointer" }, u1 = /* @__PURE__ */ B({
444
- __name: "VFile",
445
- emits: ["change"],
446
- setup(e, { emit: t }) {
447
- const d = t, r = async (s) => {
448
- const n = s.target;
449
- n.files && d("change", n.files);
450
- };
451
- return (s, n) => (o(), c("label", xt, [
452
- l("input", D({
453
- type: "file",
454
- class: "hidden"
455
- }, s.$attrs, { onChange: r }), null, 16),
456
- C(s.$slots, "default")
457
- ]));
458
- }
459
- }), kt = {
14
+ }, Ee = [{ name: "outside", directive: Pe }], Fe = {
460
15
  width: "24",
461
16
  height: "24",
462
17
  fill: "currentColor",
463
18
  viewBox: "0 0 24 24"
464
19
  };
465
- function _t(e, t) {
466
- return o(), c("svg", kt, t[0] || (t[0] = [
20
+ function Re(t, e) {
21
+ return s(), v("svg", Fe, e[0] || (e[0] = [
467
22
  l("path", { d: "M21 3H3a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m0 9H3V5h18ZM5 10a1 1 0 0 1 1-1h12a1 1 0 0 1 0 2H6a1 1 0 0 1-1-1m11-3a1 1 0 0 1 1-1h1a1 1 0 0 1 0 2h-1a1 1 0 0 1-1-1M9.793 20.293 11.086 19l-.293-.293a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 1.414L12.914 18l.293.293a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414m5.5 0L16.586 19l-.293-.293a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 1.414L18.414 18l.293.293a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414m-11 0L5.586 19l-.293-.293a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 1.414L7.414 18l.293.293a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414" }, null, -1)
468
23
  ]));
469
24
  }
470
- const $t = { render: _t }, wt = {
25
+ const Ue = { render: Re }, We = {
471
26
  width: "24",
472
27
  height: "24",
473
28
  fill: "currentColor",
474
29
  viewBox: "-2 0 15.998 15.998"
475
30
  };
476
- function Ct(e, t) {
477
- return o(), c("svg", wt, t[0] || (t[0] = [
31
+ function qe(t, e) {
32
+ return s(), v("svg", We, e[0] || (e[0] = [
478
33
  l("path", {
479
34
  d: "M9.785 1.341A6.04 6.04 0 0 0 4.718.132a5.98 5.98 0 0 0-4.6 4.673 5.97 5.97 0 0 0 1.884 5.665v.028a2.49 2.49 0 0 0 1 1.989v1.011a1.5 1.5 0 0 0 1.5 1.5h.355a1.17 1.17 0 0 0 1.145 1 1.17 1.17 0 0 0 1.145-1h.355a1.5 1.5 0 0 0 1.5-1.5v-1.011a2.49 2.49 0 0 0 1-1.989v-.028a5.98 5.98 0 0 0 2-4.472 5.98 5.98 0 0 0-2.217-4.657M8.002 12.998v.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-.5zm1.182-3.143a.5.5 0 0 0-.182.386v.257a1.5 1.5 0 0 1-1.5 1.5h-3a1.5 1.5 0 0 1-1.5-1.5v-.257a.5.5 0 0 0-.182-.386 4.98 4.98 0 0 1-1.718-4.857 4.97 4.97 0 0 1 3.821-3.884A5.3 5.3 0 0 1 5.99.998a5 5 0 0 1 3.164 1.117 4.98 4.98 0 0 1 1.848 3.883 4.99 4.99 0 0 1-1.818 3.857M6.502 3.498a.5.5 0 0 1-.5.5 2 2 0 0 0-2 2 .5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5 3 3 0 0 1 3-3 .5.5 0 0 1 .5.5",
480
35
  "data-name": "Path 81"
481
36
  }, null, -1)
482
37
  ]));
483
38
  }
484
- const zt = { render: Ct }, Vt = {
39
+ const Ge = { render: qe }, Ke = {
485
40
  width: "24",
486
41
  height: "24",
487
42
  fill: "none",
488
43
  viewBox: "0 0 24 24"
489
44
  };
490
- function Bt(e, t) {
491
- return o(), c("svg", Vt, t[0] || (t[0] = [
45
+ function Ze(t, e) {
46
+ return s(), v("svg", Ke, e[0] || (e[0] = [
492
47
  l("path", {
493
48
  stroke: "currentColor",
494
49
  "stroke-linecap": "round",
@@ -505,14 +60,14 @@ function Bt(e, t) {
505
60
  }, null, -1)
506
61
  ]));
507
62
  }
508
- const Mt = { render: Bt }, It = {
63
+ const Je = { render: Ze }, Qe = {
509
64
  width: "24",
510
65
  height: "24",
511
66
  fill: "currentColor",
512
67
  viewBox: "0 0 24 24"
513
68
  };
514
- function At(e, t) {
515
- return o(), c("svg", It, t[0] || (t[0] = [
69
+ function Xe(t, e) {
70
+ return s(), v("svg", Qe, e[0] || (e[0] = [
516
71
  l("path", {
517
72
  "fill-rule": "evenodd",
518
73
  d: "M5.999 10.495a1.5 1.5 0 0 1 1.5 1.5v.01a1.5 1.5 0 0 1-3 0v-.01a1.5 1.5 0 0 1 1.5-1.5m12 0a1.5 1.5 0 0 1 1.5 1.5v.01a1.5 1.5 0 1 1-3 0v-.01a1.5 1.5 0 0 1 1.5-1.5m-4.5 1.5a1.5 1.5 0 1 0-3 0v.01a1.5 1.5 0 0 0 3 0z",
@@ -520,49 +75,60 @@ function At(e, t) {
520
75
  }, null, -1)
521
76
  ]));
522
77
  }
523
- const Ce = { render: At }, St = {
78
+ const Ye = { render: Xe }, et = {
524
79
  width: "24",
525
80
  height: "24",
526
81
  viewBox: "0 0 1024 1024"
527
82
  };
528
- function Tt(e, t) {
529
- return o(), c("svg", St, t[0] || (t[0] = [
83
+ function tt(t, e) {
84
+ return s(), v("svg", et, e[0] || (e[0] = [
530
85
  l("path", {
531
86
  fill: "currentColor",
532
87
  d: "M539.7 463.1V273.5l90.8-91.2c11-11 10.9-28.7 0-39.6-11-11-28.7-10.9-39.6 0L539.7 194V91.3c0-15.1-12.5-27.8-28-27.8-15.6 0-28 12.5-28 27.8V195l-51.2-51.2c-10.9-10.9-28.6-11-39.6 0-10.9 10.9-11 28.6 0 39.6l90.8 91.2v188.6l-164.2-94.8L286 244.1c-4-15-19.4-23.8-34.3-19.8-15 4-23.8 19.4-19.8 34.3l18.7 70-88.9-51.4c-13.1-7.6-30.4-3-38.1 10.4-7.8 13.5-3.2 30.5 10.1 38.2l89.8 51.9-70 18.7c-14.9 4-23.8 19.3-19.8 34.3 4 14.9 19.3 23.8 34.3 19.8l124.4-33.1 163.3 94.3-164.2 94.8-124.4-33.1c-15-4-30.3 4.9-34.3 19.8-4 15 4.9 30.3 19.8 34.3l70 18.7-88.9 51.4c-13.1 7.6-17.8 24.8-10.1 38.2 7.8 13.5 24.8 18 38.1 10.4l89.8-51.9-18.7 70c-4 14.9 4.8 30.3 19.8 34.3 14.9 4 30.3-4.8 34.3-19.8l33.6-124.3 163.3-94.3v190.6l-90.8 93c-11 11-10.9 28.7 0 39.6 11 11 28.7 10.9 39.6 0l51.2-51.2v99.9c0 15.1 12.5 27.8 28 27.8 15.6 0 28-12.5 28-27.8v-101l51.2 51.2c10.9 10.9 28.6 11 39.6 0 10.9-10.9 11-28.6 0-39.6l-90.8-93V560.2l165.1 95.3L740 780.6c4 15 19.4 23.8 34.3 19.8 15-4 23.8-19.4 19.8-34.3l-18.7-70 86.6 50c13.1 7.6 30.4 3 38.1-10.4 7.8-13.5 3.2-30.5-10.1-38.2L802.6 647l70-18.7c14.9-4 23.8-19.3 19.8-34.3-4-14.9-19.3-23.8-34.3-19.8l-125.9 32.2L568 511.6l165.1-95.3L859 448.5c15 4 30.3-4.9 34.3-19.8 4-15-4.9-30.3-19.8-34.3l-70-18.7 86.6-50c13.1-7.6 17.8-24.8 10.1-38.2-7.8-13.5-24.8-18-38.1-10.4l-87.4 50.5 18.7-70c4-14.9-4.8-30.3-19.8-34.3-14.9-4-30.3 4.8-34.3 19.8l-35.1 125.1z"
533
88
  }, null, -1)
534
89
  ]));
535
90
  }
536
- const Ht = { render: Tt }, Dt = {
91
+ const lt = { render: tt }, at = {
537
92
  width: "24",
538
93
  height: "24",
539
94
  fill: "currentColor",
540
95
  viewBox: "0 0 24 24"
541
96
  };
542
- function Lt(e, t) {
543
- return o(), c("svg", Dt, t[0] || (t[0] = [
97
+ function st(t, e) {
98
+ return s(), v("svg", at, e[0] || (e[0] = [
544
99
  l("path", { d: "M2 4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3c-.55 0-1-.45-1-1zm8.586 2-1-1H4v2h5.586zM4 9v10h16V7h-7.586l-2 2z" }, null, -1)
545
100
  ]));
546
101
  }
547
- const ze = { render: Lt }, jt = {
102
+ const ot = { render: st }, nt = {
103
+ width: "24",
104
+ height: "24",
105
+ fill: "currentColor",
106
+ viewBox: "0 0 24 24"
107
+ };
108
+ function rt(t, e) {
109
+ return s(), v("svg", nt, e[0] || (e[0] = [
110
+ l("path", { d: "m12 13.171 4.95-4.95 1.414 1.415L12 16 5.636 9.636 7.05 8.222z" }, null, -1)
111
+ ]));
112
+ }
113
+ const it = { render: rt }, dt = {
548
114
  width: "24",
549
115
  height: "24",
550
116
  fill: "currentColor",
551
117
  viewBox: "0 0 24 24"
552
118
  };
553
- function Nt(e, t) {
554
- return o(), c("svg", jt, t[0] || (t[0] = [
119
+ function ct(t, e) {
120
+ return s(), v("svg", dt, e[0] || (e[0] = [
555
121
  l("path", { d: "m12 10.587 4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.415 1.414-4.95-4.95-4.949 4.95-1.414-1.415 4.95-4.95-4.95-4.95L7.05 5.638z" }, null, -1)
556
122
  ]));
557
123
  }
558
- const G = { render: Nt }, Ot = {
124
+ const ut = { render: ct }, vt = {
559
125
  width: "24",
560
126
  height: "24",
561
127
  fill: "none",
562
128
  viewBox: "0 0 24 24"
563
129
  };
564
- function Ft(e, t) {
565
- return o(), c("svg", Ot, t[0] || (t[0] = [
130
+ function ft(t, e) {
131
+ return s(), v("svg", vt, e[0] || (e[0] = [
566
132
  l("path", {
567
133
  fill: "currentColor",
568
134
  "fill-rule": "evenodd",
@@ -571,24 +137,24 @@ function Ft(e, t) {
571
137
  }, null, -1)
572
138
  ]));
573
139
  }
574
- const Pt = { render: Ft }, Et = {
140
+ const ht = { render: ft }, pt = {
575
141
  width: "24",
576
142
  height: "24",
577
143
  fill: "currentColor",
578
144
  viewBox: "0 0 24 24"
579
145
  };
580
- function Rt(e, t) {
581
- return o(), c("svg", Et, t[0] || (t[0] = [
146
+ function gt(t, e) {
147
+ return s(), v("svg", pt, e[0] || (e[0] = [
582
148
  l("path", { d: "M11 14v-3h2v3h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1zM2.51 8.837C3.835 4.864 7.584 2 12 2c4.418 0 8.166 2.864 9.49 6.837l-1.898.632a8.004 8.004 0 0 0-15.183 0zm3.797 1.265a6.003 6.003 0 0 1 11.387 0l-1.898.633a4.002 4.002 0 0 0-7.592 0zM7 16v4h10v-4z" }, null, -1)
583
149
  ]));
584
150
  }
585
- const Ut = { render: Rt }, Gt = {
151
+ const mt = { render: gt }, bt = {
586
152
  width: "24",
587
153
  height: "24",
588
154
  viewBox: "0 0 1024 1024"
589
155
  };
590
- function Wt(e, t) {
591
- return o(), c("svg", Gt, t[0] || (t[0] = [
156
+ function yt(t, e) {
157
+ return s(), v("svg", bt, e[0] || (e[0] = [
592
158
  l("path", {
593
159
  fill: "#5E676F",
594
160
  d: "M166.5 608.4c0-180.9 153.4-261.1 317.8-528.9 14.4-19.9 43.2-19.9 58.4 1.5 164.6 268.7 317 346.8 317 527.4 0 191.4-155.2 346.6-346.6 346.6S166.5 799.8 166.5 608.4"
@@ -603,122 +169,122 @@ function Wt(e, t) {
603
169
  }, null, -1)
604
170
  ]));
605
171
  }
606
- const qt = { render: Wt }, Kt = {
172
+ const xt = { render: yt }, kt = {
607
173
  width: "24",
608
174
  height: "24",
609
175
  fill: "currentColor",
610
176
  viewBox: "0 0 24 24"
611
177
  };
612
- function Zt(e, t) {
613
- return o(), c("svg", Kt, t[0] || (t[0] = [
178
+ function _t(t, e) {
179
+ return s(), v("svg", kt, e[0] || (e[0] = [
614
180
  l("path", { d: "M3 4h18v2H3zm0 7h12v2H3zm0 7h18v2H3z" }, null, -1)
615
181
  ]));
616
182
  }
617
- const Ve = { render: Zt }, Jt = {
183
+ const $t = { render: _t }, wt = {
618
184
  width: "24",
619
185
  height: "24",
620
186
  fill: "currentColor",
621
187
  viewBox: "0 0 24 24"
622
188
  };
623
- function Qt(e, t) {
624
- return o(), c("svg", Jt, t[0] || (t[0] = [
189
+ function Ct(t, e) {
190
+ return s(), v("svg", wt, e[0] || (e[0] = [
625
191
  l("path", { d: "M17.883 19.297A10.95 10.95 0 0 1 12 21c-5.392 0-9.878-3.88-10.818-9A11 11 0 0 1 4.52 5.935L1.394 2.808l1.414-1.414 19.799 19.798-1.414 1.415zM5.936 7.35A8.97 8.97 0 0 0 3.223 12a9.005 9.005 0 0 0 13.201 5.838l-2.028-2.028A4.5 4.5 0 0 1 8.19 9.604zm6.978 6.978-3.242-3.241a2.5 2.5 0 0 0 3.241 3.241m7.893 2.265-1.431-1.431A8.9 8.9 0 0 0 20.778 12 9.005 9.005 0 0 0 9.552 5.338L7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.95 10.95 0 0 1-2.012 4.593m-9.084-9.084Q11.86 7.5 12 7.5a4.5 4.5 0 0 1 4.492 4.778z" }, null, -1)
626
192
  ]));
627
193
  }
628
- const Xt = { render: Qt }, Yt = {
194
+ const zt = { render: Ct }, Vt = {
629
195
  width: "24",
630
196
  height: "24",
631
197
  fill: "currentColor",
632
198
  viewBox: "0 0 24 24"
633
199
  };
634
- function el(e, t) {
635
- return o(), c("svg", Yt, t[0] || (t[0] = [
200
+ function Bt(t, e) {
201
+ return s(), v("svg", Vt, e[0] || (e[0] = [
636
202
  l("path", { d: "M12 3c5.392 0 9.878 3.88 10.819 9-.94 5.12-5.427 9-10.819 9s-9.878-3.88-10.818-9C2.122 6.88 6.608 3 12 3m0 16a9.005 9.005 0 0 0 8.778-7 9.005 9.005 0 0 0-17.555 0A9.005 9.005 0 0 0 12 19m0-2.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9m0-2a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5" }, null, -1)
637
203
  ]));
638
204
  }
639
- const tl = { render: el }, ll = {
205
+ const Mt = { render: Bt }, It = {
640
206
  width: "24",
641
207
  height: "24",
642
208
  fill: "currentColor",
643
209
  viewBox: "0 0 24 24"
644
210
  };
645
- function sl(e, t) {
646
- return o(), c("svg", ll, t[0] || (t[0] = [
211
+ function At(t, e) {
212
+ return s(), v("svg", It, e[0] || (e[0] = [
647
213
  l("path", { d: "M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zM5.83 8H9V4.83zM11 4v5a1 1 0 0 1-1 1H5v10h14V4z" }, null, -1)
648
214
  ]));
649
215
  }
650
- const al = { render: sl }, ol = {
216
+ const St = { render: At }, Tt = {
651
217
  width: "24",
652
218
  height: "24",
653
219
  fill: "currentColor",
654
220
  viewBox: "0 0 24 24"
655
221
  };
656
- function nl(e, t) {
657
- return o(), c("svg", ol, t[0] || (t[0] = [
222
+ function Dt(t, e) {
223
+ return s(), v("svg", Tt, e[0] || (e[0] = [
658
224
  l("path", { d: "M3 7h18v10h-2v-2h-2v2h-2v-2h-2v2h-2v-2H9v2H7v-2H5v2H3zM2 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1zm9 4H5v3h6zm2 0h6v3h-6z" }, null, -1)
659
225
  ]));
660
226
  }
661
- const rl = { render: nl }, il = {
227
+ const Ht = { render: Dt }, Lt = {
662
228
  width: "24",
663
229
  height: "24",
664
230
  fill: "currentColor",
665
231
  viewBox: "0 0 24 24"
666
232
  };
667
- function dl(e, t) {
668
- return o(), c("svg", il, t[0] || (t[0] = [
233
+ function jt(t, e) {
234
+ return s(), v("svg", Lt, e[0] || (e[0] = [
669
235
  l("path", { d: "M12 4a7.99 7.99 0 0 0-6.616 3.5H8v2H2v-6h2V6a9.98 9.98 0 0 1 8-4c5.523 0 10 4.477 10 10h-2a8 8 0 0 0-8-8m-8 8a8 8 0 0 0 14.616 4.5H16v-2h6v6h-2V18a9.98 9.98 0 0 1-8 4C6.477 22 2 17.523 2 12z" }, null, -1)
670
236
  ]));
671
237
  }
672
- const cl = { render: dl }, ul = {
238
+ const Nt = { render: jt }, Ot = {
673
239
  width: "24",
674
240
  height: "24",
675
241
  fill: "currentColor",
676
242
  viewBox: "0 0 491.7 491.7"
677
243
  };
678
- function vl(e, t) {
679
- return o(), c("svg", ul, t[0] || (t[0] = [
244
+ function Pt(t, e) {
245
+ return s(), v("svg", Ot, e[0] || (e[0] = [
680
246
  l("path", { d: "M471.1 368.65v-245.7c11.3 0 20.5-9.2 20.5-20.5s-9.2-20.5-20.5-20.5h-1c-4.8-23.3-25.4-41-50.2-41-24.7 0-45.4 17.6-50.2 41h-22.6c-4.8-23.3-25.4-41-50.2-41-24.7 0-45.4 17.6-50.2 41h-22.6c-4.8-23.3-25.4-41-50.2-41-24.7 0-45.4 17.6-50.2 41h-21.5v-61.4c0-11.3-9.2-20.5-20.5-20.5H20.5C9.2.05 0 9.25 0 20.55v450.6c0 11.3 9.2 20.5 20.5 20.5h61.4c11.3 0 20.5-9.2 20.5-20.5v-61.4h21.5c4.8 23.3 25.4 41 50.2 41 24.7 0 45.4-17.6 50.2-41h22.5c4.8 23.3 25.4 41 50.2 41 24.7 0 45.4-17.6 50.2-41h22.6c4.8 23.3 25.4 41 50.2 41 24.7 0 45.4-17.6 50.2-41h1c11.3 0 20.5-9.2 20.5-20.5s-9.3-20.6-20.6-20.6m-348.2 0h-20.5v-245.7h20.5zm122.9 0h-20.5v-245.7h20.5zm122.9 0h-20.5v-245.7h20.5z" }, null, -1)
681
247
  ]));
682
248
  }
683
- const fl = { render: vl }, hl = {
249
+ const Et = { render: Pt }, Ft = {
684
250
  width: "24",
685
251
  height: "24",
686
252
  fill: "currentColor",
687
253
  viewBox: "0 0 24 24"
688
254
  };
689
- function pl(e, t) {
690
- return o(), c("svg", hl, t[0] || (t[0] = [
255
+ function Rt(t, e) {
256
+ return s(), v("svg", Ft, e[0] || (e[0] = [
691
257
  l("path", { d: "M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4zM9 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2m6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2" }, null, -1)
692
258
  ]));
693
259
  }
694
- const gl = { render: pl }, ml = {
260
+ const Ut = { render: Rt }, Wt = {
695
261
  fill: "currentColor",
696
262
  viewBox: "0 0 179 40"
697
263
  };
698
- function bl(e, t) {
699
- return o(), c("svg", ml, t[0] || (t[0] = [
264
+ function qt(t, e) {
265
+ return s(), v("svg", Wt, e[0] || (e[0] = [
700
266
  l("path", { d: "M24.264 11.217c0 5.347-1.898 11.74-5.138 15.962-1.05 1.368-4.049 4.478-5.816 2.415-1.26-1.471-.47-5.037-.116-6.673 1.218-5.628 2.62-10.76 4.028-16.343-3.656 1.984-9.07-3.295-9.35-.302-1.637 9.446-3.83 27.866 2.174 29.46 10.87 1.45 15.99-11.283 17.198-20.29.29-2.16.548-4.363.32-6.548-.312-2.973-3.296-4.46-5.819-2.946-1.518.911-1.614 4.085-.257 5.187.726.59 1.983.421 2.776.078M40.744 4.761l.002 12.436-3.502 3.412 3.502 3.467v12.438l.536.003s.01-12.404-.007-12.438l3.487-3.38-3.486-3.5V4.762zM133.638 24.706c-.732-.23-2.09-.29-2.649.141-.739.62-.084 3.093-.101 3.953.052 2.697 2.753 4.142 4.786 4.502 0 0 5.988.651 9.036-.742 4.77-2.18 5.416-8.62 1.848-12.205-2.025-2.5-9.668-4.457-10.485-6.835-.87-1.026-.335-3.054.678-3.806 1.39-1.031 3.442-1.004 5.036-.684 1.742.35 1.88 1.86 2.391 3.398.197.594.383 1.686 1.077 1.865.299.077.62-.015.917-.052 2.183-.275 1.5-1.558 1.607-3.303.05-.821.295-2.215-.15-2.967-.796-1.348-2.323-1.36-4.115-2.092-1.594-.398-4.328-.75-6.644-.171-1.85.462-3.787 1.432-4.948 3.037-2.167 2.996-1.276 7.802 1.363 10.191 2.946 2.668 7.76 2.97 10.153 6.317 2.246 3.14-2.486 5.148-4.93 4.933-5.303-.047-3.14-4.191-4.87-5.48M69.501 9.017l2.79 1.228-6.112 16.509c-1.73-6.733-3.409-12.76-4.916-16.645.763-.164 2.385-.561 2.71-1.379.31-.777-.152-1.78-.185-2.578-1.213.102-10.556-.31-10.951.317-.136.714-.511 1.768-.264 2.358.537 1.168 2.501.48 3.156 1.892 3.442 7.402 5.118 14.56 8.09 21.355 4.96 7.37 8.38-12.623 9.603-16.235.543-1.613.958-4.097 2.019-5.426 2.014-2.379 3.85-.734 2.906-3.831-.696-.811-8.386-.374-8.556-.21-.459.588-1 1.064-.29 2.645M80.132 6.152c-.133.66-.653 2.2-.18 2.777.652.799 2.702.514 2.851 1.731.478 3.898-.053 7.953.114 11.864.117 2.75.464 5.712 2.276 7.908 4.83 5.85 15.167 3.5 17.052-3.815 1.214-4.715.4-11.024.41-15.866.004-2.154 2.064-.485 2.985-1.822.444-.644-.16-2.072-.262-2.777-2.718-.035-5.428-.035-8.14.14l-.497 1.634c.113 1.896 1.512 1.37 3.177 1.604.043 1.254.012 6.675.012 9.72 0 2.647.063 5.503-1.181 7.913-2.068 4.005-8.193 4.012-9.95-.273-1.413-3.448-.816-7.672-.828-11.324-.005-1.499-.332-3.457.043-4.906.338-1.309 2.209-.877 2.931-1.731.437-.517-.069-2.144-.183-2.777zM127.818 32.925c-.679-4.31.658-7.155-.196-8.136-.421-.431-2.323-.529-2.71-.039-1.014 1.285-.798 3.762-1.958 4.923-.416.417-1.365.2-1.896.23-1.741.102-3.441-.012-5.182-.012l-.133-9.277c.96.125 2.881-.272 3.683.173.886.492.476 2.324 1.403 2.802.685-.01 1.735.065 2.325-.192.692-1.059.497-8.27-.002-8.546-.733-.033-1.767-.39-2.332-.158-.876.392-.664 2.078-1.41 2.7-.694.582-2.845.284-3.667.083l.002-2.728.13-5.73h4.784c.558 0 1.464-.174 1.957.14 1.26.801.695 3.447 1.82 4.22.62.427 1.889-.277 2.601-.268-.23-1.368.688-6.107-.08-6.817-1.139-.024-16.47.013-18.903.078-.373.446-.561 2.128-.203 2.593.642.835 2.147.596 2.721 1.358.6 3.898 1.049 13.15.08 18.054-.291 1.062-2.151.814-2.745 1.614-.212.714-.099 1.82.204 2.463.685 1.025 14.62.433 19.707.472M154.942 10.245c0 5.923.508 12.11-.008 18.007-.107 1.218-1.978 1.03-2.74 1.65-.558.453-.26 1.97-.023 2.561 2.088.638 11.468 1.266 11.878-.662.076-.417.314-1.307.056-1.677-.767-1.097-3.844-.326-4.094-1.876-.009-7.56-.047-7.539-.02-19.23 2.151 0 4.55-.408 6.242 1.24 2.427 2.36 1.587 7.287-1.193 8.953-1.019.611-2.45.448-3.587.448v3.138c3.081 0 6.756-.03 9.168-2.332 3.776-3.607 2.622-11.45-2.126-13.607-.624-1.135-12.871-2.346-16.036-.605-.358.188-.487.817-.42 1.14-.444 2.346 1.134 2.54 2.903 2.852" }, null, -1)
701
267
  ]));
702
268
  }
703
- const fe = { render: bl }, yl = {
269
+ const Gt = { render: qt }, Kt = {
704
270
  width: "40",
705
271
  height: "40",
706
272
  fill: "currentColor",
707
273
  viewBox: "0 0 40 40"
708
274
  };
709
- function xl(e, t) {
710
- return o(), c("svg", yl, t[0] || (t[0] = [
275
+ function Zt(t, e) {
276
+ return s(), v("svg", Kt, e[0] || (e[0] = [
711
277
  l("path", { d: "M24.264 11.217c0 5.347-1.898 11.74-5.138 15.962-1.05 1.368-4.049 4.478-5.816 2.415-1.26-1.471-.47-5.037-.116-6.673 1.218-5.628 2.62-10.76 4.028-16.343-3.656 1.984-9.07-3.295-9.35-.302-1.637 9.446-3.83 27.866 2.174 29.46 10.87 1.45 15.99-11.283 17.198-20.29.29-2.16.548-4.363.32-6.548-.312-2.973-3.296-4.46-5.819-2.946-1.518.911-1.614 4.085-.257 5.187.726.59 1.983.421 2.776.078" }, null, -1)
712
278
  ]));
713
279
  }
714
- const Be = { render: xl }, kl = {
280
+ const Jt = { render: Zt }, Qt = {
715
281
  width: "24",
716
282
  height: "24",
717
283
  fill: "none",
718
284
  viewBox: "0 0 24 24"
719
285
  };
720
- function _l(e, t) {
721
- return o(), c("svg", kl, t[0] || (t[0] = [
286
+ function Xt(t, e) {
287
+ return s(), v("svg", Qt, e[0] || (e[0] = [
722
288
  l("path", {
723
289
  stroke: "currentColor",
724
290
  "stroke-linecap": "round",
@@ -734,10 +300,10 @@ function _l(e, t) {
734
300
  }, null, -1)
735
301
  ]));
736
302
  }
737
- const re = { render: _l };
738
- function $l(e, t) {
739
- return o(), c(H, null, [
740
- t[0] || (t[0] = l("svg", {
303
+ const Yt = { render: Xt };
304
+ function el(t, e) {
305
+ return s(), v(D, null, [
306
+ e[0] || (e[0] = l("svg", {
741
307
  width: "20",
742
308
  height: "20",
743
309
  fill: "currentColor",
@@ -746,7 +312,7 @@ function $l(e, t) {
746
312
  }, [
747
313
  l("path", { d: "M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.98 6.98 0 0 0 10 7m-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 8 8 0 0 0 4 12" })
748
314
  ], -1)),
749
- t[1] || (t[1] = l("svg", {
315
+ e[1] || (e[1] = l("svg", {
750
316
  width: "20",
751
317
  height: "20",
752
318
  fill: "currentColor",
@@ -757,25 +323,25 @@ function $l(e, t) {
757
323
  ], -1))
758
324
  ], 64);
759
325
  }
760
- const Me = { render: $l }, wl = {
326
+ const tl = { render: el }, ll = {
761
327
  width: "24",
762
328
  height: "24",
763
329
  fill: "currentColor",
764
330
  viewBox: "0 0 24 24"
765
331
  };
766
- function Cl(e, t) {
767
- return o(), c("svg", wl, t[0] || (t[0] = [
332
+ function al(t, e) {
333
+ return s(), v("svg", ll, e[0] || (e[0] = [
768
334
  l("path", { d: "M12 10h7L8 22l3-9H5l8-11Z" }, null, -1)
769
335
  ]));
770
336
  }
771
- const zl = { render: Cl }, Vl = {
337
+ const sl = { render: al }, ol = {
772
338
  width: "24",
773
339
  height: "24",
774
340
  fill: "none",
775
341
  viewBox: "0 0 24 24"
776
342
  };
777
- function Bl(e, t) {
778
- return o(), c("svg", Vl, t[0] || (t[0] = [
343
+ function nl(t, e) {
344
+ return s(), v("svg", ol, e[0] || (e[0] = [
779
345
  l("path", {
780
346
  stroke: "currentColor",
781
347
  "stroke-linecap": "round",
@@ -785,58 +351,58 @@ function Bl(e, t) {
785
351
  }, null, -1)
786
352
  ]));
787
353
  }
788
- const Ml = { render: Bl }, Il = {
354
+ const rl = { render: nl }, il = {
789
355
  width: "22",
790
356
  height: "22",
791
357
  fill: "currentColor",
792
358
  viewBox: "0 0 24 24"
793
359
  };
794
- function Al(e, t) {
795
- return o(), c("svg", Il, t[0] || (t[0] = [
360
+ function dl(t, e) {
361
+ return s(), v("svg", il, e[0] || (e[0] = [
796
362
  l("path", { d: "M5 22a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3h-2V4H6v16h12v-2h2v3a1 1 0 0 1-1 1zm13-6v-3h-7v-2h7V8l5 4z" }, null, -1)
797
363
  ]));
798
364
  }
799
- const Ie = { render: Al }, Sl = {
365
+ const cl = { render: dl }, ul = {
800
366
  width: "24",
801
367
  height: "24",
802
368
  fill: "currentColor",
803
369
  viewBox: "0 0 24 24"
804
370
  };
805
- function Tl(e, t) {
806
- return o(), c("svg", Sl, t[0] || (t[0] = [
371
+ function vl(t, e) {
372
+ return s(), v("svg", ul, e[0] || (e[0] = [
807
373
  l("path", { d: "M22 20H2v-2h1v-6.969C3 6.043 7.03 2 12 2s9 4.043 9 9.031V18h1zM5 18h14v-6.969C19 7.148 15.866 4 12 4s-7 3.148-7 7.031zm4.5 3h5a2.5 2.5 0 0 1-5 0" }, null, -1)
808
374
  ]));
809
375
  }
810
- const he = { render: Tl }, Hl = {
376
+ const fl = { render: vl }, hl = {
811
377
  width: "24",
812
378
  height: "24",
813
379
  fill: "currentColor",
814
380
  viewBox: "0 0 24 24"
815
381
  };
816
- function Dl(e, t) {
817
- return o(), c("svg", Hl, t[0] || (t[0] = [
382
+ function pl(t, e) {
383
+ return s(), v("svg", hl, e[0] || (e[0] = [
818
384
  l("path", { d: "M7 19v-6h10v6h2V7.828L16.172 5H5v14zM4 3h13l4 4v13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m5 12v4h6v-4z" }, null, -1)
819
385
  ]));
820
386
  }
821
- const ie = { render: Dl }, Ll = {
387
+ const gl = { render: pl }, ml = {
822
388
  width: "24",
823
389
  height: "24",
824
390
  fill: "currentColor",
825
391
  viewBox: "0 0 30 30"
826
392
  };
827
- function jl(e, t) {
828
- return o(), c("svg", Ll, t[0] || (t[0] = [
393
+ function bl(t, e) {
394
+ return s(), v("svg", ml, e[0] || (e[0] = [
829
395
  l("path", { d: "M13 3C7.489 3 3 7.489 3 13s4.489 10 10 10a9.95 9.95 0 0 0 6.322-2.264l5.971 5.971a1 1 0 1 0 1.414-1.414l-5.97-5.97A9.95 9.95 0 0 0 23 13c0-5.511-4.489-10-10-10m0 2c4.43 0 8 3.57 8 8s-3.57 8-8 8-8-3.57-8-8 3.57-8 8-8" }, null, -1)
830
396
  ]));
831
397
  }
832
- const Nl = { render: jl }, Ol = {
398
+ const yl = { render: bl }, xl = {
833
399
  width: "24",
834
400
  height: "24",
835
401
  fill: "none",
836
402
  viewBox: "0 0 24 24"
837
403
  };
838
- function Fl(e, t) {
839
- return o(), c("svg", Ol, t[0] || (t[0] = [
404
+ function kl(t, e) {
405
+ return s(), v("svg", xl, e[0] || (e[0] = [
840
406
  l("path", {
841
407
  stroke: "currentColor",
842
408
  "stroke-linecap": "round",
@@ -846,14 +412,14 @@ function Fl(e, t) {
846
412
  }, null, -1)
847
413
  ]));
848
414
  }
849
- const Pl = { render: Fl }, El = {
415
+ const _l = { render: kl }, $l = {
850
416
  width: "24",
851
417
  height: "24",
852
418
  fill: "currentColor",
853
419
  viewBox: "0 0 24 24"
854
420
  };
855
- function Rl(e, t) {
856
- return o(), c("svg", El, t[0] || (t[0] = [
421
+ function wl(t, e) {
422
+ return s(), v("svg", $l, e[0] || (e[0] = [
857
423
  l("path", {
858
424
  "fill-rule": "evenodd",
859
425
  d: "M11.943 1.25h.114c2.309 0 4.118 0 5.53.19 1.444.194 2.584.6 3.479 1.494.895.895 1.3 2.035 1.494 3.48.19 1.411.19 3.22.19 5.529v.114c0 2.309 0 4.118-.19 5.53-.194 1.444-.6 2.584-1.494 3.479-.895.895-2.035 1.3-3.48 1.494-1.411.19-3.22.19-5.529.19h-.114c-2.309 0-4.118 0-5.53-.19-1.444-.194-2.584-.6-3.479-1.494-.895-.895-1.3-2.035-1.494-3.48-.19-1.411-.19-3.22-.19-5.529v-.114c0-2.309 0-4.118.19-5.53.194-1.444.6-2.584 1.494-3.479.895-.895 2.035-1.3 3.48-1.494 1.411-.19 3.22-.19 5.529-.19m-5.33 1.676c-1.278.172-2.049.5-2.618 1.069-.57.57-.897 1.34-1.069 2.619-.174 1.3-.176 3.008-.176 5.386s.002 4.086.176 5.386c.172 1.279.5 2.05 1.069 2.62.57.569 1.34.896 2.619 1.068 1.3.174 3.008.176 5.386.176s4.086-.002 5.386-.176c1.279-.172 2.05-.5 2.62-1.069.569-.57.896-1.34 1.068-2.619.174-1.3.176-3.008.176-5.386s-.002-4.086-.176-5.386c-.172-1.279-.5-2.05-1.069-2.62-.57-.569-1.34-.896-2.619-1.068-1.3-.174-3.008-.176-5.386-.176s-4.086.002-5.386.176m4.637 3.877a5.251 5.251 0 0 0 0 10.394V16.5a.75.75 0 0 1 1.5 0v.697a5.251 5.251 0 0 0 0-10.394V7.5a.75.75 0 0 1-1.5 0zM5.25 12a6.75 6.75 0 1 1 13.5 0 6.75 6.75 0 0 1-13.5 0",
@@ -862,25 +428,25 @@ function Rl(e, t) {
862
428
  l("path", { d: "M15 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0M11 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0" }, null, -1)
863
429
  ]));
864
430
  }
865
- const Ul = { render: Rl }, Gl = {
431
+ const Cl = { render: wl }, zl = {
866
432
  width: "24",
867
433
  height: "24",
868
434
  fill: "currentColor",
869
435
  viewBox: "0 0 24 24"
870
436
  };
871
- function Wl(e, t) {
872
- return o(), c("svg", Gl, t[0] || (t[0] = [
437
+ function Vl(t, e) {
438
+ return s(), v("svg", zl, e[0] || (e[0] = [
873
439
  l("path", { d: "M5 12.5c0 .313.461.858 1.53 1.393C7.914 14.585 9.877 15 12 15s4.086-.415 5.47-1.107c1.069-.535 1.53-1.08 1.53-1.393v-2.171C17.35 11.349 14.827 12 12 12s-5.35-.652-7-1.671zm14 2.829C17.35 16.349 14.827 17 12 17s-5.35-.652-7-1.671V17.5c0 .313.461.858 1.53 1.393C7.914 19.585 9.877 20 12 20s4.086-.415 5.47-1.107c1.069-.535 1.53-1.08 1.53-1.393zM3 17.5v-10C3 5.015 7.03 3 12 3s9 2.015 9 4.5v10c0 2.485-4.03 4.5-9 4.5s-9-2.015-9-4.5m9-7.5c2.123 0 4.086-.415 5.47-1.107C18.539 8.358 19 7.813 19 7.5s-.461-.858-1.53-1.393C16.086 5.415 14.123 5 12 5s-4.086.415-5.47 1.107C5.461 6.642 5 7.187 5 7.5s.461.858 1.53 1.393C7.914 9.585 9.877 10 12 10" }, null, -1)
874
440
  ]));
875
441
  }
876
- const ql = { render: Wl }, Kl = {
442
+ const Bl = { render: Vl }, Ml = {
877
443
  width: "24",
878
444
  height: "24",
879
445
  fill: "currentColor",
880
446
  viewBox: "0 0 24 24"
881
447
  };
882
- function Zl(e, t) {
883
- return o(), c("svg", Kl, t[0] || (t[0] = [
448
+ function Il(t, e) {
449
+ return s(), v("svg", Ml, e[0] || (e[0] = [
884
450
  l("path", { d: "M12 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2" }, null, -1),
885
451
  l("path", {
886
452
  "fill-rule": "evenodd",
@@ -889,14 +455,14 @@ function Zl(e, t) {
889
455
  }, null, -1)
890
456
  ]));
891
457
  }
892
- const be = { render: Zl }, Jl = {
458
+ const ue = { render: Il }, Al = {
893
459
  width: "24",
894
460
  height: "24",
895
461
  fill: "none",
896
462
  viewBox: "0 0 24 24"
897
463
  };
898
- function Ql(e, t) {
899
- return o(), c("svg", Jl, t[0] || (t[0] = [
464
+ function Sl(t, e) {
465
+ return s(), v("svg", Al, e[0] || (e[0] = [
900
466
  l("path", {
901
467
  stroke: "currentColor",
902
468
  "stroke-linecap": "round",
@@ -906,14 +472,14 @@ function Ql(e, t) {
906
472
  }, null, -1)
907
473
  ]));
908
474
  }
909
- const Xl = { render: Ql }, Yl = {
475
+ const Tl = { render: Sl }, Dl = {
910
476
  width: "24",
911
477
  height: "24",
912
478
  fill: "currentColor",
913
479
  viewBox: "0 0 24 24"
914
480
  };
915
- function es(e, t) {
916
- return o(), c("svg", Yl, t[0] || (t[0] = [
481
+ function Hl(t, e) {
482
+ return s(), v("svg", Dl, e[0] || (e[0] = [
917
483
  l("path", {
918
484
  "fill-rule": "evenodd",
919
485
  d: "M12 3.482a8.519 8.519 0 1 0 0 17.037 8.519 8.519 0 0 0 0-17.037M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12",
@@ -922,488 +488,792 @@ function es(e, t) {
922
488
  l("path", { d: "M12 11.3a.7.7 0 1 0 0 1.4.7.7 0 0 0 0-1.4m.35-6.3c3.15 0 3.22 2.499 1.561 3.325a2.35 2.35 0 0 0-1.134 1.729c.335.139.63.358.861.637C16.2 9.291 19 9.844 19 12.35c0 3.15-2.506 3.22-3.325 1.561a2.4 2.4 0 0 0-1.75-1.134c-.14.334-.359.629-.637.861 1.4 2.583.84 5.362-1.666 5.362-3.122 0-3.199-2.506-1.54-3.332a2.42 2.42 0 0 0 1.134-1.715 2.1 2.1 0 0 1-.875-.644C7.758 14.695 5 14.149 5 11.65c0-3.15 2.478-3.227 3.304-1.568a2.37 2.37 0 0 0 1.736 1.127c.135-.337.357-.632.644-.854C9.291 7.8 9.844 5 12.336 5z" }, null, -1)
923
489
  ]));
924
490
  }
925
- const ts = { render: es }, ls = {
491
+ const Ll = { render: Hl }, jl = {
926
492
  width: "24",
927
493
  height: "24",
928
494
  fill: "currentColor",
929
495
  viewBox: "0 0 24 24"
930
496
  };
931
- function ss(e, t) {
932
- return o(), c("svg", ls, t[0] || (t[0] = [
497
+ function Nl(t, e) {
498
+ return s(), v("svg", jl, e[0] || (e[0] = [
933
499
  l("path", { d: "M16 4a1 1 0 0 1 1 1v4.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1zm-1 2H3v12h12zM7.4 8.829a.4.4 0 0 1 .215.062l4.355 2.771a.4.4 0 0 1 0 .675L7.615 15.11A.4.4 0 0 1 7 14.77V9.23c0-.221.18-.4.4-.4M21 8.84l-4 2.8v.718l4 2.8z" }, null, -1)
934
500
  ]));
935
501
  }
936
- const as = { render: ss }, os = {
502
+ const Ol = { render: Nl }, Pl = {
937
503
  width: "24",
938
504
  height: "24",
939
505
  fill: "currentColor",
940
506
  viewBox: "0 0 24 24"
941
507
  };
942
- function ns(e, t) {
943
- return o(), c("svg", os, t[0] || (t[0] = [
508
+ function El(t, e) {
509
+ return s(), v("svg", Pl, e[0] || (e[0] = [
944
510
  l("path", { d: "M12 2C6.489 2 2 6.489 2 12s4.489 10 10 10 10-4.489 10-10S17.511 2 12 2m0 2c4.43 0 8 3.57 8 8s-3.57 8-8 8-8-3.57-8-8 3.57-8 8-8m-1 3v2h2V7zm0 4v6h2v-6z" }, null, -1)
945
511
  ]));
946
512
  }
947
- const rs = { render: ns }, is = {
513
+ const Fl = { render: El }, Rl = {
948
514
  width: "24",
949
515
  height: "24",
950
516
  fill: "currentColor",
951
517
  "fill-rule": "evenodd",
952
518
  viewBox: "0 0 24 24"
953
519
  };
954
- function ds(e, t) {
955
- return o(), c("svg", is, t[0] || (t[0] = [
520
+ function Ul(t, e) {
521
+ return s(), v("svg", Rl, e[0] || (e[0] = [
956
522
  l("path", { d: "M11 2v9H2v2h9v9h2v-9h9v-2h-9V2Z" }, null, -1)
957
523
  ]));
958
524
  }
959
- const se = { render: ds }, Z = /* @__PURE__ */ B({
960
- __name: "VIcons",
525
+ const Wl = { render: Ul }, B = /* @__PURE__ */ V({
526
+ __name: "VIcon",
961
527
  props: {
962
528
  name: {}
963
529
  },
964
- setup(e) {
965
- const t = {
966
- IconDots: Ce,
967
- IconAir: $t,
968
- IconBulb: zt,
969
- IconCold: Ht,
970
- IconCamera: Mt,
971
- IconVent: ts,
972
- IconGarage: Pl,
973
- IconVideo: as,
974
- IconLight: zl,
975
- IconTv: Xl,
976
- IconTherm: be,
977
- IconStore: ql,
978
- IconSocket: Ul,
979
- IconSearch: Nl,
980
- IconSave: ie,
981
- IconNoti: he,
982
- IconLogout: Ie,
983
- IconLock: Ml,
984
- IconFolder: ze,
985
- IconChevron: K,
986
- IconClose: G,
987
- IconDashboard: Pt,
988
- IconDevice: Ut,
989
- IconDrop: qt,
990
- IconBurger: Ve,
991
- IconEyeClose: Xt,
992
- IconEyeOpen: tl,
993
- IconFile: al,
994
- IconGpio: rl,
995
- IconUpdate: cl,
996
- IconHeater: fl,
997
- IconSetting: gl,
998
- IconLogo: fe,
999
- IconLogoMini: Be,
1000
- IconPower: re,
1001
- IconTheme: Me,
1002
- IconInfo: rs,
1003
- IconPlus: se
1004
- }, d = M(() => e.name ? t[`Icon${e.name}`] : be);
1005
- return (r, s) => (o(), A(q(d.value), { name: "Icon" }));
530
+ setup(t) {
531
+ const e = {
532
+ IconDots: Ye,
533
+ IconAir: Ue,
534
+ IconBulb: Ge,
535
+ IconCold: lt,
536
+ IconCamera: Je,
537
+ IconVent: Ll,
538
+ IconGarage: _l,
539
+ IconVideo: Ol,
540
+ IconLight: sl,
541
+ IconTv: Tl,
542
+ IconTherm: ue,
543
+ IconStore: Bl,
544
+ IconSocket: Cl,
545
+ IconSearch: yl,
546
+ IconSave: gl,
547
+ IconNoti: fl,
548
+ IconLogout: cl,
549
+ IconLock: rl,
550
+ IconFolder: ot,
551
+ IconChevron: it,
552
+ IconClose: ut,
553
+ IconDashboard: ht,
554
+ IconDevice: mt,
555
+ IconDrop: xt,
556
+ IconBurger: $t,
557
+ IconEyeClose: zt,
558
+ IconEyeOpen: Mt,
559
+ IconFile: St,
560
+ IconGpio: Ht,
561
+ IconUpdate: Nt,
562
+ IconHeater: Et,
563
+ IconSetting: Ut,
564
+ IconLogo: Gt,
565
+ IconLogoMini: Jt,
566
+ IconPower: Yt,
567
+ IconTheme: tl,
568
+ IconInfo: Fl,
569
+ IconPlus: Wl
570
+ }, n = M(() => t.name ? e[`Icon${t.name}`] : ue);
571
+ return (d, a) => (s(), A(G(n.value), { name: "Icon" }));
1006
572
  }
1007
- }), cs = { class: "relative flex items-end gap-0.5 w-10" }, us = ["title"], vs = { class: "absolute -top-1 -left-1 text-xs text-gray-600 dark:text-gray-300" }, fs = /* @__PURE__ */ B({
1008
- __name: "VWifiIcon",
573
+ }), ql = { class: "no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear h-full" }, Gl = /* @__PURE__ */ V({
574
+ __name: "AppAside",
1009
575
  props: {
1010
- rssi: { default: 0 },
1011
- channel: { default: 0 }
576
+ isSidebar: { type: Boolean, default: !1 }
1012
577
  },
1013
- setup(e) {
1014
- const t = 2 * (e.rssi + 100), d = (r) => r < t;
1015
- return (r, s) => (o(), c("div", cs, [
1016
- (o(), c(H, null, N([10, 15, 25, 40, 70], (n, v) => l("div", {
1017
- key: n,
1018
- class: V(["w-1 h-5 rounded-lg", [d(n) ? "bg-gray-900 dark:bg-gray-100" : "bg-gray-300 dark:bg-gray-700"]]),
1019
- style: J(`height: ${(v + 1) * 5}px`),
1020
- title: `rssi: ${r.rssi} channel: ${r.channel}`
1021
- }, null, 14, us)), 64)),
1022
- l("div", vs, _(r.channel), 1)
1023
- ]));
578
+ emits: ["sidebar"],
579
+ setup(t, { emit: e }) {
580
+ const n = e, d = () => {
581
+ t.isSidebar && n("sidebar", !t.isSidebar);
582
+ };
583
+ return (a, u) => {
584
+ const i = ae("router-link");
585
+ return s(), v(D, null, [
586
+ a.isSidebar ? (s(), v("div", {
587
+ key: 0,
588
+ class: "lg:hidden overlay fixed left-0 top-0 h-full w-full bg-black/40 z-10 bg-blur",
589
+ onClick: d
590
+ })) : I("", !0),
591
+ l("aside", {
592
+ class: z([a.isSidebar ? "translate-x-0 lg:w-[90px]" : "-translate-x-full", "overflow-x-hidden fixed top-0 left-0 z-10 flex lg:static h-full w-[290px] flex-col overflow-y-auto border-r border-gray-200 px-5 transition-all duration-350 lg:translate-x-0 dark:border-gray-800 bg-white dark:bg-gray-900"])
593
+ }, [
594
+ l("div", {
595
+ class: z([a.isSidebar ? "justify-center" : "justify-between", "sidebar-header flex items-center gap-2 pt-6 pb-6 justify-between"])
596
+ }, [
597
+ p(i, { to: "/" }, {
598
+ default: m(() => [
599
+ a.isSidebar ? (s(), A(B, {
600
+ key: 0,
601
+ name: "LogoMini",
602
+ class: "h-[30px] text-primary"
603
+ })) : (s(), A(B, {
604
+ key: 1,
605
+ name: "Logo",
606
+ class: "h-[30px] text-primary"
607
+ }))
608
+ ]),
609
+ _: 1
610
+ })
611
+ ], 2),
612
+ l("div", ql, [
613
+ C(a.$slots, "default")
614
+ ])
615
+ ], 2)
616
+ ], 64);
617
+ };
1024
618
  }
1025
- }), hs = ["onClick"], ps = {
1026
- key: 0,
1027
- class: "me-1"
1028
- }, gs = { class: "flex items-center z-10" }, ms = ["onClick"], bs = {
1029
- key: 0,
1030
- class: "flex ps-5"
1031
- }, ys = { class: "font-medium me-4" }, xs = ["onClick"], Ae = /* @__PURE__ */ B({
1032
- __name: "VListObject",
619
+ }), ge = (t, e) => {
620
+ const n = t.__vccOpts || t;
621
+ for (const [d, a] of e)
622
+ n[d] = a;
623
+ return n;
624
+ }, Kl = {}, Zl = {
625
+ class: "animate-spin h-6 w-6",
626
+ fill: "none",
627
+ viewBox: "0 0 24 24"
628
+ };
629
+ function Jl(t, e) {
630
+ return s(), v("svg", Zl, e[0] || (e[0] = [
631
+ l("circle", {
632
+ class: "opacity-25",
633
+ cx: "12",
634
+ cy: "12",
635
+ r: "10",
636
+ stroke: "currentColor",
637
+ "stroke-width": "2"
638
+ }, null, -1),
639
+ l("path", {
640
+ class: "opacity-75",
641
+ fill: "currentColor",
642
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
643
+ }, null, -1)
644
+ ]));
645
+ }
646
+ const me = /* @__PURE__ */ ge(Kl, [["render", Jl]]), Ql = "relative flex justify-center items-center transition not-disabled:cursor-pointer not-disabled:hover:opacity-90 disabled:opacity-40 rounded", j = /* @__PURE__ */ V({
647
+ __name: "VButton",
1033
648
  props: {
1034
- items: { default: () => ({}) },
1035
- path: { default: "" },
1036
- onlyValue: { type: Boolean, default: !1 }
649
+ block: { type: Boolean },
650
+ outline: { type: Boolean, default: !1 },
651
+ color: { default: "gray" },
652
+ size: { default: "normal" },
653
+ type: { default: "button" },
654
+ href: { default: "" },
655
+ to: { default: "" },
656
+ loading: { type: Boolean, default: !1 },
657
+ disabled: { type: [Number, Boolean], default: !1 }
1037
658
  },
1038
659
  emits: ["click"],
1039
- setup(e, { emit: t }) {
1040
- const d = t, r = () => "before:absolute before:w-full before:h-8 before:t-0 before:left-0 before:border-b before:border-gray-200 dark:before:border-gray-800/50 hover:before:bg-gray-400/10", s = L({}), n = (a) => {
1041
- s.value[a] = !s.value[a];
1042
- }, v = (a) => typeof a == "object", u = (a) => `${e.path ? e.path + "." : ""}${a}`, f = (a, i) => {
1043
- d("click", { key: a, path: u(a), isObject: i });
1044
- };
1045
- return (a, i) => (o(), c("ul", null, [
1046
- (o(!0), c(H, null, N(a.items, (h, b) => (o(), c("li", {
1047
- key: b,
1048
- class: V(v(h) ? "" : `flex items-center ${r()}`)
1049
- }, [
1050
- l("div", {
1051
- class: V(["flex items-center cursor-pointer ps-2 h-8", v(h) ? `${r()}` : ""]),
1052
- onClick: ($) => n(b)
660
+ setup(t, { emit: e }) {
661
+ const n = e, d = (g) => n("click", g), a = t.outline ? "border border-green-600 text-green-600" : "bg-green-600 dark:bg-green-800", u = t.outline ? "border border-red-600 text-red-600" : "bg-red-600 dark:bg-red-800", i = t.outline ? "border border-gray-600 text-gray-600" : "bg-gray-500 dark:bg-gray-800", f = t.outline ? "border border-blue-600 text-blue-600" : "bg-blue-700 dark:bg-blue-800", c = { green: a, red: u, gray: i, blue: f }, o = {
662
+ button: "px-4",
663
+ icon: "rounded-full border border-gray-200 dark:border-gray-800"
664
+ }, r = {
665
+ button: { normal: "h-10", small: "h-8" },
666
+ icon: { normal: "size-10", small: "size-8" }
667
+ }, h = M(() => [Ql, w(t.color), b(t.type), $(t.type, t.size), { "w-full": t.block }]), y = M(() => t.href || t.to ? "router-link" : "button"), $ = (g, F) => {
668
+ var J;
669
+ return ((J = r[g]) == null ? void 0 : J[F]) || "";
670
+ }, b = (g) => (o == null ? void 0 : o[g]) || "", w = (g) => t.type === "icon" ? "" : `${t.outline ? "dark:text-white" : "text-white"} ${(c == null ? void 0 : c[g]) || ""}`;
671
+ return (g, F) => (s(), A(G(y.value), H(g.$attrs, {
672
+ href: g.href,
673
+ to: g.to,
674
+ class: h.value,
675
+ disabled: !!g.disabled,
676
+ onClick: d
677
+ }), {
678
+ default: m(() => [
679
+ l("span", {
680
+ class: z(g.loading ? "opacity-0" : "")
1053
681
  }, [
1054
- v(h) ? (o(), c("div", ps, [
1055
- p(z(ze), { class: "size-5" })
1056
- ])) : I("", !0),
1057
- l("div", null, _(b), 1),
1058
- !a.onlyValue && v(h) ? (o(), c(H, { key: 1 }, [
1059
- i[1] || (i[1] = l("div", { class: "flex-auto" }, null, -1)),
1060
- l("div", gs, [
1061
- l("button", {
1062
- class: "px-2 cursor-pointer text-gray-400 hover:text-gray-200",
1063
- onClick: F(($) => f(b, v(h)), ["stop"])
682
+ C(g.$slots, "default")
683
+ ], 2),
684
+ g.loading ? (s(), A(me, {
685
+ key: 0,
686
+ class: "absolute left-1/2 -translate-x-1/2"
687
+ })) : I("", !0)
688
+ ]),
689
+ _: 3
690
+ }, 16, ["href", "to", "class", "disabled"]));
691
+ }
692
+ }), Xl = { class: "flex-auto flex align-center md:px-4 overflow-y-auto no-scrollbar" }, Yl = { class: "flex items-center justify-between px-4 py-2 rounded-md border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900 sticky top-0 z-30" }, ea = { class: "px-4 py-2 flex-auto scroll-none" }, ta = ["innerHTML"], la = {
693
+ key: 0,
694
+ class: "px-4 py-2 flex justify-end"
695
+ }, be = /* @__PURE__ */ V({
696
+ __name: "AppDialog",
697
+ props: {
698
+ value: { type: Boolean },
699
+ title: {},
700
+ message: { default: "" },
701
+ callback: { type: Function },
702
+ button: { default: "OK" },
703
+ size: { default: "sm" }
704
+ },
705
+ emits: ["close", "open"],
706
+ setup(t, { emit: e }) {
707
+ const n = e, d = L(!1), a = { sm: "max-w-[330px]", md: "max-w-[600px]", lg: "max-w-[960px]" }, u = M(() => a[t.size]), i = (o) => {
708
+ d.value = !1, setTimeout(() => {
709
+ n("close", o);
710
+ }, 300);
711
+ }, f = (o) => {
712
+ t.callback && t.callback(), i(o);
713
+ }, c = () => n("open", d.value);
714
+ return se(() => {
715
+ setTimeout(() => {
716
+ d.value = !0;
717
+ }, 300);
718
+ }), (o, r) => (s(), A($e, { to: "body" }, [
719
+ p(Q, {
720
+ "enter-active-class": "duration-300 ease-out",
721
+ "enter-from-class": "transform opacity-0 -translate-y-2",
722
+ "enter-to-class": "opacity-100 translate-y-0",
723
+ "leave-active-class": "duration-200 ease-in",
724
+ "leave-from-class": "opacity-100 translate-y-0",
725
+ "leave-to-class": "transform opacity-0 -translate-y-2",
726
+ onAfterEnter: c
727
+ }, {
728
+ default: m(() => [
729
+ d.value ? (s(), v("div", {
730
+ key: 0,
731
+ class: "z-20 fixed top-0 h-[100dvh] w-full left-0 flex flex-col",
732
+ onWheel: r[0] || (r[0] = P(() => {
733
+ }, ["stop"]))
734
+ }, [
735
+ l("div", {
736
+ class: "absolute h-full w-full top-0 left-0 bg-black/40 bg-blur",
737
+ onClick: i
738
+ }),
739
+ l("div", Xl, [
740
+ l("div", {
741
+ class: z(["m-auto w-full bg-gray-50 dark:bg-gray-900 shadow-lg flex flex-col rounded-sm z-30", u.value])
1064
742
  }, [
1065
- p(z(ie), { class: "size-5" })
1066
- ], 8, ms)
743
+ l("div", Yl, [
744
+ C(o.$slots, "header", {}, () => [
745
+ l("h4", null, _(o.title), 1)
746
+ ]),
747
+ p(j, {
748
+ type: "icon",
749
+ onClick: i
750
+ }, {
751
+ default: m(() => [
752
+ p(B, { name: "Close" })
753
+ ]),
754
+ _: 1
755
+ })
756
+ ]),
757
+ l("div", ea, [
758
+ C(o.$slots, "default", {}, () => [
759
+ l("div", { innerHTML: o.message }, null, 8, ta)
760
+ ])
761
+ ]),
762
+ o.$slots.footer || o.callback ? (s(), v("div", la, [
763
+ C(o.$slots, "footer", {}, () => [
764
+ p(j, {
765
+ color: "blue",
766
+ size: "small",
767
+ onClick: f
768
+ }, {
769
+ default: m(() => [
770
+ T(_(o.button), 1)
771
+ ]),
772
+ _: 1
773
+ })
774
+ ])
775
+ ])) : I("", !0)
776
+ ], 2)
777
+ ])
778
+ ], 32)) : I("", !0)
779
+ ]),
780
+ _: 3
781
+ })
782
+ ]));
783
+ }
784
+ }), aa = { class: "relative" }, sa = { class: "flex items-center cursor-pointer" }, X = /* @__PURE__ */ V({
785
+ __name: "VDropdown",
786
+ props: {
787
+ top: { default: "calc(100% + 5px)" },
788
+ left: { default: "0" },
789
+ right: { default: "" },
790
+ height: { default: "200px" },
791
+ hideOnClick: { type: Boolean, default: !0 }
792
+ },
793
+ emits: ["click", "show", "close"],
794
+ setup(t, { emit: e }) {
795
+ const n = e, d = L(!1), a = M(() => ({ top: t.top, left: t.left, right: t.right, "max-height": t.height })), u = (r) => {
796
+ d.value && c(r);
797
+ }, i = (r) => {
798
+ d.value ? t.hideOnClick && c(r) : f(r), n("click", d.value);
799
+ }, f = (r) => {
800
+ d.value = !0, n("show", r);
801
+ }, c = (r) => {
802
+ d.value = !1, n("close", r);
803
+ }, o = { click: i, open: f };
804
+ return (r, h) => {
805
+ const y = we("outside");
806
+ return oe((s(), v("div", aa, [
807
+ l("div", sa, [
808
+ C(r.$slots, "activator", {
809
+ on: o,
810
+ show: d.value
811
+ })
812
+ ]),
813
+ p(Q, {
814
+ "enter-active-class": "duration-300 ease-out",
815
+ "enter-from-class": "transform opacity-0 -translate-y-2",
816
+ "enter-to-class": "opacity-100 translate-y-0",
817
+ "leave-active-class": "duration-200 ease-in",
818
+ "leave-from-class": "opacity-100 translate-y-0",
819
+ "leave-to-class": "transform opacity-0 -translate-y-2"
820
+ }, {
821
+ default: m(() => [
822
+ d.value ? (s(), v("div", {
823
+ key: 0,
824
+ class: "z-10 min-w-full absolute overflow-auto shadow-lg scrollbar",
825
+ style: K(a.value),
826
+ onClick: i
827
+ }, [
828
+ C(r.$slots, "default", {
829
+ on: o,
830
+ show: f,
831
+ hide: c,
832
+ isShown: d.value
833
+ })
834
+ ], 4)) : I("", !0)
835
+ ]),
836
+ _: 3
837
+ })
838
+ ])), [
839
+ [y, u]
840
+ ]);
841
+ };
842
+ }
843
+ }), oa = ["onClick"], Y = /* @__PURE__ */ V({
844
+ __name: "VList",
845
+ props: {
846
+ list: {},
847
+ className: {}
848
+ },
849
+ emits: ["click"],
850
+ setup(t, { emit: e }) {
851
+ const n = t, d = e, a = (u, i) => d("click", u, i);
852
+ return (u, i) => (s(), v("ul", {
853
+ class: z(n.className ?? "bg-white dark:bg-gray-800")
854
+ }, [
855
+ (s(!0), v(D, null, N(n.list, (f) => (s(), v("li", {
856
+ key: `${f.value}_${f.name}`,
857
+ class: "whitespace-nowrap cursor-pointer flex items-center min-h-[40px] py-1 px-6 border-b last:border-b-0 dark:border-gray-700 border-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700/30",
858
+ onClick: (c) => a(f, c)
859
+ }, [
860
+ C(u.$slots, "default", { item: f }, () => [
861
+ T(_(f.name), 1)
862
+ ])
863
+ ], 8, oa))), 128))
864
+ ], 2));
865
+ }
866
+ }), na = { class: "bg-white dark:bg-gray-900 border-b border-gray-300 dark:border-gray-700 left-0 w-full z-10 sticky top-0" }, ra = { class: "px-4 py-4 sm:px-6 lg:px-8" }, ia = { class: "container mx-auto flex flex-auto items-center" }, da = { class: "lg:hidden h-[30px]" }, ca = { class: "gap-4 hidden lg:flex" }, ua = { class: "lg:hidden flex gap-4" }, va = { class: "ms-2" }, fa = /* @__PURE__ */ V({
867
+ __name: "AppHeader",
868
+ props: {
869
+ changeTheme: { type: Function },
870
+ notifications: {}
871
+ },
872
+ emits: ["sidebar", "notif"],
873
+ setup(t, { emit: e }) {
874
+ const n = e, d = [
875
+ { name: "Theme", value: 1 },
876
+ { name: "Notification", value: 2 },
877
+ { name: "Logout", value: 3 }
878
+ ], a = M(() => !!t.notifications.find((r) => r.isNew)), u = (r) => n("sidebar", r), i = (r) => n("notif", r), f = async () => await fetch("/", { headers: { Authorization: "Basic AAAAAAAAAAAAAAAAAAA=" } }), c = () => {
879
+ t.changeTheme && t.changeTheme();
880
+ }, o = ({ value: r }, h) => {
881
+ r == 1 && c(), r == 2 && i(h), r == 3 && f();
882
+ };
883
+ return (r, h) => {
884
+ const y = ae("router-link");
885
+ return s(), v("header", na, [
886
+ l("div", ra, [
887
+ l("div", ia, [
888
+ p(j, {
889
+ type: "icon",
890
+ color: "gray",
891
+ onClick: u
892
+ }, {
893
+ default: m(() => [
894
+ p(B, {
895
+ name: "Burger",
896
+ class: "size-5"
897
+ })
898
+ ]),
899
+ _: 1
900
+ }),
901
+ h[1] || (h[1] = l("div", { class: "lg:hidden flex-auto" }, null, -1)),
902
+ l("div", da, [
903
+ p(y, { to: "/" }, {
904
+ default: m(() => [
905
+ p(B, {
906
+ name: "Logo",
907
+ class: "h-[30px] text-primary"
908
+ })
909
+ ]),
910
+ _: 1
911
+ })
912
+ ]),
913
+ h[2] || (h[2] = l("div", { class: "flex-auto" }, null, -1)),
914
+ l("div", ca, [
915
+ p(j, {
916
+ type: "icon",
917
+ color: "gray",
918
+ onClick: c
919
+ }, {
920
+ default: m(() => [
921
+ p(B, { name: "Theme" })
922
+ ]),
923
+ _: 1
924
+ }),
925
+ p(j, {
926
+ type: "icon",
927
+ color: "gray",
928
+ onClick: i
929
+ }, {
930
+ default: m(() => [
931
+ l("span", {
932
+ class: z([a.value ? "flex" : "hidden", "absolute right-0 top-0.5 z-1 h-2 w-2 rounded-full bg-orange-400"])
933
+ }, h[0] || (h[0] = [
934
+ l("span", { class: "absolute -z-1 inline-flex h-full w-full animate-ping rounded-full bg-orange-400 opacity-75" }, null, -1)
935
+ ]), 2),
936
+ p(B, {
937
+ name: "Noti",
938
+ class: "size-5"
939
+ })
940
+ ]),
941
+ _: 1
942
+ }),
943
+ p(j, {
944
+ type: "icon",
945
+ color: "gray",
946
+ onClick: P(f, ["prevent"])
947
+ }, {
948
+ default: m(() => [
949
+ p(B, {
950
+ name: "Logout",
951
+ class: "size-5"
952
+ })
953
+ ]),
954
+ _: 1
955
+ })
956
+ ]),
957
+ l("div", ua, [
958
+ p(X, {
959
+ left: "unset",
960
+ right: "0",
961
+ top: "0"
962
+ }, {
963
+ activator: m(({ on: $ }) => [
964
+ p(j, {
965
+ type: "icon",
966
+ color: "gray",
967
+ class: "flex",
968
+ onClick: $.click
969
+ }, {
970
+ default: m(() => [
971
+ p(B, { name: "Dots" })
972
+ ]),
973
+ _: 2
974
+ }, 1032, ["onClick"])
975
+ ]),
976
+ default: m(() => [
977
+ p(Y, {
978
+ list: d,
979
+ onClick: o
980
+ }, {
981
+ default: m(({ item: $ }) => [
982
+ l("span", va, _($.name), 1)
983
+ ]),
984
+ _: 1
985
+ })
986
+ ]),
987
+ _: 1
988
+ })
1067
989
  ])
1068
- ], 64)) : I("", !0)
1069
- ], 10, hs),
1070
- v(h) ? (o(), c("div", bs, [
1071
- de(p(Ae, {
1072
- class: "flex-auto",
1073
- path: u(b),
1074
- items: h,
1075
- onlyValue: a.onlyValue,
1076
- onClick: i[0] || (i[0] = ($) => d("click", $))
1077
- }, null, 8, ["path", "items", "onlyValue"]), [
1078
- [Ne, s.value[b]]
1079
990
  ])
1080
- ])) : (o(), c(H, { key: 1 }, [
1081
- i[2] || (i[2] = l("div", { class: "flex-auto" }, null, -1)),
1082
- l("div", ys, _(h), 1),
1083
- l("button", {
1084
- class: "px-2 cursor-pointer z-10",
1085
- onClick: F(($) => f(b, v(h)), ["stop"])
1086
- }, [
1087
- p(z(ie), { class: "size-5" })
1088
- ], 8, xs)
1089
- ], 64))
1090
- ], 2))), 128))
1091
- ]));
991
+ ])
992
+ ]);
993
+ };
1092
994
  }
1093
- }), ks = ["onDragstart", "onDragenter"], _s = {
1094
- key: 0,
1095
- class: "absolute inset-0 border border-dashed border-blue-600 rounded-lg"
1096
- }, v1 = /* @__PURE__ */ B({
1097
- __name: "VDragDrop",
995
+ }), ha = { class: "relative flex items-center gap-2 w-full p-2 overflow-hidden" }, pa = { class: "flex-auto text-xs" }, ga = { class: "text-gray-500 dark:text-gray-400 mt-1" }, ma = /* @__PURE__ */ V({
996
+ __name: "CardNotification",
1098
997
  props: {
1099
- items: {},
1100
- itemKey: { default: "id" }
998
+ empty: {},
999
+ key: {},
1000
+ isNew: {},
1001
+ color: {},
1002
+ timeout: {},
1003
+ date: {},
1004
+ text: {}
1101
1005
  },
1102
- emits: ["update:items", "order-change"],
1103
- setup(e, { emit: t }) {
1104
- const d = t, r = L(null), s = L(0), n = L(-1), v = ({ id: h }) => ({
1105
- "opacity-30 scale-105 z-10": r.value === h,
1106
- "transition-transform duration-200": r.value !== h
1107
- }), u = (h, b, $) => {
1108
- r.value = b, s.value = $, h.dataTransfer.effectAllowed = "move";
1109
- }, f = (h) => {
1110
- r.value !== null && (n.value = h);
1111
- }, a = () => {
1112
- r.value = null, n.value = -1;
1113
- }, i = (h) => {
1114
- if (h.preventDefault(), r.value && n.value !== -1) {
1115
- const b = e.items.findIndex((y) => y[e.itemKey] === r.value), $ = n.value;
1116
- if (b !== $ && $ !== -1) {
1117
- const y = [...e.items], [w] = y.splice(b, 1);
1118
- y.splice($, 0, w), d("update:items", y), d("order-change", { fromIndex: b, toIndex: $, movedItem: w, newOrder: y });
1119
- }
1120
- }
1121
- n.value = -1;
1122
- };
1123
- return (h, b) => (o(), c("div", {
1124
- onDragover: b[1] || (b[1] = F(() => {
1125
- }, ["prevent"])),
1126
- onDrop: i
1127
- }, [
1128
- p(_e, {
1129
- "enter-active-class": "transition-all duration-300 ease",
1130
- "enter-from-class": "opacity-0 translate-x-8",
1131
- "enter-to-class": "opacity-100 translate-x-0",
1132
- "leave-active-class": "transition-all duration-300 ease absolute",
1133
- "leave-from-class": "opacity-100 translate-x-0",
1134
- "leave-to-class": "opacity-0 translate-x-8",
1135
- "move-class": "transition-all duration-300 ease"
1006
+ emits: ["remove", "read"],
1007
+ setup(t, { emit: e }) {
1008
+ const n = t, d = e, a = ["", "bg-green-500", "bg-red-500", "bg-yellow-500", "bg-blue-500"], u = (c) => a[c], i = (c) => d("remove", c), f = (c) => d("read", c);
1009
+ return (c, o) => (s(), v("div", ha, [
1010
+ l("div", {
1011
+ class: z(["absolute left-0 top-0 w-[3px] h-full", u(n.color)])
1012
+ }, null, 2),
1013
+ p(j, {
1014
+ class: "shrink-0",
1015
+ type: "icon",
1016
+ color: "gray",
1017
+ onClick: f
1136
1018
  }, {
1137
1019
  default: m(() => [
1138
- (o(!0), c(H, null, N(h.items, ($, y) => (o(), c("div", {
1139
- key: `${$.id}_drug`,
1140
- class: V(["relative group", v($)]),
1141
- draggable: "true",
1142
- onDragstart: (w) => u(w, $.id, y),
1143
- onDragenter: (w) => f(y),
1144
- onDragend: a,
1145
- onDragover: b[0] || (b[0] = F(() => {
1146
- }, ["prevent"]))
1147
- }, [
1148
- C(h.$slots, "default", {
1149
- item: $,
1150
- key: $.id,
1151
- index: y,
1152
- isDragging: r.value === $.id
1153
- }),
1154
- n.value === y && r.value !== $.id ? (o(), c("div", _s)) : I("", !0)
1155
- ], 42, ks))), 128))
1020
+ l("span", {
1021
+ class: z([n.isNew ? "flex" : "hidden", "absolute right-0 top-0.5 z-1 h-2 w-2 rounded-full bg-orange-400"])
1022
+ }, o[0] || (o[0] = [
1023
+ l("span", { class: "absolute -z-1 inline-flex h-full w-full animate-ping rounded-full bg-orange-400 opacity-75" }, null, -1)
1024
+ ]), 2),
1025
+ p(B, {
1026
+ name: "Noti",
1027
+ class: "size-5"
1028
+ })
1156
1029
  ]),
1157
- _: 3
1030
+ _: 1
1031
+ }),
1032
+ l("div", pa, [
1033
+ l("div", null, _(n.text), 1),
1034
+ l("div", ga, _(E(Le)(n.date)) + " (" + _(E(je)(n.date)) + ")", 1)
1035
+ ]),
1036
+ p(j, {
1037
+ class: "shrink-0",
1038
+ type: "icon",
1039
+ size: "small",
1040
+ onClick: i
1041
+ }, {
1042
+ default: m(() => [
1043
+ p(B, {
1044
+ name: "Close",
1045
+ class: "size-4"
1046
+ })
1047
+ ]),
1048
+ _: 1
1158
1049
  })
1159
- ], 32));
1160
- }
1161
- });
1162
- function $s(e) {
1163
- return Ee() ? (Re(e), !0) : !1;
1164
- }
1165
- const ws = typeof window < "u" && typeof document < "u", Cs = () => {
1166
- };
1167
- function ye(...e) {
1168
- if (e.length !== 1)
1169
- return Oe(...e);
1170
- const t = e[0];
1171
- return typeof t == "function" ? Fe(Pe(() => ({ get: t, set: Cs }))) : L(t);
1172
- }
1173
- const pe = ws ? window : void 0;
1174
- function xe(e) {
1175
- var t;
1176
- const d = ue(e);
1177
- return (t = d == null ? void 0 : d.$el) != null ? t : d;
1178
- }
1179
- // @__NO_SIDE_EFFECTS__
1180
- function zs(e) {
1181
- return M(() => !!e());
1182
- }
1183
- function Vs(e, t, d = {}) {
1184
- const { window: r = pe, ...s } = d;
1185
- let n;
1186
- const v = /* @__PURE__ */ zs(() => r && "ResizeObserver" in r), u = () => {
1187
- n && (n.disconnect(), n = void 0);
1188
- }, f = M(() => {
1189
- const h = ue(e);
1190
- return Array.isArray(h) ? h.map((b) => xe(b)) : [xe(h)];
1191
- }), a = U(
1192
- f,
1193
- (h) => {
1194
- if (u(), v.value && r) {
1195
- n = new ResizeObserver(t);
1196
- for (const b of h)
1197
- b && n.observe(b, s);
1198
- }
1199
- },
1200
- { immediate: !0, flush: "post" }
1201
- ), i = () => {
1202
- u(), a();
1203
- };
1204
- return $s(i), {
1205
- isSupported: v,
1206
- stop: i
1207
- };
1208
- }
1209
- function Bs(e = pe, t) {
1210
- e && typeof e.requestAnimationFrame == "function" ? e.requestAnimationFrame(t) : t();
1211
- }
1212
- function Ms(e = {}) {
1213
- var t, d;
1214
- const { window: r = pe } = e, s = ye(e == null ? void 0 : e.element), n = ye((t = e == null ? void 0 : e.input) != null ? t : ""), v = (d = e == null ? void 0 : e.styleProp) != null ? d : "height", u = me(1), f = me(0);
1215
- function a() {
1216
- var i;
1217
- if (!s.value)
1218
- return;
1219
- let h = "";
1220
- s.value.style[v] = "1px", u.value = (i = s.value) == null ? void 0 : i.scrollHeight;
1221
- const b = ue(e == null ? void 0 : e.styleTarget);
1222
- b ? b.style[v] = `${u.value}px` : h = `${u.value}px`, s.value.style[v] = h;
1050
+ ]));
1223
1051
  }
1224
- return U([n, s], () => Ue(a), { immediate: !0 }), U(u, () => {
1225
- var i;
1226
- return (i = e == null ? void 0 : e.onResize) == null ? void 0 : i.call(e);
1227
- }), Vs(s, ([{ contentRect: i }]) => {
1228
- f.value !== i.width && Bs(r, () => {
1229
- f.value = i.width, a();
1230
- });
1231
- }), e != null && e.watch && U(e.watch, a, { immediate: !0, deep: !0 }), {
1232
- textarea: s,
1233
- input: n,
1234
- triggerResize: a
1235
- };
1236
- }
1237
- const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wrap flex-auto px-2 py-1" }, Ss = ["disabled"], Se = /* @__PURE__ */ B({
1238
- __name: "VTextWrapper",
1052
+ }), ba = { class: "no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear h-full" }, ya = {
1053
+ key: 0,
1054
+ class: "flex flex-col gap-2 p-2"
1055
+ }, xa = /* @__PURE__ */ V({
1056
+ __name: "AppNotification",
1239
1057
  props: {
1240
- active: { type: Boolean },
1241
- label: { default: "label" },
1242
- disabled: { type: Boolean, default: !1 },
1243
- hideIcon: { type: Boolean, default: !1 }
1058
+ value: { type: Boolean },
1059
+ notifications: {}
1244
1060
  },
1245
- emits: ["icon"],
1246
- setup(e, { emit: t }) {
1247
- const d = t, r = M(() => e.active ? "top-0 left-3 text-xs" : "top-1/2"), s = M(() => [e.disabled ? "border-gray-400 opacity-40" : "border-gray-300 hover:border-gray-400 dark:border-gray-700/50 hover:dark:border-gray-600/50"]);
1248
- return (n, v) => (o(), c("div", Is, [
1249
- l("div", {
1250
- class: V(["relative w-full min-h-[40px] border border-gray-300 dark:border-gray-700 flex items-center rounded transition bg-white dark:bg-gray-800", s.value])
1061
+ emits: ["close", "remove", "read"],
1062
+ setup(t, { emit: e }) {
1063
+ const n = t, d = e, a = M(() => !!n.notifications.find((o) => o.isNew)), u = M(() => !!n.notifications.length), i = (o) => d("close", o), f = (o) => d("remove", o), c = (o) => d("read", o);
1064
+ return (o, r) => (s(), v(D, null, [
1065
+ n.value ? (s(), v("div", {
1066
+ key: 0,
1067
+ class: "overlay fixed left-0 top-0 h-full w-full bg-black/40 bg-blur",
1068
+ onClick: i
1069
+ })) : I("", !0),
1070
+ l("aside", {
1071
+ class: z([n.value ? "translate-x-0 " : "translate-x-full", "overflow-x-hidden fixed top-[73px] right-0 flex h-[calc(100%-73px)] w-[290px] md:w-80 border-l border-gray-200 flex-col overflow-y-auto transition-all duration-350 dark:border-gray-800 bg-white dark:bg-gray-900"])
1251
1072
  }, [
1252
- l("span", {
1253
- class: V(["absolute left-4 transition-all rounded -translate-y-1/2 text-gray-600 dark:text-gray-400", r.value])
1254
- }, _(n.label), 3),
1255
- l("div", As, [
1256
- C(n.$slots, "default")
1257
- ]),
1258
- n.hideIcon ? I("", !0) : (o(), c("button", {
1259
- key: 0,
1260
- disabled: n.disabled,
1261
- class: V(["h-full flex items-center justify-center text-gray-400 border-l border-gray-300 dark:border-gray-700/50 flex-[0_0_50px]", { "cursor-pointer": !n.disabled }]),
1262
- onClick: v[0] || (v[0] = (u) => d("icon", u))
1263
- }, [
1264
- C(n.$slots, "icon", {}, () => [
1265
- p(z(se), { class: "size-4" })
1266
- ])
1267
- ], 10, Ss))
1073
+ l("div", ba, [
1074
+ C(o.$slots, "header", { isNew: a.value }),
1075
+ u.value ? (s(), v("div", ya, [
1076
+ p(pe, {
1077
+ "enter-active-class": "transition-all duration-300 ",
1078
+ "enter-from-class": "opacity-0 translate-x-1/2",
1079
+ "enter-to-class": "opacity-100 translate-x-0",
1080
+ "leave-active-class": "transition-all duration-300 absolute",
1081
+ "leave-from-class": "opacity-100 translate-x-0",
1082
+ "leave-to-class": "opacity-0 translate-x-1/2"
1083
+ }, {
1084
+ default: m(() => [
1085
+ (s(!0), v(D, null, N(n.notifications, (h) => (s(), v("div", {
1086
+ key: h.date,
1087
+ class: "relative"
1088
+ }, [
1089
+ C(o.$slots, "card", { item: h }, () => [
1090
+ p(ma, H({ ref_for: !0 }, h, {
1091
+ class: "bg-gray-200/50 dark:bg-gray-800/50 rounded-md",
1092
+ onRemove: (y) => f(h),
1093
+ onRead: (y) => c(h)
1094
+ }), null, 16, ["onRemove", "onRead"])
1095
+ ])
1096
+ ]))), 128))
1097
+ ]),
1098
+ _: 3
1099
+ })
1100
+ ])) : C(o.$slots, "empty", { key: 1 })
1101
+ ])
1268
1102
  ], 2)
1269
- ]));
1103
+ ], 64));
1270
1104
  }
1271
- }), Ts = { class: "flex gap-1 text-amber-500 self-start text-nowrap select-none" }, Hs = ["title", "onMouseenter", "onMouseleave"], Ds = { class: "flex flex-auto" }, Ls = ["disabled"], ne = /* @__PURE__ */ B({
1272
- __name: "VFunc",
1105
+ }), ka = {}, _a = { class: "fixed h-full w-full top-0 left-0 z-20" }, $a = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" };
1106
+ function wa(t, e) {
1107
+ return s(), v("div", _a, [
1108
+ e[0] || (e[0] = l("div", { class: "absolute h-full w-full top-0 left-0 bg-black/60 bg-blur" }, null, -1)),
1109
+ l("div", $a, [
1110
+ C(t.$slots, "default")
1111
+ ])
1112
+ ]);
1113
+ }
1114
+ const Ca = /* @__PURE__ */ ge(ka, [["render", wa]]), za = { class: "mb-4 flex flex-col gap-4" }, Va = ["onClick"], Ba = { class: "flex flex-col gap-2" }, Ma = { class: "flex gap-2 ms-8" }, Ia = { class: "flex-1 first-letter:uppercase text-sm" }, Aa = /* @__PURE__ */ V({
1115
+ __name: "AppNav",
1273
1116
  props: {
1274
- label: {},
1275
- args: {},
1276
- value: {},
1277
- disabled: { type: Boolean, default: !1 },
1278
- hideIcon: { type: Boolean, default: !1 }
1117
+ menu: { default: () => [] },
1118
+ fullPath: { default: "" },
1119
+ isSidebar: { type: Boolean, default: !1 }
1279
1120
  },
1280
- emits: ["change", "icon", "hover"],
1281
- setup(e, { emit: t }) {
1282
- const { textarea: d, input: r } = Ms(), s = t, n = ["v", "a", "b", "c"];
1283
- r.value = e.value || "";
1284
- const v = (a) => {
1285
- try {
1286
- return new Function(a), !0;
1287
- } catch {
1288
- return !1;
1289
- }
1290
- }, u = ve((a) => {
1291
- const i = a.target;
1292
- v(i.value) && s("change", i.value);
1293
- }, 500), f = (a) => s("icon", a);
1294
- return U(
1295
- () => e.value,
1121
+ emits: ["sidebar"],
1122
+ setup(t, { emit: e }) {
1123
+ const n = e, d = L(""), a = ({ name: i }) => {
1124
+ t.isSidebar && n("sidebar", !t.isSidebar), d.value !== i && (d.value = d.value === i ? "" : i);
1125
+ }, u = (i) => t.fullPath === i;
1126
+ return W(
1127
+ () => t.menu,
1296
1128
  () => {
1297
- e.value && (r.value = e.value);
1129
+ var i;
1130
+ return d.value = ((i = Ne(t.menu, t.fullPath)) == null ? void 0 : i.name) || "";
1298
1131
  }
1299
- ), (a, i) => (o(), A(Se, {
1300
- active: !!a.value,
1301
- disabled: a.disabled,
1302
- label: a.label,
1303
- hideIcon: a.hideIcon,
1304
- onIcon: f
1305
- }, {
1306
- icon: m(() => [
1307
- a.value ? (o(), A(z(G), {
1308
- key: 0,
1309
- class: "size-4"
1310
- })) : (o(), A(z(se), {
1311
- key: 1,
1312
- class: "size-4"
1313
- }))
1314
- ]),
1315
- default: m(() => [
1316
- a.value ? (o(), c(H, { key: 0 }, [
1317
- l("div", Ts, [
1318
- i[3] || (i[3] = T(" ( ")),
1319
- (o(!0), c(H, null, N(a.args, (h, b) => (o(), c(H, { key: h }, [
1132
+ ), (i, f) => (s(), v("nav", null, [
1133
+ l("ul", za, [
1134
+ (s(!0), v(D, null, N(i.menu, (c) => (s(), v("li", {
1135
+ key: c.name
1136
+ }, [
1137
+ (s(), A(G(c.path ? "router-link" : "span"), {
1138
+ to: c.path,
1139
+ class: z(["flex gap-2 items-center px-3 py-2 rounded-lg", u(c.path) ? "bg-blue-500/10" : "hover:bg-gray-500/10"]),
1140
+ onClick: P((o) => a(c), ["prevent", "stop"])
1141
+ }, {
1142
+ default: m(() => [
1143
+ p(B, {
1144
+ name: c.icon,
1145
+ class: "size-5 flex-[0_0_24px]"
1146
+ }, null, 8, ["name"]),
1320
1147
  l("span", {
1321
- class: "text-blue-400/80",
1322
- title: h,
1323
- onMouseenter: ($) => s("hover", "enter", b),
1324
- onMouseleave: ($) => s("hover", "leave", b)
1325
- }, _(n[b]), 41, Hs),
1326
- i[2] || (i[2] = l("span", { class: "last:hidden" }, ",", -1))
1327
- ], 64))), 128)),
1328
- i[4] || (i[4] = T(" ) => "))
1329
- ]),
1330
- l("div", Ds, [
1331
- de(l("textarea", {
1332
- ref_key: "textarea",
1333
- ref: d,
1334
- "onUpdate:modelValue": i[0] || (i[0] = (h) => Ge(r) ? r.value = h : null),
1335
- class: "outline-0 w-full resize-none",
1336
- type: "text",
1337
- disabled: a.disabled,
1338
- onInput: i[1] || (i[1] = //@ts-ignore
1339
- (...h) => z(u) && z(u)(...h))
1340
- }, null, 40, Ls), [
1341
- [We, z(r)]
1148
+ class: z(["flex-1 first-letter:uppercase text-sm", i.isSidebar ? "lg:hidden" : ""])
1149
+ }, _(c.name), 3),
1150
+ l("button", {
1151
+ class: z(["cursor-pointer", [i.isSidebar ? "lg:hidden" : ""]]),
1152
+ onClick: P((o) => a(c), ["prevent", "stop"])
1153
+ }, [
1154
+ c.children ? (s(), A(B, {
1155
+ key: 0,
1156
+ name: "Chevron"
1157
+ })) : I("", !0)
1158
+ ], 10, Va)
1159
+ ]),
1160
+ _: 2
1161
+ }, 1032, ["to", "class", "onClick"])),
1162
+ c.children ? (s(), v("div", {
1163
+ key: 0,
1164
+ class: z(["translate transform overflow-hidden mt-2", [i.isSidebar ? "lg:hidden" : "", d.value === c.name ? "block" : "hidden"]])
1165
+ }, [
1166
+ l("ul", Ba, [
1167
+ (s(!0), v(D, null, N(c.children, ({ name: o, path: r, icon: h }) => (s(), v("li", { key: o }, [
1168
+ (s(), A(G(r ? "router-link" : "span"), {
1169
+ to: r,
1170
+ class: z(["flex gap-2 items-center px-3 py-2 rounded-lg", u(r) ? "bg-blue-500/10" : "hover:bg-gray-500/10"])
1171
+ }, {
1172
+ default: m(() => [
1173
+ l("div", Ma, [
1174
+ h ? (s(), A(B, {
1175
+ key: 0,
1176
+ name: h,
1177
+ class: "size-5 flex-[0_0_24px]"
1178
+ }, null, 8, ["name"])) : I("", !0),
1179
+ l("span", Ia, _(o), 1)
1180
+ ])
1181
+ ]),
1182
+ _: 2
1183
+ }, 1032, ["to", "class"]))
1184
+ ]))), 128))
1342
1185
  ])
1343
- ])
1344
- ], 64)) : I("", !0)
1345
- ]),
1346
- _: 1
1347
- }, 8, ["active", "disabled", "label", "hideIcon"]));
1186
+ ], 2)) : I("", !0)
1187
+ ]))), 128))
1188
+ ])
1189
+ ]));
1348
1190
  }
1349
- }), js = { class: "min-w-full" }, Ns = { class: "border-y border-gray-100 py-3 dark:border-gray-800" }, Os = { class: "bg-gray-50 dark:bg-gray-800" }, Fs = { class: "flex items-center" }, Ps = { class: "divide-y divide-gray-100 dark:divide-gray-800" }, Es = ["onClick"], Rs = { class: "flex items-center text-gray-700 dark:text-gray-400" }, Us = { key: 1 }, Gs = {
1350
- class: "py-3 whitespace-nowrap",
1351
- colspan: "9"
1352
- }, Ws = { class: "flex items-center justify-center text-theme-sm text-gray-700 dark:text-gray-400 px-2" }, f1 = /* @__PURE__ */ B({
1353
- __name: "BlockTable",
1191
+ }), Sa = {
1192
+ key: 0,
1193
+ class: "w-full min-w-[260px] max-w-xs p-4 bg-white rounded-lg shadow-lg dark:bg-gray-800",
1194
+ role: "alert"
1195
+ }, Ta = { class: "flex items-center gap-4 text-sm" }, Da = {
1196
+ key: 0,
1197
+ class: "text-green-600"
1198
+ }, Ha = {
1199
+ key: 1,
1200
+ class: "relative block h-4 w-full rounded-lg overflow-hidden bg-gray-200 dark:bg-gray-900/50 select-none mt-2"
1201
+ }, La = { class: "absolute left-[140px] top-1/2 -translate-1/2 text-sm font-bold text-black dark:text-white text-center leading-none" }, ja = { class: "absolute left-[140px] top-1/2 -translate-1/2 text-sm font-bold text-white text-center leading-none" }, Na = /* @__PURE__ */ V({
1202
+ __name: "AppProgress",
1354
1203
  props: {
1355
- headers: { default: () => [] },
1356
- items: { default: () => [] }
1204
+ timeout: { default: 5e3 },
1205
+ key: {},
1206
+ status: { default: 0 },
1207
+ empty: {},
1208
+ size: { default: 0 },
1209
+ length: { default: 0 }
1357
1210
  },
1358
- emits: ["click"],
1359
- setup(e, { emit: t }) {
1360
- const d = t, r = (n, v) => {
1361
- d("click", { item: n, event: v });
1362
- }, s = (n) => (n == null ? void 0 : n.className) || "";
1363
- return (n, v) => (o(), c("table", js, [
1364
- l("thead", Ns, [
1365
- l("tr", Os, [
1366
- (o(!0), c(H, null, N(n.headers, (u, f) => (o(), c("th", {
1367
- key: f,
1368
- class: V(["py-2 whitespace-nowrap text-gray-500 dark:text-gray-400 font-normal px-4", s(u)])
1369
- }, [
1370
- C(n.$slots, "header", { item: u }, () => [
1371
- l("div", Fs, _(u.name), 1)
1211
+ setup(t) {
1212
+ const e = L(!1), n = M(() => !!t.length), d = M(() => !!(n.value && a.value === 100 && !t.status)), a = M(() => t.status ? Math.ceil(t.size * 100 / t.length) : 100), u = re(() => {
1213
+ e.value = !1;
1214
+ }, t.timeout);
1215
+ return W(
1216
+ () => [t.size, t.status],
1217
+ () => {
1218
+ e.value = !0, u();
1219
+ }
1220
+ ), (i, f) => (s(), A(Q, {
1221
+ "enter-active-class": "duration-300 ease-out",
1222
+ "enter-from-class": "transform opacity-0 translate-x-full",
1223
+ "enter-to-class": "opacity-100 translate-x-0",
1224
+ "leave-active-class": "duration-200 ease-in",
1225
+ "leave-from-class": "opacity-100 translate-y-0",
1226
+ "leave-to-class": "transform opacity-0 -translate-y-8"
1227
+ }, {
1228
+ default: m(() => [
1229
+ e.value ? (s(), v("div", Sa, [
1230
+ l("div", Ta, [
1231
+ C(i.$slots, "default", { isDone: d.value }, () => [
1232
+ f[1] || (f[1] = l("div", { class: "flex-auto" }, "Progress...", -1)),
1233
+ d.value ? (s(), v("span", Da, "Done")) : I("", !0)
1234
+ ]),
1235
+ l("button", {
1236
+ class: "cursor-pointer transition text-gray-700 dark:text-gray-400 self-start hover:text-gray-600",
1237
+ onClick: f[0] || (f[0] = (c) => e.value = !1)
1238
+ }, [
1239
+ p(B, {
1240
+ name: "Close",
1241
+ class: "h-4 w-4"
1242
+ })
1372
1243
  ])
1373
- ], 2))), 128))
1374
- ])
1244
+ ]),
1245
+ n.value ? (s(), v("div", {
1246
+ key: 0,
1247
+ class: "h-[2px] fixed top-0 left-0 w-full bg-blue-600 transition-all duration-500",
1248
+ style: K(`width: ${a.value}%`)
1249
+ }, null, 4)) : I("", !0),
1250
+ n.value ? (s(), v("div", Ha, [
1251
+ l("div", La, _(a.value) + "%", 1),
1252
+ l("div", {
1253
+ class: "bg-blue-600 rounded-full h-4 overflow-hidden relative transition-all duration-500",
1254
+ style: K(`width: ${a.value}%`)
1255
+ }, [
1256
+ l("div", ja, _(a.value) + "%", 1)
1257
+ ], 4)
1258
+ ])) : I("", !0)
1259
+ ])) : I("", !0)
1375
1260
  ]),
1376
- l("tbody", Ps, [
1377
- n.items.length ? (o(!0), c(H, { key: 0 }, N(n.items, (u, f) => (o(), c("tr", {
1378
- key: f,
1379
- class: "hover:bg-gray-50/50 dark:hover:bg-gray-800/50",
1380
- onClick: (a) => r(u, a)
1381
- }, [
1382
- (o(!0), c(H, null, N(n.headers, (a, i) => (o(), c("td", {
1383
- key: i,
1384
- class: "py-2 whitespace-nowrap px-4"
1385
- }, [
1386
- l("div", Rs, [
1387
- C(n.$slots, a.key, { item: u }, () => [
1388
- T(_(u[a.key]), 1)
1389
- ])
1390
- ])
1391
- ]))), 128))
1392
- ], 8, Es))), 128)) : (o(), c("tr", Us, [
1393
- l("td", Gs, [
1394
- l("div", Ws, [
1395
- C(n.$slots, "empty", {}, () => [
1396
- v[0] || (v[0] = T("The list is empty"))
1397
- ])
1398
- ])
1399
- ])
1400
- ]))
1401
- ])
1402
- ]));
1261
+ _: 3
1262
+ }));
1403
1263
  }
1404
- }), qs = { class: "my-4 text-gray-700 dark:text-gray-400" }, Ks = { class: "flex flex-col md:flex-row flex-wrap md:gap-4 text-sm" }, Zs = { class: "flex gap-2" }, Js = { class: "text-gray-700 dark:text-gray-400" }, Qs = { class: "flex gap-2" }, Xs = { class: "flex gap-2" }, Ys = { class: "text-gray-700 dark:text-gray-400" }, ea = { class: "flex gap-2" }, ta = { class: "text-gray-700 dark:text-gray-400" }, la = { class: "flex flex-col gap-4 text-sm" }, sa = { class: "flex gap-4" }, h1 = /* @__PURE__ */ B({
1264
+ }), Oa = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1265
+ __proto__: null,
1266
+ AppAside: Gl,
1267
+ AppDialog: be,
1268
+ AppHeader: fa,
1269
+ AppNav: Aa,
1270
+ AppNotification: xa,
1271
+ AppOverlay: Ca,
1272
+ AppProgress: Na
1273
+ }, Symbol.toStringTag, { value: "Module" })), Pa = { class: "my-4 text-gray-700 dark:text-gray-400" }, Ea = { class: "flex flex-col md:flex-row flex-wrap md:gap-4 text-sm" }, Fa = { class: "flex gap-2" }, Ra = { class: "text-gray-700 dark:text-gray-400" }, Ua = { class: "flex gap-2" }, Wa = { class: "flex gap-2" }, qa = { class: "text-gray-700 dark:text-gray-400" }, Ga = { class: "flex gap-2" }, Ka = { class: "text-gray-700 dark:text-gray-400" }, Za = { class: "flex flex-col gap-4 text-sm" }, Ja = { class: "flex gap-4" }, d1 = /* @__PURE__ */ V({
1405
1274
  __name: "BlockInfo",
1406
1275
  props: {
1276
+ empty: {},
1407
1277
  pkg: {},
1408
1278
  key: {},
1409
1279
  id: { default: 0 },
@@ -1413,156 +1283,107 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1413
1283
  uptime: {},
1414
1284
  name: {}
1415
1285
  },
1416
- setup(e) {
1417
- const t = M(() => e.firmware.join(".")), d = M(() => {
1418
- var s, n, v, u, f, a, i;
1419
- const r = [];
1420
- return (s = e.pkg) != null && s.homepage && r.push({ name: "homepage", href: e.pkg.homepage }), (v = (n = e.pkg) == null ? void 0 : n.repository) != null && v.url && r.push({ name: "repository", href: e.pkg.repository.url }), (f = (u = e.pkg) == null ? void 0 : u.bugs) != null && f.url && r.push({ name: "bugs", href: e.pkg.bugs.url }), (a = e.pkg) != null && a.author && r.push({ name: "author", href: `mailto:${(i = e.pkg) == null ? void 0 : i.author}` }), r;
1286
+ setup(t) {
1287
+ const e = M(() => t.firmware.join(".")), n = M(() => {
1288
+ var a, u, i, f, c, o, r;
1289
+ const d = [];
1290
+ return (a = t.pkg) != null && a.homepage && d.push({ name: "homepage", href: t.pkg.homepage }), (i = (u = t.pkg) == null ? void 0 : u.repository) != null && i.url && d.push({ name: "repository", href: t.pkg.repository.url }), (c = (f = t.pkg) == null ? void 0 : f.bugs) != null && c.url && d.push({ name: "bugs", href: t.pkg.bugs.url }), (o = t.pkg) != null && o.author && d.push({ name: "author", href: `mailto:${(r = t.pkg) == null ? void 0 : r.author}` }), d;
1421
1291
  });
1422
- return (r, s) => {
1423
- var n, v;
1424
- return o(), c("div", null, [
1425
- l("p", qs, _((n = r.pkg) == null ? void 0 : n.description), 1),
1426
- l("div", Ks, [
1427
- l("div", Zs, [
1428
- s[0] || (s[0] = T(" Firmware (hw): ")),
1429
- l("span", Js, _(t.value), 1)
1292
+ return (d, a) => {
1293
+ var u, i;
1294
+ return s(), v("div", null, [
1295
+ l("p", Pa, _((u = d.pkg) == null ? void 0 : u.description), 1),
1296
+ l("div", Ea, [
1297
+ l("div", Fa, [
1298
+ a[0] || (a[0] = T(" Firmware (hw): ")),
1299
+ l("span", Ra, _(e.value), 1)
1430
1300
  ]),
1431
- l("div", Qs, [
1432
- l("div", Xs, [
1433
- s[1] || (s[1] = T(" Version (web): ")),
1434
- l("span", Ys, _((v = r.pkg) == null ? void 0 : v.version), 1)
1301
+ l("div", Ua, [
1302
+ l("div", Wa, [
1303
+ a[1] || (a[1] = T(" Version (web): ")),
1304
+ l("span", qa, _((i = d.pkg) == null ? void 0 : i.version), 1)
1435
1305
  ])
1436
1306
  ]),
1437
- s[3] || (s[3] = l("div", { class: "flex-auto" }, null, -1)),
1438
- l("div", ea, [
1439
- s[2] || (s[2] = T(" ID: ")),
1440
- l("span", ta, _(r.id.toString(16)), 1)
1307
+ a[3] || (a[3] = l("div", { class: "flex-auto" }, null, -1)),
1308
+ l("div", Ga, [
1309
+ a[2] || (a[2] = T(" ID: ")),
1310
+ l("span", Ka, _(d.id.toString(16)), 1)
1441
1311
  ])
1442
1312
  ]),
1443
- s[4] || (s[4] = l("hr", { class: "dark:text-gray-700 text-gray-200 my-2" }, null, -1)),
1444
- l("div", la, [
1445
- l("div", sa, [
1446
- C(r.$slots, "links", { links: d.value })
1313
+ a[4] || (a[4] = l("hr", { class: "dark:text-gray-700 text-gray-200 my-2" }, null, -1)),
1314
+ l("div", Za, [
1315
+ l("div", Ja, [
1316
+ C(d.$slots, "links", { links: n.value })
1447
1317
  ])
1448
1318
  ])
1449
1319
  ]);
1450
1320
  };
1451
1321
  }
1452
- }), aa = { class: "flex items-center gap-1.5" }, p1 = /* @__PURE__ */ B({
1322
+ }), Qa = { class: "flex items-center gap-1.5" }, c1 = /* @__PURE__ */ V({
1453
1323
  __name: "BlockBreadcrumb",
1454
1324
  props: {
1455
1325
  items: { default: () => [] }
1456
1326
  },
1457
1327
  emits: ["click"],
1458
- setup(e, { emit: t }) {
1459
- const d = t;
1460
- return (r, s) => (o(), c("nav", null, [
1461
- l("ol", aa, [
1462
- (o(!0), c(H, null, N(r.items, (n, v) => (o(), c("li", {
1463
- key: v,
1464
- class: V(["inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-gray-400", n.path ? "" : "text-gray-800 dark:text-white/90"])
1328
+ setup(t, { emit: e }) {
1329
+ const n = e, d = (a) => n("click", a);
1330
+ return (a, u) => (s(), v("nav", null, [
1331
+ l("ol", Qa, [
1332
+ (s(!0), v(D, null, N(a.items, (i, f) => (s(), v("li", {
1333
+ key: f,
1334
+ class: z(["inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-gray-400", i.path ? "" : "text-gray-800 dark:text-white/90"])
1465
1335
  }, [
1466
- C(r.$slots, "default", { item: n }, () => [
1467
- (o(), A(q(n.path ? "a" : "span"), {
1468
- href: n.path,
1469
- onClick: s[0] || (s[0] = (u) => d("click", u))
1336
+ C(a.$slots, "default", { item: i }, () => [
1337
+ (s(), A(G(i.path ? "a" : "span"), {
1338
+ href: i.path,
1339
+ onClick: (c) => d(i)
1470
1340
  }, {
1471
1341
  default: m(() => [
1472
- T(_(n.name), 1)
1342
+ T(_(i.name), 1)
1473
1343
  ]),
1474
1344
  _: 2
1475
- }, 1032, ["href"]))
1345
+ }, 1032, ["href", "onClick"]))
1476
1346
  ]),
1477
- n.path ? (o(), A(z(K), {
1347
+ i.path ? (s(), A(B, {
1478
1348
  key: 0,
1479
- class: "rotate-270"
1349
+ class: "rotate-270",
1350
+ name: "Chevron"
1480
1351
  })) : I("", !0)
1481
1352
  ], 2))), 128))
1482
1353
  ])
1483
1354
  ]));
1484
1355
  }
1485
- }), oa = {
1356
+ }), Xa = {
1486
1357
  key: 0,
1487
1358
  class: "loader-line w-full absolute top-0 left-0 h-[3px] bg-gray-100 dark:bg-gray-800 before:bg-blue-600 dark:before:bg-blue-800 before:h-1 rounded-xl z-20 before:absolute before:w-[40%] before:-left-1/2 before:content-[''] before:animate-[lineAnim_1s_linear_infinite]"
1488
- }, na = {
1359
+ }, Ya = {
1489
1360
  key: 1,
1490
1361
  class: "absolute top-0 left-0 w-full h-full bg-gray-50 dark:bg-gray-900 z-10 opacity-50"
1491
- }, ra = { class: "mb-6 flex items-center justify-between" }, ia = { class: "text-lg font-semibold text-gray-800 dark:text-white/90" }, da = { class: "max-w-full" }, ca = /* @__PURE__ */ B({
1492
- __name: "CardGray",
1362
+ }, es = { class: "mb-6 flex items-center justify-between" }, ts = { class: "text-lg font-semibold text-gray-800 dark:text-white/90" }, ls = { class: "max-w-full" }, as = /* @__PURE__ */ V({
1363
+ __name: "CardMain",
1493
1364
  props: {
1494
1365
  title: {},
1495
1366
  loading: { type: Boolean }
1496
1367
  },
1497
- setup(e) {
1498
- const t = e;
1499
- return (d, r) => (o(), c("div", {
1500
- class: V(["relative rounded-md border border-gray-200 bg-white p-5 dark:border-gray-800 dark:bg-white/[0.03] sm:p-6", { "overflow-hidden": t.loading }])
1368
+ setup(t) {
1369
+ const e = t;
1370
+ return (n, d) => (s(), v("div", {
1371
+ class: z(["relative rounded-md border border-gray-200 bg-white p-5 dark:border-gray-800 dark:bg-white/[0.03] sm:p-6", { "overflow-hidden": e.loading }])
1501
1372
  }, [
1502
- d.loading ? (o(), c("div", oa)) : I("", !0),
1503
- d.loading ? (o(), c("div", na)) : I("", !0),
1504
- l("div", ra, [
1505
- l("h3", ia, _(t.title), 1),
1373
+ n.loading ? (s(), v("div", Xa)) : I("", !0),
1374
+ n.loading ? (s(), v("div", Ya)) : I("", !0),
1375
+ l("div", es, [
1376
+ l("h3", ts, _(e.title), 1),
1506
1377
  l("div", null, [
1507
- C(d.$slots, "header")
1378
+ C(n.$slots, "header")
1508
1379
  ])
1509
1380
  ]),
1510
- l("div", da, [
1511
- C(d.$slots, "default")
1381
+ l("div", ls, [
1382
+ C(n.$slots, "default")
1512
1383
  ])
1513
1384
  ], 2));
1514
1385
  }
1515
- }), ua = { class: "relative flex items-center gap-2 w-full p-2 overflow-hidden" }, va = { class: "flex-auto text-xs" }, fa = { class: "text-gray-500 dark:text-gray-400 mt-1" }, ha = /* @__PURE__ */ B({
1516
- __name: "CardNotification",
1517
- props: {
1518
- key: {},
1519
- isNew: {},
1520
- color: {},
1521
- timeout: {},
1522
- date: {},
1523
- text: {}
1524
- },
1525
- emits: ["remove", "read"],
1526
- setup(e, { emit: t }) {
1527
- const d = e, r = t, s = ["", "bg-green-500", "bg-red-500", "bg-yellow-500", "bg-blue-500"], n = (f) => s[f], v = (f) => r("remove", f), u = (f) => r("read", f);
1528
- return (f, a) => (o(), c("div", ua, [
1529
- l("div", {
1530
- class: V(["absolute left-0 top-0 w-[3px] h-full", n(d.color)])
1531
- }, null, 2),
1532
- p(j, {
1533
- class: "shrink-0",
1534
- type: "icon",
1535
- color: "gray",
1536
- onClick: u
1537
- }, {
1538
- default: m(() => [
1539
- l("span", {
1540
- class: V([d.isNew ? "flex" : "hidden", "absolute right-0 top-0.5 z-1 h-2 w-2 rounded-full bg-orange-400"])
1541
- }, a[0] || (a[0] = [
1542
- l("span", { class: "absolute -z-1 inline-flex h-full w-full animate-ping rounded-full bg-orange-400 opacity-75" }, null, -1)
1543
- ]), 2),
1544
- p(z(he), { class: "size-5" })
1545
- ]),
1546
- _: 1
1547
- }),
1548
- l("div", va, [
1549
- l("div", null, _(d.text), 1),
1550
- l("div", fa, _(z(Ze)(d.date)) + " (" + _(z(Je)(d.date)) + ")", 1)
1551
- ]),
1552
- p(j, {
1553
- class: "shrink-0",
1554
- type: "icon",
1555
- size: "small",
1556
- onClick: v
1557
- }, {
1558
- default: m(() => [
1559
- p(z(G), { class: "size-4" })
1560
- ]),
1561
- _: 1
1562
- })
1563
- ]));
1564
- }
1565
- }), pa = { class: "flex-auto flex justify-between" }, ga = { class: "text-sm text-gray-500 font-medium line-clamp-2 overflow-hidden" }, ma = { class: "text-sm text-ellipsis overflow-hidden text-nowrap" }, ba = { class: "flex-auto flex items-center justify-between gap-6 me-2" }, ya = { class: "min-h-60 relative" }, xa = { class: "pt-6" }, ka = { class: "text-center text-3xl text-ellipsis overflow-hidden" }, _a = { class: "text-center text-xl mt-4" }, W = /* @__PURE__ */ B({
1386
+ }), ss = { class: "flex-auto flex justify-between" }, os = { class: "text-sm text-gray-500 font-medium line-clamp-2 overflow-hidden" }, ns = { class: "text-sm text-ellipsis overflow-hidden text-nowrap" }, rs = { class: "flex-auto flex items-center justify-between gap-6 me-2" }, is = { class: "min-h-60 relative" }, ds = { class: "pt-6" }, cs = { class: "text-center text-3xl text-ellipsis overflow-hidden" }, us = { class: "text-center text-xl mt-4" }, q = /* @__PURE__ */ V({
1566
1387
  __name: "CardBase",
1567
1388
  props: {
1568
1389
  size: {},
@@ -1578,79 +1399,79 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1578
1399
  get: {},
1579
1400
  getTo: {}
1580
1401
  },
1581
- emits: ["edit", "close", "open"],
1582
- setup(e, { emit: t }) {
1583
- const d = L(!1), r = t, s = e, n = M(() => ["button", "dimmer"].includes(s.type || "") && s.value ? "text-amber-500" : "text-gray-400"), v = M(() => s.icon || ""), u = (h) => r("edit", h), f = () => d.value = !0, a = (h) => r("open", h), i = (h) => {
1584
- d.value = !1, r("close", h);
1402
+ emits: ["edit", "close", "click", "open", "setState"],
1403
+ setup(t, { emit: e }) {
1404
+ const n = t, d = e, a = L(!1), u = M(() => ["button", "dimmer"].includes(n.type || "") && n.value ? "text-amber-500" : "text-gray-400"), i = M(() => n.icon || ""), f = (h) => d("edit", h), c = () => a.value = !0, o = (h) => d("open", h), r = (h) => {
1405
+ a.value = !1, d("close", h);
1585
1406
  };
1586
- return (h, b) => {
1587
- const $ = ee("AppDialog");
1588
- return o(), c("div", {
1407
+ return (h, y) => {
1408
+ const $ = ae("AppDialog");
1409
+ return s(), v("div", {
1589
1410
  class: "flex flex-col border relative aspect-square rounded-md bg-white dark:bg-gray-900 border-b border-gray-300 dark:border-gray-700 p-2 hover:border-blue-400 dark:hover:border-blue-700 transition-all cursor-pointer",
1590
- onClick: f
1411
+ onClick: c
1591
1412
  }, [
1592
- l("div", pa, [
1413
+ l("div", ss, [
1593
1414
  l("div", {
1594
- class: V(n.value)
1415
+ class: z(u.value)
1595
1416
  }, [
1596
- p(Z, {
1597
- name: v.value,
1598
- class: V(["size-8", s.value ? "animate-shake" : ""])
1417
+ p(B, {
1418
+ name: i.value,
1419
+ class: z(["size-8", n.value ? "animate-shake" : ""])
1599
1420
  }, null, 8, ["name", "class"])
1600
1421
  ], 2),
1601
- C(h.$slots, "header", E(R(s)))
1422
+ C(h.$slots, "header", R(U(n)))
1602
1423
  ]),
1603
1424
  l("div", null, [
1604
- C(h.$slots, "body", E(R(s)), () => [
1605
- l("h6", ga, [
1606
- C(h.$slots, "name", E(R(s)), () => [
1607
- T(_(s.name), 1)
1425
+ C(h.$slots, "body", R(U(n)), () => [
1426
+ l("h6", os, [
1427
+ C(h.$slots, "name", R(U(n)), () => [
1428
+ T(_(n.name), 1)
1608
1429
  ])
1609
1430
  ]),
1610
- l("div", ma, [
1611
- C(h.$slots, "value", E(R(s)), () => [
1612
- T(_(s.valueTo || s.value), 1)
1431
+ l("div", ns, [
1432
+ C(h.$slots, "value", R(U(n)), () => [
1433
+ T(_(n.valueTo || n.value), 1)
1613
1434
  ])
1614
1435
  ])
1615
1436
  ])
1616
1437
  ]),
1617
- v.value ? (o(), A(Z, {
1438
+ i.value ? (s(), A(B, {
1618
1439
  key: 0,
1619
- name: v.value,
1440
+ name: i.value,
1620
1441
  class: "absolute left-1/2 top-1/2 size-[calc(50%)] opacity-5 text-gray-200/20 -translate-1/2"
1621
1442
  }, null, 8, ["name"])) : I("", !0),
1622
- d.value ? (o(), A($, {
1443
+ a.value ? (s(), A($, {
1623
1444
  key: 1,
1624
- size: s.size || "sm",
1445
+ size: n.size || "sm",
1625
1446
  title: h.name,
1626
- onClose: i,
1627
- onOpen: a
1447
+ onClose: r,
1448
+ onOpen: o
1628
1449
  }, {
1629
1450
  header: m(() => [
1630
- l("div", ba, [
1451
+ l("div", rs, [
1631
1452
  p(j, {
1632
1453
  type: "icon",
1633
- onClick: u
1454
+ onClick: f
1634
1455
  }, {
1635
1456
  default: m(() => [
1636
- p(Z, { name: "Dots" })
1457
+ p(B, { name: "Dots" })
1637
1458
  ]),
1638
1459
  _: 1
1639
1460
  })
1640
1461
  ])
1641
1462
  ]),
1642
1463
  default: m(() => [
1643
- l("div", ya, [
1644
- l("div", xa, [
1645
- l("h3", ka, [
1646
- C(h.$slots, "dialog-name", E(R(s)), () => [
1647
- T(_(s.name), 1)
1464
+ l("div", is, [
1465
+ l("div", ds, [
1466
+ l("h3", cs, [
1467
+ C(h.$slots, "dialog-name", R(U(n)), () => [
1468
+ T(_(n.name), 1)
1648
1469
  ])
1649
1470
  ]),
1650
- C(h.$slots, "dialog", E(R(s))),
1651
- l("p", _a, [
1652
- C(h.$slots, "dialog-value", E(R(s)), () => [
1653
- T(_(s.valueTo || s.value), 1)
1471
+ C(h.$slots, "dialog", R(U(n))),
1472
+ l("p", us, [
1473
+ C(h.$slots, "dialog-value", R(U(n)), () => [
1474
+ T(_(n.valueTo || n.value), 1)
1654
1475
  ])
1655
1476
  ])
1656
1477
  ])
@@ -1661,9 +1482,10 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1661
1482
  ]);
1662
1483
  };
1663
1484
  }
1664
- }), $a = { class: "flex justify-end" }, wa = { class: "flex justify-center py-4" }, Ca = /* @__PURE__ */ B({
1485
+ }), vs = { class: "flex justify-end" }, fs = { class: "flex justify-center py-4" }, hs = /* @__PURE__ */ V({
1665
1486
  __name: "CardButton",
1666
1487
  props: {
1488
+ size: {},
1667
1489
  id: {},
1668
1490
  name: {},
1669
1491
  type: {},
@@ -1676,36 +1498,42 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1676
1498
  get: {},
1677
1499
  getTo: {}
1678
1500
  },
1679
- emits: ["click", "setState"],
1680
- setup(e, { emit: t }) {
1681
- const d = t, r = e, s = ({ opts: u = {} }) => {
1682
- const { disabled: f } = u;
1683
- return { disabled: f };
1684
- }, n = (u) => d("click", u), v = () => d("setState", !r.value);
1685
- return (u, f) => (o(), A(W, D(r, { onClick: n }), {
1686
- header: m((a) => [
1687
- l("div", $a, [
1688
- p(j, D(s(a), {
1501
+ emits: ["edit", "close", "click", "open", "setState"],
1502
+ setup(t, { emit: e }) {
1503
+ const n = t, d = e, a = ({ opts: f = {} }) => {
1504
+ const { disabled: c } = f;
1505
+ return { disabled: c };
1506
+ }, u = (f) => d("click", f), i = () => d("setState", !n.value);
1507
+ return (f, c) => (s(), A(q, H(n, { onClick: u }), {
1508
+ header: m((o) => [
1509
+ l("div", vs, [
1510
+ p(j, H(a(o), {
1689
1511
  type: "icon",
1690
1512
  class: "text-gray-500",
1691
- onClick: F(v, ["stop"])
1513
+ onClick: P(i, ["stop"])
1692
1514
  }), {
1693
1515
  default: m(() => [
1694
- p(z(re), { class: "size-10" })
1516
+ p(B, {
1517
+ name: "Power",
1518
+ class: "size-10"
1519
+ })
1695
1520
  ]),
1696
1521
  _: 2
1697
1522
  }, 1040)
1698
1523
  ])
1699
1524
  ]),
1700
- dialog: m((a) => [
1701
- l("div", wa, [
1702
- p(j, D(s(a), {
1525
+ dialog: m((o) => [
1526
+ l("div", fs, [
1527
+ p(j, H(a(o), {
1703
1528
  type: "icon",
1704
- class: ["size-18", r.value ? "text-amber-500" : "text-blue-600 dark:text-blue-400"],
1705
- onClick: F(v, ["stop"])
1529
+ class: ["size-18", n.value ? "text-amber-500" : "text-blue-600 dark:text-blue-400"],
1530
+ onClick: P(i, ["stop"])
1706
1531
  }), {
1707
1532
  default: m(() => [
1708
- p(z(re), { class: "size-16" })
1533
+ p(B, {
1534
+ name: "Power",
1535
+ class: "size-16"
1536
+ })
1709
1537
  ]),
1710
1538
  _: 2
1711
1539
  }, 1040, ["class"])
@@ -1714,9 +1542,79 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1714
1542
  _: 1
1715
1543
  }, 16));
1716
1544
  }
1717
- }), za = { class: "flex justify-center relative mx-2 my-6" }, Va = /* @__PURE__ */ B({
1545
+ }), ps = { class: "w-full relative" }, gs = ["disabled"], ms = {
1546
+ key: 0,
1547
+ class: "text-red-400 h-[24px] px-2 text-xs"
1548
+ }, bs = "after:absolute after:h-1 after:w-full after:left-0 after:translate-y-[6px] after:-z-10 dark:after:bg-gray-800 after:bg-white after:transition-all", O = /* @__PURE__ */ V({
1549
+ __name: "VTextField",
1550
+ props: {
1551
+ modelValue: { default: null },
1552
+ label: { default: "" },
1553
+ component: { default: "input" },
1554
+ type: { default: "text" },
1555
+ message: { default: "" },
1556
+ readonly: { type: Boolean },
1557
+ disabled: { type: [Boolean, Number], default: !1 },
1558
+ active: { type: Boolean, default: !1 },
1559
+ hideMessage: { type: Boolean, default: !1 }
1560
+ },
1561
+ emits: ["update:modelValue", "click", "on-icon", "enter", "blur"],
1562
+ setup(t, { emit: e }) {
1563
+ const n = e, d = {
1564
+ input: "w-full h-full px-4 outline-none overflow-ellipsis flex-auto overflow-hidden w-[calc(100% - 20px)] bg-transparent",
1565
+ textarea: "h-full w-full px-4 py-2 outline-none flex-auto bg-transparent"
1566
+ }, a = L(!1), u = M(() => [
1567
+ t.component === "input" ? "h-[40px]" : "min-h-[40px]",
1568
+ t.message ? "border-red-500 hover:border-red-400" : "",
1569
+ t.disabled ? "border-gray-400 opacity-40" : "border-gray-300 hover:border-gray-400 dark:border-gray-700/50 hover:dark:border-gray-600/50"
1570
+ ]), i = M(() => d[t.component]), f = (g) => g || g === 0, c = M(() => [bs, a.value || f(t.modelValue) || t.active ? "top-0 left-3 text-xs" : "top-1/2"]), o = M(() => t.component === "input"), r = (g) => {
1571
+ a.value = !1, n("blur", g);
1572
+ }, h = (g) => {
1573
+ a.value = !0, n("blur", g);
1574
+ }, y = ({ target: g }) => n("update:modelValue", g.value), $ = (g) => n("enter", g), b = (g) => n("click", g), w = (g) => {
1575
+ t.disabled || n("on-icon", g);
1576
+ };
1577
+ return (g, F) => (s(), v("div", ps, [
1578
+ l("label", {
1579
+ class: z(["relative w-full border border-gray-300 dark:border-gray-700 flex items-center rounded transition bg-white dark:bg-gray-800", u.value])
1580
+ }, [
1581
+ l("span", {
1582
+ class: z(["absolute left-4 transition-all rounded -translate-y-1/2 text-gray-600 dark:text-gray-400", c.value])
1583
+ }, _(g.label), 3),
1584
+ (s(), A(G(g.component), H(g.$attrs, {
1585
+ value: g.modelValue,
1586
+ disabled: !!g.disabled,
1587
+ type: g.type,
1588
+ readonly: g.readonly,
1589
+ rows: o.value ? null : "2",
1590
+ wrap: o.value ? null : "soft",
1591
+ class: i.value,
1592
+ onFocus: h,
1593
+ onBlur: r,
1594
+ onInput: y,
1595
+ onClick: b,
1596
+ onKeypress: Ce($, ["enter"])
1597
+ }), null, 16, ["value", "disabled", "type", "readonly", "rows", "wrap", "class"])),
1598
+ g.$slots.icon ? (s(), v("button", {
1599
+ key: 0,
1600
+ disabled: !!g.disabled,
1601
+ class: z([{ "cursor-pointer": !g.disabled }, "flex-[0_0_50px] h-full flex items-center justify-center text-gray-400 border-l border-gray-300 dark:border-gray-700/50"]),
1602
+ onClick: w
1603
+ }, [
1604
+ C(g.$slots, "icon")
1605
+ ], 10, gs)) : I("", !0)
1606
+ ], 2),
1607
+ g.hideMessage ? I("", !0) : (s(), v("div", ms, [
1608
+ C(g.$slots, "message", {}, () => [
1609
+ T(_(g.message), 1)
1610
+ ])
1611
+ ]))
1612
+ ]));
1613
+ }
1614
+ }), ys = { class: "flex justify-center relative mx-2 my-6" }, xs = /* @__PURE__ */ V({
1718
1615
  __name: "CardDate",
1719
1616
  props: {
1617
+ size: {},
1720
1618
  id: {},
1721
1619
  name: {},
1722
1620
  type: {},
@@ -1729,39 +1627,40 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1729
1627
  get: {},
1730
1628
  getTo: {}
1731
1629
  },
1732
- emits: ["click", "setState"],
1733
- setup(e, { emit: t }) {
1734
- const d = t, r = e, s = (f) => new Date(+f * 1e3).toISOString().slice(0, 16), n = (f) => {
1735
- var i;
1736
- const a = (i = f == null ? void 0 : f.target) == null ? void 0 : i.valueAsNumber;
1737
- a && d("setState", a / 1e3);
1738
- }, v = ({ name: f, value: a, opts: i = {} }) => {
1739
- const { disabled: h } = i;
1740
- return { label: f, modelValue: s(a), disabled: h };
1741
- }, u = (f) => d("click", f);
1742
- return (f, a) => (o(), A(W, D(r, { onClick: u }), {
1743
- dialog: m((i) => [
1744
- l("div", za, [
1745
- p(O, D(v(i), {
1630
+ emits: ["edit", "close", "click", "open", "setState"],
1631
+ setup(t, { emit: e }) {
1632
+ const n = t, d = e, a = (c) => new Date(+c * 1e3).toISOString().slice(0, 16), u = (c) => {
1633
+ var r;
1634
+ const o = (r = c == null ? void 0 : c.target) == null ? void 0 : r.valueAsNumber;
1635
+ o && d("setState", o / 1e3);
1636
+ }, i = ({ name: c, value: o, opts: r = {} }) => {
1637
+ const { disabled: h } = r;
1638
+ return { label: c, modelValue: a(o), disabled: h };
1639
+ }, f = (c) => d("click", c);
1640
+ return (c, o) => (s(), A(q, H(n, { onClick: f }), {
1641
+ dialog: m((r) => [
1642
+ l("div", ys, [
1643
+ p(O, H(i(r), {
1746
1644
  type: "datetime-local",
1747
- onChange: n
1645
+ onChange: u
1748
1646
  }), null, 16)
1749
1647
  ])
1750
1648
  ]),
1751
1649
  _: 1
1752
1650
  }, 16));
1753
1651
  }
1754
- }), Ba = { class: "flex justify-end" }, Ma = {
1755
- class: /* @__PURE__ */ V("text-blue-600 dark:text-blue-400")
1756
- }, Ia = {
1652
+ }), ks = { class: "flex justify-end" }, _s = {
1653
+ class: /* @__PURE__ */ z("text-blue-600 dark:text-blue-400")
1654
+ }, $s = {
1757
1655
  width: "32",
1758
1656
  height: "32",
1759
1657
  viewBox: "-7.5 -7.5 75 75",
1760
1658
  version: "1.1",
1761
1659
  style: { transform: "rotate(-90deg)" }
1762
- }, Aa = ["stroke-dashoffset"], Sa = { class: "absolute top-1/2 left-1/2 -translate-1/2 text-white z-10 font-bold text-xl" }, Ta = /* @__PURE__ */ B({
1660
+ }, ws = ["stroke-dashoffset"], Cs = { class: "absolute top-1/2 left-1/2 -translate-1/2 text-white z-10 font-bold text-xl" }, zs = /* @__PURE__ */ V({
1763
1661
  __name: "CardDimmer",
1764
1662
  props: {
1663
+ size: {},
1765
1664
  id: {},
1766
1665
  name: {},
1767
1666
  type: {},
@@ -1774,18 +1673,18 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1774
1673
  get: {},
1775
1674
  getTo: {}
1776
1675
  },
1777
- emits: ["click", "setState"],
1778
- setup(e, { emit: t }) {
1779
- const d = t, r = e, s = ({ opts: a, value: i }) => Math.round(100 * +i / ((a == null ? void 0 : a.max) || 255)), n = ({ opts: a, value: i }) => Math.round(187 - +i / ((a == null ? void 0 : a.max) || 255) * 187), v = ({ value: a, opts: i }) => {
1780
- const { min: h = 0, max: b = 255, step: $ = 1, disabled: y } = i || {};
1781
- return { min: h, max: b, step: $, value: a, disabled: !!y, class: y ? "" : "cursor-pointer" };
1782
- }, u = (a) => d("click", a), f = (a) => d("setState", +a.target.value || 0);
1783
- return (a, i) => (o(), A(W, D(r, { onClick: u }), {
1676
+ emits: ["edit", "close", "click", "open", "setState"],
1677
+ setup(t, { emit: e }) {
1678
+ const n = t, d = e, a = ({ opts: o, value: r }) => Math.round(100 * +r / ((o == null ? void 0 : o.max) || 255)), u = ({ opts: o, value: r }) => Math.round(187 - +r / ((o == null ? void 0 : o.max) || 255) * 187), i = ({ value: o, opts: r }) => {
1679
+ const { min: h = 0, max: y = 255, step: $ = 1, disabled: b } = r || {};
1680
+ return { min: h, max: y, step: $, value: o, disabled: !!b, class: b ? "" : "cursor-pointer" };
1681
+ }, f = (o) => d("click", o), c = (o) => d("setState", +o.target.value || 0);
1682
+ return (o, r) => (s(), A(q, H(n, { onClick: f }), {
1784
1683
  header: m((h) => [
1785
- l("div", Ba, [
1786
- l("div", Ma, [
1787
- (o(), c("svg", Ia, [
1788
- i[0] || (i[0] = l("circle", {
1684
+ l("div", ks, [
1685
+ l("div", _s, [
1686
+ (s(), v("svg", $s, [
1687
+ r[0] || (r[0] = l("circle", {
1789
1688
  class: "stroke-gray-300 dark:stroke-gray-700",
1790
1689
  r: "30",
1791
1690
  cx: "30",
@@ -1800,36 +1699,37 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1800
1699
  stroke: "currentColor",
1801
1700
  "stroke-width": "8",
1802
1701
  "stroke-linecap": "butt",
1803
- "stroke-dashoffset": n(h),
1702
+ "stroke-dashoffset": u(h),
1804
1703
  fill: "transparent",
1805
1704
  "stroke-dasharray": "187"
1806
- }, null, 8, Aa)
1705
+ }, null, 8, ws)
1807
1706
  ]))
1808
1707
  ])
1809
1708
  ])
1810
1709
  ]),
1811
1710
  dialog: m((h) => [
1812
1711
  l("div", {
1813
- class: V(["flex justify-center relative mx-2 my-6", v(h).disabled ? "opacity-40" : ""])
1712
+ class: z(["flex justify-center relative mx-2 my-6", i(h).disabled ? "opacity-40" : ""])
1814
1713
  }, [
1815
- i[1] || (i[1] = l("div", { class: "absolute h-10 w-full top-0 left-0 bg-gray-400 dark:bg-gray-800 z-0 rounded-md" }, null, -1)),
1714
+ r[1] || (r[1] = l("div", { class: "absolute h-10 w-full top-0 left-0 bg-gray-400 dark:bg-gray-800 z-0 rounded-md" }, null, -1)),
1816
1715
  l("div", {
1817
1716
  class: "absolute h-10 top-0 left-0 bg-blue-600 dark:bg-blue-400 z-0 rounded-md transition-[width_0.3s_linear]",
1818
- style: J(`width: ${s(h)}%`)
1717
+ style: K(`width: ${a(h)}%`)
1819
1718
  }, null, 4),
1820
- l("div", Sa, _(s(h)) + " %", 1),
1821
- l("input", D({ type: "range" }, v(h), {
1719
+ l("div", Cs, _(a(h)) + " %", 1),
1720
+ l("input", H({ type: "range" }, i(h), {
1822
1721
  class: "w-full h-10 z-10 appearance-none opacity-0",
1823
- onChange: f
1722
+ onChange: c
1824
1723
  }), null, 16)
1825
1724
  ], 2)
1826
1725
  ]),
1827
1726
  _: 1
1828
1727
  }, 16));
1829
1728
  }
1830
- }), Ha = /* @__PURE__ */ B({
1729
+ }), Vs = /* @__PURE__ */ V({
1831
1730
  __name: "CardInfo",
1832
1731
  props: {
1732
+ size: {},
1833
1733
  id: {},
1834
1734
  name: {},
1835
1735
  type: {},
@@ -1842,19 +1742,20 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1842
1742
  get: {},
1843
1743
  getTo: {}
1844
1744
  },
1845
- emits: ["click"],
1846
- setup(e, { emit: t }) {
1847
- const d = t, r = e, s = (n) => d("click", n);
1848
- return (n, v) => (o(), A(W, D(r, { onClick: s }), {
1745
+ emits: ["edit", "close", "click", "open", "setState"],
1746
+ setup(t, { emit: e }) {
1747
+ const n = t, d = e, a = (u) => d("click", u);
1748
+ return (u, i) => (s(), A(q, H(n, { onClick: a }), {
1849
1749
  default: m(() => [
1850
- C(n.$slots, "dialog")
1750
+ C(u.$slots, "dialog")
1851
1751
  ]),
1852
1752
  _: 3
1853
1753
  }, 16));
1854
1754
  }
1855
- }), Da = { class: "flex justify-center relative mx-2 my-6" }, La = /* @__PURE__ */ B({
1755
+ }), Bs = { class: "flex justify-center relative mx-2 my-6" }, Ms = /* @__PURE__ */ V({
1856
1756
  __name: "CardInput",
1857
1757
  props: {
1758
+ size: {},
1858
1759
  id: {},
1859
1760
  name: {},
1860
1761
  type: {},
@@ -1867,22 +1768,25 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1867
1768
  get: {},
1868
1769
  getTo: {}
1869
1770
  },
1870
- emits: ["click", "setState"],
1871
- setup(e, { emit: t }) {
1872
- const d = t, r = e, s = ({ name: u, value: f, opts: a = {} }) => {
1873
- const { disabled: i } = a;
1874
- return { label: u, modelValue: f, disabled: i };
1875
- }, n = (u) => d("setState", u.target.value), v = (u) => d("click", u);
1876
- return (u, f) => (o(), A(W, D(r, { onClick: v }), {
1877
- dialog: m((a) => [
1878
- l("div", Da, [
1879
- p(O, D(s(a), {
1771
+ emits: ["edit", "close", "click", "open", "setState"],
1772
+ setup(t, { emit: e }) {
1773
+ const n = t, d = e, a = ({ name: f, value: c, opts: o = {} }) => {
1774
+ const { disabled: r } = o;
1775
+ return { label: f, modelValue: c, disabled: r };
1776
+ }, u = (f) => d("setState", f.target.value), i = (f) => d("click", f);
1777
+ return (f, c) => (s(), A(q, H(n, { onClick: i }), {
1778
+ dialog: m((o) => [
1779
+ l("div", Bs, [
1780
+ p(O, H(a(o), {
1880
1781
  autofocus: "",
1881
- onEnter: n,
1882
- onBlur: n
1782
+ onEnter: u,
1783
+ onBlur: u
1883
1784
  }), {
1884
1785
  icon: m(() => [
1885
- p(z(K), { class: "size-6 rotate-270" })
1786
+ p(B, {
1787
+ name: "Chevron",
1788
+ class: "size-6 rotate-270"
1789
+ })
1886
1790
  ]),
1887
1791
  _: 2
1888
1792
  }, 1040)
@@ -1891,9 +1795,77 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1891
1795
  _: 1
1892
1796
  }, 16));
1893
1797
  }
1894
- }), ja = { class: "flex justify-center py-4" }, Na = /* @__PURE__ */ B({
1798
+ }), Is = ["value", "selected"], Z = /* @__PURE__ */ V({
1799
+ __name: "VSelect",
1800
+ props: {
1801
+ value: { default: "" },
1802
+ label: {},
1803
+ disabled: { type: [Boolean, Number], default: !1 },
1804
+ list: {}
1805
+ },
1806
+ emits: ["update:modelValue", "change"],
1807
+ setup(t, { emit: e }) {
1808
+ const n = e, d = M(() => {
1809
+ const f = t.list.find((c) => c.value === t.value);
1810
+ return (f == null ? void 0 : f.name) || "";
1811
+ }), a = (f) => ({ "rotate-x-180": f }), u = (f) => {
1812
+ const c = f.target, o = (c == null ? void 0 : c.value) || 0, r = t.list.find((h) => h.value == o);
1813
+ r && n("change", r);
1814
+ }, i = (f, c) => {
1815
+ f.click(new Event("click")), n("change", c);
1816
+ };
1817
+ return (f, c) => (s(), A(X, H({ class: "relative w-full" }, f.$attrs, { top: "46px" }), {
1818
+ activator: m(({ on: o, show: r }) => [
1819
+ p(O, {
1820
+ "model-value": d.value,
1821
+ readonly: "",
1822
+ hideMessage: "",
1823
+ disabled: f.disabled,
1824
+ active: "",
1825
+ label: f.label,
1826
+ onClick: o.click,
1827
+ onOnIcon: o.click
1828
+ }, {
1829
+ icon: m(() => [
1830
+ p(B, {
1831
+ name: "Chevron",
1832
+ class: z(["transition", a(r)])
1833
+ }, null, 8, ["class"])
1834
+ ]),
1835
+ _: 2
1836
+ }, 1032, ["model-value", "disabled", "label", "onClick", "onOnIcon"]),
1837
+ l("select", {
1838
+ class: "md:hidden absolute left-0 top-0 w-full h-full opacity-0",
1839
+ name: "select",
1840
+ onChange: u
1841
+ }, [
1842
+ (s(!0), v(D, null, N(f.list, (h) => (s(), v("option", {
1843
+ key: h.value,
1844
+ value: h.value,
1845
+ selected: f.value === h.value
1846
+ }, _(h.name), 9, Is))), 128))
1847
+ ], 32)
1848
+ ]),
1849
+ default: m(({ on: o }) => [
1850
+ p(Y, {
1851
+ list: f.list,
1852
+ onClick: (r) => i(o, r)
1853
+ }, {
1854
+ default: m(({ item: r }) => [
1855
+ C(f.$slots, "default", { item: r }, () => [
1856
+ T(_(r.name), 1)
1857
+ ])
1858
+ ]),
1859
+ _: 2
1860
+ }, 1032, ["list", "onClick"])
1861
+ ]),
1862
+ _: 3
1863
+ }, 16));
1864
+ }
1865
+ }), As = { class: "flex justify-center py-4" }, Ss = /* @__PURE__ */ V({
1895
1866
  __name: "CardList",
1896
1867
  props: {
1868
+ size: {},
1897
1869
  id: {},
1898
1870
  name: {},
1899
1871
  type: {},
@@ -1906,31 +1878,31 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1906
1878
  get: {},
1907
1879
  getTo: {}
1908
1880
  },
1909
- emits: ["click", "setState"],
1910
- setup(e, { emit: t }) {
1911
- const d = t, r = e, s = (f) => d("click", f), n = ({ value: f }) => d("setState", f), v = ({ opts: f, value: a }) => {
1912
- var i;
1913
- return Array.isArray(f == null ? void 0 : f.list) && ((i = f == null ? void 0 : f.list.find((h) => h.value === a)) == null ? void 0 : i.name) || a;
1914
- }, u = ({ name: f, value: a, opts: i = {} }) => {
1915
- const { list: h = [], disabled: b } = i;
1916
- return { label: f, value: a, list: h, disabled: b };
1881
+ emits: ["edit", "close", "click", "open", "setState"],
1882
+ setup(t, { emit: e }) {
1883
+ const n = t, d = e, a = (c) => d("click", c), u = ({ value: c }) => d("setState", c), i = ({ opts: c, value: o }) => {
1884
+ var r;
1885
+ return Array.isArray(c == null ? void 0 : c.list) && ((r = c == null ? void 0 : c.list.find((h) => h.value === o)) == null ? void 0 : r.name) || o;
1886
+ }, f = ({ name: c, value: o, opts: r = {} }) => {
1887
+ const { list: h = [], disabled: y } = r;
1888
+ return { label: c, value: o, list: h, disabled: y };
1917
1889
  };
1918
- return (f, a) => (o(), A(W, D(r, { onClick: s }), {
1919
- value: m((i) => [
1920
- T(_(v(i)), 1)
1890
+ return (c, o) => (s(), A(q, H(n, { onClick: a }), {
1891
+ value: m((r) => [
1892
+ T(_(i(r)), 1)
1921
1893
  ]),
1922
- "dialog-value": m((i) => [
1923
- T(_(v(i)), 1)
1894
+ "dialog-value": m((r) => [
1895
+ T(_(i(r)), 1)
1924
1896
  ]),
1925
- dialog: m((i) => [
1926
- l("div", ja, [
1927
- p(Q, D(u(i), { onChange: n }), null, 16)
1897
+ dialog: m((r) => [
1898
+ l("div", As, [
1899
+ p(Z, H(f(r), { onChange: u }), null, 16)
1928
1900
  ])
1929
1901
  ]),
1930
1902
  _: 1
1931
1903
  }, 16));
1932
1904
  }
1933
- }), Oa = [
1905
+ }), Ts = [
1934
1906
  "Dots",
1935
1907
  "Air",
1936
1908
  "Bulb",
@@ -1969,130 +1941,152 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
1969
1941
  "Theme",
1970
1942
  "Info",
1971
1943
  "Plus"
1972
- ], Fa = ["Button", "Info", "Dimmer", "Date", "Input", "List"], Pa = Oa.map((e, t) => ({ id: ++t, name: `${e}`, value: e })), Ea = Fa.map((e, t) => ({ id: ++t, name: `${e}`, value: `${e.toLowerCase()}` })), Ra = { class: "flex-auto flex align-center md:px-4 overflow-y-auto no-scrollbar" }, Ua = { class: "flex items-center justify-between px-4 py-2 rounded-md border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900 sticky top-0 z-30" }, Ga = { class: "px-4 py-2 flex-auto scroll-none" }, Wa = ["innerHTML"], qa = {
1944
+ ], Ds = ["Button", "Info", "Dimmer", "Date", "Input", "List"], Hs = Ts.map((t, e) => ({ id: ++e, name: `${t}`, value: t })), Ls = Ds.map((t, e) => ({ id: ++e, name: `${t}`, value: `${t.toLowerCase()}` })), js = { class: "flex w-full relative" }, Ns = { class: "flex gap-2 flex-wrap flex-auto px-2 py-1" }, Os = ["disabled"], ye = /* @__PURE__ */ V({
1945
+ __name: "VTextWrapper",
1946
+ props: {
1947
+ active: { type: Boolean },
1948
+ label: { default: "label" },
1949
+ disabled: { type: Boolean, default: !1 },
1950
+ hideIcon: { type: Boolean, default: !1 }
1951
+ },
1952
+ emits: ["icon"],
1953
+ setup(t, { emit: e }) {
1954
+ const n = e, d = M(() => t.active ? "top-0 left-3 text-xs" : "top-1/2"), a = M(() => [t.disabled ? "border-gray-400 opacity-40" : "border-gray-300 hover:border-gray-400 dark:border-gray-700/50 hover:dark:border-gray-600/50"]);
1955
+ return (u, i) => (s(), v("div", js, [
1956
+ l("div", {
1957
+ class: z(["relative w-full min-h-[40px] border border-gray-300 dark:border-gray-700 flex items-center rounded transition bg-white dark:bg-gray-800", a.value])
1958
+ }, [
1959
+ l("span", {
1960
+ class: z(["absolute left-4 transition-all rounded -translate-y-1/2 text-gray-600 dark:text-gray-400", d.value])
1961
+ }, _(u.label), 3),
1962
+ l("div", Ns, [
1963
+ C(u.$slots, "default")
1964
+ ]),
1965
+ u.hideIcon ? I("", !0) : (s(), v("button", {
1966
+ key: 0,
1967
+ disabled: u.disabled,
1968
+ class: z([{ "cursor-pointer": !u.disabled }, "h-full flex items-center justify-center text-gray-400 border-l border-gray-300 dark:border-gray-700/50 flex-[0_0_50px]"]),
1969
+ onClick: i[0] || (i[0] = (f) => n("icon", f))
1970
+ }, [
1971
+ C(u.$slots, "icon", {}, () => [
1972
+ p(B, {
1973
+ name: "Plus",
1974
+ class: "size-4"
1975
+ })
1976
+ ])
1977
+ ], 10, Os))
1978
+ ], 2)
1979
+ ]));
1980
+ }
1981
+ }), Ps = ["onClick"], Es = {
1973
1982
  key: 0,
1974
- class: "px-4 py-2 flex justify-end"
1975
- }, Te = /* @__PURE__ */ B({
1976
- __name: "AppDialog",
1983
+ class: "me-1"
1984
+ }, Fs = { class: "flex items-center z-10" }, Rs = ["onClick"], Us = {
1985
+ key: 0,
1986
+ class: "flex ps-5"
1987
+ }, Ws = { class: "font-medium me-4" }, qs = ["onClick"], xe = /* @__PURE__ */ V({
1988
+ __name: "VListObject",
1977
1989
  props: {
1978
- value: { type: Boolean },
1979
- title: {},
1980
- message: { default: "" },
1981
- callback: { type: Function },
1982
- button: { default: "OK" },
1983
- size: { default: "sm" }
1990
+ items: { default: () => ({}) },
1991
+ path: { default: "" },
1992
+ onlyValue: { type: Boolean, default: !1 }
1984
1993
  },
1985
- emits: ["close", "open"],
1986
- setup(e, { emit: t }) {
1987
- const d = t, r = L(!1), s = { sm: "max-w-[330px]", md: "max-w-[600px]", lg: "max-w-[960px]" }, n = M(() => s[e.size]), v = (a) => {
1988
- r.value = !1, setTimeout(() => {
1989
- d("close", a);
1990
- }, 300);
1991
- }, u = (a) => {
1992
- e.callback && e.callback(), v(a);
1993
- }, f = () => d("open", r.value);
1994
- return ce(() => {
1995
- setTimeout(() => {
1996
- r.value = !0;
1997
- }, 300);
1998
- }), (a, i) => (o(), A(qe, { to: "body" }, [
1999
- p(Y, {
2000
- "enter-active-class": "duration-300 ease-out",
2001
- "enter-from-class": "transform opacity-0 -translate-y-2",
2002
- "enter-to-class": "opacity-100 translate-y-0",
2003
- "leave-active-class": "duration-200 ease-in",
2004
- "leave-from-class": "opacity-100 translate-y-0",
2005
- "leave-to-class": "transform opacity-0 -translate-y-2",
2006
- onAfterEnter: f
2007
- }, {
2008
- default: m(() => [
2009
- r.value ? (o(), c("div", {
2010
- key: 0,
2011
- class: "z-20 fixed top-0 h-[100dvh] w-full left-0 flex flex-col",
2012
- onWheel: i[0] || (i[0] = F(() => {
2013
- }, ["stop"]))
2014
- }, [
2015
- l("div", {
2016
- class: "absolute h-full w-full top-0 left-0 bg-black/40 bg-blur",
2017
- onClick: v
2018
- }),
2019
- l("div", Ra, [
2020
- l("div", {
2021
- class: V(["m-auto w-full bg-gray-50 dark:bg-gray-900 shadow-lg flex flex-col rounded-sm z-30", n.value])
1994
+ emits: ["click"],
1995
+ setup(t, { emit: e }) {
1996
+ const n = e, d = () => "before:absolute before:w-full before:h-8 before:t-0 before:left-0 before:border-b before:border-gray-200 dark:before:border-gray-800/50 hover:before:bg-gray-400/10", a = L({}), u = (o) => {
1997
+ a.value[o] = !a.value[o];
1998
+ }, i = (o) => typeof o == "object", f = (o) => `${t.path ? t.path + "." : ""}${o}`, c = (o, r) => {
1999
+ n("click", { key: o, path: f(o), isObject: r });
2000
+ };
2001
+ return (o, r) => (s(), v("ul", null, [
2002
+ (s(!0), v(D, null, N(o.items, (h, y) => (s(), v("li", {
2003
+ key: y,
2004
+ class: z(i(h) ? "" : `flex items-center ${d()}`)
2005
+ }, [
2006
+ l("div", {
2007
+ class: z(["flex items-center cursor-pointer ps-2 h-8", i(h) ? `${d()}` : ""]),
2008
+ onClick: ($) => u(y)
2009
+ }, [
2010
+ i(h) ? (s(), v("div", Es, [
2011
+ p(B, {
2012
+ name: "Folder",
2013
+ class: "size-5"
2014
+ })
2015
+ ])) : I("", !0),
2016
+ l("div", null, _(y), 1),
2017
+ !o.onlyValue && i(h) ? (s(), v(D, { key: 1 }, [
2018
+ r[1] || (r[1] = l("div", { class: "flex-auto" }, null, -1)),
2019
+ l("div", Fs, [
2020
+ l("button", {
2021
+ class: "px-2 cursor-pointer text-gray-400 hover:text-gray-200",
2022
+ onClick: P(($) => c(y, i(h)), ["stop"])
2022
2023
  }, [
2023
- l("div", Ua, [
2024
- C(a.$slots, "header", {}, () => [
2025
- l("h4", null, _(a.title), 1)
2026
- ]),
2027
- p(j, {
2028
- type: "icon",
2029
- onClick: v
2030
- }, {
2031
- default: m(() => [
2032
- p(z(G))
2033
- ]),
2034
- _: 1
2035
- })
2036
- ]),
2037
- l("div", Ga, [
2038
- C(a.$slots, "default", {}, () => [
2039
- l("div", { innerHTML: a.message }, null, 8, Wa)
2040
- ])
2041
- ]),
2042
- a.$slots.footer || a.callback ? (o(), c("div", qa, [
2043
- C(a.$slots, "footer", {}, () => [
2044
- p(j, {
2045
- color: "blue",
2046
- size: "small",
2047
- onClick: u
2048
- }, {
2049
- default: m(() => [
2050
- T(_(a.button), 1)
2051
- ]),
2052
- _: 1
2053
- })
2054
- ])
2055
- ])) : I("", !0)
2056
- ], 2)
2024
+ p(B, {
2025
+ name: "Save",
2026
+ class: "size-5"
2027
+ })
2028
+ ], 8, Rs)
2057
2029
  ])
2058
- ], 32)) : I("", !0)
2059
- ]),
2060
- _: 3
2061
- })
2030
+ ], 64)) : I("", !0)
2031
+ ], 10, Ps),
2032
+ i(h) ? (s(), v("div", Us, [
2033
+ oe(p(xe, {
2034
+ class: "flex-auto",
2035
+ path: f(y),
2036
+ items: h,
2037
+ onlyValue: o.onlyValue,
2038
+ onClick: r[0] || (r[0] = ($) => n("click", $))
2039
+ }, null, 8, ["path", "items", "onlyValue"]), [
2040
+ [ze, a.value[y]]
2041
+ ])
2042
+ ])) : (s(), v(D, { key: 1 }, [
2043
+ r[2] || (r[2] = l("div", { class: "flex-auto" }, null, -1)),
2044
+ l("div", Ws, _(h), 1),
2045
+ l("button", {
2046
+ class: "px-2 cursor-pointer z-10",
2047
+ onClick: P(($) => c(y, i(h)), ["stop"])
2048
+ }, [
2049
+ p(B, {
2050
+ name: "Save",
2051
+ class: "size-5"
2052
+ })
2053
+ ], 8, qs)
2054
+ ], 64))
2055
+ ], 2))), 128))
2062
2056
  ]));
2063
2057
  }
2064
- }), Ka = { class: "" }, Za = { class: "flex border-b border-gray-200 dark:border-gray-700" }, Ja = ["onClick"], Qa = { class: "relative my-4" }, Xa = { key: 0 }, Ya = /* @__PURE__ */ B({
2058
+ }), Gs = { class: "" }, Ks = { class: "flex border-b border-gray-200 dark:border-gray-700" }, Zs = ["onClick"], Js = { class: "relative my-4" }, Qs = { key: 0 }, Xs = /* @__PURE__ */ V({
2065
2059
  __name: "VTabs",
2066
2060
  props: {
2067
2061
  value: {},
2068
2062
  items: {}
2069
2063
  },
2070
2064
  emits: ["click"],
2071
- setup(e, { expose: t, emit: d }) {
2072
- const r = d, s = L(e.value || 0), n = (u) => [s.value === u ? "" : "before:hidden"], v = (u) => {
2073
- s.value = u, r("click", u);
2065
+ setup(t, { expose: e, emit: n }) {
2066
+ const d = n, a = L(t.value || 0), u = (f) => [a.value === f ? "" : "before:hidden"], i = (f) => {
2067
+ a.value = f, d("click", f);
2074
2068
  };
2075
- return t({
2076
- setActiveTab: v,
2077
- activeTab: s
2078
- }), (u, f) => (o(), c("div", Ka, [
2079
- l("div", Za, [
2080
- (o(!0), c(H, null, N(u.items, (a, i) => (o(), c("div", {
2081
- key: i,
2069
+ return e({
2070
+ setActiveTab: i,
2071
+ activeTab: a
2072
+ }), (f, c) => (s(), v("div", Gs, [
2073
+ l("div", Ks, [
2074
+ (s(!0), v(D, null, N(f.items, (o, r) => (s(), v("div", {
2075
+ key: r,
2082
2076
  class: "relative"
2083
2077
  }, [
2084
2078
  l("button", {
2085
- class: V(["font-medium text-lg transition cursor-pointer before:h-[2px] before:absolute before:w-full before:bg-blue-700 before:left-0 before:bottom-0 px-4 py-2", n(i)]),
2086
- onClick: (h) => v(i)
2087
- }, _(a.title), 11, Ja)
2079
+ class: z(["font-medium text-lg transition cursor-pointer before:h-[2px] before:absolute before:w-full before:bg-blue-700 before:left-0 before:bottom-0 px-4 py-2", u(r)]),
2080
+ onClick: (h) => i(r)
2081
+ }, _(o.title), 11, Zs)
2088
2082
  ]))), 128))
2089
2083
  ]),
2090
- l("div", Qa, [
2091
- (o(!0), c(H, null, N(u.items, (a, i) => (o(), c("div", {
2092
- key: i,
2084
+ l("div", Js, [
2085
+ (s(!0), v(D, null, N(f.items, (o, r) => (s(), v("div", {
2086
+ key: r,
2093
2087
  class: "tab-panel"
2094
2088
  }, [
2095
- p(Y, {
2089
+ p(Q, {
2096
2090
  "enter-active-class": "transition-all duration-300 ease-out",
2097
2091
  "enter-from-class": "transform opacity-0 translate-x-2",
2098
2092
  "enter-to-class": "transform opacity-100 translate-x-0",
@@ -2101,8 +2095,8 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2101
2095
  "leave-to-class": "transform opacity-0 -translate-x-2"
2102
2096
  }, {
2103
2097
  default: m(() => [
2104
- s.value === i ? (o(), c("div", Xa, [
2105
- C(u.$slots, `tab-${i}`)
2098
+ a.value === r ? (s(), v("div", Qs, [
2099
+ C(f.$slots, `tab-${r}`)
2106
2100
  ])) : I("", !0)
2107
2101
  ]),
2108
2102
  _: 2
@@ -2111,13 +2105,212 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2111
2105
  ])
2112
2106
  ]));
2113
2107
  }
2114
- }), eo = { class: "flex flex-col" }, to = { class: "flex gap-4 mb-6" }, lo = {
2108
+ });
2109
+ function Ys(t) {
2110
+ return Ie() ? (Ae(t), !0) : !1;
2111
+ }
2112
+ const eo = typeof window < "u" && typeof document < "u", to = () => {
2113
+ };
2114
+ function ve(...t) {
2115
+ if (t.length !== 1)
2116
+ return Ve(...t);
2117
+ const e = t[0];
2118
+ return typeof e == "function" ? Be(Me(() => ({ get: e, set: to }))) : L(e);
2119
+ }
2120
+ const ie = eo ? window : void 0;
2121
+ function fe(t) {
2122
+ var e;
2123
+ const n = ne(t);
2124
+ return (e = n == null ? void 0 : n.$el) != null ? e : n;
2125
+ }
2126
+ // @__NO_SIDE_EFFECTS__
2127
+ function lo(t) {
2128
+ return M(() => !!t());
2129
+ }
2130
+ function ao(t, e, n = {}) {
2131
+ const { window: d = ie, ...a } = n;
2132
+ let u;
2133
+ const i = /* @__PURE__ */ lo(() => d && "ResizeObserver" in d), f = () => {
2134
+ u && (u.disconnect(), u = void 0);
2135
+ }, c = M(() => {
2136
+ const h = ne(t);
2137
+ return Array.isArray(h) ? h.map((y) => fe(y)) : [fe(h)];
2138
+ }), o = W(
2139
+ c,
2140
+ (h) => {
2141
+ if (f(), i.value && d) {
2142
+ u = new ResizeObserver(e);
2143
+ for (const y of h)
2144
+ y && u.observe(y, a);
2145
+ }
2146
+ },
2147
+ { immediate: !0, flush: "post" }
2148
+ ), r = () => {
2149
+ f(), o();
2150
+ };
2151
+ return Ys(r), {
2152
+ isSupported: i,
2153
+ stop: r
2154
+ };
2155
+ }
2156
+ function so(t = ie, e) {
2157
+ t && typeof t.requestAnimationFrame == "function" ? t.requestAnimationFrame(e) : e();
2158
+ }
2159
+ function oo(t = {}) {
2160
+ var e, n;
2161
+ const { window: d = ie } = t, a = ve(t == null ? void 0 : t.element), u = ve((e = t == null ? void 0 : t.input) != null ? e : ""), i = (n = t == null ? void 0 : t.styleProp) != null ? n : "height", f = ce(1), c = ce(0);
2162
+ function o() {
2163
+ var r;
2164
+ if (!a.value)
2165
+ return;
2166
+ let h = "";
2167
+ a.value.style[i] = "1px", f.value = (r = a.value) == null ? void 0 : r.scrollHeight;
2168
+ const y = ne(t == null ? void 0 : t.styleTarget);
2169
+ y ? y.style[i] = `${f.value}px` : h = `${f.value}px`, a.value.style[i] = h;
2170
+ }
2171
+ return W([u, a], () => Se(o), { immediate: !0 }), W(f, () => {
2172
+ var r;
2173
+ return (r = t == null ? void 0 : t.onResize) == null ? void 0 : r.call(t);
2174
+ }), ao(a, ([{ contentRect: r }]) => {
2175
+ c.value !== r.width && so(d, () => {
2176
+ c.value = r.width, o();
2177
+ });
2178
+ }), t != null && t.watch && W(t.watch, o, { immediate: !0, deep: !0 }), {
2179
+ textarea: a,
2180
+ input: u,
2181
+ triggerResize: o
2182
+ };
2183
+ }
2184
+ const no = { class: "flex gap-1 text-amber-500 self-start text-nowrap select-none" }, ro = ["title", "onMouseenter", "onMouseleave"], io = { class: "flex flex-auto" }, co = ["disabled"], le = /* @__PURE__ */ V({
2185
+ __name: "VFunc",
2186
+ props: {
2187
+ label: {},
2188
+ args: {},
2189
+ value: {},
2190
+ disabled: { type: Boolean, default: !1 },
2191
+ hideIcon: { type: Boolean, default: !1 }
2192
+ },
2193
+ emits: ["change", "icon", "hover"],
2194
+ setup(t, { emit: e }) {
2195
+ const { textarea: n, input: d } = oo(), a = e, u = ["v", "a", "b", "c"];
2196
+ d.value = t.value || "";
2197
+ const i = (o) => {
2198
+ try {
2199
+ return new Function(o), !0;
2200
+ } catch (r) {
2201
+ return console.warn(r), !1;
2202
+ }
2203
+ }, f = re((o) => {
2204
+ const r = o.target;
2205
+ i(r.value) && a("change", r.value);
2206
+ }, 500), c = (o) => a("icon", o);
2207
+ return W(
2208
+ () => t.value,
2209
+ () => {
2210
+ t.value && (d.value = t.value);
2211
+ }
2212
+ ), (o, r) => (s(), A(ye, {
2213
+ active: !!o.value,
2214
+ disabled: o.disabled,
2215
+ label: o.label,
2216
+ hideIcon: o.hideIcon,
2217
+ onIcon: c
2218
+ }, {
2219
+ icon: m(() => [
2220
+ o.value ? (s(), A(B, {
2221
+ key: 0,
2222
+ name: "Close",
2223
+ class: "size-4"
2224
+ })) : (s(), A(B, {
2225
+ key: 1,
2226
+ name: "Plus",
2227
+ class: "size-4"
2228
+ }))
2229
+ ]),
2230
+ default: m(() => [
2231
+ o.value ? (s(), v(D, { key: 0 }, [
2232
+ l("div", no, [
2233
+ r[3] || (r[3] = T(" ( ")),
2234
+ (s(!0), v(D, null, N(o.args, (h, y) => (s(), v(D, { key: h }, [
2235
+ l("span", {
2236
+ class: "text-blue-400/80",
2237
+ title: h,
2238
+ onMouseenter: ($) => a("hover", "enter", y),
2239
+ onMouseleave: ($) => a("hover", "leave", y)
2240
+ }, _(u[y]), 41, ro),
2241
+ r[2] || (r[2] = l("span", { class: "last:hidden" }, ",", -1))
2242
+ ], 64))), 128)),
2243
+ r[4] || (r[4] = T(" ) => "))
2244
+ ]),
2245
+ l("div", io, [
2246
+ oe(l("textarea", {
2247
+ ref_key: "textarea",
2248
+ ref: n,
2249
+ "onUpdate:modelValue": r[0] || (r[0] = (h) => Te(d) ? d.value = h : null),
2250
+ class: "outline-0 w-full resize-none",
2251
+ type: "text",
2252
+ disabled: o.disabled,
2253
+ onInput: r[1] || (r[1] = //@ts-ignore
2254
+ (...h) => E(f) && E(f)(...h))
2255
+ }, null, 40, co), [
2256
+ [De, E(d)]
2257
+ ])
2258
+ ])
2259
+ ], 64)) : I("", !0)
2260
+ ]),
2261
+ _: 1
2262
+ }, 8, ["active", "disabled", "label", "hideIcon"]));
2263
+ }
2264
+ }), uo = ["checked", "disabled"], vo = { class: "text-sm ms-2 peer-disabled:opacity-40" }, fo = /* @__PURE__ */ V({
2265
+ __name: "VCheckbox",
2266
+ props: {
2267
+ modelValue: { type: [Number, Boolean], default: !1 },
2268
+ disabled: { type: Boolean, default: !1 }
2269
+ },
2270
+ emits: ["update:modelValue", "click"],
2271
+ setup(t, { emit: e }) {
2272
+ const n = e, d = (u) => {
2273
+ const i = u.target;
2274
+ n("update:modelValue", i.checked);
2275
+ }, a = (u) => n("click", u);
2276
+ return (u, i) => (s(), v("label", {
2277
+ class: z(["inline-flex items-center relative", { "cursor-pointer": !u.disabled }]),
2278
+ onClick: a
2279
+ }, [
2280
+ l("input", {
2281
+ type: "checkbox",
2282
+ checked: !!u.modelValue,
2283
+ disabled: u.disabled,
2284
+ class: "peer size-5 transition-all appearance-none rounded border border-gray-300 dark:border-gray-700 disabled:opacity-40 not-disabled:cursor-pointer",
2285
+ onChange: d
2286
+ }, null, 40, uo),
2287
+ i[0] || (i[0] = l("button", { class: "absolute opacity-0 peer-checked:opacity-100 peer-disabled:opacity-40 top-1/2 left-[10px] transform -translate-x-1/2 -translate-y-1/2 pointer-events-none" }, [
2288
+ l("svg", {
2289
+ class: "h-3.5 w-3.5",
2290
+ viewBox: "0 0 20 20",
2291
+ fill: "currentColor",
2292
+ stroke: "currentColor",
2293
+ "stroke-width": "1"
2294
+ }, [
2295
+ l("path", {
2296
+ "fill-rule": "evenodd",
2297
+ d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
2298
+ "clip-rule": "evenodd"
2299
+ })
2300
+ ])
2301
+ ], -1)),
2302
+ l("span", vo, [
2303
+ C(u.$slots, "default")
2304
+ ])
2305
+ ], 2));
2306
+ }
2307
+ }), ho = { class: "flex flex-col" }, po = { class: "flex gap-4 mb-6" }, go = {
2115
2308
  key: 0,
2116
2309
  class: "flex gap-4"
2117
- }, so = {
2310
+ }, mo = {
2118
2311
  key: 1,
2119
2312
  class: ""
2120
- }, ao = { class: "flex flex-col md:flex-row gap-4" }, oo = { class: "flex gap-4" }, no = { class: "flex justify-between flex-auto" }, ro = ["onClick"], io = /* @__PURE__ */ B({
2313
+ }, bo = { class: "flex flex-col md:flex-row gap-4" }, yo = { class: "flex gap-4" }, xo = { class: "flex justify-between flex-auto" }, ko = ["onClick"], _o = /* @__PURE__ */ V({
2121
2314
  __name: "ItemOptions",
2122
2315
  props: {
2123
2316
  min: { default: 0 },
@@ -2129,26 +2322,26 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2129
2322
  type: {}
2130
2323
  },
2131
2324
  emits: ["update"],
2132
- setup(e, { emit: t }) {
2133
- const d = t, r = M(() => e.list.map((y, w) => ({ ...y, id: ++w }))), s = L({ name: "", value: "" }), n = M(() => e.list.length + 1), v = M(() => {
2134
- var y;
2135
- return !((y = s.value) != null && y.id);
2136
- }), u = (y) => e.type === y, f = (y, w) => d("update", y, w), a = (y) => y.map(({ name: w, value: g }) => ({ name: w, value: g })), i = ({ id: y, name: w, value: g }) => s.value = { id: y, name: w, value: g }, h = () => {
2137
- const y = n.value;
2138
- s.value = { name: `New_${y}`, value: y, id: y }, f("list", a([s.value, ...r.value]));
2139
- }, b = (y) => {
2140
- s.value.name === y.name && (s.value = { name: "", value: "" }), f("list", a(r.value.filter((w) => w.value !== y.value)));
2141
- }, $ = ve(() => {
2142
- const y = s.value;
2143
- if (!y.name || !y.value) return;
2144
- const w = r.value.map((g) => g.id === y.id ? y : g);
2145
- f("list", a(w));
2325
+ setup(t, { emit: e }) {
2326
+ const n = e, d = M(() => t.list.map((b, w) => ({ ...b, id: ++w }))), a = L({ name: "", value: "" }), u = M(() => t.list.length + 1), i = M(() => {
2327
+ var b;
2328
+ return !((b = a.value) != null && b.id);
2329
+ }), f = (b) => t.type === b, c = (b, w) => n("update", b, w), o = (b) => b.map(({ name: w, value: g }) => ({ name: w, value: g })), r = ({ id: b, name: w, value: g }) => a.value = { id: b, name: w, value: g }, h = () => {
2330
+ const b = u.value;
2331
+ a.value = { name: `New_${b}`, value: b, id: b }, c("list", o([a.value, ...d.value]));
2332
+ }, y = (b) => {
2333
+ a.value.name === b.name && (a.value = { name: "", value: "" }), c("list", o(d.value.filter((w) => w.value !== b.value)));
2334
+ }, $ = re(() => {
2335
+ const b = a.value;
2336
+ if (!b.name || !b.value) return;
2337
+ const w = d.value.map((g) => g.id === b.id ? b : g);
2338
+ c("list", o(w));
2146
2339
  }, 300);
2147
- return (y, w) => (o(), c("div", eo, [
2148
- l("div", to, [
2149
- p(ht, {
2150
- modelValue: y.disabled,
2151
- "onUpdate:modelValue": w[0] || (w[0] = (g) => f("disabled", g ? 1 : 0))
2340
+ return (b, w) => (s(), v("div", ho, [
2341
+ l("div", po, [
2342
+ p(fo, {
2343
+ modelValue: b.disabled,
2344
+ "onUpdate:modelValue": w[0] || (w[0] = (g) => c("disabled", g ? 1 : 0))
2152
2345
  }, {
2153
2346
  default: m(() => w[6] || (w[6] = [
2154
2347
  T("Disabled")
@@ -2156,41 +2349,41 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2156
2349
  _: 1
2157
2350
  }, 8, ["modelValue"])
2158
2351
  ]),
2159
- u("dimmer") ? (o(), c("div", lo, [
2352
+ f("dimmer") ? (s(), v("div", go, [
2160
2353
  p(O, {
2161
- modelValue: y.min,
2354
+ modelValue: b.min,
2162
2355
  label: "Min",
2163
- "onUpdate:modelValue": w[1] || (w[1] = (g) => f("min", +g))
2356
+ "onUpdate:modelValue": w[1] || (w[1] = (g) => c("min", +g))
2164
2357
  }, null, 8, ["modelValue"]),
2165
2358
  p(O, {
2166
- modelValue: y.max,
2359
+ modelValue: b.max,
2167
2360
  label: "Max",
2168
- "onUpdate:modelValue": w[2] || (w[2] = (g) => f("max", +g))
2361
+ "onUpdate:modelValue": w[2] || (w[2] = (g) => c("max", +g))
2169
2362
  }, null, 8, ["modelValue"]),
2170
2363
  p(O, {
2171
- modelValue: y.step,
2364
+ modelValue: b.step,
2172
2365
  label: "Step",
2173
- "onUpdate:modelValue": w[3] || (w[3] = (g) => f("step", +g))
2366
+ "onUpdate:modelValue": w[3] || (w[3] = (g) => c("step", +g))
2174
2367
  }, null, 8, ["modelValue"])
2175
2368
  ])) : I("", !0),
2176
- u("list") ? (o(), c("div", so, [
2177
- l("div", ao, [
2369
+ f("list") ? (s(), v("div", mo, [
2370
+ l("div", bo, [
2178
2371
  p(O, {
2179
- modelValue: s.value.name,
2372
+ modelValue: a.value.name,
2180
2373
  "onUpdate:modelValue": [
2181
- w[4] || (w[4] = (g) => s.value.name = g),
2182
- z($)
2374
+ w[4] || (w[4] = (g) => a.value.name = g),
2375
+ E($)
2183
2376
  ],
2184
- disabled: v.value,
2377
+ disabled: i.value,
2185
2378
  label: "Name"
2186
2379
  }, null, 8, ["modelValue", "disabled", "onUpdate:modelValue"]),
2187
2380
  p(O, {
2188
- modelValue: s.value.value,
2381
+ modelValue: a.value.value,
2189
2382
  "onUpdate:modelValue": [
2190
- w[5] || (w[5] = (g) => s.value.value = g),
2191
- z($)
2383
+ w[5] || (w[5] = (g) => a.value.value = g),
2384
+ E($)
2192
2385
  ],
2193
- disabled: v.value,
2386
+ disabled: i.value,
2194
2387
  label: "Value"
2195
2388
  }, {
2196
2389
  default: m(() => w[7] || (w[7] = [
@@ -2199,22 +2392,22 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2199
2392
  _: 1
2200
2393
  }, 8, ["modelValue", "disabled", "onUpdate:modelValue"])
2201
2394
  ]),
2202
- l("div", oo, [
2203
- p(Q, {
2204
- value: s.value.value,
2395
+ l("div", yo, [
2396
+ p(Z, {
2397
+ value: a.value.value,
2205
2398
  label: "List",
2206
- list: r.value,
2207
- onChange: i
2399
+ list: d.value,
2400
+ onChange: r
2208
2401
  }, {
2209
2402
  default: m(({ item: g }) => [
2210
- l("div", no, [
2403
+ l("div", xo, [
2211
2404
  l("span", null, _(g.name), 1),
2212
2405
  l("button", {
2213
2406
  class: "cursor-pointer size-4",
2214
- onClick: F((P) => b(g), ["prevent", "stop"])
2407
+ onClick: P((F) => y(g), ["prevent", "stop"])
2215
2408
  }, [
2216
- p(z(G))
2217
- ], 8, ro)
2409
+ p(B, { name: "Close" })
2410
+ ], 8, ko)
2218
2411
  ])
2219
2412
  ]),
2220
2413
  _: 1
@@ -2225,7 +2418,7 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2225
2418
  onClick: h
2226
2419
  }, {
2227
2420
  default: m(() => [
2228
- p(z(se))
2421
+ p(B, { name: "Plus" })
2229
2422
  ]),
2230
2423
  _: 1
2231
2424
  })
@@ -2233,15 +2426,15 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2233
2426
  ])) : I("", !0)
2234
2427
  ]));
2235
2428
  }
2236
- }), co = { class: "flex flex-col" }, uo = { class: "flex flex-col md:flex-row gap-6 min-h-[300px]" }, vo = { class: "flex-auto order-1" }, fo = { class: "flex-auto gap-x-2 order-1" }, ho = { class: "grid grid-cols-1 md:grid-cols-2 gap-x-4" }, po = { class: "flex gap-2 items-center" }, go = { class: "flex flex-col gap-4" }, mo = { class: "flex gap-2 flex-wrap flex-auto px-2 py-1" }, bo = { class: "relative group" }, yo = { class: "select-none" }, xo = ["onClick"], ko = { class: "flex justify-center order-0 md:order-1 md:mt-11" }, _o = { class: "flex-[0_0_130px] size-[130px]" }, $o = { class: "flex gap-4 justify-end" }, wo = { class: "relative min-h-[200px] max-h-100dvh overflow-auto scrollbar" }, Co = /* @__PURE__ */ B({
2429
+ }), $o = { class: "flex flex-col" }, wo = { class: "flex flex-col md:flex-row gap-6 min-h-[300px]" }, Co = { class: "flex-auto order-1" }, zo = { class: "flex-auto gap-x-2 order-1" }, Vo = { class: "grid grid-cols-1 md:grid-cols-2 gap-x-4" }, Bo = { class: "flex gap-2 items-center" }, Mo = { class: "flex flex-col gap-4" }, Io = { class: "flex gap-2 flex-wrap flex-auto px-2 py-1" }, Ao = { class: "relative group" }, So = { class: "select-none" }, To = ["onClick"], Do = { class: "flex justify-center order-0 md:order-1 md:mt-11" }, Ho = { class: "flex-[0_0_130px] size-[130px]" }, Lo = { class: "flex gap-4 justify-end" }, jo = { class: "relative min-h-[200px] max-h-100dvh overflow-auto scrollbar" }, No = /* @__PURE__ */ V({
2237
2430
  __name: "ItemEdit",
2238
2431
  props: {
2239
2432
  item: {},
2240
2433
  object: {}
2241
2434
  },
2242
2435
  emits: ["button"],
2243
- setup(e, { emit: t }) {
2244
- const d = t, r = [{ title: "Main" }, { title: "Data" }, { title: "Options" }], s = L({
2436
+ setup(t, { emit: e }) {
2437
+ const n = e, d = [{ title: "Main" }, { title: "Data" }, { title: "Options" }], a = L({
2245
2438
  id: "",
2246
2439
  name: "",
2247
2440
  type: "button",
@@ -2251,68 +2444,68 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2251
2444
  set: "",
2252
2445
  get: "",
2253
2446
  getTo: ""
2254
- }), n = L(!1), v = M(() => {
2447
+ }), u = L(!1), i = M(() => {
2255
2448
  var x;
2256
- return !((x = e.item) != null && x.id);
2257
- }), u = M(() => s.value.type === "info"), f = M(() => {
2449
+ return !((x = t.item) != null && x.id);
2450
+ }), f = M(() => a.value.type === "info"), c = M(() => {
2258
2451
  var x;
2259
- return (x = s.value.args) == null ? void 0 : x.length;
2260
- }), a = M(() => s.value.args.length > 3), i = M(() => {
2261
- const { id: x, args: k } = s.value;
2452
+ return (x = a.value.args) == null ? void 0 : x.length;
2453
+ }), o = M(() => a.value.args.length > 3), r = M(() => {
2454
+ const { id: x, args: k } = a.value;
2262
2455
  return !x || !k.length;
2263
- }), h = ({ value: x }) => s.value.icon = x, b = ({ value: x }) => {
2456
+ }), h = ({ value: x }) => a.value.icon = x, y = ({ value: x }) => {
2264
2457
  const k = x;
2265
- s.value.type = k, delete s.value.opts, ["button", "list", "dimmer"].includes(k) && (x === "button" && (s.value.opts = {}), x === "list" && (s.value.opts = { list: [] }), x === "dimmer" && (s.value.opts = { min: 0, max: 255, step: 1 }));
2458
+ a.value.type = k, delete a.value.opts, ["button", "list", "dimmer"].includes(k) && (x === "button" && (a.value.opts = {}), x === "list" && (a.value.opts = { list: [] }), x === "dimmer" && (a.value.opts = { min: 0, max: 255, step: 1 }));
2266
2459
  }, $ = (x) => {
2267
- x === "get" && (s.value.get ? delete s.value.get : s.value.get = "v"), x === "set" && (s.value.set ? delete s.value.set : s.value.set = "v"), x === "getTo" && (s.value.getTo ? delete s.value.getTo : s.value.getTo = "v");
2268
- }, y = (x) => d("button", x, s.value), w = (x) => s.value.args = s.value.args.filter((k) => k !== x), g = ({ path: x }) => {
2269
- s.value.args.length || (s.value.id = x), s.value.args.push(x), n.value = !1;
2270
- }, P = L(-1), X = (x) => P.value === x, ae = (x, k) => {
2271
- x === "enter" && (P.value = k), x === "leave" && (P.value = -1);
2272
- }, oe = (x, k) => {
2273
- x === "set" && (s.value.set = k), x === "get" && (s.value.get = k), x === "getTo" && (s.value.getTo = k), k || delete s.value[x];
2274
- }, He = () => {
2460
+ x === "get" && (a.value.get ? delete a.value.get : a.value.get = "v"), x === "set" && (a.value.set ? delete a.value.set : a.value.set = "v"), x === "getTo" && (a.value.getTo ? delete a.value.getTo : a.value.getTo = "v");
2461
+ }, b = (x) => n("button", x, a.value), w = (x) => a.value.args = a.value.args.filter((k) => k !== x), g = ({ path: x }) => {
2462
+ a.value.args.length || (a.value.id = x), a.value.args.push(x), u.value = !1;
2463
+ }, F = L(-1), J = (x) => F.value === x, ee = (x, k) => {
2464
+ x === "enter" && (F.value = k), x === "leave" && (F.value = -1);
2465
+ }, te = (x, k) => {
2466
+ x === "set" && (a.value.set = k), x === "get" && (a.value.get = k), x === "getTo" && (a.value.getTo = k), k || delete a.value[x];
2467
+ }, ke = () => {
2275
2468
  var x;
2276
- !s.value.args.length && !((x = e.item) != null && x.id) && (n.value = !0);
2277
- }, De = (x, k) => {
2278
- s.value.opts || (s.value.opts = {}), s.value.opts[x] = k, x === "disabled" && !k && delete s.value.opts[x];
2469
+ !a.value.args.length && !((x = t.item) != null && x.id) && (u.value = !0);
2470
+ }, _e = (x, k) => {
2471
+ a.value.opts || (a.value.opts = {}), a.value.opts[x] = k, x === "disabled" && !k && delete a.value.opts[x];
2279
2472
  };
2280
- return ce(() => {
2473
+ return se(() => {
2281
2474
  var x;
2282
- (x = e.item) != null && x.id && (s.value = Qe(e.item));
2283
- }), (x, k) => (o(), c("div", co, [
2284
- l("div", uo, [
2285
- l("div", vo, [
2286
- p(Ya, {
2475
+ (x = t.item) != null && x.id && (a.value = Oe(t.item));
2476
+ }), (x, k) => (s(), v("div", $o, [
2477
+ l("div", wo, [
2478
+ l("div", Co, [
2479
+ p(Xs, {
2287
2480
  class: "flex-auto",
2288
2481
  value: 0,
2289
- items: r
2482
+ items: d
2290
2483
  }, {
2291
2484
  "tab-0": m(() => [
2292
- l("div", fo, [
2485
+ l("div", zo, [
2293
2486
  p(O, {
2294
- modelValue: s.value.id,
2295
- "onUpdate:modelValue": k[0] || (k[0] = (S) => s.value.id = S),
2487
+ modelValue: a.value.id,
2488
+ "onUpdate:modelValue": k[0] || (k[0] = (S) => a.value.id = S),
2296
2489
  label: "ID",
2297
- disabled: !v.value,
2298
- onClick: He
2490
+ disabled: !i.value,
2491
+ onClick: ke
2299
2492
  }, null, 8, ["modelValue", "disabled"]),
2300
2493
  p(O, {
2301
- modelValue: s.value.name,
2302
- "onUpdate:modelValue": k[1] || (k[1] = (S) => s.value.name = S),
2494
+ modelValue: a.value.name,
2495
+ "onUpdate:modelValue": k[1] || (k[1] = (S) => a.value.name = S),
2303
2496
  label: "Name"
2304
2497
  }, null, 8, ["modelValue"]),
2305
- l("div", ho, [
2306
- p(Q, {
2307
- value: s.value.icon,
2498
+ l("div", Vo, [
2499
+ p(Z, {
2500
+ value: a.value.icon,
2308
2501
  label: "Icon",
2309
2502
  class: "mb-6",
2310
- list: z(Pa),
2503
+ list: E(Hs),
2311
2504
  onChange: h
2312
2505
  }, {
2313
2506
  default: m(({ item: S }) => [
2314
- l("div", po, [
2315
- p(Z, {
2507
+ l("div", Bo, [
2508
+ p(B, {
2316
2509
  name: `${S.value}`,
2317
2510
  class: "size-5"
2318
2511
  }, null, 8, ["name"]),
@@ -2321,578 +2514,447 @@ const Is = { class: "flex w-full relative" }, As = { class: "flex gap-2 flex-wra
2321
2514
  ]),
2322
2515
  _: 1
2323
2516
  }, 8, ["value", "list"]),
2324
- p(Q, {
2325
- value: s.value.type,
2517
+ p(Z, {
2518
+ value: a.value.type,
2326
2519
  label: "Type",
2327
- list: z(Ea),
2328
- onChange: b
2520
+ list: E(Ls),
2521
+ onChange: y
2329
2522
  }, null, 8, ["value", "list"])
2330
2523
  ])
2331
2524
  ])
2332
2525
  ]),
2333
2526
  "tab-1": m(() => [
2334
- l("div", go, [
2335
- p(Se, {
2336
- active: !!s.value.args.length,
2337
- disabled: a.value,
2527
+ l("div", Mo, [
2528
+ p(ye, {
2529
+ active: !!a.value.args.length,
2530
+ disabled: o.value,
2338
2531
  label: "Arguments",
2339
- onIcon: k[2] || (k[2] = (S) => n.value = !0)
2532
+ onIcon: k[2] || (k[2] = (S) => u.value = !0)
2340
2533
  }, {
2341
2534
  default: m(() => [
2342
- l("div", mo, [
2343
- (o(!0), c(H, null, N(s.value.args, (S, ge) => (o(), c("div", {
2535
+ l("div", Io, [
2536
+ (s(!0), v(D, null, N(a.value.args, (S, de) => (s(), v("div", {
2344
2537
  key: S,
2345
2538
  class: "flex items-center rounded-full bg-gray-200 dark:bg-gray-900/50 px-2 py-[2px] text-xs"
2346
2539
  }, [
2347
- l("div", bo, [
2348
- l("span", yo, _(S), 1),
2540
+ l("div", Ao, [
2541
+ l("span", So, _(S), 1),
2349
2542
  l("div", {
2350
- class: V(["fixed left-1/2 top-1/2 p-4 text-white bg-gray-900 rounded-md group-hover:visible invisible opacity-0 group-hover:opacity-100 z-50 transition-all -translate-1/2", X(ge) ? "visible opacity-100" : ""])
2543
+ class: z(["fixed left-1/2 top-1/2 p-4 text-white bg-gray-900 rounded-md group-hover:visible invisible opacity-0 group-hover:opacity-100 z-50 transition-all -translate-1/2", J(de) ? "visible opacity-100" : ""])
2351
2544
  }, [
2352
- l("pre", null, _(z(Ke)(S, x.object)), 1)
2545
+ l("pre", null, _(E(He)(S, x.object)), 1)
2353
2546
  ], 2)
2354
2547
  ]),
2355
- ge ? (o(), c("button", {
2548
+ de ? (s(), v("button", {
2356
2549
  key: 0,
2357
2550
  class: "cursor-pointer ms-1",
2358
2551
  onClick: (o1) => w(S)
2359
2552
  }, [
2360
- p(z(G), { class: "size-5" })
2361
- ], 8, xo)) : I("", !0)
2553
+ p(B, {
2554
+ name: "Close",
2555
+ class: "size-5"
2556
+ })
2557
+ ], 8, To)) : I("", !0)
2362
2558
  ]))), 128))
2363
2559
  ])
2364
2560
  ]),
2365
2561
  _: 1
2366
2562
  }, 8, ["active", "disabled"]),
2367
- p(ne, {
2368
- value: s.value.set,
2369
- args: s.value.args,
2370
- disabled: !f.value || u.value,
2563
+ p(le, {
2564
+ value: a.value.set,
2565
+ args: a.value.args,
2566
+ disabled: !c.value || f.value,
2371
2567
  label: "Set",
2372
2568
  onIcon: k[3] || (k[3] = (S) => $("set")),
2373
- onHover: ae,
2374
- onChange: k[4] || (k[4] = (S) => oe("set", S))
2569
+ onHover: ee,
2570
+ onChange: k[4] || (k[4] = (S) => te("set", S))
2375
2571
  }, null, 8, ["value", "args", "disabled"]),
2376
- p(ne, {
2377
- value: s.value.get,
2378
- args: s.value.args,
2379
- disabled: !f.value,
2572
+ p(le, {
2573
+ value: a.value.get,
2574
+ args: a.value.args,
2575
+ disabled: !c.value,
2380
2576
  label: "Get",
2381
2577
  onIcon: k[5] || (k[5] = (S) => $("get")),
2382
- onHover: ae,
2383
- onChange: k[6] || (k[6] = (S) => oe("get", S))
2578
+ onHover: ee,
2579
+ onChange: k[6] || (k[6] = (S) => te("get", S))
2384
2580
  }, null, 8, ["value", "args", "disabled"]),
2385
- p(ne, {
2386
- value: s.value.getTo,
2387
- args: s.value.args,
2388
- disabled: !f.value,
2581
+ p(le, {
2582
+ value: a.value.getTo,
2583
+ args: a.value.args,
2584
+ disabled: !c.value,
2389
2585
  label: "GetTo",
2390
2586
  onIcon: k[7] || (k[7] = (S) => $("getTo")),
2391
- onHover: ae,
2392
- onChange: k[8] || (k[8] = (S) => oe("getTo", S))
2587
+ onHover: ee,
2588
+ onChange: k[8] || (k[8] = (S) => te("getTo", S))
2393
2589
  }, null, 8, ["value", "args", "disabled"])
2394
2590
  ])
2395
2591
  ]),
2396
2592
  "tab-2": m(() => [
2397
- p(io, D(s.value.opts, {
2398
- value: s.value.value,
2399
- type: s.value.type,
2400
- onUpdate: De
2401
- }), null, 16, ["value", "type"])
2402
- ]),
2403
- _: 1
2404
- })
2405
- ]),
2406
- l("div", ko, [
2407
- l("div", _o, [
2408
- C(x.$slots, "default", { item: s.value })
2409
- ])
2410
- ])
2411
- ]),
2412
- l("div", $o, [
2413
- p(j, {
2414
- class: "px-4",
2415
- color: "red",
2416
- outline: "",
2417
- onClick: k[9] || (k[9] = (S) => y("remove"))
2418
- }, {
2419
- default: m(() => k[13] || (k[13] = [
2420
- T(_("Remove"))
2421
- ])),
2422
- _: 1
2423
- }),
2424
- p(j, {
2425
- class: "px-4",
2426
- color: "gray",
2427
- outline: "",
2428
- onClick: k[10] || (k[10] = (S) => y("cancel"))
2429
- }, {
2430
- default: m(() => k[14] || (k[14] = [
2431
- T(_("Cancel"))
2432
- ])),
2433
- _: 1
2434
- }),
2435
- p(j, {
2436
- class: "px-4",
2437
- color: "blue",
2438
- disabled: i.value,
2439
- onClick: k[11] || (k[11] = (S) => y(v.value ? "add" : "save"))
2440
- }, {
2441
- default: m(() => [
2442
- T(_(v.value ? "Add" : "Save"), 1)
2443
- ]),
2444
- _: 1
2445
- }, 8, ["disabled"])
2446
- ]),
2447
- n.value ? (o(), A(Te, {
2448
- key: 0,
2449
- size: "md",
2450
- title: "Select",
2451
- onClose: k[12] || (k[12] = (S) => n.value = !1)
2452
- }, {
2453
- default: m(() => [
2454
- l("div", wo, [
2455
- p(Ae, {
2456
- items: x.object,
2457
- onlyValue: !f.value,
2458
- onClick: g
2459
- }, null, 8, ["items", "onlyValue"])
2460
- ])
2461
- ]),
2462
- _: 1
2463
- })) : I("", !0)
2464
- ]));
2465
- }
2466
- }), zo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2467
- __proto__: null,
2468
- CardBase: W,
2469
- CardButton: Ca,
2470
- CardDate: Va,
2471
- CardDimmer: Ta,
2472
- CardInfo: Ha,
2473
- CardInput: La,
2474
- CardList: Na,
2475
- ItemEdit: Co
2476
- }, Symbol.toStringTag, { value: "Module" })), Vo = { class: "no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear h-full" }, Bo = /* @__PURE__ */ B({
2477
- __name: "AppAside",
2478
- props: {
2479
- isSidebar: { type: Boolean, default: !1 }
2480
- },
2481
- emits: ["sidebar"],
2482
- setup(e, { emit: t }) {
2483
- const d = t, r = () => {
2484
- e.isSidebar && d("sidebar", !e.isSidebar);
2485
- };
2486
- return (s, n) => {
2487
- const v = ee("router-link");
2488
- return o(), c(H, null, [
2489
- s.isSidebar ? (o(), c("div", {
2490
- key: 0,
2491
- class: "lg:hidden overlay fixed left-0 top-0 h-full w-full bg-black/40 z-10 bg-blur",
2492
- onClick: r
2493
- })) : I("", !0),
2494
- l("aside", {
2495
- class: V([s.isSidebar ? "translate-x-0 lg:w-[90px]" : "-translate-x-full", "overflow-x-hidden fixed top-0 left-0 z-10 flex lg:static h-full w-[290px] flex-col overflow-y-auto border-r border-gray-200 px-5 transition-all duration-350 lg:translate-x-0 dark:border-gray-800 bg-white dark:bg-gray-900"])
2496
- }, [
2497
- l("div", {
2498
- class: V([s.isSidebar ? "justify-center" : "justify-between", "sidebar-header flex items-center gap-2 pt-6 pb-6 justify-between"])
2499
- }, [
2500
- p(v, { to: "/" }, {
2501
- default: m(() => [
2502
- s.isSidebar ? (o(), A(z(Be), {
2503
- key: 0,
2504
- class: "h-[30px] text-primary"
2505
- })) : (o(), A(z(fe), {
2506
- key: 1,
2507
- class: "h-[30px] text-primary"
2508
- }))
2509
- ]),
2510
- _: 1
2511
- })
2512
- ], 2),
2513
- l("div", Vo, [
2514
- C(s.$slots, "default")
2515
- ])
2516
- ], 2)
2517
- ], 64);
2518
- };
2519
- }
2520
- }), Mo = { class: "bg-white dark:bg-gray-900 border-b border-gray-300 dark:border-gray-700 left-0 w-full z-10 sticky top-0" }, Io = { class: "px-4 py-4 sm:px-6 lg:px-8" }, Ao = { class: "container mx-auto flex flex-auto items-center" }, So = { class: "lg:hidden h-[30px]" }, To = { class: "gap-4 hidden lg:flex" }, Ho = { class: "lg:hidden flex gap-4" }, Do = { class: "ms-2" }, Lo = /* @__PURE__ */ B({
2521
- __name: "AppHeader",
2522
- props: {
2523
- changeTheme: { type: Function },
2524
- notifications: {}
2525
- },
2526
- emits: ["sidebar", "notif"],
2527
- setup(e, { emit: t }) {
2528
- const d = t, r = [
2529
- { name: "Theme", value: 1 },
2530
- { name: "Notification", value: 2 },
2531
- { name: "Logout", value: 3 }
2532
- ], s = M(() => !!e.notifications.find((i) => i.isNew)), n = (i) => d("sidebar", i), v = (i) => d("notif", i), u = async () => await fetch("/", { headers: { Authorization: "Basic AAAAAAAAAAAAAAAAAAA=" } }), f = () => {
2533
- e.changeTheme && e.changeTheme();
2534
- }, a = ({ value: i }, h) => {
2535
- i == 1 && f(), i == 2 && v(h), i == 3 && u();
2536
- };
2537
- return (i, h) => {
2538
- const b = ee("router-link");
2539
- return o(), c("header", Mo, [
2540
- l("div", Io, [
2541
- l("div", Ao, [
2542
- p(j, {
2543
- type: "icon",
2544
- color: "gray",
2545
- onClick: n
2546
- }, {
2547
- default: m(() => [
2548
- p(z(Ve), { class: "size-5" })
2549
- ]),
2550
- _: 1
2551
- }),
2552
- h[1] || (h[1] = l("div", { class: "lg:hidden flex-auto" }, null, -1)),
2553
- l("div", So, [
2554
- p(b, { to: "/" }, {
2555
- default: m(() => [
2556
- p(z(fe), { class: "h-[30px] text-primary" })
2557
- ]),
2558
- _: 1
2559
- })
2560
- ]),
2561
- h[2] || (h[2] = l("div", { class: "flex-auto" }, null, -1)),
2562
- l("div", To, [
2563
- p(j, {
2564
- type: "icon",
2565
- color: "gray",
2566
- onClick: f
2567
- }, {
2568
- default: m(() => [
2569
- p(z(Me))
2570
- ]),
2571
- _: 1
2572
- }),
2573
- p(j, {
2574
- type: "icon",
2575
- color: "gray",
2576
- onClick: v
2577
- }, {
2578
- default: m(() => [
2579
- l("span", {
2580
- class: V([s.value ? "flex" : "hidden", "absolute right-0 top-0.5 z-1 h-2 w-2 rounded-full bg-orange-400"])
2581
- }, h[0] || (h[0] = [
2582
- l("span", { class: "absolute -z-1 inline-flex h-full w-full animate-ping rounded-full bg-orange-400 opacity-75" }, null, -1)
2583
- ]), 2),
2584
- p(z(he), { class: "size-5" })
2585
- ]),
2586
- _: 1
2587
- }),
2588
- p(j, {
2589
- type: "icon",
2590
- color: "gray",
2591
- onClick: F(u, ["prevent"])
2592
- }, {
2593
- default: m(() => [
2594
- p(z(Ie), { class: "size-5" })
2595
- ]),
2596
- _: 1
2597
- })
2598
- ]),
2599
- l("div", Ho, [
2600
- p(te, {
2601
- left: "unset",
2602
- right: "0",
2603
- top: "0"
2604
- }, {
2605
- activator: m(({ on: $ }) => [
2606
- p(j, {
2607
- type: "icon",
2608
- color: "gray",
2609
- class: "flex",
2610
- onClick: $.click
2611
- }, {
2612
- default: m(() => [
2613
- p(z(Ce))
2614
- ]),
2615
- _: 2
2616
- }, 1032, ["onClick"])
2617
- ]),
2618
- default: m(() => [
2619
- p(le, {
2620
- list: r,
2621
- onClick: a
2622
- }, {
2623
- default: m(({ item: $ }) => [
2624
- l("span", Do, _($.name), 1)
2625
- ]),
2626
- _: 1
2627
- })
2628
- ]),
2629
- _: 1
2630
- })
2631
- ])
2593
+ p(_o, H(a.value.opts, {
2594
+ value: a.value.value,
2595
+ type: a.value.type,
2596
+ onUpdate: _e
2597
+ }), null, 16, ["value", "type"])
2598
+ ]),
2599
+ _: 1
2600
+ })
2601
+ ]),
2602
+ l("div", Do, [
2603
+ l("div", Ho, [
2604
+ C(x.$slots, "default", { item: a.value })
2632
2605
  ])
2633
2606
  ])
2634
- ]);
2607
+ ]),
2608
+ l("div", Lo, [
2609
+ p(j, {
2610
+ class: "px-4",
2611
+ color: "red",
2612
+ outline: "",
2613
+ onClick: k[9] || (k[9] = (S) => b("remove"))
2614
+ }, {
2615
+ default: m(() => k[13] || (k[13] = [
2616
+ T(_("Remove"))
2617
+ ])),
2618
+ _: 1
2619
+ }),
2620
+ p(j, {
2621
+ class: "px-4",
2622
+ color: "gray",
2623
+ outline: "",
2624
+ onClick: k[10] || (k[10] = (S) => b("cancel"))
2625
+ }, {
2626
+ default: m(() => k[14] || (k[14] = [
2627
+ T(_("Cancel"))
2628
+ ])),
2629
+ _: 1
2630
+ }),
2631
+ p(j, {
2632
+ class: "px-4",
2633
+ color: "blue",
2634
+ disabled: r.value,
2635
+ onClick: k[11] || (k[11] = (S) => b(i.value ? "add" : "save"))
2636
+ }, {
2637
+ default: m(() => [
2638
+ T(_(i.value ? "Add" : "Save"), 1)
2639
+ ]),
2640
+ _: 1
2641
+ }, 8, ["disabled"])
2642
+ ]),
2643
+ u.value ? (s(), A(be, {
2644
+ key: 0,
2645
+ size: "md",
2646
+ title: "Select",
2647
+ onClose: k[12] || (k[12] = (S) => u.value = !1)
2648
+ }, {
2649
+ default: m(() => [
2650
+ l("div", jo, [
2651
+ p(xe, {
2652
+ items: x.object,
2653
+ onlyValue: !c.value,
2654
+ onClick: g
2655
+ }, null, 8, ["items", "onlyValue"])
2656
+ ])
2657
+ ]),
2658
+ _: 1
2659
+ })) : I("", !0)
2660
+ ]));
2661
+ }
2662
+ }), Oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2663
+ __proto__: null,
2664
+ CardBase: q,
2665
+ CardButton: hs,
2666
+ CardDate: xs,
2667
+ CardDimmer: zs,
2668
+ CardInfo: Vs,
2669
+ CardInput: Ms,
2670
+ CardList: Ss,
2671
+ ItemEdit: No
2672
+ }, Symbol.toStringTag, { value: "Module" })), u1 = /* @__PURE__ */ V({
2673
+ __name: "VAutocomplete",
2674
+ props: {
2675
+ modelValue: { default: "" },
2676
+ label: {},
2677
+ name: { default: "" },
2678
+ message: { default: "" },
2679
+ list: {}
2680
+ },
2681
+ emits: ["update:modelValue", "select"],
2682
+ setup(t, { emit: e }) {
2683
+ const n = e, d = (u) => n("update:modelValue", u), a = (u, i) => {
2684
+ u.click(new Event("click")), n("select", i);
2635
2685
  };
2686
+ return (u, i) => (s(), A(X, H(u.$attrs, {
2687
+ top: "50px",
2688
+ "hide-on-click": ""
2689
+ }), {
2690
+ activator: m(({ on: f }) => [
2691
+ p(O, {
2692
+ "model-value": u.modelValue,
2693
+ name: u.name,
2694
+ message: u.message,
2695
+ label: u.label,
2696
+ "onUpdate:modelValue": d,
2697
+ onClick: f.open
2698
+ }, null, 8, ["model-value", "name", "message", "label", "onClick"])
2699
+ ]),
2700
+ default: m(({ on: f }) => [
2701
+ p(Y, {
2702
+ list: u.list,
2703
+ onClick: (c) => a(f, c)
2704
+ }, {
2705
+ default: m(({ item: c }) => [
2706
+ C(u.$slots, "default", { item: c }, () => [
2707
+ T(_(c.name), 1)
2708
+ ])
2709
+ ]),
2710
+ _: 2
2711
+ }, 1032, ["list", "onClick"])
2712
+ ]),
2713
+ _: 3
2714
+ }, 16));
2636
2715
  }
2637
- }), jo = { class: "no-scrollbar flex flex-col overflow-y-auto duration-300 ease-linear h-full" }, No = {
2638
- key: 0,
2639
- class: "flex flex-col gap-2 p-2"
2640
- }, Oo = /* @__PURE__ */ B({
2641
- __name: "AppNotification",
2716
+ }), Po = { class: "v-expansion__content max-h-0 overflow-hidden transition-all duration-300" }, Eo = { class: "p-4" }, v1 = /* @__PURE__ */ V({
2717
+ __name: "VExpansion",
2642
2718
  props: {
2643
- value: { type: Boolean },
2644
- notifications: {}
2719
+ label: { default: "" },
2720
+ value: { type: Boolean, default: !1 }
2645
2721
  },
2646
- emits: ["close", "remove", "read"],
2647
- setup(e, { emit: t }) {
2648
- const d = e, r = t, s = M(() => !!d.notifications.find((a) => a.isNew)), n = M(() => !!d.notifications.length), v = (a) => r("close", a), u = (a) => r("remove", a), f = (a) => r("read", a);
2649
- return (a, i) => (o(), c(H, null, [
2650
- d.value ? (o(), c("div", {
2651
- key: 0,
2652
- class: "overlay fixed left-0 top-0 h-full w-full bg-black/40 bg-blur",
2653
- onClick: v
2654
- })) : I("", !0),
2655
- l("aside", {
2656
- class: V([d.value ? "translate-x-0 " : "translate-x-full", "overflow-x-hidden fixed top-[73px] right-0 flex h-[calc(100%-73px)] w-[290px] md:w-80 border-l border-gray-200 flex-col overflow-y-auto transition-all duration-350 dark:border-gray-800 bg-white dark:bg-gray-900"])
2722
+ setup(t) {
2723
+ const e = L(null), n = L(t.value), d = () => {
2724
+ if (!e.value) return;
2725
+ const u = e.value.querySelector(".v-expansion__content");
2726
+ u && (u.style.maxHeight = n.value ? `${u.scrollHeight}px` : "0");
2727
+ }, a = () => {
2728
+ n.value = !n.value, d();
2729
+ };
2730
+ return se(() => {
2731
+ d();
2732
+ }), (u, i) => (s(), v("div", {
2733
+ ref_key: "root",
2734
+ ref: e,
2735
+ class: "border-b dark:border-gray-700 border-gray-200"
2736
+ }, [
2737
+ l("div", {
2738
+ class: "cursor-pointer min-h-[60px] px-4 flex items-center justify-between",
2739
+ onClick: a
2657
2740
  }, [
2658
- l("div", jo, [
2659
- C(a.$slots, "header", { isNew: s.value }),
2660
- n.value ? (o(), c("div", No, [
2661
- p(_e, {
2662
- "enter-active-class": "transition-all duration-300 ",
2663
- "enter-from-class": "opacity-0 translate-x-1/2",
2664
- "enter-to-class": "opacity-100 translate-x-0",
2665
- "leave-active-class": "transition-all duration-300 absolute",
2666
- "leave-from-class": "opacity-100 translate-x-0",
2667
- "leave-to-class": "opacity-0 translate-x-1/2"
2668
- }, {
2669
- default: m(() => [
2670
- (o(!0), c(H, null, N(d.notifications, (h) => (o(), c("div", {
2671
- key: h.date,
2672
- class: "relative"
2673
- }, [
2674
- C(a.$slots, "card", { item: h }, () => [
2675
- p(ha, D({ ref_for: !0 }, h, {
2676
- class: "bg-gray-200/50 dark:bg-gray-800/50 rounded-md",
2677
- onRemove: (b) => u(h),
2678
- onRead: (b) => f(h)
2679
- }), null, 16, ["onRemove", "onRead"])
2680
- ])
2681
- ]))), 128))
2682
- ]),
2683
- _: 3
2684
- })
2685
- ])) : C(a.$slots, "empty", { key: 1 })
2741
+ l("h4", null, _(u.label), 1),
2742
+ l("div", {
2743
+ class: z(["transition text-gray-400", { "rotate-180": n.value }])
2744
+ }, [
2745
+ p(B, { name: "Chevron" })
2746
+ ], 2)
2747
+ ]),
2748
+ l("div", Po, [
2749
+ l("div", Eo, [
2750
+ C(u.$slots, "default")
2686
2751
  ])
2687
- ], 2)
2688
- ], 64));
2752
+ ])
2753
+ ], 512));
2689
2754
  }
2690
- }), Fo = {}, Po = { class: "fixed h-full w-full top-0 left-0 z-20" }, Eo = { class: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" };
2691
- function Ro(e, t) {
2692
- return o(), c("div", Po, [
2693
- t[0] || (t[0] = l("div", { class: "absolute h-full w-full top-0 left-0 bg-black/60 bg-blur" }, null, -1)),
2694
- l("div", Eo, [
2695
- C(e.$slots, "default")
2696
- ])
2697
- ]);
2698
- }
2699
- const Uo = /* @__PURE__ */ $e(Fo, [["render", Ro]]), Go = { class: "mb-4 flex flex-col gap-4" }, Wo = ["onClick"], qo = { class: "flex flex-col gap-2" }, Ko = { class: "flex gap-2 ms-8" }, Zo = { class: "flex-1 first-letter:uppercase text-sm" }, Jo = /* @__PURE__ */ B({
2700
- __name: "AppNav",
2755
+ }), Fo = { class: "flex items-center cursor-pointer" }, f1 = /* @__PURE__ */ V({
2756
+ __name: "VFile",
2757
+ emits: ["change"],
2758
+ setup(t, { emit: e }) {
2759
+ const n = e, d = async (a) => {
2760
+ const u = a.target;
2761
+ u.files && n("change", u.files);
2762
+ };
2763
+ return (a, u) => (s(), v("label", Fo, [
2764
+ l("input", H({
2765
+ type: "file",
2766
+ class: "hidden"
2767
+ }, a.$attrs, { onChange: d }), null, 16),
2768
+ C(a.$slots, "default")
2769
+ ]));
2770
+ }
2771
+ }), Ro = { class: "relative flex items-end gap-0.5 w-10" }, Uo = ["title"], Wo = { class: "absolute -top-1 -left-1 text-xs text-gray-600 dark:text-gray-300" }, qo = /* @__PURE__ */ V({
2772
+ __name: "VWifiIcon",
2701
2773
  props: {
2702
- menu: { default: () => [] },
2703
- fullPath: { default: "" },
2704
- isSidebar: { type: Boolean, default: !1 }
2774
+ rssi: { default: 0 },
2775
+ channel: { default: 0 }
2705
2776
  },
2706
- emits: ["sidebar"],
2707
- setup(e, { emit: t }) {
2708
- const d = t, r = L(""), s = ({ name: v, path: u }) => {
2709
- e.isSidebar && d("sidebar", !e.isSidebar), r.value !== v && (r.value = r.value === v ? "" : v);
2710
- }, n = (v) => e.fullPath === v;
2711
- return U(
2712
- () => e.menu,
2713
- () => {
2714
- var v;
2715
- return r.value = ((v = Xe(e.menu, e.fullPath)) == null ? void 0 : v.name) || "";
2716
- }
2717
- ), (v, u) => {
2718
- const f = ee("v-icons");
2719
- return o(), c("nav", null, [
2720
- l("ul", Go, [
2721
- (o(!0), c(H, null, N(v.menu, (a) => (o(), c("li", {
2722
- key: a.name
2723
- }, [
2724
- (o(), A(q(a.path ? "router-link" : "span"), {
2725
- to: a.path,
2726
- class: V(["flex gap-2 items-center px-3 py-2 rounded-lg", n(a.path) ? "bg-blue-500/10" : "hover:bg-gray-500/10"]),
2727
- onClick: F((i) => s(a), ["prevent", "stop"])
2728
- }, {
2729
- default: m(() => [
2730
- p(f, {
2731
- name: a.icon,
2732
- class: "size-5 flex-[0_0_24px]"
2733
- }, null, 8, ["name"]),
2734
- l("span", {
2735
- class: V(["flex-1 first-letter:uppercase text-sm", v.isSidebar ? "lg:hidden" : ""])
2736
- }, _(a.name), 3),
2737
- l("button", {
2738
- class: V(["cursor-pointer", [v.isSidebar ? "lg:hidden" : ""]]),
2739
- onClick: F((i) => s(a), ["prevent", "stop"])
2740
- }, [
2741
- a.children ? (o(), A(z(K), { key: 0 })) : I("", !0)
2742
- ], 10, Wo)
2743
- ]),
2744
- _: 2
2745
- }, 1032, ["to", "class", "onClick"])),
2746
- a.children ? (o(), c("div", {
2747
- key: 0,
2748
- class: V(["translate transform overflow-hidden mt-2", [v.isSidebar ? "lg:hidden" : "", r.value === a.name ? "block" : "hidden"]])
2749
- }, [
2750
- l("ul", qo, [
2751
- (o(!0), c(H, null, N(a.children, ({ name: i, path: h, icon: b }) => (o(), c("li", { key: i }, [
2752
- (o(), A(q(h ? "router-link" : "span"), {
2753
- to: h,
2754
- class: V(["flex gap-2 items-center px-3 py-2 rounded-lg", n(h) ? "bg-blue-500/10" : "hover:bg-gray-500/10"])
2755
- }, {
2756
- default: m(() => [
2757
- l("div", Ko, [
2758
- b ? (o(), A(f, {
2759
- key: 0,
2760
- name: b,
2761
- class: "size-5 flex-[0_0_24px]"
2762
- }, null, 8, ["name"])) : I("", !0),
2763
- l("span", Zo, _(i), 1)
2764
- ])
2765
- ]),
2766
- _: 2
2767
- }, 1032, ["to", "class"]))
2768
- ]))), 128))
2769
- ])
2770
- ], 2)) : I("", !0)
2771
- ]))), 128))
2772
- ])
2773
- ]);
2774
- };
2777
+ setup(t) {
2778
+ const e = 2 * (t.rssi + 100), n = (d) => d < e;
2779
+ return (d, a) => (s(), v("div", Ro, [
2780
+ (s(), v(D, null, N([10, 15, 25, 40, 70], (u, i) => l("div", {
2781
+ key: u,
2782
+ class: z(["w-1 h-5 rounded-lg", [n(u) ? "bg-gray-900 dark:bg-gray-100" : "bg-gray-300 dark:bg-gray-700"]]),
2783
+ style: K(`height: ${(i + 1) * 5}px`),
2784
+ title: `rssi: ${d.rssi} channel: ${d.channel}`
2785
+ }, null, 14, Uo)), 64)),
2786
+ l("div", Wo, _(d.channel), 1)
2787
+ ]));
2775
2788
  }
2776
- }), Qo = {
2777
- key: 0,
2778
- class: "w-full min-w-[260px] max-w-xs p-4 bg-white rounded-lg shadow-lg dark:bg-gray-800",
2779
- role: "alert"
2780
- }, Xo = { class: "flex items-center gap-4 text-sm" }, Yo = {
2789
+ }), Go = ["onDragstart", "onDragenter"], Ko = {
2781
2790
  key: 0,
2782
- class: "text-green-600"
2783
- }, e1 = {
2784
- key: 1,
2785
- class: "relative w-full bg-gray-200 rounded-full dark:bg-gray-700 mt-2 overflow-hidden h-5"
2786
- }, t1 = { class: "absolute left-[140px] top-1/2 -translate-1/2 text-sm font-bold text-black dark:text-white text-center leading-none" }, l1 = { class: "absolute left-[140px] top-1/2 -translate-1/2 text-sm font-bold text-white text-center leading-none" }, s1 = /* @__PURE__ */ B({
2787
- __name: "AppProgress",
2791
+ class: "absolute inset-0 border border-dashed border-blue-600 rounded-lg"
2792
+ }, h1 = /* @__PURE__ */ V({
2793
+ __name: "VDragDrop",
2788
2794
  props: {
2789
- timeout: { default: 5e3 },
2790
- key: {},
2791
- status: { default: 0 },
2792
- empty: {},
2793
- size: { default: 0 },
2794
- length: { default: 0 }
2795
+ items: {},
2796
+ itemKey: { default: "id" }
2795
2797
  },
2796
- setup(e) {
2797
- const t = L(!1), d = M(() => e.status ? Math.ceil(e.size * 100 / e.length) : 100), r = M(() => !!e.length), s = M(() => !!(r.value && d.value === 100 && !e.status)), n = ve(() => {
2798
- t.value = !1;
2799
- }, e.timeout);
2800
- return U(
2801
- () => [e.size, e.status],
2802
- () => {
2803
- t.value = !0, n();
2798
+ emits: ["update:items", "order-change"],
2799
+ setup(t, { emit: e }) {
2800
+ const n = e, d = L(null), a = L(0), u = L(-1), i = ({ id: h }) => ({
2801
+ "opacity-30 scale-105 z-10": d.value === h,
2802
+ "transition-transform duration-200": d.value !== h
2803
+ }), f = (h, y, $) => {
2804
+ d.value = y, a.value = $, h.dataTransfer.effectAllowed = "move";
2805
+ }, c = (h) => {
2806
+ d.value !== null && (u.value = h);
2807
+ }, o = () => {
2808
+ d.value = null, u.value = -1;
2809
+ }, r = (h) => {
2810
+ if (h.preventDefault(), d.value && u.value !== -1) {
2811
+ const y = t.items.findIndex((b) => b[t.itemKey] === d.value), $ = u.value;
2812
+ if (y !== $ && $ !== -1) {
2813
+ const b = [...t.items], [w] = b.splice(y, 1);
2814
+ b.splice($, 0, w), n("update:items", b), n("order-change", { fromIndex: y, toIndex: $, movedItem: w, newOrder: b });
2815
+ }
2804
2816
  }
2805
- ), (v, u) => (o(), A(Y, {
2806
- "enter-active-class": "duration-300 ease-out",
2807
- "enter-from-class": "transform opacity-0 translate-x-full",
2808
- "enter-to-class": "opacity-100 translate-x-0",
2809
- "leave-active-class": "duration-200 ease-in",
2810
- "leave-from-class": "opacity-100 translate-y-0",
2811
- "leave-to-class": "transform opacity-0 -translate-y-8"
2812
- }, {
2813
- default: m(() => [
2814
- t.value ? (o(), c("div", Qo, [
2815
- l("div", Xo, [
2816
- C(v.$slots, "default", { isDone: s.value }, () => [
2817
- u[1] || (u[1] = l("div", { class: "flex-auto" }, "Progress...", -1)),
2818
- s.value ? (o(), c("span", Yo, "Done")) : I("", !0)
2819
- ]),
2820
- l("button", {
2821
- class: "cursor-pointer transition text-gray-700 dark:text-gray-400 self-start hover:text-gray-600",
2822
- onClick: u[0] || (u[0] = (f) => t.value = !1)
2823
- }, [
2824
- p(z(G), { class: "h-4 w-4" })
2817
+ u.value = -1;
2818
+ };
2819
+ return (h, y) => (s(), v("div", {
2820
+ onDragover: y[1] || (y[1] = P(() => {
2821
+ }, ["prevent"])),
2822
+ onDrop: r
2823
+ }, [
2824
+ p(pe, {
2825
+ "enter-active-class": "transition-all duration-300 ease",
2826
+ "enter-from-class": "opacity-0 translate-x-8",
2827
+ "enter-to-class": "opacity-100 translate-x-0",
2828
+ "leave-active-class": "transition-all duration-300 ease absolute",
2829
+ "leave-from-class": "opacity-100 translate-x-0",
2830
+ "leave-to-class": "opacity-0 translate-x-8",
2831
+ "move-class": "transition-all duration-300 ease"
2832
+ }, {
2833
+ default: m(() => [
2834
+ (s(!0), v(D, null, N(h.items, ($, b) => (s(), v("div", {
2835
+ key: `${$.id}_drug`,
2836
+ class: z(["relative group", i($)]),
2837
+ draggable: "true",
2838
+ onDragstart: (w) => f(w, $.id, b),
2839
+ onDragenter: (w) => c(b),
2840
+ onDragend: o,
2841
+ onDragover: y[0] || (y[0] = P(() => {
2842
+ }, ["prevent"]))
2843
+ }, [
2844
+ C(h.$slots, "default", {
2845
+ item: $,
2846
+ key: $.id,
2847
+ index: b,
2848
+ isDragging: d.value === $.id
2849
+ }),
2850
+ u.value === b && d.value !== $.id ? (s(), v("div", Ko)) : I("", !0)
2851
+ ], 42, Go))), 128))
2852
+ ]),
2853
+ _: 3
2854
+ })
2855
+ ], 32));
2856
+ }
2857
+ }), Zo = { class: "min-w-full" }, Jo = { class: "border-y border-gray-100 py-3 dark:border-gray-800" }, Qo = { class: "bg-gray-50 dark:bg-gray-800" }, Xo = { class: "flex items-center" }, Yo = { class: "divide-y divide-gray-100 dark:divide-gray-800" }, e1 = ["onClick"], t1 = { class: "flex items-center text-gray-700 dark:text-gray-400" }, l1 = { key: 1 }, a1 = {
2858
+ class: "py-3 whitespace-nowrap",
2859
+ colspan: "9"
2860
+ }, s1 = { class: "flex items-center justify-center text-theme-sm text-gray-700 dark:text-gray-400 px-2" }, p1 = /* @__PURE__ */ V({
2861
+ __name: "VTable",
2862
+ props: {
2863
+ headers: { default: () => [] },
2864
+ items: { default: () => [] }
2865
+ },
2866
+ emits: ["click"],
2867
+ setup(t, { emit: e }) {
2868
+ const n = e, d = (i, f) => n("click", { item: i, event: f }), a = (i) => (i == null ? void 0 : i.className) || "", u = (i, { key: f }) => i == null ? void 0 : i[f];
2869
+ return (i, f) => (s(), v("table", Zo, [
2870
+ l("thead", Jo, [
2871
+ l("tr", Qo, [
2872
+ (s(!0), v(D, null, N(i.headers, (c, o) => (s(), v("th", {
2873
+ key: o,
2874
+ class: z(["py-2 whitespace-nowrap text-gray-500 dark:text-gray-400 font-normal px-4", a(c)])
2875
+ }, [
2876
+ C(i.$slots, "header", { item: c }, () => [
2877
+ l("div", Xo, _(c.name), 1)
2825
2878
  ])
2826
- ]),
2827
- r.value ? (o(), c("div", {
2828
- key: 0,
2829
- class: "h-[2px] fixed top-0 left-0 w-full bg-blue-600 transition-all duration-500",
2830
- style: J(`width: ${d.value}%`)
2831
- }, null, 4)) : I("", !0),
2832
- r.value ? (o(), c("div", e1, [
2833
- l("div", t1, _(d.value) + "%", 1),
2834
- l("div", {
2835
- class: "bg-blue-600 rounded-full h-5 overflow-hidden relative transition-all duration-500",
2836
- style: J(`width: ${d.value}%`)
2837
- }, [
2838
- l("div", l1, _(d.value) + "%", 1)
2839
- ], 4)
2840
- ])) : I("", !0)
2841
- ])) : I("", !0)
2879
+ ], 2))), 128))
2880
+ ])
2842
2881
  ]),
2843
- _: 3
2844
- }));
2882
+ l("tbody", Yo, [
2883
+ i.items.length ? (s(!0), v(D, { key: 0 }, N(i.items, (c, o) => (s(), v("tr", {
2884
+ key: o,
2885
+ class: "hover:bg-gray-50/50 dark:hover:bg-gray-800/50",
2886
+ onClick: (r) => d(c, r)
2887
+ }, [
2888
+ (s(!0), v(D, null, N(i.headers, (r, h) => (s(), v("td", {
2889
+ key: h,
2890
+ class: "py-2 whitespace-nowrap px-4"
2891
+ }, [
2892
+ l("div", t1, [
2893
+ C(i.$slots, r.key, { item: c }, () => [
2894
+ T(_(u(c, r)), 1)
2895
+ ])
2896
+ ])
2897
+ ]))), 128))
2898
+ ], 8, e1))), 128)) : (s(), v("tr", l1, [
2899
+ l("td", a1, [
2900
+ l("div", s1, [
2901
+ C(i.$slots, "empty", {}, () => [
2902
+ f[0] || (f[0] = T("The list is empty"))
2903
+ ])
2904
+ ])
2905
+ ])
2906
+ ]))
2907
+ ])
2908
+ ]));
2845
2909
  }
2846
- }), a1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2847
- __proto__: null,
2848
- AppAside: Bo,
2849
- AppDialog: Te,
2850
- AppHeader: Lo,
2851
- AppNav: Jo,
2852
- AppNotification: Oo,
2853
- AppOverlay: Uo,
2854
- AppProgress: s1
2855
- }, Symbol.toStringTag, { value: "Module" })), ke = { ...a1, ...zo, VButton: j, VLoader: we, VDropdown: te, VList: le, VTextField: O, VSelect: Q, VWifiIcon: fs, VIcons: Z, CardGray: ca }, g1 = {
2856
- install: (e, t) => {
2857
- Object.keys(ke).forEach((d) => {
2858
- e.component(d, ke[d]);
2859
- }), et.forEach(({ name: d, directive: r }) => e.directive(d, r));
2910
+ }), he = { ...Oa, ...Oo, VButton: j, VLoader: me, VDropdown: X, VList: Y, VTextField: O, VSelect: Z, VWifiIcon: qo, VIcon: B, CardMain: as }, g1 = {
2911
+ install: (t) => {
2912
+ Object.keys(he).forEach((e) => {
2913
+ t.component(e, he[e]);
2914
+ }), Ee.forEach(({ name: e, directive: n }) => t.directive(e, n));
2860
2915
  }
2861
2916
  };
2862
2917
  export {
2863
- Bo as AppAside,
2864
- Te as AppDialog,
2865
- Lo as AppHeader,
2866
- Jo as AppNav,
2867
- Oo as AppNotification,
2868
- Uo as AppOverlay,
2869
- s1 as AppProgress,
2870
- p1 as BlockBreadcrumb,
2871
- h1 as BlockInfo,
2872
- f1 as BlockTable,
2873
- ca as CardGray,
2874
- ha as CardNotification,
2875
- d1 as VAutocomplete,
2918
+ Gl as AppAside,
2919
+ be as AppDialog,
2920
+ fa as AppHeader,
2921
+ Aa as AppNav,
2922
+ xa as AppNotification,
2923
+ Ca as AppOverlay,
2924
+ Na as AppProgress,
2925
+ c1 as BlockBreadcrumb,
2926
+ d1 as BlockInfo,
2927
+ q as CardBase,
2928
+ hs as CardButton,
2929
+ xs as CardDate,
2930
+ zs as CardDimmer,
2931
+ Vs as CardInfo,
2932
+ Ms as CardInput,
2933
+ Ss as CardList,
2934
+ as as CardMain,
2935
+ ma as CardNotification,
2936
+ No as ItemEdit,
2937
+ u1 as VAutocomplete,
2876
2938
  j as VButton,
2877
- ht as VCheckbox,
2878
- v1 as VDragDrop,
2879
- te as VDropdown,
2880
- c1 as VExpansion,
2881
- u1 as VFile,
2882
- ne as VFunc,
2883
- Z as VIcons,
2884
- le as VList,
2885
- Ae as VListObject,
2886
- we as VLoader,
2887
- Q as VSelect,
2939
+ fo as VCheckbox,
2940
+ h1 as VDragDrop,
2941
+ X as VDropdown,
2942
+ v1 as VExpansion,
2943
+ f1 as VFile,
2944
+ le as VFunc,
2945
+ B as VIcon,
2946
+ Y as VList,
2947
+ xe as VListObject,
2948
+ me as VLoader,
2949
+ Z as VSelect,
2950
+ p1 as VTable,
2888
2951
  O as VTextField,
2889
- Se as VTextWrapper,
2890
- fs as VWifiIcon,
2952
+ ye as VTextWrapper,
2953
+ qo as VWifiIcon,
2891
2954
  g1 as default,
2892
- Ke as getDataValue,
2955
+ He as getDataValue,
2893
2956
  y1 as getFunction,
2894
2957
  x1 as getParamsData,
2895
2958
  k1 as getStateItem,
2896
- _1 as setStateItem,
2897
- w1 as useForm
2959
+ _1 as setStateItem
2898
2960
  };