toggle-components-library 1.37.0-beta.1 → 1.37.0-beta.3

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.
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#abb7c5"><path d="M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"/></svg>
@@ -48720,8 +48720,8 @@ var TogglePodiumBadge_component = normalizeComponent(
48720
48720
  )
48721
48721
 
48722
48722
  /* harmony default export */ var TogglePodiumBadge = (TogglePodiumBadge_component.exports);
48723
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a48609c2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=ca26eb0c&
48724
- var ToggleBreadCrumbvue_type_template_id_ca26eb0c_render = function render() {
48723
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a48609c2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=4c1ca076&
48724
+ var ToggleBreadCrumbvue_type_template_id_4c1ca076_render = function render() {
48725
48725
  var _vm = this,
48726
48726
  _c = _vm._self._c;
48727
48727
  return _vm.breadcrumb_computed ? _c('div', {
@@ -48729,30 +48729,26 @@ var ToggleBreadCrumbvue_type_template_id_ca26eb0c_render = function render() {
48729
48729
  }, _vm._l(_vm.breadcrumb_computed, function (crumb, index) {
48730
48730
  return _c('div', {
48731
48731
  key: index
48732
- }, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('input', {
48733
- directives: [{
48734
- name: "model",
48735
- rawName: "v-model",
48736
- value: crumb.name,
48737
- expression: "crumb.name"
48738
- }],
48732
+ }, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('span', {
48739
48733
  staticClass: "toggle-breadcrumb-editable-input",
48740
48734
  attrs: {
48741
- "maxlength": "50"
48742
- },
48743
- domProps: {
48744
- "value": crumb.name
48735
+ "contenteditable": "true"
48745
48736
  },
48746
48737
  on: {
48747
- "input": [function ($event) {
48748
- if ($event.target.composing) return;
48749
- _vm.$set(crumb, "name", $event.target.value);
48750
- }, function ($event) {
48751
- _vm.autoResizeInput($event.target);
48752
- _vm.updateContent($event);
48753
- }]
48738
+ "input": function ($event) {
48739
+ return _vm.updateContent($event);
48740
+ },
48741
+ "keydown": function ($event) {
48742
+ if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
48743
+ $event.preventDefault();
48744
+ return _vm.handleEnterKey.apply(null, arguments);
48745
+ },
48746
+ "paste": function ($event) {
48747
+ $event.preventDefault();
48748
+ return _vm.handlePaste.apply(null, arguments);
48749
+ }
48754
48750
  }
48755
- })] : [crumb.link && !_vm.isNuxt ? _c('router-link', {
48751
+ }, [_vm._v(_vm._s(crumb.name))])] : [crumb.link && !_vm.isNuxt ? _c('router-link', {
48756
48752
  staticClass: "back-product",
48757
48753
  attrs: {
48758
48754
  "to": {
@@ -48773,9 +48769,9 @@ var ToggleBreadCrumbvue_type_template_id_ca26eb0c_render = function render() {
48773
48769
  }, [_vm._v(_vm._s(crumb.name))]) : _vm._e()]], 2);
48774
48770
  }), 0) : _vm._e();
48775
48771
  };
48776
- var ToggleBreadCrumbvue_type_template_id_ca26eb0c_staticRenderFns = [];
48772
+ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
48777
48773
 
48778
- // CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=ca26eb0c&
48774
+ // CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=4c1ca076&
48779
48775
 
48780
48776
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=script&lang=js&
48781
48777
  /* harmony default export */ var ToggleBreadCrumbvue_type_script_lang_js_ = ({
@@ -48791,11 +48787,19 @@ var ToggleBreadCrumbvue_type_template_id_ca26eb0c_staticRenderFns = [];
48791
48787
  },
48792
48788
  editable: {
48793
48789
  type: Boolean,
48794
- default: false
48790
+ default: false,
48791
+ required: false
48792
+ },
48793
+ maxChars: {
48794
+ type: Number,
48795
+ default: 50,
48796
+ required: false
48795
48797
  }
48796
48798
  },
48797
48799
  data: function () {
48798
- return {};
48800
+ return {
48801
+ content: ''
48802
+ };
48799
48803
  },
48800
48804
  computed: {
48801
48805
  breadcrumb_computed() {
@@ -48803,12 +48807,47 @@ var ToggleBreadCrumbvue_type_template_id_ca26eb0c_staticRenderFns = [];
48803
48807
  }
48804
48808
  },
48805
48809
  methods: {
48806
- autoResizeInput(input) {
48807
- input.style.width = input.value.length * 11 + "px";
48810
+ handlePaste(event) {
48811
+ // Get plain text from clipboard and clean it
48812
+ const text = (event.clipboardData || window.clipboardData).getData('text');
48813
+ const cleanText = text.replace(/[\r\n\s]+/g, ' ').trim();
48814
+
48815
+ // Get current selection information
48816
+ const selection = window.getSelection();
48817
+ const selectionLength = selection.toString().length;
48818
+ const currentLength = this.content.length;
48819
+
48820
+ // Check if adding the pasted text would exceed maxChars
48821
+ if (currentLength - selectionLength + cleanText.length <= this.maxChars && selection.rangeCount) {
48822
+ const range = selection.getRangeAt(0);
48823
+ range.deleteContents();
48824
+ range.insertNode(document.createTextNode(cleanText));
48825
+
48826
+ // Move cursor to end of inserted text
48827
+ range.collapse(false);
48828
+ selection.removeAllRanges();
48829
+ selection.addRange(range);
48830
+
48831
+ // Update content
48832
+ this.content = event.target.innerText;
48833
+ this.$emit('update:lastCrumb', this.content);
48834
+ }
48835
+ },
48836
+ handleEnterKey(event) {
48837
+ event.preventDefault();
48838
+ event.target.blur();
48808
48839
  },
48809
48840
  updateContent(event) {
48810
- const newContent = event.target.value;
48811
- this.$emit('update:lastCrumb', newContent);
48841
+ // Limit the input to 50 characters
48842
+ if (event.target.innerText.length >= this.maxChars) {
48843
+ event.target.innerText = this.content;
48844
+
48845
+ // Move the cursor to the end of the input
48846
+ document.getSelection().modify("move", "forward", "documentboundary");
48847
+ } else {
48848
+ this.content = event.target.innerText;
48849
+ this.$emit('update:lastCrumb', this.content);
48850
+ }
48812
48851
  }
48813
48852
  }
48814
48853
  });
@@ -48824,8 +48863,8 @@ var ToggleBreadCrumbvue_type_template_id_ca26eb0c_staticRenderFns = [];
48824
48863
 
48825
48864
  var ToggleBreadCrumb_component = normalizeComponent(
48826
48865
  breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
48827
- ToggleBreadCrumbvue_type_template_id_ca26eb0c_render,
48828
- ToggleBreadCrumbvue_type_template_id_ca26eb0c_staticRenderFns,
48866
+ ToggleBreadCrumbvue_type_template_id_4c1ca076_render,
48867
+ ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns,
48829
48868
  false,
48830
48869
  null,
48831
48870
  null,