toggle-components-library 1.37.0-beta.4 → 1.37.0-beta.5
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.
- package/dist/toggle-components-library.common.js +63 -33
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.umd.js +63 -33
- package/dist/toggle-components-library.umd.js.map +1 -1
- package/dist/toggle-components-library.umd.min.js +1 -1
- package/dist/toggle-components-library.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/breadcrumb/ToggleBreadCrumb.vue +64 -27
|
@@ -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=
|
|
48724
|
-
var
|
|
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=93f64828&
|
|
48724
|
+
var ToggleBreadCrumbvue_type_template_id_93f64828_render = function render() {
|
|
48725
48725
|
var _vm = this,
|
|
48726
48726
|
_c = _vm._self._c;
|
|
48727
48727
|
return _vm.breadcrumb_computed ? _c('div', {
|
|
@@ -48730,10 +48730,15 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48730
48730
|
return _c('div', {
|
|
48731
48731
|
key: index
|
|
48732
48732
|
}, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('span', {
|
|
48733
|
+
ref: "editableSpan",
|
|
48734
|
+
refInFor: true,
|
|
48733
48735
|
staticClass: "toggle-breadcrumb-editable-input",
|
|
48734
48736
|
attrs: {
|
|
48735
48737
|
"contenteditable": "true"
|
|
48736
48738
|
},
|
|
48739
|
+
domProps: {
|
|
48740
|
+
"textContent": _vm._s(_vm.initialContent)
|
|
48741
|
+
},
|
|
48737
48742
|
on: {
|
|
48738
48743
|
"input": function ($event) {
|
|
48739
48744
|
return _vm.updateContent($event);
|
|
@@ -48748,7 +48753,7 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48748
48753
|
return _vm.handlePaste.apply(null, arguments);
|
|
48749
48754
|
}
|
|
48750
48755
|
}
|
|
48751
|
-
}
|
|
48756
|
+
})] : [crumb.link && !_vm.isNuxt ? _c('router-link', {
|
|
48752
48757
|
staticClass: "back-product",
|
|
48753
48758
|
attrs: {
|
|
48754
48759
|
"to": {
|
|
@@ -48769,9 +48774,9 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48769
48774
|
}, [_vm._v(_vm._s(crumb.name))]) : _vm._e()]], 2);
|
|
48770
48775
|
}), 0) : _vm._e();
|
|
48771
48776
|
};
|
|
48772
|
-
var
|
|
48777
|
+
var ToggleBreadCrumbvue_type_template_id_93f64828_staticRenderFns = [];
|
|
48773
48778
|
|
|
48774
|
-
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=
|
|
48779
|
+
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=93f64828&
|
|
48775
48780
|
|
|
48776
48781
|
// 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&
|
|
48777
48782
|
/* harmony default export */ var ToggleBreadCrumbvue_type_script_lang_js_ = ({
|
|
@@ -48796,9 +48801,11 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48796
48801
|
required: false
|
|
48797
48802
|
}
|
|
48798
48803
|
},
|
|
48799
|
-
data
|
|
48804
|
+
data() {
|
|
48800
48805
|
return {
|
|
48801
|
-
content: ''
|
|
48806
|
+
content: '',
|
|
48807
|
+
initialContent: '',
|
|
48808
|
+
lastSelection: null
|
|
48802
48809
|
};
|
|
48803
48810
|
},
|
|
48804
48811
|
computed: {
|
|
@@ -48806,29 +48813,62 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48806
48813
|
return this.isNuxt ? this.breadcrumb : this.$route.meta.breadcrumb;
|
|
48807
48814
|
}
|
|
48808
48815
|
},
|
|
48816
|
+
mounted() {
|
|
48817
|
+
if (this.breadcrumb_computed && this.breadcrumb_computed.length > 0) {
|
|
48818
|
+
const lastCrumb = this.breadcrumb_computed[this.breadcrumb_computed.length - 1];
|
|
48819
|
+
this.content = lastCrumb.name;
|
|
48820
|
+
this.initialContent = lastCrumb.name;
|
|
48821
|
+
}
|
|
48822
|
+
},
|
|
48809
48823
|
methods: {
|
|
48824
|
+
saveSelection() {
|
|
48825
|
+
if (window.getSelection) {
|
|
48826
|
+
const sel = window.getSelection();
|
|
48827
|
+
if (sel.getRangeAt && sel.rangeCount) {
|
|
48828
|
+
const range = sel.getRangeAt(0);
|
|
48829
|
+
this.lastSelection = {
|
|
48830
|
+
start: range.startOffset,
|
|
48831
|
+
end: range.endOffset
|
|
48832
|
+
};
|
|
48833
|
+
}
|
|
48834
|
+
}
|
|
48835
|
+
},
|
|
48836
|
+
restoreSelection() {
|
|
48837
|
+
if (!this.lastSelection || !this.$refs.editableSpan) return;
|
|
48838
|
+
const el = this.$refs.editableSpan;
|
|
48839
|
+
if (!el.firstChild && typeof el.textContent === 'string') {
|
|
48840
|
+
el.textContent = this.content || '';
|
|
48841
|
+
}
|
|
48842
|
+
try {
|
|
48843
|
+
const range = document.createRange();
|
|
48844
|
+
const sel = window.getSelection();
|
|
48845
|
+
const textNode = el.firstChild || el;
|
|
48846
|
+
|
|
48847
|
+
// Ensure we don't exceed the text length
|
|
48848
|
+
const start = Math.min(this.lastSelection.start, textNode.length);
|
|
48849
|
+
const end = Math.min(this.lastSelection.end, textNode.length);
|
|
48850
|
+
range.setStart(textNode, start);
|
|
48851
|
+
range.setEnd(textNode, end);
|
|
48852
|
+
sel.removeAllRanges();
|
|
48853
|
+
sel.addRange(range);
|
|
48854
|
+
} catch (e) {
|
|
48855
|
+
console.warn('Failed to restore selection:', e);
|
|
48856
|
+
}
|
|
48857
|
+
},
|
|
48810
48858
|
handlePaste(event) {
|
|
48811
|
-
// Get plain text from clipboard and clean it
|
|
48812
48859
|
const text = (event.clipboardData || window.clipboardData).getData('text');
|
|
48813
48860
|
const cleanText = text.replace(/[\r\n\s]+/g, ' ').trim();
|
|
48814
|
-
|
|
48815
|
-
// Get current selection information
|
|
48861
|
+
this.saveSelection();
|
|
48816
48862
|
const selection = window.getSelection();
|
|
48817
48863
|
const selectionLength = selection.toString().length;
|
|
48818
48864
|
const currentLength = this.content.length;
|
|
48819
|
-
|
|
48820
|
-
// Check if adding the pasted text would exceed maxChars
|
|
48821
48865
|
if (currentLength - selectionLength + cleanText.length <= this.maxChars && selection.rangeCount) {
|
|
48822
48866
|
const range = selection.getRangeAt(0);
|
|
48823
48867
|
range.deleteContents();
|
|
48824
48868
|
range.insertNode(document.createTextNode(cleanText));
|
|
48825
|
-
|
|
48826
|
-
// Move cursor to end of inserted text
|
|
48827
48869
|
range.collapse(false);
|
|
48828
48870
|
selection.removeAllRanges();
|
|
48829
48871
|
selection.addRange(range);
|
|
48830
|
-
|
|
48831
|
-
// Update content
|
|
48832
48872
|
this.content = event.target.innerText;
|
|
48833
48873
|
this.$emit('update:lastCrumb', this.content);
|
|
48834
48874
|
}
|
|
@@ -48838,27 +48878,17 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48838
48878
|
event.target.blur();
|
|
48839
48879
|
},
|
|
48840
48880
|
updateContent(event) {
|
|
48881
|
+
this.saveSelection();
|
|
48841
48882
|
const newText = event.target.innerText;
|
|
48842
|
-
|
|
48843
|
-
// If text exceeds maxChars, prevent the change
|
|
48844
48883
|
if (newText.length > this.maxChars) {
|
|
48845
|
-
// Save current selection
|
|
48846
|
-
const selection = window.getSelection();
|
|
48847
|
-
const range = selection.getRangeAt(0);
|
|
48848
|
-
const cursorOffset = range.startOffset;
|
|
48849
|
-
|
|
48850
|
-
// Restore previous content
|
|
48851
48884
|
event.target.innerText = this.content;
|
|
48852
|
-
|
|
48853
|
-
// Restore cursor position
|
|
48854
|
-
const newRange = document.createRange();
|
|
48855
|
-
newRange.setStart(event.target.firstChild || event.target, Math.min(cursorOffset, this.content.length));
|
|
48856
|
-
newRange.collapse(true);
|
|
48857
|
-
selection.removeAllRanges();
|
|
48858
|
-
selection.addRange(newRange);
|
|
48885
|
+
this.restoreSelection();
|
|
48859
48886
|
} else {
|
|
48860
48887
|
this.content = newText;
|
|
48861
48888
|
this.$emit('update:lastCrumb', this.content);
|
|
48889
|
+
this.$nextTick(() => {
|
|
48890
|
+
this.restoreSelection();
|
|
48891
|
+
});
|
|
48862
48892
|
}
|
|
48863
48893
|
}
|
|
48864
48894
|
}
|
|
@@ -48875,8 +48905,8 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48875
48905
|
|
|
48876
48906
|
var ToggleBreadCrumb_component = normalizeComponent(
|
|
48877
48907
|
breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
|
|
48878
|
-
|
|
48879
|
-
|
|
48908
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_render,
|
|
48909
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_staticRenderFns,
|
|
48880
48910
|
false,
|
|
48881
48911
|
null,
|
|
48882
48912
|
null,
|