@bagelink/vue 0.0.1147 → 0.0.1155

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 (256) hide show
  1. package/dist/common-C_IH8b5S.cjs +12580 -0
  2. package/dist/common-DoeNgx31.js +12579 -0
  3. package/dist/components/AddressSaerch.vue.d.ts +7 -0
  4. package/dist/components/AddressSaerch.vue.d.ts.map +1 -0
  5. package/dist/components/ComboBox.vue.d.ts +3 -3
  6. package/dist/components/Comments.vue.d.ts +2 -2
  7. package/dist/components/ContactSubmissions.vue.d.ts +2 -2
  8. package/dist/components/DataPreview.vue.d.ts +12 -35
  9. package/dist/components/DataPreview.vue.d.ts.map +1 -1
  10. package/dist/components/DataTable/DataTable.vue.d.ts +1 -1
  11. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -1
  12. package/dist/components/DataTable/useTableData.d.ts +10 -2
  13. package/dist/components/DataTable/useTableData.d.ts.map +1 -1
  14. package/dist/components/Draggable/Draggable.vue.d.ts +45 -0
  15. package/dist/components/Draggable/Draggable.vue.d.ts.map +1 -0
  16. package/dist/components/Draggable/index.d.ts +5 -0
  17. package/dist/components/Draggable/index.d.ts.map +1 -0
  18. package/dist/components/Draggable/useDraggable.d.ts +31 -0
  19. package/dist/components/Draggable/useDraggable.d.ts.map +1 -0
  20. package/dist/components/Draggable/vDraggable.d.ts +4 -0
  21. package/dist/components/Draggable/vDraggable.d.ts.map +1 -0
  22. package/dist/components/FormSchema.vue.d.ts +4 -5
  23. package/dist/components/LangText.vue.d.ts +2 -2
  24. package/dist/components/ListView.vue.d.ts.map +1 -1
  25. package/dist/components/ModalBglForm.vue.d.ts +20 -21
  26. package/dist/components/PersonPreview.vue.d.ts +4 -5
  27. package/dist/components/PersonPreviewFormkit.vue.d.ts +3 -4
  28. package/dist/components/Popover.vue.d.ts +10 -0
  29. package/dist/components/Popover.vue.d.ts.map +1 -0
  30. package/dist/components/RTXEditor.vue.d.ts +3 -3
  31. package/dist/components/TabbedLayout.vue.d.ts +4 -5
  32. package/dist/components/TableSchema.vue.d.ts +2 -2
  33. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  34. package/dist/components/charts/BarChart.vue.d.ts +2 -2
  35. package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
  36. package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
  37. package/dist/components/form/ItemRef.vue.d.ts +3 -5
  38. package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
  39. package/dist/components/form/MaterialIcon.vue.d.ts +3 -4
  40. package/dist/components/form/PlainInputField.vue.d.ts +3 -3
  41. package/dist/components/form/index.d.ts +0 -1
  42. package/dist/components/form/index.d.ts.map +1 -1
  43. package/dist/components/form/inputs/CurrencyInput.vue.d.ts +3 -3
  44. package/dist/components/form/inputs/DatetimeInput.vue.d.ts +3 -3
  45. package/dist/components/form/inputs/DurationInput.vue.d.ts +3 -3
  46. package/dist/components/form/inputs/DynamicLinkField.vue.d.ts +3 -3
  47. package/dist/components/form/inputs/EmailInput.vue.d.ts +3 -3
  48. package/dist/components/form/inputs/FloatInput.vue.d.ts +3 -3
  49. package/dist/components/form/inputs/IntInput.vue.d.ts +3 -3
  50. package/dist/components/form/inputs/LinkField.vue.d.ts +3 -3
  51. package/dist/components/form/inputs/Password.vue.d.ts +3 -3
  52. package/dist/components/form/inputs/PlainText.vue.d.ts +3 -3
  53. package/dist/components/form/inputs/ReadOnlyInput.vue.d.ts +2 -2
  54. package/dist/components/form/inputs/RichText/Toolbar.vue.d.ts +14 -0
  55. package/dist/components/form/inputs/RichText/Toolbar.vue.d.ts.map +1 -0
  56. package/dist/components/form/inputs/RichText/formatting.d.ts +11 -0
  57. package/dist/components/form/inputs/RichText/formatting.d.ts.map +1 -0
  58. package/dist/components/form/inputs/RichText/richtext-types.d.ts +3 -0
  59. package/dist/components/form/inputs/RichText/richtext-types.d.ts.map +1 -0
  60. package/dist/components/form/inputs/RichText2/Toolbar.vue.d.ts.map +1 -1
  61. package/dist/components/form/inputs/RichText2/index.vue.d.ts +0 -1
  62. package/dist/components/form/inputs/RichText2/index.vue.d.ts.map +1 -1
  63. package/dist/components/form/inputs/RichTextEditor.vue.d.ts +3 -3
  64. package/dist/components/form/inputs/SelectField.vue.d.ts +8 -6
  65. package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
  66. package/dist/components/form/inputs/SelectInput.vue.d.ts +4 -4
  67. package/dist/components/form/inputs/TextArea.vue.d.ts +3 -3
  68. package/dist/components/form/inputs/TextInput.vue.d.ts +1 -1
  69. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  70. package/dist/components/form/inputs/Upload/UploadFile.vue.d.ts +86 -0
  71. package/dist/components/form/inputs/Upload/UploadFile.vue.d.ts.map +1 -0
  72. package/dist/components/formkit/AddressArray.vue.d.ts +2 -2
  73. package/dist/components/formkit/BankDetailsArray.vue.d.ts +2 -2
  74. package/dist/components/formkit/ContactArrayFormKit.vue.d.ts +2 -2
  75. package/dist/components/formkit/FileUploader.vue.d.ts +2 -2
  76. package/dist/components/formkit/MiscFields.vue.d.ts +2 -2
  77. package/dist/components/formkit/Toggle.vue.d.ts +2 -2
  78. package/dist/components/index.d.ts +2 -0
  79. package/dist/components/index.d.ts.map +1 -1
  80. package/dist/components/layout/Layout.vue.d.ts +1 -1
  81. package/dist/components/layout/Layout.vue.d.ts.map +1 -1
  82. package/dist/components/sortable/Animation.d.ts +43 -0
  83. package/dist/components/sortable/Animation.d.ts.map +1 -0
  84. package/dist/components/sortable/BrowserInfo.d.ts +7 -0
  85. package/dist/components/sortable/BrowserInfo.d.ts.map +1 -0
  86. package/dist/components/sortable/EventDispatcher.d.ts +13 -0
  87. package/dist/components/sortable/EventDispatcher.d.ts.map +1 -0
  88. package/dist/components/sortable/PluginManager.d.ts +27 -0
  89. package/dist/components/sortable/PluginManager.d.ts.map +1 -0
  90. package/dist/components/sortable/Sortable.d.ts +81 -0
  91. package/dist/components/sortable/Sortable.d.ts.map +1 -0
  92. package/dist/components/sortable/index.d.ts +5 -0
  93. package/dist/components/sortable/index.d.ts.map +1 -0
  94. package/dist/components/sortable/utils.d.ts +49 -0
  95. package/dist/components/sortable/utils.d.ts.map +1 -0
  96. package/dist/components/whatsapp/form/MsgTemplate.vue.d.ts +3 -4
  97. package/dist/components/whatsapp/form/TextVariableExamples.vue.d.ts +2 -2
  98. package/dist/composables/drag-n-drop/useDraggable.d.ts +2 -0
  99. package/dist/composables/drag-n-drop/useDraggable.d.ts.map +1 -0
  100. package/dist/composables/useSchemaField.d.ts +15 -0
  101. package/dist/composables/useSchemaField.d.ts.map +1 -0
  102. package/dist/editor-CUDRLdmS.js +4 -0
  103. package/dist/editor-Cu374vEW.cjs +4 -0
  104. package/dist/editor-a8DSbb6P.js +4 -0
  105. package/dist/editor-xBt_vIha.cjs +4 -0
  106. package/dist/heic2any-8wMqMfB_.js +933 -0
  107. package/dist/heic2any-BrqcNzfV.js +935 -0
  108. package/dist/heic2any-C8KwH72N.cjs +934 -0
  109. package/dist/heic2any-k9wDCKka.cjs +932 -0
  110. package/dist/index-DiG-xM9T.cjs +35016 -0
  111. package/dist/index-nGuSAiY2.js +35017 -0
  112. package/dist/index.cjs +1322 -884
  113. package/dist/index.mjs +1324 -886
  114. package/dist/plugins/drag-n-drop/draggable.d.ts +4 -0
  115. package/dist/plugins/drag-n-drop/draggable.d.ts.map +1 -0
  116. package/dist/plugins/drag-n-drop/droppable.d.ts +4 -0
  117. package/dist/plugins/drag-n-drop/droppable.d.ts.map +1 -0
  118. package/dist/plugins/drag-n-drop/index.d.ts +5 -0
  119. package/dist/plugins/drag-n-drop/index.d.ts.map +1 -0
  120. package/dist/plugins/drag-n-drop/useDraggable.d.ts +8 -0
  121. package/dist/plugins/drag-n-drop/useDraggable.d.ts.map +1 -0
  122. package/dist/plugins/drag-n-drop/useDroppable.d.ts +7 -0
  123. package/dist/plugins/drag-n-drop/useDroppable.d.ts.map +1 -0
  124. package/dist/style.css +186 -208
  125. package/dist/types/materialIcon.d.ts +2 -0
  126. package/dist/types/materialIcon.d.ts.map +1 -0
  127. package/dist/utils/objects.d.ts +0 -1
  128. package/package.json +1 -1
  129. package/src/components/DataPreview.vue +45 -116
  130. package/src/components/DataTable/DataTable.vue +18 -12
  131. package/src/components/DataTable/useTableData.ts +50 -16
  132. package/src/components/Draggable/Draggable.vue +64 -0
  133. package/src/components/Draggable/index.ts +4 -0
  134. package/src/components/Draggable/useDraggable.ts +632 -0
  135. package/src/components/Draggable/vDraggable.ts +17 -0
  136. package/src/components/ListView.vue +6 -2
  137. package/src/components/Pill.vue +1 -1
  138. package/src/components/form/BagelForm.vue +16 -101
  139. package/src/components/form/FieldArray.vue +21 -3
  140. package/src/components/form/index.ts +0 -1
  141. package/src/components/form/inputs/TextInput.vue +5 -5
  142. package/src/components/index.ts +5 -1
  143. package/src/composables/useSchemaField.ts +193 -0
  144. package/src/styles/text.css +15 -11
  145. package/dist/components/Accordion.d.ts +0 -12
  146. package/dist/components/Accordion.d.ts.map +0 -1
  147. package/dist/components/AccordionItem.d.ts +0 -34
  148. package/dist/components/AccordionItem.d.ts.map +0 -1
  149. package/dist/components/Alert.d.ts +0 -34
  150. package/dist/components/Alert.d.ts.map +0 -1
  151. package/dist/components/Avatar.d.ts +0 -36
  152. package/dist/components/Avatar.d.ts.map +0 -1
  153. package/dist/components/Badge.d.ts +0 -22
  154. package/dist/components/Badge.d.ts.map +0 -1
  155. package/dist/components/BglVideo.d.ts +0 -20
  156. package/dist/components/BglVideo.d.ts.map +0 -1
  157. package/dist/components/Btn.d.ts +0 -99
  158. package/dist/components/Btn.d.ts.map +0 -1
  159. package/dist/components/Card.d.ts +0 -39
  160. package/dist/components/Card.d.ts.map +0 -1
  161. package/dist/components/Carousel.d.ts +0 -74
  162. package/dist/components/Carousel.d.ts.map +0 -1
  163. package/dist/components/DataPreview.d.ts +0 -42
  164. package/dist/components/DataPreview.d.ts.map +0 -1
  165. package/dist/components/Drop.vue.d.ts +0 -34
  166. package/dist/components/Drop.vue.d.ts.map +0 -1
  167. package/dist/components/FileUploader.vue.d.ts +0 -60
  168. package/dist/components/FileUploader.vue.d.ts.map +0 -1
  169. package/dist/components/Flag.d.ts +0 -20
  170. package/dist/components/Flag.d.ts.map +0 -1
  171. package/dist/components/ListItem.d.ts +0 -34
  172. package/dist/components/ListItem.d.ts.map +0 -1
  173. package/dist/components/ListView.d.ts +0 -13
  174. package/dist/components/ListView.d.ts.map +0 -1
  175. package/dist/components/MapEmbed.d.ts +0 -3
  176. package/dist/components/MapEmbed.d.ts.map +0 -1
  177. package/dist/components/MaterialIcon.d.ts +0 -26
  178. package/dist/components/MaterialIcon.d.ts.map +0 -1
  179. package/dist/components/Modal.d.ts +0 -46
  180. package/dist/components/Modal.d.ts.map +0 -1
  181. package/dist/components/ModalConfirm.d.ts +0 -24
  182. package/dist/components/ModalConfirm.d.ts.map +0 -1
  183. package/dist/components/ModalForm.d.ts +0 -78
  184. package/dist/components/ModalForm.d.ts.map +0 -1
  185. package/dist/components/NavBar.d.ts +0 -64
  186. package/dist/components/NavBar.d.ts.map +0 -1
  187. package/dist/components/PageTitle.d.ts +0 -24
  188. package/dist/components/PageTitle.d.ts.map +0 -1
  189. package/dist/components/RouterWrapper.d.ts +0 -3
  190. package/dist/components/RouterWrapper.d.ts.map +0 -1
  191. package/dist/components/TableSchema.d.ts +0 -35
  192. package/dist/components/TableSchema.d.ts.map +0 -1
  193. package/dist/components/Title.d.ts +0 -42
  194. package/dist/components/Title.d.ts.map +0 -1
  195. package/dist/components/TopBar.d.ts +0 -12
  196. package/dist/components/TopBar.d.ts.map +0 -1
  197. package/dist/components/dashboard/Lineart.d.ts +0 -20
  198. package/dist/components/dashboard/Lineart.d.ts.map +0 -1
  199. package/dist/components/form/BglField.d.ts +0 -25
  200. package/dist/components/form/BglField.d.ts.map +0 -1
  201. package/dist/components/form/BglForm.d.ts +0 -75
  202. package/dist/components/form/BglForm.d.ts.map +0 -1
  203. package/dist/components/form/inputs/CheckInput.d.ts +0 -56
  204. package/dist/components/form/inputs/CheckInput.d.ts.map +0 -1
  205. package/dist/components/form/inputs/Checkbox.d.ts +0 -16
  206. package/dist/components/form/inputs/Checkbox.d.ts.map +0 -1
  207. package/dist/components/form/inputs/ColorPicker.d.ts +0 -48
  208. package/dist/components/form/inputs/ColorPicker.d.ts.map +0 -1
  209. package/dist/components/form/inputs/DateInput.d.ts +0 -64
  210. package/dist/components/form/inputs/DateInput.d.ts.map +0 -1
  211. package/dist/components/form/inputs/DatePicker.d.ts +0 -33
  212. package/dist/components/form/inputs/DatePicker.d.ts.map +0 -1
  213. package/dist/components/form/inputs/FileUpload.d.ts +0 -108
  214. package/dist/components/form/inputs/FileUpload.d.ts.map +0 -1
  215. package/dist/components/form/inputs/JSONInput.d.ts +0 -53
  216. package/dist/components/form/inputs/JSONInput.d.ts.map +0 -1
  217. package/dist/components/form/inputs/RadioGroup.d.ts +0 -42
  218. package/dist/components/form/inputs/RadioGroup.d.ts.map +0 -1
  219. package/dist/components/form/inputs/RadioPillsInput.d.ts +0 -48
  220. package/dist/components/form/inputs/RadioPillsInput.d.ts.map +0 -1
  221. package/dist/components/form/inputs/RichText.d.ts +0 -20
  222. package/dist/components/form/inputs/RichText.d.ts.map +0 -1
  223. package/dist/components/form/inputs/RichText2/Toolbar.d.ts +0 -22
  224. package/dist/components/form/inputs/RichText2/Toolbar.d.ts.map +0 -1
  225. package/dist/components/form/inputs/RichText2/index.d.ts +0 -24
  226. package/dist/components/form/inputs/RichText2/index.d.ts.map +0 -1
  227. package/dist/components/form/inputs/SelectInput.d.ts +0 -55
  228. package/dist/components/form/inputs/SelectInput.d.ts.map +0 -1
  229. package/dist/components/form/inputs/SignaturePad.d.ts +0 -72
  230. package/dist/components/form/inputs/SignaturePad.d.ts.map +0 -1
  231. package/dist/components/form/inputs/TableField.d.ts +0 -45
  232. package/dist/components/form/inputs/TableField.d.ts.map +0 -1
  233. package/dist/components/form/inputs/TelInput.d.ts +0 -241
  234. package/dist/components/form/inputs/TelInput.d.ts.map +0 -1
  235. package/dist/components/form/inputs/TextInput.d.ts +0 -90
  236. package/dist/components/form/inputs/TextInput.d.ts.map +0 -1
  237. package/dist/components/form/inputs/ToggleInput.d.ts +0 -58
  238. package/dist/components/form/inputs/ToggleInput.d.ts.map +0 -1
  239. package/dist/components/layout/BottomMenu.d.ts +0 -27
  240. package/dist/components/layout/BottomMenu.d.ts.map +0 -1
  241. package/dist/components/layout/Layout.d.ts +0 -58
  242. package/dist/components/layout/Layout.d.ts.map +0 -1
  243. package/dist/components/layout/SidebarMenu.d.ts +0 -38
  244. package/dist/components/layout/SidebarMenu.d.ts.map +0 -1
  245. package/dist/components/layout/TabbedLayout.d.ts +0 -42
  246. package/dist/components/layout/TabbedLayout.d.ts.map +0 -1
  247. package/dist/components/layout/Tabs.d.ts +0 -31
  248. package/dist/components/layout/Tabs.d.ts.map +0 -1
  249. package/dist/components/layout/TabsBody.d.ts +0 -23
  250. package/dist/components/layout/TabsBody.d.ts.map +0 -1
  251. package/dist/components/layout/TabsNav.d.ts +0 -35
  252. package/dist/components/layout/TabsNav.d.ts.map +0 -1
  253. package/dist/styles.css +0 -14073
  254. package/dist/vue.css +0 -14073
  255. package/src/components/form/BglField.vue +0 -132
  256. package/src/components/form/BglForm.vue +0 -157
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var __defProp2 = Object.defineProperty;
3
- var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
6
  const vue = require("vue");
7
7
  const vueRouter = require("vue-router");
@@ -61,9 +61,9 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
61
61
  };
62
62
  }
63
63
  });
64
- const _hoisted_1$X = ["aria-expanded", "aria-controls"];
65
- const _hoisted_2$E = { class: "accordion-label" };
66
- const _hoisted_3$v = ["id", "aria-hidden"];
64
+ const _hoisted_1$W = ["aria-expanded", "aria-controls"];
65
+ const _hoisted_2$D = { class: "accordion-label" };
66
+ const _hoisted_3$u = ["id", "aria-hidden"];
67
67
  const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
68
68
  __name: "AccordionItem",
69
69
  props: {
@@ -127,18 +127,18 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
127
127
  key: 0,
128
128
  class: vue.normalizeClass(["accordion-icon", [_ctx.iconClass, { open: vue.unref(isOpen) && _ctx.iconType === "expand_more" }]])
129
129
  }, [
130
- vue.createVNode(vue.unref(_sfc_main$p), { icon: computedIcon.value }, null, 8, ["icon"])
130
+ vue.createVNode(vue.unref(_sfc_main$q), { icon: computedIcon.value }, null, 8, ["icon"])
131
131
  ], 2)) : vue.createCommentVNode("", true),
132
132
  vue.renderSlot(_ctx.$slots, "head", {}, () => [
133
- vue.createElementVNode("span", _hoisted_2$E, vue.toDisplayString(_ctx.label), 1)
133
+ vue.createElementVNode("span", _hoisted_2$D, vue.toDisplayString(_ctx.label), 1)
134
134
  ], true),
135
135
  iconPosition.value === "end" ? (vue.openBlock(), vue.createElementBlock("span", {
136
136
  key: 1,
137
137
  class: vue.normalizeClass(["accordion-icon", [_ctx.iconClass, { open: vue.unref(isOpen) && _ctx.iconType === "expand_more" }]])
138
138
  }, [
139
- vue.createVNode(vue.unref(_sfc_main$p), { icon: computedIcon.value }, null, 8, ["icon"])
139
+ vue.createVNode(vue.unref(_sfc_main$q), { icon: computedIcon.value }, null, 8, ["icon"])
140
140
  ], 2)) : vue.createCommentVNode("", true)
141
- ], 8, _hoisted_1$X),
141
+ ], 8, _hoisted_1$W),
142
142
  vue.createVNode(vue.Transition, { name: "expand" }, {
143
143
  default: vue.withCtx(() => [
144
144
  vue.unref(isOpen) ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -148,7 +148,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
148
148
  "aria-hidden": vue.unref(isOpen) ? "false" : "true"
149
149
  }, [
150
150
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
151
- ], 8, _hoisted_3$v)) : vue.createCommentVNode("", true)
151
+ ], 8, _hoisted_3$u)) : vue.createCommentVNode("", true)
152
152
  ]),
153
153
  _: 3
154
154
  })
@@ -164,7 +164,7 @@ const _export_sfc = (sfc, props2) => {
164
164
  return target;
165
165
  };
166
166
  const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["__scopeId", "data-v-3334f637"]]);
167
- const _hoisted_1$W = { class: "relative" };
167
+ const _hoisted_1$V = { class: "relative" };
168
168
  const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
169
169
  __name: "AddressSearch",
170
170
  emits: ["addressSelected"],
@@ -187,8 +187,8 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
187
187
  (_a2 = suggestion.value) == null ? void 0 : _a2.show();
188
188
  }
189
189
  return (_ctx, _cache) => {
190
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
191
- vue.createVNode(vue.unref(_sfc_main$V), {
190
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
191
+ vue.createVNode(vue.unref(_sfc_main$U), {
192
192
  ref_key: "suggestion",
193
193
  ref: suggestion,
194
194
  noAutoFocus: true,
@@ -203,7 +203,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
203
203
  }, null, 8, ["modelValue"])
204
204
  ]),
205
205
  default: vue.withCtx(() => [
206
- vue.createVNode(vue.unref(ListView), { class: "-mt-2 hm-300px" }, {
206
+ vue.createVNode(vue.unref(_sfc_main$e), { class: "-mt-2 hm-300px" }, {
207
207
  default: vue.withCtx(() => [
208
208
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(searchResults), (result2, index2) => {
209
209
  return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$f), {
@@ -223,7 +223,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
223
223
  };
224
224
  }
225
225
  });
226
- const _hoisted_1$V = {
226
+ const _hoisted_1$U = {
227
227
  key: 1,
228
228
  class: "bgl_btn-flex"
229
229
  };
@@ -293,8 +293,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
293
293
  key: 0,
294
294
  class: "h-100p",
295
295
  size: "15"
296
- })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
297
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
296
+ })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
297
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
298
298
  key: 0,
299
299
  icon: _ctx.icon,
300
300
  class: "transition-400"
@@ -303,7 +303,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
303
303
  !vue.unref(slots).default && _ctx.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
304
304
  vue.createTextVNode(vue.toDisplayString(_ctx.value), 1)
305
305
  ], 64)) : vue.createCommentVNode("", true),
306
- _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
306
+ _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
307
307
  key: 2,
308
308
  icon: _ctx.iconEnd,
309
309
  class: "transition-400"
@@ -318,8 +318,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
318
318
  }
319
319
  });
320
320
  const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["__scopeId", "data-v-7b18a02c"]]);
321
- const _hoisted_1$U = ["dismissable"];
322
- const _hoisted_2$D = { class: "m-0" };
321
+ const _hoisted_1$T = ["dismissable"];
322
+ const _hoisted_2$C = { class: "m-0" };
323
323
  const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
324
324
  __name: "Alert",
325
325
  props: {
@@ -341,14 +341,14 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
341
341
  class: vue.normalizeClass(["alert", [_ctx.type]]),
342
342
  dismissable: _ctx.dismissable
343
343
  }, [
344
- _ctx.icon !== "none" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
344
+ _ctx.icon !== "none" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
345
345
  key: 0,
346
346
  class: "alert_icon",
347
347
  icon: _ctx.icon || _ctx.type,
348
348
  size: 2,
349
349
  color: color2[_ctx.type]
350
350
  }, null, 8, ["icon", "color"])) : vue.createCommentVNode("", true),
351
- vue.createElementVNode("p", _hoisted_2$D, vue.toDisplayString(_ctx.message), 1),
351
+ vue.createElementVNode("p", _hoisted_2$C, vue.toDisplayString(_ctx.message), 1),
352
352
  vue.createVNode(Btn, {
353
353
  flat: "",
354
354
  thin: "",
@@ -356,12 +356,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
356
356
  icon: "close",
357
357
  onClick: _cache[0] || (_cache[0] = ($event) => isDismissed.value = true)
358
358
  })
359
- ], 10, _hoisted_1$U)) : vue.createCommentVNode("", true);
359
+ ], 10, _hoisted_1$T)) : vue.createCommentVNode("", true);
360
360
  };
361
361
  }
362
362
  });
363
363
  const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["__scopeId", "data-v-064bdd20"]]);
364
- const _hoisted_1$T = ["src", "alt"];
364
+ const _hoisted_1$S = ["src", "alt"];
365
365
  const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
366
366
  __name: "Avatar",
367
367
  props: {
@@ -380,7 +380,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
380
380
  key: 0,
381
381
  src: _ctx.src,
382
382
  alt: _ctx.name
383
- }, null, 8, _hoisted_1$T)) : (vue.openBlock(), vue.createElementBlock("p", {
383
+ }, null, 8, _hoisted_1$S)) : (vue.openBlock(), vue.createElementBlock("p", {
384
384
  key: 1,
385
385
  style: vue.normalizeStyle({ "line-height": `${_ctx.size}px`, "font-size": `calc(1.5rem * ${_ctx.size} / 50)` })
386
386
  }, vue.toDisplayString((_ctx.fallback || vue.unref(initials)(_ctx.name || "")).toUpperCase()), 5))
@@ -403,13 +403,13 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
403
403
  return vue.openBlock(), vue.createElementBlock("div", {
404
404
  class: vue.normalizeClass(["pill", [_ctx.color]])
405
405
  }, [
406
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
406
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
407
407
  key: 0,
408
408
  class: "inline",
409
409
  icon: _ctx.icon
410
410
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
411
411
  vue.createTextVNode(" " + vue.toDisplayString(_ctx.text) + " ", 1),
412
- _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
412
+ _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
413
413
  key: 1,
414
414
  class: "inline",
415
415
  icon: _ctx.iconEnd
@@ -419,7 +419,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
419
419
  }
420
420
  });
421
421
  const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["__scopeId", "data-v-689f051f"]]);
422
- const _hoisted_1$S = { key: 1 };
422
+ const _hoisted_1$R = { key: 1 };
423
423
  const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
424
424
  __name: "BglComponent",
425
425
  props: {
@@ -440,16 +440,16 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
440
440
  return TextInput;
441
441
  }
442
442
  if (props2.field.$el === "number") return NumberInput;
443
- if (props2.field.$el === "array") return _sfc_main$P;
443
+ if (props2.field.$el === "array") return _sfc_main$Q;
444
444
  if (props2.field.$el === "select") return SelectInput;
445
445
  if (props2.field.$el === "toggle") return ToggleInput;
446
446
  if (props2.field.$el === "check") return CheckInput;
447
447
  if (props2.field.$el === "richtext") return RichText;
448
448
  if (props2.field.$el === "upload") return UploadInput;
449
449
  if (props2.field.$el === "file") return FileUpload;
450
- if (props2.field.$el === "date") return _sfc_main$K;
450
+ if (props2.field.$el === "date") return _sfc_main$L;
451
451
  if (props2.field.$el === "tabs") return TabsNav;
452
- if (props2.field.$el === "form") return _sfc_main$S;
452
+ if (props2.field.$el === "form") return _sfc_main$R;
453
453
  return props2.field.$el ?? "div";
454
454
  });
455
455
  function getFieldData(path) {
@@ -566,7 +566,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
566
566
  id: [props2.id, child.id].filter(Boolean).join("."),
567
567
  field: child,
568
568
  "parent-path": props2.id
569
- }, null, 8, ["id", "field", "parent-path"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$S, vue.toDisplayString(child), 1))
569
+ }, null, 8, ["id", "field", "parent-path"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$R, vue.toDisplayString(child), 1))
570
570
  ], 64);
571
571
  }), 128))
572
572
  ], 64))
@@ -576,9 +576,9 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
576
576
  };
577
577
  }
578
578
  });
579
- const _hoisted_1$R = ["src"];
580
- const _hoisted_2$C = ["autoplay", "muted", "loop", "controls", "playsinline"];
581
- const _hoisted_3$u = ["src", "type"];
579
+ const _hoisted_1$Q = ["src"];
580
+ const _hoisted_2$B = ["autoplay", "muted", "loop", "controls", "playsinline"];
581
+ const _hoisted_3$t = ["src", "type"];
582
582
  const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
583
583
  __name: "BglVideo",
584
584
  props: {
@@ -656,7 +656,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
656
656
  allowfullscreen: "",
657
657
  title: "Video",
658
658
  allow: "autoplay"
659
- }, null, 12, _hoisted_1$R)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
659
+ }, null, 12, _hoisted_1$Q)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
660
660
  key: 1,
661
661
  ref_key: "video",
662
662
  ref: video,
@@ -670,14 +670,14 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
670
670
  vue.createElementVNode("source", {
671
671
  src: _ctx.src,
672
672
  type: `video/${videoFormat.value}`
673
- }, null, 8, _hoisted_3$u)
674
- ], 12, _hoisted_2$C)) : vue.createCommentVNode("", true)
673
+ }, null, 8, _hoisted_3$t)
674
+ ], 12, _hoisted_2$B)) : vue.createCommentVNode("", true)
675
675
  ], 2);
676
676
  };
677
677
  }
678
678
  });
679
679
  const BglVideo = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-006552f6"]]);
680
- const _hoisted_1$Q = {
680
+ const _hoisted_1$P = {
681
681
  key: 0,
682
682
  class: "card_label"
683
683
  };
@@ -710,7 +710,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
710
710
  }])
711
711
  }, {
712
712
  default: vue.withCtx(() => [
713
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$Q, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
713
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$P, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
714
714
  vue.renderSlot(_ctx.$slots, "default")
715
715
  ]),
716
716
  _: 3
@@ -720,13 +720,13 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
720
720
  };
721
721
  }
722
722
  });
723
- const _hoisted_1$P = ["dir"];
724
- const _hoisted_2$B = {
723
+ const _hoisted_1$O = ["dir"];
724
+ const _hoisted_2$A = {
725
725
  key: 0,
726
726
  class: "dots"
727
727
  };
728
- const _hoisted_3$t = ["onClick"];
729
- const _hoisted_4$j = { class: "Handlers" };
728
+ const _hoisted_3$s = ["onClick"];
729
+ const _hoisted_4$i = { class: "Handlers" };
730
730
  const GAP_PERCENT = 1;
731
731
  const VELOCITY_SAMPLE_DURATION = 100;
732
732
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
@@ -1149,16 +1149,16 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
1149
1149
  }, [
1150
1150
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1151
1151
  ], 38),
1152
- props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$B, [
1152
+ props2.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$A, [
1153
1153
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(slideCount), (i2) => {
1154
1154
  return vue.openBlock(), vue.createElementBlock("span", {
1155
1155
  key: i2,
1156
1156
  class: vue.normalizeClass(["dot", { current: vue.unref(activeSlideIndex) === i2 - 1 }]),
1157
1157
  onClick: ($event) => goToSlide(i2 - 1)
1158
- }, null, 10, _hoisted_3$t);
1158
+ }, null, 10, _hoisted_3$s);
1159
1159
  }), 128))
1160
1160
  ])) : vue.createCommentVNode("", true),
1161
- vue.createElementVNode("div", _hoisted_4$j, [
1161
+ vue.createElementVNode("div", _hoisted_4$i, [
1162
1162
  vue.createElementVNode("span", { onClick: prev }, [
1163
1163
  vue.renderSlot(_ctx.$slots, "prev", {
1164
1164
  index: vue.unref(activeSlideIndex),
@@ -1172,7 +1172,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
1172
1172
  }, void 0, true)
1173
1173
  ])
1174
1174
  ])
1175
- ], 14, _hoisted_1$P);
1175
+ ], 14, _hoisted_1$O);
1176
1176
  };
1177
1177
  }
1178
1178
  });
@@ -5500,21 +5500,21 @@ function styleInject(css2, ref) {
5500
5500
  return;
5501
5501
  }
5502
5502
  var head = document.head || document.getElementsByTagName("head")[0];
5503
- var style = document.createElement("style");
5504
- style.type = "text/css";
5503
+ var style2 = document.createElement("style");
5504
+ style2.type = "text/css";
5505
5505
  if (insertAt === "top") {
5506
5506
  if (head.firstChild) {
5507
- head.insertBefore(style, head.firstChild);
5507
+ head.insertBefore(style2, head.firstChild);
5508
5508
  } else {
5509
- head.appendChild(style);
5509
+ head.appendChild(style2);
5510
5510
  }
5511
5511
  } else {
5512
- head.appendChild(style);
5512
+ head.appendChild(style2);
5513
5513
  }
5514
- if (style.styleSheet) {
5515
- style.styleSheet.cssText = css2;
5514
+ if (style2.styleSheet) {
5515
+ style2.styleSheet.cssText = css2;
5516
5516
  } else {
5517
- style.appendChild(document.createTextNode(css2));
5517
+ style2.appendChild(document.createTextNode(css2));
5518
5518
  }
5519
5519
  }
5520
5520
  var css_248z$1 = "\n.chart {\n position: relative;\n}\n";
@@ -5688,8 +5688,8 @@ var script$9 = vue.defineComponent({
5688
5688
  }
5689
5689
  function computeDotStyle(active) {
5690
5690
  const dotStyle = props2.dotStyle;
5691
- const style = getStyle.value();
5692
- return Object.assign({ r: active ? 5 : 3, stroke: style.stroke, strokeWidth: style.strokeWidth, fill: "white" }, dotStyle);
5691
+ const style2 = getStyle.value();
5692
+ return Object.assign({ r: active ? 5 : 3, stroke: style2.stroke, strokeWidth: style2.strokeWidth, fill: "white" }, dotStyle);
5693
5693
  }
5694
5694
  const getStyle = vue.computed(() => {
5695
5695
  if (is$1(Function, props2.lineStyle)) {
@@ -5892,11 +5892,11 @@ var script$7 = vue.defineComponent({
5892
5892
  const getStyle = vue.computed(() => {
5893
5893
  return () => Object.assign({ colors: ["#4daf4a", "#377eb8", "#ff7f00", "#984ea3", "#e41a1c"], innerRadius: 2, cornerRadius: 0, padAngle: 0.01 }, props2.pieStyle);
5894
5894
  });
5895
- const style = getStyle.value();
5895
+ const style2 = getStyle.value();
5896
5896
  const arcs = vue.ref([]);
5897
5897
  const colors = ordinal(getStyle.value().colors);
5898
5898
  const arcGen = () => {
5899
- return arc().outerRadius(size2.value).innerRadius(style.innerRadius).cornerRadius(style.cornerRadius).padAngle(style.padAngle);
5899
+ return arc().outerRadius(size2.value).innerRadius(style2.innerRadius).cornerRadius(style2.cornerRadius).padAngle(style2.padAngle);
5900
5900
  };
5901
5901
  const transform = vue.ref(`translate(${size2.value + chart.canvas.x}, ${size2.value + chart.canvas.y})`);
5902
5902
  let pieSort;
@@ -6087,7 +6087,7 @@ const _hoisted_4$2$1 = {
6087
6087
  };
6088
6088
  const _hoisted_5$2$1 = ["x1", "y1", "x2", "y2"];
6089
6089
  const _hoisted_6$2$1 = ["x1", "y1", "x2", "y2"];
6090
- const _hoisted_7$a = ["x1", "y1", "x2", "y2"];
6090
+ const _hoisted_7$9 = ["x1", "y1", "x2", "y2"];
6091
6091
  function render$5(_ctx, _cache, $props, $setup, $data, $options) {
6092
6092
  return _ctx.data.length ? (vue.openBlock(), vue.createElementBlock("g", {
6093
6093
  key: 0,
@@ -6143,7 +6143,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
6143
6143
  y1: _ctx.canvas.y,
6144
6144
  x2: _ctx.canvas.width - 1,
6145
6145
  y2: _ctx.canvas.height
6146
- }, null, 8, _hoisted_7$a)
6146
+ }, null, 8, _hoisted_7$9)
6147
6147
  ])
6148
6148
  ], 8, _hoisted_1$4$1)) : vue.createCommentVNode("v-if", true);
6149
6149
  }
@@ -6179,7 +6179,7 @@ var script$4 = vue.defineComponent({
6179
6179
  const isRight = vue.computed(() => {
6180
6180
  return position.value.x >= canvas.value.width / 4 * 3;
6181
6181
  });
6182
- const style = vue.computed(() => {
6182
+ const style2 = vue.computed(() => {
6183
6183
  if (direction.value === "vertical") {
6184
6184
  return {
6185
6185
  top: position.value.y - 0.5 + "px",
@@ -6235,7 +6235,7 @@ var script$4 = vue.defineComponent({
6235
6235
  direction.value = chart.config.direction;
6236
6236
  canvas.value = chart.canvas;
6237
6237
  });
6238
- return { el, show, canvas, direction, style, styleContent, position, items, isRight };
6238
+ return { el, show, canvas, direction, style: style2, styleContent, position, items, isRight };
6239
6239
  }
6240
6240
  });
6241
6241
  const _hoisted_1$3$1 = { key: 0 };
@@ -6975,16 +6975,16 @@ var script$1 = vue.defineComponent({
6975
6975
  }
6976
6976
  const toKebabCase = (data3) => mapKeys(kebabize, data3);
6977
6977
  const getStyle = (r2) => {
6978
- const style = {
6978
+ const style2 = {
6979
6979
  stroke: r2.color,
6980
6980
  strokeWidth: 5,
6981
6981
  fill: r2.color,
6982
6982
  fillOpacity: 0.9
6983
6983
  };
6984
6984
  if (props2.rcStyle && typeof props2.rcStyle === "function") {
6985
- return Object.assign(Object.assign({}, style), props2.rcStyle(r2));
6985
+ return Object.assign(Object.assign({}, style2), props2.rcStyle(r2));
6986
6986
  }
6987
- return style;
6987
+ return style2;
6988
6988
  };
6989
6989
  function onMouseOver(i2) {
6990
6990
  selected.value = i2;
@@ -7010,10 +7010,10 @@ const _hoisted_1$1$1 = {
7010
7010
  style: { display: "flex", position: "relative" }
7011
7011
  };
7012
7012
  const _hoisted_2$1$1 = ["width", "height", "viewBox"];
7013
- const _hoisted_3$s = { class: "layer-rectangles" };
7014
- const _hoisted_4$i = ["transform", "onMouseover"];
7015
- const _hoisted_5$h = ["width", "height"];
7016
- const _hoisted_6$e = {
7013
+ const _hoisted_3$r = { class: "layer-rectangles" };
7014
+ const _hoisted_4$h = ["transform", "onMouseover"];
7015
+ const _hoisted_5$g = ["width", "height"];
7016
+ const _hoisted_6$d = {
7017
7017
  x: 0 + 10,
7018
7018
  y: 0 + 20,
7019
7019
  "font-size": `15px`,
@@ -7028,7 +7028,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
7028
7028
  viewBox: `0 0 ${_ctx.size.width} ${_ctx.size.height}`,
7029
7029
  ref: "el"
7030
7030
  }, [
7031
- vue.createElementVNode("g", _hoisted_3$s, [
7031
+ vue.createElementVNode("g", _hoisted_3$r, [
7032
7032
  (vue.openBlock(true), vue.createElementBlock(
7033
7033
  vue.Fragment,
7034
7034
  null,
@@ -7049,21 +7049,21 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
7049
7049
  y: 0,
7050
7050
  width: r2.width,
7051
7051
  height: r2.height
7052
- }), null, 16, _hoisted_5$h),
7052
+ }), null, 16, _hoisted_5$g),
7053
7053
  vue.renderSlot(_ctx.$slots, "text", {
7054
7054
  r: r2,
7055
7055
  selected: _ctx.selected === i2
7056
7056
  }, () => [
7057
7057
  vue.createElementVNode(
7058
7058
  "text",
7059
- _hoisted_6$e,
7059
+ _hoisted_6$d,
7060
7060
  vue.toDisplayString(r2.data.name),
7061
7061
  1
7062
7062
  /* TEXT */
7063
7063
  )
7064
7064
  ])
7065
7065
  ])
7066
- ], 42, _hoisted_4$i);
7066
+ ], 42, _hoisted_4$h);
7067
7067
  }),
7068
7068
  128
7069
7069
  /* KEYED_FRAGMENT */
@@ -7120,19 +7120,19 @@ var script = vue.defineComponent({
7120
7120
  return { bar, canvas, direction, mouse };
7121
7121
  }
7122
7122
  });
7123
- const _hoisted_1$O = {
7123
+ const _hoisted_1$N = {
7124
7124
  key: 0,
7125
7125
  class: "layer-hover-bar"
7126
7126
  };
7127
- const _hoisted_2$A = ["x", "y", "width", "height"];
7127
+ const _hoisted_2$z = ["x", "y", "width", "height"];
7128
7128
  function render(_ctx, _cache, $props, $setup, $data, $options) {
7129
- return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$O, [
7129
+ return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$N, [
7130
7130
  vue.createElementVNode("rect", vue.mergeProps({ class: "hover-bar" }, _ctx.barStyle, {
7131
7131
  x: _ctx.bar.x,
7132
7132
  y: _ctx.bar.y,
7133
7133
  width: _ctx.bar.width > 0 ? _ctx.bar.width : 0,
7134
7134
  height: _ctx.bar.height > 0 ? _ctx.bar.height : 0
7135
- }), null, 16, _hoisted_2$A)
7135
+ }), null, 16, _hoisted_2$z)
7136
7136
  ])) : vue.createCommentVNode("v-if", true);
7137
7137
  }
7138
7138
  script.render = render;
@@ -7278,107 +7278,125 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
7278
7278
  };
7279
7279
  }
7280
7280
  });
7281
- const _hoisted_1$N = {
7282
- key: 0,
7283
- class: "data"
7284
- };
7285
- const _hoisted_2$z = {
7286
- key: 0,
7287
- class: "data-row m_py-05"
7288
- };
7289
- const _hoisted_3$r = { class: "key" };
7290
- const _hoisted_4$h = { class: "m-0" };
7291
- const _hoisted_5$g = { key: 1 };
7292
- const _hoisted_6$d = {
7293
- key: 0,
7294
- class: "data-row"
7295
- };
7296
- const _hoisted_7$9 = { class: "key" };
7297
- const _hoisted_8$6 = { class: "m-0" };
7298
- const _hoisted_9$5 = {
7299
- key: 0,
7300
- class: "m-0"
7301
- };
7302
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
7303
- __name: "DataPreview",
7304
- props: /* @__PURE__ */ vue.mergeModels({
7305
- showFields: {},
7306
- schema: {},
7307
- title: {},
7308
- excludeUnset: { type: Boolean }
7309
- }, {
7310
- "data": { default: {} },
7311
- "dataModifiers": {}
7312
- }),
7313
- emits: ["update:data"],
7314
- setup(__props) {
7315
- const props2 = __props;
7316
- const itemData = vue.useModel(__props, "data");
7317
- function dataTransform(dataValue) {
7318
- if (!dataValue) return dataValue;
7319
- if (Array.isArray(dataValue)) return dataValue.map(dataTransform);
7320
- if (typeof dataValue === "object") {
7321
- Object.keys(dataValue).forEach((key) => {
7322
- dataValue[key] = dataTransform(dataValue[key]);
7323
- });
7324
- }
7325
- if (isDate(dataValue)) {
7326
- const date2 = new Date(dataValue);
7327
- return date2.toDateString();
7281
+ const SLOT_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["div", "span", "p"]);
7282
+ const SRC_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["img", "iframe"]);
7283
+ function useSchemaField(options) {
7284
+ const { mode = "form", getRowData, onUpdate } = options;
7285
+ function getComponent(field) {
7286
+ var _a2;
7287
+ const componentMap = {
7288
+ text: TextInput,
7289
+ textarea: TextInput,
7290
+ number: NumberInput,
7291
+ array: _sfc_main$Q,
7292
+ select: SelectInput,
7293
+ toggle: ToggleInput,
7294
+ check: CheckInput,
7295
+ richtext: RichText,
7296
+ upload: UploadInput,
7297
+ file: FileUpload,
7298
+ date: _sfc_main$L,
7299
+ tabs: TabsNav,
7300
+ form: _sfc_main$R
7301
+ };
7302
+ if (field.$el === "textarea" && !((_a2 = field.attrs) == null ? void 0 : _a2.multiline)) {
7303
+ field.attrs = { ...field.attrs, multiline: true };
7304
+ }
7305
+ return typeof field.$el === "object" ? field.$el : componentMap[field.$el] ?? field.$el ?? "div";
7306
+ }
7307
+ function renderField(field, slots) {
7308
+ const Component = getComponent(field);
7309
+ if (!Component) return null;
7310
+ const rowData = (getRowData == null ? void 0 : getRowData()) || {};
7311
+ const {
7312
+ $el,
7313
+ children: children2,
7314
+ options: options2,
7315
+ attrs,
7316
+ class: fieldClass,
7317
+ id,
7318
+ transform,
7319
+ slots: fieldSlots,
7320
+ required: required2,
7321
+ label,
7322
+ placeholder,
7323
+ disabled,
7324
+ ...fieldProps
7325
+ } = field;
7326
+ const currentValue = field.id ? rowData[field.id] : void 0;
7327
+ const transformedValue = transform ? transform(currentValue, rowData) : currentValue;
7328
+ const boundFieldProps = bindAttrs(fieldProps, currentValue, rowData);
7329
+ const isSlotValueComponent = typeof Component === "string" && SLOT_VALUE_COMPONENTS$1.has(Component);
7330
+ const isSrcValueComponent = typeof Component === "string" && SRC_VALUE_COMPONENTS$1.has(Component);
7331
+ const props2 = {
7332
+ ...boundFieldProps,
7333
+ required: required2,
7334
+ label,
7335
+ placeholder,
7336
+ disabled
7337
+ };
7338
+ if (mode === "form") {
7339
+ props2.modelValue = currentValue;
7340
+ props2["onUpdate:modelValue"] = (value) => {
7341
+ onUpdate == null ? void 0 : onUpdate(field, value);
7342
+ };
7343
+ } else {
7344
+ if (isSlotValueComponent) ;
7345
+ else if (isSrcValueComponent) {
7346
+ props2.src = transformedValue;
7347
+ } else {
7348
+ props2.modelValue = transformedValue;
7328
7349
  }
7329
- return dataValue;
7330
7350
  }
7331
- function isUnset(value) {
7332
- if (!props2.excludeUnset) return false;
7333
- return value === void 0 || value === null || value === "" || value.length === 0;
7351
+ Object.keys(props2).forEach((key) => props2[key] === void 0 && delete props2[key]);
7352
+ if (field.options) {
7353
+ props2.options = typeof field.options === "function" ? field.options(currentValue, rowData) : field.options;
7334
7354
  }
7335
- const computedSchema = vue.computed(() => getFallbackSchema([itemData.value], props2.showFields));
7336
- return (_ctx, _cache) => {
7337
- var _a2;
7338
- return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
7339
- _ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$4), {
7340
- key: 0,
7341
- label: _ctx.title
7342
- }, null, 8, ["label"])) : vue.createCommentVNode("", true),
7343
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.schema, (field) => {
7344
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
7345
- key: field.id
7346
- }, [
7347
- vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, [
7348
- vue.createElementVNode("div", _hoisted_3$r, [
7349
- vue.createElementVNode("p", _hoisted_4$h, vue.toDisplayString((field == null ? void 0 : field.label) || vue.unref(keyToLabel)(field.id)), 1)
7350
- ]),
7351
- vue.createVNode(vue.unref(_sfc_main$Q), {
7352
- modelValue: itemData.value,
7353
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => itemData.value = $event),
7354
- label: "",
7355
- style: { "width": "min-content", "min-width": "140px" },
7356
- field
7357
- }, null, 8, ["modelValue", "field"])
7358
- ])) : vue.createCommentVNode("", true)
7359
- ], 64);
7360
- }), 128)),
7361
- !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
7362
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, ({ id, label }) => {
7363
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: id }, [
7364
- !isUnset(itemData.value[id]) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$d, [
7365
- vue.createElementVNode("div", _hoisted_7$9, [
7366
- vue.createElementVNode("p", _hoisted_8$6, vue.toDisplayString(label), 1)
7367
- ]),
7368
- vue.createElementVNode("div", null, [
7369
- id ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$5, vue.toDisplayString(dataTransform(itemData.value[id])), 1)) : vue.createCommentVNode("", true)
7370
- ])
7371
- ])) : vue.createCommentVNode("", true)
7372
- ], 64);
7373
- }), 128))
7374
- ])) : vue.createCommentVNode("", true),
7375
- vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
7376
- ])) : vue.createCommentVNode("", true);
7377
- };
7355
+ if (field.attrs) {
7356
+ const boundAttrs = bindAttrs(field.attrs, currentValue, rowData);
7357
+ Object.entries(boundAttrs).forEach(([key, value]) => {
7358
+ if (typeof value === "function") {
7359
+ props2[key] = value(currentValue, rowData);
7360
+ } else {
7361
+ props2[key] = value;
7362
+ }
7363
+ });
7364
+ }
7365
+ props2.class = classify(currentValue, rowData, fieldClass, props2.class);
7366
+ const componentSlots = {};
7367
+ if (children2 == null ? void 0 : children2.length) {
7368
+ componentSlots.default = () => children2.map((child) => {
7369
+ if (typeof child === "string") return child;
7370
+ return renderField(child, slots);
7371
+ });
7372
+ }
7373
+ if (isSlotValueComponent && transformedValue !== void 0) {
7374
+ componentSlots.default = () => (transformedValue == null ? void 0 : transformedValue.toString()) || "";
7375
+ }
7376
+ if (fieldSlots) {
7377
+ Object.entries(fieldSlots).forEach(([name, slot]) => {
7378
+ componentSlots[name] = typeof slot === "function" ? () => slot(currentValue, rowData) : () => slot;
7379
+ });
7380
+ }
7381
+ const slotContent = field.id && (slots == null ? void 0 : slots[field.id]) ? slots[field.id]({ row: rowData, field }) : void 0;
7382
+ if (mode === "preview") {
7383
+ return vue.h("div", { class: "preview-field" }, [
7384
+ vue.h("div", { class: "field-label" }, field.label || keyToLabel(field.id || "")),
7385
+ vue.h("div", { class: "field-value" }, [
7386
+ slotContent || (typeof field.$el === "object" ? vue.h(Component, props2, componentSlots) : (transformedValue == null ? void 0 : transformedValue.toString()) || "")
7387
+ ])
7388
+ ]);
7389
+ }
7390
+ return slotContent || vue.h(Component, props2, componentSlots);
7378
7391
  }
7379
- });
7380
- const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-6c27f163"]]);
7392
+ return {
7393
+ renderField,
7394
+ getComponent
7395
+ };
7396
+ }
7381
7397
  const NON_DIGIT_REGEX = /[^\d.-]/g;
7398
+ const SLOT_VALUE_COMPONENTS = /* @__PURE__ */ new Set(["div", "span", "p"]);
7399
+ const SRC_VALUE_COMPONENTS = /* @__PURE__ */ new Set(["img", "iframe"]);
7382
7400
  function useTableData(options) {
7383
7401
  const sortField = vue.ref("");
7384
7402
  const sortDirection = vue.ref("ASC");
@@ -7388,41 +7406,50 @@ function useTableData(options) {
7388
7406
  data: options.data.value
7389
7407
  }));
7390
7408
  function transform(rowData) {
7391
- var _a2;
7392
7409
  const transformed = { ...rowData };
7393
7410
  const schemaFields = computedSchema.value.filter((f2) => f2.id);
7394
7411
  for (const field of schemaFields) {
7395
- const fieldData = rowData[`${field.id}`];
7396
- const newFieldVal = (_a2 = field.transform) == null ? void 0 : _a2.call(field, fieldData, rowData);
7397
- transformed[`_transformed_${field.id}`] = newFieldVal;
7412
+ const fieldId = field.id;
7413
+ const fieldData = rowData[fieldId];
7414
+ const transformKey = `_transformed_${String(fieldId)}`;
7415
+ const slotKey = `_slot_${String(fieldId)}`;
7416
+ const srcKey = `_src_${String(fieldId)}`;
7417
+ const originalKey = `_original_${String(fieldId)}`;
7418
+ transformed[originalKey] = fieldData;
7419
+ const isSlotValueComponent = typeof field.$el === "string" && SLOT_VALUE_COMPONENTS.has(field.$el);
7420
+ const isSrcValueComponent = typeof field.$el === "string" && SRC_VALUE_COMPONENTS.has(field.$el);
7421
+ transformed[slotKey] = isSlotValueComponent;
7422
+ transformed[srcKey] = isSrcValueComponent;
7423
+ if (field.transform) {
7424
+ const newFieldVal = field.transform(fieldData, rowData);
7425
+ transformed[transformKey] = newFieldVal;
7426
+ } else {
7427
+ transformed[transformKey] = fieldData;
7428
+ }
7398
7429
  }
7399
7430
  return transformed;
7400
7431
  }
7401
- const computedSortField = vue.computed(() => `_transformed_${sortField.value}`);
7432
+ const computedSortField = vue.computed(() => sortField.value ? `_transformed_${sortField.value}` : "");
7402
7433
  const computedData = vue.computed(() => {
7403
7434
  const currentData = options.data.value;
7404
7435
  if (!sortField.value || options.useServerSort === true) {
7405
7436
  return currentData.map(transform);
7406
7437
  }
7407
7438
  return currentData.map(transform).sort((a2, z2) => {
7408
- let aValue = a2[computedSortField.value] ?? a2[sortField.value] ?? "";
7409
- let bValue = z2[computedSortField.value] ?? z2[sortField.value] ?? "";
7439
+ const aValue = a2[computedSortField.value] ?? "";
7440
+ const bValue = z2[computedSortField.value] ?? "";
7410
7441
  if (isDate(aValue) && isDate(bValue)) {
7411
- aValue = new Date(aValue).getTime();
7412
- bValue = new Date(bValue).getTime();
7442
+ return sortDirection.value === "ASC" ? new Date(aValue).getTime() - new Date(bValue).getTime() : new Date(bValue).getTime() - new Date(aValue).getTime();
7413
7443
  }
7414
7444
  const numAValue = Number.parseInt(`${aValue}`.replaceAll(NON_DIGIT_REGEX, ""), 10);
7415
7445
  const numBValue = Number.parseInt(`${bValue}`.replaceAll(NON_DIGIT_REGEX, ""), 10);
7416
7446
  if (!Number.isNaN(numAValue) && !Number.isNaN(numBValue)) {
7417
- if (sortDirection.value === "ASC") return numAValue - numBValue;
7418
- return numBValue - numAValue;
7447
+ return sortDirection.value === "ASC" ? numAValue - numBValue : numBValue - numAValue;
7419
7448
  }
7420
7449
  if (typeof aValue === "string") {
7421
- if (sortDirection.value === "ASC") return aValue.localeCompare(bValue);
7422
- return bValue.localeCompare(aValue);
7450
+ return sortDirection.value === "ASC" ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);
7423
7451
  }
7424
- if (sortDirection.value === "ASC") return aValue < bValue ? -1 : 1;
7425
- return aValue < bValue ? 1 : -1;
7452
+ return sortDirection.value === "ASC" ? aValue < bValue ? -1 : 1 : aValue < bValue ? 1 : -1;
7426
7453
  });
7427
7454
  });
7428
7455
  function toggleSort(fieldname) {
@@ -7448,6 +7475,47 @@ function useTableData(options) {
7448
7475
  toggleSort
7449
7476
  };
7450
7477
  }
7478
+ const _hoisted_1$M = { class: "data-preview" };
7479
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
7480
+ __name: "DataPreview",
7481
+ props: {
7482
+ data: {},
7483
+ schema: { type: Function },
7484
+ showFields: {},
7485
+ useServerSort: { type: Boolean },
7486
+ selectable: { type: Boolean },
7487
+ onLastItemVisible: { type: Function }
7488
+ },
7489
+ setup(__props) {
7490
+ const props2 = __props;
7491
+ const slots = vue.useSlots();
7492
+ const data2 = vue.computed(() => Array.isArray(props2.data) ? props2.data : [props2.data]);
7493
+ const {
7494
+ computedSchema,
7495
+ computedData
7496
+ } = useTableData({
7497
+ data: data2,
7498
+ schema: props2.schema,
7499
+ showFields: props2.showFields,
7500
+ useServerSort: false
7501
+ });
7502
+ const firstItem = vue.computed(() => computedData.value[0] || {});
7503
+ const { renderField } = useSchemaField({
7504
+ mode: "preview",
7505
+ getRowData: () => firstItem.value
7506
+ });
7507
+ return (_ctx, _cache) => {
7508
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
7509
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(computedSchema), (field) => {
7510
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(renderField)(field, vue.unref(slots))), {
7511
+ key: field.id
7512
+ });
7513
+ }), 128))
7514
+ ]);
7515
+ };
7516
+ }
7517
+ });
7518
+ const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-ad78731b"]]);
7451
7519
  function useTableSelection(options) {
7452
7520
  const allSelectorEl = vue.ref();
7453
7521
  const computedSelectedItems = vue.computed(() => options.selectedItems.value);
@@ -8076,7 +8144,7 @@ function useTableVirtualization(options) {
8076
8144
  registerLastItemObserver
8077
8145
  };
8078
8146
  }
8079
- const _hoisted_1$M = {
8147
+ const _hoisted_1$L = {
8080
8148
  key: 0,
8081
8149
  class: "loading-table-wrapper z-99 h-100 w-100 absolute inset"
8082
8150
  };
@@ -8111,7 +8179,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8111
8179
  emits: /* @__PURE__ */ vue.mergeModels(["update:selectedItems", "orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
8112
8180
  setup(__props, { emit: __emit }) {
8113
8181
  vue.useCssVars((_ctx) => ({
8114
- "15d141b2": vue.unref(computedItemHeight)
8182
+ "0984904d": vue.unref(computedItemHeight)
8115
8183
  }));
8116
8184
  const props2 = __props;
8117
8185
  const emit2 = __emit;
@@ -8126,6 +8194,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8126
8194
  }
8127
8195
  );
8128
8196
  const data2 = vue.computed(() => props2.data);
8197
+ vue.ref("");
8129
8198
  const {
8130
8199
  computedSchema,
8131
8200
  computedData,
@@ -8171,6 +8240,13 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8171
8240
  (_a2 = props2.onLastItemVisible) == null ? void 0 : _a2.call(props2);
8172
8241
  }
8173
8242
  });
8243
+ function renderFieldForRow(field, row) {
8244
+ const { renderField } = useSchemaField({
8245
+ mode: "table",
8246
+ getRowData: () => row
8247
+ });
8248
+ return renderField(field, slots);
8249
+ }
8174
8250
  const computedItemHeight = vue.computed(() => `${itemHeight.value}px`);
8175
8251
  vue.watch(
8176
8252
  () => loading.value,
@@ -8197,7 +8273,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8197
8273
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "table-list-wrap h-100" }, vue.unref(containerProps), {
8198
8274
  class: { "loading-table": loading.value }
8199
8275
  }), [
8200
- loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, _cache[4] || (_cache[4] = [
8276
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, _cache[4] || (_cache[4] = [
8201
8277
  vue.createElementVNode("div", { class: "loading-table-animation absolute oval" }, null, -1)
8202
8278
  ]))) : (vue.openBlock(), vue.createElementBlock("div", vue.normalizeProps(vue.mergeProps({ key: 1 }, vue.unref(wrapperProps))), [
8203
8279
  vue.createElementVNode("table", _hoisted_2$y, [
@@ -8224,7 +8300,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8224
8300
  vue.createElementVNode("div", {
8225
8301
  class: vue.normalizeClass(["list-arrows", { sorted: vue.unref(sortField) === field.id }])
8226
8302
  }, [
8227
- vue.createVNode(vue.unref(_sfc_main$p), {
8303
+ vue.createVNode(vue.unref(_sfc_main$q), {
8228
8304
  class: vue.normalizeClass({ desc: vue.unref(sortDirection) === "DESC" }),
8229
8305
  icon: "keyboard_arrow_up"
8230
8306
  }, null, 8, ["class"])
@@ -8264,13 +8340,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8264
8340
  row,
8265
8341
  field
8266
8342
  }, void 0, true) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$4, [
8267
- vue.createVNode(vue.unref(_sfc_main$10), {
8268
- id: field.id,
8269
- class: "embedded-field",
8270
- field,
8271
- modelValue: row,
8272
- label: ""
8273
- }, null, 8, ["id", "field", "modelValue"])
8343
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderFieldForRow(field, row))))
8274
8344
  ]))
8275
8345
  ]);
8276
8346
  }), 128))
@@ -8289,7 +8359,539 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
8289
8359
  };
8290
8360
  }
8291
8361
  });
8292
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-cf461a0e"]]);
8362
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-18572328"]]);
8363
+ function useDraggable(options = {}) {
8364
+ const isDragging = vue.ref(false);
8365
+ const dragElement = vue.ref(null);
8366
+ const ghostElement = vue.ref(null);
8367
+ const dropIndicator = vue.ref(null);
8368
+ const dropTarget = vue.ref(null);
8369
+ const defaultOptions2 = {
8370
+ animation: 150,
8371
+ mode: "line",
8372
+ ghostClass: "draggable-ghost",
8373
+ dragClass: "draggable-dragging",
8374
+ dropIndicatorClass: "draggable-drop-indicator",
8375
+ ...options
8376
+ };
8377
+ let startX = 0;
8378
+ let startY = 0;
8379
+ let initialX = 0;
8380
+ let initialY = 0;
8381
+ let shiftAmount = 0;
8382
+ let cleanupFn;
8383
+ let scrollRAF = null;
8384
+ let lastDropIndex = -1;
8385
+ let lastUpdateTime = 0;
8386
+ const UPDATE_THRESHOLD = 150;
8387
+ const POSITION_CACHE = /* @__PURE__ */ new Map();
8388
+ function createGhost(el) {
8389
+ const ghost = el.cloneNode(true);
8390
+ const rect = el.getBoundingClientRect();
8391
+ ghost.style.position = "fixed";
8392
+ ghost.style.margin = "0";
8393
+ ghost.style.top = `${rect.top}px`;
8394
+ ghost.style.left = `${rect.left}px`;
8395
+ ghost.style.width = `${rect.width}px`;
8396
+ ghost.style.height = `${rect.height}px`;
8397
+ ghost.style.transform = "translate3d(0, 0, 0)";
8398
+ ghost.style.pointerEvents = "none";
8399
+ ghost.style.zIndex = "9999";
8400
+ ghost.style.cursor = "grabbing";
8401
+ ghost.style.willChange = "transform";
8402
+ ghost.classList.add(defaultOptions2.ghostClass);
8403
+ document.body.appendChild(ghost);
8404
+ return ghost;
8405
+ }
8406
+ function createDropIndicator(el) {
8407
+ const line2 = document.createElement("div");
8408
+ line2.classList.add(defaultOptions2.dropIndicatorClass);
8409
+ line2.style.position = "fixed";
8410
+ line2.style.pointerEvents = "none";
8411
+ line2.style.zIndex = "9999";
8412
+ line2.style.height = "2px";
8413
+ line2.style.background = "var(--primary-color, #0066ff)";
8414
+ line2.style.boxShadow = "0 0 4px rgba(0, 102, 255, 0.5)";
8415
+ line2.style.transition = "all 0.15s ease";
8416
+ line2.style.display = "none";
8417
+ const dot = document.createElement("div");
8418
+ dot.style.position = "absolute";
8419
+ dot.style.left = "-4px";
8420
+ dot.style.top = "-3px";
8421
+ dot.style.width = "8px";
8422
+ dot.style.height = "8px";
8423
+ dot.style.borderRadius = "50%";
8424
+ dot.style.background = "var(--primary-color, #0066ff)";
8425
+ line2.appendChild(dot);
8426
+ document.body.appendChild(line2);
8427
+ return line2;
8428
+ }
8429
+ function updateDropIndicator(target, isAfter2) {
8430
+ if (!dropIndicator.value) return;
8431
+ const rect = target.getBoundingClientRect();
8432
+ dropIndicator.value.style.display = "block";
8433
+ dropIndicator.value.style.width = `${rect.width}px`;
8434
+ dropIndicator.value.style.left = `${rect.left}px`;
8435
+ if (isAfter2) {
8436
+ dropIndicator.value.style.top = `${rect.bottom}px`;
8437
+ } else {
8438
+ dropIndicator.value.style.top = `${rect.top}px`;
8439
+ }
8440
+ }
8441
+ function findDraggableParent(element) {
8442
+ let current = element;
8443
+ while (current && (!("__drag_group" in current) || current.dataset.draggable === "false")) {
8444
+ current = current.parentElement;
8445
+ }
8446
+ return current;
8447
+ }
8448
+ function handleGhostMode(dragEl2) {
8449
+ dragEl2.style.opacity = "0.4";
8450
+ dragEl2.style.transform = "scale(0.95)";
8451
+ return dragEl2.offsetHeight;
8452
+ }
8453
+ function handleLineMode(dragEl2) {
8454
+ dragEl2.style.opacity = "0.5";
8455
+ return 2;
8456
+ }
8457
+ function cacheElementPositions(draggedList) {
8458
+ POSITION_CACHE.clear();
8459
+ draggedList.forEach((el, index2) => {
8460
+ const rect = el.getBoundingClientRect();
8461
+ POSITION_CACHE.set(index2, {
8462
+ top: rect.top,
8463
+ bottom: rect.bottom
8464
+ });
8465
+ });
8466
+ }
8467
+ function calculateDropIndex(e, draggedList, dragIndex, newDropTarget) {
8468
+ const now = Date.now();
8469
+ if (now - lastUpdateTime < UPDATE_THRESHOLD) {
8470
+ return lastDropIndex !== -1 ? lastDropIndex : dragIndex;
8471
+ }
8472
+ if (POSITION_CACHE.size === 0) {
8473
+ cacheElementPositions(draggedList);
8474
+ }
8475
+ const mouseY = e.clientY;
8476
+ const targetIndex = draggedList.indexOf(newDropTarget);
8477
+ const targetPos = POSITION_CACHE.get(targetIndex);
8478
+ if (!targetPos) return dragIndex;
8479
+ const elementHeight = targetPos.bottom - targetPos.top;
8480
+ const relativeY = mouseY - targetPos.top;
8481
+ const upperSticky = elementHeight * 0.3;
8482
+ const lowerSticky = elementHeight * 0.7;
8483
+ let dropIndex = targetIndex;
8484
+ if (targetIndex === dragIndex) {
8485
+ if (relativeY > lowerSticky) dropIndex += 1;
8486
+ } else if (targetIndex === lastDropIndex) {
8487
+ if (targetIndex > dragIndex) {
8488
+ if (relativeY < upperSticky) dropIndex = targetIndex;
8489
+ else dropIndex = targetIndex + 1;
8490
+ } else {
8491
+ if (relativeY > lowerSticky) dropIndex = targetIndex + 1;
8492
+ else dropIndex = targetIndex;
8493
+ }
8494
+ } else {
8495
+ if (relativeY > elementHeight * 0.6) dropIndex += 1;
8496
+ }
8497
+ lastDropIndex = dropIndex;
8498
+ lastUpdateTime = now;
8499
+ return dropIndex;
8500
+ }
8501
+ function cleanup() {
8502
+ document.removeEventListener("mousemove", onDragMove);
8503
+ document.removeEventListener("mouseup", onDragEnd);
8504
+ document.removeEventListener("keydown", onKeyDown);
8505
+ document.removeEventListener("touchmove", onTouchMove);
8506
+ document.removeEventListener("touchend", onTouchEnd);
8507
+ document.removeEventListener("touchcancel", onTouchEnd);
8508
+ window.removeEventListener("blur", cleanup);
8509
+ if (ghostElement.value) {
8510
+ ghostElement.value.style.opacity = "0";
8511
+ ghostElement.value.style.transform += " scale(0.8)";
8512
+ setTimeout(() => {
8513
+ var _a2, _b;
8514
+ (_b = (_a2 = ghostElement.value) == null ? void 0 : _a2.parentNode) == null ? void 0 : _b.removeChild(ghostElement.value);
8515
+ ghostElement.value = null;
8516
+ }, 150);
8517
+ }
8518
+ if (dropIndicator.value) {
8519
+ dropIndicator.value.style.opacity = "0";
8520
+ setTimeout(() => {
8521
+ var _a2, _b;
8522
+ (_b = (_a2 = dropIndicator.value) == null ? void 0 : _a2.parentNode) == null ? void 0 : _b.removeChild(dropIndicator.value);
8523
+ dropIndicator.value = null;
8524
+ }, 150);
8525
+ }
8526
+ if (dragElement.value) {
8527
+ const list = dragElement.value.__drag_list;
8528
+ list == null ? void 0 : list.forEach((el) => {
8529
+ el.style.transition = "";
8530
+ el.style.transform = "";
8531
+ el.style.opacity = "";
8532
+ });
8533
+ dragElement.value.classList.remove(defaultOptions2.dragClass);
8534
+ dragElement.value = null;
8535
+ }
8536
+ isDragging.value = false;
8537
+ dropTarget.value = null;
8538
+ document.body.style.userSelect = "";
8539
+ document.body.style.webkitUserSelect = "";
8540
+ document.body.style.cursor = "";
8541
+ if (scrollRAF) {
8542
+ cancelAnimationFrame(scrollRAF);
8543
+ scrollRAF = null;
8544
+ }
8545
+ lastDropIndex = -1;
8546
+ lastUpdateTime = 0;
8547
+ POSITION_CACHE.clear();
8548
+ }
8549
+ function onKeyDown(e) {
8550
+ if (e.key === "Escape" && isDragging.value) {
8551
+ cleanup();
8552
+ }
8553
+ }
8554
+ function onDragStart(e) {
8555
+ var _a2;
8556
+ if (defaultOptions2.disabled) return;
8557
+ if (e.button !== 0) return;
8558
+ if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) return;
8559
+ const dragEl2 = findDraggableParent(e.target);
8560
+ if (!dragEl2 || dragEl2.dataset.draggable === "false") return;
8561
+ if (defaultOptions2.handle) {
8562
+ const handleEl = e.target.closest(defaultOptions2.handle);
8563
+ if (!handleEl || !dragEl2.contains(handleEl)) return;
8564
+ }
8565
+ e.preventDefault();
8566
+ isDragging.value = true;
8567
+ dragElement.value = dragEl2;
8568
+ startX = e.clientX;
8569
+ startY = e.clientY;
8570
+ const rect = dragEl2.getBoundingClientRect();
8571
+ initialX = rect.left;
8572
+ initialY = rect.top;
8573
+ ghostElement.value = createGhost(dragEl2);
8574
+ if (ghostElement.value) {
8575
+ ghostElement.value.style.left = `${initialX}px`;
8576
+ ghostElement.value.style.top = `${initialY}px`;
8577
+ }
8578
+ if (defaultOptions2.mode === "line") {
8579
+ dropIndicator.value = createDropIndicator();
8580
+ }
8581
+ dragEl2.classList.add(defaultOptions2.dragClass);
8582
+ shiftAmount = defaultOptions2.mode === "ghost" ? handleGhostMode(dragEl2) : handleLineMode(dragEl2);
8583
+ (_a2 = defaultOptions2.onStart) == null ? void 0 : _a2.call(defaultOptions2, e);
8584
+ document.body.style.userSelect = "none";
8585
+ document.body.style.webkitUserSelect = "none";
8586
+ document.body.style.cursor = "grabbing";
8587
+ window.addEventListener("blur", cleanup);
8588
+ document.addEventListener("mousemove", onDragMove);
8589
+ document.addEventListener("mouseup", onDragEnd);
8590
+ document.addEventListener("keydown", onKeyDown);
8591
+ }
8592
+ function findScrollParent(element) {
8593
+ let parent = element.parentElement;
8594
+ while (parent) {
8595
+ const { overflow, overflowY } = window.getComputedStyle(parent);
8596
+ if (/auto|scroll/.test(overflow + overflowY)) {
8597
+ return parent;
8598
+ }
8599
+ parent = parent.parentElement;
8600
+ }
8601
+ return document.scrollingElement || document.documentElement || document.body;
8602
+ }
8603
+ function autoScroll2(e) {
8604
+ if (!dragElement.value) return;
8605
+ if (scrollRAF) cancelAnimationFrame(scrollRAF);
8606
+ scrollRAF = requestAnimationFrame(() => {
8607
+ const scrollParent = findScrollParent(dragElement.value);
8608
+ const rect = scrollParent.getBoundingClientRect();
8609
+ const margin = 50;
8610
+ const speed = Math.min(20, rect.height * 0.1);
8611
+ const { scrollTop } = scrollParent;
8612
+ const maxScroll = scrollParent.scrollHeight - scrollParent.clientHeight;
8613
+ if (e.clientY - rect.top < margin) {
8614
+ const newScroll = Math.max(0, scrollTop - speed);
8615
+ scrollParent.scrollTop = newScroll;
8616
+ } else if (rect.bottom - e.clientY < margin) {
8617
+ const newScroll = Math.min(maxScroll, scrollTop + speed);
8618
+ scrollParent.scrollTop = newScroll;
8619
+ }
8620
+ });
8621
+ }
8622
+ function onDragMove(e) {
8623
+ if (!isDragging.value || !dragElement.value) return;
8624
+ if (ghostElement.value) {
8625
+ const dx = e.clientX - startX;
8626
+ const dy = e.clientY - startY;
8627
+ ghostElement.value.style.transform = `translate3d(${dx}px, ${dy}px, 0)`;
8628
+ }
8629
+ const list = dragElement.value.__drag_list;
8630
+ const draggedList = list.filter((el) => el.dataset.draggable !== "false");
8631
+ const dragIndex = draggedList.indexOf(dragElement.value);
8632
+ const elementAtPoint = document.elementFromPoint(e.clientX, e.clientY);
8633
+ const newDropTarget = findDraggableParent(elementAtPoint);
8634
+ if (!newDropTarget || newDropTarget.__drag_group !== dragElement.value.__drag_group) {
8635
+ if (dropIndicator.value) {
8636
+ dropIndicator.value.style.display = "none";
8637
+ }
8638
+ return;
8639
+ }
8640
+ const dropIndex = calculateDropIndex(e, draggedList, dragIndex, newDropTarget);
8641
+ if (dropTarget.value !== newDropTarget || dropTarget.value.__intended_index !== dropIndex) {
8642
+ dropTarget.value = newDropTarget;
8643
+ dropTarget.value.__intended_index = dropIndex;
8644
+ if (dropIndicator.value && defaultOptions2.mode === "line") {
8645
+ const isAfter2 = dropIndex > dragIndex;
8646
+ updateDropIndicator(newDropTarget, isAfter2);
8647
+ }
8648
+ const shift2 = shiftAmount;
8649
+ draggedList.forEach((el) => {
8650
+ el.style.transition = `transform ${defaultOptions2.animation}ms cubic-bezier(0.2, 0, 0, 1)`;
8651
+ el.style.transform = "translate3d(0, 0, 0)";
8652
+ if (el === dragElement.value) {
8653
+ if (defaultOptions2.mode === "ghost") {
8654
+ const offset2 = (dropIndex - dragIndex) * shift2;
8655
+ el.style.transform = `translate3d(0, ${offset2}px, 0)`;
8656
+ }
8657
+ } else {
8658
+ const currentIndex = draggedList.indexOf(el);
8659
+ if (dragIndex < dropIndex) {
8660
+ if (currentIndex > dragIndex && currentIndex <= dropIndex) {
8661
+ el.style.transform = `translate3d(0, -${shift2}px, 0)`;
8662
+ }
8663
+ } else if (dragIndex > dropIndex) {
8664
+ if (currentIndex >= dropIndex && currentIndex < dragIndex) {
8665
+ el.style.transform = `translate3d(0, ${shift2}px, 0)`;
8666
+ }
8667
+ }
8668
+ }
8669
+ });
8670
+ }
8671
+ autoScroll2(e);
8672
+ }
8673
+ function onDragEnd(e) {
8674
+ var _a2;
8675
+ if (!isDragging.value || !dragElement.value || !dropTarget.value) {
8676
+ cleanup();
8677
+ return;
8678
+ }
8679
+ const list = dragElement.value.__drag_list;
8680
+ if (!list || !list.length) {
8681
+ cleanup();
8682
+ return;
8683
+ }
8684
+ const draggedList = list.filter((el) => el.dataset.draggable !== "false");
8685
+ const actualDragIndex = draggedList.indexOf(dragElement.value);
8686
+ const actualDropIndex = dropTarget.value.__intended_index;
8687
+ if (actualDragIndex !== -1 && actualDropIndex !== -1) {
8688
+ list.forEach((el) => {
8689
+ el.style.transition = "none";
8690
+ el.style.transform = "";
8691
+ });
8692
+ void document.body.offsetHeight;
8693
+ const dragEvent = new MouseEvent("mouseup", e);
8694
+ dragEvent.oldIndex = actualDragIndex;
8695
+ dragEvent.newIndex = actualDropIndex;
8696
+ dragEvent.item = dragElement.value.__drag_data;
8697
+ (_a2 = defaultOptions2.onEnd) == null ? void 0 : _a2.call(defaultOptions2, dragEvent);
8698
+ }
8699
+ cleanup();
8700
+ }
8701
+ function onTouchStart(e) {
8702
+ var _a2;
8703
+ if (defaultOptions2.disabled || !e.target) return;
8704
+ const touch = e.touches[0];
8705
+ if (!touch) return;
8706
+ const target = e.target;
8707
+ const draggableParent = findDraggableParent(target);
8708
+ if (!draggableParent) return;
8709
+ const { handle } = defaultOptions2;
8710
+ if (handle && !target.closest(handle)) return;
8711
+ e.preventDefault();
8712
+ isDragging.value = true;
8713
+ dragElement.value = draggableParent;
8714
+ startX = touch.clientX;
8715
+ startY = touch.clientY;
8716
+ const rect = draggableParent.getBoundingClientRect();
8717
+ initialX = rect.left;
8718
+ initialY = rect.top;
8719
+ ghostElement.value = createGhost(draggableParent);
8720
+ if (ghostElement.value) {
8721
+ ghostElement.value.style.left = `${initialX}px`;
8722
+ ghostElement.value.style.top = `${initialY}px`;
8723
+ }
8724
+ if (defaultOptions2.mode === "line") {
8725
+ dropIndicator.value = createDropIndicator();
8726
+ }
8727
+ dragElement.value.classList.add(defaultOptions2.dragClass);
8728
+ shiftAmount = defaultOptions2.mode === "ghost" ? handleGhostMode(dragElement.value) : handleLineMode(dragElement.value);
8729
+ (_a2 = defaultOptions2.onStart) == null ? void 0 : _a2.call(defaultOptions2, e);
8730
+ document.body.style.userSelect = "none";
8731
+ document.body.style.webkitUserSelect = "none";
8732
+ document.body.style.cursor = "grabbing";
8733
+ window.addEventListener("blur", cleanup);
8734
+ document.addEventListener("touchmove", onTouchMove, { passive: false });
8735
+ document.addEventListener("touchend", onTouchEnd);
8736
+ document.addEventListener("touchcancel", onTouchEnd);
8737
+ }
8738
+ function onTouchMove(e) {
8739
+ e.preventDefault();
8740
+ const touch = e.touches[0];
8741
+ if (!touch) return;
8742
+ const mouseEvent = {
8743
+ clientX: touch.clientX,
8744
+ clientY: touch.clientY,
8745
+ target: document.elementFromPoint(touch.clientX, touch.clientY)
8746
+ };
8747
+ onDragMove(mouseEvent);
8748
+ autoScroll2(mouseEvent);
8749
+ }
8750
+ function onTouchEnd(e) {
8751
+ const touch = e.changedTouches[0];
8752
+ if (!touch) return;
8753
+ const mouseEvent = {
8754
+ clientX: touch.clientX,
8755
+ clientY: touch.clientY,
8756
+ target: document.elementFromPoint(touch.clientX, touch.clientY)
8757
+ };
8758
+ onDragEnd(mouseEvent);
8759
+ document.removeEventListener("touchmove", onTouchMove);
8760
+ document.removeEventListener("touchend", onTouchEnd);
8761
+ document.removeEventListener("touchcancel", onTouchEnd);
8762
+ }
8763
+ function initDraggableContainer(container) {
8764
+ cleanupFn == null ? void 0 : cleanupFn();
8765
+ isDragging.value = false;
8766
+ dragElement.value = null;
8767
+ ghostElement.value = null;
8768
+ dropIndicator.value = null;
8769
+ dropTarget.value = null;
8770
+ const elements = Array.from(container.children);
8771
+ elements.forEach((el) => {
8772
+ delete el.__drag_group;
8773
+ delete el.__drag_index;
8774
+ delete el.__drag_list;
8775
+ });
8776
+ let currentIndex = 0;
8777
+ elements.forEach((el, index2) => {
8778
+ if (el.dataset.draggable !== "false") {
8779
+ el.style.userSelect = "none";
8780
+ el.style.webkitUserSelect = "none";
8781
+ el.__drag_group = options.group;
8782
+ el.__drag_index = currentIndex++;
8783
+ el.__drag_list = elements.filter((e) => e.dataset.draggable !== "false");
8784
+ if (options.items) {
8785
+ el.__drag_data = options.items[index2];
8786
+ }
8787
+ el.addEventListener("mousedown", onDragStart);
8788
+ el.addEventListener("touchstart", onTouchStart);
8789
+ }
8790
+ });
8791
+ cleanupFn = () => {
8792
+ elements.forEach((el) => {
8793
+ el.removeEventListener("mousedown", onDragStart);
8794
+ el.removeEventListener("touchstart", onTouchStart);
8795
+ delete el.__drag_group;
8796
+ delete el.__drag_index;
8797
+ delete el.__drag_list;
8798
+ });
8799
+ cleanup();
8800
+ };
8801
+ }
8802
+ vue.onUnmounted(() => {
8803
+ cleanupFn == null ? void 0 : cleanupFn();
8804
+ });
8805
+ return {
8806
+ isDragging,
8807
+ dragElement,
8808
+ initDraggableContainer
8809
+ };
8810
+ }
8811
+ const style = document.createElement("style");
8812
+ style.textContent = `
8813
+ .draggable-ghost {
8814
+ opacity: 0.5;
8815
+ box-shadow: 0 2px 10px rgba(0,0,0,0.1);
8816
+ transition: transform 0.1s;
8817
+
8818
+ }
8819
+ `;
8820
+ document.head.appendChild(style);
8821
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
8822
+ __name: "Draggable",
8823
+ props: {
8824
+ modelValue: {},
8825
+ group: {},
8826
+ handle: {},
8827
+ mode: { default: "line" },
8828
+ disabled: { type: Boolean, default: false }
8829
+ },
8830
+ emits: ["update:modelValue", "start", "end"],
8831
+ setup(__props, { emit: __emit }) {
8832
+ const props2 = __props;
8833
+ const emit2 = __emit;
8834
+ const dragContainer = vue.ref();
8835
+ const { initDraggableContainer } = useDraggable({
8836
+ group: props2.group,
8837
+ handle: props2.handle,
8838
+ mode: props2.mode,
8839
+ disabled: props2.disabled,
8840
+ items: props2.modelValue,
8841
+ onStart: (event) => {
8842
+ emit2("start", event);
8843
+ },
8844
+ onEnd: (event) => {
8845
+ const newList = [...props2.modelValue];
8846
+ const [removed] = newList.splice(event.oldIndex, 1);
8847
+ newList.splice(event.newIndex, 0, removed);
8848
+ emit2("update:modelValue", newList);
8849
+ emit2("end", event);
8850
+ vue.nextTick(() => {
8851
+ if (dragContainer.value) {
8852
+ initDraggableContainer(dragContainer.value);
8853
+ }
8854
+ });
8855
+ }
8856
+ });
8857
+ vue.watch(() => props2.modelValue, () => {
8858
+ if (dragContainer.value) {
8859
+ initDraggableContainer(dragContainer.value);
8860
+ }
8861
+ }, { deep: true });
8862
+ vue.onMounted(() => {
8863
+ if (dragContainer.value) {
8864
+ initDraggableContainer(dragContainer.value);
8865
+ }
8866
+ });
8867
+ return (_ctx, _cache) => {
8868
+ return vue.openBlock(), vue.createElementBlock("div", {
8869
+ ref_key: "dragContainer",
8870
+ ref: dragContainer
8871
+ }, [
8872
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.modelValue, (item, index2) => {
8873
+ return vue.renderSlot(_ctx.$slots, "default", {
8874
+ key: index2,
8875
+ item,
8876
+ index: index2
8877
+ });
8878
+ }), 128))
8879
+ ], 512);
8880
+ };
8881
+ }
8882
+ });
8883
+ const vDraggable = {
8884
+ mounted(el, binding) {
8885
+ const { initDraggableContainer } = useDraggable(binding.value || {});
8886
+ initDraggableContainer(el);
8887
+ },
8888
+ updated(el, binding) {
8889
+ if (binding.value !== binding.oldValue) {
8890
+ const { initDraggableContainer } = useDraggable(binding.value || {});
8891
+ initDraggableContainer(el);
8892
+ }
8893
+ }
8894
+ };
8293
8895
  const sides = ["top", "right", "bottom", "left"];
8294
8896
  const alignments = ["start", "end"];
8295
8897
  const placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
@@ -10836,7 +11438,7 @@ const Gt$1 = {
10836
11438
  install: Ct$1,
10837
11439
  options: h
10838
11440
  };
10839
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
11441
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
10840
11442
  __name: "Dropdown",
10841
11443
  props: /* @__PURE__ */ vue.mergeModels({
10842
11444
  value: {},
@@ -10914,9 +11516,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
10914
11516
  };
10915
11517
  }
10916
11518
  });
10917
- const _hoisted_1$L = { class: "px-1 pt-025 pb-1" };
11519
+ const _hoisted_1$K = { class: "px-1 pt-025 pb-1" };
10918
11520
  const _hoisted_2$x = { class: "ms-1" };
10919
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
11521
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
10920
11522
  __name: "FieldSetVue",
10921
11523
  props: {
10922
11524
  label: {},
@@ -10924,15 +11526,15 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
10924
11526
  },
10925
11527
  setup(__props) {
10926
11528
  return (_ctx, _cache) => {
10927
- return vue.openBlock(), vue.createElementBlock("fieldset", _hoisted_1$L, [
11529
+ return vue.openBlock(), vue.createElementBlock("fieldset", _hoisted_1$K, [
10928
11530
  vue.createElementVNode("legend", _hoisted_2$x, vue.toDisplayString(_ctx.legend || _ctx.label), 1),
10929
11531
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
10930
11532
  ]);
10931
11533
  };
10932
11534
  }
10933
11535
  });
10934
- const FieldSetVue = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-f7e758e5"]]);
10935
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
11536
+ const FieldSetVue = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-f7e758e5"]]);
11537
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
10936
11538
  __name: "Flag",
10937
11539
  props: {
10938
11540
  country: {},
@@ -10962,8 +11564,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
10962
11564
  };
10963
11565
  }
10964
11566
  });
10965
- const Flag = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-f99f1900"]]);
10966
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
11567
+ const Flag = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-f99f1900"]]);
11568
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
10967
11569
  __name: "BagelForm",
10968
11570
  props: {
10969
11571
  modelValue: { default: () => ({}) },
@@ -10988,28 +11590,6 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
10988
11590
  const initial = JSON.stringify(initialFormData.value);
10989
11591
  return current !== initial;
10990
11592
  });
10991
- function getComponent(field) {
10992
- var _a2;
10993
- const componentMap = {
10994
- text: TextInput,
10995
- textarea: TextInput,
10996
- number: NumberInput,
10997
- array: _sfc_main$P,
10998
- select: SelectInput,
10999
- toggle: ToggleInput,
11000
- check: CheckInput,
11001
- richtext: RichText,
11002
- upload: UploadInput,
11003
- file: FileUpload,
11004
- date: _sfc_main$K,
11005
- tabs: TabsNav,
11006
- bglform: _sfc_main$S
11007
- };
11008
- if (field.$el === "textarea" && !((_a2 = field.attrs) == null ? void 0 : _a2.multiline)) {
11009
- field.attrs = { ...field.attrs, multiline: true };
11010
- }
11011
- return componentMap[field.$el] ?? field.$el ?? "div";
11012
- }
11013
11593
  function updateFormData(fieldId, value) {
11014
11594
  formData.value = {
11015
11595
  ...formData.value,
@@ -11021,61 +11601,6 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
11021
11601
  emit2("submit", formData.value);
11022
11602
  initialFormData.value = { ...formData.value };
11023
11603
  }
11024
- function renderSchemaField(field) {
11025
- var _a2;
11026
- const Component = getComponent(field);
11027
- if (!Component) return null;
11028
- if (!shouldRenderField(field)) return null;
11029
- const {
11030
- $el,
11031
- vIf,
11032
- "v-if": vIf2,
11033
- children: children2,
11034
- options,
11035
- attrs,
11036
- class: fieldClass,
11037
- id,
11038
- onUpdate,
11039
- // Common form field props that need special handling
11040
- required: required2,
11041
- label,
11042
- placeholder,
11043
- disabled,
11044
- ...fieldProps
11045
- } = field;
11046
- const currentValue = field.id ? formData.value[field.id] : void 0;
11047
- const props22 = {
11048
- ...fieldProps,
11049
- required: required2,
11050
- label,
11051
- placeholder,
11052
- disabled,
11053
- "modelValue": currentValue,
11054
- "onUpdate:modelValue": (value) => {
11055
- var _a3;
11056
- if (!field.id) return;
11057
- updateFormData(field.id, value);
11058
- (_a3 = field.onUpdate) == null ? void 0 : _a3.call(field, value, formData.value);
11059
- }
11060
- };
11061
- Object.keys(props22).forEach((key) => props22[key] === void 0 && delete props22[key]);
11062
- if (field.options) {
11063
- props22.options = typeof field.options === "function" ? field.options(formData.value[field.id], formData.value) : field.options;
11064
- }
11065
- if (field.attrs) {
11066
- Object.entries(field.attrs).forEach(([key, value]) => {
11067
- props22[key] = typeof value === "function" ? value(formData.value[field.id], formData.value) : value;
11068
- });
11069
- }
11070
- if (field.class) {
11071
- props22.class = typeof field.class === "function" ? field.class(formData.value[field.id], formData.value) : field.class;
11072
- }
11073
- const slots = ((_a2 = field.children) == null ? void 0 : _a2.length) ? {
11074
- default: () => field.children.map((child) => typeof child === "string" ? child : renderSchemaField(child)).filter(Boolean),
11075
- ...field.slots
11076
- } : field.slots;
11077
- return vue.h(Component, props22, slots);
11078
- }
11079
11604
  function shouldRenderField(field) {
11080
11605
  const condition = field.vIf ?? field["v-if"];
11081
11606
  if (condition === void 0) return true;
@@ -11085,6 +11610,20 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
11085
11610
  if (!form.value) return false;
11086
11611
  return form.value.reportValidity();
11087
11612
  }
11613
+ const { renderField } = useSchemaField({
11614
+ mode: "form",
11615
+ getRowData: () => formData.value,
11616
+ onUpdate: (field, value) => {
11617
+ var _a2;
11618
+ if (!field.id) return;
11619
+ updateFormData(field.id, value);
11620
+ (_a2 = field.onUpdate) == null ? void 0 : _a2.call(field, value, formData.value);
11621
+ }
11622
+ });
11623
+ function renderSchemaField(field) {
11624
+ if (!shouldRenderField(field)) return null;
11625
+ return renderField(field);
11626
+ }
11088
11627
  __expose({ form: form.value, isDirty: isDirty.value, validateForm });
11089
11628
  return (_ctx, _cache) => {
11090
11629
  return vue.openBlock(), vue.createElementBlock("form", {
@@ -11106,283 +11645,13 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
11106
11645
  };
11107
11646
  }
11108
11647
  });
11109
- const state$1 = vue.reactive(/* @__PURE__ */ new Map());
11110
- function useTabs(group) {
11111
- if (!state$1.has(group)) {
11112
- state$1.set(group, vue.reactive({ currentTab: void 0 }));
11113
- }
11114
- const currentTab = vue.computed({
11115
- get: () => state$1.get(group).currentTab,
11116
- set: (val) => {
11117
- state$1.get(group).currentTab = val;
11118
- }
11119
- });
11120
- return { currentTab };
11121
- }
11122
- const _hoisted_1$K = ["onClick"];
11123
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
11124
- __name: "TabsNav",
11125
- props: {
11126
- title: {},
11127
- tabs: {},
11128
- modelValue: {},
11129
- sideTabs: { type: Boolean },
11130
- group: {},
11131
- flat: { type: Boolean },
11132
- vertical: { type: Boolean }
11133
- },
11134
- emits: ["update:modelValue"],
11135
- setup(__props, { emit: __emit }) {
11136
- const props2 = __props;
11137
- const emit2 = __emit;
11138
- const { currentTab } = useTabs(props2.group);
11139
- currentTab.value = props2.modelValue || typeof props2.tabs[0] === "string" ? props2.tabs[0] : props2.tabs[0].id;
11140
- const tabsWrap = vue.ref(void 0);
11141
- const tabs = vue.ref([]);
11142
- function updateIndicator() {
11143
- const activeTab = tabs.value.find((tab) => tab.classList.contains("active"));
11144
- if (activeTab && tabsWrap.value) {
11145
- const { offsetLeft, offsetWidth } = activeTab;
11146
- tabsWrap.value.style.setProperty("--indicator-left", `${offsetLeft}px`);
11147
- if (tabsWrap.value) {
11148
- tabsWrap.value.style.setProperty("--indicator-width", `${offsetWidth}px`);
11149
- }
11150
- }
11151
- }
11152
- function selectTab(tab) {
11153
- currentTab.value = typeof tab === "string" ? tab : tab.id;
11154
- emit2("update:modelValue", currentTab.value);
11155
- vue.nextTick(() => {
11156
- updateIndicator();
11157
- });
11158
- }
11159
- function isActive(tab) {
11160
- if (typeof tab === "string") return currentTab.value === tab;
11161
- return currentTab.value === tab.id;
11162
- }
11163
- function tabLabel(tab) {
11164
- if (typeof tab === "string") return tab;
11165
- return tab.label;
11166
- }
11167
- vue.watch(
11168
- () => props2.modelValue,
11169
- (value) => {
11170
- if (value && !isActive(value)) currentTab.value = value;
11171
- vue.nextTick(() => {
11172
- updateIndicator();
11173
- });
11174
- },
11175
- { immediate: true }
11176
- );
11177
- vue.onMounted(() => {
11178
- var _a2;
11179
- tabs.value = Array.from(((_a2 = tabsWrap.value) == null ? void 0 : _a2.querySelectorAll(".bgl_tab")) || []);
11180
- updateIndicator();
11181
- window.addEventListener("resize", updateIndicator);
11182
- });
11183
- vue.onBeforeUnmount(() => {
11184
- window.removeEventListener("resize", updateIndicator);
11185
- });
11186
- return (_ctx, _cache) => {
11187
- return vue.openBlock(), vue.createElementBlock("div", {
11188
- ref_key: "tabsWrap",
11189
- ref: tabsWrap,
11190
- class: vue.normalizeClass(["grid auto-flow-columns relative fit-content bgl_tabs_wrap overflow-hidden", { "bgl_flat-tabs": _ctx.flat, "bgl_vertical-tabs": _ctx.vertical }])
11191
- }, [
11192
- vue.renderSlot(_ctx.$slots, "tabs", vue.normalizeProps(vue.guardReactiveProps({ selectTab, isActive, tabLabel, tabs: tabs.value })), () => [
11193
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props2.tabs, (tab, i2) => {
11194
- return vue.openBlock(), vue.createElementBlock("button", {
11195
- key: i2,
11196
- type: "button",
11197
- class: vue.normalizeClass([{ active: isActive(tab) }, "bgl_tab relative z-1"]),
11198
- onClick: ($event) => selectTab(tab)
11199
- }, [
11200
- typeof tab !== "string" && tab.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
11201
- key: 0,
11202
- icon: tab.icon
11203
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
11204
- vue.createTextVNode(" " + vue.toDisplayString(tabLabel(tab)), 1)
11205
- ], 10, _hoisted_1$K);
11206
- }), 128))
11207
- ], true)
11208
- ], 2);
11209
- };
11210
- }
11211
- });
11212
- const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-e680c2a4"]]);
11213
- const FORM_STATE_KEY = Symbol("bagelFormState");
11214
- function safeClone(obj) {
11215
- if (obj === null || typeof obj !== "object") return obj;
11216
- const seen = /* @__PURE__ */ new WeakSet();
11217
- return JSON.parse(JSON.stringify(obj, (key, value) => {
11218
- if (typeof value === "object" && value !== null) {
11219
- if (seen.has(value)) {
11220
- return void 0;
11221
- }
11222
- seen.add(value);
11223
- }
11224
- return value;
11225
- }));
11226
- }
11227
- function provideBagelFormState(initialData) {
11228
- const data2 = vue.ref(initialData);
11229
- const isDirty = vue.ref(false);
11230
- const getFieldData = (path) => {
11231
- if (!path) return "";
11232
- const keys4 = path.split(/[.[]/);
11233
- let current = data2.value;
11234
- for (let i2 = 0; i2 < keys4.length; i2++) {
11235
- const key = keys4[i2];
11236
- if (!current || typeof current !== "object" || !(key in current)) {
11237
- return "";
11238
- }
11239
- current = current[key];
11240
- }
11241
- return current ?? "";
11242
- };
11243
- const updateField = (path, value) => {
11244
- const keys4 = path.split(/[.[]/);
11245
- if (typeof data2.value !== "object" || data2.value === null) {
11246
- data2.value = {};
11247
- }
11248
- let current = data2.value;
11249
- for (let i2 = 0; i2 < keys4.length - 1; i2++) {
11250
- const key = keys4[i2];
11251
- if (!(key in current) || typeof current[key] !== "object" || current[key] === null) {
11252
- current[key] = {};
11253
- }
11254
- current = current[key];
11255
- }
11256
- const safeValue = safeClone(value);
11257
- current[keys4[keys4.length - 1]] = safeValue;
11258
- isDirty.value = true;
11259
- };
11260
- const state2 = {
11261
- data: data2,
11262
- getFieldData,
11263
- updateField,
11264
- isDirty
11265
- };
11266
- vue.provide(FORM_STATE_KEY, state2);
11267
- return state2;
11268
- }
11269
- function useBagelFormState() {
11270
- const state2 = vue.inject(FORM_STATE_KEY);
11271
- if (!state2) throw new Error("BagelFormState must be provided");
11272
- return state2;
11273
- }
11274
- const _hoisted_1$J = { key: 1 };
11275
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
11276
- __name: "BglField",
11277
- props: {
11278
- field: {},
11279
- fieldID: {},
11280
- modelValue: {},
11281
- parentPath: {}
11282
- },
11283
- emits: ["update:modelValue"],
11284
- setup(__props, { emit: __emit }) {
11285
- const props2 = __props;
11286
- const emit2 = __emit;
11287
- const formState = vue.inject(FORM_STATE_KEY) ?? provideBagelFormState(props2.modelValue);
11288
- const customAttrs = vue.ref({});
11289
- const is4 = vue.computed(() => {
11290
- if (props2.field.$el === "text") return TextInput;
11291
- if (props2.field.$el === "textarea") {
11292
- customAttrs.value.multiline = true;
11293
- return TextInput;
11294
- }
11295
- if (props2.field.$el === "number") return NumberInput;
11296
- if (props2.field.$el === "array") return _sfc_main$P;
11297
- if (props2.field.$el === "select") return SelectInput;
11298
- if (props2.field.$el === "toggle") return ToggleInput;
11299
- if (props2.field.$el === "check") return CheckInput;
11300
- if (props2.field.$el === "richtext") return RichText;
11301
- if (props2.field.$el === "upload") return UploadInput;
11302
- if (props2.field.$el === "file") return FileUpload;
11303
- if (props2.field.$el === "date") return _sfc_main$K;
11304
- if (props2.field.$el === "tabs") return TabsNav;
11305
- if (props2.field.$el === "bglform") return _sfc_main$S;
11306
- return props2.field.$el ?? "div";
11307
- });
11308
- const fieldData = vue.computed({
11309
- get: () => {
11310
- if (!props2.fieldID) return props2.field.defaultValue ?? (props2.field.$el === "form" ? {} : "");
11311
- const value = formState.getFieldData(props2.fieldID);
11312
- if (props2.field.$el === "form" && !value) return {};
11313
- return value ?? "";
11314
- },
11315
- set: (val) => {
11316
- if (!props2.fieldID) return;
11317
- const currentValue = formState.getFieldData(props2.fieldID);
11318
- if (JSON.stringify(val) === JSON.stringify(currentValue)) return;
11319
- emit2("update:modelValue", val);
11320
- if (props2.field.onUpdate) {
11321
- props2.field.onUpdate(val, currentValue);
11322
- }
11323
- formState.updateField(props2.fieldID, val);
11324
- }
11325
- });
11326
- const vIf = vue.computed(() => {
11327
- if (props2.field["v-if"] === void 0 && props2.field.vIf === void 0) return true;
11328
- if (typeof props2.field["v-if"] === "boolean" || typeof props2.field.vIf === "boolean") return props2.field["v-if"];
11329
- if (typeof props2.field["v-if"] === "string" || typeof props2.field.vIf === "string") return true;
11330
- if (typeof props2.field["v-if"] === "function") return props2.field["v-if"](fieldData.value, formState.data.value);
11331
- if (typeof props2.field.vIf === "function") return props2.field.vIf(fieldData.value, formState.data.value);
11332
- return true;
11333
- });
11334
- const computedOptions = vue.computed(
11335
- () => bindAttrs({ options: props2.field.options }, fieldData.value, formState.data.value).options
11336
- );
11337
- const computedAttrs = vue.computed(() => {
11338
- const attrs = { ...customAttrs.value, ...props2.field.attrs };
11339
- return bindAttrs(attrs, fieldData.value, formState.data.value);
11340
- });
11341
- const computedClass = vue.computed(
11342
- () => {
11343
- var _a2;
11344
- return classify(fieldData.value, formState.data.value, props2.field.class, (_a2 = props2.field.attrs) == null ? void 0 : _a2.class);
11345
- }
11346
- );
11347
- return (_ctx, _cache) => {
11348
- const _component_BglField = vue.resolveComponent("BglField", true);
11349
- return vIf.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(is4.value), vue.mergeProps({ key: 0 }, computedAttrs.value, {
11350
- modelValue: fieldData.value,
11351
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fieldData.value = $event),
11352
- fieldID: props2.fieldID,
11353
- required: _ctx.field.required,
11354
- class: computedClass.value,
11355
- label: _ctx.field.label,
11356
- placeholder: _ctx.field.placeholder || _ctx.field.label,
11357
- defaultValue: _ctx.field.defaultValue,
11358
- disabled: _ctx.field.disabled,
11359
- options: computedOptions.value,
11360
- helptext: _ctx.field.helptext
11361
- }), {
11362
- default: vue.withCtx(() => [
11363
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.field.children, (child, ii) => {
11364
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: ii }, [
11365
- typeof child !== "string" ? (vue.openBlock(), vue.createBlock(_component_BglField, {
11366
- key: 0,
11367
- fieldID: [props2.fieldID, child.id].filter(Boolean).join("."),
11368
- field: child,
11369
- "parent-path": props2.fieldID
11370
- }, null, 8, ["fieldID", "field", "parent-path"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$J, vue.toDisplayString(child), 1))
11371
- ], 64);
11372
- }), 128))
11373
- ]),
11374
- _: 1
11375
- }, 16, ["modelValue", "fieldID", "required", "class", "label", "placeholder", "defaultValue", "disabled", "options", "helptext"])) : vue.createCommentVNode("", true);
11376
- };
11377
- }
11378
- });
11379
- const _hoisted_1$I = { class: "label mb-05" };
11648
+ const _hoisted_1$J = { class: "label mb-05" };
11380
11649
  const _hoisted_2$w = {
11381
11650
  key: 0,
11382
11651
  class: "ps-025 border-start"
11383
11652
  };
11384
11653
  const _hoisted_3$p = { class: "bg-gray-80 -my-05 px-025 pt-065 txt-center" };
11385
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
11654
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
11386
11655
  __name: "FieldArray",
11387
11656
  props: {
11388
11657
  el: { default: "div" },
@@ -11435,11 +11704,22 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
11435
11704
  $el: props2.el
11436
11705
  })
11437
11706
  );
11707
+ const { renderField } = useSchemaField({
11708
+ mode: "form",
11709
+ getRowData: () => data2.value,
11710
+ onUpdate: (field, value) => {
11711
+ if (!field.id) return;
11712
+ const index2 = Number.parseInt(field.id);
11713
+ if (Number.isNaN(index2)) return;
11714
+ data2.value[index2] = value;
11715
+ emitValue();
11716
+ }
11717
+ });
11438
11718
  return (_ctx, _cache) => {
11439
11719
  return vue.openBlock(), vue.createElementBlock("div", {
11440
11720
  class: vue.normalizeClass(props2.class)
11441
11721
  }, [
11442
- vue.createElementVNode("p", _hoisted_1$I, vue.toDisplayString(_ctx.label), 1),
11722
+ vue.createElementVNode("p", _hoisted_1$J, vue.toDisplayString(_ctx.label), 1),
11443
11723
  _ctx.schema ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
11444
11724
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data2.value, (_2, i2) => {
11445
11725
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -11448,7 +11728,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
11448
11728
  thin: "",
11449
11729
  class: "mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden"
11450
11730
  }, [
11451
- vue.createVNode(vue.unref(_sfc_main$S), {
11731
+ vue.createVNode(vue.unref(_sfc_main$R), {
11452
11732
  modelValue: data2.value[i2],
11453
11733
  "onUpdate:modelValue": [($event) => data2.value[i2] = $event, emitValue],
11454
11734
  schema: _ctx.schema
@@ -11479,19 +11759,17 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
11479
11759
  _: 1
11480
11760
  })) : vue.createCommentVNode("", true)
11481
11761
  ])) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(data2.value, (_2, i2) => {
11482
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
11762
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(renderField)({ ...computedField.value, id: String(i2) })), {
11483
11763
  key: i2,
11484
- modelValue: data2.value[i2],
11485
- "onUpdate:modelValue": [($event) => data2.value[i2] = $event, emitValue],
11486
- field: computedField.value
11487
- }, null, 8, ["modelValue", "onUpdate:modelValue", "field"]);
11764
+ "onUpdate:modelValue": emitValue
11765
+ });
11488
11766
  }), 128))
11489
11767
  ], 2);
11490
11768
  };
11491
11769
  }
11492
11770
  });
11493
- const _hoisted_1$H = { class: "primary-checkbox" };
11494
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
11771
+ const _hoisted_1$I = { class: "primary-checkbox" };
11772
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
11495
11773
  __name: "Checkbox",
11496
11774
  props: {
11497
11775
  "modelValue": { type: Boolean, ...{ default: false } },
@@ -11501,7 +11779,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
11501
11779
  setup(__props) {
11502
11780
  const val = vue.useModel(__props, "modelValue");
11503
11781
  return (_ctx, _cache) => {
11504
- return vue.openBlock(), vue.createElementBlock("label", _hoisted_1$H, [
11782
+ return vue.openBlock(), vue.createElementBlock("label", _hoisted_1$I, [
11505
11783
  vue.renderSlot(_ctx.$slots, "label", {}, void 0, true),
11506
11784
  vue.withDirectives(vue.createElementVNode("input", {
11507
11785
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => val.value = $event),
@@ -11513,11 +11791,11 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
11513
11791
  };
11514
11792
  }
11515
11793
  });
11516
- const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-73f1d9ad"]]);
11517
- const _hoisted_1$G = ["title"];
11794
+ const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-73f1d9ad"]]);
11795
+ const _hoisted_1$H = ["title"];
11518
11796
  const _hoisted_2$v = ["id", "value", "required"];
11519
11797
  const _hoisted_3$o = ["for"];
11520
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
11798
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
11521
11799
  __name: "CheckInput",
11522
11800
  props: /* @__PURE__ */ vue.mergeModels({
11523
11801
  label: {},
@@ -11559,12 +11837,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
11559
11837
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
11560
11838
  ], true)
11561
11839
  ], 8, _hoisted_3$o)
11562
- ], 10, _hoisted_1$G);
11840
+ ], 10, _hoisted_1$H);
11563
11841
  };
11564
11842
  }
11565
11843
  });
11566
- const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-03ed2982"]]);
11567
- const _hoisted_1$F = { class: "mb-05" };
11844
+ const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-03ed2982"]]);
11845
+ const _hoisted_1$G = { class: "mb-05" };
11568
11846
  const _hoisted_2$u = {
11569
11847
  key: 0,
11570
11848
  class: "label txt-start"
@@ -11576,7 +11854,7 @@ const _hoisted_3$n = {
11576
11854
  const _hoisted_4$f = { class: "overflow-hidden absolute inset-0 p-0 m-0 h-100 codeText" };
11577
11855
  const _hoisted_5$e = ["innerHTML"];
11578
11856
  const _hoisted_6$b = ["onKeydown"];
11579
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
11857
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
11580
11858
  __name: "Index",
11581
11859
  props: {
11582
11860
  language: {},
@@ -11658,7 +11936,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
11658
11936
  }
11659
11937
  }, { immediate: true });
11660
11938
  return (_ctx, _cache) => {
11661
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
11939
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
11662
11940
  _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$u, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
11663
11941
  vue.unref(loaded) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$n, [
11664
11942
  vue.createElementVNode("div", {
@@ -11694,10 +11972,10 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
11694
11972
  };
11695
11973
  }
11696
11974
  });
11697
- const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-1fbc9b61"]]);
11698
- const _hoisted_1$E = ["title"];
11975
+ const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-1fbc9b61"]]);
11976
+ const _hoisted_1$F = ["title"];
11699
11977
  const _hoisted_2$t = ["id", "placeholder", "required"];
11700
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
11978
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
11701
11979
  __name: "ColorPicker",
11702
11980
  props: {
11703
11981
  label: {},
@@ -11739,7 +12017,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
11739
12017
  [vue.vModelText, inputVal.value]
11740
12018
  ])
11741
12019
  ])
11742
- ], 10, _hoisted_1$E)) : vue.createCommentVNode("", true);
12020
+ ], 10, _hoisted_1$F)) : vue.createCommentVNode("", true);
11743
12021
  };
11744
12022
  }
11745
12023
  });
@@ -13485,7 +13763,7 @@ function transpose(fromDate, constructor) {
13485
13763
  const TIMEZONE_UNIT_PRIORITY = 10;
13486
13764
  class Setter {
13487
13765
  constructor() {
13488
- __publicField2(this, "subPriority", 0);
13766
+ __publicField(this, "subPriority", 0);
13489
13767
  }
13490
13768
  validate(_utcDate, _options) {
13491
13769
  return true;
@@ -13512,8 +13790,8 @@ class ValueSetter extends Setter {
13512
13790
  class DateToSystemTimezoneSetter extends Setter {
13513
13791
  constructor() {
13514
13792
  super(...arguments);
13515
- __publicField2(this, "priority", TIMEZONE_UNIT_PRIORITY);
13516
- __publicField2(this, "subPriority", -1);
13793
+ __publicField(this, "priority", TIMEZONE_UNIT_PRIORITY);
13794
+ __publicField(this, "subPriority", -1);
13517
13795
  }
13518
13796
  set(date2, flags) {
13519
13797
  if (flags.timestampIsSet) return date2;
@@ -13544,8 +13822,8 @@ class Parser {
13544
13822
  class EraParser extends Parser {
13545
13823
  constructor() {
13546
13824
  super(...arguments);
13547
- __publicField2(this, "priority", 140);
13548
- __publicField2(this, "incompatibleTokens", ["R", "u", "t", "T"]);
13825
+ __publicField(this, "priority", 140);
13826
+ __publicField(this, "incompatibleTokens", ["R", "u", "t", "T"]);
13549
13827
  }
13550
13828
  parse(dateString, token, match2) {
13551
13829
  switch (token) {
@@ -13723,8 +14001,8 @@ function isLeapYearIndex(year) {
13723
14001
  class YearParser extends Parser {
13724
14002
  constructor() {
13725
14003
  super(...arguments);
13726
- __publicField2(this, "priority", 130);
13727
- __publicField2(this, "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);
14004
+ __publicField(this, "priority", 130);
14005
+ __publicField(this, "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);
13728
14006
  }
13729
14007
  parse(dateString, token, match2) {
13730
14008
  const valueCallback = (year) => ({
@@ -13768,8 +14046,8 @@ class YearParser extends Parser {
13768
14046
  class LocalWeekYearParser extends Parser {
13769
14047
  constructor() {
13770
14048
  super(...arguments);
13771
- __publicField2(this, "priority", 130);
13772
- __publicField2(this, "incompatibleTokens", [
14049
+ __publicField(this, "priority", 130);
14050
+ __publicField(this, "incompatibleTokens", [
13773
14051
  "y",
13774
14052
  "R",
13775
14053
  "u",
@@ -13831,8 +14109,8 @@ class LocalWeekYearParser extends Parser {
13831
14109
  class ISOWeekYearParser extends Parser {
13832
14110
  constructor() {
13833
14111
  super(...arguments);
13834
- __publicField2(this, "priority", 130);
13835
- __publicField2(this, "incompatibleTokens", [
14112
+ __publicField(this, "priority", 130);
14113
+ __publicField(this, "incompatibleTokens", [
13836
14114
  "G",
13837
14115
  "y",
13838
14116
  "Y",
@@ -13866,8 +14144,8 @@ class ISOWeekYearParser extends Parser {
13866
14144
  class ExtendedYearParser extends Parser {
13867
14145
  constructor() {
13868
14146
  super(...arguments);
13869
- __publicField2(this, "priority", 130);
13870
- __publicField2(this, "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);
14147
+ __publicField(this, "priority", 130);
14148
+ __publicField(this, "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);
13871
14149
  }
13872
14150
  parse(dateString, token) {
13873
14151
  if (token === "u") {
@@ -13884,8 +14162,8 @@ class ExtendedYearParser extends Parser {
13884
14162
  class QuarterParser extends Parser {
13885
14163
  constructor() {
13886
14164
  super(...arguments);
13887
- __publicField2(this, "priority", 120);
13888
- __publicField2(this, "incompatibleTokens", [
14165
+ __publicField(this, "priority", 120);
14166
+ __publicField(this, "incompatibleTokens", [
13889
14167
  "Y",
13890
14168
  "R",
13891
14169
  "q",
@@ -13953,8 +14231,8 @@ class QuarterParser extends Parser {
13953
14231
  class StandAloneQuarterParser extends Parser {
13954
14232
  constructor() {
13955
14233
  super(...arguments);
13956
- __publicField2(this, "priority", 120);
13957
- __publicField2(this, "incompatibleTokens", [
14234
+ __publicField(this, "priority", 120);
14235
+ __publicField(this, "incompatibleTokens", [
13958
14236
  "Y",
13959
14237
  "R",
13960
14238
  "Q",
@@ -14022,7 +14300,7 @@ class StandAloneQuarterParser extends Parser {
14022
14300
  class MonthParser extends Parser {
14023
14301
  constructor() {
14024
14302
  super(...arguments);
14025
- __publicField2(this, "incompatibleTokens", [
14303
+ __publicField(this, "incompatibleTokens", [
14026
14304
  "Y",
14027
14305
  "R",
14028
14306
  "q",
@@ -14037,7 +14315,7 @@ class MonthParser extends Parser {
14037
14315
  "t",
14038
14316
  "T"
14039
14317
  ]);
14040
- __publicField2(this, "priority", 110);
14318
+ __publicField(this, "priority", 110);
14041
14319
  }
14042
14320
  parse(dateString, token, match2) {
14043
14321
  const valueCallback = (value) => value - 1;
@@ -14092,8 +14370,8 @@ class MonthParser extends Parser {
14092
14370
  class StandAloneMonthParser extends Parser {
14093
14371
  constructor() {
14094
14372
  super(...arguments);
14095
- __publicField2(this, "priority", 110);
14096
- __publicField2(this, "incompatibleTokens", [
14373
+ __publicField(this, "priority", 110);
14374
+ __publicField(this, "incompatibleTokens", [
14097
14375
  "Y",
14098
14376
  "R",
14099
14377
  "q",
@@ -14168,8 +14446,8 @@ function setWeek(date2, week, options) {
14168
14446
  class LocalWeekParser extends Parser {
14169
14447
  constructor() {
14170
14448
  super(...arguments);
14171
- __publicField2(this, "priority", 100);
14172
- __publicField2(this, "incompatibleTokens", [
14449
+ __publicField(this, "priority", 100);
14450
+ __publicField(this, "incompatibleTokens", [
14173
14451
  "y",
14174
14452
  "R",
14175
14453
  "u",
@@ -14211,8 +14489,8 @@ function setISOWeek(date2, week) {
14211
14489
  class ISOWeekParser extends Parser {
14212
14490
  constructor() {
14213
14491
  super(...arguments);
14214
- __publicField2(this, "priority", 100);
14215
- __publicField2(this, "incompatibleTokens", [
14492
+ __publicField(this, "priority", 100);
14493
+ __publicField(this, "incompatibleTokens", [
14216
14494
  "y",
14217
14495
  "Y",
14218
14496
  "u",
@@ -14264,9 +14542,9 @@ const DAYS_IN_MONTH_LEAP_YEAR = [
14264
14542
  class DateParser extends Parser {
14265
14543
  constructor() {
14266
14544
  super(...arguments);
14267
- __publicField2(this, "priority", 90);
14268
- __publicField2(this, "subPriority", 1);
14269
- __publicField2(this, "incompatibleTokens", [
14545
+ __publicField(this, "priority", 90);
14546
+ __publicField(this, "subPriority", 1);
14547
+ __publicField(this, "incompatibleTokens", [
14270
14548
  "Y",
14271
14549
  "R",
14272
14550
  "q",
@@ -14310,9 +14588,9 @@ class DateParser extends Parser {
14310
14588
  class DayOfYearParser extends Parser {
14311
14589
  constructor() {
14312
14590
  super(...arguments);
14313
- __publicField2(this, "priority", 90);
14314
- __publicField2(this, "subpriority", 1);
14315
- __publicField2(this, "incompatibleTokens", [
14591
+ __publicField(this, "priority", 90);
14592
+ __publicField(this, "subpriority", 1);
14593
+ __publicField(this, "incompatibleTokens", [
14316
14594
  "Y",
14317
14595
  "R",
14318
14596
  "q",
@@ -14371,8 +14649,8 @@ function setDay(date2, day, options) {
14371
14649
  class DayParser extends Parser {
14372
14650
  constructor() {
14373
14651
  super(...arguments);
14374
- __publicField2(this, "priority", 90);
14375
- __publicField2(this, "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]);
14652
+ __publicField(this, "priority", 90);
14653
+ __publicField(this, "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]);
14376
14654
  }
14377
14655
  parse(dateString, token, match2) {
14378
14656
  switch (token) {
@@ -14414,8 +14692,8 @@ class DayParser extends Parser {
14414
14692
  class LocalDayParser extends Parser {
14415
14693
  constructor() {
14416
14694
  super(...arguments);
14417
- __publicField2(this, "priority", 90);
14418
- __publicField2(this, "incompatibleTokens", [
14695
+ __publicField(this, "priority", 90);
14696
+ __publicField(this, "incompatibleTokens", [
14419
14697
  "y",
14420
14698
  "R",
14421
14699
  "u",
@@ -14487,8 +14765,8 @@ class LocalDayParser extends Parser {
14487
14765
  class StandAloneLocalDayParser extends Parser {
14488
14766
  constructor() {
14489
14767
  super(...arguments);
14490
- __publicField2(this, "priority", 90);
14491
- __publicField2(this, "incompatibleTokens", [
14768
+ __publicField(this, "priority", 90);
14769
+ __publicField(this, "incompatibleTokens", [
14492
14770
  "y",
14493
14771
  "R",
14494
14772
  "u",
@@ -14566,8 +14844,8 @@ function setISODay(date2, day) {
14566
14844
  class ISODayParser extends Parser {
14567
14845
  constructor() {
14568
14846
  super(...arguments);
14569
- __publicField2(this, "priority", 90);
14570
- __publicField2(this, "incompatibleTokens", [
14847
+ __publicField(this, "priority", 90);
14848
+ __publicField(this, "incompatibleTokens", [
14571
14849
  "y",
14572
14850
  "Y",
14573
14851
  "u",
@@ -14669,8 +14947,8 @@ class ISODayParser extends Parser {
14669
14947
  class AMPMParser extends Parser {
14670
14948
  constructor() {
14671
14949
  super(...arguments);
14672
- __publicField2(this, "priority", 80);
14673
- __publicField2(this, "incompatibleTokens", ["b", "B", "H", "k", "t", "T"]);
14950
+ __publicField(this, "priority", 80);
14951
+ __publicField(this, "incompatibleTokens", ["b", "B", "H", "k", "t", "T"]);
14674
14952
  }
14675
14953
  parse(dateString, token, match2) {
14676
14954
  switch (token) {
@@ -14711,8 +14989,8 @@ class AMPMParser extends Parser {
14711
14989
  class AMPMMidnightParser extends Parser {
14712
14990
  constructor() {
14713
14991
  super(...arguments);
14714
- __publicField2(this, "priority", 80);
14715
- __publicField2(this, "incompatibleTokens", ["a", "B", "H", "k", "t", "T"]);
14992
+ __publicField(this, "priority", 80);
14993
+ __publicField(this, "incompatibleTokens", ["a", "B", "H", "k", "t", "T"]);
14716
14994
  }
14717
14995
  parse(dateString, token, match2) {
14718
14996
  switch (token) {
@@ -14753,8 +15031,8 @@ class AMPMMidnightParser extends Parser {
14753
15031
  class DayPeriodParser extends Parser {
14754
15032
  constructor() {
14755
15033
  super(...arguments);
14756
- __publicField2(this, "priority", 80);
14757
- __publicField2(this, "incompatibleTokens", ["a", "b", "t", "T"]);
15034
+ __publicField(this, "priority", 80);
15035
+ __publicField(this, "incompatibleTokens", ["a", "b", "t", "T"]);
14758
15036
  }
14759
15037
  parse(dateString, token, match2) {
14760
15038
  switch (token) {
@@ -14795,8 +15073,8 @@ class DayPeriodParser extends Parser {
14795
15073
  class Hour1to12Parser extends Parser {
14796
15074
  constructor() {
14797
15075
  super(...arguments);
14798
- __publicField2(this, "priority", 70);
14799
- __publicField2(this, "incompatibleTokens", ["H", "K", "k", "t", "T"]);
15076
+ __publicField(this, "priority", 70);
15077
+ __publicField(this, "incompatibleTokens", ["H", "K", "k", "t", "T"]);
14800
15078
  }
14801
15079
  parse(dateString, token, match2) {
14802
15080
  switch (token) {
@@ -14826,8 +15104,8 @@ class Hour1to12Parser extends Parser {
14826
15104
  class Hour0to23Parser extends Parser {
14827
15105
  constructor() {
14828
15106
  super(...arguments);
14829
- __publicField2(this, "priority", 70);
14830
- __publicField2(this, "incompatibleTokens", ["a", "b", "h", "K", "k", "t", "T"]);
15107
+ __publicField(this, "priority", 70);
15108
+ __publicField(this, "incompatibleTokens", ["a", "b", "h", "K", "k", "t", "T"]);
14831
15109
  }
14832
15110
  parse(dateString, token, match2) {
14833
15111
  switch (token) {
@@ -14850,8 +15128,8 @@ class Hour0to23Parser extends Parser {
14850
15128
  class Hour0To11Parser extends Parser {
14851
15129
  constructor() {
14852
15130
  super(...arguments);
14853
- __publicField2(this, "priority", 70);
14854
- __publicField2(this, "incompatibleTokens", ["h", "H", "k", "t", "T"]);
15131
+ __publicField(this, "priority", 70);
15132
+ __publicField(this, "incompatibleTokens", ["h", "H", "k", "t", "T"]);
14855
15133
  }
14856
15134
  parse(dateString, token, match2) {
14857
15135
  switch (token) {
@@ -14879,8 +15157,8 @@ class Hour0To11Parser extends Parser {
14879
15157
  class Hour1To24Parser extends Parser {
14880
15158
  constructor() {
14881
15159
  super(...arguments);
14882
- __publicField2(this, "priority", 70);
14883
- __publicField2(this, "incompatibleTokens", ["a", "b", "h", "H", "K", "t", "T"]);
15160
+ __publicField(this, "priority", 70);
15161
+ __publicField(this, "incompatibleTokens", ["a", "b", "h", "H", "K", "t", "T"]);
14884
15162
  }
14885
15163
  parse(dateString, token, match2) {
14886
15164
  switch (token) {
@@ -14904,8 +15182,8 @@ class Hour1To24Parser extends Parser {
14904
15182
  class MinuteParser extends Parser {
14905
15183
  constructor() {
14906
15184
  super(...arguments);
14907
- __publicField2(this, "priority", 60);
14908
- __publicField2(this, "incompatibleTokens", ["t", "T"]);
15185
+ __publicField(this, "priority", 60);
15186
+ __publicField(this, "incompatibleTokens", ["t", "T"]);
14909
15187
  }
14910
15188
  parse(dateString, token, match2) {
14911
15189
  switch (token) {
@@ -14928,8 +15206,8 @@ class MinuteParser extends Parser {
14928
15206
  class SecondParser extends Parser {
14929
15207
  constructor() {
14930
15208
  super(...arguments);
14931
- __publicField2(this, "priority", 50);
14932
- __publicField2(this, "incompatibleTokens", ["t", "T"]);
15209
+ __publicField(this, "priority", 50);
15210
+ __publicField(this, "incompatibleTokens", ["t", "T"]);
14933
15211
  }
14934
15212
  parse(dateString, token, match2) {
14935
15213
  switch (token) {
@@ -14952,8 +15230,8 @@ class SecondParser extends Parser {
14952
15230
  class FractionOfSecondParser extends Parser {
14953
15231
  constructor() {
14954
15232
  super(...arguments);
14955
- __publicField2(this, "priority", 30);
14956
- __publicField2(this, "incompatibleTokens", ["t", "T"]);
15233
+ __publicField(this, "priority", 30);
15234
+ __publicField(this, "incompatibleTokens", ["t", "T"]);
14957
15235
  }
14958
15236
  parse(dateString, token) {
14959
15237
  const valueCallback = (value) => Math.trunc(value * Math.pow(10, -token.length + 3));
@@ -14967,8 +15245,8 @@ class FractionOfSecondParser extends Parser {
14967
15245
  class ISOTimezoneWithZParser extends Parser {
14968
15246
  constructor() {
14969
15247
  super(...arguments);
14970
- __publicField2(this, "priority", 10);
14971
- __publicField2(this, "incompatibleTokens", ["t", "T", "x"]);
15248
+ __publicField(this, "priority", 10);
15249
+ __publicField(this, "incompatibleTokens", ["t", "T", "x"]);
14972
15250
  }
14973
15251
  parse(dateString, token) {
14974
15252
  switch (token) {
@@ -15005,8 +15283,8 @@ class ISOTimezoneWithZParser extends Parser {
15005
15283
  class ISOTimezoneParser extends Parser {
15006
15284
  constructor() {
15007
15285
  super(...arguments);
15008
- __publicField2(this, "priority", 10);
15009
- __publicField2(this, "incompatibleTokens", ["t", "T", "X"]);
15286
+ __publicField(this, "priority", 10);
15287
+ __publicField(this, "incompatibleTokens", ["t", "T", "X"]);
15010
15288
  }
15011
15289
  parse(dateString, token) {
15012
15290
  switch (token) {
@@ -15043,8 +15321,8 @@ class ISOTimezoneParser extends Parser {
15043
15321
  class TimestampSecondsParser extends Parser {
15044
15322
  constructor() {
15045
15323
  super(...arguments);
15046
- __publicField2(this, "priority", 40);
15047
- __publicField2(this, "incompatibleTokens", "*");
15324
+ __publicField(this, "priority", 40);
15325
+ __publicField(this, "incompatibleTokens", "*");
15048
15326
  }
15049
15327
  parse(dateString) {
15050
15328
  return parseAnyDigitsSigned(dateString);
@@ -15056,8 +15334,8 @@ class TimestampSecondsParser extends Parser {
15056
15334
  class TimestampMillisecondsParser extends Parser {
15057
15335
  constructor() {
15058
15336
  super(...arguments);
15059
- __publicField2(this, "priority", 20);
15060
- __publicField2(this, "incompatibleTokens", "*");
15337
+ __publicField(this, "priority", 20);
15338
+ __publicField(this, "incompatibleTokens", "*");
15061
15339
  }
15062
15340
  parse(dateString) {
15063
15341
  return parseAnyDigitsSigned(dateString);
@@ -20297,9 +20575,9 @@ const eo = ({
20297
20575
  Object.entries(go).forEach(([e, t]) => {
20298
20576
  e !== "default" && (Hn[e] = t);
20299
20577
  });
20300
- const _hoisted_1$D = ["title"];
20578
+ const _hoisted_1$E = ["title"];
20301
20579
  const _hoisted_2$s = { key: 0 };
20302
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
20580
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
20303
20581
  __name: "DateInput",
20304
20582
  props: {
20305
20583
  required: { type: Boolean },
@@ -20357,11 +20635,11 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
20357
20635
  "minutes-grid-increment": _ctx.minutesGridIncrement,
20358
20636
  "start-time": { hours: 8, minutes: 0 }
20359
20637
  }), null, 16, ["modelValue", "required", "enable-time-picker", "allowed-dates", "time-picker-inline", "minutes-increment", "minutes-grid-increment"])
20360
- ], 10, _hoisted_1$D);
20638
+ ], 10, _hoisted_1$E);
20361
20639
  };
20362
20640
  }
20363
20641
  });
20364
- const _hoisted_1$C = ["title"];
20642
+ const _hoisted_1$D = ["title"];
20365
20643
  const _hoisted_2$r = { key: 0 };
20366
20644
  const _hoisted_3$m = {
20367
20645
  key: 0,
@@ -20395,7 +20673,7 @@ const _hoisted_17$2 = {
20395
20673
  };
20396
20674
  const _hoisted_18 = { class: "flex gap-025" };
20397
20675
  const _hoisted_19 = { class: "txt-center opacity-6 txt14" };
20398
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
20676
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
20399
20677
  __name: "DatePick",
20400
20678
  props: {
20401
20679
  required: { type: Boolean },
@@ -20732,12 +21010,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
20732
21010
  ]),
20733
21011
  _: 1
20734
21012
  }, 8, ["shown"])
20735
- ], 10, _hoisted_1$C);
21013
+ ], 10, _hoisted_1$D);
20736
21014
  };
20737
21015
  }
20738
21016
  });
20739
- const DatePick = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-8de3f3c6"]]);
20740
- const _hoisted_1$B = { class: "datetime-wrap" };
21017
+ const DatePick = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-8de3f3c6"]]);
21018
+ const _hoisted_1$C = { class: "datetime-wrap" };
20741
21019
  const _hoisted_2$q = { class: "date-wrap" };
20742
21020
  const _hoisted_3$l = {
20743
21021
  key: 0,
@@ -20745,7 +21023,7 @@ const _hoisted_3$l = {
20745
21023
  };
20746
21024
  const _hoisted_4$d = ["id", "name", "value"];
20747
21025
  const _hoisted_5$c = ["for"];
20748
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
21026
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
20749
21027
  __name: "DatePicker",
20750
21028
  props: {
20751
21029
  label: {},
@@ -20773,7 +21051,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
20773
21051
  return `${hour}:${minute}`;
20774
21052
  });
20775
21053
  return (_ctx, _cache) => {
20776
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
21054
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
20777
21055
  vue.createElementVNode("div", _hoisted_2$q, [
20778
21056
  vue.createVNode(vue.unref(Hn), vue.mergeProps({
20779
21057
  modelValue: selectedDate.value,
@@ -20814,7 +21092,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
20814
21092
  };
20815
21093
  }
20816
21094
  });
20817
- const _hoisted_1$A = { class: "bagel-input" };
21095
+ const _hoisted_1$B = { class: "bagel-input" };
20818
21096
  const _hoisted_2$p = {
20819
21097
  key: 0,
20820
21098
  placeholder: "required",
@@ -20855,7 +21133,7 @@ const _hoisted_15$1 = {
20855
21133
  };
20856
21134
  const _hoisted_16$1 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
20857
21135
  const _hoisted_17$1 = { class: "pretty balance" };
20858
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21136
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
20859
21137
  __name: "FileUpload",
20860
21138
  props: /* @__PURE__ */ vue.mergeModels({
20861
21139
  label: {},
@@ -21030,7 +21308,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21030
21308
  return (_ctx, _cache) => {
21031
21309
  const _directive_tooltip = vue.resolveDirective("tooltip");
21032
21310
  const _directive_lightbox = vue.resolveDirective("lightbox");
21033
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
21311
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
21034
21312
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
21035
21313
  _ctx.required && !storageFiles.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$p)) : vue.createCommentVNode("", true),
21036
21314
  _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$_), {
@@ -21089,7 +21367,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21089
21367
  [_directive_lightbox, { src: file.url, download: true }]
21090
21368
  ]),
21091
21369
  vue.createElementVNode("div", _hoisted_5$b, [
21092
- vue.createVNode(vue.unref(_sfc_main$p), {
21370
+ vue.createVNode(vue.unref(_sfc_main$q), {
21093
21371
  icon: "draft",
21094
21372
  size: 1.5
21095
21373
  }),
@@ -21140,7 +21418,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21140
21418
  class: "multi-preview",
21141
21419
  src: file.url,
21142
21420
  alt: ""
21143
- }, null, 8, ["src"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
21421
+ }, null, 8, ["src"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
21144
21422
  key: 1,
21145
21423
  icon: "draft",
21146
21424
  class: "multi-preview"
@@ -21170,7 +21448,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21170
21448
  src: fileToUrl(fileQ.file),
21171
21449
  alt: ""
21172
21450
  }, null, 8, ["width", "src"])) : vue.createCommentVNode("", true)
21173
- ], 64)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
21451
+ ], 64)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
21174
21452
  key: 1,
21175
21453
  icon: "draft",
21176
21454
  class: "multi-preview"
@@ -21181,7 +21459,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21181
21459
  style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
21182
21460
  }, [
21183
21461
  fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11$2, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
21184
- vue.createVNode(vue.unref(_sfc_main$p), {
21462
+ vue.createVNode(vue.unref(_sfc_main$q), {
21185
21463
  class: "success",
21186
21464
  icon: "check"
21187
21465
  })
@@ -21233,7 +21511,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21233
21511
  }, null, 8, ["src"]), [
21234
21512
  [_directive_lightbox, { src: file.url, download: true }]
21235
21513
  ])
21236
- ])) : vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
21514
+ ])) : vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
21237
21515
  key: 1,
21238
21516
  size: 4,
21239
21517
  weight: "2",
@@ -21254,7 +21532,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21254
21532
  style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
21255
21533
  }, [
21256
21534
  fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15$1, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
21257
- vue.createVNode(vue.unref(_sfc_main$p), {
21535
+ vue.createVNode(vue.unref(_sfc_main$q), {
21258
21536
  class: "success",
21259
21537
  icon: "check"
21260
21538
  })
@@ -21278,7 +21556,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21278
21556
  browse
21279
21557
  }, () => [
21280
21558
  vue.createElementVNode("p", _hoisted_16$1, [
21281
- vue.createVNode(vue.unref(_sfc_main$p), { icon: "upload_2" }),
21559
+ vue.createVNode(vue.unref(_sfc_main$q), { icon: "upload_2" }),
21282
21560
  vue.createElementVNode("span", _hoisted_17$1, vue.toDisplayString(_ctx.dropPlaceholder || "Drag and Drop files here or click to upload"), 1)
21283
21561
  ])
21284
21562
  ], true) : vue.createCommentVNode("", true)
@@ -21287,11 +21565,11 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21287
21565
  };
21288
21566
  }
21289
21567
  });
21290
- const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-9939a5fb"]]);
21291
- const _hoisted_1$z = ["title"];
21568
+ const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-9939a5fb"]]);
21569
+ const _hoisted_1$A = ["title"];
21292
21570
  const _hoisted_2$o = { key: 0 };
21293
21571
  const _hoisted_3$j = ["value", "placeholder"];
21294
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
21572
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
21295
21573
  __name: "JSONInput",
21296
21574
  props: {
21297
21575
  description: { default: "" },
@@ -21323,19 +21601,19 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
21323
21601
  placeholder: _ctx.placeholder,
21324
21602
  onInput: handleInput
21325
21603
  }, null, 42, _hoisted_3$j)
21326
- ], 10, _hoisted_1$z);
21604
+ ], 10, _hoisted_1$A);
21327
21605
  };
21328
21606
  }
21329
21607
  });
21330
- const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-1cbaeab2"]]);
21331
- const _hoisted_1$y = ["for"];
21608
+ const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-1cbaeab2"]]);
21609
+ const _hoisted_1$z = ["for"];
21332
21610
  const _hoisted_2$n = ["id", "placeholder", "disabled", "required", "readonly", "onKeydown"];
21333
21611
  const _hoisted_3$i = { key: 1 };
21334
21612
  const _hoisted_4$b = {
21335
21613
  key: 5,
21336
21614
  class: "flex column spinner"
21337
21615
  };
21338
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
21616
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
21339
21617
  __name: "NumberInput",
21340
21618
  props: {
21341
21619
  modelValue: {},
@@ -21453,12 +21731,12 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
21453
21731
  ]
21454
21732
  ]),
21455
21733
  _ctx.helptext ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$i, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true),
21456
- _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
21734
+ _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
21457
21735
  key: 2,
21458
21736
  class: "iconStart",
21459
21737
  icon: _ctx.iconStart
21460
21738
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
21461
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
21739
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
21462
21740
  key: 3,
21463
21741
  icon: _ctx.icon
21464
21742
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -21491,14 +21769,14 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
21491
21769
  }, null, 8, ["disabled"])
21492
21770
  ])) : vue.createCommentVNode("", true)
21493
21771
  ], 2)
21494
- ], 8, _hoisted_1$y)
21772
+ ], 8, _hoisted_1$z)
21495
21773
  ], 2);
21496
21774
  };
21497
21775
  }
21498
21776
  });
21499
- const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-8ae5f930"]]);
21500
- const _hoisted_1$x = ["value", "autofocus", "onKeydown", "onPaste"];
21501
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
21777
+ const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-8ae5f930"]]);
21778
+ const _hoisted_1$y = ["value", "autofocus", "onKeydown", "onPaste"];
21779
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
21502
21780
  __name: "OTP",
21503
21781
  props: {
21504
21782
  digitCount: {},
@@ -21596,16 +21874,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
21596
21874
  oninput: "this.value = this.value.slice(0, 1);",
21597
21875
  onKeydown: ($event) => handleKeyDown($event, ind),
21598
21876
  onPaste: ($event) => handlePaste($event, ind)
21599
- }, null, 40, _hoisted_1$x);
21877
+ }, null, 40, _hoisted_1$y);
21600
21878
  }), 128))
21601
21879
  ], 512);
21602
21880
  };
21603
21881
  }
21604
21882
  });
21605
- const OTP = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-5c22c199"]]);
21606
- const _hoisted_1$w = { class: "relative" };
21883
+ const OTP = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-5c22c199"]]);
21884
+ const _hoisted_1$x = { class: "relative" };
21607
21885
  const _hoisted_2$m = { class: "m-password position-bottom-end flex column justify-content-center" };
21608
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
21886
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
21609
21887
  __name: "PasswordInput",
21610
21888
  props: /* @__PURE__ */ vue.mergeModels({
21611
21889
  id: {},
@@ -21646,7 +21924,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
21646
21924
  );
21647
21925
  const inputType = vue.computed(() => showPwd.value ? "text" : "password");
21648
21926
  return (_ctx, _cache) => {
21649
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
21927
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
21650
21928
  vue.createVNode(vue.unref(TextInput), vue.mergeProps({
21651
21929
  modelValue: password.value,
21652
21930
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => password.value = $event)
@@ -21667,7 +21945,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
21667
21945
  };
21668
21946
  }
21669
21947
  });
21670
- const _hoisted_1$v = ["for"];
21948
+ const _hoisted_1$w = ["for"];
21671
21949
  const _hoisted_2$l = ["id", "name", "value", "required"];
21672
21950
  const _hoisted_3$h = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
21673
21951
  const _hoisted_4$a = ["src", "alt"];
@@ -21680,7 +21958,7 @@ const _hoisted_7$5 = {
21680
21958
  key: 1,
21681
21959
  class: "txt-gray txt-12 m-0"
21682
21960
  };
21683
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
21961
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
21684
21962
  __name: "RadioGroup",
21685
21963
  props: /* @__PURE__ */ vue.mergeModels({
21686
21964
  groupName: {},
@@ -21735,19 +22013,19 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
21735
22013
  icon: "delete",
21736
22014
  onClick: ($event) => _ctx.$emit("delete", opt)
21737
22015
  }, null, 8, ["onClick"])) : vue.createCommentVNode("", true)
21738
- ], 8, _hoisted_1$v);
22016
+ ], 8, _hoisted_1$w);
21739
22017
  }), 128))
21740
22018
  ]);
21741
22019
  };
21742
22020
  }
21743
22021
  });
21744
- const RadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-3c77be46"]]);
21745
- const _hoisted_1$u = { class: "bagel-input" };
22022
+ const RadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-3c77be46"]]);
22023
+ const _hoisted_1$v = { class: "bagel-input" };
21746
22024
  const _hoisted_2$k = { class: "pb-025" };
21747
22025
  const _hoisted_3$g = { class: "flex gap-05 flex-wrap" };
21748
22026
  const _hoisted_4$9 = ["id", "name", "value", "checked"];
21749
22027
  const _hoisted_5$9 = ["for"];
21750
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
22028
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
21751
22029
  __name: "RadioPillsInput",
21752
22030
  props: {
21753
22031
  options: {},
@@ -21788,7 +22066,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
21788
22066
  selectedValue.value = props2.modelValue;
21789
22067
  });
21790
22068
  return (_ctx, _cache) => {
21791
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
22069
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
21792
22070
  vue.createElementVNode("label", _hoisted_2$k, vue.toDisplayString(_ctx.label), 1),
21793
22071
  vue.createElementVNode("div", _hoisted_3$g, [
21794
22072
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (option2, index2) => {
@@ -21814,8 +22092,8 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
21814
22092
  };
21815
22093
  }
21816
22094
  });
21817
- const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-cf892d71"]]);
21818
- const _hoisted_1$t = ["dir"];
22095
+ const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-cf892d71"]]);
22096
+ const _hoisted_1$u = ["dir"];
21819
22097
  const _hoisted_2$j = {
21820
22098
  key: 0,
21821
22099
  class: "label"
@@ -21825,7 +22103,7 @@ const _hoisted_4$8 = ["id", "value", "min", "max", "step", "required", "disabled
21825
22103
  const _hoisted_5$8 = ["value", "min", "max", "step", "required", "disabled"];
21826
22104
  const _hoisted_6$7 = { class: "track absolute pointer-events-none overflow-hidden round" };
21827
22105
  const _hoisted_7$4 = { class: "txt-center txt-14 user-select-none range-slider-txt flex space-between opacity-4 mx-05" };
21828
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
22106
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
21829
22107
  __name: "RangeInput",
21830
22108
  props: {
21831
22109
  modelValue: {},
@@ -21985,11 +22263,11 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
21985
22263
  vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(formatValue)(vue.unref(max2))), 1)
21986
22264
  ], true)
21987
22265
  ])
21988
- ], 8, _hoisted_1$t);
22266
+ ], 8, _hoisted_1$u);
21989
22267
  };
21990
22268
  }
21991
22269
  });
21992
- const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-25d991e5"]]);
22270
+ const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-25d991e5"]]);
21993
22271
  const tableTools = [
21994
22272
  "mergeCells",
21995
22273
  "splitCells",
@@ -22079,12 +22357,12 @@ const toolbarOptions = [
22079
22357
  { name: "separator" },
22080
22358
  { name: "fullScreen", label: "Full Screen", icon: "fullscreen", class: "ms-auto" }
22081
22359
  ];
22082
- const _hoisted_1$s = { class: "grid grid-wrap p-05" };
22360
+ const _hoisted_1$t = { class: "grid grid-wrap p-05" };
22083
22361
  const _hoisted_2$i = ["onMousemove", "onClick"];
22084
22362
  const _hoisted_3$e = { class: "txt-center txt-12 color-gray" };
22085
22363
  const fb = 1;
22086
22364
  const base = 5;
22087
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
22365
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
22088
22366
  __name: "gridBox",
22089
22367
  emits: ["select"],
22090
22368
  setup(__props, { emit: __emit }) {
@@ -22100,7 +22378,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
22100
22378
  return hoveredCol.value > base - 1 ? enlarge : base;
22101
22379
  });
22102
22380
  return (_ctx, _cache) => {
22103
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
22381
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
22104
22382
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(rowSize.value, (row) => {
22105
22383
  return vue.openBlock(), vue.createElementBlock("div", {
22106
22384
  key: `row-${row}`,
@@ -22136,12 +22414,12 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
22136
22414
  };
22137
22415
  }
22138
22416
  });
22139
- const GridBox = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-4548b70f"]]);
22140
- const _hoisted_1$r = {
22417
+ const GridBox = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-4548b70f"]]);
22418
+ const _hoisted_1$s = {
22141
22419
  class: "toolbar flex gap-025 pb-05 flex-wrap",
22142
22420
  role: "toolbar"
22143
22421
  };
22144
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
22422
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
22145
22423
  __name: "EditorToolbar",
22146
22424
  props: {
22147
22425
  config: { default: defaultToolbarConfig },
@@ -22156,10 +22434,10 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
22156
22434
  }
22157
22435
  return (_ctx, _cache) => {
22158
22436
  const _directive_tooltip = vue.resolveDirective("tooltip");
22159
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
22437
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
22160
22438
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.config.map(configToOption).filter(Boolean), (action, index2) => {
22161
22439
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
22162
- action.name === "insertTable" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$V), {
22440
+ action.name === "insertTable" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$U), {
22163
22441
  key: 0,
22164
22442
  placement: "bottom-start",
22165
22443
  thin: "",
@@ -22199,7 +22477,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
22199
22477
  };
22200
22478
  }
22201
22479
  });
22202
- const EditorToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-bcd681b9"]]);
22480
+ const EditorToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-bcd681b9"]]);
22203
22481
  function createCommandExecutor(state2, commands) {
22204
22482
  return {
22205
22483
  execute(command, value) {
@@ -22220,7 +22498,7 @@ function createCommandExecutor(state2, commands) {
22220
22498
  }
22221
22499
  };
22222
22500
  }
22223
- function isStyleActive(style, doc) {
22501
+ function isStyleActive(style2, doc) {
22224
22502
  const selection = doc.getSelection();
22225
22503
  if (!selection || !selection.rangeCount) return false;
22226
22504
  const range2 = selection.getRangeAt(0);
@@ -22237,7 +22515,7 @@ function isStyleActive(style, doc) {
22237
22515
  italic: ["em", "i"],
22238
22516
  underline: ["u"]
22239
22517
  };
22240
- return checkParent(parent, styleTags[style] ?? [style]);
22518
+ return checkParent(parent, styleTags[style2] ?? [style2]);
22241
22519
  }
22242
22520
  function analyzeSelection(doc, range2) {
22243
22521
  const container = range2.commonAncestorContainer;
@@ -22791,9 +23069,9 @@ function useEditor() {
22791
23069
  "ol",
22792
23070
  "li"
22793
23071
  ];
22794
- styleTypes.forEach((style) => {
22795
- if (state2.doc && isStyleActive(style, state2.doc)) {
22796
- styles.add(style);
23072
+ styleTypes.forEach((style2) => {
23073
+ if (state2.doc && isStyleActive(style2, state2.doc)) {
23074
+ styles.add(style2);
22797
23075
  }
22798
23076
  });
22799
23077
  state2.selectedStyles = styles;
@@ -23119,13 +23397,13 @@ function useEditorKeyboard(doc, handleToolbarAction) {
23119
23397
  }
23120
23398
  });
23121
23399
  }
23122
- const _hoisted_1$q = { class: "bagel-input" };
23400
+ const _hoisted_1$r = { class: "bagel-input" };
23123
23401
  const _hoisted_2$h = { class: "content-area radius-05" };
23124
23402
  const _hoisted_3$d = {
23125
23403
  key: 1,
23126
23404
  class: "flex"
23127
23405
  };
23128
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
23406
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
23129
23407
  __name: "index",
23130
23408
  props: {
23131
23409
  modelValue: {},
@@ -23154,9 +23432,9 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
23154
23432
  doc.designMode = "on";
23155
23433
  doc.body.contentEditable = "true";
23156
23434
  doc.body.dir = hasRTL.value ? "rtl" : "ltr";
23157
- const style = doc.createElement("style");
23158
- style.textContent = (await Promise.resolve().then(() => require("./editor-B3mMCQSg.cjs"))).default;
23159
- doc.head.appendChild(style);
23435
+ const style2 = doc.createElement("style");
23436
+ style2.textContent = (await Promise.resolve().then(() => require("./editor-B3mMCQSg.cjs"))).default;
23437
+ doc.head.appendChild(style2);
23160
23438
  editor.init(doc);
23161
23439
  useEditorKeyboard(doc, commands.execute);
23162
23440
  if (!doc.body.firstElementChild) {
@@ -23202,7 +23480,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
23202
23480
  });
23203
23481
  return (_ctx, _cache) => {
23204
23482
  var _a2, _b;
23205
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
23483
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
23206
23484
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
23207
23485
  vue.createElementVNode("div", {
23208
23486
  class: vue.normalizeClass(["rich-text-editor rounded pt-05 px-05 pb-075", { "fullscreen-mode": vue.unref(editor).state.isFullscreen }])
@@ -23280,8 +23558,8 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
23280
23558
  };
23281
23559
  }
23282
23560
  });
23283
- const RichText = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-08117333"]]);
23284
- const _hoisted_1$p = { class: "flex gap-05" };
23561
+ const RichText = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-08117333"]]);
23562
+ const _hoisted_1$q = { class: "flex gap-05" };
23285
23563
  const _hoisted_2$g = ["disabled"];
23286
23564
  const _hoisted_3$c = { key: 1 };
23287
23565
  const _hoisted_4$7 = {
@@ -23291,7 +23569,7 @@ const _hoisted_4$7 = {
23291
23569
  const _hoisted_5$7 = ["value"];
23292
23570
  const _hoisted_6$6 = ["aria-selected", "onClick", "onKeydown"];
23293
23571
  const _hoisted_7$3 = { class: "block" };
23294
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23572
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
23295
23573
  __name: "SelectInput",
23296
23574
  props: {
23297
23575
  options: {},
@@ -23467,7 +23745,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23467
23745
  }
23468
23746
  });
23469
23747
  return (_ctx, _cache) => {
23470
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$V), {
23748
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$U), {
23471
23749
  ref_key: "dropdown",
23472
23750
  ref: dropdown,
23473
23751
  shown: vue.unref(open),
@@ -23479,7 +23757,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23479
23757
  trigger: vue.withCtx(() => [
23480
23758
  vue.createElementVNode("label", null, [
23481
23759
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
23482
- vue.createElementVNode("div", _hoisted_1$p, [
23760
+ vue.createElementVNode("div", _hoisted_1$q, [
23483
23761
  _ctx.searchable && vue.unref(open) ? (vue.openBlock(), vue.createBlock(vue.unref(TextInput), {
23484
23762
  key: 0,
23485
23763
  ref_key: "searchInput",
@@ -23506,7 +23784,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23506
23784
  _cache[6] || (_cache[6] = vue.withKeys(vue.withModifiers(($event) => navigate("up"), ["prevent"]), ["up"]))
23507
23785
  ]
23508
23786
  }, [
23509
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
23787
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
23510
23788
  key: 0,
23511
23789
  icon: _ctx.icon
23512
23790
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -23523,7 +23801,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23523
23801
  })
23524
23802
  })
23525
23803
  ])) : vue.createCommentVNode("", true),
23526
- !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), vue.mergeProps({
23804
+ !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), vue.mergeProps({
23527
23805
  key: 3,
23528
23806
  thin: ""
23529
23807
  }, { icon: vue.unref(open) ? "unfold_less" : "unfold_more" }), null, 16)) : vue.createCommentVNode("", true)
@@ -23571,12 +23849,12 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23571
23849
  ]
23572
23850
  }, [
23573
23851
  _ctx.multiselect ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
23574
- isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
23852
+ isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
23575
23853
  key: 0,
23576
23854
  size: 1.1,
23577
23855
  icon: "select_check_box"
23578
23856
  })) : vue.createCommentVNode("", true),
23579
- !isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
23857
+ !isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
23580
23858
  key: 1,
23581
23859
  class: "opacity-3",
23582
23860
  icon: "check_box_outline_blank",
@@ -23597,7 +23875,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
23597
23875
  };
23598
23876
  }
23599
23877
  });
23600
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-70535216"]]);
23878
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-70535216"]]);
23601
23879
  /*!
23602
23880
  * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
23603
23881
  * (c) 2024 Szymon Nowak | Released under the MIT license
@@ -24194,7 +24472,7 @@ class SignaturePad extends SignatureEventTarget {
24194
24472
  return svg.outerHTML;
24195
24473
  }
24196
24474
  }
24197
- const _hoisted_1$o = ["disabled"];
24475
+ const _hoisted_1$p = ["disabled"];
24198
24476
  const _hoisted_2$f = {
24199
24477
  key: 1,
24200
24478
  placeholder: "required",
@@ -24202,7 +24480,7 @@ const _hoisted_2$f = {
24202
24480
  required: "",
24203
24481
  class: "pixel"
24204
24482
  };
24205
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
24483
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
24206
24484
  __name: "SignaturePad",
24207
24485
  props: /* @__PURE__ */ vue.mergeModels({
24208
24486
  sigOption: {},
@@ -24355,7 +24633,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
24355
24633
  ref: vCanvas,
24356
24634
  class: "canvas",
24357
24635
  disabled: _ctx.disabled
24358
- }, null, 8, _hoisted_1$o),
24636
+ }, null, 8, _hoisted_1$p),
24359
24637
  _ctx.required && vue.unref(_isEmpty) ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$f)) : vue.createCommentVNode("", true)
24360
24638
  ], 34);
24361
24639
  };
@@ -24536,8 +24814,8 @@ function toggleClass(el, name, state2) {
24536
24814
  }
24537
24815
  }
24538
24816
  function css(el, prop3, val) {
24539
- var style = el && el.style;
24540
- if (style) {
24817
+ var style2 = el && el.style;
24818
+ if (style2) {
24541
24819
  if (val === void 0) {
24542
24820
  if (document.defaultView && document.defaultView.getComputedStyle) {
24543
24821
  val = document.defaultView.getComputedStyle(el, "");
@@ -24546,10 +24824,10 @@ function css(el, prop3, val) {
24546
24824
  }
24547
24825
  return prop3 === void 0 ? val : val[prop3];
24548
24826
  } else {
24549
- if (!(prop3 in style) && prop3.indexOf("webkit") === -1) {
24827
+ if (!(prop3 in style2) && prop3.indexOf("webkit") === -1) {
24550
24828
  prop3 = "-webkit-" + prop3;
24551
24829
  }
24552
- style[prop3] = val + (typeof val === "string" ? "" : "px");
24830
+ style2[prop3] = val + (typeof val === "string" ? "" : "px");
24553
24831
  }
24554
24832
  }
24555
24833
  }
@@ -26840,13 +27118,13 @@ const VueDraggableNext = vue.defineComponent({
26840
27118
  }
26841
27119
  }
26842
27120
  });
26843
- const _hoisted_1$n = ["title"];
27121
+ const _hoisted_1$o = ["title"];
26844
27122
  const _hoisted_2$e = { class: "bagel-input" };
26845
27123
  const _hoisted_3$b = { class: "table-side-scroll" };
26846
27124
  const _hoisted_4$6 = { class: "table-header" };
26847
27125
  const _hoisted_5$6 = { class: "table-reorder" };
26848
27126
  const _hoisted_6$5 = { class: "table-action" };
26849
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
27127
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
26850
27128
  __name: "TableField",
26851
27129
  props: {
26852
27130
  description: { default: "" },
@@ -26943,7 +27221,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
26943
27221
  class: "flex table-row"
26944
27222
  }, [
26945
27223
  vue.createElementVNode("div", _hoisted_5$6, [
26946
- vue.createVNode(vue.unref(_sfc_main$p), { icon: "more_vert" })
27224
+ vue.createVNode(vue.unref(_sfc_main$q), { icon: "more_vert" })
26947
27225
  ]),
26948
27226
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList((_a3 = vue.unref(entityMeta)) == null ? void 0 : _a3.fields, (field) => {
26949
27227
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -26960,7 +27238,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
26960
27238
  ], 2);
26961
27239
  }), 128)),
26962
27240
  vue.createElementVNode("div", _hoisted_6$5, [
26963
- vue.createVNode(vue.unref(_sfc_main$p), {
27241
+ vue.createVNode(vue.unref(_sfc_main$q), {
26964
27242
  icon: "delete",
26965
27243
  onClick: ($event) => removeRow(index2)
26966
27244
  }, null, 8, ["onClick"])
@@ -26986,11 +27264,11 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
26986
27264
  ])),
26987
27265
  _: 1
26988
27266
  })
26989
- ], 8, _hoisted_1$n);
27267
+ ], 8, _hoisted_1$o);
26990
27268
  };
26991
27269
  }
26992
27270
  });
26993
- const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-e9632f79"]]);
27271
+ const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-e9632f79"]]);
26994
27272
  function bind(fn2, thisArg) {
26995
27273
  return function wrap() {
26996
27274
  return fn2.apply(thisArg, arguments);
@@ -31437,13 +31715,13 @@ function parsePhoneNumber$1() {
31437
31715
  function parsePhoneNumber() {
31438
31716
  return withMetadataArgument(parsePhoneNumber$1, arguments);
31439
31717
  }
31440
- const _hoisted_1$m = ["aria-expanded"];
31718
+ const _hoisted_1$n = ["aria-expanded"];
31441
31719
  const _hoisted_2$d = { class: "p-075 tel-countryp-dropdown" };
31442
31720
  const _hoisted_3$a = ["aria-selected", "onClick", "onMousemove"];
31443
31721
  const _hoisted_4$5 = { class: "tel-country" };
31444
31722
  const _hoisted_5$5 = { key: 1 };
31445
31723
  const _hoisted_6$4 = ["id", "required", "placeholder", "disabled", "autocomplete", "pattern", "minlength", "maxlength", "name", "readonly", "tabindex", "aria-describedby"];
31446
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31724
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
31447
31725
  __name: "TelInput",
31448
31726
  props: /* @__PURE__ */ vue.mergeModels({
31449
31727
  label: {},
@@ -31705,7 +31983,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31705
31983
  vue.withKeys(reset, ["tab"])
31706
31984
  ]
31707
31985
  }, [
31708
- !computedDropDownOptions.value.hide ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$V), {
31986
+ !computedDropDownOptions.value.hide ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$U), {
31709
31987
  key: 0,
31710
31988
  ref_key: "phoneDropdown",
31711
31989
  ref: phoneDropdown,
@@ -31718,7 +31996,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31718
31996
  class: "flex gap-05",
31719
31997
  onClick: _cache[0] || (_cache[0] = ($event) => vue.isRef(open) ? open.value = true : open = true)
31720
31998
  }, [
31721
- vue.createVNode(vue.unref(_sfc_main$p), {
31999
+ vue.createVNode(vue.unref(_sfc_main$q), {
31722
32000
  icon: vue.unref(open) ? "collapse_all" : "expand_all"
31723
32001
  }, null, 8, ["icon"]),
31724
32002
  computedDropDownOptions.value.showFlags && vue.unref(activeCountryCode) ? (vue.openBlock(), vue.createBlock(vue.unref(Flag), {
@@ -31792,19 +32070,19 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31792
32070
  }, null, 44, _hoisted_6$4), [
31793
32071
  [vue.vModelText, phone.value]
31794
32072
  ])
31795
- ], 40, _hoisted_1$m)
32073
+ ], 40, _hoisted_1$n)
31796
32074
  ])
31797
32075
  ], 2);
31798
32076
  };
31799
32077
  }
31800
32078
  });
31801
- const TelInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-492fcc54"]]);
31802
- const _hoisted_1$l = ["title"];
32079
+ const TelInput = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-492fcc54"]]);
32080
+ const _hoisted_1$m = ["title"];
31803
32081
  const _hoisted_2$c = ["for"];
31804
32082
  const _hoisted_3$9 = ["id", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
31805
32083
  const _hoisted_4$4 = ["id", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
31806
32084
  const _hoisted_5$4 = { key: 2 };
31807
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
32085
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31808
32086
  __name: "TextInput",
31809
32087
  props: {
31810
32088
  id: {},
@@ -31826,7 +32104,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31826
32104
  multiline: { type: Boolean },
31827
32105
  autoheight: { type: Boolean },
31828
32106
  code: { type: Boolean },
31829
- lines: {},
32107
+ rows: {},
31830
32108
  autocomplete: {},
31831
32109
  autofocus: { type: Boolean },
31832
32110
  onFocusout: {}
@@ -31837,9 +32115,9 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31837
32115
  const emit2 = __emit;
31838
32116
  let inputVal = vue.ref();
31839
32117
  const input = vue.ref();
31840
- const rows = vue.computed(() => {
31841
- if (props2.lines) return props2.lines;
31842
- if (props2.autoheight) return `${inputVal.value}`.split("\n").length || 1;
32118
+ const inputRows = vue.computed(() => {
32119
+ if (props2.autoheight) return `${inputVal.value}`.split("\n").length || props2.rows || 1;
32120
+ if (props2.rows) return props2.rows;
31843
32121
  if (props2.multiline || props2.code) return 4;
31844
32122
  return 1;
31845
32123
  });
@@ -31917,7 +32195,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31917
32195
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(inputVal) ? inputVal.value = $event : inputVal = $event),
31918
32196
  title: _ctx.title,
31919
32197
  type: _ctx.type,
31920
- rows: rows.value,
32198
+ rows: inputRows.value,
31921
32199
  placeholder: _ctx.placeholder || _ctx.label,
31922
32200
  disabled: _ctx.disabled,
31923
32201
  required: _ctx.required,
@@ -31930,25 +32208,25 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31930
32208
  [vue.vModelText, vue.unref(inputVal)]
31931
32209
  ]),
31932
32210
  _ctx.helptext ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$4, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true),
31933
- _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
32211
+ _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
31934
32212
  key: 3,
31935
32213
  class: "iconStart",
31936
32214
  icon: _ctx.iconStart
31937
32215
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
31938
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
32216
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
31939
32217
  key: 4,
31940
32218
  icon: _ctx.icon
31941
32219
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
31942
32220
  ], 8, _hoisted_2$c)
31943
- ], 10, _hoisted_1$l);
32221
+ ], 10, _hoisted_1$m);
31944
32222
  };
31945
32223
  }
31946
32224
  });
31947
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-cc17f96e"]]);
31948
- const _hoisted_1$k = ["title"];
32225
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-c2bd3e03"]]);
32226
+ const _hoisted_1$l = ["title"];
31949
32227
  const _hoisted_2$b = ["id", "required"];
31950
32228
  const _hoisted_3$8 = ["for"];
31951
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
32229
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31952
32230
  __name: "ToggleInput",
31953
32231
  props: /* @__PURE__ */ vue.mergeModels({
31954
32232
  label: {},
@@ -31992,11 +32270,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
31992
32270
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
31993
32271
  ], true)
31994
32272
  ], 8, _hoisted_3$8)
31995
- ], 10, _hoisted_1$k);
32273
+ ], 10, _hoisted_1$l);
31996
32274
  };
31997
32275
  }
31998
32276
  });
31999
- const ToggleInput = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-ebe691ee"]]);
32277
+ const ToggleInput = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-ebe691ee"]]);
32000
32278
  const files = {
32001
32279
  setBaseUrl: (baseUrl) => {
32002
32280
  if (!baseUrl) return;
@@ -32022,7 +32300,7 @@ const files = {
32022
32300
  });
32023
32301
  }
32024
32302
  };
32025
- const _hoisted_1$j = { class: "bagel-input" };
32303
+ const _hoisted_1$k = { class: "bagel-input" };
32026
32304
  const _hoisted_2$a = { key: 0 };
32027
32305
  const _hoisted_3$7 = {
32028
32306
  key: 1,
@@ -32063,7 +32341,7 @@ const _hoisted_15 = {
32063
32341
  };
32064
32342
  const _hoisted_16 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
32065
32343
  const _hoisted_17 = { class: "pretty balance" };
32066
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32344
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
32067
32345
  __name: "UploadInput",
32068
32346
  props: {
32069
32347
  label: {},
@@ -32174,7 +32452,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32174
32452
  return (_ctx, _cache) => {
32175
32453
  const _directive_tooltip = vue.resolveDirective("tooltip");
32176
32454
  const _directive_lightbox = vue.resolveDirective("lightbox");
32177
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
32455
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
32178
32456
  _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$a, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
32179
32457
  _ctx.required && !pathKeys.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_3$7)) : vue.createCommentVNode("", true),
32180
32458
  _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$_), {
@@ -32223,7 +32501,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32223
32501
  download: path_key.split("/").pop()
32224
32502
  }, null, 8, ["href", "download"]),
32225
32503
  vue.createElementVNode("div", _hoisted_5$3, [
32226
- vue.createVNode(vue.unref(_sfc_main$p), {
32504
+ vue.createVNode(vue.unref(_sfc_main$q), {
32227
32505
  icon: "draft",
32228
32506
  size: 1.5
32229
32507
  }),
@@ -32266,7 +32544,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32266
32544
  key: 0,
32267
32545
  pathKey: path_key,
32268
32546
  class: "multi-preview"
32269
- }, null, 8, ["pathKey"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
32547
+ }, null, 8, ["pathKey"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
32270
32548
  key: 1,
32271
32549
  icon: "description",
32272
32550
  class: "multi-preview"
@@ -32293,7 +32571,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32293
32571
  class: "multi-preview",
32294
32572
  src: fileToUrl(file.file),
32295
32573
  alt: ""
32296
- }, null, 8, ["src"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
32574
+ }, null, 8, ["src"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
32297
32575
  key: 1,
32298
32576
  icon: "description",
32299
32577
  class: "multi-preview"
@@ -32304,7 +32582,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32304
32582
  style: vue.normalizeStyle([{ "--p": file.progress }, { "--b": "2px" }])
32305
32583
  }, [
32306
32584
  file.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11$1, vue.toDisplayString(file.progress.toFixed(0)), 1)) : vue.createCommentVNode("", true),
32307
- vue.createVNode(vue.unref(_sfc_main$p), {
32585
+ vue.createVNode(vue.unref(_sfc_main$q), {
32308
32586
  class: "success",
32309
32587
  icon: "check_circle"
32310
32588
  })
@@ -32352,7 +32630,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32352
32630
  }, null, 8, ["pathKey"]), [
32353
32631
  [_directive_lightbox, { src: pathToUrl(path_key), download: true }]
32354
32632
  ])
32355
- ])) : vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
32633
+ ])) : vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
32356
32634
  key: 1,
32357
32635
  size: 4,
32358
32636
  weight: "2",
@@ -32373,7 +32651,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32373
32651
  style: vue.normalizeStyle([{ "--p": file.progress }, { "--b": "2px" }])
32374
32652
  }, [
32375
32653
  file.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15, vue.toDisplayString(file.progress.toFixed(0)), 1)) : vue.createCommentVNode("", true),
32376
- vue.createVNode(vue.unref(_sfc_main$p), {
32654
+ vue.createVNode(vue.unref(_sfc_main$q), {
32377
32655
  class: "success",
32378
32656
  icon: "check_circle"
32379
32657
  })
@@ -32397,7 +32675,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32397
32675
  browse
32398
32676
  }, () => [
32399
32677
  vue.createElementVNode("p", _hoisted_16, [
32400
- vue.createVNode(vue.unref(_sfc_main$p), { icon: "upload_2" }),
32678
+ vue.createVNode(vue.unref(_sfc_main$q), { icon: "upload_2" }),
32401
32679
  vue.createElementVNode("span", _hoisted_17, vue.toDisplayString(_ctx.dropPlaceholder || "Drag and Drop files here or click to upload"), 1)
32402
32680
  ])
32403
32681
  ], true) : vue.createCommentVNode("", true)
@@ -32406,7 +32684,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
32406
32684
  };
32407
32685
  }
32408
32686
  });
32409
- const UploadInput = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-d65d0a87"]]);
32687
+ const UploadInput = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-d65d0a87"]]);
32410
32688
  const FONT_AWESOME_ICONS = [
32411
32689
  "trash-can",
32412
32690
  "message",
@@ -36832,7 +37110,7 @@ const MATERIAL_ICONS = [
36832
37110
  "zoom_out",
36833
37111
  "zoom_out_map"
36834
37112
  ];
36835
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
37113
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
36836
37114
  __name: "Icon",
36837
37115
  props: {
36838
37116
  icon: {},
@@ -36863,8 +37141,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
36863
37141
  };
36864
37142
  }
36865
37143
  });
36866
- const _hoisted_1$i = ["src", "title", "width", "height", "marginwidth", "marginheight", "csp", "scrolling", "srcset"];
36867
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
37144
+ const _hoisted_1$j = ["src", "title", "width", "height", "marginwidth", "marginheight", "csp", "scrolling", "srcset"];
37145
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
36868
37146
  __name: "IframeVue",
36869
37147
  props: {
36870
37148
  src: {},
@@ -36923,14 +37201,14 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
36923
37201
  scrolling: _ctx.scrolling,
36924
37202
  srcset: _ctx.srcset,
36925
37203
  onLoad: _cache[0] || (_cache[0] = ($event) => emit2("load", $event))
36926
- }, null, 40, _hoisted_1$i);
37204
+ }, null, 40, _hoisted_1$j);
36927
37205
  };
36928
37206
  }
36929
37207
  });
36930
- const _hoisted_1$h = { key: 0 };
37208
+ const _hoisted_1$i = { key: 0 };
36931
37209
  const _hoisted_2$9 = ["src", "alt", "width", "height"];
36932
37210
  const _hoisted_3$6 = ["src", "alt", "width", "height"];
36933
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
37211
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
36934
37212
  __name: "Image",
36935
37213
  props: {
36936
37214
  src: {},
@@ -37012,7 +37290,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
37012
37290
  }
37013
37291
  vue.watch(() => [props2.src, props2.pathKey], loadImage, { immediate: true });
37014
37292
  return (_ctx, _cache) => {
37015
- return _ctx.caption ? (vue.openBlock(), vue.createElementBlock("figcaption", _hoisted_1$h, [
37293
+ return _ctx.caption ? (vue.openBlock(), vue.createElementBlock("figcaption", _hoisted_1$i, [
37016
37294
  vue.unref(imageSrc) ? (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
37017
37295
  key: 0,
37018
37296
  src: vue.unref(imageSrc)
@@ -37041,7 +37319,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
37041
37319
  height: vue.unref(normalizeDimension)(_ctx.height)
37042
37320
  })
37043
37321
  }, [
37044
- vue.createVNode(vue.unref(_sfc_main$p), { name: "broken_image" })
37322
+ vue.createVNode(vue.unref(_sfc_main$q), { name: "broken_image" })
37045
37323
  ], 4)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
37046
37324
  key: 3,
37047
37325
  class: "img-web-kit",
@@ -37051,9 +37329,9 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
37051
37329
  };
37052
37330
  }
37053
37331
  });
37054
- const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-6f277b5b"]]);
37055
- const _hoisted_1$g = { class: "m-0 pb-025 txt14 line-height-1 w60 menu-text" };
37056
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
37332
+ const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-6f277b5b"]]);
37333
+ const _hoisted_1$h = { class: "m-0 pb-025 txt14 line-height-1 w60 menu-text" };
37334
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
37057
37335
  __name: "BottomMenu",
37058
37336
  props: {
37059
37337
  navLinks: {}
@@ -37071,12 +37349,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
37071
37349
  onClick: nav.onClick
37072
37350
  }, {
37073
37351
  default: vue.withCtx(() => [
37074
- vue.createVNode(vue.unref(_sfc_main$p), {
37352
+ vue.createVNode(vue.unref(_sfc_main$q), {
37075
37353
  icon: nav.icon,
37076
37354
  size: 1.4,
37077
37355
  class: "m-0 line-height-14"
37078
37356
  }, null, 8, ["icon"]),
37079
- vue.createElementVNode("p", _hoisted_1$g, vue.toDisplayString(nav.label), 1)
37357
+ vue.createElementVNode("p", _hoisted_1$h, vue.toDisplayString(nav.label), 1)
37080
37358
  ]),
37081
37359
  _: 2
37082
37360
  }, 1032, ["to", "onClick"]);
@@ -37088,8 +37366,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
37088
37366
  };
37089
37367
  }
37090
37368
  });
37091
- const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-fe3a895e"]]);
37092
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
37369
+ const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-fe3a895e"]]);
37370
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
37093
37371
  __name: "Layout",
37094
37372
  props: {
37095
37373
  gap: { default: 1 },
@@ -37130,9 +37408,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
37130
37408
  };
37131
37409
  }
37132
37410
  });
37133
- const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-1814129a"]]);
37134
- const _hoisted_1$f = { key: 0 };
37135
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
37411
+ const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-1814129a"]]);
37412
+ const _hoisted_1$g = { key: 0 };
37413
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
37136
37414
  __name: "SidebarMenu",
37137
37415
  props: {
37138
37416
  navLinks: {},
@@ -37173,13 +37451,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
37173
37451
  class: "nav-button px-075 me-auto w-100"
37174
37452
  }, {
37175
37453
  default: vue.withCtx(() => [
37176
- vue.createVNode(vue.unref(_sfc_main$p), {
37454
+ vue.createVNode(vue.unref(_sfc_main$q), {
37177
37455
  icon: nav.icon,
37178
37456
  size: 1.4
37179
37457
  }, null, 8, ["icon"]),
37180
37458
  vue.createVNode(vue.Transition, { name: "showP" }, {
37181
37459
  default: vue.withCtx(() => [
37182
- _ctx.open ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_1$f, vue.toDisplayString(nav.label), 1)) : vue.createCommentVNode("", true)
37460
+ _ctx.open ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_1$g, vue.toDisplayString(nav.label), 1)) : vue.createCommentVNode("", true)
37183
37461
  ]),
37184
37462
  _: 2
37185
37463
  }, 1024)
@@ -37206,8 +37484,8 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
37206
37484
  };
37207
37485
  }
37208
37486
  });
37209
- const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-ac02125e"]]);
37210
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
37487
+ const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-ac02125e"]]);
37488
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
37211
37489
  __name: "Skeleton",
37212
37490
  props: {
37213
37491
  count: { default: 1 },
@@ -37238,11 +37516,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
37238
37516
  };
37239
37517
  }
37240
37518
  });
37241
- const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-4da8c0d1"]]);
37242
- const _hoisted_1$e = { class: "bgl_card tabs-top" };
37519
+ const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-4da8c0d1"]]);
37520
+ const _hoisted_1$f = { class: "bgl_card tabs-top" };
37243
37521
  const _hoisted_2$8 = { class: "tabs grid auto-flow-columns fit-content" };
37244
37522
  const _hoisted_3$5 = ["onClick"];
37245
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
37523
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
37246
37524
  __name: "TabbedLayout",
37247
37525
  props: {
37248
37526
  title: {},
@@ -37275,7 +37553,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
37275
37553
  return vue.openBlock(), vue.createElementBlock("div", {
37276
37554
  class: vue.normalizeClass(["h-100 grid list-view gap-1", { "side-tabs": _ctx.sideTabs }])
37277
37555
  }, [
37278
- vue.createElementVNode("div", _hoisted_1$e, [
37556
+ vue.createElementVNode("div", _hoisted_1$f, [
37279
37557
  vue.renderSlot(_ctx.$slots, "top-section", {}, void 0, true),
37280
37558
  vue.createElementVNode("div", _hoisted_2$8, [
37281
37559
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab) => {
@@ -37302,9 +37580,22 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
37302
37580
  };
37303
37581
  }
37304
37582
  });
37305
- const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-915732c1"]]);
37306
- const _hoisted_1$d = { key: 0 };
37307
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
37583
+ const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-915732c1"]]);
37584
+ const state$1 = vue.reactive(/* @__PURE__ */ new Map());
37585
+ function useTabs(group) {
37586
+ if (!state$1.has(group)) {
37587
+ state$1.set(group, vue.reactive({ currentTab: void 0 }));
37588
+ }
37589
+ const currentTab = vue.computed({
37590
+ get: () => state$1.get(group).currentTab,
37591
+ set: (val) => {
37592
+ state$1.get(group).currentTab = val;
37593
+ }
37594
+ });
37595
+ return { currentTab };
37596
+ }
37597
+ const _hoisted_1$e = { key: 0 };
37598
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
37308
37599
  __name: "Tabs",
37309
37600
  props: {
37310
37601
  tabs: {},
@@ -37346,14 +37637,14 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
37346
37637
  group: vue.unref(group),
37347
37638
  class: "mb-05"
37348
37639
  }, null, 8, ["modelValue", "flat", "tabs", "group"]),
37349
- vue.unref(currentTab) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
37640
+ vue.unref(currentTab) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
37350
37641
  vue.unref(slots)[vue.unref(currentTab)] ? vue.renderSlot(_ctx.$slots, vue.unref(currentTab), { key: 0 }) : vue.unref(currentTab) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(tabComponent)), { key: 1 })) : vue.createCommentVNode("", true)
37351
37642
  ])) : vue.createCommentVNode("", true)
37352
37643
  ], 64);
37353
37644
  };
37354
37645
  }
37355
37646
  });
37356
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
37647
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
37357
37648
  __name: "TabsBody",
37358
37649
  props: {
37359
37650
  group: {}
@@ -37366,6 +37657,97 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
37366
37657
  };
37367
37658
  }
37368
37659
  });
37660
+ const _hoisted_1$d = ["onClick"];
37661
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
37662
+ __name: "TabsNav",
37663
+ props: {
37664
+ title: {},
37665
+ tabs: {},
37666
+ modelValue: {},
37667
+ sideTabs: { type: Boolean },
37668
+ group: {},
37669
+ flat: { type: Boolean },
37670
+ vertical: { type: Boolean }
37671
+ },
37672
+ emits: ["update:modelValue"],
37673
+ setup(__props, { emit: __emit }) {
37674
+ const props2 = __props;
37675
+ const emit2 = __emit;
37676
+ const { currentTab } = useTabs(props2.group);
37677
+ currentTab.value = props2.modelValue || typeof props2.tabs[0] === "string" ? props2.tabs[0] : props2.tabs[0].id;
37678
+ const tabsWrap = vue.ref(void 0);
37679
+ const tabs = vue.ref([]);
37680
+ function updateIndicator() {
37681
+ const activeTab = tabs.value.find((tab) => tab.classList.contains("active"));
37682
+ if (activeTab && tabsWrap.value) {
37683
+ const { offsetLeft, offsetWidth } = activeTab;
37684
+ tabsWrap.value.style.setProperty("--indicator-left", `${offsetLeft}px`);
37685
+ if (tabsWrap.value) {
37686
+ tabsWrap.value.style.setProperty("--indicator-width", `${offsetWidth}px`);
37687
+ }
37688
+ }
37689
+ }
37690
+ function selectTab(tab) {
37691
+ currentTab.value = typeof tab === "string" ? tab : tab.id;
37692
+ emit2("update:modelValue", currentTab.value);
37693
+ vue.nextTick(() => {
37694
+ updateIndicator();
37695
+ });
37696
+ }
37697
+ function isActive(tab) {
37698
+ if (typeof tab === "string") return currentTab.value === tab;
37699
+ return currentTab.value === tab.id;
37700
+ }
37701
+ function tabLabel(tab) {
37702
+ if (typeof tab === "string") return tab;
37703
+ return tab.label;
37704
+ }
37705
+ vue.watch(
37706
+ () => props2.modelValue,
37707
+ (value) => {
37708
+ if (value && !isActive(value)) currentTab.value = value;
37709
+ vue.nextTick(() => {
37710
+ updateIndicator();
37711
+ });
37712
+ },
37713
+ { immediate: true }
37714
+ );
37715
+ vue.onMounted(() => {
37716
+ var _a2;
37717
+ tabs.value = Array.from(((_a2 = tabsWrap.value) == null ? void 0 : _a2.querySelectorAll(".bgl_tab")) || []);
37718
+ updateIndicator();
37719
+ window.addEventListener("resize", updateIndicator);
37720
+ });
37721
+ vue.onBeforeUnmount(() => {
37722
+ window.removeEventListener("resize", updateIndicator);
37723
+ });
37724
+ return (_ctx, _cache) => {
37725
+ return vue.openBlock(), vue.createElementBlock("div", {
37726
+ ref_key: "tabsWrap",
37727
+ ref: tabsWrap,
37728
+ class: vue.normalizeClass(["grid auto-flow-columns relative fit-content bgl_tabs_wrap overflow-hidden", { "bgl_flat-tabs": _ctx.flat, "bgl_vertical-tabs": _ctx.vertical }])
37729
+ }, [
37730
+ vue.renderSlot(_ctx.$slots, "tabs", vue.normalizeProps(vue.guardReactiveProps({ selectTab, isActive, tabLabel, tabs: tabs.value })), () => [
37731
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props2.tabs, (tab, i2) => {
37732
+ return vue.openBlock(), vue.createElementBlock("button", {
37733
+ key: i2,
37734
+ type: "button",
37735
+ class: vue.normalizeClass([{ active: isActive(tab) }, "bgl_tab relative z-1"]),
37736
+ onClick: ($event) => selectTab(tab)
37737
+ }, [
37738
+ typeof tab !== "string" && tab.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
37739
+ key: 0,
37740
+ icon: tab.icon
37741
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
37742
+ vue.createTextVNode(" " + vue.toDisplayString(tabLabel(tab)), 1)
37743
+ ], 10, _hoisted_1$d);
37744
+ }), 128))
37745
+ ], true)
37746
+ ], 2);
37747
+ };
37748
+ }
37749
+ });
37750
+ const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-e680c2a4"]]);
37369
37751
  const _hoisted_1$c = { class: "no-margin ellipsis line-height-14 pb-025" };
37370
37752
  const _hoisted_2$7 = { class: "txt12 no-margin txt-gray ellipsis" };
37371
37753
  const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
@@ -37395,7 +37777,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
37395
37777
  src: _ctx.src,
37396
37778
  size: 40
37397
37779
  }, null, 8, ["name", "src"])) : vue.createCommentVNode("", true),
37398
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
37780
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
37399
37781
  key: 1,
37400
37782
  size: "1.2",
37401
37783
  class: "color-primary",
@@ -37417,21 +37799,28 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
37417
37799
  };
37418
37800
  }
37419
37801
  });
37420
- const _sfc_main$e = {};
37421
37802
  const _hoisted_1$b = { class: "list-wrap bgl_card thin grid overflow-hidden h-100 pt-0 pb-05 px-0 m_pb-0" };
37422
- const _hoisted_2$6 = { class: "p-1" };
37803
+ const _hoisted_2$6 = {
37804
+ key: 0,
37805
+ class: "p-1"
37806
+ };
37423
37807
  const _hoisted_3$4 = { class: "list-content auto-flow-rows align-items-start overflow-y h-100" };
37424
- function _sfc_render$3(_ctx, _cache) {
37425
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
37426
- vue.createElementVNode("div", _hoisted_2$6, [
37427
- vue.renderSlot(_ctx.$slots, "header")
37428
- ]),
37429
- vue.createElementVNode("div", _hoisted_3$4, [
37430
- vue.renderSlot(_ctx.$slots, "default")
37431
- ])
37432
- ]);
37433
- }
37434
- const ListView = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$3]]);
37808
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
37809
+ __name: "ListView",
37810
+ setup(__props) {
37811
+ const slots = vue.useSlots();
37812
+ return (_ctx, _cache) => {
37813
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
37814
+ vue.unref(slots).header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$6, [
37815
+ vue.renderSlot(_ctx.$slots, "header")
37816
+ ])) : vue.createCommentVNode("", true),
37817
+ vue.createElementVNode("div", _hoisted_3$4, [
37818
+ vue.renderSlot(_ctx.$slots, "default")
37819
+ ])
37820
+ ]);
37821
+ };
37822
+ }
37823
+ });
37435
37824
  const _hoisted_1$a = { class: "flex-center" };
37436
37825
  const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
37437
37826
  __name: "Loading",
@@ -37848,7 +38237,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
37848
38237
  "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => emit2("update:visible", $event))
37849
38238
  }, vue.createSlots({
37850
38239
  default: vue.withCtx(() => [
37851
- _ctx.visible ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$S), {
38240
+ _ctx.visible ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$R), {
37852
38241
  key: 0,
37853
38242
  ref_key: "form",
37854
38243
  ref: form,
@@ -37944,7 +38333,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
37944
38333
  onClick: toggleMenu,
37945
38334
  onKeypress: vue.withKeys(toggleMenu, ["enter"])
37946
38335
  }, [
37947
- vue.createVNode(vue.unref(_sfc_main$p), {
38336
+ vue.createVNode(vue.unref(_sfc_main$q), {
37948
38337
  icon: "chevron_right",
37949
38338
  class: "top-arrow"
37950
38339
  })
@@ -37963,7 +38352,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
37963
38352
  }
37964
38353
  }, {
37965
38354
  default: vue.withCtx(() => [
37966
- vue.createVNode(vue.unref(_sfc_main$p), {
38355
+ vue.createVNode(vue.unref(_sfc_main$q), {
37967
38356
  icon: link.icon
37968
38357
  }, null, 8, ["icon"]),
37969
38358
  vue.createElementVNode("div", _hoisted_4$2, vue.toDisplayString(link.label), 1)
@@ -37985,7 +38374,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
37985
38374
  }
37986
38375
  }, {
37987
38376
  default: vue.withCtx(() => [
37988
- vue.createVNode(vue.unref(_sfc_main$p), {
38377
+ vue.createVNode(vue.unref(_sfc_main$q), {
37989
38378
  icon: link.icon
37990
38379
  }, null, 8, ["icon"]),
37991
38380
  vue.createElementVNode("div", _hoisted_6$2, vue.toDisplayString(link.label), 1)
@@ -38062,8 +38451,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
38062
38451
  },
38063
38452
  setup(__props) {
38064
38453
  vue.useCssVars((_ctx) => ({
38065
- "3a60c2df": computedBackgroundColor.value,
38066
- "69137cfa": cumputedTextColor.value
38454
+ "2a89394f": computedBackgroundColor.value,
38455
+ "369cf12c": cumputedTextColor.value
38067
38456
  }));
38068
38457
  const props2 = __props;
38069
38458
  const slots = vue.useSlots();
@@ -38130,15 +38519,15 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
38130
38519
  }, _ctx.btn), null, 16)
38131
38520
  ])) : vue.createCommentVNode("", true)
38132
38521
  ])),
38133
- _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
38522
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
38134
38523
  key: 2,
38135
38524
  icon: _ctx.icon
38136
38525
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
38137
38526
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
38138
- !vue.unref(slots).default && _ctx.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
38527
+ !vue.unref(slots).default ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
38139
38528
  vue.createTextVNode(vue.toDisplayString(_ctx.value || _ctx.modelValue), 1)
38140
38529
  ], 64)) : vue.createCommentVNode("", true),
38141
- _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
38530
+ _ctx.iconEnd ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
38142
38531
  key: 4,
38143
38532
  icon: _ctx.iconEnd
38144
38533
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
@@ -38156,7 +38545,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
38156
38545
  };
38157
38546
  }
38158
38547
  });
38159
- const Pill = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-47a928b4"]]);
38548
+ const Pill = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-2ca4d3a1"]]);
38160
38549
  const _sfc_main$5 = {};
38161
38550
  function _sfc_render$2(_ctx, _cache) {
38162
38551
  const _component_router_view = vue.resolveComponent("router-view");
@@ -38224,39 +38613,39 @@ function _sfc_render(_ctx, _cache) {
38224
38613
  const TopBar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render]]);
38225
38614
  class TapDetector {
38226
38615
  constructor() {
38227
- __publicField2(this, "singleTapCallbacks", []);
38228
- __publicField2(this, "doubleTapCallbacks", []);
38229
- __publicField2(this, "isTouchMode", false);
38230
- __publicField2(this, "lastTapTimestamp", 0);
38231
- __publicField2(this, "tappedCount", 0);
38232
- __publicField2(this, "touchMovedLength", 0);
38233
- __publicField2(this, "lastPointerX", 0);
38234
- __publicField2(this, "lastPointerY", 0);
38235
- __publicField2(this, "onTouchStart", (event) => {
38616
+ __publicField(this, "singleTapCallbacks", []);
38617
+ __publicField(this, "doubleTapCallbacks", []);
38618
+ __publicField(this, "isTouchMode", false);
38619
+ __publicField(this, "lastTapTimestamp", 0);
38620
+ __publicField(this, "tappedCount", 0);
38621
+ __publicField(this, "touchMovedLength", 0);
38622
+ __publicField(this, "lastPointerX", 0);
38623
+ __publicField(this, "lastPointerY", 0);
38624
+ __publicField(this, "onTouchStart", (event) => {
38236
38625
  this.isTouchMode = true;
38237
38626
  if (event.touches.length === 1) {
38238
38627
  this.onPointerDown(event.touches[0].clientX, event.touches[0].clientY);
38239
38628
  }
38240
38629
  });
38241
- __publicField2(this, "onTouchMove", (event) => {
38630
+ __publicField(this, "onTouchMove", (event) => {
38242
38631
  if (event.touches.length === 1) {
38243
38632
  this.onPointerMove(event.touches[0].clientX, event.touches[0].clientY);
38244
38633
  }
38245
38634
  });
38246
- __publicField2(this, "onTouchEnd", () => {
38635
+ __publicField(this, "onTouchEnd", () => {
38247
38636
  if (this.isTouchMode) this.onPointerUp();
38248
38637
  });
38249
- __publicField2(this, "onMouseDown", (event) => {
38638
+ __publicField(this, "onMouseDown", (event) => {
38250
38639
  if (!this.isTouchMode) {
38251
38640
  this.onPointerDown(event.clientX, event.clientY);
38252
38641
  }
38253
38642
  });
38254
- __publicField2(this, "onMouseMove", (event) => {
38643
+ __publicField(this, "onMouseMove", (event) => {
38255
38644
  if (!this.isTouchMode && event.button === 0) {
38256
38645
  this.onPointerMove(event.clientX, event.clientY);
38257
38646
  }
38258
38647
  });
38259
- __publicField2(this, "onMouseUp", () => {
38648
+ __publicField(this, "onMouseUp", () => {
38260
38649
  if (!this.isTouchMode) this.onPointerUp();
38261
38650
  });
38262
38651
  }
@@ -38648,6 +39037,67 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
38648
39037
  }
38649
39038
  });
38650
39039
  const Zoomer = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-379819e1"]]);
39040
+ const FORM_STATE_KEY = Symbol("bagelFormState");
39041
+ function safeClone(obj) {
39042
+ if (obj === null || typeof obj !== "object") return obj;
39043
+ const seen = /* @__PURE__ */ new WeakSet();
39044
+ return JSON.parse(JSON.stringify(obj, (key, value) => {
39045
+ if (typeof value === "object" && value !== null) {
39046
+ if (seen.has(value)) {
39047
+ return void 0;
39048
+ }
39049
+ seen.add(value);
39050
+ }
39051
+ return value;
39052
+ }));
39053
+ }
39054
+ function provideBagelFormState(initialData) {
39055
+ const data2 = vue.ref(initialData);
39056
+ const isDirty = vue.ref(false);
39057
+ const getFieldData = (path) => {
39058
+ if (!path) return "";
39059
+ const keys4 = path.split(/[.[]/);
39060
+ let current = data2.value;
39061
+ for (let i2 = 0; i2 < keys4.length; i2++) {
39062
+ const key = keys4[i2];
39063
+ if (!current || typeof current !== "object" || !(key in current)) {
39064
+ return "";
39065
+ }
39066
+ current = current[key];
39067
+ }
39068
+ return current ?? "";
39069
+ };
39070
+ const updateField = (path, value) => {
39071
+ const keys4 = path.split(/[.[]/);
39072
+ if (typeof data2.value !== "object" || data2.value === null) {
39073
+ data2.value = {};
39074
+ }
39075
+ let current = data2.value;
39076
+ for (let i2 = 0; i2 < keys4.length - 1; i2++) {
39077
+ const key = keys4[i2];
39078
+ if (!(key in current) || typeof current[key] !== "object" || current[key] === null) {
39079
+ current[key] = {};
39080
+ }
39081
+ current = current[key];
39082
+ }
39083
+ const safeValue = safeClone(value);
39084
+ current[keys4[keys4.length - 1]] = safeValue;
39085
+ isDirty.value = true;
39086
+ };
39087
+ const state2 = {
39088
+ data: data2,
39089
+ getFieldData,
39090
+ updateField,
39091
+ isDirty
39092
+ };
39093
+ vue.provide(FORM_STATE_KEY, state2);
39094
+ return state2;
39095
+ }
39096
+ function useBagelFormState() {
39097
+ const state2 = vue.inject(FORM_STATE_KEY);
39098
+ if (!state2) throw new Error("BagelFormState must be provided");
39099
+ return state2;
39100
+ }
38651
39101
  function useBglSchema({ schema, showFields, data: data2 } = {}) {
38652
39102
  let _schema = schema;
38653
39103
  if (typeof _schema === "function") {
@@ -38668,12 +39118,6 @@ function localRef(key, initialValue) {
38668
39118
  return value;
38669
39119
  }
38670
39120
  const useLocalStorage = localRef;
38671
- var __defProp = Object.defineProperty;
38672
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
38673
- var __publicField = (obj, key, value) => {
38674
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
38675
- return value;
38676
- };
38677
39121
  const axios = axios$1.create({
38678
39122
  withCredentials: true
38679
39123
  });
@@ -38688,8 +39132,7 @@ class DataRequest {
38688
39132
  this.itemID = "";
38689
39133
  }
38690
39134
  async post(item) {
38691
- if (!this.data_table)
38692
- throw new Error("Data table not set");
39135
+ if (!this.data_table) throw new Error("Data table not set");
38693
39136
  const { data: data2 } = await axios.post(`/data/${this.data_table}`, item);
38694
39137
  return data2;
38695
39138
  }
@@ -38699,8 +39142,7 @@ class DataRequest {
38699
39142
  }
38700
39143
  async get() {
38701
39144
  var _a2, _b;
38702
- if (!this.data_table)
38703
- throw new Error("Data table not set");
39145
+ if (!this.data_table) throw new Error("Data table not set");
38704
39146
  const filterStr = Object.keys(this._filter).length > 0 ? `?filter={${Object.entries(this._filter).map(([k2, v2]) => `${k2}:${v2}`).join(",")}}` : "";
38705
39147
  const url = `/data/${this.data_table}${this.itemID ? `/${this.itemID}` : ""}${filterStr}`;
38706
39148
  try {
@@ -38717,8 +39159,7 @@ class DataRequest {
38717
39159
  return this;
38718
39160
  }
38719
39161
  async delete() {
38720
- if (!this.data_table)
38721
- throw new Error("Data table not set");
39162
+ if (!this.data_table) throw new Error("Data table not set");
38722
39163
  const { data: data2 } = await axios.delete(
38723
39164
  `/data/${this.data_table}/${this.itemID}`
38724
39165
  );
@@ -38726,10 +39167,8 @@ class DataRequest {
38726
39167
  }
38727
39168
  async put(updatedItem) {
38728
39169
  const { data_table, itemID } = this;
38729
- if (!data_table)
38730
- throw new Error("Data table not set");
38731
- if (!itemID)
38732
- throw new Error("Item ID not set");
39170
+ if (!data_table) throw new Error("Data table not set");
39171
+ if (!itemID) throw new Error("Item ID not set");
38733
39172
  const { data: data2 } = await axios.put(
38734
39173
  `/data/${data_table}/${itemID}`,
38735
39174
  updatedItem
@@ -38746,9 +39185,9 @@ function responses(key) {
38746
39185
  }
38747
39186
  class BagelAuth {
38748
39187
  constructor(bagel) {
38749
- this.bagel = bagel;
38750
39188
  __publicField(this, "user");
38751
39189
  this.bagel = bagel;
39190
+ this.bagel = bagel;
38752
39191
  }
38753
39192
  async validateUser() {
38754
39193
  try {
@@ -38850,12 +39289,10 @@ class Bagel {
38850
39289
  async get(endpoint, query) {
38851
39290
  this._setAuthorization();
38852
39291
  endpoint = this._endpointCleaner(endpoint);
38853
- if (/undefined|null/.test(endpoint))
38854
- throw new Error(`Invalid endpoint: ${endpoint}`);
39292
+ if (/undefined|null/.test(endpoint)) throw new Error(`Invalid endpoint: ${endpoint}`);
38855
39293
  if (query) {
38856
39294
  const queryParams = Object.entries(query).filter(([_2, value]) => !!value).map(([key, value]) => `${key}=${value}`).join("&");
38857
- if (queryParams)
38858
- endpoint = `${endpoint}?${queryParams}`;
39295
+ if (queryParams) endpoint = `${endpoint}?${queryParams}`;
38859
39296
  }
38860
39297
  const url = `/${endpoint}`;
38861
39298
  return axios.get(url).then(({ data: data2 }) => data2).catch((err) => {
@@ -38910,8 +39347,7 @@ class Bagel {
38910
39347
  const formData = new FormData();
38911
39348
  formData.append("file", file);
38912
39349
  let url = "/static_files/upload";
38913
- if (options == null ? void 0 : options.topic)
38914
- url = `/static_files/upload?topic=${options.topic}`;
39350
+ if (options == null ? void 0 : options.topic) url = `/static_files/upload?topic=${options.topic}`;
38915
39351
  const { data: data2 } = await axios.post(url, formData, {
38916
39352
  headers: {
38917
39353
  "Content-Type": "multipart/form-data"
@@ -39128,13 +39564,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
39128
39564
  title: item == null ? void 0 : item.name,
39129
39565
  class: "vw90"
39130
39566
  }, null, 8, _hoisted_5)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
39131
- vue.createVNode(vue.unref(_sfc_main$p), {
39567
+ vue.createVNode(vue.unref(_sfc_main$q), {
39132
39568
  class: "m-0 m_none",
39133
39569
  icon: "draft",
39134
39570
  size: 10,
39135
39571
  weight: "12"
39136
39572
  }),
39137
- vue.createVNode(vue.unref(_sfc_main$p), {
39573
+ vue.createVNode(vue.unref(_sfc_main$q), {
39138
39574
  class: "m-0 none m_block m_-mb-1",
39139
39575
  icon: "draft",
39140
39576
  size: 4,
@@ -39173,7 +39609,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
39173
39609
  src: item.src,
39174
39610
  alt: "",
39175
39611
  onClick: ($event) => selectItem(index2)
39176
- }, null, 8, ["src", "class", "onClick"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$p), {
39612
+ }, null, 8, ["src", "class", "onClick"])) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$q), {
39177
39613
  key: 1,
39178
39614
  class: vue.normalizeClass(["thumbnail object-fit-cover hover opacity-5 ed flex bg-popup justify-content-center align-items-center flex-shrink-0", { active: vue.unref(currentIndex) === index2 }]),
39179
39615
  icon: "description",
@@ -40312,11 +40748,10 @@ exports.AddressSearch = _sfc_main$15;
40312
40748
  exports.Alert = Alert;
40313
40749
  exports.Avatar = Avatar;
40314
40750
  exports.Badge = Badge;
40315
- exports.BagelForm = _sfc_main$S;
40751
+ exports.BagelForm = _sfc_main$R;
40316
40752
  exports.BagelVue = BagelVue;
40317
40753
  exports.BglComponent = _sfc_main$10;
40318
- exports.BglField = _sfc_main$Q;
40319
- exports.BglForm = _sfc_main$S;
40754
+ exports.BglForm = _sfc_main$R;
40320
40755
  exports.BglVideo = BglVideo;
40321
40756
  exports.BottomMenu = BottomMenu;
40322
40757
  exports.Btn = Btn;
@@ -40325,28 +40760,29 @@ exports.Carousel = Carousel;
40325
40760
  exports.CheckInput = CheckInput;
40326
40761
  exports.Checkbox = Checkbox;
40327
40762
  exports.CodeEditor = CodeEditor;
40328
- exports.ColorPicker = _sfc_main$L;
40763
+ exports.ColorPicker = _sfc_main$M;
40329
40764
  exports.DataPreview = DataPreview;
40330
40765
  exports.DataTable = DataTable;
40331
- exports.DateInput = _sfc_main$K;
40766
+ exports.DateInput = _sfc_main$L;
40332
40767
  exports.DatePick = DatePick;
40333
- exports.DatePicker = _sfc_main$I;
40334
- exports.Dropdown = _sfc_main$V;
40768
+ exports.DatePicker = _sfc_main$J;
40769
+ exports.Draggable = _sfc_main$V;
40770
+ exports.Dropdown = _sfc_main$U;
40335
40771
  exports.FORM_STATE_KEY = FORM_STATE_KEY;
40336
- exports.FieldArray = _sfc_main$P;
40772
+ exports.FieldArray = _sfc_main$Q;
40337
40773
  exports.FieldSetVue = FieldSetVue;
40338
40774
  exports.FileUpload = FileUpload;
40339
40775
  exports.Flag = Flag;
40340
40776
  exports.IMAGE_FORMATS = IMAGE_FORMATS;
40341
40777
  exports.IMAGE_FORMATS_REGEXP = IMAGE_FORMATS_REGEXP;
40342
- exports.Icon = _sfc_main$p;
40343
- exports.IframeVue = _sfc_main$o;
40778
+ exports.Icon = _sfc_main$q;
40779
+ exports.IframeVue = _sfc_main$p;
40344
40780
  exports.Image = Image$1;
40345
40781
  exports.JSONInput = JSONInput;
40346
40782
  exports.Layout = Layout;
40347
40783
  exports.Lineart = _sfc_main$Y;
40348
40784
  exports.ListItem = _sfc_main$f;
40349
- exports.ListView = ListView;
40785
+ exports.ListView = _sfc_main$e;
40350
40786
  exports.Loading = Loading;
40351
40787
  exports.MapEmbed = _sfc_main$c;
40352
40788
  exports.Modal = _sfc_main$b;
@@ -40357,7 +40793,7 @@ exports.NavBar = NavBar;
40357
40793
  exports.NumberInput = NumberInput;
40358
40794
  exports.OTP = OTP;
40359
40795
  exports.PageTitle = _sfc_main$7;
40360
- exports.PasswordInput = _sfc_main$D;
40796
+ exports.PasswordInput = _sfc_main$E;
40361
40797
  exports.Pill = Pill;
40362
40798
  exports.RadioGroup = RadioGroup;
40363
40799
  exports.RadioPillsInput = RadioPillsInput;
@@ -40366,13 +40802,13 @@ exports.RichText = RichText;
40366
40802
  exports.RouterWrapper = RouterWrapper;
40367
40803
  exports.SelectInput = SelectInput;
40368
40804
  exports.SidebarMenu = SidebarMenu;
40369
- exports.SignaturePad = _sfc_main$v;
40805
+ exports.SignaturePad = _sfc_main$w;
40370
40806
  exports.Skeleton = Skeleton;
40371
40807
  exports.TabbedLayout = TabbedLayout;
40372
40808
  exports.TableField = TableField;
40373
40809
  exports.TableSchema = DataTable;
40374
- exports.Tabs = _sfc_main$h;
40375
- exports.TabsBody = _sfc_main$g;
40810
+ exports.Tabs = _sfc_main$i;
40811
+ exports.TabsBody = _sfc_main$h;
40376
40812
  exports.TabsNav = TabsNav;
40377
40813
  exports.TelInput = TelInput;
40378
40814
  exports.TextInput = TextInput;
@@ -40412,8 +40848,10 @@ exports.useBagel = useBagel;
40412
40848
  exports.useBagelFormState = useBagelFormState;
40413
40849
  exports.useBglSchema = useBglSchema;
40414
40850
  exports.useDebounceFn = useDebounceFn;
40851
+ exports.useDraggable = useDraggable;
40415
40852
  exports.useEscape = useEscape;
40416
40853
  exports.useI18nT = useI18nT;
40417
40854
  exports.useLang = useLang;
40418
40855
  exports.useLocalStorage = useLocalStorage;
40419
40856
  exports.useModal = useModal;
40857
+ exports.vDraggable = vDraggable;