monobill-mintui 0.6.52 → 0.6.53
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/components/popover/Popover.d.ts +4 -0
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/switch/Switch.d.ts +1 -0
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/tags/Tags.d.ts +13 -0
- package/dist/components/tags/Tags.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +125 -32
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -811,7 +811,7 @@ var i = class extends HTMLElement {
|
|
|
811
811
|
];
|
|
812
812
|
}
|
|
813
813
|
constructor() {
|
|
814
|
-
super(), this._button = null, this._checked = !1;
|
|
814
|
+
super(), this._button = null, this._checked = !1, this._hasUserToggled = !1;
|
|
815
815
|
}
|
|
816
816
|
connectedCallback() {
|
|
817
817
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "align-baseline", "block", "w-full"), this._checked = this.getAttribute("checked") === "true", this.render();
|
|
@@ -912,9 +912,7 @@ var i = class extends HTMLElement {
|
|
|
912
912
|
"w-4",
|
|
913
913
|
"shadow-lg",
|
|
914
914
|
"transform",
|
|
915
|
-
"transition-transform",
|
|
916
|
-
"duration-200",
|
|
917
|
-
"ease-in-out",
|
|
915
|
+
this._hasUserToggled ? "transition-transform duration-200 ease-in-out" : "",
|
|
918
916
|
"pointer-events-none",
|
|
919
917
|
"overflow-hidden"
|
|
920
918
|
], t = this._checked ? "translate-x-5" : "translate-x-0.5";
|
|
@@ -957,7 +955,7 @@ var i = class extends HTMLElement {
|
|
|
957
955
|
}
|
|
958
956
|
handleToggle(e) {
|
|
959
957
|
if (!this.isDisabled()) {
|
|
960
|
-
this.checked = !this._checked;
|
|
958
|
+
this._hasUserToggled = !0, this.checked = !this._checked;
|
|
961
959
|
let e = new Event("input", {
|
|
962
960
|
bubbles: !0,
|
|
963
961
|
cancelable: !0,
|
|
@@ -1974,6 +1972,8 @@ var _ = class extends HTMLElement {
|
|
|
1974
1972
|
"direction",
|
|
1975
1973
|
"open",
|
|
1976
1974
|
"trigger-id",
|
|
1975
|
+
"trigger-toggle",
|
|
1976
|
+
"trigger-align",
|
|
1977
1977
|
"padding",
|
|
1978
1978
|
"hover",
|
|
1979
1979
|
"distance"
|
|
@@ -2010,7 +2010,7 @@ var _ = class extends HTMLElement {
|
|
|
2010
2010
|
let e = this._isInsideModal() ? "z-[80]" : "z-[60]";
|
|
2011
2011
|
this.classList.remove("z-50", "z-[60]", "z-[80]"), this.classList.add(e);
|
|
2012
2012
|
}
|
|
2013
|
-
this.render(), (e === "trigger-id" || e === "hover") && this._setupTrigger(), e === "open" && this.isOpen() && this._closeOtherPopovers();
|
|
2013
|
+
this.render(), (e === "trigger-id" || e === "hover" || e === "trigger-toggle") && this._setupTrigger(), e === "open" && this.isOpen() && this._closeOtherPopovers();
|
|
2014
2014
|
}
|
|
2015
2015
|
}
|
|
2016
2016
|
getId() {
|
|
@@ -2062,6 +2062,13 @@ var _ = class extends HTMLElement {
|
|
|
2062
2062
|
isHoverEnabled() {
|
|
2063
2063
|
return this.getAttribute("hover") === "true";
|
|
2064
2064
|
}
|
|
2065
|
+
getTriggerAlign() {
|
|
2066
|
+
let e = (this.getAttribute("trigger-align") || "center").toLowerCase();
|
|
2067
|
+
return e === "start" || e === "end" ? e : "center";
|
|
2068
|
+
}
|
|
2069
|
+
isTriggerToggleEnabled() {
|
|
2070
|
+
return this.getAttribute("trigger-toggle") !== "false";
|
|
2071
|
+
}
|
|
2065
2072
|
isOpen() {
|
|
2066
2073
|
return this.getAttribute("open") === "true";
|
|
2067
2074
|
}
|
|
@@ -2078,7 +2085,7 @@ var _ = class extends HTMLElement {
|
|
|
2078
2085
|
}, 10));
|
|
2079
2086
|
}
|
|
2080
2087
|
_attachTriggerListener() {
|
|
2081
|
-
if (this._triggerElement && !this._triggerClickHandler) {
|
|
2088
|
+
if (this.isTriggerToggleEnabled() && this._triggerElement && !this._triggerClickHandler) {
|
|
2082
2089
|
let e = this;
|
|
2083
2090
|
this._triggerClickHandler = function(t) {
|
|
2084
2091
|
t.stopImmediatePropagation(), t.preventDefault(), e.getAttribute("open") === "true" ? e.removeAttribute("open") : e.setAttribute("open", "true");
|
|
@@ -2129,31 +2136,31 @@ var _ = class extends HTMLElement {
|
|
|
2129
2136
|
direction: "down"
|
|
2130
2137
|
};
|
|
2131
2138
|
this.classList.contains("hidden") && (this.classList.remove("hidden"), this._popover.style.visibility = "hidden");
|
|
2132
|
-
let n = t.getBoundingClientRect(), r = window.innerWidth, i = window.innerHeight, a = this._getDistancePx(), o = this.getDirection(), s = 0, c = 0;
|
|
2139
|
+
let n = t.getBoundingClientRect(), r = window.innerWidth, i = window.innerHeight, a = this._getDistancePx(), o = this.getDirection(), s = 0, c = 0, l = this.getTriggerAlign();
|
|
2133
2140
|
switch (o) {
|
|
2134
2141
|
case "down":
|
|
2135
|
-
if (s = e.bottom + a, c = e.left + e.width / 2 - n.width / 2, s + n.height > i) {
|
|
2142
|
+
if (s = e.bottom + a, c = l === "start" ? e.left : l === "end" ? e.right - n.width : e.left + e.width / 2 - n.width / 2, s + n.height > i) {
|
|
2136
2143
|
let t = e.top - n.height - a;
|
|
2137
2144
|
t >= 0 ? (o = "up", s = t) : (s = Math.max(0, i - n.height - a), s + n.height > i && (s = 0));
|
|
2138
2145
|
}
|
|
2139
2146
|
c < 0 && (c = a), c + n.width > r && (c = Math.max(a, r - n.width - a), c + n.width > r && (c = r - n.width));
|
|
2140
2147
|
break;
|
|
2141
2148
|
case "up":
|
|
2142
|
-
if (s = e.top - n.height - a, c = e.left + e.width / 2 - n.width / 2, s < 0) {
|
|
2149
|
+
if (s = e.top - n.height - a, c = l === "start" ? e.left : l === "end" ? e.right - n.width : e.left + e.width / 2 - n.width / 2, s < 0) {
|
|
2143
2150
|
let t = e.bottom + a;
|
|
2144
2151
|
t + n.height <= i ? (o = "down", s = t) : (s = Math.min(i - n.height - a, i - n.height), s < 0 && (s = i - n.height));
|
|
2145
2152
|
}
|
|
2146
2153
|
c < 0 && (c = a), c + n.width > r && (c = Math.max(a, r - n.width - a), c + n.width > r && (c = r - n.width));
|
|
2147
2154
|
break;
|
|
2148
2155
|
case "right":
|
|
2149
|
-
if (s = e.top + e.height / 2 - n.height / 2, c = e.right + a, c + n.width > r) {
|
|
2156
|
+
if (s = l === "start" ? e.top : l === "end" ? e.bottom - n.height : e.top + e.height / 2 - n.height / 2, c = e.right + a, c + n.width > r) {
|
|
2150
2157
|
let t = e.left - n.width - a;
|
|
2151
2158
|
t >= 0 ? (o = "left", c = t) : (c = Math.max(0, r - n.width - a), c + n.width > r && (c = r - n.width));
|
|
2152
2159
|
}
|
|
2153
2160
|
s < 0 && (s = a), s + n.height > i && (s = Math.max(a, i - n.height - a), s + n.height > i && (s = i - n.height));
|
|
2154
2161
|
break;
|
|
2155
2162
|
case "left":
|
|
2156
|
-
if (s = e.top + e.height / 2 - n.height / 2, c = e.left - n.width - a, c < 0) {
|
|
2163
|
+
if (s = l === "start" ? e.top : l === "end" ? e.bottom - n.height : e.top + e.height / 2 - n.height / 2, c = e.left - n.width - a, c < 0) {
|
|
2157
2164
|
let t = e.right + a;
|
|
2158
2165
|
t + n.width <= r ? (o = "right", c = t) : (c = Math.min(r - n.width - a, r - n.width), c < 0 && (c = 0));
|
|
2159
2166
|
}
|
|
@@ -6575,12 +6582,14 @@ customElements.get("mint-chip") || customElements.define("mint-chip", O);
|
|
|
6575
6582
|
//#region src/components/tags/Tags.ts
|
|
6576
6583
|
var k = class extends HTMLElement {
|
|
6577
6584
|
constructor(...e) {
|
|
6578
|
-
super(...e), this._container = null, this._chipsWrap = null, this._input = null, this._tags = [], this._placeholder = "Add tag", this._dragIndex = null, this._dragChip = null, this._isPointerDragging = !1, this._pointerMoveHandler = null, this._pointerUpHandler = null;
|
|
6585
|
+
super(...e), this._container = null, this._chipsWrap = null, this._input = null, this._tags = [], this._predefinedTags = [], this._placeholder = "Add tag", this._predefinedPopoverOpenListenersAttached = !1, this._predefinedBlurCloseTimer = null, this._dragIndex = null, this._dragChip = null, this._isPointerDragging = !1, this._pointerMoveHandler = null, this._pointerUpHandler = null;
|
|
6579
6586
|
}
|
|
6580
6587
|
static get observedAttributes() {
|
|
6581
6588
|
return [
|
|
6582
6589
|
"tags",
|
|
6583
6590
|
"placeholder",
|
|
6591
|
+
"predefined-tags",
|
|
6592
|
+
"predefined-only",
|
|
6584
6593
|
"sortable",
|
|
6585
6594
|
"label",
|
|
6586
6595
|
"info",
|
|
@@ -6636,15 +6645,36 @@ var k = class extends HTMLElement {
|
|
|
6636
6645
|
}
|
|
6637
6646
|
_parseAttrs() {
|
|
6638
6647
|
let e = this.getAttribute("tags");
|
|
6639
|
-
|
|
6648
|
+
e && (this._tags = this._parseTagItems(e, "tags"));
|
|
6649
|
+
let t = this.getAttribute("placeholder");
|
|
6650
|
+
t !== null && (this._placeholder = t);
|
|
6651
|
+
let n = this.getAttribute("predefined-tags");
|
|
6652
|
+
this._predefinedTags = this._parseTagItems(n, "predefined-tags");
|
|
6653
|
+
}
|
|
6654
|
+
_parseTagItems(e, t) {
|
|
6655
|
+
if (!e) return [];
|
|
6640
6656
|
try {
|
|
6641
6657
|
let t = JSON.parse(e);
|
|
6642
|
-
Array.isArray(t)
|
|
6658
|
+
return Array.isArray(t) ? t.map((e) => {
|
|
6659
|
+
if (typeof e == "string") {
|
|
6660
|
+
let t = e.trim();
|
|
6661
|
+
return t ? {
|
|
6662
|
+
value: t,
|
|
6663
|
+
label: t,
|
|
6664
|
+
dismissable: !0
|
|
6665
|
+
} : null;
|
|
6666
|
+
}
|
|
6667
|
+
if (!e || typeof e != "object") return null;
|
|
6668
|
+
let t = e, n = String(t.value ?? "").trim();
|
|
6669
|
+
return n ? {
|
|
6670
|
+
value: n,
|
|
6671
|
+
label: String(t.label ?? n),
|
|
6672
|
+
dismissable: t.dismissable !== !1
|
|
6673
|
+
} : null;
|
|
6674
|
+
}).filter((e) => e !== null) : [];
|
|
6643
6675
|
} catch (e) {
|
|
6644
|
-
console.warn(
|
|
6676
|
+
return console.warn(`mint-tags: failed to parse ${t} attribute`, e), [];
|
|
6645
6677
|
}
|
|
6646
|
-
let t = this.getAttribute("placeholder");
|
|
6647
|
-
t !== null && (this._placeholder = t);
|
|
6648
6678
|
}
|
|
6649
6679
|
_syncAttr() {
|
|
6650
6680
|
this.setAttribute("tags", JSON.stringify(this._tags));
|
|
@@ -6673,6 +6703,9 @@ var k = class extends HTMLElement {
|
|
|
6673
6703
|
isLoading() {
|
|
6674
6704
|
return this.hasAttribute("loading");
|
|
6675
6705
|
}
|
|
6706
|
+
isPredefinedOnly() {
|
|
6707
|
+
return this.getAttribute("predefined-only") === "true";
|
|
6708
|
+
}
|
|
6676
6709
|
_render() {
|
|
6677
6710
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "align-baseline", "block", "w-full");
|
|
6678
6711
|
let e = this.isLoading(), t = this.getLabel(), n = this.getInfo(), r = this.hasError(), i = this.getId() || `mint-tags-${Math.random().toString(36).substr(2, 9)}`;
|
|
@@ -6697,7 +6730,7 @@ var k = class extends HTMLElement {
|
|
|
6697
6730
|
"focus-within:ring-offset-1",
|
|
6698
6731
|
r ? "focus-within:ring-red-400 dark:focus-within:ring-red-500" : "focus-within:ring-gray-400 dark:focus-within:ring-gray-500"
|
|
6699
6732
|
];
|
|
6700
|
-
this._container.className = e.join(" "), this._chipsWrap = document.createElement("div"), this._chipsWrap.className = "flex flex-wrap items-center gap-2", this._chipsWrap.addEventListener("dragover", (e) => {
|
|
6733
|
+
this._container.className = e.join(" "), this._container.addEventListener("pointerdown", (e) => this._onContainerPointerDown(e)), this._chipsWrap = document.createElement("div"), this._chipsWrap.className = "flex flex-wrap items-center gap-2", this._chipsWrap.addEventListener("dragover", (e) => {
|
|
6701
6734
|
this.hasAttribute("sortable") && e.preventDefault();
|
|
6702
6735
|
}), this._chipsWrap.addEventListener("drop", (e) => {
|
|
6703
6736
|
this.hasAttribute("sortable") && e.preventDefault();
|
|
@@ -6717,7 +6750,7 @@ var k = class extends HTMLElement {
|
|
|
6717
6750
|
e.key === "Enter" && (e.preventDefault(), this._addFromInput());
|
|
6718
6751
|
}), this._container.appendChild(this._chipsWrap), this.appendChild(this._container);
|
|
6719
6752
|
}
|
|
6720
|
-
if (this._container) {
|
|
6753
|
+
if (this._input && (this.isPredefinedOnly() && this._predefinedTags.length > 0 ? this._input.setAttribute("readonly", "true") : this._input.removeAttribute("readonly")), this._container) {
|
|
6721
6754
|
let e = [
|
|
6722
6755
|
"flex",
|
|
6723
6756
|
"flex-wrap",
|
|
@@ -6747,7 +6780,48 @@ var k = class extends HTMLElement {
|
|
|
6747
6780
|
let o = this.querySelector(".mint-tags-info");
|
|
6748
6781
|
n ? (o || (o = document.createElement("span"), o.className = "mint-tags-info text-xs text-gray-500 dark:text-gray-400 select-none mt-1 block", this._container && this._container.parentElement === this ? this.insertBefore(o, this._container.nextSibling) : this.appendChild(o)), o.textContent = n) : o && o.remove();
|
|
6749
6782
|
let s = this.getName();
|
|
6750
|
-
s ? (this.setAttribute("name", s), this._input && (this._input.name = s, this._input.id = i)) : (this.removeAttribute("name"), this._input && (this._input.removeAttribute("name"), this._input.id = i)), this._wireInputBackspace(), this._renderChips(), this._renderErrorState(), this._renderSkeleton(e);
|
|
6783
|
+
s ? (this.setAttribute("name", s), this._input && (this._input.name = s, this._input.id = i)) : (this.removeAttribute("name"), this._input && (this._input.removeAttribute("name"), this._input.id = i)), this._wireInputBackspace(), this._renderChips(), this._renderPredefinedPopover(), this._renderErrorState(), this._renderSkeleton(e);
|
|
6784
|
+
}
|
|
6785
|
+
_getAvailablePredefinedTags() {
|
|
6786
|
+
let e = new Set(this._tags.map((e) => e.value.toLowerCase()));
|
|
6787
|
+
return this._predefinedTags.filter((t) => !e.has(t.value.toLowerCase()));
|
|
6788
|
+
}
|
|
6789
|
+
_renderPredefinedPopover() {
|
|
6790
|
+
if (!this._container || !this._chipsWrap || (this.querySelectorAll("[data-mint-tags-predefined=\"true\"]").forEach((e) => e.remove()), !this._predefinedTags.length) || !this._input || !this._input.id) return;
|
|
6791
|
+
let e = `${this.getAttribute("id") || this._input.id}-tags-field`;
|
|
6792
|
+
this._container.id = e;
|
|
6793
|
+
let t = document.createElement("mint-popover");
|
|
6794
|
+
t.setAttribute("trigger-id", e), t.setAttribute("trigger-toggle", "false"), t.setAttribute("trigger-align", "start"), t.setAttribute("direction", "down"), t.setAttribute("padding", "0"), t.setAttribute("distance", "6px"), t.dataset.mintTagsPredefined = "true";
|
|
6795
|
+
let n = document.createElement("div"), r = this._container.offsetWidth;
|
|
6796
|
+
n.className = "box-border flex w-full min-w-0 flex-col gap-0.5 bg-white p-1 dark:bg-mint-elevated", r > 0 ? n.style.minWidth = `${Math.max(r, 200)}px` : n.style.minWidth = "12rem", n.addEventListener("mousedown", (e) => {
|
|
6797
|
+
e.preventDefault();
|
|
6798
|
+
});
|
|
6799
|
+
let i = this._getAvailablePredefinedTags();
|
|
6800
|
+
if (i.length) i.forEach((e) => {
|
|
6801
|
+
let r = document.createElement("mint-button");
|
|
6802
|
+
r.setAttribute("type", "button"), r.setAttribute("variant", "ghost"), r.setAttribute("full-width", "true"), r.setAttribute("align", "left"), r.className = "w-full justify-start", r.textContent = e.label || e.value, r.addEventListener("click", () => {
|
|
6803
|
+
this._addTag(e), t.removeAttribute("open");
|
|
6804
|
+
}), n.appendChild(r);
|
|
6805
|
+
});
|
|
6806
|
+
else {
|
|
6807
|
+
let e = document.createElement("div");
|
|
6808
|
+
e.className = "px-2 py-1 text-xs text-gray-500 dark:text-gray-400", e.textContent = "No tags available", n.appendChild(e);
|
|
6809
|
+
}
|
|
6810
|
+
t.appendChild(n), this._container.appendChild(t), this._attachPredefinedPopoverOpenOnInputFocus();
|
|
6811
|
+
}
|
|
6812
|
+
_getPredefinedPopoverEl() {
|
|
6813
|
+
return this.querySelector("mint-popover[data-mint-tags-predefined=\"true\"]");
|
|
6814
|
+
}
|
|
6815
|
+
_attachPredefinedPopoverOpenOnInputFocus() {
|
|
6816
|
+
!this._input || !this._predefinedTags.length || this._predefinedPopoverOpenListenersAttached || (this._predefinedPopoverOpenListenersAttached = !0, this._input.addEventListener("focus", () => {
|
|
6817
|
+
if (this._predefinedBlurCloseTimer !== null && (window.clearTimeout(this._predefinedBlurCloseTimer), this._predefinedBlurCloseTimer = null), this.isLoading()) return;
|
|
6818
|
+
let e = this._getPredefinedPopoverEl();
|
|
6819
|
+
e && e.setAttribute("open", "true");
|
|
6820
|
+
}), this._input.addEventListener("blur", () => {
|
|
6821
|
+
this._predefinedBlurCloseTimer !== null && window.clearTimeout(this._predefinedBlurCloseTimer), this._predefinedBlurCloseTimer = window.setTimeout(() => {
|
|
6822
|
+
this._predefinedBlurCloseTimer = null, this._getPredefinedPopoverEl()?.removeAttribute("open");
|
|
6823
|
+
}, 150);
|
|
6824
|
+
}));
|
|
6751
6825
|
}
|
|
6752
6826
|
_renderSkeleton(e) {
|
|
6753
6827
|
let t = this._container;
|
|
@@ -6774,22 +6848,36 @@ var k = class extends HTMLElement {
|
|
|
6774
6848
|
_addFromInput() {
|
|
6775
6849
|
if (!this._input) return;
|
|
6776
6850
|
let e = this._input.value.trim();
|
|
6777
|
-
if (e)
|
|
6778
|
-
|
|
6851
|
+
if (!e) return;
|
|
6852
|
+
if (this._tags.some((t) => t.value.toLowerCase() === e.toLowerCase())) {
|
|
6853
|
+
this._input.value = "";
|
|
6854
|
+
return;
|
|
6855
|
+
}
|
|
6856
|
+
let t = this._predefinedTags.find((t) => t.value.toLowerCase() === e.toLowerCase());
|
|
6857
|
+
if (this.isPredefinedOnly()) {
|
|
6858
|
+
if (!t) {
|
|
6779
6859
|
this._input.value = "";
|
|
6780
6860
|
return;
|
|
6781
6861
|
}
|
|
6782
|
-
this.
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
|
|
6789
|
-
|
|
6862
|
+
this._addTag(t);
|
|
6863
|
+
} else this._addTag(t || {
|
|
6864
|
+
value: e,
|
|
6865
|
+
label: e,
|
|
6866
|
+
dismissable: !0
|
|
6867
|
+
});
|
|
6868
|
+
this._input.value = "", setTimeout(() => {
|
|
6869
|
+
this._input?.focus();
|
|
6870
|
+
}, 10);
|
|
6871
|
+
}
|
|
6872
|
+
_addTag(e) {
|
|
6873
|
+
this._tags.some((t) => t.value.toLowerCase() === e.value.toLowerCase()) || (this._tags.push({
|
|
6874
|
+
value: e.value,
|
|
6875
|
+
label: e.label || e.value,
|
|
6876
|
+
dismissable: e.dismissable !== !1
|
|
6877
|
+
}), this._syncAttr(), this._renderChips(), this._renderPredefinedPopover(), this._emitChange());
|
|
6790
6878
|
}
|
|
6791
6879
|
_removeTag(e) {
|
|
6792
|
-
this._tags = this._tags.filter((t) => t.value !== e), this._syncAttr(), this._renderChips(), this._emitChange();
|
|
6880
|
+
this._tags = this._tags.filter((t) => t.value !== e), this._syncAttr(), this._renderChips(), this._renderPredefinedPopover(), this._emitChange();
|
|
6793
6881
|
}
|
|
6794
6882
|
_emitChange() {
|
|
6795
6883
|
this.dispatchEvent(new CustomEvent("tags-change", {
|
|
@@ -6817,6 +6905,11 @@ var k = class extends HTMLElement {
|
|
|
6817
6905
|
(e.key === "Backspace" || e.key === "Delete") && t.dismissable && (e.preventDefault(), this._removeTag(t.value), this._focusInput());
|
|
6818
6906
|
});
|
|
6819
6907
|
}
|
|
6908
|
+
_onContainerPointerDown(e) {
|
|
6909
|
+
if (!this._input || this.isLoading() || e.button !== 0 || e.defaultPrevented) return;
|
|
6910
|
+
let t = e.composedPath();
|
|
6911
|
+
t.some((e) => e === this._input) || t.some((e) => e instanceof HTMLElement && e.tagName === "MINT-CHIP") || this._input.focus({ preventScroll: !0 });
|
|
6912
|
+
}
|
|
6820
6913
|
_onDragStart(e, t) {
|
|
6821
6914
|
this.hasAttribute("sortable") && (this._dragChip = t, this._dragIndex = Number(t.dataset.index), e.dataTransfer?.setData("text/plain", t.dataset.index || ""), e.dataTransfer && (e.dataTransfer.effectAllowed = "move", e.dataTransfer.dropEffect = "move"), t.classList.add("opacity-60"));
|
|
6822
6915
|
}
|