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
|
@@ -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_4c1ca076_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_4c1ca076_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_4c1ca076_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_4c1ca076_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_4c1ca076_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,15 +48878,17 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48838
48878
|
event.target.blur();
|
|
48839
48879
|
},
|
|
48840
48880
|
updateContent(event) {
|
|
48841
|
-
|
|
48842
|
-
|
|
48881
|
+
this.saveSelection();
|
|
48882
|
+
const newText = event.target.innerText;
|
|
48883
|
+
if (newText.length > this.maxChars) {
|
|
48843
48884
|
event.target.innerText = this.content;
|
|
48844
|
-
|
|
48845
|
-
// Move the cursor to the end of the input
|
|
48846
|
-
document.getSelection().modify("move", "forward", "documentboundary");
|
|
48885
|
+
this.restoreSelection();
|
|
48847
48886
|
} else {
|
|
48848
|
-
this.content =
|
|
48887
|
+
this.content = newText;
|
|
48849
48888
|
this.$emit('update:lastCrumb', this.content);
|
|
48889
|
+
this.$nextTick(() => {
|
|
48890
|
+
this.restoreSelection();
|
|
48891
|
+
});
|
|
48850
48892
|
}
|
|
48851
48893
|
}
|
|
48852
48894
|
}
|
|
@@ -48863,8 +48905,8 @@ var ToggleBreadCrumbvue_type_template_id_4c1ca076_staticRenderFns = [];
|
|
|
48863
48905
|
|
|
48864
48906
|
var ToggleBreadCrumb_component = normalizeComponent(
|
|
48865
48907
|
breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
|
|
48866
|
-
|
|
48867
|
-
|
|
48908
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_render,
|
|
48909
|
+
ToggleBreadCrumbvue_type_template_id_93f64828_staticRenderFns,
|
|
48868
48910
|
false,
|
|
48869
48911
|
null,
|
|
48870
48912
|
null,
|