@bagelink/vue 0.0.859 → 0.0.865

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.vue.d.ts","sourceRoot":"","sources":["../../src/components/AccordionItem.vue"],"names":[],"mappings":"AAuPA,iBAAS,cAAc;;sBAoFG,GAAG;yBACC,GAAG;;;WASnB,OAAO,IAA6B;EAEjD;AAeD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YAlLZ,MAAM;SACT,MAAM;WACJ,OAAO;eACH,aAAa,GAAG,YAAY;mBACxB,OAAO,GAAG,KAAK;WACvB,OAAO;gBACF,MAAM;;;;YANV,MAAM;SACT,MAAM;WACJ,OAAO;eACH,aAAa,GAAG,YAAY;mBACxB,OAAO,GAAG,KAAK;WACvB,OAAO;gBACF,MAAM;;;kFAmLjB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"AccordionItem.vue.d.ts","sourceRoot":"","sources":["../../src/components/AccordionItem.vue"],"names":[],"mappings":"AAmPA,iBAAS,cAAc;;sBAoFG,GAAG;yBACC,GAAG;;;WASnB,OAAO,IAA6B;EAEjD;AAeD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;YAhLZ,MAAM;SACT,MAAM;WACJ,OAAO;eACH,aAAa,GAAG,YAAY;mBACxB,OAAO,GAAG,KAAK;WACvB,OAAO;gBACF,MAAM;;;;YANV,MAAM;SACT,MAAM;WACJ,OAAO;eACH,aAAa,GAAG,YAAY;mBACxB,OAAO,GAAG,KAAK;WACvB,OAAO;gBACF,MAAM;;;kFAiLjB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/inputs/RichText2/index.vue"],"names":[],"mappings":"AA8RA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;;gBAOjB,MAAM;oBAAkB,aAAa;;;;gBAArC,MAAM;oBAAkB,aAAa;;;;AAiQzE,wBAOG"}
1
+ {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/inputs/RichText2/index.vue"],"names":[],"mappings":"AAAA,OAuSO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;;gBAOjB,MAAM;oBAAkB,aAAa;;;;gBAArC,MAAM;oBAAkB,aAAa;;;;AA2QzE,wBAOG"}
package/dist/index.cjs CHANGED
@@ -80,15 +80,13 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
80
80
  emit2("update:open", value);
81
81
  }
82
82
  });
83
- vue.onMounted(() => {
84
- if (props2.open) isOpen.value = true;
85
- });
86
83
  const accordionState = vue.inject("accordionState");
87
84
  const id = props2.id || Math.random().toString(36).slice(7);
88
85
  const computedIcon = vue.computed(() => {
89
86
  return props2.iconType === "plus_minus" ? isOpen.value ? "remove" : "add" : "expand_more";
90
87
  });
91
88
  const iconPosition = vue.computed(() => props2.iconPosition || "end");
89
+ vue.watch(() => props2.open, (val) => isOpen.value = !!val, { immediate: true });
92
90
  if (accordionState) {
93
91
  vue.watch(
94
92
  () => accordionState.openItem,
@@ -158,7 +156,7 @@ const _export_sfc = (sfc, props2) => {
158
156
  }
159
157
  return target;
160
158
  };
161
- const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-9d8335fa"]]);
159
+ const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-bb26ed1a"]]);
162
160
  const _hoisted_1$L = { class: "relative" };
163
161
  const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
164
162
  __name: "AddressSearch",
@@ -637,7 +635,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
637
635
  }
638
636
  function handleResize() {
639
637
  if (!bglSlider.value) return;
640
- itemCount.value = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props2.items, 2) : Math.min(props2.items, 3);
638
+ itemCount.value = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props2.items, 2) : props2.items;
641
639
  goToSlide(activeSlideIndex.value);
642
640
  }
643
641
  function onScrollEnd() {
@@ -741,7 +739,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
741
739
  };
742
740
  }
743
741
  });
744
- const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-8e22119a"]]);
742
+ const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-5da489eb"]]);
745
743
  function _isPlaceholder(a2) {
746
744
  return a2 != null && typeof a2 === "object" && a2["@@functional/placeholder"] === true;
747
745
  }
@@ -43932,10 +43930,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
43932
43930
  const _hoisted_1$m = { class: "rich-text-editor rounded pt-05 px-1 pb-1" };
43933
43931
  const _hoisted_2$e = { class: "editor-container flex flex-stretch gap-1 m_column" };
43934
43932
  const _hoisted_3$b = { class: "content-area radius-05 p-1 shadow-light w-100 grid" };
43935
- const _hoisted_4$7 = {
43936
- key: 0,
43937
- class: "preview-area w-100 radius-05 p-1"
43938
- };
43933
+ const _hoisted_4$7 = ["textContent"];
43939
43934
  const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
43940
43935
  __name: "index",
43941
43936
  props: {
@@ -43990,6 +43985,9 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
43990
43985
  if (["alignLeft", "alignCenter", "alignRight", "alignJustify"].includes(action))
43991
43986
  value = action.replace("align", "").toLowerCase();
43992
43987
  switch (action) {
43988
+ case "link":
43989
+ applyFormatting("insertLink");
43990
+ break;
43993
43991
  case "orderedList":
43994
43992
  applyFormatting("insertOrderedList");
43995
43993
  break;
@@ -44062,6 +44060,10 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44062
44060
  }
44063
44061
  }
44064
44062
  }
44063
+ function logInput(e) {
44064
+ const target = e.target;
44065
+ contentHtml.value = target.textContent || "";
44066
+ }
44065
44067
  return (_ctx, _cache) => {
44066
44068
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
44067
44069
  vue.createVNode(_sfc_main$u, {
@@ -44089,13 +44091,19 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44089
44091
  onKeydown: handleKeyDown2
44090
44092
  }, null, 544))
44091
44093
  ]),
44092
- vue.unref(isSplitView) ? (vue.openBlock(), vue.createElementBlock("code", _hoisted_4$7, vue.toDisplayString(vue.unref(contentHtml)), 1)) : vue.createCommentVNode("", true)
44094
+ vue.unref(isSplitView) ? (vue.openBlock(), vue.createElementBlock("code", {
44095
+ key: 0,
44096
+ contenteditable: "true",
44097
+ class: "preview-area w-100 radius-05 p-1",
44098
+ onInput: logInput,
44099
+ textContent: vue.toDisplayString(vue.unref(contentHtml))
44100
+ }, null, 40, _hoisted_4$7)) : vue.createCommentVNode("", true)
44093
44101
  ])
44094
44102
  ]);
44095
44103
  };
44096
44104
  }
44097
44105
  });
44098
- const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-8f1898f5"]]);
44106
+ const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-ee4d5b26"]]);
44099
44107
  /*!
44100
44108
  * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
44101
44109
  * (c) 2024 Szymon Nowak | Released under the MIT license
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  var __defProp2 = Object.defineProperty;
2
2
  var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { defineComponent, reactive, provide, openBlock, createElementBlock, renderSlot, ref, computed, onMounted, inject, watch, normalizeClass, createElementVNode, unref, createVNode, createCommentVNode, toDisplayString, Transition, withCtx, isRef, Fragment as Fragment$1, renderList, createBlock, useCssVars, useSlots, resolveDynamicComponent, withModifiers, createTextVNode, normalizeStyle, onUnmounted, resolveComponent, mergeProps, mergeModels, useModel, pushScopeId, popScopeId, nextTick, normalizeProps, guardReactiveProps, withScopeId, withKeys, createApp, h as h$2, withDirectives, vModelCheckbox, vModelText, toRef, createSlots, Teleport, render as render$f, onBeforeUpdate, vShow, getCurrentScope, onScopeDispose, vModelRadio, resolveDirective, onBeforeUnmount, getCurrentInstance, watchEffect, markRaw, customRef, TransitionGroup, vModelDynamic, shallowRef } from "vue";
4
+ import { defineComponent, reactive, provide, openBlock, createElementBlock, renderSlot, ref, computed, inject, watch, normalizeClass, createElementVNode, unref, createVNode, createCommentVNode, toDisplayString, Transition, withCtx, isRef, Fragment as Fragment$1, renderList, createBlock, useCssVars, useSlots, resolveDynamicComponent, withModifiers, createTextVNode, normalizeStyle, onMounted, onUnmounted, resolveComponent, mergeProps, mergeModels, useModel, pushScopeId, popScopeId, nextTick, normalizeProps, guardReactiveProps, withScopeId, withKeys, createApp, h as h$2, withDirectives, vModelCheckbox, vModelText, toRef, createSlots, Teleport, render as render$f, onBeforeUpdate, vShow, getCurrentScope, onScopeDispose, vModelRadio, resolveDirective, onBeforeUnmount, getCurrentInstance, watchEffect, markRaw, customRef, TransitionGroup, vModelDynamic, shallowRef } from "vue";
5
5
  const bagelFormUtils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6
6
  __proto__: null,
7
7
  get bglForm() {
@@ -78,15 +78,13 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
78
78
  emit2("update:open", value);
79
79
  }
80
80
  });
81
- onMounted(() => {
82
- if (props2.open) isOpen.value = true;
83
- });
84
81
  const accordionState = inject("accordionState");
85
82
  const id = props2.id || Math.random().toString(36).slice(7);
86
83
  const computedIcon = computed(() => {
87
84
  return props2.iconType === "plus_minus" ? isOpen.value ? "remove" : "add" : "expand_more";
88
85
  });
89
86
  const iconPosition = computed(() => props2.iconPosition || "end");
87
+ watch(() => props2.open, (val) => isOpen.value = !!val, { immediate: true });
90
88
  if (accordionState) {
91
89
  watch(
92
90
  () => accordionState.openItem,
@@ -156,7 +154,7 @@ const _export_sfc = (sfc, props2) => {
156
154
  }
157
155
  return target;
158
156
  };
159
- const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-9d8335fa"]]);
157
+ const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-bb26ed1a"]]);
160
158
  const _hoisted_1$L = { class: "relative" };
161
159
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
162
160
  __name: "AddressSearch",
@@ -635,7 +633,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
635
633
  }
636
634
  function handleResize() {
637
635
  if (!bglSlider.value) return;
638
- itemCount.value = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props2.items, 2) : Math.min(props2.items, 3);
636
+ itemCount.value = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props2.items, 2) : props2.items;
639
637
  goToSlide(activeSlideIndex.value);
640
638
  }
641
639
  function onScrollEnd() {
@@ -739,7 +737,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
739
737
  };
740
738
  }
741
739
  });
742
- const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-8e22119a"]]);
740
+ const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-5da489eb"]]);
743
741
  function _isPlaceholder(a2) {
744
742
  return a2 != null && typeof a2 === "object" && a2["@@functional/placeholder"] === true;
745
743
  }
@@ -43930,10 +43928,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
43930
43928
  const _hoisted_1$m = { class: "rich-text-editor rounded pt-05 px-1 pb-1" };
43931
43929
  const _hoisted_2$e = { class: "editor-container flex flex-stretch gap-1 m_column" };
43932
43930
  const _hoisted_3$b = { class: "content-area radius-05 p-1 shadow-light w-100 grid" };
43933
- const _hoisted_4$7 = {
43934
- key: 0,
43935
- class: "preview-area w-100 radius-05 p-1"
43936
- };
43931
+ const _hoisted_4$7 = ["textContent"];
43937
43932
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
43938
43933
  __name: "index",
43939
43934
  props: {
@@ -43988,6 +43983,9 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
43988
43983
  if (["alignLeft", "alignCenter", "alignRight", "alignJustify"].includes(action))
43989
43984
  value = action.replace("align", "").toLowerCase();
43990
43985
  switch (action) {
43986
+ case "link":
43987
+ applyFormatting("insertLink");
43988
+ break;
43991
43989
  case "orderedList":
43992
43990
  applyFormatting("insertOrderedList");
43993
43991
  break;
@@ -44060,6 +44058,10 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44060
44058
  }
44061
44059
  }
44062
44060
  }
44061
+ function logInput(e) {
44062
+ const target = e.target;
44063
+ contentHtml.value = target.textContent || "";
44064
+ }
44063
44065
  return (_ctx, _cache) => {
44064
44066
  return openBlock(), createElementBlock("div", _hoisted_1$m, [
44065
44067
  createVNode(_sfc_main$u, {
@@ -44087,13 +44089,19 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
44087
44089
  onKeydown: handleKeyDown2
44088
44090
  }, null, 544))
44089
44091
  ]),
44090
- unref(isSplitView) ? (openBlock(), createElementBlock("code", _hoisted_4$7, toDisplayString(unref(contentHtml)), 1)) : createCommentVNode("", true)
44092
+ unref(isSplitView) ? (openBlock(), createElementBlock("code", {
44093
+ key: 0,
44094
+ contenteditable: "true",
44095
+ class: "preview-area w-100 radius-05 p-1",
44096
+ onInput: logInput,
44097
+ textContent: toDisplayString(unref(contentHtml))
44098
+ }, null, 40, _hoisted_4$7)) : createCommentVNode("", true)
44091
44099
  ])
44092
44100
  ]);
44093
44101
  };
44094
44102
  }
44095
44103
  });
44096
- const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-8f1898f5"]]);
44104
+ const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-ee4d5b26"]]);
44097
44105
  /*!
44098
44106
  * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
44099
44107
  * (c) 2024 Szymon Nowak | Released under the MIT license
package/dist/style.css CHANGED
@@ -1,14 +1,14 @@
1
1
  @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap');
2
- .accordion-item[data-v-9d8335fa] {
2
+ .accordion-item[data-v-bb26ed1a] {
3
3
  border-bottom: 1px solid var(--border-color);
4
4
  transition: all 0.2s;
5
5
  cursor: pointer;
6
6
  overflow: hidden;
7
7
  }
8
- .accordion-item button[data-v-9d8335fa] {
8
+ .accordion-item button[data-v-bb26ed1a] {
9
9
  cursor: pointer;
10
10
  }
11
- .accordion-head[data-v-9d8335fa] {
11
+ .accordion-head[data-v-bb26ed1a] {
12
12
  height: var(--input-height);
13
13
  background: transparent;
14
14
  display: flex;
@@ -18,7 +18,7 @@
18
18
  border: none;
19
19
  color: inherit !important;
20
20
  }
21
- .accordion-icon[data-v-9d8335fa] {
21
+ .accordion-icon[data-v-bb26ed1a] {
22
22
  transition: all 0.2s ease;
23
23
  display: flex;
24
24
  align-items: center;
@@ -27,16 +27,16 @@
27
27
  height: calc( var(--btn-height) / 1.5);
28
28
  padding-inline: calc(var(--btn-padding) / 3);
29
29
  }
30
- .accordion-icon.open[data-v-9d8335fa] {
30
+ .accordion-icon.open[data-v-bb26ed1a] {
31
31
  transform: rotate(180deg);
32
32
  }
33
- .accordion-label[data-v-9d8335fa] {
33
+ .accordion-label[data-v-bb26ed1a] {
34
34
  font-weight: bold;
35
35
  }
36
- .flat.accordion-item[data-v-9d8335fa] {
36
+ .flat.accordion-item[data-v-bb26ed1a] {
37
37
  border-bottom: none
38
38
  }
39
- .accordion-head:hover .accordion-label[data-v-9d8335fa] {
39
+ .accordion-head:hover .accordion-label[data-v-bb26ed1a] {
40
40
  text-decoration: underline;
41
41
  }
42
42
 
@@ -350,7 +350,7 @@ display: block;
350
350
  padding: 0;
351
351
  }
352
352
 
353
- .blocker[data-v-8e22119a] {
353
+ .blocker[data-v-5da489eb] {
354
354
  position: fixed;
355
355
  top: 0;
356
356
  left: 0;
@@ -358,7 +358,7 @@ display: block;
358
358
  height: 100%;
359
359
  z-index: 100;
360
360
  }
361
- .bgl-slider[data-v-8e22119a] {
361
+ .bgl-slider[data-v-5da489eb] {
362
362
  display: grid;
363
363
  position: relative;
364
364
  /* scroll-behavior: smooth; */
@@ -367,44 +367,44 @@ display: block;
367
367
  /* scroll-snap-type: x mandatory; */
368
368
  overflow-x: hidden;
369
369
  }
370
- .autoHeight[data-v-8e22119a] {
370
+ .autoHeight[data-v-5da489eb] {
371
371
  transition: height ease 0.7s;
372
372
  }
373
- .bgl-slider.allowScroll[data-v-8e22119a] {
373
+ .bgl-slider.allowScroll[data-v-5da489eb] {
374
374
  overflow-x: scroll;
375
375
  }
376
- .bgl-slider[data-v-8e22119a] {
376
+ .bgl-slider[data-v-5da489eb] {
377
377
  grid-auto-columns: calc(100% / var(--item-count) - calc(var(--item-count) - 1) * 1%);
378
378
  gap: 1%;
379
379
  }
380
- .bgl-slider.odd[data-v-8e22119a] {
380
+ .bgl-slider.odd[data-v-5da489eb] {
381
381
  grid-auto-columns: calc(100% / var(--item-count) - calc(var(--item-count) - 2) * 1%);
382
382
  }
383
- .bgl-slider.slides-1[data-v-8e22119a] {
383
+ .bgl-slider.slides-1[data-v-5da489eb] {
384
384
  grid-auto-columns: 100%;
385
385
  gap: 0;
386
386
  }
387
- .bgl-slider[data-v-8e22119a]::-webkit-scrollbar {
387
+ .bgl-slider[data-v-5da489eb]::-webkit-scrollbar {
388
388
  display: none;
389
389
  }
390
- .bgl-slider[data-v-8e22119a] * {
390
+ .bgl-slider[data-v-5da489eb] * {
391
391
  scroll-snap-align: start;
392
392
  }
393
- .dragging.bgl-slider[data-v-8e22119a] {
393
+ .dragging.bgl-slider[data-v-5da489eb] {
394
394
  cursor: grabbing;
395
395
  cursor: -webkit-grabbing;
396
396
  scroll-snap-type: unset;
397
397
  }
398
- .clicking.bgl-slider[data-v-8e22119a] {
398
+ .clicking.bgl-slider[data-v-5da489eb] {
399
399
  scroll-behavior: unset;
400
400
  }
401
- .dragging.bgl-slider[data-v-8e22119a] * {
401
+ .dragging.bgl-slider[data-v-5da489eb] * {
402
402
  scroll-snap-align: unset;
403
403
  user-select: none;
404
404
  }
405
405
  @media screen and (max-width: 600px) {
406
- .bgl-slider.slides-1[data-v-8e22119a] * {
407
- margin-inline-start: 1%;
406
+ .bgl-slider.slides-1[data-v-5da489eb]> * {
407
+ margin-inline-start: 0%;
408
408
  }
409
409
  }
410
410
 
@@ -1288,29 +1288,29 @@ p {
1288
1288
  8 #818181 /* few chars */
1289
1289
  ;
1290
1290
  }
1291
- .preview-area[data-v-8f1898f5]{
1291
+ .preview-area[data-v-ee4d5b26]{
1292
1292
  font-family: "FontWithASyntaxHighlighter", monospace;
1293
1293
  font-palette: --myCustomPalette;
1294
1294
  background: var(--bgl-code-bg);
1295
1295
  color: var(--bgl-code-color)
1296
1296
  }
1297
- .rich-text-editor[data-v-8f1898f5] {
1297
+ .rich-text-editor[data-v-ee4d5b26] {
1298
1298
  background: var(--input-bg);
1299
1299
  margin-bottom: 0.5rem;
1300
1300
  width: 100%;
1301
1301
  }
1302
- .editableContent[data-v-8f1898f5]{
1302
+ .editableContent[data-v-ee4d5b26]{
1303
1303
  min-height: 100%;
1304
1304
  white-space: pre-wrap;
1305
1305
  outline: none;
1306
1306
  }
1307
- .content-area[data-v-8f1898f5]{
1307
+ .content-area[data-v-ee4d5b26]{
1308
1308
  background: var(--bgl-richtext-color);
1309
1309
  }
1310
- .content-area[data-v-8f1898f5], .preview-area[data-v-8f1898f5]{
1310
+ .content-area[data-v-ee4d5b26], .preview-area[data-v-ee4d5b26]{
1311
1311
  min-height: 200px;
1312
1312
  }
1313
- .fullscreen-mode[data-v-8f1898f5] {
1313
+ .fullscreen-mode[data-v-ee4d5b26] {
1314
1314
  position: fixed;
1315
1315
  top: 0;
1316
1316
  left: 0;
@@ -1322,14 +1322,14 @@ p {
1322
1322
  overflow: auto;
1323
1323
  border-radius: 0;
1324
1324
  }
1325
- .fullscreen-mode .content-area[data-v-8f1898f5]{
1325
+ .fullscreen-mode .content-area[data-v-ee4d5b26]{
1326
1326
  height: calc(100vh - 5rem);
1327
1327
  padding: 4rem !important;
1328
1328
  max-width: 900px;
1329
1329
  margin-inline: auto ;
1330
1330
  overflow-y: auto;
1331
1331
  }
1332
- .fullscreen-mode .toolbar[data-v-8f1898f5]{
1332
+ .fullscreen-mode .toolbar[data-v-ee4d5b26]{
1333
1333
  max-width: 900px;
1334
1334
  margin-inline: auto ;
1335
1335
  /* border-bottom: 1px solid var(--border-color); */
@@ -3567,6 +3567,9 @@ to {
3567
3567
  .oval {
3568
3568
  border-radius: 100%;
3569
3569
  }
3570
+ .aspect-ratio-1 {
3571
+ aspect-ratio: 1;
3572
+ }
3570
3573
  .flex-center {
3571
3574
  justify-content: center;
3572
3575
  align-items: center;
@@ -6886,6 +6889,10 @@ to {
6886
6889
  border-radius: 100%;
6887
6890
  }
6888
6891
 
6892
+ .m_aspect-ratio-1 {
6893
+ aspect-ratio: 1;
6894
+ }
6895
+
6889
6896
  .m_flex-center {
6890
6897
  justify-items: center;
6891
6898
  align-items: center;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.859",
4
+ "version": "0.0.865",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
2
  import { MaterialIcon } from '@bagelink/vue'
3
- import { inject, onMounted, watch, computed } from 'vue'
3
+ import { inject, watch, computed } from 'vue'
4
4
 
5
5
  const props = defineProps<{
6
6
  label?: string
@@ -24,10 +24,6 @@ let isOpen = $computed({
24
24
  },
25
25
  })
26
26
 
27
- onMounted(() => {
28
- if (props.open) isOpen = true
29
- })
30
-
31
27
  interface AccordionState {
32
28
  openItem?: string
33
29
  }
@@ -42,6 +38,8 @@ const computedIcon = computed(() => {
42
38
  })
43
39
  const iconPosition = computed(() => props.iconPosition || 'end')
44
40
 
41
+ watch(() => props.open, val => isOpen = !!val, { immediate: true })
42
+
45
43
  if (accordionState) {
46
44
  watch(
47
45
  () => accordionState.openItem,
@@ -81,7 +81,7 @@ function handleSlideChange() {
81
81
 
82
82
  function handleResize() {
83
83
  if (!bglSlider) return
84
- itemCount = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props.items, 2) : Math.min(props.items, 3)
84
+ itemCount = window.innerWidth < 600 ? 1 : window.innerWidth < 991 ? Math.min(props.items, 2) : props.items
85
85
  goToSlide(activeSlideIndex)
86
86
  }
87
87
 
@@ -250,8 +250,8 @@ watch(() => activeSlideIndex, handleSlideChange)
250
250
  }
251
251
 
252
252
  @media screen and (max-width: 600px) {
253
- .bgl-slider.slides-1 * {
254
- margin-inline-start: 1%;
253
+ .bgl-slider.slides-1> * {
254
+ margin-inline-start: 0%;
255
255
  }
256
256
 
257
257
  }
@@ -47,11 +47,16 @@ function updateContent() {
47
47
  emit('update:modelValue', contentHtml)
48
48
  }
49
49
 
50
+ type ToolbarAction = 'link' | 'image' | 'table' | 'youtube' | 'fontSize' | 'fontFamily' | 'textColor' | 'backgroundColor' | 'bold' | 'italic' | 'underline' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'orderedList' | 'unorderedList' | 'indent' | 'outdent' | 'blockquote' | 'codeBlock' | 'splitView' | 'codeView' | 'clear' | 'fullScreen'
51
+
50
52
  function handleToolbarAction(action: string, value?: string) {
51
53
  if (!editableContent) return
52
54
  if (['alignLeft', 'alignCenter', 'alignRight', 'alignJustify'].includes(action))
53
55
  value = action.replace('align', '').toLowerCase()
54
56
  switch (action) {
57
+ case 'link':
58
+ applyFormatting('insertLink')
59
+ break
55
60
  case 'orderedList':
56
61
  applyFormatting('insertOrderedList')
57
62
  break
@@ -131,6 +136,10 @@ function handleKeyDown(event: KeyboardEvent) {
131
136
  }
132
137
  }
133
138
  }
139
+ function logInput(e: InputEvent) {
140
+ const target = e.target as HTMLElement
141
+ contentHtml = target.textContent || ''
142
+ }
134
143
  </script>
135
144
 
136
145
  <template>
@@ -151,7 +160,7 @@ function handleKeyDown(event: KeyboardEvent) {
151
160
  @keydown="handleKeyDown"
152
161
  />
153
162
  </div>
154
- <code v-if="isSplitView" class="preview-area w-100 radius-05 p-1">{{ contentHtml }}</code>
163
+ <code v-if="isSplitView" contenteditable="true" class="preview-area w-100 radius-05 p-1" @input="logInput" v-text="contentHtml" />
155
164
  </div>
156
165
  </div>
157
166
  </template>
@@ -51,6 +51,10 @@
51
51
  border-radius: 100%;
52
52
  }
53
53
 
54
+ .aspect-ratio-1 {
55
+ aspect-ratio: 1;
56
+ }
57
+
54
58
  .flex-center {
55
59
  justify-content: center;
56
60
  align-items: center;
@@ -72,6 +72,10 @@
72
72
  border-radius: 100%;
73
73
  }
74
74
 
75
+ .m_aspect-ratio-1 {
76
+ aspect-ratio: 1;
77
+ }
78
+
75
79
  .m_flex-center {
76
80
  justify-items: center;
77
81
  align-items: center;