@bagelink/vue 0.0.712 → 0.0.716

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 (177) hide show
  1. package/dist/components/Accordion.d.ts +12 -0
  2. package/dist/components/Accordion.d.ts.map +1 -0
  3. package/dist/components/AccordionItem.d.ts +34 -0
  4. package/dist/components/AccordionItem.d.ts.map +1 -0
  5. package/dist/components/Alert.d.ts +34 -0
  6. package/dist/components/Alert.d.ts.map +1 -0
  7. package/dist/components/Avatar.d.ts +36 -0
  8. package/dist/components/Avatar.d.ts.map +1 -0
  9. package/dist/components/Badge.d.ts +22 -0
  10. package/dist/components/Badge.d.ts.map +1 -0
  11. package/dist/components/BglVideo.d.ts +20 -0
  12. package/dist/components/BglVideo.d.ts.map +1 -0
  13. package/dist/components/Btn.d.ts +99 -0
  14. package/dist/components/Btn.d.ts.map +1 -0
  15. package/dist/components/Card.d.ts +39 -0
  16. package/dist/components/Card.d.ts.map +1 -0
  17. package/dist/components/Carousel.d.ts +74 -0
  18. package/dist/components/Carousel.d.ts.map +1 -0
  19. package/dist/components/ComboBox.vue.d.ts +3 -3
  20. package/dist/components/Comments.vue.d.ts +2 -2
  21. package/dist/components/ContactSubmissions.vue.d.ts +2 -2
  22. package/dist/components/DataPreview.d.ts +42 -0
  23. package/dist/components/DataPreview.d.ts.map +1 -0
  24. package/dist/components/Drop.vue.d.ts +34 -0
  25. package/dist/components/Drop.vue.d.ts.map +1 -0
  26. package/dist/components/DropDown.vue.d.ts +3 -3
  27. package/dist/components/FileUploader.vue.d.ts +60 -0
  28. package/dist/components/FileUploader.vue.d.ts.map +1 -0
  29. package/dist/components/Flag.d.ts +20 -0
  30. package/dist/components/Flag.d.ts.map +1 -0
  31. package/dist/components/FormSchema.vue.d.ts +5 -4
  32. package/dist/components/LangText.vue.d.ts +2 -2
  33. package/dist/components/ListItem.d.ts +34 -0
  34. package/dist/components/ListItem.d.ts.map +1 -0
  35. package/dist/components/ListItem.vue.d.ts.map +1 -1
  36. package/dist/components/ListView.d.ts +13 -0
  37. package/dist/components/ListView.d.ts.map +1 -0
  38. package/dist/components/MapEmbed.d.ts +3 -0
  39. package/dist/components/MapEmbed.d.ts.map +1 -0
  40. package/dist/components/MaterialIcon.d.ts +26 -0
  41. package/dist/components/MaterialIcon.d.ts.map +1 -0
  42. package/dist/components/Modal.d.ts +46 -0
  43. package/dist/components/Modal.d.ts.map +1 -0
  44. package/dist/components/ModalBglForm.vue.d.ts +21 -20
  45. package/dist/components/ModalConfirm.d.ts +24 -0
  46. package/dist/components/ModalConfirm.d.ts.map +1 -0
  47. package/dist/components/ModalForm.d.ts +78 -0
  48. package/dist/components/ModalForm.d.ts.map +1 -0
  49. package/dist/components/NavBar.d.ts +64 -0
  50. package/dist/components/NavBar.d.ts.map +1 -0
  51. package/dist/components/PageTitle.d.ts +24 -0
  52. package/dist/components/PageTitle.d.ts.map +1 -0
  53. package/dist/components/PersonPreview.vue.d.ts +5 -4
  54. package/dist/components/PersonPreviewFormkit.vue.d.ts +4 -3
  55. package/dist/components/RTXEditor.vue.d.ts +3 -3
  56. package/dist/components/RouterWrapper.d.ts +3 -0
  57. package/dist/components/RouterWrapper.d.ts.map +1 -0
  58. package/dist/components/TabbedLayout.vue.d.ts +5 -4
  59. package/dist/components/TableSchema.d.ts +35 -0
  60. package/dist/components/TableSchema.d.ts.map +1 -0
  61. package/dist/components/Title.d.ts +42 -0
  62. package/dist/components/Title.d.ts.map +1 -0
  63. package/dist/components/TopBar.d.ts +12 -0
  64. package/dist/components/TopBar.d.ts.map +1 -0
  65. package/dist/components/charts/BarChart.vue.d.ts +2 -2
  66. package/dist/components/dashboard/Lineart.d.ts +20 -0
  67. package/dist/components/dashboard/Lineart.d.ts.map +1 -0
  68. package/dist/components/form/BglField.d.ts +25 -0
  69. package/dist/components/form/BglField.d.ts.map +1 -0
  70. package/dist/components/form/BglForm.d.ts +75 -0
  71. package/dist/components/form/BglForm.d.ts.map +1 -0
  72. package/dist/components/form/ItemRef.vue.d.ts +5 -3
  73. package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
  74. package/dist/components/form/MaterialIcon.vue.d.ts +4 -3
  75. package/dist/components/form/PlainInputField.vue.d.ts +3 -3
  76. package/dist/components/form/inputs/CheckInput.d.ts +56 -0
  77. package/dist/components/form/inputs/CheckInput.d.ts.map +1 -0
  78. package/dist/components/form/inputs/Checkbox.d.ts +16 -0
  79. package/dist/components/form/inputs/Checkbox.d.ts.map +1 -0
  80. package/dist/components/form/inputs/ColorPicker.d.ts +48 -0
  81. package/dist/components/form/inputs/ColorPicker.d.ts.map +1 -0
  82. package/dist/components/form/inputs/CurrencyInput.vue.d.ts +3 -3
  83. package/dist/components/form/inputs/DateInput.d.ts +64 -0
  84. package/dist/components/form/inputs/DateInput.d.ts.map +1 -0
  85. package/dist/components/form/inputs/DatePicker.d.ts +33 -0
  86. package/dist/components/form/inputs/DatePicker.d.ts.map +1 -0
  87. package/dist/components/form/inputs/DatetimeInput.vue.d.ts +3 -3
  88. package/dist/components/form/inputs/DurationInput.vue.d.ts +3 -3
  89. package/dist/components/form/inputs/DynamicLinkField.vue.d.ts +3 -3
  90. package/dist/components/form/inputs/EmailInput.vue.d.ts +3 -3
  91. package/dist/components/form/inputs/FileUpload.d.ts +108 -0
  92. package/dist/components/form/inputs/FileUpload.d.ts.map +1 -0
  93. package/dist/components/form/inputs/FileUpload.vue.d.ts +6 -0
  94. package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
  95. package/dist/components/form/inputs/FloatInput.vue.d.ts +3 -3
  96. package/dist/components/form/inputs/IntInput.vue.d.ts +3 -3
  97. package/dist/components/form/inputs/JSONInput.d.ts +53 -0
  98. package/dist/components/form/inputs/JSONInput.d.ts.map +1 -0
  99. package/dist/components/form/inputs/LinkField.vue.d.ts +3 -3
  100. package/dist/components/form/inputs/Password.vue.d.ts +3 -3
  101. package/dist/components/form/inputs/PasswordInput.vue.d.ts +3 -3
  102. package/dist/components/form/inputs/PlainText.vue.d.ts +3 -3
  103. package/dist/components/form/inputs/RadioGroup.d.ts +42 -0
  104. package/dist/components/form/inputs/RadioGroup.d.ts.map +1 -0
  105. package/dist/components/form/inputs/RadioPillsInput.d.ts +48 -0
  106. package/dist/components/form/inputs/RadioPillsInput.d.ts.map +1 -0
  107. package/dist/components/form/inputs/ReadOnlyInput.vue.d.ts +2 -2
  108. package/dist/components/form/inputs/RichText.d.ts +20 -0
  109. package/dist/components/form/inputs/RichText.d.ts.map +1 -0
  110. package/dist/components/form/inputs/RichText2/Toolbar.d.ts +22 -0
  111. package/dist/components/form/inputs/RichText2/Toolbar.d.ts.map +1 -0
  112. package/dist/components/form/inputs/RichText2/Toolbar.vue.d.ts.map +1 -1
  113. package/dist/components/form/inputs/RichText2/index.d.ts +24 -0
  114. package/dist/components/form/inputs/RichText2/index.d.ts.map +1 -0
  115. package/dist/components/form/inputs/RichText2/index.vue.d.ts.map +1 -1
  116. package/dist/components/form/inputs/RichTextEditor.vue.d.ts +3 -3
  117. package/dist/components/form/inputs/SelectField.vue.d.ts +6 -8
  118. package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
  119. package/dist/components/form/inputs/SelectInput.d.ts +55 -0
  120. package/dist/components/form/inputs/SelectInput.d.ts.map +1 -0
  121. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  122. package/dist/components/form/inputs/SignaturePad.d.ts +72 -0
  123. package/dist/components/form/inputs/SignaturePad.d.ts.map +1 -0
  124. package/dist/components/form/inputs/TableField.d.ts +45 -0
  125. package/dist/components/form/inputs/TableField.d.ts.map +1 -0
  126. package/dist/components/form/inputs/TelInput.d.ts +241 -0
  127. package/dist/components/form/inputs/TelInput.d.ts.map +1 -0
  128. package/dist/components/form/inputs/TextArea.vue.d.ts +3 -3
  129. package/dist/components/form/inputs/TextInput.d.ts +90 -0
  130. package/dist/components/form/inputs/TextInput.d.ts.map +1 -0
  131. package/dist/components/form/inputs/ToggleInput.d.ts +58 -0
  132. package/dist/components/form/inputs/ToggleInput.d.ts.map +1 -0
  133. package/dist/components/formkit/AddressArray.vue.d.ts +2 -2
  134. package/dist/components/formkit/BankDetailsArray.vue.d.ts +2 -2
  135. package/dist/components/formkit/ContactArrayFormKit.vue.d.ts +2 -2
  136. package/dist/components/formkit/FileUploader.vue.d.ts +2 -2
  137. package/dist/components/formkit/MiscFields.vue.d.ts +2 -2
  138. package/dist/components/formkit/Toggle.vue.d.ts +2 -2
  139. package/dist/components/layout/BottomMenu.d.ts +27 -0
  140. package/dist/components/layout/BottomMenu.d.ts.map +1 -0
  141. package/dist/components/layout/Layout.d.ts +58 -0
  142. package/dist/components/layout/Layout.d.ts.map +1 -0
  143. package/dist/components/layout/SidebarMenu.d.ts +38 -0
  144. package/dist/components/layout/SidebarMenu.d.ts.map +1 -0
  145. package/dist/components/layout/TabbedLayout.d.ts +42 -0
  146. package/dist/components/layout/TabbedLayout.d.ts.map +1 -0
  147. package/dist/components/layout/Tabs.d.ts +31 -0
  148. package/dist/components/layout/Tabs.d.ts.map +1 -0
  149. package/dist/components/layout/TabsBody.d.ts +23 -0
  150. package/dist/components/layout/TabsBody.d.ts.map +1 -0
  151. package/dist/components/layout/TabsNav.d.ts +35 -0
  152. package/dist/components/layout/TabsNav.d.ts.map +1 -0
  153. package/dist/components/whatsapp/form/MsgTemplate.vue.d.ts +4 -3
  154. package/dist/components/whatsapp/form/TextVariableExamples.vue.d.ts +2 -2
  155. package/dist/index.cjs +240 -184
  156. package/dist/index.d.ts +1 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.mjs +240 -184
  159. package/dist/plugins/modal.d.ts.map +1 -1
  160. package/dist/style.css +178 -89
  161. package/dist/utils/constants.d.ts +5 -0
  162. package/dist/utils/constants.d.ts.map +1 -0
  163. package/dist/utils/objects.d.ts +1 -0
  164. package/package.json +13 -13
  165. package/src/components/ListItem.vue +6 -3
  166. package/src/components/form/inputs/FileUpload.vue +185 -64
  167. package/src/components/form/inputs/RichText2/Toolbar.vue +39 -62
  168. package/src/components/form/inputs/RichText2/index.vue +34 -16
  169. package/src/components/form/inputs/SelectInput.vue +20 -9
  170. package/src/index.ts +1 -0
  171. package/src/plugins/modal.ts +48 -16
  172. package/src/utils/constants.ts +4 -0
  173. package/dist/components/Popover.vue.d.ts +0 -10
  174. package/dist/components/Popover.vue.d.ts.map +0 -1
  175. package/dist/types/materialIcon.d.ts +0 -2
  176. package/dist/types/materialIcon.d.ts.map +0 -1
  177. package/src/components/form/inputs/FileUploadURL.vue +0 -300
package/dist/index.cjs CHANGED
@@ -2939,7 +2939,10 @@ function AxiosError(message2, code2, config, request, response) {
2939
2939
  code2 && (this.code = code2);
2940
2940
  config && (this.config = config);
2941
2941
  request && (this.request = request);
2942
- response && (this.response = response);
2942
+ if (response) {
2943
+ this.response = response;
2944
+ this.status = response.status ? response.status : null;
2945
+ }
2943
2946
  }
2944
2947
  utils$1.inherits(AxiosError, Error, {
2945
2948
  toJSON: function toJSON() {
@@ -2958,7 +2961,7 @@ utils$1.inherits(AxiosError, Error, {
2958
2961
  // Axios
2959
2962
  config: utils$1.toJSONObject(this.config),
2960
2963
  code: this.code,
2961
- status: this.response && this.response.status ? this.response.status : null
2964
+ status: this.status
2962
2965
  };
2963
2966
  }
2964
2967
  });
@@ -3239,9 +3242,8 @@ const platform$1 = {
3239
3242
  protocols: ["http", "https", "file", "blob", "url", "data"]
3240
3243
  };
3241
3244
  const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
3242
- const hasStandardBrowserEnv = ((product) => {
3243
- return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0;
3244
- })(typeof navigator !== "undefined" && navigator.product);
3245
+ const _navigator = typeof navigator === "object" && navigator || void 0;
3246
+ const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
3245
3247
  const hasStandardBrowserWebWorkerEnv = (() => {
3246
3248
  return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
3247
3249
  self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
@@ -3252,6 +3254,7 @@ const utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
3252
3254
  hasBrowserEnv,
3253
3255
  hasStandardBrowserEnv,
3254
3256
  hasStandardBrowserWebWorkerEnv,
3257
+ navigator: _navigator,
3255
3258
  origin
3256
3259
  }, Symbol.toStringTag, { value: "Module" }));
3257
3260
  const platform = {
@@ -3827,7 +3830,7 @@ const isURLSameOrigin = platform.hasStandardBrowserEnv ? (
3827
3830
  // Standard browser envs have full support of the APIs needed to test
3828
3831
  // whether the request URL is of the same origin as current location.
3829
3832
  function standardBrowserEnv() {
3830
- const msie = /(msie|trident)/i.test(navigator.userAgent);
3833
+ const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);
3831
3834
  const urlParsingNode = document.createElement("a");
3832
3835
  let originURL;
3833
3836
  function resolveURL(url) {
@@ -4333,6 +4336,7 @@ const fetchAdapter = isFetchSupported && (async (config) => {
4333
4336
  if (!utils$1.isString(withCredentials)) {
4334
4337
  withCredentials = withCredentials ? "include" : "omit";
4335
4338
  }
4339
+ const isCredentialsSupported = "credentials" in Request.prototype;
4336
4340
  request = new Request(url, {
4337
4341
  ...fetchOptions,
4338
4342
  signal: composedSignal,
@@ -4340,7 +4344,7 @@ const fetchAdapter = isFetchSupported && (async (config) => {
4340
4344
  headers: headers.normalize().toJSON(),
4341
4345
  body: data2,
4342
4346
  duplex: "half",
4343
- credentials: withCredentials
4347
+ credentials: isCredentialsSupported ? withCredentials : void 0
4344
4348
  });
4345
4349
  let response = await fetch(request);
4346
4350
  const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
@@ -4484,7 +4488,7 @@ function dispatchRequest(config) {
4484
4488
  return Promise.reject(reason);
4485
4489
  });
4486
4490
  }
4487
- const VERSION = "1.7.4";
4491
+ const VERSION = "1.7.5";
4488
4492
  const validators$1 = {};
4489
4493
  ["object", "boolean", "number", "function", "string", "symbol"].forEach((type3, i2) => {
4490
4494
  validators$1[type3] = function validator2(thing) {
@@ -5469,14 +5473,16 @@ const ModalPlugin = {
5469
5473
  const hideModal = (index2) => {
5470
5474
  modalStack.value.splice(index2, 1);
5471
5475
  };
5472
- const modalConfirm = async (options) => new Promise((resolve) => {
5473
- if (typeof options === "string") options = { title: "", message: options };
5474
- modalStack.value.push({
5475
- modalOptions: { ...options, resolve },
5476
- modalType: "confirm",
5477
- componentSlots: {}
5478
- });
5479
- });
5476
+ const modalConfirm = async (options) => new Promise(
5477
+ (resolve) => {
5478
+ if (typeof options === "string") options = { title: "", message: options };
5479
+ modalStack.value.push({
5480
+ modalOptions: { ...options, resolve },
5481
+ modalType: "confirm",
5482
+ componentSlots: {}
5483
+ });
5484
+ }
5485
+ );
5480
5486
  const showModal = (modalType, options, slots = {}) => {
5481
5487
  modalStack.value.push({
5482
5488
  modalOptions: options,
@@ -5498,11 +5504,19 @@ const ModalPlugin = {
5498
5504
  data: () => ({ modalStack: modalStack.value }),
5499
5505
  render() {
5500
5506
  return this.modalStack.map((modal, index2) => {
5501
- const props2 = { ...modal.modalOptions, "visible": true, "onUpdate:visible": () => {
5502
- hideModal(index2);
5503
- } };
5504
- if (modal.modalType === "modalForm") return vue.h(ModalForm, props2, modal.componentSlots);
5505
- if (modal.modalType === "confirm") return vue.h(_sfc_main$v, props2, {});
5507
+ const props2 = {
5508
+ ...modal.modalOptions,
5509
+ "visible": true,
5510
+ "onUpdate:visible": () => {
5511
+ hideModal(index2);
5512
+ }
5513
+ };
5514
+ if (modal.modalType === "modalForm") {
5515
+ return vue.h(ModalForm, props2, modal.componentSlots);
5516
+ }
5517
+ if (modal.modalType === "confirm") {
5518
+ return vue.h(_sfc_main$v, props2, {});
5519
+ }
5506
5520
  return vue.h(_sfc_main$N, props2, modal.componentSlots);
5507
5521
  });
5508
5522
  }
@@ -6107,7 +6121,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6107
6121
  return (_ctx, _cache) => {
6108
6122
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.to ? "RouterLink" : "div"), {
6109
6123
  to: _ctx.to,
6110
- class: vue.normalizeClass(["flex gap-1", { "list-item": _ctx.to || _ctx.onClick, "no-border-list": _ctx.flat }])
6124
+ class: vue.normalizeClass(["flex gap-1 list-item", { "notClickable": !(_ctx.to || _ctx.onClick), "no-border-list": _ctx.flat }])
6111
6125
  }, {
6112
6126
  default: vue.withCtx(() => [
6113
6127
  _ctx.src || _ctx.showAvatar ? (vue.openBlock(), vue.createBlock(vue.unref(Avatar), {
@@ -6474,19 +6488,19 @@ function useVerticalVirtualList(options, list) {
6474
6488
  containerRef
6475
6489
  };
6476
6490
  }
6477
- const _withScopeId$3 = (n2) => (vue.pushScopeId("data-v-5441d9cd"), n2 = n2(), vue.popScopeId(), n2);
6491
+ const _withScopeId$2 = (n2) => (vue.pushScopeId("data-v-5441d9cd"), n2 = n2(), vue.popScopeId(), n2);
6478
6492
  const _hoisted_1$F = {
6479
6493
  key: 0,
6480
6494
  class: "loading-table-wrapper z-99 h-100 w-100 absolute inset"
6481
6495
  };
6482
- const _hoisted_2$u = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "loading-table-animation absolute oval" }, null, -1));
6496
+ const _hoisted_2$u = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "loading-table-animation absolute oval" }, null, -1));
6483
6497
  const _hoisted_3$k = [
6484
6498
  _hoisted_2$u
6485
6499
  ];
6486
6500
  const _hoisted_4$e = { class: "infinite-wrapper" };
6487
6501
  const _hoisted_5$e = { class: "row first-row" };
6488
6502
  const _hoisted_6$9 = { key: 0 };
6489
- const _hoisted_7$5 = ["onClick"];
6503
+ const _hoisted_7$4 = ["onClick"];
6490
6504
  const _hoisted_8$2 = { class: "flex" };
6491
6505
  const _hoisted_9$2 = ["onClick"];
6492
6506
  const _hoisted_10$1 = { key: 0 };
@@ -6659,7 +6673,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
6659
6673
  }, null, 8, ["class"])
6660
6674
  ], 2)
6661
6675
  ])
6662
- ], 8, _hoisted_7$5);
6676
+ ], 8, _hoisted_7$4);
6663
6677
  }), 128))
6664
6678
  ]),
6665
6679
  vue.createElementVNode("tbody", null, [
@@ -6758,7 +6772,7 @@ const _hoisted_6$8 = {
6758
6772
  key: 0,
6759
6773
  class: "data-row"
6760
6774
  };
6761
- const _hoisted_7$4 = { class: "key" };
6775
+ const _hoisted_7$3 = { class: "key" };
6762
6776
  const _hoisted_8$1 = { class: "m-0" };
6763
6777
  const _hoisted_9$1 = {
6764
6778
  key: 0,
@@ -6827,7 +6841,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
6827
6841
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, ({ id, label }) => {
6828
6842
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: id }, [
6829
6843
  !isUnset(itemData.value[id]) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$8, [
6830
- vue.createElementVNode("div", _hoisted_7$4, [
6844
+ vue.createElementVNode("div", _hoisted_7$3, [
6831
6845
  vue.createElementVNode("p", _hoisted_8$1, vue.toDisplayString(label), 1)
6832
6846
  ]),
6833
6847
  vue.createElementVNode("div", null, [
@@ -16305,8 +16319,7 @@ const _hoisted_4$c = {
16305
16319
  class: "ms-auto ps-05 me-05"
16306
16320
  };
16307
16321
  const _hoisted_5$c = ["value"];
16308
- const _hoisted_6$7 = { class: "selectinput-options" };
16309
- const _hoisted_7$3 = ["aria-selected", "onClick", "onKeydown"];
16322
+ const _hoisted_6$7 = ["aria-selected", "onClick", "onKeydown"];
16310
16323
  const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
16311
16324
  __name: "SelectInput",
16312
16325
  props: {
@@ -16471,7 +16484,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
16471
16484
  placeholder: "Search",
16472
16485
  icon: "search"
16473
16486
  }, null, 8, ["modelValue"])) : vue.createCommentVNode("", true),
16474
- vue.createElementVNode("div", _hoisted_6$7, [
16487
+ vue.createElementVNode("div", {
16488
+ class: vue.normalizeClass(["selectinput-options", { multiselect: _ctx.multiselect }])
16489
+ }, [
16475
16490
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredOptions.value, (option2, i2) => {
16476
16491
  return vue.openBlock(), vue.createElementBlock("div", {
16477
16492
  key: `${option2}${i2}`,
@@ -16482,19 +16497,21 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
16482
16497
  onClick: ($event) => select2(option2),
16483
16498
  onKeydown: vue.withKeys(($event) => select2(option2), ["enter"])
16484
16499
  }, [
16485
- isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
16486
- key: 0,
16487
- icon: "check"
16488
- })) : vue.createCommentVNode("", true),
16489
- !isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
16490
- key: 1,
16491
- class: "opacity-3",
16492
- icon: "fiber_manual_record"
16493
- })) : vue.createCommentVNode("", true),
16500
+ _ctx.multiselect ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
16501
+ isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
16502
+ key: 0,
16503
+ icon: "select_check_box"
16504
+ })) : vue.createCommentVNode("", true),
16505
+ !isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
16506
+ key: 1,
16507
+ class: "opacity-3",
16508
+ icon: "check_box_outline_blank"
16509
+ })) : vue.createCommentVNode("", true)
16510
+ ], 64)) : vue.createCommentVNode("", true),
16494
16511
  vue.createElementVNode("span", null, vue.toDisplayString(getLabel(option2)), 1)
16495
- ], 42, _hoisted_7$3);
16512
+ ], 42, _hoisted_6$7);
16496
16513
  }), 128))
16497
- ]),
16514
+ ], 2),
16498
16515
  vue.renderSlot(_ctx.$slots, "last", {}, void 0, true)
16499
16516
  ]),
16500
16517
  _: 3
@@ -16518,9 +16535,10 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
16518
16535
  !_ctx.hideLabel ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$g, vue.toDisplayString(selectedLabel.value), 1)) : vue.createCommentVNode("", true),
16519
16536
  _ctx.clearable && selectedItemCount.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c, [
16520
16537
  vue.createVNode(vue.unref(Btn), {
16538
+ flat: "",
16521
16539
  thin: "",
16522
16540
  icon: "clear",
16523
- class: "color-primary bg-gray-20",
16541
+ class: "color-gray",
16524
16542
  onClick: _cache[0] || (_cache[0] = ($event) => {
16525
16543
  vue.isRef(selectedItems) ? selectedItems.value = [] : selectedItems = [];
16526
16544
  emitUpdate();
@@ -16548,7 +16566,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
16548
16566
  };
16549
16567
  }
16550
16568
  });
16551
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-a26862a2"]]);
16569
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-25fde24f"]]);
16552
16570
  /*!
16553
16571
  * vue-draggable-next v2.2.0
16554
16572
  * (c) 2023 Anish George
@@ -19542,32 +19560,30 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
19542
19560
  }
19543
19561
  });
19544
19562
  const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-d86ce838"]]);
19545
- const _withScopeId$2 = (n2) => (vue.pushScopeId("data-v-4c71cd49"), n2 = n2(), vue.popScopeId(), n2);
19546
19563
  const _hoisted_1$k = { class: "bagel-input" };
19547
19564
  const _hoisted_2$f = {
19548
19565
  key: 0,
19549
- class: "single-image"
19566
+ class: "bgl-multi-preview"
19550
19567
  };
19551
19568
  const _hoisted_3$b = ["src"];
19552
- const _hoisted_4$7 = {
19553
- key: 1,
19554
- class: "multi-image-item previewName"
19555
- };
19556
- const _hoisted_5$7 = ["src"];
19557
- const _hoisted_6$5 = { class: "no-margin" };
19569
+ const _hoisted_4$7 = { class: "m-0" };
19570
+ const _hoisted_5$7 = ["width", "src"];
19571
+ const _hoisted_6$5 = { class: "no-margin multi-preview-txt" };
19558
19572
  const _hoisted_7$2 = {
19559
19573
  key: 0,
19560
- class: "imagePreviewWrap"
19574
+ class: "progress"
19561
19575
  };
19562
- const _hoisted_8 = ["src"];
19563
- const _hoisted_9 = { class: "previewName" };
19564
- const _hoisted_10 = ["width", "src"];
19565
- const _hoisted_11 = { class: "no-margin" };
19566
- const _hoisted_12 = {
19576
+ const _hoisted_8 = {
19577
+ key: 1,
19578
+ class: "bgl-single-preview"
19579
+ };
19580
+ const _hoisted_9 = ["src"];
19581
+ const _hoisted_10 = {
19567
19582
  key: 0,
19568
19583
  class: "progress"
19569
19584
  };
19570
- const _hoisted_13 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("p", null, "Drop files here or click to upload", -1));
19585
+ const _hoisted_11 = ["src"];
19586
+ const _hoisted_12 = { class: "p-1 flex column hover fileUploadPlaceHolder" };
19571
19587
  const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19572
19588
  __name: "FileUpload",
19573
19589
  props: {
@@ -19577,7 +19593,10 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19577
19593
  bindkey: {},
19578
19594
  modelValue: {},
19579
19595
  width: {},
19580
- topic: {}
19596
+ height: {},
19597
+ topic: {},
19598
+ fill: { type: Boolean },
19599
+ oval: { type: Boolean }
19581
19600
  },
19582
19601
  emits: ["update:modelValue", "addFileStart"],
19583
19602
  setup(__props, { emit: __emit }) {
@@ -19585,6 +19604,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19585
19604
  const emit2 = __emit;
19586
19605
  const bagel = useBagel();
19587
19606
  const bindKey2 = props2.bindkey || "id";
19607
+ const isImage = (str) => IMAGE_FORMATS_REGEXP.test(str);
19588
19608
  let file_bindkeys = vue.ref(props2.modelValue || []);
19589
19609
  const storageFiles = vue.ref([]);
19590
19610
  async function fetchFiles() {
@@ -19703,9 +19723,11 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19703
19723
  vue.createElementVNode("label", null, vue.toDisplayString(_ctx.label), 1),
19704
19724
  vue.createElementVNode("div", {
19705
19725
  class: vue.normalizeClass(["fileUploadWrap", {
19706
- fileDropZone: !storageFiles.value.length && !fileQueue.value.length,
19707
- dragover: vue.unref(isDragOver)
19726
+ "fileDropZone": !storageFiles.value.length && !fileQueue.value.length,
19727
+ "dragover": vue.unref(isDragOver),
19728
+ "bgl_oval-upload": _ctx.oval
19708
19729
  }]),
19730
+ style: vue.normalizeStyle({ width: props2.width, height: props2.height || "215px" }),
19709
19731
  onClick: browse,
19710
19732
  onDragover: dragover,
19711
19733
  onDrop: drop3,
@@ -19715,24 +19737,23 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19715
19737
  files: storageFiles.value,
19716
19738
  fileQueue: fileQueue.value
19717
19739
  }, () => [
19718
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
19719
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
19720
- key: file.id
19721
- }, [
19722
- !_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
19723
- vue.createElementVNode("img", {
19724
- class: "single preview",
19725
- src: file.url,
19726
- alt: ""
19727
- }, null, 8, _hoisted_3$b)
19728
- ])) : vue.createCommentVNode("", true),
19729
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$7, [
19730
- vue.createElementVNode("img", {
19731
- class: "preview",
19740
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
19741
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
19742
+ return vue.openBlock(), vue.createElementBlock("div", {
19743
+ key: file.id,
19744
+ class: "multi-image-item-preview"
19745
+ }, [
19746
+ isImage(file.extension || file.url) ? (vue.openBlock(), vue.createElementBlock("img", {
19747
+ key: 0,
19748
+ class: "multi-preview",
19732
19749
  src: file.url,
19733
19750
  alt: ""
19734
- }, null, 8, _hoisted_5$7),
19735
- vue.createElementVNode("p", _hoisted_6$5, vue.toDisplayString(file.name), 1),
19751
+ }, null, 8, _hoisted_3$b)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
19752
+ key: 1,
19753
+ icon: "draft",
19754
+ class: "multi-preview"
19755
+ })),
19756
+ vue.createElementVNode("p", _hoisted_4$7, vue.toDisplayString(file.name), 1),
19736
19757
  vue.createVNode(vue.unref(Btn), {
19737
19758
  thin: "",
19738
19759
  flat: "",
@@ -19740,42 +19761,84 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19740
19761
  color: "red",
19741
19762
  onClick: vue.withModifiers(($event) => removeFile(file), ["stop"])
19742
19763
  }, null, 8, ["onClick"])
19743
- ])) : vue.createCommentVNode("", true)
19744
- ], 64);
19745
- }), 128)),
19746
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(fileQueue.value, (fileQ) => {
19747
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
19748
- key: fileQ.file
19749
- }, [
19750
- !_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
19751
- vue.createElementVNode("img", {
19752
- class: "preview",
19753
- src: fileToUrl(fileQ.file),
19754
- alt: ""
19755
- }, null, 8, _hoisted_8)
19756
- ])) : vue.createCommentVNode("", true),
19757
- vue.createElementVNode("div", _hoisted_9, [
19758
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("img", {
19764
+ ]);
19765
+ }), 128)),
19766
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(fileQueue.value, (fileQ) => {
19767
+ return vue.openBlock(), vue.createElementBlock("div", {
19768
+ key: fileQ.file.name,
19769
+ class: "multi-image-item-preview"
19770
+ }, [
19771
+ isImage(fileQ.file.type) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
19772
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("img", {
19773
+ key: 0,
19774
+ width: _ctx.width || "220",
19775
+ class: "multi-preview",
19776
+ src: fileToUrl(fileQ.file),
19777
+ alt: ""
19778
+ }, null, 8, _hoisted_5$7)) : vue.createCommentVNode("", true)
19779
+ ], 64)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
19780
+ key: 1,
19781
+ icon: "draft",
19782
+ class: "multi-preview"
19783
+ })),
19784
+ vue.createElementVNode("p", _hoisted_6$5, vue.toDisplayString(fileQ.name), 1),
19785
+ vue.createElementVNode("div", {
19786
+ class: vue.normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
19787
+ style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
19788
+ }, [
19789
+ fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$2, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
19790
+ vue.createVNode(vue.unref(_sfc_main$Q), {
19791
+ class: "success",
19792
+ icon: "check"
19793
+ })
19794
+ ], 6)
19795
+ ]);
19796
+ }), 128))
19797
+ ])) : vue.createCommentVNode("", true),
19798
+ !_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
19799
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(storageFiles.value, (file) => {
19800
+ return vue.openBlock(), vue.createElementBlock("div", {
19801
+ key: file.id,
19802
+ class: vue.normalizeClass(["single-image-item-preview", { "bgl_fill-image": _ctx.fill }])
19803
+ }, [
19804
+ isImage(file.extension || file.url) ? (vue.openBlock(), vue.createElementBlock("img", {
19759
19805
  key: 0,
19760
- width: _ctx.width || "220",
19761
- class: "preview",
19762
- src: fileToUrl(fileQ.file),
19806
+ class: "single-preview",
19807
+ src: file.url,
19763
19808
  alt: ""
19764
- }, null, 8, _hoisted_10)) : vue.createCommentVNode("", true),
19765
- vue.createElementVNode("p", _hoisted_11, vue.toDisplayString(fileQ.name), 1),
19809
+ }, null, 8, _hoisted_9)) : (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$Q), {
19810
+ key: 1,
19811
+ size: 4,
19812
+ weight: "2",
19813
+ icon: "draft",
19814
+ class: "color-primary w-100"
19815
+ }))
19816
+ ], 2);
19817
+ }), 128)),
19818
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(fileQueue.value, (fileQ) => {
19819
+ return vue.openBlock(), vue.createElementBlock("div", {
19820
+ key: fileQ.file.name,
19821
+ class: vue.normalizeClass(["single-image-item-preview", { "bgl_fill-image": _ctx.fill }])
19822
+ }, [
19766
19823
  vue.createElementVNode("div", {
19767
19824
  class: vue.normalizeClass(["pie", { complete: fileQ.progress === 100 }]),
19768
19825
  style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
19769
19826
  }, [
19770
- fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
19827
+ fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
19771
19828
  vue.createVNode(vue.unref(_sfc_main$Q), {
19772
19829
  class: "success",
19773
19830
  icon: "check"
19774
19831
  })
19775
- ], 6)
19776
- ])
19777
- ], 64);
19778
- }), 128))
19832
+ ], 6),
19833
+ isImage(fileQ.file.type) ? (vue.openBlock(), vue.createElementBlock("img", {
19834
+ key: 0,
19835
+ class: "single-preview",
19836
+ src: fileToUrl(fileQ.file),
19837
+ alt: ""
19838
+ }, null, 8, _hoisted_11)) : vue.createCommentVNode("", true)
19839
+ ], 2);
19840
+ }), 128))
19841
+ ])) : vue.createCommentVNode("", true)
19779
19842
  ], true),
19780
19843
  !storageFiles.value.length && !fileQueue.value.length || _ctx.multiple ? vue.renderSlot(_ctx.$slots, "placeholder", {
19781
19844
  key: 0,
@@ -19783,14 +19846,17 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19783
19846
  fileQueue: fileQueue.value,
19784
19847
  browse
19785
19848
  }, () => [
19786
- _hoisted_13
19849
+ vue.createElementVNode("p", _hoisted_12, [
19850
+ vue.createVNode(vue.unref(_sfc_main$Q), { icon: "upload_2" }),
19851
+ vue.createTextVNode(" Drop files here or click to upload ")
19852
+ ])
19787
19853
  ], true) : vue.createCommentVNode("", true)
19788
- ], 34)
19854
+ ], 38)
19789
19855
  ]);
19790
19856
  };
19791
19857
  }
19792
19858
  });
19793
- const $el = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-4c71cd49"]]);
19859
+ const $el = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-5911e10d"]]);
19794
19860
  const _withScopeId$1 = (n2) => (vue.pushScopeId("data-v-06b95183"), n2 = n2(), vue.popScopeId(), n2);
19795
19861
  const _hoisted_1$j = ["title"];
19796
19862
  const _hoisted_2$e = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
@@ -33180,7 +33246,11 @@ function createNodeFromContent(content, schema, options) {
33180
33246
  if (isArrayContent) {
33181
33247
  return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));
33182
33248
  }
33183
- return schema.nodeFromJSON(content);
33249
+ const node = schema.nodeFromJSON(content);
33250
+ if (options.errorOnInvalidContent) {
33251
+ node.check();
33252
+ }
33253
+ return node;
33184
33254
  } catch (error) {
33185
33255
  if (options.errorOnInvalidContent) {
33186
33256
  throw new Error("[tiptap error]: Invalid JSON content", { cause: error });
@@ -46359,7 +46429,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
46359
46429
  });
46360
46430
  const TelInput = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-9d176183"]]);
46361
46431
  /*!
46362
- * Signature Pad v5.0.2 | https://github.com/szimek/signature_pad
46432
+ * Signature Pad v5.0.3 | https://github.com/szimek/signature_pad
46363
46433
  * (c) 2024 Szymon Nowak | Released under the MIT license
46364
46434
  */
46365
46435
  class Point {
@@ -46399,7 +46469,7 @@ class Bezier {
46399
46469
  const l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);
46400
46470
  const dxm = m1.x - m2.x;
46401
46471
  const dym = m1.y - m2.y;
46402
- const k2 = l2 / (l1 + l2);
46472
+ const k2 = l1 + l2 == 0 ? 0 : l2 / (l1 + l2);
46403
46473
  const cm = { x: m2.x + dxm * k2, y: m2.y + dym * k2 };
46404
46474
  const tx = s2.x - cm.x;
46405
46475
  const ty = s2.y - cm.y;
@@ -47090,7 +47160,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
47090
47160
  }
47091
47161
  });
47092
47162
  const _hoisted_1$f = {
47093
- class: "toolbar",
47163
+ class: "toolbar flex gap-025 pb-05 flex-wrap",
47094
47164
  role: "toolbar"
47095
47165
  };
47096
47166
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
@@ -47101,82 +47171,58 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
47101
47171
  emits: ["action"],
47102
47172
  setup(__props, { emit: __emit }) {
47103
47173
  const emit2 = __emit;
47104
- const colorPicker = vue.ref(null);
47105
- const fontSizeInput = vue.ref(null);
47174
+ vue.ref(null);
47175
+ vue.ref(null);
47106
47176
  const toolbarOptions = [
47177
+ { name: "separator" },
47107
47178
  { name: "bold", icon: "format_bold" },
47108
47179
  { name: "italic", icon: "format_italic" },
47109
47180
  { name: "underline", icon: "format_underlined" },
47110
- { name: "fontSize", icon: "format_size" },
47111
- { name: "fontFamily", icon: "font_download" },
47112
- { name: "textColor", icon: "text_format" },
47113
- { name: "backgroundColor", icon: "format_color_fill" },
47114
- { name: "alignLeft", icon: "format_align_left" },
47115
- { name: "alignCenter", icon: "format_align_center" },
47116
- { name: "alignRight", icon: "format_align_right" },
47117
- { name: "alignJustify", icon: "format_align_justify" },
47181
+ { name: "separator" },
47118
47182
  { name: "orderedList", icon: "format_list_numbered" },
47119
47183
  { name: "unorderedList", icon: "format_list_bulleted" },
47120
- { name: "indent", icon: "format_indent_increase" },
47121
- { name: "outdent", icon: "format_indent_decrease" },
47122
- { name: "link", icon: "link" },
47123
- { name: "image", icon: "image" },
47124
- { name: "table", icon: "table_chart" },
47125
- { name: "blockquote", icon: "format_quote" },
47126
- { name: "codeBlock", icon: "code" },
47127
- { name: "splitView", icon: "splitscreen_right" },
47128
- { name: "codeView", icon: "code" }
47184
+ { name: "separator" },
47185
+ { name: "link", icon: "add_link" },
47186
+ { name: "image", icon: "add_photo_alternate" },
47187
+ { name: "youtube", icon: "youtube_activity" },
47188
+ { name: "separator" },
47189
+ { name: "splitView", icon: "code" },
47190
+ { name: "clear", icon: "format_clear" }
47129
47191
  ];
47130
- function handleColorPick(type3) {
47131
- var _a2;
47132
- const color2 = (_a2 = colorPicker.value) == null ? void 0 : _a2.value;
47133
- if (color2) {
47134
- emit2("action", type3, color2);
47135
- }
47136
- }
47137
- function handleFontSizeChange() {
47138
- var _a2;
47139
- const size2 = (_a2 = fontSizeInput.value) == null ? void 0 : _a2.value;
47140
- if (size2) {
47141
- emit2("action", "fontSize", size2);
47142
- }
47192
+ function handleSelectChange(selectedOption) {
47193
+ emit2("action", "formatBlock", selectedOption);
47143
47194
  }
47144
47195
  return (_ctx, _cache) => {
47145
47196
  const _directive_tooltip = vue.resolveDirective("tooltip");
47146
47197
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
47147
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(toolbarOptions.filter((t) => _ctx.config.includes(t.name)), (action) => {
47148
- return vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(Btn), {
47149
- key: action.name,
47150
- thin: "",
47151
- color: "light",
47152
- "aria-label": action.name,
47153
- icon: action.icon,
47154
- onClick: ($event) => emit2("action", action.name)
47155
- }, null, 8, ["aria-label", "icon", "onClick"])), [
47156
- [_directive_tooltip, action.name]
47157
- ]);
47158
- }), 128)),
47159
- _ctx.config.includes("textColor") || _ctx.config.includes("backgroundColor") ? (vue.openBlock(), vue.createElementBlock("input", {
47160
- key: 0,
47161
- ref_key: "colorPicker",
47162
- ref: colorPicker,
47163
- type: "color",
47164
- onChange: _cache[0] || (_cache[0] = ($event) => handleColorPick(_ctx.config.includes("textColor") ? "textColor" : "backgroundColor"))
47165
- }, null, 544)) : vue.createCommentVNode("", true),
47166
- _ctx.config.includes("fontSize") ? (vue.openBlock(), vue.createElementBlock("input", {
47167
- key: 1,
47168
- ref_key: "fontSizeInput",
47169
- ref: fontSizeInput,
47170
- type: "number",
47171
- min: "1",
47172
- max: "7",
47173
- onChange: handleFontSizeChange
47174
- }, null, 544)) : vue.createCommentVNode("", true)
47198
+ vue.createVNode(SelectInput, {
47199
+ class: "m-0 w150",
47200
+ options: ["Text", "Heading 1", "Heading 2", "Heading 3", "Heading 4", "Heading 5", "Heading 6", "Blockquote", "Code"],
47201
+ onChange: handleSelectChange
47202
+ }),
47203
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(toolbarOptions, (action, index2) => {
47204
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
47205
+ action.name !== "separator" && _ctx.config.includes(action.name) ? vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(Btn), {
47206
+ key: action.name,
47207
+ thin: "",
47208
+ flat: "",
47209
+ class: "rounded",
47210
+ "aria-label": action.name,
47211
+ icon: action.icon,
47212
+ onClick: ($event) => emit2("action", action.name)
47213
+ }, null, 8, ["aria-label", "icon", "onClick"])), [
47214
+ [_directive_tooltip, action.name]
47215
+ ]) : vue.createCommentVNode("", true),
47216
+ action.name === "separator" ? (vue.openBlock(), vue.createElementBlock("span", {
47217
+ key: `separator-${index2}`,
47218
+ class: "opacity-2 mb-025"
47219
+ }, "|")) : vue.createCommentVNode("", true)
47220
+ ], 64);
47221
+ }), 64))
47175
47222
  ]);
47176
47223
  };
47177
47224
  }
47178
47225
  });
47179
- const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-4c741194"]]);
47180
47226
  function applyFormatting(command2, value = "") {
47181
47227
  const selection = window.getSelection();
47182
47228
  if (selection && selection.rangeCount > 0) {
@@ -47349,8 +47395,11 @@ function createTable() {
47349
47395
  }
47350
47396
  }
47351
47397
  }
47352
- const _hoisted_1$e = { class: "rich-text-editor" };
47353
- const _hoisted_2$b = ["innerHTML"];
47398
+ const _hoisted_1$e = { class: "rich-text-editor round pt-05 px-1 pb-1" };
47399
+ const _hoisted_2$b = {
47400
+ key: 0,
47401
+ class: "preview-area bg-black color-white w-100 rounded p-1"
47402
+ };
47354
47403
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
47355
47404
  __name: "index",
47356
47405
  props: {
@@ -47384,7 +47433,9 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
47384
47433
  "blockquote",
47385
47434
  "codeBlock",
47386
47435
  "splitView",
47387
- "codeView"
47436
+ "youtube",
47437
+ "codeView",
47438
+ "clear"
47388
47439
  ];
47389
47440
  const config = vue.ref(props2.toolbarConfig || defaultConfig2);
47390
47441
  let contentHtml = vue.ref(props2.modelValue);
@@ -47467,15 +47518,15 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
47467
47518
  }
47468
47519
  return (_ctx, _cache) => {
47469
47520
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
47470
- vue.createVNode(Toolbar, {
47521
+ vue.createVNode(_sfc_main$a, {
47471
47522
  config: config.value,
47472
47523
  onAction: handleToolbarAction
47473
47524
  }, null, 8, ["config"]),
47474
47525
  vue.createElementVNode("div", {
47475
- class: vue.normalizeClass(["editor-container", { "split-view": vue.unref(isSplitView) }])
47526
+ class: vue.normalizeClass(["editor-container flex flex-stretch", { "split-view": vue.unref(isSplitView) }])
47476
47527
  }, [
47477
47528
  vue.createElementVNode("div", {
47478
- class: vue.normalizeClass(["content-area", { "code-view": vue.unref(isCodeView) }])
47529
+ class: vue.normalizeClass(["content-area rounded p-1 bg-white shadow-light w-100 grid", { "code-view": vue.unref(isCodeView) }])
47479
47530
  }, [
47480
47531
  vue.unref(isCodeView) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("textarea", {
47481
47532
  key: 0,
@@ -47488,6 +47539,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
47488
47539
  ref_key: "editableContent",
47489
47540
  ref: editableContent,
47490
47541
  contenteditable: "true",
47542
+ class: "editableContent",
47491
47543
  role: "textbox",
47492
47544
  "aria-multiline": "true",
47493
47545
  tabindex: "0",
@@ -47495,17 +47547,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
47495
47547
  onKeydown: handleKeyDown2
47496
47548
  }, null, 544))
47497
47549
  ], 2),
47498
- vue.unref(isSplitView) ? (vue.openBlock(), vue.createElementBlock("div", {
47499
- key: 0,
47500
- class: "preview-area",
47501
- innerHTML: vue.unref(contentHtml)
47502
- }, null, 8, _hoisted_2$b)) : vue.createCommentVNode("", true)
47550
+ vue.unref(isSplitView) ? (vue.openBlock(), vue.createElementBlock("code", _hoisted_2$b, vue.toDisplayString(vue.unref(contentHtml)), 1)) : vue.createCommentVNode("", true)
47503
47551
  ], 2)
47504
47552
  ]);
47505
47553
  };
47506
47554
  }
47507
47555
  });
47508
- const index = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-e3cd444d"]]);
47556
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d3f64de7"]]);
47509
47557
  const _hoisted_1$d = ["for"];
47510
47558
  const _hoisted_2$a = ["id", "name", "value"];
47511
47559
  const _hoisted_3$8 = { class: "flex w-100 gap-1 flex-wrap m_gap-05 m_gap-row-025" };
@@ -54382,6 +54430,10 @@ const allCountries = countryArray.map(
54382
54430
  areaCodes
54383
54431
  })
54384
54432
  );
54433
+ const IMAGE_FORMATS = ["jpeg", "png", "webp", "avif", "apng", "gif", "avifs", "svg", "bmp", "jpg"];
54434
+ const IMAGE_FORMATS_REGEXP = new RegExp(`(${IMAGE_FORMATS.join("|")})$`, "i");
54435
+ const VIDEO_FORMATS = ["mp4", "webm", "ogg", "mov", "avi", "flv", "wmv", "mkv", "ts", "m3u8"];
54436
+ const VIDEO_FORMATS_REGEXP = new RegExp(`(${VIDEO_FORMATS.join("|")})$`, "i");
54385
54437
  exports.Accordion = _sfc_main$A;
54386
54438
  exports.AccordionItem = AccordionItem;
54387
54439
  exports.Alert = Alert;
@@ -54406,6 +54458,8 @@ exports.DatePicker = _sfc_main$h;
54406
54458
  exports.Dropdown = kt$1;
54407
54459
  exports.FileUpload = $el;
54408
54460
  exports.Flag = Flag;
54461
+ exports.IMAGE_FORMATS = IMAGE_FORMATS;
54462
+ exports.IMAGE_FORMATS_REGEXP = IMAGE_FORMATS_REGEXP;
54409
54463
  exports.Icon = _sfc_main$Q;
54410
54464
  exports.JSONInput = JSONInput;
54411
54465
  exports.Layout = Layout;
@@ -54439,6 +54493,8 @@ exports.TextInput = TextInput;
54439
54493
  exports.Title = _sfc_main$B;
54440
54494
  exports.ToggleInput = ToggleInput;
54441
54495
  exports.TopBar = TopBar;
54496
+ exports.VIDEO_FORMATS = VIDEO_FORMATS;
54497
+ exports.VIDEO_FORMATS_REGEXP = VIDEO_FORMATS_REGEXP;
54442
54498
  exports.allCountries = allCountries;
54443
54499
  exports.bagelFormUtils = bagelFormUtils;
54444
54500
  exports.bagelInjectionKey = bagelInjectionKey;