@bagelink/vue 0.0.1020 → 0.0.1025

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 (169) hide show
  1. package/dist/components/Accordion.vue.d.ts +3 -2
  2. package/dist/components/Accordion.vue.d.ts.map +1 -1
  3. package/dist/components/AccordionItem.vue.d.ts +14 -20
  4. package/dist/components/AccordionItem.vue.d.ts.map +1 -1
  5. package/dist/components/AddressSearch.vue.d.ts +1 -1
  6. package/dist/components/AddressSearch.vue.d.ts.map +1 -1
  7. package/dist/components/Alert.vue.d.ts.map +1 -1
  8. package/dist/components/Avatar.vue.d.ts +4 -8
  9. package/dist/components/Avatar.vue.d.ts.map +1 -1
  10. package/dist/components/Badge.vue.d.ts +1 -1
  11. package/dist/components/Badge.vue.d.ts.map +1 -1
  12. package/dist/components/BglVideo.vue.d.ts +1 -1
  13. package/dist/components/BglVideo.vue.d.ts.map +1 -1
  14. package/dist/components/Btn.vue.d.ts +15 -30
  15. package/dist/components/Btn.vue.d.ts.map +1 -1
  16. package/dist/components/Card.vue.d.ts +13 -20
  17. package/dist/components/Card.vue.d.ts.map +1 -1
  18. package/dist/components/Carousel.vue.d.ts +12 -2
  19. package/dist/components/Carousel.vue.d.ts.map +1 -1
  20. package/dist/components/DataPreview.vue.d.ts +6 -5
  21. package/dist/components/DataPreview.vue.d.ts.map +1 -1
  22. package/dist/components/DropDown.vue.d.ts +7 -3
  23. package/dist/components/DropDown.vue.d.ts.map +1 -1
  24. package/dist/components/Flag.vue.d.ts +1 -1
  25. package/dist/components/Flag.vue.d.ts.map +1 -1
  26. package/dist/components/IframeVue.vue.d.ts +7 -22
  27. package/dist/components/IframeVue.vue.d.ts.map +1 -1
  28. package/dist/components/Image.vue.d.ts +4 -7
  29. package/dist/components/Image.vue.d.ts.map +1 -1
  30. package/dist/components/ListItem.vue.d.ts +13 -20
  31. package/dist/components/ListItem.vue.d.ts.map +1 -1
  32. package/dist/components/ListView.vue.d.ts +3 -2
  33. package/dist/components/ListView.vue.d.ts.map +1 -1
  34. package/dist/components/Loading.vue.d.ts +3 -8
  35. package/dist/components/Loading.vue.d.ts.map +1 -1
  36. package/dist/components/MapEmbed.vue.d.ts +5 -11
  37. package/dist/components/MapEmbed.vue.d.ts.map +1 -1
  38. package/dist/components/MaterialIcon.vue.d.ts +3 -8
  39. package/dist/components/MaterialIcon.vue.d.ts.map +1 -1
  40. package/dist/components/Modal.vue.d.ts +13 -18
  41. package/dist/components/Modal.vue.d.ts.map +1 -1
  42. package/dist/components/ModalConfirm.vue.d.ts +5 -12
  43. package/dist/components/ModalConfirm.vue.d.ts.map +1 -1
  44. package/dist/components/ModalForm.vue.d.ts +9 -3
  45. package/dist/components/ModalForm.vue.d.ts.map +1 -1
  46. package/dist/components/NavBar.vue.d.ts +11 -15
  47. package/dist/components/NavBar.vue.d.ts.map +1 -1
  48. package/dist/components/PageTitle.vue.d.ts +3 -2
  49. package/dist/components/PageTitle.vue.d.ts.map +1 -1
  50. package/dist/components/Pill.vue.d.ts +12 -24
  51. package/dist/components/Pill.vue.d.ts.map +1 -1
  52. package/dist/components/RouterWrapper.vue.d.ts.map +1 -1
  53. package/dist/components/TableSchema.vue.d.ts +4 -8
  54. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  55. package/dist/components/Title.vue.d.ts +2 -1
  56. package/dist/components/Title.vue.d.ts.map +1 -1
  57. package/dist/components/TopBar.vue.d.ts +3 -2
  58. package/dist/components/TopBar.vue.d.ts.map +1 -1
  59. package/dist/components/Zoomer.vue.d.ts +3 -2
  60. package/dist/components/Zoomer.vue.d.ts.map +1 -1
  61. package/dist/components/dashboard/Lineart.vue.d.ts +3 -5
  62. package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
  63. package/dist/components/form/BglField.vue.d.ts +1 -1
  64. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  65. package/dist/components/form/BglForm.vue.d.ts +15 -23
  66. package/dist/components/form/BglForm.vue.d.ts.map +1 -1
  67. package/dist/components/form/BglMultiStepForm.vue.d.ts +3 -4
  68. package/dist/components/form/BglMultiStepForm.vue.d.ts.map +1 -1
  69. package/dist/components/form/FieldArray.vue.d.ts +1 -1
  70. package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
  71. package/dist/components/form/inputs/CheckInput.vue.d.ts +7 -6
  72. package/dist/components/form/inputs/CheckInput.vue.d.ts.map +1 -1
  73. package/dist/components/form/inputs/Checkbox.vue.d.ts +5 -4
  74. package/dist/components/form/inputs/Checkbox.vue.d.ts.map +1 -1
  75. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts +4 -9
  76. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts.map +1 -1
  77. package/dist/components/form/inputs/ColorPicker.vue.d.ts +4 -14
  78. package/dist/components/form/inputs/ColorPicker.vue.d.ts.map +1 -1
  79. package/dist/components/form/inputs/DateInput.vue.d.ts +5 -17
  80. package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
  81. package/dist/components/form/inputs/DatePicker.vue.d.ts +5 -14
  82. package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
  83. package/dist/components/form/inputs/FileUpload.vue.d.ts +5 -4
  84. package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
  85. package/dist/components/form/inputs/JSONInput.vue.d.ts +5 -11
  86. package/dist/components/form/inputs/JSONInput.vue.d.ts.map +1 -1
  87. package/dist/components/form/inputs/NumberInput.vue.d.ts +26 -0
  88. package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -0
  89. package/dist/components/form/inputs/OTP.vue.d.ts +5 -8
  90. package/dist/components/form/inputs/OTP.vue.d.ts.map +1 -1
  91. package/dist/components/form/inputs/PasswordInput.vue.d.ts +7 -7
  92. package/dist/components/form/inputs/PasswordInput.vue.d.ts.map +1 -1
  93. package/dist/components/form/inputs/RadioGroup.vue.d.ts +3 -4
  94. package/dist/components/form/inputs/RadioGroup.vue.d.ts.map +1 -1
  95. package/dist/components/form/inputs/RadioPillsInput.vue.d.ts +5 -9
  96. package/dist/components/form/inputs/RadioPillsInput.vue.d.ts.map +1 -1
  97. package/dist/components/form/inputs/RangeInput.vue.d.ts +12 -15
  98. package/dist/components/form/inputs/RangeInput.vue.d.ts.map +1 -1
  99. package/dist/components/form/inputs/RichText/components/Toolbar.vue.d.ts +5 -7
  100. package/dist/components/form/inputs/RichText/components/Toolbar.vue.d.ts.map +1 -1
  101. package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts +1 -1
  102. package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts.map +1 -1
  103. package/dist/components/form/inputs/RichText/index.vue.d.ts +5 -7
  104. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  105. package/dist/components/form/inputs/SelectInput.vue.d.ts +11 -3
  106. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  107. package/dist/components/form/inputs/SignaturePad.vue.d.ts +5 -5
  108. package/dist/components/form/inputs/SignaturePad.vue.d.ts.map +1 -1
  109. package/dist/components/form/inputs/TableField.vue.d.ts +5 -12
  110. package/dist/components/form/inputs/TableField.vue.d.ts.map +1 -1
  111. package/dist/components/form/inputs/TelInput.vue.d.ts +5 -5
  112. package/dist/components/form/inputs/TelInput.vue.d.ts.map +1 -1
  113. package/dist/components/form/inputs/TextInput.vue.d.ts +5 -31
  114. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  115. package/dist/components/form/inputs/ToggleInput.vue.d.ts +7 -6
  116. package/dist/components/form/inputs/ToggleInput.vue.d.ts.map +1 -1
  117. package/dist/components/form/inputs/index.d.ts +1 -0
  118. package/dist/components/form/inputs/index.d.ts.map +1 -1
  119. package/dist/components/layout/BottomMenu.vue.d.ts +6 -6
  120. package/dist/components/layout/BottomMenu.vue.d.ts.map +1 -1
  121. package/dist/components/layout/Layout.vue.d.ts +3 -2
  122. package/dist/components/layout/Layout.vue.d.ts.map +1 -1
  123. package/dist/components/layout/SidebarMenu.vue.d.ts +10 -12
  124. package/dist/components/layout/SidebarMenu.vue.d.ts.map +1 -1
  125. package/dist/components/layout/Skeleton.vue.d.ts +11 -16
  126. package/dist/components/layout/Skeleton.vue.d.ts.map +1 -1
  127. package/dist/components/layout/TabbedLayout.vue.d.ts +12 -16
  128. package/dist/components/layout/TabbedLayout.vue.d.ts.map +1 -1
  129. package/dist/components/layout/Tabs.vue.d.ts +9 -11
  130. package/dist/components/layout/Tabs.vue.d.ts.map +1 -1
  131. package/dist/components/layout/TabsBody.vue.d.ts +6 -6
  132. package/dist/components/layout/TabsBody.vue.d.ts.map +1 -1
  133. package/dist/components/layout/TabsNav.vue.d.ts +30 -12
  134. package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
  135. package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -1
  136. package/dist/directives/index.d.ts +3 -0
  137. package/dist/directives/index.d.ts.map +1 -0
  138. package/dist/directives/pattern.d.ts +8 -0
  139. package/dist/directives/pattern.d.ts.map +1 -0
  140. package/dist/directives/ripple.d.ts +4 -0
  141. package/dist/directives/ripple.d.ts.map +1 -0
  142. package/dist/index.cjs +726 -360
  143. package/dist/index.mjs +726 -360
  144. package/dist/plugins/bagel.d.ts.map +1 -1
  145. package/dist/style.css +5019 -2947
  146. package/dist/utils/BagelFormUtils.d.ts +21 -0
  147. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  148. package/package.json +1 -1
  149. package/src/components/Btn.vue +5 -3
  150. package/src/components/Card.vue +0 -1
  151. package/src/components/Carousel.vue +25 -3
  152. package/src/components/Dropdown.vue +1 -1
  153. package/src/components/FieldSet.vue +15 -0
  154. package/src/components/Image.vue +11 -1
  155. package/src/components/form/FieldArray.vue +1 -2
  156. package/src/components/form/inputs/NumberInput.vue +163 -0
  157. package/src/components/form/inputs/RangeInput.vue +146 -77
  158. package/src/components/form/inputs/index.ts +1 -0
  159. package/src/components/layout/TabsNav.vue +14 -12
  160. package/src/directives/index.ts +2 -0
  161. package/src/directives/pattern.ts +156 -0
  162. package/src/plugins/bagel.ts +2 -1
  163. package/src/styles/appearance.css +25 -0
  164. package/src/styles/layout.css +2892 -1954
  165. package/src/styles/mobilLayout.css +3004 -1920
  166. package/src/styles/theme.css +258 -256
  167. package/src/utils/BagelFormUtils.ts +16 -0
  168. package/tsconfig.json +1 -1
  169. /package/src/{plugins → directives}/ripple.ts +0 -0
package/dist/index.cjs CHANGED
@@ -7,6 +7,9 @@ const vue = require("vue");
7
7
  const vueRouter = require("vue-router");
8
8
  const bagelFormUtils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
9
9
  __proto__: null,
10
+ get arrField() {
11
+ return arrField;
12
+ },
10
13
  get bglForm() {
11
14
  return bglForm;
12
15
  },
@@ -41,7 +44,7 @@ const bagelFormUtils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
41
44
  return txtField;
42
45
  }
43
46
  }, Symbol.toStringTag, { value: "Module" }));
44
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
47
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
45
48
  __name: "Accordion",
46
49
  setup(__props) {
47
50
  const state2 = vue.reactive({
@@ -55,10 +58,10 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
55
58
  };
56
59
  }
57
60
  });
58
- const _hoisted_1$P = ["aria-expanded", "aria-controls"];
59
- const _hoisted_2$w = { class: "accordion-label" };
60
- const _hoisted_3$p = ["id", "aria-hidden"];
61
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
61
+ const _hoisted_1$Q = ["aria-expanded", "aria-controls"];
62
+ const _hoisted_2$y = { class: "accordion-label" };
63
+ const _hoisted_3$r = ["id", "aria-hidden"];
64
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
62
65
  __name: "AccordionItem",
63
66
  props: {
64
67
  label: {},
@@ -124,7 +127,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
124
127
  vue.createVNode(vue.unref(_sfc_main$c), { icon: computedIcon.value }, null, 8, ["icon"])
125
128
  ], 2)) : vue.createCommentVNode("", true),
126
129
  vue.renderSlot(_ctx.$slots, "head", {}, () => [
127
- vue.createElementVNode("span", _hoisted_2$w, vue.toDisplayString(_ctx.label), 1)
130
+ vue.createElementVNode("span", _hoisted_2$y, vue.toDisplayString(_ctx.label), 1)
128
131
  ], true),
129
132
  iconPosition.value === "end" ? (vue.openBlock(), vue.createElementBlock("span", {
130
133
  key: 1,
@@ -132,7 +135,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
132
135
  }, [
133
136
  vue.createVNode(vue.unref(_sfc_main$c), { icon: computedIcon.value }, null, 8, ["icon"])
134
137
  ], 2)) : vue.createCommentVNode("", true)
135
- ], 8, _hoisted_1$P),
138
+ ], 8, _hoisted_1$Q),
136
139
  vue.createVNode(vue.Transition, { name: "expand" }, {
137
140
  default: vue.withCtx(() => [
138
141
  vue.unref(isOpen) ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -142,7 +145,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
142
145
  "aria-hidden": vue.unref(isOpen) ? "false" : "true"
143
146
  }, [
144
147
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
145
- ], 8, _hoisted_3$p)) : vue.createCommentVNode("", true)
148
+ ], 8, _hoisted_3$r)) : vue.createCommentVNode("", true)
146
149
  ]),
147
150
  _: 3
148
151
  })
@@ -157,9 +160,9 @@ const _export_sfc = (sfc, props2) => {
157
160
  }
158
161
  return target;
159
162
  };
160
- const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["__scopeId", "data-v-1e73ca3e"]]);
161
- const _hoisted_1$O = { class: "relative" };
162
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
163
+ const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["__scopeId", "data-v-1e73ca3e"]]);
164
+ const _hoisted_1$P = { class: "relative" };
165
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
163
166
  __name: "AddressSearch",
164
167
  emits: ["addressSelected"],
165
168
  setup(__props, { emit: __emit }) {
@@ -181,8 +184,8 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
181
184
  (_a2 = suggestion.value) == null ? void 0 : _a2.show();
182
185
  }
183
186
  return (_ctx, _cache) => {
184
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
185
- vue.createVNode(vue.unref(_sfc_main$S), {
187
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$P, [
188
+ vue.createVNode(vue.unref(_sfc_main$T), {
186
189
  ref_key: "suggestion",
187
190
  ref: suggestion,
188
191
  noAutoFocus: true,
@@ -217,11 +220,11 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
217
220
  };
218
221
  }
219
222
  });
220
- const _hoisted_1$N = {
223
+ const _hoisted_1$O = {
221
224
  key: 1,
222
225
  class: "bgl_btn-flex"
223
226
  };
224
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
227
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
225
228
  __name: "Btn",
226
229
  props: {
227
230
  disabled: { type: Boolean, default: false },
@@ -241,6 +244,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
241
244
  href: {},
242
245
  round: { type: Boolean, default: false },
243
246
  is: { default: "button" },
247
+ ripple: { type: Boolean, default: true },
244
248
  onClick: { type: Function, default: () => "" }
245
249
  },
246
250
  setup(__props) {
@@ -285,7 +289,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
285
289
  _ctx.loading ? (vue.openBlock(), vue.createBlock(vue.unref(Loading), {
286
290
  key: 0,
287
291
  size: "15"
288
- })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
292
+ })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
289
293
  _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
290
294
  key: 0,
291
295
  icon: _ctx.icon
@@ -302,15 +306,15 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
302
306
  ]),
303
307
  _: 3
304
308
  }, 16, ["disabled", "class", "tabindex", "onClick", "onKeydown"])), [
305
- [_directive_ripple]
309
+ [_directive_ripple, _ctx.ripple]
306
310
  ]);
307
311
  };
308
312
  }
309
313
  });
310
- const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-521354bb"]]);
311
- const _hoisted_1$M = ["dismissable"];
312
- const _hoisted_2$v = { class: "m-0" };
313
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
314
+ const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["__scopeId", "data-v-c23a3626"]]);
315
+ const _hoisted_1$N = ["dismissable"];
316
+ const _hoisted_2$x = { class: "m-0" };
317
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
314
318
  __name: "Alert",
315
319
  props: {
316
320
  message: {},
@@ -338,7 +342,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
338
342
  size: 2,
339
343
  color: color2[_ctx.type]
340
344
  }, null, 8, ["icon", "color"])) : vue.createCommentVNode("", true),
341
- vue.createElementVNode("p", _hoisted_2$v, vue.toDisplayString(_ctx.message), 1),
345
+ vue.createElementVNode("p", _hoisted_2$x, vue.toDisplayString(_ctx.message), 1),
342
346
  vue.createVNode(Btn, {
343
347
  flat: "",
344
348
  thin: "",
@@ -346,13 +350,13 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
346
350
  icon: "close",
347
351
  onClick: _cache[0] || (_cache[0] = ($event) => isDismissed.value = true)
348
352
  })
349
- ], 10, _hoisted_1$M)) : vue.createCommentVNode("", true);
353
+ ], 10, _hoisted_1$N)) : vue.createCommentVNode("", true);
350
354
  };
351
355
  }
352
356
  });
353
- const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-57141c32"]]);
354
- const _hoisted_1$L = ["src", "alt"];
355
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
357
+ const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-57141c32"]]);
358
+ const _hoisted_1$M = ["src", "alt"];
359
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
356
360
  __name: "Avatar",
357
361
  props: {
358
362
  fallback: {},
@@ -370,7 +374,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
370
374
  key: 0,
371
375
  src: _ctx.src,
372
376
  alt: _ctx.name
373
- }, null, 8, _hoisted_1$L)) : (vue.openBlock(), vue.createElementBlock("p", {
377
+ }, null, 8, _hoisted_1$M)) : (vue.openBlock(), vue.createElementBlock("p", {
374
378
  key: 1,
375
379
  style: vue.normalizeStyle({ "line-height": `${_ctx.size}px`, "font-size": `calc(1.5rem * ${_ctx.size} / 50)` })
376
380
  }, vue.toDisplayString((_ctx.fallback || vue.unref(initials)(_ctx.name || "")).toUpperCase()), 5))
@@ -378,8 +382,8 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
378
382
  };
379
383
  }
380
384
  });
381
- const Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-46ad8c25"]]);
382
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
385
+ const Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-46ad8c25"]]);
386
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
383
387
  __name: "Badge",
384
388
  props: {
385
389
  color: {},
@@ -408,11 +412,11 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
408
412
  };
409
413
  }
410
414
  });
411
- const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-2f3caf93"]]);
412
- const _hoisted_1$K = ["src"];
413
- const _hoisted_2$u = ["autoplay", "muted", "loop", "controls", "playsinline"];
414
- const _hoisted_3$o = ["src", "type"];
415
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
415
+ const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-2f3caf93"]]);
416
+ const _hoisted_1$L = ["src"];
417
+ const _hoisted_2$w = ["autoplay", "muted", "loop", "controls", "playsinline"];
418
+ const _hoisted_3$q = ["src", "type"];
419
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
416
420
  __name: "BglVideo",
417
421
  props: {
418
422
  src: {},
@@ -489,7 +493,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
489
493
  allowfullscreen: "",
490
494
  title: "Video",
491
495
  allow: "autoplay"
492
- }, null, 12, _hoisted_1$K)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
496
+ }, null, 12, _hoisted_1$L)) : _ctx.src ? (vue.openBlock(), vue.createElementBlock("video", {
493
497
  key: 1,
494
498
  ref_key: "video",
495
499
  ref: video,
@@ -503,18 +507,18 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
503
507
  vue.createElementVNode("source", {
504
508
  src: _ctx.src,
505
509
  type: `video/${videoFormat.value}`
506
- }, null, 8, _hoisted_3$o)
507
- ], 12, _hoisted_2$u)) : vue.createCommentVNode("", true)
510
+ }, null, 8, _hoisted_3$q)
511
+ ], 12, _hoisted_2$w)) : vue.createCommentVNode("", true)
508
512
  ], 2);
509
513
  };
510
514
  }
511
515
  });
512
- const BglVideo = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-006552f6"]]);
513
- const _hoisted_1$J = {
516
+ const BglVideo = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-006552f6"]]);
517
+ const _hoisted_1$K = {
514
518
  key: 0,
515
519
  class: "card_label"
516
520
  };
517
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
521
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
518
522
  __name: "Card",
519
523
  props: {
520
524
  label: {},
@@ -543,7 +547,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
543
547
  }])
544
548
  }, {
545
549
  default: vue.withCtx(() => [
546
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$J, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
550
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$K, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
547
551
  vue.renderSlot(_ctx.$slots, "default")
548
552
  ]),
549
553
  _: 3
@@ -553,13 +557,18 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
553
557
  };
554
558
  }
555
559
  });
556
- const _hoisted_1$I = ["dir"];
557
- const _hoisted_2$t = {
560
+ const _hoisted_1$J = ["dir"];
561
+ const _hoisted_2$v = {
558
562
  key: 0,
559
563
  class: "blocker"
560
564
  };
561
- const _hoisted_3$n = { class: "Handlers" };
562
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
565
+ const _hoisted_3$p = {
566
+ key: 0,
567
+ class: "dots flex-center gap-05 mt-1"
568
+ };
569
+ const _hoisted_4$h = ["onClick"];
570
+ const _hoisted_5$f = { class: "Handlers" };
571
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
563
572
  __name: "Carousel",
564
573
  props: {
565
574
  autoHeight: { type: Boolean, default: false },
@@ -569,7 +578,8 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
569
578
  index: { type: Number, default: 0 },
570
579
  rtl: { type: Boolean, default: false },
571
580
  autoplay: { type: Boolean, default: false },
572
- autoPlaySpeed: { type: Number, default: 4e3 }
581
+ autoPlaySpeed: { type: Number, default: 4e3 },
582
+ dots: { type: Boolean, default: false }
573
583
  },
574
584
  emits: ["update:index"],
575
585
  setup(__props, { emit: __emit }) {
@@ -583,11 +593,16 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
583
593
  let startX = vue.ref(0);
584
594
  let scrollStart = vue.ref(0);
585
595
  let yHeight = vue.ref("auto");
596
+ let slideCount = vue.ref(0);
586
597
  let timeout;
587
598
  let autoPlayInterval;
588
599
  function preventDefaultClick(e) {
589
600
  e.preventDefault();
590
601
  }
602
+ function countSlides() {
603
+ if (!bglSlider.value) return;
604
+ slideCount.value = bglSlider.value.children.length;
605
+ }
591
606
  function disableDrag() {
592
607
  var _a2, _b;
593
608
  (_a2 = bglSlider.value) == null ? void 0 : _a2.querySelectorAll("img").forEach((img) => {
@@ -632,7 +647,8 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
632
647
  requestAnimationFrame(animate);
633
648
  }
634
649
  function goToSlide(index2) {
635
- if (!bglSlider.value || index2 < 0 || index2 >= bglSlider.value.children.length) return;
650
+ countSlides();
651
+ if (!bglSlider.value || index2 < 0 || index2 >= slideCount.value) return;
636
652
  const offset2 = bglSlider.value.offsetWidth * index2 * (props2.rtl ? -1 : 1);
637
653
  const duration = window.innerWidth < 600 ? 400 : window.innerWidth < 991 ? 500 : 700;
638
654
  easeScroll(offset2, duration);
@@ -686,19 +702,20 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
686
702
  }
687
703
  function next() {
688
704
  if (!bglSlider.value) return;
689
- const slideCount = bglSlider.value.children.length;
690
- goToSlide((activeSlideIndex.value + 1) % slideCount);
705
+ countSlides();
706
+ goToSlide((activeSlideIndex.value + 1) % slideCount.value);
691
707
  }
692
708
  function prev() {
693
709
  if (!bglSlider.value) return;
694
- const slideCount = bglSlider.value.children.length;
695
- goToSlide((activeSlideIndex.value - 1 + slideCount) % slideCount);
710
+ countSlides();
711
+ goToSlide((activeSlideIndex.value - 1 + slideCount.value) % slideCount.value);
696
712
  }
697
713
  vue.onMounted(() => {
698
714
  window.addEventListener("resize", handleResize);
699
715
  disableDrag();
700
716
  updateHeight();
701
717
  handleResize();
718
+ countSlides();
702
719
  if (props2.autoplay) {
703
720
  autoPlayInterval = setInterval(next, props2.autoPlaySpeed);
704
721
  }
@@ -727,10 +744,19 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
727
744
  onMouseover: clearAutoplay,
728
745
  onFocusin: clearAutoplay
729
746
  }, [
730
- vue.unref(isDragging) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t)) : vue.createCommentVNode("", true),
747
+ vue.unref(isDragging) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v)) : vue.createCommentVNode("", true),
731
748
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
732
749
  ], 38),
733
- vue.createElementVNode("div", _hoisted_3$n, [
750
+ __props.dots && vue.unref(slideCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$p, [
751
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(slideCount), (i2) => {
752
+ return vue.openBlock(), vue.createElementBlock("span", {
753
+ key: i2,
754
+ class: vue.normalizeClass(["dot cursor", { current: vue.unref(activeSlideIndex) === i2 - 1 }]),
755
+ onClick: ($event) => goToSlide(i2 - 1)
756
+ }, null, 10, _hoisted_4$h);
757
+ }), 128))
758
+ ])) : vue.createCommentVNode("", true),
759
+ vue.createElementVNode("div", _hoisted_5$f, [
734
760
  vue.createElementVNode("span", { onClick: prev }, [
735
761
  vue.renderSlot(_ctx.$slots, "prev", {
736
762
  index: vue.unref(activeSlideIndex),
@@ -744,11 +770,11 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
744
770
  }, void 0, true)
745
771
  ])
746
772
  ])
747
- ], 14, _hoisted_1$I);
773
+ ], 14, _hoisted_1$J);
748
774
  };
749
775
  }
750
776
  });
751
- const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-98e36ac5"]]);
777
+ const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-eec2b184"]]);
752
778
  function _isPlaceholder(a2) {
753
779
  return a2 != null && typeof a2 === "object" && a2["@@functional/placeholder"] === true;
754
780
  }
@@ -6582,10 +6608,10 @@ const _hoisted_1$1$1 = {
6582
6608
  style: { display: "flex", position: "relative" }
6583
6609
  };
6584
6610
  const _hoisted_2$1$1 = ["width", "height", "viewBox"];
6585
- const _hoisted_3$m = { class: "layer-rectangles" };
6586
- const _hoisted_4$e = ["transform", "onMouseover"];
6587
- const _hoisted_5$d = ["width", "height"];
6588
- const _hoisted_6$a = {
6611
+ const _hoisted_3$o = { class: "layer-rectangles" };
6612
+ const _hoisted_4$g = ["transform", "onMouseover"];
6613
+ const _hoisted_5$e = ["width", "height"];
6614
+ const _hoisted_6$b = {
6589
6615
  x: 0 + 10,
6590
6616
  y: 0 + 20,
6591
6617
  "font-size": `15px`,
@@ -6600,7 +6626,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
6600
6626
  viewBox: `0 0 ${_ctx.size.width} ${_ctx.size.height}`,
6601
6627
  ref: "el"
6602
6628
  }, [
6603
- vue.createElementVNode("g", _hoisted_3$m, [
6629
+ vue.createElementVNode("g", _hoisted_3$o, [
6604
6630
  (vue.openBlock(true), vue.createElementBlock(
6605
6631
  vue.Fragment,
6606
6632
  null,
@@ -6621,21 +6647,21 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
6621
6647
  y: 0,
6622
6648
  width: r2.width,
6623
6649
  height: r2.height
6624
- }), null, 16, _hoisted_5$d),
6650
+ }), null, 16, _hoisted_5$e),
6625
6651
  vue.renderSlot(_ctx.$slots, "text", {
6626
6652
  r: r2,
6627
6653
  selected: _ctx.selected === i2
6628
6654
  }, () => [
6629
6655
  vue.createElementVNode(
6630
6656
  "text",
6631
- _hoisted_6$a,
6657
+ _hoisted_6$b,
6632
6658
  vue.toDisplayString(r2.data.name),
6633
6659
  1
6634
6660
  /* TEXT */
6635
6661
  )
6636
6662
  ])
6637
6663
  ])
6638
- ], 42, _hoisted_4$e);
6664
+ ], 42, _hoisted_4$g);
6639
6665
  }),
6640
6666
  128
6641
6667
  /* KEYED_FRAGMENT */
@@ -6692,25 +6718,25 @@ var script = vue.defineComponent({
6692
6718
  return { bar, canvas, direction, mouse };
6693
6719
  }
6694
6720
  });
6695
- const _hoisted_1$H = {
6721
+ const _hoisted_1$I = {
6696
6722
  key: 0,
6697
6723
  class: "layer-hover-bar"
6698
6724
  };
6699
- const _hoisted_2$s = ["x", "y", "width", "height"];
6725
+ const _hoisted_2$u = ["x", "y", "width", "height"];
6700
6726
  function render(_ctx, _cache, $props, $setup, $data, $options) {
6701
- return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$H, [
6727
+ return _ctx.mouse.hover ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$I, [
6702
6728
  vue.createElementVNode("rect", vue.mergeProps({ class: "hover-bar" }, _ctx.barStyle, {
6703
6729
  x: _ctx.bar.x,
6704
6730
  y: _ctx.bar.y,
6705
6731
  width: _ctx.bar.width > 0 ? _ctx.bar.width : 0,
6706
6732
  height: _ctx.bar.height > 0 ? _ctx.bar.height : 0
6707
- }), null, 16, _hoisted_2$s)
6733
+ }), null, 16, _hoisted_2$u)
6708
6734
  ])) : vue.createCommentVNode("v-if", true);
6709
6735
  }
6710
6736
  script.render = render;
6711
6737
  script.__file = "src/components/HoverBar/index.vue";
6712
6738
  const BRAND_COLOR = "var(--bgl-primary)";
6713
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
6739
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
6714
6740
  __name: "Lineart",
6715
6741
  props: {
6716
6742
  data: {},
@@ -6850,18 +6876,18 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
6850
6876
  };
6851
6877
  }
6852
6878
  });
6853
- const _hoisted_1$G = {
6879
+ const _hoisted_1$H = {
6854
6880
  key: 0,
6855
6881
  class: "data"
6856
6882
  };
6857
- const _hoisted_2$r = {
6883
+ const _hoisted_2$t = {
6858
6884
  key: 0,
6859
6885
  class: "data-row m_py-05"
6860
6886
  };
6861
- const _hoisted_3$l = { class: "key" };
6862
- const _hoisted_4$d = { class: "m-0" };
6863
- const _hoisted_5$c = { key: 1 };
6864
- const _hoisted_6$9 = {
6887
+ const _hoisted_3$n = { class: "key" };
6888
+ const _hoisted_4$f = { class: "m-0" };
6889
+ const _hoisted_5$d = { key: 1 };
6890
+ const _hoisted_6$a = {
6865
6891
  key: 0,
6866
6892
  class: "data-row"
6867
6893
  };
@@ -6871,7 +6897,7 @@ const _hoisted_9$3 = {
6871
6897
  key: 0,
6872
6898
  class: "m-0"
6873
6899
  };
6874
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
6900
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
6875
6901
  __name: "DataPreview",
6876
6902
  props: /* @__PURE__ */ vue.mergeModels({
6877
6903
  showFields: {},
@@ -6907,7 +6933,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
6907
6933
  const computedSchema = vue.computed(() => getFallbackSchema([itemData.value], props2.showFields));
6908
6934
  return (_ctx, _cache) => {
6909
6935
  var _a2;
6910
- return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
6936
+ return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
6911
6937
  _ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$3), {
6912
6938
  key: 0,
6913
6939
  label: _ctx.title
@@ -6916,11 +6942,11 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
6916
6942
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
6917
6943
  key: field.id
6918
6944
  }, [
6919
- vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, [
6920
- vue.createElementVNode("div", _hoisted_3$l, [
6921
- vue.createElementVNode("p", _hoisted_4$d, vue.toDisplayString((field == null ? void 0 : field.label) || vue.unref(keyToLabel)(field.id)), 1)
6945
+ vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, [
6946
+ vue.createElementVNode("div", _hoisted_3$n, [
6947
+ vue.createElementVNode("p", _hoisted_4$f, vue.toDisplayString((field == null ? void 0 : field.label) || vue.unref(keyToLabel)(field.id)), 1)
6922
6948
  ]),
6923
- vue.createVNode(vue.unref(_sfc_main$P), {
6949
+ vue.createVNode(vue.unref(_sfc_main$Q), {
6924
6950
  modelValue: itemData.value,
6925
6951
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => itemData.value = $event),
6926
6952
  label: "",
@@ -6930,10 +6956,10 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
6930
6956
  ])) : vue.createCommentVNode("", true)
6931
6957
  ], 64);
6932
6958
  }), 128)),
6933
- !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$c, [
6959
+ !((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
6934
6960
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, ({ id, label }) => {
6935
6961
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: id }, [
6936
- !isUnset(itemData.value[id]) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
6962
+ !isUnset(itemData.value[id]) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$a, [
6937
6963
  vue.createElementVNode("div", _hoisted_7$6, [
6938
6964
  vue.createElementVNode("p", _hoisted_8$4, vue.toDisplayString(label), 1)
6939
6965
  ]),
@@ -6949,7 +6975,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
6949
6975
  };
6950
6976
  }
6951
6977
  });
6952
- const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-6c27f163"]]);
6978
+ const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-6c27f163"]]);
6953
6979
  const sides = ["top", "right", "bottom", "left"];
6954
6980
  const alignments = ["start", "end"];
6955
6981
  const placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
@@ -9491,7 +9517,7 @@ const Gt$1 = {
9491
9517
  install: Ct$1,
9492
9518
  options: h
9493
9519
  };
9494
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
9520
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
9495
9521
  __name: "Dropdown",
9496
9522
  props: /* @__PURE__ */ vue.mergeModels({
9497
9523
  value: {},
@@ -9505,7 +9531,8 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
9505
9531
  outline: { type: Boolean },
9506
9532
  round: { type: Boolean },
9507
9533
  placement: {},
9508
- noAutoFocus: { type: Boolean }
9534
+ noAutoFocus: { type: Boolean },
9535
+ positioningDisabled: { type: Boolean }
9509
9536
  }, {
9510
9537
  "shown": {
9511
9538
  type: Boolean,
@@ -9562,7 +9589,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
9562
9589
  };
9563
9590
  }
9564
9591
  });
9565
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
9592
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
9566
9593
  __name: "Flag",
9567
9594
  props: {
9568
9595
  country: {},
@@ -9592,7 +9619,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
9592
9619
  };
9593
9620
  }
9594
9621
  });
9595
- const Flag = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-f99f1900"]]);
9622
+ const Flag = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-f99f1900"]]);
9596
9623
  const state$1 = vue.reactive(/* @__PURE__ */ new Map());
9597
9624
  function useTabs(group) {
9598
9625
  if (!state$1.has(group)) {
@@ -9606,8 +9633,8 @@ function useTabs(group) {
9606
9633
  });
9607
9634
  return { currentTab };
9608
9635
  }
9609
- const _hoisted_1$F = ["onClick"];
9610
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
9636
+ const _hoisted_1$G = ["onClick"];
9637
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
9611
9638
  __name: "TabsNav",
9612
9639
  props: {
9613
9640
  title: {},
@@ -9676,26 +9703,28 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
9676
9703
  ref: tabsWrap,
9677
9704
  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 }])
9678
9705
  }, [
9679
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props2.tabs, (tab, i2) => {
9680
- return vue.openBlock(), vue.createElementBlock("button", {
9681
- key: i2,
9682
- type: "button",
9683
- class: vue.normalizeClass([{ active: isActive(tab) }, "bgl_tab relative z-1"]),
9684
- onClick: ($event) => selectTab(tab)
9685
- }, [
9686
- typeof tab !== "string" && tab.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
9687
- key: 0,
9688
- icon: tab.icon
9689
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
9690
- vue.createTextVNode(" " + vue.toDisplayString(tabLabel(tab)), 1)
9691
- ], 10, _hoisted_1$F);
9692
- }), 128))
9706
+ vue.renderSlot(_ctx.$slots, "tabs", vue.normalizeProps(vue.guardReactiveProps({ selectTab, isActive, tabLabel, tabs: tabs.value })), () => [
9707
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props2.tabs, (tab, i2) => {
9708
+ return vue.openBlock(), vue.createElementBlock("button", {
9709
+ key: i2,
9710
+ type: "button",
9711
+ class: vue.normalizeClass([{ active: isActive(tab) }, "bgl_tab relative z-1"]),
9712
+ onClick: ($event) => selectTab(tab)
9713
+ }, [
9714
+ typeof tab !== "string" && tab.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
9715
+ key: 0,
9716
+ icon: tab.icon
9717
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
9718
+ vue.createTextVNode(" " + vue.toDisplayString(tabLabel(tab)), 1)
9719
+ ], 10, _hoisted_1$G);
9720
+ }), 128))
9721
+ ], true)
9693
9722
  ], 2);
9694
9723
  };
9695
9724
  }
9696
9725
  });
9697
- const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-dbce6d28"]]);
9698
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
9726
+ const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-307612a9"]]);
9727
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
9699
9728
  __name: "BglField",
9700
9729
  props: {
9701
9730
  field: {},
@@ -9712,15 +9741,15 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
9712
9741
  customAttrs.value.multiline = true;
9713
9742
  return TextInput;
9714
9743
  }
9715
- if (props2.field.$el === "array") return _sfc_main$M;
9744
+ if (props2.field.$el === "array") return _sfc_main$N;
9716
9745
  if (props2.field.$el === "select") return SelectInput;
9717
9746
  if (props2.field.$el === "toggle") return ToggleInput;
9718
9747
  if (props2.field.$el === "check") return CheckInput;
9719
9748
  if (props2.field.$el === "richtext") return RichText;
9720
9749
  if (props2.field.$el === "file") return FileUpload;
9721
- if (props2.field.$el === "date") return _sfc_main$H;
9750
+ if (props2.field.$el === "date") return _sfc_main$I;
9722
9751
  if (props2.field.$el === "tabs") return TabsNav;
9723
- if (props2.field.$el === "form") return _sfc_main$O;
9752
+ if (props2.field.$el === "form") return _sfc_main$P;
9724
9753
  return props2.field.$el ?? "div";
9725
9754
  });
9726
9755
  const formData = vue.computed({
@@ -9743,7 +9772,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
9743
9772
  temp[keys4[keys4.length - 1]] = val;
9744
9773
  return data2;
9745
9774
  }
9746
- const isForm = vue.computed(() => props2.field.$el === "form" || props2.field.$el === _sfc_main$O);
9775
+ const isForm = vue.computed(() => props2.field.$el === "form" || props2.field.$el === _sfc_main$P);
9747
9776
  function getFieldData(obj, key) {
9748
9777
  if (typeof obj !== "object" || obj === null) return obj;
9749
9778
  const keys4 = key.split(objPathRegex);
@@ -9837,7 +9866,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
9837
9866
  };
9838
9867
  }
9839
9868
  });
9840
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9869
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
9841
9870
  __name: "BglForm",
9842
9871
  props: {
9843
9872
  label: {},
@@ -9935,7 +9964,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9935
9964
  label: _ctx.label
9936
9965
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
9937
9966
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, (field, i2) => {
9938
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$P), {
9967
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
9939
9968
  key: field.id || `${i2}p`,
9940
9969
  modelValue: vue.unref(data2),
9941
9970
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(data2) ? data2.value = $event : data2 = $event),
@@ -9959,7 +9988,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9959
9988
  label: _ctx.label
9960
9989
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
9961
9990
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, (field, i2) => {
9962
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$P), {
9991
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
9963
9992
  key: field.id || `${i2}p`,
9964
9993
  modelValue: vue.unref(data2),
9965
9994
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(data2) ? data2.value = $event : data2 = $event),
@@ -9978,8 +10007,8 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9978
10007
  };
9979
10008
  }
9980
10009
  });
9981
- const _hoisted_1$E = { key: 0 };
9982
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
10010
+ const _hoisted_1$F = { key: 0 };
10011
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
9983
10012
  __name: "BglMultiStepForm",
9984
10013
  props: /* @__PURE__ */ vue.mergeModels({
9985
10014
  bagelFormProps: { default: () => ({}) },
@@ -10046,8 +10075,8 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
10046
10075
  mode: "out-in"
10047
10076
  }, {
10048
10077
  default: vue.withCtx(() => [
10049
- !vue.unref(isStepping) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
10050
- vue.createVNode(vue.unref(_sfc_main$O), vue.mergeProps({
10078
+ !vue.unref(isStepping) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
10079
+ vue.createVNode(vue.unref(_sfc_main$P), vue.mergeProps({
10051
10080
  ref_key: "formRef",
10052
10081
  ref: formRef,
10053
10082
  modelValue: formData.value,
@@ -10086,9 +10115,9 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
10086
10115
  };
10087
10116
  }
10088
10117
  });
10089
- const _hoisted_1$D = { class: "label mb-05" };
10090
- const _hoisted_2$q = { class: "ps-05 border-start" };
10091
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
10118
+ const _hoisted_1$E = { class: "label mb-05" };
10119
+ const _hoisted_2$s = { class: "-ms-05 ps-05 border-start" };
10120
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
10092
10121
  __name: "FieldArray",
10093
10122
  props: {
10094
10123
  el: { default: "div" },
@@ -10126,8 +10155,8 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
10126
10155
  }
10127
10156
  return (_ctx, _cache) => {
10128
10157
  return vue.openBlock(), vue.createElementBlock("div", null, [
10129
- vue.createElementVNode("p", _hoisted_1$D, vue.toDisplayString(_ctx.label), 1),
10130
- vue.createElementVNode("div", _hoisted_2$q, [
10158
+ vue.createElementVNode("p", _hoisted_1$E, vue.toDisplayString(_ctx.label), 1),
10159
+ vue.createElementVNode("div", _hoisted_2$s, [
10131
10160
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data2.value, (_2, i2) => {
10132
10161
  return vue.openBlock(), vue.createElementBlock("div", {
10133
10162
  key: i2,
@@ -10135,7 +10164,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
10135
10164
  thin: "",
10136
10165
  class: "mb-05 itemBox transition p-05"
10137
10166
  }, [
10138
- _ctx.schema ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$O), {
10167
+ _ctx.schema ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$P), {
10139
10168
  key: 0,
10140
10169
  modelValue: data2.value[i2],
10141
10170
  "onUpdate:modelValue": [($event) => data2.value[i2] = $event, emitValue],
@@ -10170,8 +10199,8 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
10170
10199
  };
10171
10200
  }
10172
10201
  });
10173
- const _hoisted_1$C = { class: "primary-checkbox" };
10174
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
10202
+ const _hoisted_1$D = { class: "primary-checkbox" };
10203
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
10175
10204
  __name: "Checkbox",
10176
10205
  props: {
10177
10206
  "modelValue": { type: Boolean, ...{ default: false } },
@@ -10181,7 +10210,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
10181
10210
  setup(__props) {
10182
10211
  const val = vue.useModel(__props, "modelValue");
10183
10212
  return (_ctx, _cache) => {
10184
- return vue.openBlock(), vue.createElementBlock("label", _hoisted_1$C, [
10213
+ return vue.openBlock(), vue.createElementBlock("label", _hoisted_1$D, [
10185
10214
  vue.renderSlot(_ctx.$slots, "label", {}, void 0, true),
10186
10215
  vue.withDirectives(vue.createElementVNode("input", {
10187
10216
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => val.value = $event),
@@ -10193,11 +10222,11 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
10193
10222
  };
10194
10223
  }
10195
10224
  });
10196
- const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-73f1d9ad"]]);
10197
- const _hoisted_1$B = ["title"];
10198
- const _hoisted_2$p = ["id", "value", "required"];
10199
- const _hoisted_3$k = ["for"];
10200
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
10225
+ const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-73f1d9ad"]]);
10226
+ const _hoisted_1$C = ["title"];
10227
+ const _hoisted_2$r = ["id", "value", "required"];
10228
+ const _hoisted_3$m = ["for"];
10229
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
10201
10230
  __name: "CheckInput",
10202
10231
  props: /* @__PURE__ */ vue.mergeModels({
10203
10232
  label: {},
@@ -10231,27 +10260,27 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
10231
10260
  required: _ctx.required,
10232
10261
  type: "checkbox",
10233
10262
  class: "me-05"
10234
- }, null, 8, _hoisted_2$p), [
10263
+ }, null, 8, _hoisted_2$r), [
10235
10264
  [vue.vModelCheckbox, checked.value]
10236
10265
  ]),
10237
10266
  vue.createElementVNode("label", { for: inputId.value }, [
10238
10267
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
10239
10268
  vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
10240
10269
  ], true)
10241
- ], 8, _hoisted_3$k)
10242
- ], 10, _hoisted_1$B);
10270
+ ], 8, _hoisted_3$m)
10271
+ ], 10, _hoisted_1$C);
10243
10272
  };
10244
10273
  }
10245
10274
  });
10246
- const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-03ed2982"]]);
10247
- const _hoisted_1$A = {
10275
+ const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-03ed2982"]]);
10276
+ const _hoisted_1$B = {
10248
10277
  key: 0,
10249
10278
  class: "code-editor-wrap grid rounded p-1 overflow hm-300px"
10250
10279
  };
10251
- const _hoisted_2$o = { class: "overflow-hidden absolute inset-0 p-0 m-0 h-100 codeText" };
10252
- const _hoisted_3$j = ["innerHTML"];
10253
- const _hoisted_4$c = ["onKeydown"];
10254
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
10280
+ const _hoisted_2$q = { class: "overflow-hidden absolute inset-0 p-0 m-0 h-100 codeText" };
10281
+ const _hoisted_3$l = ["innerHTML"];
10282
+ const _hoisted_4$e = ["onKeydown"];
10283
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
10255
10284
  __name: "Index",
10256
10285
  props: {
10257
10286
  language: {},
@@ -10331,17 +10360,17 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
10331
10360
  }
10332
10361
  }, { immediate: true });
10333
10362
  return (_ctx, _cache) => {
10334
- return vue.unref(loaded) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
10363
+ return vue.unref(loaded) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
10335
10364
  vue.createElementVNode("div", {
10336
10365
  class: "relative block h-100",
10337
10366
  style: vue.normalizeStyle({ height: vue.unref(height) })
10338
10367
  }, [
10339
- vue.createElementVNode("pre", _hoisted_2$o, [
10368
+ vue.createElementVNode("pre", _hoisted_2$q, [
10340
10369
  _cache[2] || (_cache[2] = vue.createTextVNode(" ")),
10341
10370
  vue.createElementVNode("code", {
10342
10371
  class: vue.normalizeClass(className.value),
10343
10372
  innerHTML: highlightedCode.value
10344
- }, null, 10, _hoisted_3$j),
10373
+ }, null, 10, _hoisted_3$l),
10345
10374
  _cache[3] || (_cache[3] = vue.createTextVNode("\n "))
10346
10375
  ]),
10347
10376
  !_ctx.readonly ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("textarea", {
@@ -10356,7 +10385,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
10356
10385
  "data-gramm": "false",
10357
10386
  onKeydown: vue.withKeys(vue.withModifiers(handleTab, ["prevent"]), ["tab"]),
10358
10387
  onInput: _cache[1] || (_cache[1] = ($event) => emit2("update:modelValue", vue.unref(code)))
10359
- }, null, 40, _hoisted_4$c)), [
10388
+ }, null, 40, _hoisted_4$e)), [
10360
10389
  [vue.vModelText, vue.unref(code)]
10361
10390
  ]) : vue.createCommentVNode("", true)
10362
10391
  ], 4)
@@ -10364,10 +10393,10 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
10364
10393
  };
10365
10394
  }
10366
10395
  });
10367
- const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-4f1dc18a"]]);
10368
- const _hoisted_1$z = ["title"];
10369
- const _hoisted_2$n = ["id", "placeholder", "required"];
10370
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
10396
+ const CodeEditor = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-4f1dc18a"]]);
10397
+ const _hoisted_1$A = ["title"];
10398
+ const _hoisted_2$p = ["id", "placeholder", "required"];
10399
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
10371
10400
  __name: "ColorPicker",
10372
10401
  props: {
10373
10402
  label: {},
@@ -10405,11 +10434,11 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
10405
10434
  placeholder: _ctx.placeholder || _ctx.label,
10406
10435
  class: { "no-edit": !_ctx.editMode },
10407
10436
  required: _ctx.required
10408
- }, _ctx.nativeInputAttrs), null, 16, _hoisted_2$n), [
10437
+ }, _ctx.nativeInputAttrs), null, 16, _hoisted_2$p), [
10409
10438
  [vue.vModelText, inputVal.value]
10410
10439
  ])
10411
10440
  ])
10412
- ], 10, _hoisted_1$z)) : vue.createCommentVNode("", true);
10441
+ ], 10, _hoisted_1$A)) : vue.createCommentVNode("", true);
10413
10442
  };
10414
10443
  }
10415
10444
  });
@@ -11007,9 +11036,9 @@ function buildMatchFn(args) {
11007
11036
  }
11008
11037
  const matchedString = matchResult[0];
11009
11038
  const parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
11010
- const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) : (
11039
+ const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern2) => pattern2.test(matchedString)) : (
11011
11040
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
11012
- findKey$1(parsePatterns, (pattern) => pattern.test(matchedString))
11041
+ findKey$1(parsePatterns, (pattern2) => pattern2.test(matchedString))
11013
11042
  );
11014
11043
  let value;
11015
11044
  value = args.valueCallback ? args.valueCallback(key) : key;
@@ -11936,8 +11965,8 @@ function formatTimezone(offset2, delimiter = "") {
11936
11965
  const minutes = addLeadingZeros(absOffset % 60, 2);
11937
11966
  return sign2 + hours + delimiter + minutes;
11938
11967
  }
11939
- const dateLongFormatter = (pattern, formatLong2) => {
11940
- switch (pattern) {
11968
+ const dateLongFormatter = (pattern2, formatLong2) => {
11969
+ switch (pattern2) {
11941
11970
  case "P":
11942
11971
  return formatLong2.date({ width: "short" });
11943
11972
  case "PP":
@@ -11949,8 +11978,8 @@ const dateLongFormatter = (pattern, formatLong2) => {
11949
11978
  return formatLong2.date({ width: "full" });
11950
11979
  }
11951
11980
  };
11952
- const timeLongFormatter = (pattern, formatLong2) => {
11953
- switch (pattern) {
11981
+ const timeLongFormatter = (pattern2, formatLong2) => {
11982
+ switch (pattern2) {
11954
11983
  case "p":
11955
11984
  return formatLong2.time({ width: "short" });
11956
11985
  case "pp":
@@ -11962,12 +11991,12 @@ const timeLongFormatter = (pattern, formatLong2) => {
11962
11991
  return formatLong2.time({ width: "full" });
11963
11992
  }
11964
11993
  };
11965
- const dateTimeLongFormatter = (pattern, formatLong2) => {
11966
- const matchResult = pattern.match(/(P+)(p+)?/) || [];
11994
+ const dateTimeLongFormatter = (pattern2, formatLong2) => {
11995
+ const matchResult = pattern2.match(/(P+)(p+)?/) || [];
11967
11996
  const datePattern = matchResult[1];
11968
11997
  const timePattern = matchResult[2];
11969
11998
  if (!timePattern) {
11970
- return dateLongFormatter(pattern, formatLong2);
11999
+ return dateLongFormatter(pattern2, formatLong2);
11971
12000
  }
11972
12001
  let dateTimeFormat;
11973
12002
  switch (datePattern) {
@@ -12295,8 +12324,8 @@ function mapValue(parseFnResult, mapFn) {
12295
12324
  rest: parseFnResult.rest
12296
12325
  };
12297
12326
  }
12298
- function parseNumericPattern(pattern, dateString) {
12299
- const matchResult = dateString.match(pattern);
12327
+ function parseNumericPattern(pattern2, dateString) {
12328
+ const matchResult = dateString.match(pattern2);
12300
12329
  if (!matchResult) {
12301
12330
  return null;
12302
12331
  }
@@ -12305,8 +12334,8 @@ function parseNumericPattern(pattern, dateString) {
12305
12334
  rest: dateString.slice(matchResult[0].length)
12306
12335
  };
12307
12336
  }
12308
- function parseTimezonePattern(pattern, dateString) {
12309
- const matchResult = dateString.match(pattern);
12337
+ function parseTimezonePattern(pattern2, dateString) {
12338
+ const matchResult = dateString.match(pattern2);
12310
12339
  if (!matchResult) {
12311
12340
  return null;
12312
12341
  }
@@ -18967,9 +18996,9 @@ const eo = ({
18967
18996
  Object.entries(go).forEach(([e, t]) => {
18968
18997
  e !== "default" && (Hn[e] = t);
18969
18998
  });
18970
- const _hoisted_1$y = ["title"];
18971
- const _hoisted_2$m = { key: 0 };
18972
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
18999
+ const _hoisted_1$z = ["title"];
19000
+ const _hoisted_2$o = { key: 0 };
19001
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
18973
19002
  __name: "DateInput",
18974
19003
  props: {
18975
19004
  required: { type: Boolean },
@@ -19011,7 +19040,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
19011
19040
  class: vue.normalizeClass(["bagel-input", { small: _ctx.small }]),
19012
19041
  title: _ctx.label
19013
19042
  }, [
19014
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$m, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
19043
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$o, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
19015
19044
  vue.createVNode(vue.unref(Hn), vue.mergeProps({
19016
19045
  ref_key: "datePicker",
19017
19046
  ref: datePicker,
@@ -19027,19 +19056,19 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
19027
19056
  "minutes-grid-increment": _ctx.minutesGridIncrement,
19028
19057
  "start-time": { hours: 8, minutes: 0 }
19029
19058
  }), null, 16, ["modelValue", "required", "enable-time-picker", "allowed-dates", "time-picker-inline", "minutes-increment", "minutes-grid-increment"])
19030
- ], 10, _hoisted_1$y);
19059
+ ], 10, _hoisted_1$z);
19031
19060
  };
19032
19061
  }
19033
19062
  });
19034
- const _hoisted_1$x = { class: "datetime-wrap" };
19035
- const _hoisted_2$l = { class: "date-wrap" };
19036
- const _hoisted_3$i = {
19063
+ const _hoisted_1$y = { class: "datetime-wrap" };
19064
+ const _hoisted_2$n = { class: "date-wrap" };
19065
+ const _hoisted_3$k = {
19037
19066
  key: 0,
19038
19067
  class: "time-wrap"
19039
19068
  };
19040
- const _hoisted_4$b = ["id", "name", "value"];
19041
- const _hoisted_5$b = ["for"];
19042
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19069
+ const _hoisted_4$d = ["id", "name", "value"];
19070
+ const _hoisted_5$c = ["for"];
19071
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
19043
19072
  __name: "DatePicker",
19044
19073
  props: {
19045
19074
  label: {},
@@ -19067,8 +19096,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19067
19096
  return `${hour}:${minute}`;
19068
19097
  });
19069
19098
  return (_ctx, _cache) => {
19070
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
19071
- vue.createElementVNode("div", _hoisted_2$l, [
19099
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
19100
+ vue.createElementVNode("div", _hoisted_2$n, [
19072
19101
  vue.createVNode(vue.unref(Hn), vue.mergeProps({
19073
19102
  modelValue: selectedDate.value,
19074
19103
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedDate.value = $event),
@@ -19086,7 +19115,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19086
19115
  _: 1
19087
19116
  }, 16, ["modelValue", "allowed-dates", "disabled-dates"])
19088
19117
  ]),
19089
- _ctx.showTimeWrap ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$i, [
19118
+ _ctx.showTimeWrap ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k, [
19090
19119
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(hours), (hr2) => {
19091
19120
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: hr2 }, [
19092
19121
  vue.withDirectives(vue.createElementVNode("input", {
@@ -19095,12 +19124,12 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19095
19124
  type: "radio",
19096
19125
  name: _ctx.label,
19097
19126
  value: hr2
19098
- }, null, 8, _hoisted_4$b), [
19127
+ }, null, 8, _hoisted_4$d), [
19099
19128
  [vue.vModelRadio, selectedHour.value]
19100
19129
  ]),
19101
19130
  vue.createElementVNode("label", {
19102
19131
  for: `${hr2}_${_ctx.id}`
19103
- }, vue.toDisplayString(hr2), 9, _hoisted_5$b)
19132
+ }, vue.toDisplayString(hr2), 9, _hoisted_5$c)
19104
19133
  ], 64);
19105
19134
  }), 128))
19106
19135
  ])) : vue.createCommentVNode("", true)
@@ -19108,14 +19137,17 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19108
19137
  };
19109
19138
  }
19110
19139
  });
19111
- const _hoisted_1$w = ["src", "alt", "width", "height"];
19112
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
19140
+ const _hoisted_1$x = { key: 0 };
19141
+ const _hoisted_2$m = ["src", "alt", "width", "height"];
19142
+ const _hoisted_3$j = ["src", "alt", "width", "height"];
19143
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
19113
19144
  __name: "Image",
19114
19145
  props: {
19115
19146
  src: {},
19116
19147
  alt: { default: "" },
19117
19148
  width: {},
19118
- height: {}
19149
+ height: {},
19150
+ caption: {}
19119
19151
  },
19120
19152
  setup(__props) {
19121
19153
  let imageSrc = vue.ref(null);
@@ -19165,15 +19197,29 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
19165
19197
  }
19166
19198
  vue.watch(() => __props.src, loadImage, { immediate: true });
19167
19199
  return (_ctx, _cache) => {
19168
- return vue.unref(imageSrc) ? (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
19169
- key: 0,
19200
+ return _ctx.caption ? (vue.openBlock(), vue.createElementBlock("figcaption", _hoisted_1$x, [
19201
+ vue.unref(imageSrc) ? (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
19202
+ key: 0,
19203
+ src: vue.unref(imageSrc)
19204
+ }, _ctx.$attrs, {
19205
+ alt: _ctx.alt,
19206
+ width: vue.unref(normalizeDimension)(_ctx.width),
19207
+ height: vue.unref(normalizeDimension)(_ctx.height)
19208
+ }), null, 16, _hoisted_2$m)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
19209
+ key: 1,
19210
+ class: "img-web-kit",
19211
+ width: vue.unref(normalizeDimension)(_ctx.width),
19212
+ height: vue.unref(normalizeDimension)(_ctx.height)
19213
+ }, null, 8, ["width", "height"]))
19214
+ ])) : vue.unref(imageSrc) ? (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
19215
+ key: 1,
19170
19216
  src: vue.unref(imageSrc)
19171
19217
  }, _ctx.$attrs, {
19172
19218
  alt: _ctx.alt,
19173
19219
  width: vue.unref(normalizeDimension)(_ctx.width),
19174
19220
  height: vue.unref(normalizeDimension)(_ctx.height)
19175
- }), null, 16, _hoisted_1$w)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
19176
- key: 1,
19221
+ }), null, 16, _hoisted_3$j)) : (vue.openBlock(), vue.createBlock(vue.unref(Skeleton), {
19222
+ key: 2,
19177
19223
  class: "img-web-kit",
19178
19224
  width: vue.unref(normalizeDimension)(_ctx.width),
19179
19225
  height: vue.unref(normalizeDimension)(_ctx.height)
@@ -19181,22 +19227,22 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
19181
19227
  };
19182
19228
  }
19183
19229
  });
19184
- const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-a96b25a8"]]);
19185
- const _hoisted_1$v = { class: "bagel-input" };
19186
- const _hoisted_2$k = {
19230
+ const Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-e7144f6e"]]);
19231
+ const _hoisted_1$w = { class: "bagel-input" };
19232
+ const _hoisted_2$l = {
19187
19233
  key: 0,
19188
19234
  placeholder: "required",
19189
19235
  type: "text",
19190
19236
  required: "",
19191
19237
  class: "pixel"
19192
19238
  };
19193
- const _hoisted_3$h = { class: "m-05 flex opacity-7 z-99" };
19194
- const _hoisted_4$a = { class: "ellipsis-1 word-break-all h-20 m-0" };
19195
- const _hoisted_5$a = {
19239
+ const _hoisted_3$i = { class: "m-05 flex opacity-7 z-99" };
19240
+ const _hoisted_4$c = { class: "ellipsis-1 word-break-all h-20 m-0" };
19241
+ const _hoisted_5$b = {
19196
19242
  key: 1,
19197
19243
  class: "txt-gray txt-12"
19198
19244
  };
19199
- const _hoisted_6$8 = {
19245
+ const _hoisted_6$9 = {
19200
19246
  key: 0,
19201
19247
  class: "bgl-multi-preview"
19202
19248
  };
@@ -19220,7 +19266,7 @@ const _hoisted_13$1 = {
19220
19266
  class: "progress"
19221
19267
  };
19222
19268
  const _hoisted_14 = { class: "p-1 flex column hover fileUploadPlaceHolder justify-content-center mb-05" };
19223
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19269
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
19224
19270
  __name: "FileUpload",
19225
19271
  props: /* @__PURE__ */ vue.mergeModels({
19226
19272
  label: {},
@@ -19394,10 +19440,10 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19394
19440
  return (_ctx, _cache) => {
19395
19441
  const _directive_tooltip = vue.resolveDirective("tooltip");
19396
19442
  const _directive_lightbox = vue.resolveDirective("lightbox");
19397
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
19443
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
19398
19444
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
19399
- _ctx.required && !storageFiles.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$k)) : vue.createCommentVNode("", true),
19400
- _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$W), {
19445
+ _ctx.required && !storageFiles.value.length ? (vue.openBlock(), vue.createElementBlock("input", _hoisted_2$l)) : vue.createCommentVNode("", true),
19446
+ _ctx.theme === "basic" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$X), {
19401
19447
  key: 1,
19402
19448
  outline: "",
19403
19449
  class: "flex p-05 gap-1",
@@ -19422,7 +19468,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19422
19468
  key: file.id,
19423
19469
  class: "txt-gray txt-12 flex"
19424
19470
  }, [
19425
- vue.createElementVNode("div", _hoisted_3$h, [
19471
+ vue.createElementVNode("div", _hoisted_3$i, [
19426
19472
  vue.withDirectives(vue.createVNode(vue.unref(Btn), {
19427
19473
  color: "gray",
19428
19474
  thin: "",
@@ -19451,7 +19497,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19451
19497
  }, null, 8, ["href", "download"]), [
19452
19498
  [_directive_tooltip, "Download"]
19453
19499
  ]),
19454
- vue.withDirectives((vue.openBlock(), vue.createElementBlock("p", _hoisted_4$a, [
19500
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("p", _hoisted_4$c, [
19455
19501
  vue.createTextVNode(vue.toDisplayString(file.name), 1)
19456
19502
  ])), [
19457
19503
  [_directive_lightbox, { src: file.url, download: true }]
@@ -19466,7 +19512,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19466
19512
  ])
19467
19513
  ]);
19468
19514
  }), 128)),
19469
- !storageFiles.value.length && !fileQueue.value.length ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$a, " No file selected ")) : vue.createCommentVNode("", true)
19515
+ !storageFiles.value.length && !fileQueue.value.length ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$b, " No file selected ")) : vue.createCommentVNode("", true)
19470
19516
  ]),
19471
19517
  _: 1
19472
19518
  })) : (vue.openBlock(), vue.createElementBlock("div", {
@@ -19486,7 +19532,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19486
19532
  files: storageFiles.value,
19487
19533
  fileQueue: fileQueue.value
19488
19534
  }, () => [
19489
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$8, [
19535
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
19490
19536
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
19491
19537
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
19492
19538
  key: file.id,
@@ -19642,11 +19688,11 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19642
19688
  };
19643
19689
  }
19644
19690
  });
19645
- const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-6bfdaea2"]]);
19646
- const _hoisted_1$u = ["title"];
19647
- const _hoisted_2$j = { key: 0 };
19648
- const _hoisted_3$g = ["value", "placeholder"];
19649
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19691
+ const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-6bfdaea2"]]);
19692
+ const _hoisted_1$v = ["title"];
19693
+ const _hoisted_2$k = { key: 0 };
19694
+ const _hoisted_3$h = ["value", "placeholder"];
19695
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
19650
19696
  __name: "JSONInput",
19651
19697
  props: {
19652
19698
  description: { default: "" },
@@ -19669,7 +19715,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19669
19715
  class: vue.normalizeClass(["bagel-input", { small: _ctx.small }]),
19670
19716
  title: _ctx.description
19671
19717
  }, [
19672
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$j, [
19718
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$k, [
19673
19719
  vue.createVNode(_component_LangText, { input: _ctx.label }, null, 8, ["input"])
19674
19720
  ])) : vue.createCommentVNode("", true),
19675
19721
  vue.createElementVNode("textarea", {
@@ -19677,12 +19723,164 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19677
19723
  class: vue.normalizeClass({ "no-edit": !_ctx.editMode }),
19678
19724
  placeholder: _ctx.placeholder,
19679
19725
  onInput: handleInput
19680
- }, null, 42, _hoisted_3$g)
19681
- ], 10, _hoisted_1$u);
19726
+ }, null, 42, _hoisted_3$h)
19727
+ ], 10, _hoisted_1$v);
19682
19728
  };
19683
19729
  }
19684
19730
  });
19685
- const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-1cbaeab2"]]);
19731
+ const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-1cbaeab2"]]);
19732
+ const _hoisted_1$u = ["for"];
19733
+ const _hoisted_2$j = ["id", "placeholder", "disabled", "required", "readonly", "onKeydown"];
19734
+ const _hoisted_3$g = { key: 1 };
19735
+ const _hoisted_4$b = {
19736
+ key: 5,
19737
+ class: "flex column spinner"
19738
+ };
19739
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
19740
+ __name: "NumberInput",
19741
+ props: {
19742
+ modelValue: {},
19743
+ min: {},
19744
+ max: {},
19745
+ step: { default: 1 },
19746
+ spinner: { type: Boolean, default: true },
19747
+ iconStart: {},
19748
+ icon: {},
19749
+ label: {},
19750
+ placeholder: {},
19751
+ disabled: { type: Boolean },
19752
+ required: { type: Boolean },
19753
+ id: {},
19754
+ helptext: {},
19755
+ layout: {},
19756
+ center: { type: Boolean }
19757
+ },
19758
+ emits: ["update:modelValue"],
19759
+ setup(__props, { emit: __emit }) {
19760
+ const emit2 = __emit;
19761
+ let numberValue = vue.ref(0);
19762
+ const btnLayouts = ["horizontal", "vertical"];
19763
+ function increment() {
19764
+ if (!__props.max || numberValue.value + __props.step <= __props.max) {
19765
+ numberValue.value = (numberValue.value || 0) + __props.step;
19766
+ emit2("update:modelValue", numberValue.value);
19767
+ }
19768
+ }
19769
+ function decrement() {
19770
+ if (!__props.min || numberValue.value - __props.step >= __props.min) {
19771
+ numberValue.value = (numberValue.value || 0) - __props.step;
19772
+ emit2("update:modelValue", numberValue.value);
19773
+ }
19774
+ }
19775
+ function formatNumber2(num) {
19776
+ return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
19777
+ }
19778
+ let formattedValue = vue.ref("");
19779
+ function inputHandler() {
19780
+ const numeric = formattedValue.value.replace(/[^\d.-]/g, "");
19781
+ if (numeric === "" || numeric === "-" || numeric === "." || numeric === "-." || numeric.endsWith(".")) return;
19782
+ numberValue.value = Number.parseFloat(numeric);
19783
+ formattedValue.value = formatNumber2(numberValue.value);
19784
+ emit2("update:modelValue", numberValue.value);
19785
+ }
19786
+ vue.watch(() => numberValue.value, () => {
19787
+ formattedValue.value = formatNumber2(numberValue.value);
19788
+ }, { immediate: true });
19789
+ vue.watch(() => __props.modelValue, (newVal) => {
19790
+ if (newVal !== numberValue.value) {
19791
+ numberValue.value = newVal;
19792
+ }
19793
+ }, { immediate: true });
19794
+ return (_ctx, _cache) => {
19795
+ const _directive_pattern = vue.resolveDirective("pattern");
19796
+ return vue.openBlock(), vue.createElementBlock("div", {
19797
+ class: vue.normalizeClass(["bagel-input num-input", {
19798
+ textInputSpinnerWrap: _ctx.icon || _ctx.spinner,
19799
+ txtInputIconStart: _ctx.iconStart
19800
+ }])
19801
+ }, [
19802
+ vue.createElementVNode("label", { for: _ctx.id }, [
19803
+ vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
19804
+ vue.createElementVNode("div", {
19805
+ class: vue.normalizeClass(["gap-025", { "column flex": _ctx.layout === "vertical", "flex": _ctx.layout === "horizontal" }])
19806
+ }, [
19807
+ _ctx.layout && btnLayouts.includes(_ctx.layout) ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
19808
+ key: 0,
19809
+ icon: "add",
19810
+ class: vue.normalizeClass(["radius", [{ "bgl-big-ctrl-num-btn": _ctx.layout === "vertical" }]]),
19811
+ onClick: increment
19812
+ }, null, 8, ["class"])) : vue.createCommentVNode("", true),
19813
+ vue.withDirectives(vue.createElementVNode("input", {
19814
+ id: _ctx.id,
19815
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(formattedValue) ? formattedValue.value = $event : formattedValue = $event),
19816
+ type: "text",
19817
+ class: vue.normalizeClass({ "txt-center": _ctx.center, "min0": _ctx.layout }),
19818
+ placeholder: _ctx.placeholder || _ctx.label,
19819
+ disabled: _ctx.disabled,
19820
+ required: _ctx.required,
19821
+ readonly: _ctx.disabled,
19822
+ inputmode: "numeric",
19823
+ autocomplete: "off",
19824
+ autocorrect: "off",
19825
+ spellcheck: "false",
19826
+ onInput: inputHandler,
19827
+ onKeydown: [
19828
+ vue.withKeys(vue.withModifiers(increment, ["prevent"]), ["up"]),
19829
+ vue.withKeys(vue.withModifiers(decrement, ["prevent"]), ["down"])
19830
+ ]
19831
+ }, null, 42, _hoisted_2$j), [
19832
+ [
19833
+ vue.vModelText,
19834
+ vue.unref(formattedValue),
19835
+ void 0,
19836
+ { trim: true }
19837
+ ],
19838
+ [
19839
+ _directive_pattern,
19840
+ void 0,
19841
+ void 0,
19842
+ { number: true }
19843
+ ]
19844
+ ]),
19845
+ _ctx.helptext ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$g, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true),
19846
+ _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
19847
+ key: 2,
19848
+ class: "iconStart",
19849
+ icon: _ctx.iconStart
19850
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
19851
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$c), {
19852
+ key: 3,
19853
+ icon: _ctx.icon
19854
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
19855
+ _ctx.layout && btnLayouts.includes(_ctx.layout) ? (vue.openBlock(), vue.createBlock(vue.unref(Btn), {
19856
+ key: 4,
19857
+ icon: "remove",
19858
+ class: vue.normalizeClass(["radius", [{ "bgl-big-ctrl-num-btn": _ctx.layout === "vertical" }]]),
19859
+ onClick: decrement
19860
+ }, null, 8, ["class"])) : vue.createCommentVNode("", true),
19861
+ _ctx.spinner && (!_ctx.layout || !btnLayouts.includes(_ctx.layout)) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
19862
+ vue.createVNode(vue.unref(Btn), {
19863
+ icon: "add",
19864
+ flat: "",
19865
+ thin: "",
19866
+ class: "bgl-ctrl-num-btn",
19867
+ onClick: increment
19868
+ }),
19869
+ vue.createVNode(vue.unref(Btn), {
19870
+ icon: "remove",
19871
+ flat: "",
19872
+ thin: "",
19873
+ class: "bgl-ctrl-num-btn",
19874
+ onClick: decrement
19875
+ })
19876
+ ])) : vue.createCommentVNode("", true)
19877
+ ], 2)
19878
+ ], 8, _hoisted_1$u)
19879
+ ], 2);
19880
+ };
19881
+ }
19882
+ });
19883
+ const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-7b056cf2"]]);
19686
19884
  const _hoisted_1$t = ["value", "autofocus", "onKeydown", "onPaste"];
19687
19885
  const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
19688
19886
  __name: "OTP",
@@ -19855,9 +20053,9 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
19855
20053
  const _hoisted_1$s = ["for"];
19856
20054
  const _hoisted_2$i = ["id", "name", "value"];
19857
20055
  const _hoisted_3$f = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
19858
- const _hoisted_4$9 = ["src", "alt"];
19859
- const _hoisted_5$9 = { class: "" };
19860
- const _hoisted_6$7 = {
20056
+ const _hoisted_4$a = ["src", "alt"];
20057
+ const _hoisted_5$a = { class: "" };
20058
+ const _hoisted_6$8 = {
19861
20059
  key: 0,
19862
20060
  class: "m-0 m_txt-14"
19863
20061
  };
@@ -19903,9 +20101,9 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
19903
20101
  width: "60",
19904
20102
  src: opt.imgSrc,
19905
20103
  alt: opt.imgAlt
19906
- }, null, 8, _hoisted_4$9)) : vue.createCommentVNode("", true),
19907
- vue.createElementVNode("div", _hoisted_5$9, [
19908
- opt.label ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$7, vue.toDisplayString(opt.label), 1)) : vue.createCommentVNode("", true),
20104
+ }, null, 8, _hoisted_4$a)) : vue.createCommentVNode("", true),
20105
+ vue.createElementVNode("div", _hoisted_5$a, [
20106
+ opt.label ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$8, vue.toDisplayString(opt.label), 1)) : vue.createCommentVNode("", true),
19909
20107
  opt.subLabel ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$4, vue.toDisplayString(opt.subLabel), 1)) : vue.createCommentVNode("", true)
19910
20108
  ]),
19911
20109
  vue.renderSlot(_ctx.$slots, "radioItem", vue.mergeProps({ ref_for: true }, opt), void 0, true)
@@ -19928,8 +20126,8 @@ const RadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data
19928
20126
  const _hoisted_1$r = { class: "bagel-input" };
19929
20127
  const _hoisted_2$h = { class: "pb-025" };
19930
20128
  const _hoisted_3$e = { class: "flex gap-05 flex-wrap" };
19931
- const _hoisted_4$8 = ["id", "name", "value", "checked"];
19932
- const _hoisted_5$8 = ["for"];
20129
+ const _hoisted_4$9 = ["id", "name", "value", "checked"];
20130
+ const _hoisted_5$9 = ["for"];
19933
20131
  const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19934
20132
  __name: "RadioPillsInput",
19935
20133
  props: {
@@ -19986,10 +20184,10 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19986
20184
  value: getValue(option2),
19987
20185
  checked: vue.unref(selectedValue) === getValue(option2),
19988
20186
  onChange: handleSelect
19989
- }, null, 40, _hoisted_4$8),
20187
+ }, null, 40, _hoisted_4$9),
19990
20188
  vue.createElementVNode("label", {
19991
20189
  for: `${_ctx.id}-${getValue(option2)}`
19992
- }, vue.toDisplayString(getLabel(option2)), 9, _hoisted_5$8)
20190
+ }, vue.toDisplayString(getLabel(option2)), 9, _hoisted_5$9)
19993
20191
  ]);
19994
20192
  }), 128))
19995
20193
  ])
@@ -19998,76 +20196,113 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
19998
20196
  }
19999
20197
  });
20000
20198
  const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-cf892d71"]]);
20001
- const _hoisted_1$q = { key: 0 };
20002
- const _hoisted_2$g = ["id", "disabled", "max", "min", "step", "required", "name"];
20003
- const _hoisted_3$d = { key: 1 };
20199
+ const _hoisted_1$q = { class: "label" };
20200
+ const _hoisted_2$g = { class: "range-slider relative w-100" };
20201
+ const _hoisted_3$d = ["id", "min", "max", "step", "required", "disabled"];
20202
+ const _hoisted_4$8 = ["min", "max", "step", "required", "disabled"];
20203
+ const _hoisted_5$8 = { class: "track absolute pointer-events-none overflow-hidden round" };
20204
+ const _hoisted_6$7 = { class: "txt-center txt-14 range-slider-txt flex space-between opacity-4 mx-05" };
20004
20205
  const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
20005
20206
  __name: "RangeInput",
20006
- props: /* @__PURE__ */ vue.mergeModels({
20007
- min: {},
20008
- max: {},
20009
- step: {},
20207
+ props: {
20208
+ min: { default: 0 },
20209
+ max: { default: 100 },
20210
+ modelValue: {},
20211
+ step: { default: 1 },
20212
+ required: { type: Boolean },
20213
+ label: {},
20010
20214
  disabled: { type: Boolean },
20011
20215
  id: {},
20012
- name: {},
20013
- required: { type: Boolean },
20014
- thickness: { default: "8px" }
20015
- }, {
20016
- "modelValue": { default: 0 },
20017
- "modelModifiers": {}
20018
- }),
20216
+ rtl: { type: Boolean }
20217
+ },
20019
20218
  emits: ["update:modelValue"],
20020
- setup(__props) {
20021
- const val = vue.useModel(__props, "modelValue");
20022
- const range2 = vue.ref();
20023
- const direction = vue.computed(() => {
20024
- if (!range2.value) return "ltr";
20025
- const parent = range2.value.parentElement;
20026
- return getComputedStyle(parent).direction;
20027
- });
20028
- const background = vue.computed(() => {
20029
- const minVal = __props.min ?? 0;
20030
- const maxVal = __props.max ?? 100;
20031
- const percentage = (val.value - minVal) / (maxVal - minVal) * 100;
20032
- if (direction.value === "rtl") {
20033
- return `linear-gradient(to left, var(--bgl-primary) ${percentage}%, var(--input-bg) ${percentage}%)`;
20034
- }
20035
- return `linear-gradient(to right, var(--bgl-primary) ${percentage}%, var(--input-bg) ${percentage}%)`;
20219
+ setup(__props, { emit: __emit }) {
20220
+ const emit2 = __emit;
20221
+ const isRange = vue.computed(() => Array.isArray(__props.modelValue));
20222
+ let from = vue.ref(__props.min);
20223
+ let to2 = vue.ref(__props.max);
20224
+ const validFrom = vue.computed(() => Math.min(Math.max(from.value, __props.min), to2.value));
20225
+ const validTo = vue.computed(() => Math.max(Math.min(to2.value, __props.max), from.value));
20226
+ function emitValue() {
20227
+ emit2("update:modelValue", isRange.value ? [validFrom.value, validTo.value] : validFrom.value);
20228
+ }
20229
+ vue.watch(() => validFrom.value, (newVal) => {
20230
+ if (from.value !== newVal) from.value = newVal;
20036
20231
  });
20037
- vue.watch(() => val.value, (newValue) => {
20038
- if (__props.min !== void 0 && newValue < __props.min) val.value = __props.min;
20039
- if (__props.max !== void 0 && newValue > __props.max) val.value = __props.max;
20232
+ vue.watch(() => validTo.value, (newVal) => {
20233
+ if (to2.value !== newVal) to2.value = newVal;
20040
20234
  });
20041
- const height = vue.computed(() => {
20042
- return Number.isNaN(Number(__props.thickness)) ? __props.thickness : `${__props.thickness}px`;
20235
+ const fromPercentage = vue.computed(() => (validFrom.value - __props.min) / (__props.max - __props.min) * 100);
20236
+ const toPercentage = vue.computed(() => (validTo.value - __props.min) / (__props.max - __props.min) * 100);
20237
+ const rangeStyle = vue.computed(() => {
20238
+ const width = (validTo.value - validFrom.value) / (__props.max - __props.min) * 100;
20239
+ if (__props.rtl || isRange.value) return { left: `${fromPercentage.value}%`, width: `${width}%` };
20240
+ return { right: `${width}%`, width: `${fromPercentage.value}%` };
20043
20241
  });
20044
20242
  return (_ctx, _cache) => {
20045
- return vue.openBlock(), vue.createElementBlock("div", {
20046
- class: vue.normalizeClass(["flex gap-1 align-center range-slide", { disabled: _ctx.disabled }])
20047
- }, [
20048
- _ctx.min !== void 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_1$q, vue.toDisplayString(_ctx.min), 1)) : vue.createCommentVNode("", true),
20049
- vue.withDirectives(vue.createElementVNode("input", {
20050
- id: _ctx.id,
20051
- ref_key: "range",
20052
- ref: range2,
20053
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => val.value = $event),
20054
- disabled: _ctx.disabled,
20055
- style: vue.normalizeStyle({ background: background.value, height: height.value }),
20056
- max: _ctx.max,
20057
- min: _ctx.min,
20058
- step: _ctx.step,
20059
- required: _ctx.required,
20060
- type: "range",
20061
- name: _ctx.name
20062
- }, null, 12, _hoisted_2$g), [
20063
- [vue.vModelText, val.value]
20243
+ return vue.openBlock(), vue.createElementBlock("div", null, [
20244
+ vue.createElementVNode("label", _hoisted_1$q, vue.toDisplayString(_ctx.label), 1),
20245
+ vue.createElementVNode("div", _hoisted_2$g, [
20246
+ vue.withDirectives(vue.createElementVNode("input", {
20247
+ id: _ctx.id,
20248
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(from) ? from.value = $event : from = $event),
20249
+ class: "from",
20250
+ type: "range",
20251
+ min: _ctx.min,
20252
+ max: _ctx.max,
20253
+ step: _ctx.step,
20254
+ required: _ctx.required,
20255
+ disabled: _ctx.disabled,
20256
+ "aria-label": "Minimum value",
20257
+ onChange: emitValue
20258
+ }, null, 40, _hoisted_3$d), [
20259
+ [vue.vModelText, vue.unref(from)]
20260
+ ]),
20261
+ isRange.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
20262
+ key: 0,
20263
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(to2) ? to2.value = $event : to2 = $event),
20264
+ class: "to",
20265
+ type: "range",
20266
+ min: _ctx.min,
20267
+ max: _ctx.max,
20268
+ step: _ctx.step,
20269
+ required: _ctx.required,
20270
+ disabled: _ctx.disabled,
20271
+ "aria-label": "Maximum value",
20272
+ onChange: emitValue
20273
+ }, null, 40, _hoisted_4$8)), [
20274
+ [vue.vModelText, vue.unref(to2)]
20275
+ ]) : vue.createCommentVNode("", true),
20276
+ vue.createElementVNode("div", _hoisted_5$8, [
20277
+ vue.createElementVNode("div", {
20278
+ class: "active-range absolute h-100 pointer-events-none bg-primary",
20279
+ style: vue.normalizeStyle(rangeStyle.value)
20280
+ }, null, 4)
20281
+ ]),
20282
+ vue.unref(from) !== _ctx.min ? (vue.openBlock(), vue.createElementBlock("p", {
20283
+ key: 1,
20284
+ class: "txt-center txt-12 range-slider-position-txt absolute line-height-1 opacity-0",
20285
+ style: vue.normalizeStyle({ "--progress": `${fromPercentage.value}` })
20286
+ }, [
20287
+ vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(from)), 1)
20288
+ ], 4)) : vue.createCommentVNode("", true),
20289
+ isRange.value && vue.unref(to2) !== _ctx.max ? (vue.openBlock(), vue.createElementBlock("p", {
20290
+ key: 2,
20291
+ class: "txt-center txt-12 range-slider-position-txt opacity-0 line-height-1 absolute",
20292
+ style: vue.normalizeStyle({ "--progress": `${toPercentage.value}` })
20293
+ }, [
20294
+ vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(to2)), 1)
20295
+ ], 4)) : vue.createCommentVNode("", true)
20064
20296
  ]),
20065
- _ctx.max !== void 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$d, vue.toDisplayString(_ctx.max), 1)) : vue.createCommentVNode("", true)
20066
- ], 2);
20297
+ vue.createElementVNode("p", _hoisted_6$7, [
20298
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.min), 1),
20299
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.max), 1)
20300
+ ])
20301
+ ]);
20067
20302
  };
20068
20303
  }
20069
20304
  });
20070
- const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-ded4d62d"]]);
20305
+ const RangeInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-df7a13a5"]]);
20071
20306
  const defaultToolbarConfig = [
20072
20307
  "h2",
20073
20308
  "h3",
@@ -20214,7 +20449,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
20214
20449
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
20215
20450
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.config.map(configToOption).filter(Boolean), (action, index2) => {
20216
20451
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
20217
- action.name === "insertTable" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$S), {
20452
+ action.name === "insertTable" ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$T), {
20218
20453
  key: 0,
20219
20454
  placement: "bottom-start",
20220
20455
  thin: "",
@@ -21154,7 +21389,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
21154
21389
  }
21155
21390
  });
21156
21391
  return (_ctx, _cache) => {
21157
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$S), {
21392
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$T), {
21158
21393
  ref_key: "dropdown",
21159
21394
  ref: dropdown,
21160
21395
  shown: vue.unref(open),
@@ -21233,7 +21468,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
21233
21468
  height: "25px",
21234
21469
  class: "mx-1 my-1"
21235
21470
  })) : vue.createCommentVNode("", true),
21236
- vue.createVNode(vue.unref(_sfc_main$W), {
21471
+ vue.createVNode(vue.unref(_sfc_main$X), {
21237
21472
  class: "p-05",
21238
21473
  style: vue.normalizeStyle({ width: _ctx.fullWidth ? "100%" : "auto" })
21239
21474
  }, {
@@ -22157,9 +22392,9 @@ function _objectWithoutProperties(source, excluded) {
22157
22392
  return target;
22158
22393
  }
22159
22394
  var version = "1.14.0";
22160
- function userAgent(pattern) {
22395
+ function userAgent(pattern2) {
22161
22396
  if (typeof window !== "undefined" && window.navigator) {
22162
- return !!/* @__PURE__ */ navigator.userAgent.match(pattern);
22397
+ return !!/* @__PURE__ */ navigator.userAgent.match(pattern2);
22163
22398
  }
22164
22399
  }
22165
22400
  var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
@@ -27609,7 +27844,7 @@ var Format = /* @__PURE__ */ function() {
27609
27844
  }
27610
27845
  _createClass$1(Format2, [{
27611
27846
  key: "pattern",
27612
- value: function pattern() {
27847
+ value: function pattern2() {
27613
27848
  return this._format[0];
27614
27849
  }
27615
27850
  }, {
@@ -27661,7 +27896,7 @@ var Type = /* @__PURE__ */ function() {
27661
27896
  }
27662
27897
  _createClass$1(Type2, [{
27663
27898
  key: "pattern",
27664
- value: function pattern() {
27899
+ value: function pattern2() {
27665
27900
  if (this.metadata.v1) return this.type;
27666
27901
  return this.type[0];
27667
27902
  }
@@ -28339,7 +28574,7 @@ function _defineProperties(target, props2) {
28339
28574
  }
28340
28575
  }
28341
28576
  function _createClass(Constructor, protoProps, staticProps) {
28342
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28577
+ _defineProperties(Constructor.prototype, protoProps);
28343
28578
  Object.defineProperty(Constructor, "prototype", { writable: false });
28344
28579
  return Constructor;
28345
28580
  }
@@ -29391,7 +29626,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
29391
29626
  vue.withKeys(reset, ["tab"])
29392
29627
  ]
29393
29628
  }, [
29394
- !computedDropDownOptions.value.hide ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$S), {
29629
+ !computedDropDownOptions.value.hide ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$T), {
29395
29630
  key: 0,
29396
29631
  ref_key: "phoneDropdown",
29397
29632
  ref: phoneDropdown,
@@ -29756,7 +29991,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
29756
29991
  },
29757
29992
  setup(__props) {
29758
29993
  return (_ctx, _cache) => {
29759
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$W), { class: "hide m_grid gap-05 bgl_bottombar px-1 txt14 justify-content-start align-items-center overflow-x" }, {
29994
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$X), { class: "hide m_grid gap-05 bgl_bottombar px-1 txt14 justify-content-start align-items-center overflow-x" }, {
29760
29995
  default: vue.withCtx(() => [
29761
29996
  vue.renderSlot(_ctx.$slots, "brand", {}, void 0, true),
29762
29997
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.navLinks, (nav, i2) => {
@@ -29857,7 +30092,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
29857
30092
  icon: "keyboard_arrow_right",
29858
30093
  onClick: vue.unref(toggleMenu)
29859
30094
  }, null, 8, ["onClick"]),
29860
- vue.createVNode(vue.unref(_sfc_main$W), { class: "py-1 px-05 h-100 flex column gap-05 rounded relative bg-primary font-light overflow-y" }, {
30095
+ vue.createVNode(vue.unref(_sfc_main$X), { class: "py-1 px-05 h-100 flex column gap-05 rounded relative bg-primary font-light overflow-y" }, {
29861
30096
  default: vue.withCtx(() => [
29862
30097
  !vue.unref(isOpen) || !vue.unref(slots)["brand-open"] ? vue.renderSlot(_ctx.$slots, "brand", { key: 0 }, void 0, true) : vue.createCommentVNode("", true),
29863
30098
  vue.unref(isOpen) ? vue.renderSlot(_ctx.$slots, "brand-open", { key: 1 }, void 0, true) : vue.createCommentVNode("", true),
@@ -30378,7 +30613,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
30378
30613
  onClick: _cache[1] || (_cache[1] = () => _ctx.dismissable ? closeModal() : ""),
30379
30614
  onKeydown: vue.withKeys(closeModal, ["esc"])
30380
30615
  }, [
30381
- vue.createVNode(vue.unref(_sfc_main$W), {
30616
+ vue.createVNode(vue.unref(_sfc_main$X), {
30382
30617
  class: "modal",
30383
30618
  style: vue.normalizeStyle({ ...maxWidth.value }),
30384
30619
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
@@ -30555,7 +30790,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
30555
30790
  "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => emit2("update:visible", $event))
30556
30791
  }, vue.createSlots({
30557
30792
  default: vue.withCtx(() => [
30558
- _ctx.visible ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$O), {
30793
+ _ctx.visible ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$P), {
30559
30794
  key: 0,
30560
30795
  ref_key: "form",
30561
30796
  ref: form,
@@ -31673,7 +31908,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
31673
31908
  row,
31674
31909
  field
31675
31910
  }, void 0, true) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$1, [
31676
- vue.createVNode(vue.unref(_sfc_main$P), {
31911
+ vue.createVNode(vue.unref(_sfc_main$Q), {
31677
31912
  class: "embedded-field",
31678
31913
  field,
31679
31914
  modelValue: row,
@@ -32709,7 +32944,7 @@ function openClickHandler(e, el, binding) {
32709
32944
  const lightboxInstance2 = getLightboxInstance();
32710
32945
  if (!lightboxInstance2 || !lightboxInstance2.open) return;
32711
32946
  const open = lightboxInstance2.open;
32712
- const group = item && item.group ? groups[item.group] : void 0;
32947
+ const group = item.group ? groups[item.group] : void 0;
32713
32948
  open(item, group);
32714
32949
  }
32715
32950
  function bindingToItem(binding, el) {
@@ -32749,6 +32984,179 @@ const Lightbox = {
32749
32984
  app.directive("lightbox", lightboxDirective);
32750
32985
  }
32751
32986
  };
32987
+ const DEFAULT_PATTERNS = {
32988
+ pint: { pattern: /\d/ },
32989
+ int: { pattern: /[\d\-]/ },
32990
+ pnum: { pattern: /[\d.]/ },
32991
+ money: { pattern: /[\d.\s,]/ },
32992
+ number: { pattern: /[\d\-.]/ },
32993
+ num: { pattern: /[\d\-.]/ },
32994
+ hex: { pattern: /[0-9a-f]/i },
32995
+ email: { pattern: /[\w.\-@]/ },
32996
+ alpha: { pattern: /[a-z_]/i },
32997
+ alphanum: { pattern: /\w/ },
32998
+ lower: { pattern: /[a-z]/, transform: (v2) => v2.toLowerCase() },
32999
+ upper: { pattern: /[A-Z]/, transform: (v2) => v2.toUpperCase() },
33000
+ slug: { pattern: /[a-z0-9-]/i, transform: (v2) => v2.toLowerCase().replace(/\s/g, "-") }
33001
+ };
33002
+ const stateMap = /* @__PURE__ */ new WeakMap();
33003
+ function getTarget(el) {
33004
+ if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {
33005
+ return el;
33006
+ }
33007
+ const target = el.querySelector("input, textarea");
33008
+ return target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement ? target : null;
33009
+ }
33010
+ function getModifiers(binding) {
33011
+ const modifiers = Object.keys(binding.modifiers || {});
33012
+ return modifiers.length ? modifiers[modifiers.length - 1] : "";
33013
+ }
33014
+ function getRegex(state2) {
33015
+ if (state2.pattern) return state2.pattern;
33016
+ if (state2.modifier) return DEFAULT_PATTERNS[state2.modifier].pattern || /./;
33017
+ return /./;
33018
+ }
33019
+ function bindEvents(el, target, state2) {
33020
+ state2.keydownEvent = (event) => {
33021
+ onKeydown(event, target, state2);
33022
+ };
33023
+ state2.pasteEvent = (event) => {
33024
+ onPaste(event, target, state2);
33025
+ };
33026
+ target.addEventListener("keydown", state2.keydownEvent);
33027
+ target.addEventListener("paste", state2.pasteEvent);
33028
+ }
33029
+ function unbindEvents(target, state2) {
33030
+ if (state2.keydownEvent) target.removeEventListener("keydown", state2.keydownEvent);
33031
+ if (state2.pasteEvent) target.removeEventListener("paste", state2.pasteEvent);
33032
+ state2.keydownEvent = void 0;
33033
+ state2.pasteEvent = void 0;
33034
+ }
33035
+ function onKeydown(event, target, state2) {
33036
+ if (event.ctrlKey || event.altKey || event.metaKey || event.key === "Tab" || event.key === "Backspace" || event.key === "Delete" || event.key === "ArrowLeft" || event.key === "ArrowRight" || event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "Enter") return;
33037
+ const regex2 = getRegex(state2);
33038
+ const testKey = event.key;
33039
+ if (!regex2.test(testKey)) {
33040
+ event.preventDefault();
33041
+ } else if (state2.modifier) {
33042
+ const { transform } = DEFAULT_PATTERNS[state2.modifier];
33043
+ if (transform) {
33044
+ event.preventDefault();
33045
+ const transformedValue = transform(testKey);
33046
+ const cursorPos = target.selectionStart ?? 0;
33047
+ const newValue = target.value.slice(0, cursorPos) + transformedValue + target.value.slice(cursorPos);
33048
+ target.value = newValue;
33049
+ target.setSelectionRange(cursorPos + transformedValue.length, cursorPos + transformedValue.length);
33050
+ }
33051
+ }
33052
+ }
33053
+ function onPaste(event, target, state2) {
33054
+ var _a2;
33055
+ const regex2 = getRegex(state2);
33056
+ const clipboardData = ((_a2 = event.clipboardData) == null ? void 0 : _a2.getData("text")) || "";
33057
+ if (!regex2.test(clipboardData)) {
33058
+ event.preventDefault();
33059
+ } else if (state2.modifier) {
33060
+ const { transform } = DEFAULT_PATTERNS[state2.modifier];
33061
+ if (transform) {
33062
+ event.preventDefault();
33063
+ const transformedValue = transform(clipboardData);
33064
+ const cursorPos = target.selectionStart ?? 0;
33065
+ const newValue = target.value.slice(0, cursorPos) + transformedValue + target.value.slice(cursorPos);
33066
+ target.value = newValue;
33067
+ target.setSelectionRange(cursorPos + transformedValue.length, cursorPos + transformedValue.length);
33068
+ }
33069
+ }
33070
+ }
33071
+ const pattern = {
33072
+ beforeMount(el, binding) {
33073
+ const target = getTarget(el);
33074
+ if (!target) return;
33075
+ const state2 = {
33076
+ modifier: getModifiers(binding)
33077
+ };
33078
+ if (typeof binding.value === "object") {
33079
+ state2.pattern = binding.value.pattern || /./;
33080
+ state2.validateOnly = binding.value.validateOnly || false;
33081
+ }
33082
+ stateMap.set(el, state2);
33083
+ bindEvents(el, target, state2);
33084
+ },
33085
+ updated(el, binding) {
33086
+ const target = getTarget(el);
33087
+ if (!target) return;
33088
+ const state2 = stateMap.get(el);
33089
+ if (!state2) return;
33090
+ unbindEvents(target, state2);
33091
+ state2.modifier = getModifiers(binding);
33092
+ if (typeof binding.value === "object") {
33093
+ state2.pattern = binding.value.pattern || /./;
33094
+ state2.validateOnly = binding.value.validateOnly || false;
33095
+ }
33096
+ bindEvents(el, target, state2);
33097
+ },
33098
+ unmounted(el) {
33099
+ const target = getTarget(el);
33100
+ const state2 = stateMap.get(el);
33101
+ if (target && state2) {
33102
+ unbindEvents(target, state2);
33103
+ }
33104
+ stateMap.delete(el);
33105
+ }
33106
+ };
33107
+ const ripple = {
33108
+ mounted(el, binding) {
33109
+ const clickHandler2 = (e) => {
33110
+ const rect = el.getBoundingClientRect();
33111
+ const size2 = Math.max(rect.width, rect.height);
33112
+ const ripple2 = document.createElement("span");
33113
+ ripple2.className = "ripple";
33114
+ Object.assign(ripple2.style, {
33115
+ width: `${size2}px`,
33116
+ height: `${size2}px`,
33117
+ left: `${e.clientX - rect.left - size2 / 2}px`,
33118
+ top: `${e.clientY - rect.top - size2 / 2}px`,
33119
+ position: "absolute",
33120
+ borderRadius: "50%",
33121
+ transform: "scale(0)",
33122
+ background: "rgba(0, 0, 0, 0.3)",
33123
+ pointerEvents: "none",
33124
+ animation: "rippleEffect 0.6s ease-out"
33125
+ });
33126
+ el.appendChild(ripple2);
33127
+ setTimeout(() => {
33128
+ ripple2.remove();
33129
+ }, 600);
33130
+ };
33131
+ el.__rippleClickHandler = clickHandler2;
33132
+ if (binding.value !== false) {
33133
+ if (getComputedStyle(el).position === "static") {
33134
+ el.style.position = "relative";
33135
+ }
33136
+ el.style.overflow = "hidden";
33137
+ el.addEventListener("mousedown", clickHandler2);
33138
+ }
33139
+ },
33140
+ updated(el, binding) {
33141
+ const clickHandler2 = el.__rippleClickHandler;
33142
+ if (binding.value === false) {
33143
+ el.removeEventListener("mousedown", clickHandler2);
33144
+ } else {
33145
+ if (getComputedStyle(el).position === "static") {
33146
+ el.style.position = "relative";
33147
+ }
33148
+ el.style.overflow = "hidden";
33149
+ el.addEventListener("mousedown", clickHandler2);
33150
+ }
33151
+ },
33152
+ unmounted(el) {
33153
+ const clickHandler2 = el.__rippleClickHandler;
33154
+ if (clickHandler2) {
33155
+ el.removeEventListener("mousedown", clickHandler2);
33156
+ delete el.__rippleClickHandler;
33157
+ }
33158
+ }
33159
+ };
32752
33160
  function getBaseField(id, labelOrRest = {}, rest = {}) {
32753
33161
  if (typeof labelOrRest === "object") return { id, ...labelOrRest };
32754
33162
  return { id, label: labelOrRest, ...rest };
@@ -32795,7 +33203,8 @@ function slctField(id, label, options, config) {
32795
33203
  disabled: config == null ? void 0 : config.disabled,
32796
33204
  searchable: config == null ? void 0 : config.searchable,
32797
33205
  multiselect: config == null ? void 0 : config.multiselect,
32798
- onSearch: config == null ? void 0 : config.onSearch
33206
+ onSearch: config == null ? void 0 : config.onSearch,
33207
+ clearable: config == null ? void 0 : config.clearable
32799
33208
  }
32800
33209
  };
32801
33210
  }
@@ -32853,7 +33262,7 @@ function frmRow(...children2) {
32853
33262
  function bglForm(idOrField, ...schema) {
32854
33263
  if (typeof idOrField === "string") {
32855
33264
  return {
32856
- $el: vue.markRaw(_sfc_main$O),
33265
+ $el: vue.markRaw(_sfc_main$P),
32857
33266
  id: idOrField,
32858
33267
  attrs: {
32859
33268
  schema: [idOrField, ...schema]
@@ -32861,7 +33270,7 @@ function bglForm(idOrField, ...schema) {
32861
33270
  };
32862
33271
  }
32863
33272
  return {
32864
- $el: vue.markRaw(_sfc_main$O),
33273
+ $el: vue.markRaw(_sfc_main$P),
32865
33274
  attrs: {
32866
33275
  schema: [idOrField, ...schema]
32867
33276
  }
@@ -32885,6 +33294,14 @@ function findBglFieldById(id, _schema) {
32885
33294
  }
32886
33295
  return void 0;
32887
33296
  }
33297
+ function arrField(id, label, schema, options) {
33298
+ return {
33299
+ label,
33300
+ id,
33301
+ $el: "array",
33302
+ attrs: { schema, delete: true, add: true, ...options }
33303
+ };
33304
+ }
32888
33305
  const state = vue.reactive({
32889
33306
  defaultLang: "",
32890
33307
  availableLangs: [],
@@ -33069,59 +33486,6 @@ const clickOutside = {
33069
33486
  document.removeEventListener("click", el.clickOutsideEvent);
33070
33487
  }
33071
33488
  };
33072
- const ripple = {
33073
- mounted(el, binding) {
33074
- const clickHandler2 = (e) => {
33075
- const rect = el.getBoundingClientRect();
33076
- const size2 = Math.max(rect.width, rect.height);
33077
- const ripple2 = document.createElement("span");
33078
- ripple2.className = "ripple";
33079
- Object.assign(ripple2.style, {
33080
- width: `${size2}px`,
33081
- height: `${size2}px`,
33082
- left: `${e.clientX - rect.left - size2 / 2}px`,
33083
- top: `${e.clientY - rect.top - size2 / 2}px`,
33084
- position: "absolute",
33085
- borderRadius: "50%",
33086
- transform: "scale(0)",
33087
- background: "rgba(0, 0, 0, 0.3)",
33088
- pointerEvents: "none",
33089
- animation: "rippleEffect 0.6s ease-out"
33090
- });
33091
- el.appendChild(ripple2);
33092
- setTimeout(() => {
33093
- ripple2.remove();
33094
- }, 600);
33095
- };
33096
- el.__rippleClickHandler = clickHandler2;
33097
- if (binding.value !== false) {
33098
- if (getComputedStyle(el).position === "static") {
33099
- el.style.position = "relative";
33100
- }
33101
- el.style.overflow = "hidden";
33102
- el.addEventListener("mousedown", clickHandler2);
33103
- }
33104
- },
33105
- updated(el, binding) {
33106
- const clickHandler2 = el.__rippleClickHandler;
33107
- if (binding.value === false) {
33108
- el.removeEventListener("mousedown", clickHandler2);
33109
- } else {
33110
- if (getComputedStyle(el).position === "static") {
33111
- el.style.position = "relative";
33112
- }
33113
- el.style.overflow = "hidden";
33114
- el.addEventListener("mousedown", clickHandler2);
33115
- }
33116
- },
33117
- unmounted(el) {
33118
- const clickHandler2 = el.__rippleClickHandler;
33119
- if (clickHandler2) {
33120
- el.removeEventListener("mousedown", clickHandler2);
33121
- delete el.__rippleClickHandler;
33122
- }
33123
- }
33124
- };
33125
33489
  const bagelInjectionKey = Symbol("bagel");
33126
33490
  const i18nTInjectionKey = Symbol("bagel");
33127
33491
  function useBagel() {
@@ -33139,6 +33503,7 @@ const BagelVue = {
33139
33503
  const bagel = new Bagel({ host: options.host, onError: options.onError });
33140
33504
  app.directive("click-outside", clickOutside);
33141
33505
  app.directive("ripple", ripple);
33506
+ app.directive("pattern", pattern);
33142
33507
  app.use(Lightbox);
33143
33508
  app.use(Gt$1, {
33144
33509
  themes: {
@@ -33634,31 +33999,31 @@ function timeAgo(date2, lang = "en") {
33634
33999
  }
33635
34000
  return selectedLang.justNow;
33636
34001
  }
33637
- exports.Accordion = _sfc_main$12;
34002
+ exports.Accordion = _sfc_main$13;
33638
34003
  exports.AccordionItem = AccordionItem;
33639
- exports.AddressSearch = _sfc_main$10;
34004
+ exports.AddressSearch = _sfc_main$11;
33640
34005
  exports.Alert = Alert;
33641
34006
  exports.Avatar = Avatar;
33642
34007
  exports.Badge = Badge;
33643
- exports.BagelForm = _sfc_main$O;
34008
+ exports.BagelForm = _sfc_main$P;
33644
34009
  exports.BagelVue = BagelVue;
33645
- exports.BglField = _sfc_main$P;
33646
- exports.BglForm = _sfc_main$O;
33647
- exports.BglMultiStepForm = _sfc_main$N;
34010
+ exports.BglField = _sfc_main$Q;
34011
+ exports.BglForm = _sfc_main$P;
34012
+ exports.BglMultiStepForm = _sfc_main$O;
33648
34013
  exports.BglVideo = BglVideo;
33649
34014
  exports.BottomMenu = BottomMenu;
33650
34015
  exports.Btn = Btn;
33651
- exports.Card = _sfc_main$W;
34016
+ exports.Card = _sfc_main$X;
33652
34017
  exports.Carousel = Carousel;
33653
34018
  exports.CheckInput = CheckInput;
33654
34019
  exports.Checkbox = Checkbox;
33655
34020
  exports.CodeEditor = CodeEditor;
33656
- exports.ColorPicker = _sfc_main$I;
34021
+ exports.ColorPicker = _sfc_main$J;
33657
34022
  exports.DataPreview = DataPreview;
33658
- exports.DateInput = _sfc_main$H;
33659
- exports.DatePicker = _sfc_main$G;
33660
- exports.Dropdown = _sfc_main$S;
33661
- exports.FieldArray = _sfc_main$M;
34023
+ exports.DateInput = _sfc_main$I;
34024
+ exports.DatePicker = _sfc_main$H;
34025
+ exports.Dropdown = _sfc_main$T;
34026
+ exports.FieldArray = _sfc_main$N;
33662
34027
  exports.FileUpload = FileUpload;
33663
34028
  exports.Flag = Flag;
33664
34029
  exports.IMAGE_FORMATS = IMAGE_FORMATS;
@@ -33668,7 +34033,7 @@ exports.IframeVue = _sfc_main$o;
33668
34033
  exports.Image = Image$1;
33669
34034
  exports.JSONInput = JSONInput;
33670
34035
  exports.Layout = Layout;
33671
- exports.Lineart = _sfc_main$U;
34036
+ exports.Lineart = _sfc_main$V;
33672
34037
  exports.ListItem = _sfc_main$g;
33673
34038
  exports.ListView = ListView;
33674
34039
  exports.Loading = Loading;
@@ -33679,6 +34044,7 @@ exports.ModalConfirm = _sfc_main$a;
33679
34044
  exports.ModalForm = ModalForm;
33680
34045
  exports.ModalPlugin = ModalPlugin;
33681
34046
  exports.NavBar = NavBar;
34047
+ exports.NumberInput = NumberInput;
33682
34048
  exports.OTP = OTP;
33683
34049
  exports.PageTitle = _sfc_main$7;
33684
34050
  exports.PasswordInput = _sfc_main$B;