monobill-mintui 0.6.521 → 0.6.531
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 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/tags/Tags.d.ts +14 -0
- package/dist/components/tags/Tags.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +134 -31
- 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, this.
|
|
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,7 +912,7 @@ var i = class extends HTMLElement {
|
|
|
912
912
|
"w-4",
|
|
913
913
|
"shadow-lg",
|
|
914
914
|
"transform",
|
|
915
|
-
this.
|
|
915
|
+
this._hasUserToggled ? "transition-transform duration-200 ease-in-out" : "",
|
|
916
916
|
"pointer-events-none",
|
|
917
917
|
"overflow-hidden"
|
|
918
918
|
], t = this._checked ? "translate-x-5" : "translate-x-0.5";
|
|
@@ -936,7 +936,7 @@ var i = class extends HTMLElement {
|
|
|
936
936
|
let c = s.querySelector(".mint-switch-label");
|
|
937
937
|
r ? (c || (c = document.createElement("label"), c.className = "mint-switch-label cursor-pointer text-sm font-medium text-gray-900 dark:text-gray-100 select-none", this._button && this._button.parentElement === s ? s.insertBefore(c, this._button.nextSibling) : s.appendChild(c)), c.textContent = r, c.setAttribute("for", o), this.isDisabled() ? (c.classList.add("opacity-40", "cursor-not-allowed"), c.classList.remove("cursor-pointer")) : (c.classList.remove("opacity-40", "cursor-not-allowed"), c.classList.add("cursor-pointer"))) : c && c.remove(), this._button.className = t, this._button.disabled = this.isDisabled(), this._button.id = o, this._button.setAttribute("aria-checked", String(this._checked)), this._button.setAttribute("aria-label", r || "Toggle switch"), this._button.setAttribute("role", "switch"), this._button.type = "button";
|
|
938
938
|
let l = this._button.querySelector("span");
|
|
939
|
-
l || (l = document.createElement("span"), this._button.appendChild(l)), l.className = n
|
|
939
|
+
l || (l = document.createElement("span"), this._button.appendChild(l)), l.className = n;
|
|
940
940
|
let u = l.querySelector("span");
|
|
941
941
|
if (a) {
|
|
942
942
|
let e = u;
|
|
@@ -955,7 +955,7 @@ var i = class extends HTMLElement {
|
|
|
955
955
|
}
|
|
956
956
|
handleToggle(e) {
|
|
957
957
|
if (!this.isDisabled()) {
|
|
958
|
-
this.checked = !this._checked;
|
|
958
|
+
this._hasUserToggled = !0, this.checked = !this._checked;
|
|
959
959
|
let e = new Event("input", {
|
|
960
960
|
bubbles: !0,
|
|
961
961
|
cancelable: !0,
|
|
@@ -1972,6 +1972,8 @@ var _ = class extends HTMLElement {
|
|
|
1972
1972
|
"direction",
|
|
1973
1973
|
"open",
|
|
1974
1974
|
"trigger-id",
|
|
1975
|
+
"trigger-toggle",
|
|
1976
|
+
"trigger-align",
|
|
1975
1977
|
"padding",
|
|
1976
1978
|
"hover",
|
|
1977
1979
|
"distance"
|
|
@@ -2008,7 +2010,7 @@ var _ = class extends HTMLElement {
|
|
|
2008
2010
|
let e = this._isInsideModal() ? "z-[80]" : "z-[60]";
|
|
2009
2011
|
this.classList.remove("z-50", "z-[60]", "z-[80]"), this.classList.add(e);
|
|
2010
2012
|
}
|
|
2011
|
-
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();
|
|
2012
2014
|
}
|
|
2013
2015
|
}
|
|
2014
2016
|
getId() {
|
|
@@ -2060,6 +2062,13 @@ var _ = class extends HTMLElement {
|
|
|
2060
2062
|
isHoverEnabled() {
|
|
2061
2063
|
return this.getAttribute("hover") === "true";
|
|
2062
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
|
+
}
|
|
2063
2072
|
isOpen() {
|
|
2064
2073
|
return this.getAttribute("open") === "true";
|
|
2065
2074
|
}
|
|
@@ -2076,7 +2085,7 @@ var _ = class extends HTMLElement {
|
|
|
2076
2085
|
}, 10));
|
|
2077
2086
|
}
|
|
2078
2087
|
_attachTriggerListener() {
|
|
2079
|
-
if (this._triggerElement && !this._triggerClickHandler) {
|
|
2088
|
+
if (this.isTriggerToggleEnabled() && this._triggerElement && !this._triggerClickHandler) {
|
|
2080
2089
|
let e = this;
|
|
2081
2090
|
this._triggerClickHandler = function(t) {
|
|
2082
2091
|
t.stopImmediatePropagation(), t.preventDefault(), e.getAttribute("open") === "true" ? e.removeAttribute("open") : e.setAttribute("open", "true");
|
|
@@ -2127,31 +2136,31 @@ var _ = class extends HTMLElement {
|
|
|
2127
2136
|
direction: "down"
|
|
2128
2137
|
};
|
|
2129
2138
|
this.classList.contains("hidden") && (this.classList.remove("hidden"), this._popover.style.visibility = "hidden");
|
|
2130
|
-
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();
|
|
2131
2140
|
switch (o) {
|
|
2132
2141
|
case "down":
|
|
2133
|
-
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) {
|
|
2134
2143
|
let t = e.top - n.height - a;
|
|
2135
2144
|
t >= 0 ? (o = "up", s = t) : (s = Math.max(0, i - n.height - a), s + n.height > i && (s = 0));
|
|
2136
2145
|
}
|
|
2137
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));
|
|
2138
2147
|
break;
|
|
2139
2148
|
case "up":
|
|
2140
|
-
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) {
|
|
2141
2150
|
let t = e.bottom + a;
|
|
2142
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));
|
|
2143
2152
|
}
|
|
2144
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));
|
|
2145
2154
|
break;
|
|
2146
2155
|
case "right":
|
|
2147
|
-
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) {
|
|
2148
2157
|
let t = e.left - n.width - a;
|
|
2149
2158
|
t >= 0 ? (o = "left", c = t) : (c = Math.max(0, r - n.width - a), c + n.width > r && (c = r - n.width));
|
|
2150
2159
|
}
|
|
2151
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));
|
|
2152
2161
|
break;
|
|
2153
2162
|
case "left":
|
|
2154
|
-
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) {
|
|
2155
2164
|
let t = e.right + a;
|
|
2156
2165
|
t + n.width <= r ? (o = "right", c = t) : (c = Math.min(r - n.width - a, r - n.width), c < 0 && (c = 0));
|
|
2157
2166
|
}
|
|
@@ -6573,12 +6582,14 @@ customElements.get("mint-chip") || customElements.define("mint-chip", O);
|
|
|
6573
6582
|
//#region src/components/tags/Tags.ts
|
|
6574
6583
|
var k = class extends HTMLElement {
|
|
6575
6584
|
constructor(...e) {
|
|
6576
|
-
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._suppressNextPredefinedBlurClose = !1, this._dragIndex = null, this._dragChip = null, this._isPointerDragging = !1, this._pointerMoveHandler = null, this._pointerUpHandler = null;
|
|
6577
6586
|
}
|
|
6578
6587
|
static get observedAttributes() {
|
|
6579
6588
|
return [
|
|
6580
6589
|
"tags",
|
|
6581
6590
|
"placeholder",
|
|
6591
|
+
"predefined-tags",
|
|
6592
|
+
"predefined-only",
|
|
6582
6593
|
"sortable",
|
|
6583
6594
|
"label",
|
|
6584
6595
|
"info",
|
|
@@ -6634,15 +6645,36 @@ var k = class extends HTMLElement {
|
|
|
6634
6645
|
}
|
|
6635
6646
|
_parseAttrs() {
|
|
6636
6647
|
let e = this.getAttribute("tags");
|
|
6637
|
-
|
|
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 [];
|
|
6638
6656
|
try {
|
|
6639
6657
|
let t = JSON.parse(e);
|
|
6640
|
-
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) : [];
|
|
6641
6675
|
} catch (e) {
|
|
6642
|
-
console.warn(
|
|
6676
|
+
return console.warn(`mint-tags: failed to parse ${t} attribute`, e), [];
|
|
6643
6677
|
}
|
|
6644
|
-
let t = this.getAttribute("placeholder");
|
|
6645
|
-
t !== null && (this._placeholder = t);
|
|
6646
6678
|
}
|
|
6647
6679
|
_syncAttr() {
|
|
6648
6680
|
this.setAttribute("tags", JSON.stringify(this._tags));
|
|
@@ -6671,6 +6703,9 @@ var k = class extends HTMLElement {
|
|
|
6671
6703
|
isLoading() {
|
|
6672
6704
|
return this.hasAttribute("loading");
|
|
6673
6705
|
}
|
|
6706
|
+
isPredefinedOnly() {
|
|
6707
|
+
return this.getAttribute("predefined-only") === "true";
|
|
6708
|
+
}
|
|
6674
6709
|
_render() {
|
|
6675
6710
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "align-baseline", "block", "w-full");
|
|
6676
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)}`;
|
|
@@ -6695,7 +6730,7 @@ var k = class extends HTMLElement {
|
|
|
6695
6730
|
"focus-within:ring-offset-1",
|
|
6696
6731
|
r ? "focus-within:ring-red-400 dark:focus-within:ring-red-500" : "focus-within:ring-gray-400 dark:focus-within:ring-gray-500"
|
|
6697
6732
|
];
|
|
6698
|
-
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) => {
|
|
6699
6734
|
this.hasAttribute("sortable") && e.preventDefault();
|
|
6700
6735
|
}), this._chipsWrap.addEventListener("drop", (e) => {
|
|
6701
6736
|
this.hasAttribute("sortable") && e.preventDefault();
|
|
@@ -6715,7 +6750,7 @@ var k = class extends HTMLElement {
|
|
|
6715
6750
|
e.key === "Enter" && (e.preventDefault(), this._addFromInput());
|
|
6716
6751
|
}), this._container.appendChild(this._chipsWrap), this.appendChild(this._container);
|
|
6717
6752
|
}
|
|
6718
|
-
if (this._container) {
|
|
6753
|
+
if (this._input && (this.isPredefinedOnly() && this._predefinedTags.length > 0 ? this._input.setAttribute("readonly", "true") : this._input.removeAttribute("readonly")), this._container) {
|
|
6719
6754
|
let e = [
|
|
6720
6755
|
"flex",
|
|
6721
6756
|
"flex-wrap",
|
|
@@ -6745,7 +6780,52 @@ var k = class extends HTMLElement {
|
|
|
6745
6780
|
let o = this.querySelector(".mint-tags-info");
|
|
6746
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();
|
|
6747
6782
|
let s = this.getName();
|
|
6748
|
-
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
|
+
if (this._predefinedBlurCloseTimer = null, this._suppressNextPredefinedBlurClose) {
|
|
6823
|
+
this._suppressNextPredefinedBlurClose = !1;
|
|
6824
|
+
return;
|
|
6825
|
+
}
|
|
6826
|
+
this._getPredefinedPopoverEl()?.removeAttribute("open");
|
|
6827
|
+
}, 150);
|
|
6828
|
+
}));
|
|
6749
6829
|
}
|
|
6750
6830
|
_renderSkeleton(e) {
|
|
6751
6831
|
let t = this._container;
|
|
@@ -6772,22 +6852,36 @@ var k = class extends HTMLElement {
|
|
|
6772
6852
|
_addFromInput() {
|
|
6773
6853
|
if (!this._input) return;
|
|
6774
6854
|
let e = this._input.value.trim();
|
|
6775
|
-
if (e)
|
|
6776
|
-
|
|
6855
|
+
if (!e) return;
|
|
6856
|
+
if (this._tags.some((t) => t.value.toLowerCase() === e.toLowerCase())) {
|
|
6857
|
+
this._input.value = "";
|
|
6858
|
+
return;
|
|
6859
|
+
}
|
|
6860
|
+
let t = this._predefinedTags.find((t) => t.value.toLowerCase() === e.toLowerCase());
|
|
6861
|
+
if (this.isPredefinedOnly()) {
|
|
6862
|
+
if (!t) {
|
|
6777
6863
|
this._input.value = "";
|
|
6778
6864
|
return;
|
|
6779
6865
|
}
|
|
6780
|
-
this.
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6866
|
+
this._addTag(t);
|
|
6867
|
+
} else this._addTag(t || {
|
|
6868
|
+
value: e,
|
|
6869
|
+
label: e,
|
|
6870
|
+
dismissable: !0
|
|
6871
|
+
});
|
|
6872
|
+
this._input.value = "", setTimeout(() => {
|
|
6873
|
+
this._input?.focus();
|
|
6874
|
+
}, 10);
|
|
6875
|
+
}
|
|
6876
|
+
_addTag(e) {
|
|
6877
|
+
this._tags.some((t) => t.value.toLowerCase() === e.value.toLowerCase()) || (this._tags.push({
|
|
6878
|
+
value: e.value,
|
|
6879
|
+
label: e.label || e.value,
|
|
6880
|
+
dismissable: e.dismissable !== !1
|
|
6881
|
+
}), this._syncAttr(), this._renderChips(), this._renderPredefinedPopover(), this._emitChange());
|
|
6788
6882
|
}
|
|
6789
6883
|
_removeTag(e) {
|
|
6790
|
-
this._tags = this._tags.filter((t) => t.value !== e), this._syncAttr(), this._renderChips(), this._emitChange();
|
|
6884
|
+
this._tags = this._tags.filter((t) => t.value !== e), this._syncAttr(), this._renderChips(), this._renderPredefinedPopover(), this._emitChange();
|
|
6791
6885
|
}
|
|
6792
6886
|
_emitChange() {
|
|
6793
6887
|
this.dispatchEvent(new CustomEvent("tags-change", {
|
|
@@ -6815,6 +6909,15 @@ var k = class extends HTMLElement {
|
|
|
6815
6909
|
(e.key === "Backspace" || e.key === "Delete") && t.dismissable && (e.preventDefault(), this._removeTag(t.value), this._focusInput());
|
|
6816
6910
|
});
|
|
6817
6911
|
}
|
|
6912
|
+
_onContainerPointerDown(e) {
|
|
6913
|
+
if (this._input && e.button === 0 && !e.defaultPrevented && !e.composedPath().some((e) => e === this._input)) {
|
|
6914
|
+
this._predefinedBlurCloseTimer !== null && (window.clearTimeout(this._predefinedBlurCloseTimer), this._predefinedBlurCloseTimer = null), this._suppressNextPredefinedBlurClose = !0, e.preventDefault();
|
|
6915
|
+
try {
|
|
6916
|
+
this._input.focus({ preventScroll: !0 });
|
|
6917
|
+
} catch {}
|
|
6918
|
+
this._predefinedTags.length > 0 && this._getPredefinedPopoverEl()?.setAttribute("open", "true");
|
|
6919
|
+
}
|
|
6920
|
+
}
|
|
6818
6921
|
_onDragStart(e, t) {
|
|
6819
6922
|
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"));
|
|
6820
6923
|
}
|