@bagelink/vue 0.0.360 → 0.0.374

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/components/Alert.vue.d.ts.map +1 -1
  2. package/dist/components/Card.vue.d.ts +2 -0
  3. package/dist/components/Card.vue.d.ts.map +1 -1
  4. package/dist/components/RouterWrapper.vue.d.ts.map +1 -1
  5. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  6. package/dist/components/form/BglForm.vue.d.ts +3 -0
  7. package/dist/components/form/BglForm.vue.d.ts.map +1 -1
  8. package/dist/components/form/inputs/DatePicker.vue.d.ts +4 -2
  9. package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
  10. package/dist/components/form/inputs/RichText.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  12. package/dist/components/layout/SidebarMenu.vue.d.ts.map +1 -1
  13. package/dist/index.cjs +154 -127
  14. package/dist/index.mjs +154 -127
  15. package/dist/style.css +105 -53
  16. package/dist/utils/BagelFormUtils.d.ts +10 -0
  17. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/Alert.vue +1 -1
  20. package/src/components/Card.vue +51 -23
  21. package/src/components/RouterWrapper.vue +4 -6
  22. package/src/components/form/BglField.vue +65 -36
  23. package/src/components/form/BglForm.vue +64 -60
  24. package/src/components/form/inputs/DatePicker.vue +15 -18
  25. package/src/components/form/inputs/RichText.vue +68 -41
  26. package/src/components/form/inputs/SelectInput.vue +1 -1
  27. package/src/components/form/inputs/TextInput.vue +4 -0
  28. package/src/components/layout/SidebarMenu.vue +39 -20
  29. package/src/styles/text.css +1 -1
  30. package/src/styles/theme.css +1 -0
  31. package/src/utils/BagelFormUtils.ts +14 -0
package/dist/index.cjs CHANGED
@@ -4570,7 +4570,10 @@ var __publicField = (obj, key, value) => {
4570
4570
  };
4571
4571
  const axios = axios$1.create({
4572
4572
  // withCredentials to true to send cookies with requests
4573
- withCredentials: true
4573
+ headers: {
4574
+ "Allow-Control-Allow-Origin": "*",
4575
+ withCredentials: true
4576
+ }
4574
4577
  });
4575
4578
  class DataRequest {
4576
4579
  constructor(table, bagel) {
@@ -4586,7 +4589,7 @@ class DataRequest {
4586
4589
  if (!this.data_table)
4587
4590
  throw new Error("Data table not set");
4588
4591
  const { data: data2 } = await axios.post(
4589
- `${this.bagel.host}/data/${this.data_table}`,
4592
+ `/data/${this.data_table}`,
4590
4593
  item
4591
4594
  );
4592
4595
  return data2;
@@ -4600,7 +4603,7 @@ class DataRequest {
4600
4603
  if (!this.data_table)
4601
4604
  throw new Error("Data table not set");
4602
4605
  const filterStr = Object.keys(this._filter).length ? `?filter={${Object.entries(this._filter).map(([k2, v2]) => `${k2}:${v2}`).join(",")}}` : "";
4603
- const url = `${this.bagel.host}/data/${this.data_table}${this.itemID ? `/${this.itemID}` : ""}${filterStr}`;
4606
+ const url = `/data/${this.data_table}${this.itemID ? `/${this.itemID}` : ""}${filterStr}`;
4604
4607
  try {
4605
4608
  const { data: data2 } = await axios.get(url);
4606
4609
  return data2;
@@ -4618,18 +4621,18 @@ class DataRequest {
4618
4621
  if (!this.data_table)
4619
4622
  throw new Error("Data table not set");
4620
4623
  const { data: data2 } = await axios.delete(
4621
- `${this.bagel.host}/data/${this.data_table}/${this.itemID}`
4624
+ `/data/${this.data_table}/${this.itemID}`
4622
4625
  );
4623
4626
  return data2;
4624
4627
  }
4625
4628
  async put(updatedItem) {
4626
- const { data_table, itemID, bagel } = this;
4629
+ const { data_table, itemID } = this;
4627
4630
  if (!data_table)
4628
4631
  throw new Error("Data table not set");
4629
4632
  if (!itemID)
4630
4633
  throw new Error("Item ID not set");
4631
4634
  const { data: data2 } = await axios.put(
4632
- `${bagel.host}/data/${data_table}/${itemID}`,
4635
+ `/data/${data_table}/${itemID}`,
4633
4636
  updatedItem
4634
4637
  );
4635
4638
  return data2;
@@ -4678,7 +4681,7 @@ class BagelAuth {
4678
4681
  formData.append("username", (user == null ? void 0 : user.email) || "");
4679
4682
  formData.append("password", (user == null ? void 0 : user.password) || "");
4680
4683
  try {
4681
- await axios.post(`${this.bagel.host}/auth/cookie/login`, formData, {
4684
+ await axios.post("/auth/cookie/login", formData, {
4682
4685
  headers: {
4683
4686
  "Content-Type": "multipart/form-data",
4684
4687
  withCredentials: true
@@ -4692,7 +4695,7 @@ class BagelAuth {
4692
4695
  async logout() {
4693
4696
  var _a2, _b;
4694
4697
  try {
4695
- await axios.post(`${this.bagel.host}/auth/cookie/logout`);
4698
+ await axios.post("/auth/cookie/logout");
4696
4699
  } catch (err) {
4697
4700
  (_b = (_a2 = this.bagel).onError) == null ? void 0 : _b.call(_a2, err);
4698
4701
  console.log(err);
@@ -4700,12 +4703,12 @@ class BagelAuth {
4700
4703
  this.user = null;
4701
4704
  }
4702
4705
  async acceptInvite(token, user) {
4703
- await axios.post(`${this.bagel.host}/auth/accept-invite/${token}`, user);
4706
+ await axios.post(`/auth/accept-invite/${token}`, user);
4704
4707
  await this.login(user);
4705
4708
  }
4706
4709
  async register(user, errors) {
4707
4710
  try {
4708
- await axios.post(`${this.bagel.host}/auth/register`, user);
4711
+ await axios.post("/auth/register", user);
4709
4712
  return this.login(user);
4710
4713
  } catch (err) {
4711
4714
  console.error(err);
@@ -4721,7 +4724,8 @@ class Bagel {
4721
4724
  __publicField(this, "onError");
4722
4725
  __publicField(this, "read_table", null);
4723
4726
  __publicField(this, "auth", new BagelAuth(this));
4724
- this.host = host;
4727
+ this.host = host.replace(/\/$/, "");
4728
+ axios.defaults.baseURL = this.host;
4725
4729
  this.onError = onError;
4726
4730
  }
4727
4731
  data(table) {
@@ -4736,7 +4740,7 @@ class Bagel {
4736
4740
  const queryParams = Object.entries(query).map(([key, value]) => `${key}=${value}`).join("&");
4737
4741
  endpoint = `${endpoint}?${queryParams}`;
4738
4742
  }
4739
- return axios.get(`${this.host}/api/${endpoint}`).then(({ data: data2 }) => data2);
4743
+ return axios.get(`/api/${endpoint}`).then(({ data: data2 }) => data2);
4740
4744
  }
4741
4745
  async get(endpoint, query) {
4742
4746
  endpoint = this._endpointCleaner(endpoint);
@@ -4747,7 +4751,7 @@ class Bagel {
4747
4751
  if (queryParams)
4748
4752
  endpoint = `${endpoint}?${queryParams}`;
4749
4753
  }
4750
- const url = `${this.host}/${endpoint}`;
4754
+ const url = `/${endpoint}`;
4751
4755
  return axios.get(url).then(({ data: data2 }) => data2).catch((err) => {
4752
4756
  var _a2;
4753
4757
  (_a2 = this.onError) == null ? void 0 : _a2.call(this, err);
@@ -4756,7 +4760,7 @@ class Bagel {
4756
4760
  }
4757
4761
  async delete(endpoint) {
4758
4762
  endpoint = this._endpointCleaner(endpoint);
4759
- return axios.delete(`${this.host}/${endpoint}`).then(({ data: data2 }) => data2).catch((err) => {
4763
+ return axios.delete(`/${endpoint}`).then(({ data: data2 }) => data2).catch((err) => {
4760
4764
  var _a2;
4761
4765
  (_a2 = this.onError) == null ? void 0 : _a2.call(this, err);
4762
4766
  throw err;
@@ -4764,7 +4768,7 @@ class Bagel {
4764
4768
  }
4765
4769
  async put(endpoint, payload) {
4766
4770
  endpoint = this._endpointCleaner(endpoint);
4767
- return axios.put(`${this.host}/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4771
+ return axios.put(`/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4768
4772
  var _a2;
4769
4773
  (_a2 = this.onError) == null ? void 0 : _a2.call(this, err);
4770
4774
  throw err;
@@ -4772,7 +4776,7 @@ class Bagel {
4772
4776
  }
4773
4777
  async patch(endpoint, payload = {}) {
4774
4778
  endpoint = this._endpointCleaner(endpoint);
4775
- return axios.patch(`${this.host}/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4779
+ return axios.patch(`/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4776
4780
  var _a2;
4777
4781
  (_a2 = this.onError) == null ? void 0 : _a2.call(this, err);
4778
4782
  throw err;
@@ -4780,7 +4784,7 @@ class Bagel {
4780
4784
  }
4781
4785
  async post(endpoint, payload = {}) {
4782
4786
  endpoint = this._endpointCleaner(endpoint);
4783
- return axios.post(`${this.host}/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4787
+ return axios.post(`/${endpoint}`, payload).then(({ data: data2 }) => data2).catch((err) => {
4784
4788
  var _a2;
4785
4789
  (_a2 = this.onError) == null ? void 0 : _a2.call(this, err);
4786
4790
  throw err;
@@ -4789,7 +4793,7 @@ class Bagel {
4789
4793
  async uploadFile(file, options) {
4790
4794
  const formData = new FormData();
4791
4795
  formData.append("file", file);
4792
- const { data: data2 } = await axios.post(`${this.host}/files/upload`, formData, {
4796
+ const { data: data2 } = await axios.post("/files/upload", formData, {
4793
4797
  headers: {
4794
4798
  "Content-Type": "multipart/form-data"
4795
4799
  },
@@ -4907,6 +4911,17 @@ function formatString(str, format2) {
4907
4911
  }
4908
4912
  return str;
4909
4913
  }
4914
+ function richText(id, label, options) {
4915
+ return {
4916
+ $el: "richtext",
4917
+ class: options == null ? void 0 : options.class,
4918
+ required: options == null ? void 0 : options.required,
4919
+ id,
4920
+ label,
4921
+ placeholder: options == null ? void 0 : options.placeholder,
4922
+ attrs: {}
4923
+ };
4924
+ }
4910
4925
  function txtField(id, label, options) {
4911
4926
  return {
4912
4927
  $el: "text",
@@ -4953,6 +4968,7 @@ const BagelFormUtils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
4953
4968
  __proto__: null,
4954
4969
  frmRow,
4955
4970
  numField,
4971
+ richText,
4956
4972
  slctField,
4957
4973
  txtField
4958
4974
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5025,7 +5041,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
5025
5041
  }
5026
5042
  });
5027
5043
  const _hoisted_1$E = { class: "full-nav" };
5028
- const _hoisted_2$v = { class: "nav-scroll" };
5044
+ const _hoisted_2$x = { class: "nav-scroll" };
5029
5045
  const _hoisted_3$m = { class: "nav-links-wrapper" };
5030
5046
  const _hoisted_4$e = { class: "tooltip" };
5031
5047
  const _hoisted_5$b = { class: "bot-buttons-wrapper" };
@@ -5060,7 +5076,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
5060
5076
  })
5061
5077
  ], 32),
5062
5078
  vue.createElementVNode("div", _hoisted_1$E, [
5063
- vue.createElementVNode("div", _hoisted_2$v, [
5079
+ vue.createElementVNode("div", _hoisted_2$x, [
5064
5080
  vue.createElementVNode("div", _hoisted_3$m, [
5065
5081
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
5066
5082
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(link.to ? "router-link" : "div"), {
@@ -5122,7 +5138,7 @@ const _hoisted_1$D = {
5122
5138
  key: 0,
5123
5139
  class: "loading"
5124
5140
  };
5125
- const _hoisted_2$u = {
5141
+ const _hoisted_2$w = {
5126
5142
  key: 1,
5127
5143
  class: "bgl_btn-flex"
5128
5144
  };
@@ -5213,7 +5229,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
5213
5229
  })
5214
5230
  }, {
5215
5231
  default: vue.withCtx(() => [
5216
- _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$u, [
5232
+ _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
5217
5233
  _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
5218
5234
  key: 0,
5219
5235
  icon: _ctx.icon
@@ -5235,7 +5251,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
5235
5251
  });
5236
5252
  const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-d09a83c5"]]);
5237
5253
  const _hoisted_1$C = { class: "tool-bar" };
5238
- const _hoisted_2$t = { class: "modal-footer mt-3" };
5254
+ const _hoisted_2$v = { class: "modal-footer mt-3" };
5239
5255
  const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
5240
5256
  __name: "Modal",
5241
5257
  props: {
@@ -5299,7 +5315,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
5299
5315
  }, null, 8, ["label"])) : vue.createCommentVNode("", true)
5300
5316
  ]),
5301
5317
  vue.renderSlot(_ctx.$slots, "default"),
5302
- vue.createElementVNode("footer", _hoisted_2$t, [
5318
+ vue.createElementVNode("footer", _hoisted_2$v, [
5303
5319
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.actions, (action, i2) => {
5304
5320
  return vue.openBlock(), vue.createBlock(vue.unref(Btn), vue.mergeProps({
5305
5321
  key: i2,
@@ -5426,7 +5442,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
5426
5442
  });
5427
5443
  const ModalForm = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-7e6899c7"]]);
5428
5444
  const _hoisted_1$B = { class: "accordion-item" };
5429
- const _hoisted_2$s = ["aria-expanded", "aria-controls"];
5445
+ const _hoisted_2$u = ["aria-expanded", "aria-controls"];
5430
5446
  const _hoisted_3$l = { class: "accordion-label" };
5431
5447
  const _hoisted_4$d = ["id", "aria-hidden"];
5432
5448
  const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
@@ -5466,7 +5482,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
5466
5482
  }, [
5467
5483
  vue.createVNode(vue.unref(_sfc_main$H), { icon: "expand_more" })
5468
5484
  ], 2)
5469
- ], 8, _hoisted_2$s),
5485
+ ], 8, _hoisted_2$u),
5470
5486
  vue.createVNode(vue.Transition, { name: "expand" }, {
5471
5487
  default: vue.withCtx(() => [
5472
5488
  vue.unref(open) ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -5486,14 +5502,14 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
5486
5502
  });
5487
5503
  const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-bf74738b"]]);
5488
5504
  const _hoisted_1$A = { class: "list-wrap bgl_card thin grid overflow-hidden h-100 p-0" };
5489
- const _hoisted_2$r = { class: "p-1" };
5505
+ const _hoisted_2$t = { class: "p-1" };
5490
5506
  const _hoisted_3$k = { class: "list-content auto-flow-rows align-items-start overflow-y h-100" };
5491
5507
  const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
5492
5508
  __name: "ListView",
5493
5509
  setup(__props) {
5494
5510
  return (_ctx, _cache) => {
5495
5511
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
5496
- vue.createElementVNode("div", _hoisted_2$r, [
5512
+ vue.createElementVNode("div", _hoisted_2$t, [
5497
5513
  vue.renderSlot(_ctx.$slots, "header")
5498
5514
  ]),
5499
5515
  vue.createElementVNode("div", _hoisted_3$k, [
@@ -5504,7 +5520,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
5504
5520
  }
5505
5521
  });
5506
5522
  const _hoisted_1$z = { class: "txt16 no-margin ellipsis" };
5507
- const _hoisted_2$q = { class: "txt14 no-margin txt-gray ellipsis" };
5523
+ const _hoisted_2$s = { class: "txt14 no-margin txt-gray ellipsis" };
5508
5524
  const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5509
5525
  __name: "ListItem",
5510
5526
  props: {
@@ -5533,7 +5549,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5533
5549
  vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1),
5534
5550
  vue.renderSlot(_ctx.$slots, "default")
5535
5551
  ]),
5536
- vue.createElementVNode("p", _hoisted_2$q, [
5552
+ vue.createElementVNode("p", _hoisted_2$s, [
5537
5553
  vue.createTextVNode(vue.toDisplayString(_ctx.subtitle) + " ", 1),
5538
5554
  vue.renderSlot(_ctx.$slots, "subtitle")
5539
5555
  ])
@@ -5545,7 +5561,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5545
5561
  }
5546
5562
  });
5547
5563
  const _hoisted_1$y = { class: "page-top" };
5548
- const _hoisted_2$p = { class: "top-title" };
5564
+ const _hoisted_2$r = { class: "top-title" };
5549
5565
  const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5550
5566
  __name: "PageTitle",
5551
5567
  props: {
@@ -5557,7 +5573,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5557
5573
  setup(__props) {
5558
5574
  return (_ctx, _cache) => {
5559
5575
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
5560
- vue.createElementVNode("h1", _hoisted_2$p, [
5576
+ vue.createElementVNode("h1", _hoisted_2$r, [
5561
5577
  vue.renderSlot(_ctx.$slots, "default"),
5562
5578
  vue.createTextVNode(" " + vue.toDisplayString(__props.value), 1)
5563
5579
  ])
@@ -5566,7 +5582,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5566
5582
  }
5567
5583
  });
5568
5584
  const _hoisted_1$x = { class: "table-list-wrap h-100" };
5569
- const _hoisted_2$o = { class: "infinite-wrapper" };
5585
+ const _hoisted_2$q = { class: "infinite-wrapper" };
5570
5586
  const _hoisted_3$j = { class: "row first-row" };
5571
5587
  const _hoisted_4$c = ["onClick"];
5572
5588
  const _hoisted_5$a = { class: "flex" };
@@ -5607,7 +5623,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5607
5623
  };
5608
5624
  return (_ctx, _cache) => {
5609
5625
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
5610
- vue.createElementVNode("table", _hoisted_2$o, [
5626
+ vue.createElementVNode("table", _hoisted_2$q, [
5611
5627
  vue.createElementVNode("thead", _hoisted_3$j, [
5612
5628
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, (field) => {
5613
5629
  return vue.openBlock(), vue.createElementBlock("th", {
@@ -5674,7 +5690,6 @@ function _sfc_render$1(_ctx, _cache) {
5674
5690
  }
5675
5691
  const TopBar = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", _sfc_render$1]]);
5676
5692
  const _sfc_main$w = {};
5677
- const _hoisted_1$v = { class: "m_overflow-hidden-x" };
5678
5693
  function _sfc_render(_ctx, _cache) {
5679
5694
  const _component_router_view = vue.resolveComponent("router-view");
5680
5695
  return vue.openBlock(), vue.createBlock(_component_router_view, null, {
@@ -5686,11 +5701,9 @@ function _sfc_render(_ctx, _cache) {
5686
5701
  appear: ""
5687
5702
  }, {
5688
5703
  default: vue.withCtx(() => [
5689
- vue.createElementVNode("div", _hoisted_1$v, [
5690
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(Component), {
5691
- key: route == null ? void 0 : route.params.itemID
5692
- }))
5693
- ])
5704
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(Component), {
5705
+ key: route == null ? void 0 : route.params.itemID
5706
+ }))
5694
5707
  ]),
5695
5708
  _: 2
5696
5709
  }, 1024)
@@ -5699,11 +5712,11 @@ function _sfc_render(_ctx, _cache) {
5699
5712
  });
5700
5713
  }
5701
5714
  const RouterWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render]]);
5702
- const _hoisted_1$u = {
5715
+ const _hoisted_1$v = {
5703
5716
  key: 0,
5704
5717
  class: "data"
5705
5718
  };
5706
- const _hoisted_2$n = {
5719
+ const _hoisted_2$p = {
5707
5720
  key: 0,
5708
5721
  class: "data-row"
5709
5722
  };
@@ -5725,7 +5738,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5725
5738
  const itemData = vue.useModel(__props, "data");
5726
5739
  return (_ctx, _cache) => {
5727
5740
  var _a2;
5728
- return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
5741
+ return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
5729
5742
  _ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$s), {
5730
5743
  key: 0,
5731
5744
  label: _ctx.title
@@ -5734,7 +5747,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5734
5747
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
5735
5748
  key: field.id
5736
5749
  }, [
5737
- vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, [
5750
+ vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
5738
5751
  vue.createElementVNode("div", _hoisted_3$i, vue.toDisplayString((field == null ? void 0 : field.label) || vue.unref(keyToLabel)(field.id)), 1),
5739
5752
  vue.createVNode(vue.unref(_sfc_main$l), {
5740
5753
  field,
@@ -5761,9 +5774,11 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
5761
5774
  }
5762
5775
  });
5763
5776
  const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-bb2526f9"]]);
5777
+ const _hoisted_1$u = { class: "card_label" };
5764
5778
  const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
5765
5779
  __name: "Card",
5766
5780
  props: {
5781
+ label: {},
5767
5782
  thin: { type: Boolean },
5768
5783
  outline: { type: Boolean },
5769
5784
  h100: { type: Boolean },
@@ -5776,13 +5791,14 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
5776
5791
  return vue.openBlock(), vue.createElementBlock("div", {
5777
5792
  class: vue.normalizeClass(["bgl_card", {
5778
5793
  thin: _ctx.thin,
5779
- border: _ctx.outline,
5794
+ "border": _ctx.outline,
5780
5795
  "h-100": _ctx.h100,
5781
5796
  [_ctx.bg || ""]: _ctx.bg,
5782
5797
  "overflow-x": _ctx.overflowX,
5783
5798
  "overflow-y": _ctx.overflowY
5784
5799
  }])
5785
5800
  }, [
5801
+ vue.createElementVNode("span", _hoisted_1$u, vue.toDisplayString(_ctx.label), 1),
5786
5802
  vue.renderSlot(_ctx.$slots, "default")
5787
5803
  ], 2);
5788
5804
  };
@@ -5859,6 +5875,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
5859
5875
  }
5860
5876
  });
5861
5877
  const _hoisted_1$s = ["dismissable"];
5878
+ const _hoisted_2$o = { class: "m-0" };
5862
5879
  const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5863
5880
  __name: "Alert",
5864
5881
  props: {
@@ -5885,7 +5902,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5885
5902
  size: 2,
5886
5903
  color: color2[_ctx.type]
5887
5904
  }, null, 8, ["icon", "color"]),
5888
- vue.createElementVNode("p", null, vue.toDisplayString(_ctx.message), 1),
5905
+ vue.createElementVNode("p", _hoisted_2$o, vue.toDisplayString(_ctx.message), 1),
5889
5906
  vue.createVNode(Btn, {
5890
5907
  onClick: _cache[0] || (_cache[0] = ($event) => isDismissed.value = true),
5891
5908
  flat: "",
@@ -5897,7 +5914,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
5897
5914
  };
5898
5915
  }
5899
5916
  });
5900
- const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-94bfcb05"]]);
5917
+ const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-4017e821"]]);
5901
5918
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
5902
5919
  __name: "Badge",
5903
5920
  props: {
@@ -5930,7 +5947,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
5930
5947
  });
5931
5948
  const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-10743b06"]]);
5932
5949
  const _hoisted_1$r = { class: "bgl_vid" };
5933
- const _hoisted_2$m = ["src"];
5950
+ const _hoisted_2$n = ["src"];
5934
5951
  const _hoisted_3$h = ["src", "autoplay", "muted", "loop", "controls"];
5935
5952
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
5936
5953
  __name: "BglVideo",
@@ -5979,7 +5996,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
5979
5996
  frameborder: "0",
5980
5997
  allowfullscreen: "",
5981
5998
  title: "Video"
5982
- }, null, 12, _hoisted_2$m)) : (vue.openBlock(), vue.createElementBlock("video", {
5999
+ }, null, 12, _hoisted_2$n)) : (vue.openBlock(), vue.createElementBlock("video", {
5983
6000
  key: 1,
5984
6001
  src: _ctx.src,
5985
6002
  autoplay: _ctx.autoplay,
@@ -5998,7 +6015,7 @@ const _hoisted_1$q = {
5998
6015
  key: 0,
5999
6016
  class: "blocker"
6000
6017
  };
6001
- const _hoisted_2$l = { class: "Handlers" };
6018
+ const _hoisted_2$m = { class: "Handlers" };
6002
6019
  const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
6003
6020
  __name: "Carousel",
6004
6021
  props: {
@@ -6161,7 +6178,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
6161
6178
  vue.unref(isDragging) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q)) : vue.createCommentVNode("", true),
6162
6179
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
6163
6180
  ], 34),
6164
- vue.createElementVNode("div", _hoisted_2$l, [
6181
+ vue.createElementVNode("div", _hoisted_2$m, [
6165
6182
  vue.createElementVNode("span", { onClick: prev }, [
6166
6183
  vue.renderSlot(_ctx.$slots, "prev", {}, void 0, true)
6167
6184
  ]),
@@ -6182,7 +6199,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6182
6199
  schema: {},
6183
6200
  modelValue: { default: () => ({}) },
6184
6201
  onDelete: {},
6185
- onSubmit: {}
6202
+ onSubmit: {},
6203
+ status: {}
6186
6204
  },
6187
6205
  emits: ["update:modelValue", "submit", "dirty"],
6188
6206
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -6211,17 +6229,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6211
6229
  return (_b = (_a2 = form.value) == null ? void 0 : _a2.reportValidity) == null ? void 0 : _b.call(_a2);
6212
6230
  };
6213
6231
  const clearForm = () => Object.assign(data2.value, {});
6214
- let formStatus = vue.ref("idle");
6215
6232
  const runSubmit = () => {
6216
6233
  var _a2;
6217
- try {
6218
- validateForm();
6219
- (_a2 = props2.onSubmit) == null ? void 0 : _a2.call(props2, data2.value);
6220
- clearForm();
6221
- formStatus.value = "success";
6222
- } catch (e) {
6223
- formStatus.value = "error";
6224
- }
6234
+ const isValid2 = validateForm();
6235
+ if (!isValid2)
6236
+ return;
6237
+ (_a2 = props2.onSubmit) == null ? void 0 : _a2.call(props2, data2.value);
6238
+ clearForm();
6225
6239
  };
6226
6240
  const i18nT = (val) => val;
6227
6241
  const deleteItem = () => {
@@ -6254,7 +6268,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6254
6268
  modelValue: data2.value,
6255
6269
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.value = $event)
6256
6270
  }, null, 8, ["field", "modelValue"]);
6257
- }), 128)) : !vue.unref(slots).success || vue.unref(formStatus) !== "success" ? (vue.openBlock(), vue.createElementBlock("form", {
6271
+ }), 128)) : !vue.unref(slots).success || _ctx.status !== "success" ? (vue.openBlock(), vue.createElementBlock("form", {
6258
6272
  key: 1,
6259
6273
  ref_key: "form",
6260
6274
  ref: form,
@@ -6275,8 +6289,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
6275
6289
  }), 128)),
6276
6290
  vue.renderSlot(_ctx.$slots, "submit")
6277
6291
  ], 544)) : vue.createCommentVNode("", true),
6278
- vue.unref(formStatus) === "success" ? vue.renderSlot(_ctx.$slots, "success", { key: 2 }) : vue.createCommentVNode("", true),
6279
- vue.unref(formStatus) === "error" ? vue.renderSlot(_ctx.$slots, "error", { key: 3 }) : vue.createCommentVNode("", true)
6292
+ _ctx.status === "success" ? vue.renderSlot(_ctx.$slots, "success", { key: 2 }) : vue.createCommentVNode("", true),
6293
+ _ctx.status === "error" ? vue.renderSlot(_ctx.$slots, "error", { key: 3 }) : vue.createCommentVNode("", true)
6280
6294
  ], 64);
6281
6295
  };
6282
6296
  }
@@ -6299,6 +6313,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
6299
6313
  return ToggleInput;
6300
6314
  if (props2.field.$el === "check")
6301
6315
  return CheckInput;
6316
+ if (props2.field.$el === "richtext")
6317
+ return _sfc_main$8;
6302
6318
  return props2.field.$el || "div";
6303
6319
  });
6304
6320
  const emit2 = __emit;
@@ -6314,7 +6330,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
6314
6330
  data2[props2.field.id] = val;
6315
6331
  emit2("update:modelValue", data2);
6316
6332
  },
6317
- get: () => props2.field.id ? props2.modelValue[props2.field.id] : props2.field.defaultValue || ""
6333
+ get: () => {
6334
+ if (props2.field.id)
6335
+ return props2.modelValue[props2.field.id];
6336
+ return props2.field.defaultValue || "";
6337
+ }
6318
6338
  });
6319
6339
  const vIf = vue.computed(() => {
6320
6340
  var _a2, _b;
@@ -6373,7 +6393,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
6373
6393
  });
6374
6394
  const _withScopeId$1 = (n2) => (vue.pushScopeId("data-v-e8219826"), n2 = n2(), vue.popScopeId(), n2);
6375
6395
  const _hoisted_1$p = ["title"];
6376
- const _hoisted_2$k = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("svg", {
6396
+ const _hoisted_2$l = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("svg", {
6377
6397
  xmlns: "http://www.w3.org/2000/svg",
6378
6398
  height: "24",
6379
6399
  viewBox: "0 -960 960 960",
@@ -6382,7 +6402,7 @@ const _hoisted_2$k = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.cr
6382
6402
  /* @__PURE__ */ vue.createElementVNode("path", { d: "M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z" })
6383
6403
  ], -1));
6384
6404
  const _hoisted_3$g = [
6385
- _hoisted_2$k
6405
+ _hoisted_2$l
6386
6406
  ];
6387
6407
  const _hoisted_4$a = ["required", "id"];
6388
6408
  const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
@@ -15036,7 +15056,7 @@ Object.entries(Mo).forEach(([e, t]) => {
15036
15056
  e !== "default" && (Va[e] = t);
15037
15057
  });
15038
15058
  const _hoisted_1$o = ["title"];
15039
- const _hoisted_2$j = { key: 0 };
15059
+ const _hoisted_2$k = { key: 0 };
15040
15060
  const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
15041
15061
  __name: "DateInput",
15042
15062
  props: {
@@ -15074,7 +15094,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
15074
15094
  class: vue.normalizeClass(["bagel-input", { small: _ctx.small }]),
15075
15095
  title: _ctx.label
15076
15096
  }, [
15077
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$j, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
15097
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$k, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
15078
15098
  vue.createVNode(vue.unref(Va), vue.mergeProps({
15079
15099
  ref_key: "datePicker",
15080
15100
  ref: datePicker,
@@ -15088,7 +15108,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
15088
15108
  }
15089
15109
  });
15090
15110
  const _hoisted_1$n = ["title"];
15091
- const _hoisted_2$i = { key: 0 };
15111
+ const _hoisted_2$j = { key: 0 };
15092
15112
  const _hoisted_3$f = ["value", "placeholder"];
15093
15113
  const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
15094
15114
  __name: "JSONInput",
@@ -15113,7 +15133,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
15113
15133
  class: vue.normalizeClass(["bagel-input", { small: _ctx.small }]),
15114
15134
  title: _ctx.description
15115
15135
  }, [
15116
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$i, [
15136
+ _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$j, [
15117
15137
  vue.createVNode(_component_LangText, { input: _ctx.label }, null, 8, ["input"])
15118
15138
  ])) : vue.createCommentVNode("", true),
15119
15139
  vue.createElementVNode("textarea", {
@@ -15128,7 +15148,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
15128
15148
  });
15129
15149
  const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-1fc4f739"]]);
15130
15150
  const _hoisted_1$m = ["disabled"];
15131
- const _hoisted_2$h = ["value"];
15151
+ const _hoisted_2$i = ["value"];
15132
15152
  const _hoisted_3$e = ["onClick"];
15133
15153
  const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15134
15154
  __name: "SelectInput",
@@ -15326,7 +15346,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15326
15346
  onInput: _cache[1] || (_cache[1] = ($event) => updateOpen(true)),
15327
15347
  value: selectedItems.value,
15328
15348
  required: ""
15329
- }, null, 40, _hoisted_2$h)) : vue.createCommentVNode("", true)
15349
+ }, null, 40, _hoisted_2$i)) : vue.createCommentVNode("", true)
15330
15350
  ])
15331
15351
  ]),
15332
15352
  _: 3
@@ -15334,7 +15354,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15334
15354
  };
15335
15355
  }
15336
15356
  });
15337
- const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-70fd5ae7"]]);
15357
+ const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-ab376074"]]);
15338
15358
  /*!
15339
15359
  * vue-draggable-next v2.2.0
15340
15360
  * (c) 2023 Anish George
@@ -17858,7 +17878,7 @@ const VueDraggableNext = vue.defineComponent({
17858
17878
  }
17859
17879
  });
17860
17880
  const _hoisted_1$l = ["title"];
17861
- const _hoisted_2$g = { class: "bagel-input" };
17881
+ const _hoisted_2$h = { class: "bagel-input" };
17862
17882
  const _hoisted_3$d = { class: "table-side-scroll" };
17863
17883
  const _hoisted_4$9 = { class: "table-header" };
17864
17884
  const _hoisted_5$8 = { class: "table-reorder" };
@@ -17928,7 +17948,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
17928
17948
  class: "table-field-wrap",
17929
17949
  title: _ctx.description
17930
17950
  }, [
17931
- vue.createElementVNode("div", _hoisted_2$g, [
17951
+ vue.createElementVNode("div", _hoisted_2$h, [
17932
17952
  vue.createElementVNode("label", null, vue.toDisplayString((_a2 = vue.unref(fieldMeta)) == null ? void 0 : _a2.label), 1)
17933
17953
  ]),
17934
17954
  vue.createElementVNode("div", _hoisted_3$d, [
@@ -18009,7 +18029,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
18009
18029
  });
18010
18030
  const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-cdacf10e"]]);
18011
18031
  const _hoisted_1$k = ["title"];
18012
- const _hoisted_2$f = ["for"];
18032
+ const _hoisted_2$g = ["for"];
18013
18033
  const _hoisted_3$c = ["title", "autocomplete", "id", "type", "placeholder", "disabled", "required", "pattern"];
18014
18034
  const _hoisted_4$8 = ["title", "id", "type", "rows", "placeholder", "disabled", "required", "pattern"];
18015
18035
  const _hoisted_5$7 = { key: 2 };
@@ -18146,7 +18166,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
18146
18166
  [vue.vModelText, vue.unref(inputVal)]
18147
18167
  ]),
18148
18168
  _ctx.helptext ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$7, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true)
18149
- ], 8, _hoisted_2$f),
18169
+ ], 8, _hoisted_2$g),
18150
18170
  _ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
18151
18171
  key: 0,
18152
18172
  class: "iconStart",
@@ -18168,7 +18188,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
18168
18188
  };
18169
18189
  }
18170
18190
  });
18171
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-cd4c27ad"]]);
18191
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-df718b64"]]);
18172
18192
  const _hoisted_1$j = { class: "primary-checkbox" };
18173
18193
  const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
18174
18194
  __name: "Checkbox",
@@ -18199,7 +18219,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
18199
18219
  });
18200
18220
  const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-e4cbb088"]]);
18201
18221
  const _hoisted_1$i = ["title"];
18202
- const _hoisted_2$e = ["id", "placeholder", "required"];
18222
+ const _hoisted_2$f = ["id", "placeholder", "required"];
18203
18223
  const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18204
18224
  __name: "ColorPicker",
18205
18225
  props: {
@@ -18236,7 +18256,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18236
18256
  placeholder: _ctx.placeholder || _ctx.label,
18237
18257
  class: { "no-edit": !_ctx.editMode },
18238
18258
  required: _ctx.required
18239
- }, _ctx.nativeInputAttrs), null, 16, _hoisted_2$e), [
18259
+ }, _ctx.nativeInputAttrs), null, 16, _hoisted_2$f), [
18240
18260
  [vue.vModelText, inputVal.value]
18241
18261
  ])
18242
18262
  ])
@@ -18245,7 +18265,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18245
18265
  }
18246
18266
  });
18247
18267
  const _hoisted_1$h = { class: "datetime-wrap" };
18248
- const _hoisted_2$d = { class: "date-wrap" };
18268
+ const _hoisted_2$e = { class: "date-wrap" };
18249
18269
  const _hoisted_3$b = {
18250
18270
  key: 0,
18251
18271
  class: "time-wrap"
@@ -18255,7 +18275,8 @@ const _hoisted_5$6 = ["for"];
18255
18275
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18256
18276
  __name: "DatePicker",
18257
18277
  props: {
18258
- name: {},
18278
+ label: {},
18279
+ id: {},
18259
18280
  options: {},
18260
18281
  showTimeWrap: { type: Boolean }
18261
18282
  },
@@ -18269,7 +18290,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18269
18290
  });
18270
18291
  return (_ctx, _cache) => {
18271
18292
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
18272
- vue.createElementVNode("div", _hoisted_2$d, [
18293
+ vue.createElementVNode("div", _hoisted_2$e, [
18273
18294
  vue.createVNode(vue.unref(Va), vue.mergeProps({
18274
18295
  inline: "",
18275
18296
  "week-start": "0",
@@ -18289,15 +18310,15 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18289
18310
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: hr2 }, [
18290
18311
  vue.withDirectives(vue.createElementVNode("input", {
18291
18312
  type: "radio",
18292
- id: `${hr2}_${_ctx.name}`,
18293
- name: _ctx.name,
18313
+ id: `${hr2}_${_ctx.id}`,
18314
+ name: _ctx.label,
18294
18315
  value: hr2,
18295
18316
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedHour.value = $event)
18296
18317
  }, null, 8, _hoisted_4$7), [
18297
18318
  [vue.vModelRadio, selectedHour.value]
18298
18319
  ]),
18299
18320
  vue.createElementVNode("label", {
18300
- for: `${hr2}_${_ctx.name}`
18321
+ for: `${hr2}_${_ctx.id}`
18301
18322
  }, vue.toDisplayString(hr2), 9, _hoisted_5$6)
18302
18323
  ], 64);
18303
18324
  }), 128))
@@ -18307,7 +18328,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18307
18328
  }
18308
18329
  });
18309
18330
  const _hoisted_1$g = { class: "bagel-input" };
18310
- const _hoisted_2$c = { class: "pb-025" };
18331
+ const _hoisted_2$d = { class: "pb-025" };
18311
18332
  const _hoisted_3$a = { class: "flex gap-05 flex-wrap" };
18312
18333
  const _hoisted_4$6 = ["id", "name", "value", "checked"];
18313
18334
  const _hoisted_5$5 = ["for"];
@@ -18351,7 +18372,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
18351
18372
  });
18352
18373
  return (_ctx, _cache) => {
18353
18374
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
18354
- vue.createElementVNode("label", _hoisted_2$c, vue.toDisplayString(_ctx.label), 1),
18375
+ vue.createElementVNode("label", _hoisted_2$d, vue.toDisplayString(_ctx.label), 1),
18355
18376
  vue.createElementVNode("div", _hoisted_3$a, [
18356
18377
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(cumputedOptions.value, ({ optioId, label, value }, index2) => {
18357
18378
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -18376,7 +18397,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
18376
18397
  });
18377
18398
  const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-e47ae8b5"]]);
18378
18399
  const _hoisted_1$f = { class: "bagel-input" };
18379
- const _hoisted_2$b = {
18400
+ const _hoisted_2$c = {
18380
18401
  key: 0,
18381
18402
  class: "imagePreviewWrap"
18382
18403
  };
@@ -18505,7 +18526,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18505
18526
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
18506
18527
  key: file.id
18507
18528
  }, [
18508
- !_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$b, [
18529
+ !_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$c, [
18509
18530
  vue.createElementVNode("img", {
18510
18531
  class: "preview",
18511
18532
  src: file.url,
@@ -18572,9 +18593,9 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18572
18593
  const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-1be8d7b1"]]);
18573
18594
  const _withScopeId = (n2) => (vue.pushScopeId("data-v-b87221d6"), n2 = n2(), vue.popScopeId(), n2);
18574
18595
  const _hoisted_1$e = ["title"];
18575
- const _hoisted_2$a = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
18596
+ const _hoisted_2$b = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
18576
18597
  const _hoisted_3$8 = [
18577
- _hoisted_2$a
18598
+ _hoisted_2$b
18578
18599
  ];
18579
18600
  const _hoisted_4$4 = ["id"];
18580
18601
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
@@ -39064,7 +39085,11 @@ vue.defineComponent({
39064
39085
  }, (_b = (_a2 = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a2));
39065
39086
  }
39066
39087
  });
39067
- const _hoisted_1$d = { key: 0 };
39088
+ const _hoisted_1$d = { class: "RichText" };
39089
+ const _hoisted_2$a = {
39090
+ key: 0,
39091
+ class: "RichText-tools"
39092
+ };
39068
39093
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39069
39094
  __name: "RichText",
39070
39095
  props: {
@@ -39081,7 +39106,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39081
39106
  };
39082
39107
  const config = [
39083
39108
  {
39084
- name: "bold",
39109
+ name: "Bold",
39085
39110
  command: () => {
39086
39111
  var _a2;
39087
39112
  return (_a2 = focus2()) == null ? void 0 : _a2.toggleBold().run();
@@ -39093,7 +39118,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39093
39118
  }
39094
39119
  },
39095
39120
  {
39096
- name: "italic",
39121
+ name: "Italic",
39097
39122
  command: () => focus2().toggleItalic().run(),
39098
39123
  icon: "format_italic",
39099
39124
  disabled: () => {
@@ -39102,7 +39127,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39102
39127
  }
39103
39128
  },
39104
39129
  {
39105
- name: "strike",
39130
+ name: "Strike",
39106
39131
  command: () => focus2().toggleStrike().run(),
39107
39132
  icon: "format_strikethrough",
39108
39133
  disabled: () => {
@@ -39111,93 +39136,93 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39111
39136
  }
39112
39137
  },
39113
39138
  {
39114
- name: "code",
39139
+ name: "Code Text",
39115
39140
  command: () => focus2().toggleCode().run(),
39116
39141
  icon: "code"
39117
39142
  },
39143
+ // {
39144
+ // name: 'clearMarks',
39145
+ // command: () => focus().unsetAllMarks(),
39146
+ // icon: 'clear',
39147
+ // },
39118
39148
  {
39119
- name: "clearMarks",
39120
- command: () => focus2().unsetAllMarks(),
39121
- icon: "clear"
39122
- },
39123
- {
39124
- name: "clearNodes",
39149
+ name: "Clear",
39125
39150
  command: () => focus2().clearNodes().run(),
39126
- icon: "clear"
39151
+ icon: "format_clear"
39127
39152
  },
39128
39153
  {
39129
- name: "paragraph",
39154
+ name: "Paragraph",
39130
39155
  command: () => focus2().setParagraph().run(),
39131
39156
  icon: "format_paragraph"
39132
39157
  },
39133
39158
  {
39134
- name: "heading",
39159
+ name: "Heading",
39135
39160
  command: () => focus2().toggleHeading({ level: 1 }).run(),
39136
39161
  icon: "format_h1",
39137
39162
  option: { level: 1 }
39138
39163
  },
39139
39164
  {
39140
- name: "heading",
39165
+ name: "Heading",
39141
39166
  command: () => focus2().toggleHeading({ level: 2 }).run(),
39142
39167
  icon: "format_h2",
39143
39168
  option: { level: 2 }
39144
39169
  },
39145
39170
  {
39146
- name: "heading",
39171
+ name: "Heading",
39147
39172
  command: () => focus2().toggleHeading({ level: 3 }).run(),
39148
39173
  icon: "format_h3",
39149
39174
  option: { level: 3 }
39150
39175
  },
39151
39176
  {
39152
- name: "heading",
39177
+ name: "Heading",
39153
39178
  command: () => focus2().toggleHeading({ level: 4 }).run(),
39154
39179
  icon: "format_h4",
39155
39180
  option: { level: 4 }
39156
39181
  },
39157
39182
  {
39158
- name: "heading",
39183
+ name: "Heading",
39159
39184
  command: () => focus2().toggleHeading({ level: 5 }).run(),
39160
39185
  icon: "format_h5",
39161
39186
  option: { level: 5 }
39162
39187
  },
39163
39188
  {
39164
- name: "heading",
39189
+ name: "Heading",
39165
39190
  command: () => focus2().toggleHeading({ level: 6 }).run(),
39166
39191
  icon: "format_h6",
39167
39192
  option: { level: 6 }
39168
39193
  },
39169
39194
  {
39170
- name: "bulletList",
39195
+ name: "Bullet List",
39171
39196
  command: () => focus2().toggleBulletList().run(),
39172
39197
  icon: "format_list_bulleted"
39173
39198
  },
39174
39199
  {
39175
- name: "orderedList",
39200
+ name: "Ordered List",
39176
39201
  command: () => focus2().toggleOrderedList().run(),
39177
39202
  icon: "format_list_numbered"
39178
39203
  },
39179
39204
  {
39180
- name: "codeBlock",
39205
+ name: "Code Block",
39181
39206
  command: () => focus2().toggleCodeBlock().run(),
39182
- icon: "code"
39207
+ icon: "code_blocks"
39183
39208
  },
39184
39209
  {
39185
- name: "blockquote",
39210
+ name: "Blockquote",
39186
39211
  command: () => focus2().toggleBlockquote().run(),
39187
39212
  icon: "format_quote"
39188
39213
  },
39189
39214
  {
39190
- name: "horizontalRule",
39215
+ name: "Horizontal Rule",
39191
39216
  command: () => focus2().setHorizontalRule().run(),
39192
39217
  icon: "horizontal_rule"
39193
39218
  },
39194
39219
  {
39195
- name: "hardBreak",
39220
+ name: "Hard Break",
39196
39221
  command: () => focus2().setHardBreak().run(),
39197
39222
  icon: "keyboard_return"
39198
39223
  },
39199
39224
  {
39200
- name: "undo",
39225
+ name: "Undo",
39201
39226
  command: () => focus2().undo().run(),
39202
39227
  icon: "undo",
39203
39228
  disabled: () => {
@@ -39206,7 +39231,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39206
39231
  }
39207
39232
  },
39208
39233
  {
39209
- name: "redo",
39234
+ name: "Redo",
39210
39235
  command: () => focus2().redo().run(),
39211
39236
  icon: "redo",
39212
39237
  disabled: () => {
@@ -39226,8 +39251,10 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39226
39251
  vue.watch(
39227
39252
  () => props2.modelValue,
39228
39253
  (value) => {
39229
- var _a2;
39230
- return (_a2 = editor.value) == null ? void 0 : _a2.commands.setContent(value);
39254
+ var _a2, _b;
39255
+ if (((_a2 = editor.value) == null ? void 0 : _a2.getHTML()) === value)
39256
+ return;
39257
+ (_b = editor.value) == null ? void 0 : _b.commands.setContent(value, false);
39231
39258
  },
39232
39259
  { immediate: true }
39233
39260
  );
@@ -39238,8 +39265,8 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39238
39265
  });
39239
39266
  return (_ctx, _cache) => {
39240
39267
  const _directive_tooltip = vue.resolveDirective("tooltip");
39241
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
39242
- vue.unref(editor) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
39268
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
39269
+ vue.unref(editor) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
39243
39270
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(config, (item) => {
39244
39271
  var _a2;
39245
39272
  return vue.withDirectives(vue.createVNode(vue.unref(Btn), {
@@ -39255,7 +39282,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
39255
39282
  }), 64))
39256
39283
  ])) : vue.createCommentVNode("", true),
39257
39284
  vue.createVNode(vue.unref(EditorContent), { editor: vue.unref(editor) }, null, 8, ["editor"])
39258
- ], 64);
39285
+ ]);
39259
39286
  };
39260
39287
  }
39261
39288
  });
@@ -45720,7 +45747,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
45720
45747
  };
45721
45748
  }
45722
45749
  });
45723
- const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-24905642"]]);
45750
+ const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-65bec778"]]);
45724
45751
  const _hoisted_1$4 = { class: "m-0 pb-025 txt14 line-height-1" };
45725
45752
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
45726
45753
  __name: "BottomMenu",