toggle-components-library 1.37.0-beta.3 → 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 +66 -24
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.umd.js +66 -24
- 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 +68 -20
|
@@ -48729,8 +48729,8 @@ var TogglePodiumBadge_component = normalizeComponent(
|
|
|
48729
48729
|
)
|
|
48730
48730
|
|
|
48731
48731
|
/* harmony default export */ var TogglePodiumBadge = (TogglePodiumBadge_component.exports);
|
|
48732
|
-
// 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=
|
|
48733
|
-
var
|
|
48732
|
+
// 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&
|
|
48733
|
+
var ToggleBreadCrumbvue_type_template_id_93f64828_render = function render() {
|
|
48734
48734
|
var _vm = this,
|
|
48735
48735
|
_c = _vm._self._c;
|
|
48736
48736
|
return _vm.breadcrumb_computed ? _c('div', {
|
|
@@ -48739,10 +48739,15 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_render = function render() {
|
|
|
48739
48739
|
return _c('div', {
|
|
48740
48740
|
key: index
|
|
48741
48741
|
}, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('span', {
|
|
48742
|
+
ref: "editableSpan",
|
|
48743
|
+
refInFor: true,
|
|
48742
48744
|
staticClass: "toggle-breadcrumb-editable-input",
|
|
48743
48745
|
attrs: {
|
|
48744
48746
|
"contenteditable": "true"
|
|
48745
48747
|
},
|
|
48748
|
+
domProps: {
|
|
48749
|
+
"textContent": _vm._s(_vm.initialContent)
|
|
48750
|
+
},
|
|
48746
48751
|
on: {
|
|
48747
48752
|
"input": function ($event) {
|
|
48748
48753
|
return _vm.updateContent($event);
|
|
@@ -48757,7 +48762,7 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_render = function render() {
|
|
|
48757
48762
|
return _vm.handlePaste.apply(null, arguments);
|
|
48758
48763
|
}
|
|
48759
48764
|
}
|
|
48760
|
-
}
|
|
48765
|
+
})] : [crumb.link && !_vm.isNuxt ? _c('router-link', {
|
|
48761
48766
|
staticClass: "back-product",
|
|
48762
48767
|
attrs: {
|
|
48763
48768
|
"to": {
|
|
@@ -48778,9 +48783,9 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_render = function render() {
|
|
|
48778
48783
|
}, [_vm._v(_vm._s(crumb.name))]) : _vm._e()]], 2);
|
|
48779
48784
|
}), 0) : _vm._e();
|
|
48780
48785
|
};
|
|
48781
|
-
var
|
|
48786
|
+
var ToggleBreadCrumbvue_type_template_id_93f64828_staticRenderFns = [];
|
|
48782
48787
|
|
|
48783
|
-
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=
|
|
48788
|
+
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=93f64828&
|
|
48784
48789
|
|
|
48785
48790
|
// 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&
|
|
48786
48791
|
/* harmony default export */ var ToggleBreadCrumbvue_type_script_lang_js_ = ({
|
|
@@ -48805,9 +48810,11 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48805
48810
|
required: false
|
|
48806
48811
|
}
|
|
48807
48812
|
},
|
|
48808
|
-
data
|
|
48813
|
+
data() {
|
|
48809
48814
|
return {
|
|
48810
|
-
content: ''
|
|
48815
|
+
content: '',
|
|
48816
|
+
initialContent: '',
|
|
48817
|
+
lastSelection: null
|
|
48811
48818
|
};
|
|
48812
48819
|
},
|
|
48813
48820
|
computed: {
|
|
@@ -48815,29 +48822,62 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48815
48822
|
return this.isNuxt ? this.breadcrumb : this.$route.meta.breadcrumb;
|
|
48816
48823
|
}
|
|
48817
48824
|
},
|
|
48825
|
+
mounted() {
|
|
48826
|
+
if (this.breadcrumb_computed && this.breadcrumb_computed.length > 0) {
|
|
48827
|
+
const lastCrumb = this.breadcrumb_computed[this.breadcrumb_computed.length - 1];
|
|
48828
|
+
this.content = lastCrumb.name;
|
|
48829
|
+
this.initialContent = lastCrumb.name;
|
|
48830
|
+
}
|
|
48831
|
+
},
|
|
48818
48832
|
methods: {
|
|
48833
|
+
saveSelection() {
|
|
48834
|
+
if (window.getSelection) {
|
|
48835
|
+
const sel = window.getSelection();
|
|
48836
|
+
if (sel.getRangeAt && sel.rangeCount) {
|
|
48837
|
+
const range = sel.getRangeAt(0);
|
|
48838
|
+
this.lastSelection = {
|
|
48839
|
+
start: range.startOffset,
|
|
48840
|
+
end: range.endOffset
|
|
48841
|
+
};
|
|
48842
|
+
}
|
|
48843
|
+
}
|
|
48844
|
+
},
|
|
48845
|
+
restoreSelection() {
|
|
48846
|
+
if (!this.lastSelection || !this.$refs.editableSpan) return;
|
|
48847
|
+
const el = this.$refs.editableSpan;
|
|
48848
|
+
if (!el.firstChild && typeof el.textContent === 'string') {
|
|
48849
|
+
el.textContent = this.content || '';
|
|
48850
|
+
}
|
|
48851
|
+
try {
|
|
48852
|
+
const range = document.createRange();
|
|
48853
|
+
const sel = window.getSelection();
|
|
48854
|
+
const textNode = el.firstChild || el;
|
|
48855
|
+
|
|
48856
|
+
// Ensure we don't exceed the text length
|
|
48857
|
+
const start = Math.min(this.lastSelection.start, textNode.length);
|
|
48858
|
+
const end = Math.min(this.lastSelection.end, textNode.length);
|
|
48859
|
+
range.setStart(textNode, start);
|
|
48860
|
+
range.setEnd(textNode, end);
|
|
48861
|
+
sel.removeAllRanges();
|
|
48862
|
+
sel.addRange(range);
|
|
48863
|
+
} catch (e) {
|
|
48864
|
+
console.warn('Failed to restore selection:', e);
|
|
48865
|
+
}
|
|
48866
|
+
},
|
|
48819
48867
|
handlePaste(event) {
|
|
48820
|
-
// Get plain text from clipboard and clean it
|
|
48821
48868
|
const text = (event.clipboardData || window.clipboardData).getData('text');
|
|
48822
48869
|
const cleanText = text.replace(/[\r\n\s]+/g, ' ').trim();
|
|
48823
|
-
|
|
48824
|
-
// Get current selection information
|
|
48870
|
+
this.saveSelection();
|
|
48825
48871
|
const selection = window.getSelection();
|
|
48826
48872
|
const selectionLength = selection.toString().length;
|
|
48827
48873
|
const currentLength = this.content.length;
|
|
48828
|
-
|
|
48829
|
-
// Check if adding the pasted text would exceed maxChars
|
|
48830
48874
|
if (currentLength - selectionLength + cleanText.length <= this.maxChars && selection.rangeCount) {
|
|
48831
48875
|
const range = selection.getRangeAt(0);
|
|
48832
48876
|
range.deleteContents();
|
|
48833
48877
|
range.insertNode(document.createTextNode(cleanText));
|
|
48834
|
-
|
|
48835
|
-
// Move cursor to end of inserted text
|
|
48836
48878
|
range.collapse(false);
|
|
48837
48879
|
selection.removeAllRanges();
|
|
48838
48880
|
selection.addRange(range);
|
|
48839
|
-
|
|
48840
|
-
// Update content
|
|
48841
48881
|
this.content = event.target.innerText;
|
|
48842
48882
|
this.$emit('update:lastCrumb', this.content);
|
|
48843
48883
|
}
|
|
@@ -48847,15 +48887,17 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48847
48887
|
event.target.blur();
|
|
48848
48888
|
},
|
|
48849
48889
|
updateContent(event) {
|
|
48850
|
-
|
|
48851
|
-
|
|
48890
|
+
this.saveSelection();
|
|
48891
|
+
const newText = event.target.innerText;
|
|
48892
|
+
if (newText.length > this.maxChars) {
|
|
48852
48893
|
event.target.innerText = this.content;
|
|
48853
|
-
|
|
48854
|
-
// Move the cursor to the end of the input
|
|
48855
|
-
document.getSelection().modify("move", "forward", "documentboundary");
|
|
48894
|
+
this.restoreSelection();
|
|
48856
48895
|
} else {
|
|
48857
|
-
this.content =
|
|
48896
|
+
this.content = newText;
|
|
48858
48897
|
this.$emit('update:lastCrumb', this.content);
|
|
48898
|
+
this.$nextTick(() => {
|
|
48899
|
+
this.restoreSelection();
|
|
48900
|
+
});
|
|
48859
48901
|
}
|
|
48860
48902
|
}
|
|
48861
48903
|
}
|
|
@@ -48872,8 +48914,8 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48872
48914
|
|
|
48873
48915
|
var ToggleBreadCrumb_component = normalizeComponent(
|
|
48874
48916
|
breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
|
|
48875
|
-
|
|
48876
|
-
|
|
48917
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_render,
|
|
48918
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_staticRenderFns,
|
|
48877
48919
|
false,
|
|
48878
48920
|
null,
|
|
48879
48921
|
null,
|