monobill-mintui 0.3.32 → 0.3.34
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/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/choice/Choice.d.ts +2 -0
- package/dist/components/choice/Choice.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.d.ts +2 -0
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/select/Select.d.ts +3 -0
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +137 -57
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -167,7 +167,7 @@ class Q extends HTMLElement {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
customElements.get("mint-icon") || customElements.define("mint-icon", Q);
|
|
170
|
-
const
|
|
170
|
+
const W = class W extends HTMLElement {
|
|
171
171
|
constructor() {
|
|
172
172
|
super(), this._button = null, this._clickHandler = null, this._isHandlingClick = !1, this._handleMouseDown = () => {
|
|
173
173
|
this._button && !this.isDisabled() && !this.isLoading() && this._button.classList.add("mint-button-active");
|
|
@@ -187,7 +187,7 @@ const V = class V extends HTMLElement {
|
|
|
187
187
|
return ["variant", "tone", "disabled", "loading", "button-type", "type", "full-width", "icon-position", "icon", "active"];
|
|
188
188
|
}
|
|
189
189
|
connectedCallback() {
|
|
190
|
-
if (!
|
|
190
|
+
if (!W._activeShadowStyleInjected) {
|
|
191
191
|
const t = document.createElement("style");
|
|
192
192
|
t.textContent = `
|
|
193
193
|
mint-button .mint-button-active {
|
|
@@ -200,7 +200,7 @@ const V = class V extends HTMLElement {
|
|
|
200
200
|
mint-button[data-variant="link"] .mint-button-active {
|
|
201
201
|
box-shadow: none !important;
|
|
202
202
|
}
|
|
203
|
-
`, document.head.appendChild(t),
|
|
203
|
+
`, document.head.appendChild(t), W._activeShadowStyleInjected = !0;
|
|
204
204
|
}
|
|
205
205
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "align-baseline", "inline-block"), this.render(), this._button && this.setupEventListeners(), this.isFullWidth() && this.classList.add("w-full");
|
|
206
206
|
}
|
|
@@ -832,8 +832,8 @@ const V = class V extends HTMLElement {
|
|
|
832
832
|
});
|
|
833
833
|
}
|
|
834
834
|
};
|
|
835
|
-
|
|
836
|
-
let U =
|
|
835
|
+
W._activeShadowStyleInjected = !1;
|
|
836
|
+
let U = W;
|
|
837
837
|
customElements.get("mint-button") || customElements.define("mint-button", U);
|
|
838
838
|
class tt extends HTMLElement {
|
|
839
839
|
constructor() {
|
|
@@ -987,26 +987,34 @@ class tt extends HTMLElement {
|
|
|
987
987
|
this._button && this._button.removeEventListener("click", this.handleToggle.bind(this));
|
|
988
988
|
}
|
|
989
989
|
handleToggle(t) {
|
|
990
|
-
this.isDisabled()
|
|
991
|
-
|
|
992
|
-
|
|
990
|
+
if (!this.isDisabled()) {
|
|
991
|
+
this.checked = !this._checked;
|
|
992
|
+
const e = new Event("input", {
|
|
993
993
|
bubbles: !0,
|
|
994
994
|
cancelable: !0,
|
|
995
995
|
composed: !0
|
|
996
|
-
})
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
996
|
+
});
|
|
997
|
+
this.dispatchEvent(e), this.dispatchEvent(
|
|
998
|
+
new CustomEvent("input", {
|
|
999
|
+
detail: { checked: this._checked },
|
|
1000
|
+
bubbles: !0,
|
|
1001
|
+
cancelable: !0,
|
|
1002
|
+
composed: !0
|
|
1003
|
+
})
|
|
1004
|
+
), this.dispatchEvent(
|
|
1005
|
+
new CustomEvent("change", {
|
|
1006
|
+
detail: { checked: this._checked },
|
|
1007
|
+
bubbles: !0,
|
|
1008
|
+
cancelable: !0
|
|
1009
|
+
})
|
|
1010
|
+
), this.dispatchEvent(
|
|
1011
|
+
new CustomEvent("toggle", {
|
|
1012
|
+
detail: { checked: this._checked },
|
|
1013
|
+
bubbles: !0,
|
|
1014
|
+
cancelable: !0
|
|
1015
|
+
})
|
|
1016
|
+
);
|
|
1017
|
+
}
|
|
1010
1018
|
}
|
|
1011
1019
|
_renderSkeleton(t) {
|
|
1012
1020
|
const e = this._getSwitchContainer(), i = this.getLabel(), s = this.getInfo();
|
|
@@ -2030,18 +2038,24 @@ class ht extends HTMLElement {
|
|
|
2030
2038
|
}
|
|
2031
2039
|
setupEventListeners() {
|
|
2032
2040
|
this.removeEventListeners(), this._checkbox && (this._changeHandler = (t) => {
|
|
2033
|
-
t.stopPropagation(), this._checked = this._checkbox.checked, this._checked ? this.hasAttribute("checked") || this.setAttribute("checked", "") : this.hasAttribute("checked") && this.removeAttribute("checked"), this.updateVisualState()
|
|
2041
|
+
t.stopPropagation(), this._checked = this._checkbox.checked, this._checked ? this.hasAttribute("checked") || this.setAttribute("checked", "") : this.hasAttribute("checked") && this.removeAttribute("checked"), this.updateVisualState();
|
|
2042
|
+
const e = new Event("input", {
|
|
2043
|
+
bubbles: !0,
|
|
2044
|
+
cancelable: !0,
|
|
2045
|
+
composed: !0
|
|
2046
|
+
});
|
|
2047
|
+
this.dispatchEvent(e), this.dispatchEvent(new CustomEvent("input", {
|
|
2034
2048
|
detail: { checked: this._checked, value: this.getValue() },
|
|
2035
2049
|
bubbles: !0,
|
|
2036
2050
|
cancelable: !0,
|
|
2037
2051
|
composed: !0
|
|
2038
2052
|
}));
|
|
2039
|
-
const
|
|
2053
|
+
const i = new CustomEvent("change", {
|
|
2040
2054
|
detail: { checked: this._checked, value: this.getValue() },
|
|
2041
2055
|
bubbles: !0,
|
|
2042
2056
|
cancelable: !0
|
|
2043
2057
|
});
|
|
2044
|
-
this.dispatchEvent(
|
|
2058
|
+
this.dispatchEvent(i);
|
|
2045
2059
|
}, this._checkbox.addEventListener("change", this._changeHandler), this._mousedownHandler = (t) => {
|
|
2046
2060
|
t.stopPropagation();
|
|
2047
2061
|
const e = this.querySelector(".mint-checkbox-wrapper");
|
|
@@ -2374,9 +2388,15 @@ class ut extends HTMLElement {
|
|
|
2374
2388
|
}
|
|
2375
2389
|
connectedCallback() {
|
|
2376
2390
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "block", "w-full"), this.render(), this.addEventListener("choice-change", (t) => {
|
|
2377
|
-
var
|
|
2378
|
-
const i = ((
|
|
2379
|
-
this.
|
|
2391
|
+
var r;
|
|
2392
|
+
const i = ((r = t.detail) == null ? void 0 : r.value) || this.getValue();
|
|
2393
|
+
(this.getAttribute("value") || "") !== i && (i ? this.setAttribute("value", i) : this.removeAttribute("value"));
|
|
2394
|
+
const n = new Event("input", {
|
|
2395
|
+
bubbles: !0,
|
|
2396
|
+
cancelable: !0,
|
|
2397
|
+
composed: !0
|
|
2398
|
+
});
|
|
2399
|
+
this.dispatchEvent(n), this.dispatchEvent(new CustomEvent("input", {
|
|
2380
2400
|
detail: { value: i },
|
|
2381
2401
|
bubbles: !0,
|
|
2382
2402
|
cancelable: !0,
|
|
@@ -2454,6 +2474,14 @@ class ut extends HTMLElement {
|
|
|
2454
2474
|
});
|
|
2455
2475
|
});
|
|
2456
2476
|
}
|
|
2477
|
+
// Define value property for v-model and framework compatibility
|
|
2478
|
+
// Vue and other frameworks bind to the value property, not just methods
|
|
2479
|
+
get value() {
|
|
2480
|
+
return this.getValue();
|
|
2481
|
+
}
|
|
2482
|
+
set value(t) {
|
|
2483
|
+
this.setValue(t || "");
|
|
2484
|
+
}
|
|
2457
2485
|
render() {
|
|
2458
2486
|
const t = this.isLoading(), e = this.getLabel(), i = this.getInfo(), s = this.getId() || `mint-choice-${Math.random().toString(36).substr(2, 9)}`;
|
|
2459
2487
|
this.getId() || this.setAttribute("id", s);
|
|
@@ -2744,12 +2772,19 @@ class pt extends HTMLElement {
|
|
|
2744
2772
|
}
|
|
2745
2773
|
setupEventListeners() {
|
|
2746
2774
|
this._element && (this._element.addEventListener("input", () => {
|
|
2747
|
-
var
|
|
2748
|
-
const t = ((
|
|
2749
|
-
t ? this.setAttribute("value", t) : this.removeAttribute("value")
|
|
2775
|
+
var i;
|
|
2776
|
+
const t = ((i = this._element) == null ? void 0 : i.value) || "";
|
|
2777
|
+
t ? this.setAttribute("value", t) : this.removeAttribute("value");
|
|
2778
|
+
const e = new Event("input", {
|
|
2779
|
+
bubbles: !0,
|
|
2780
|
+
cancelable: !0,
|
|
2781
|
+
composed: !0
|
|
2782
|
+
});
|
|
2783
|
+
this.dispatchEvent(e), this.dispatchEvent(new CustomEvent("input", {
|
|
2750
2784
|
detail: { value: t },
|
|
2751
2785
|
bubbles: !0,
|
|
2752
|
-
cancelable: !0
|
|
2786
|
+
cancelable: !0,
|
|
2787
|
+
composed: !0
|
|
2753
2788
|
}));
|
|
2754
2789
|
}), this._element.addEventListener("blur", () => {
|
|
2755
2790
|
var e;
|
|
@@ -2833,6 +2868,14 @@ class ft extends HTMLElement {
|
|
|
2833
2868
|
setValue(t) {
|
|
2834
2869
|
t ? (this.setAttribute("value", t), this._textInput && (this._textInput.value = t), this._parseValue(t)) : (this.removeAttribute("value"), this._textInput && (this._textInput.value = ""), this._selectedStartDate = null, this._selectedEndDate = null), this._buildCalendar(), this._updateDisplayText();
|
|
2835
2870
|
}
|
|
2871
|
+
// Define value property for v-model and framework compatibility
|
|
2872
|
+
// Vue and other frameworks bind to the value property, not just methods
|
|
2873
|
+
get value() {
|
|
2874
|
+
return this.getValue();
|
|
2875
|
+
}
|
|
2876
|
+
set value(t) {
|
|
2877
|
+
this.setValue(t || "");
|
|
2878
|
+
}
|
|
2836
2879
|
getFormat() {
|
|
2837
2880
|
return this.getAttribute("format") || "mm/dd/yyyy";
|
|
2838
2881
|
}
|
|
@@ -3413,22 +3456,22 @@ class ft extends HTMLElement {
|
|
|
3413
3456
|
const b = document.createElement("div");
|
|
3414
3457
|
b.className = "grid grid-cols-7";
|
|
3415
3458
|
const k = this.getMin() ? this._parseDateString(this.getMin(), this.getFormat()) : null, A = this.getMax() ? this._parseDateString(this.getMax(), this.getFormat()) : null, E = this._currentMonth === 0 ? 11 : this._currentMonth - 1, y = this._currentMonth === 0 ? this._currentYear - 1 : this._currentYear, x = this._getDaysInMonth(E, y), T = this._currentMonth === 11 ? 0 : this._currentMonth + 1, R = this._currentMonth === 11 ? this._currentYear + 1 : this._currentYear, P = e + t, J = Math.ceil(P / 7) * 7 - P, j = (w, I, S) => {
|
|
3416
|
-
const
|
|
3459
|
+
const V = this._isToday(w), q = this._isDateSelected(w), $ = this._isDateInRange(w), F = k && w < k || A && w > A;
|
|
3417
3460
|
let M = "rounded-md";
|
|
3418
3461
|
if (this._isRange && this._selectedStartDate && this._selectedEndDate) {
|
|
3419
3462
|
const D = this._isSameDate(w, this._selectedStartDate), L = this._isSameDate(w, this._selectedEndDate);
|
|
3420
|
-
D && L ? M = "rounded-md" : D ? M = "rounded-l-md" : L ? M = "rounded-r-md" :
|
|
3421
|
-
} else
|
|
3463
|
+
D && L ? M = "rounded-md" : D ? M = "rounded-l-md" : L ? M = "rounded-r-md" : $ && (M = "rounded-none");
|
|
3464
|
+
} else q && !this._isRange && (M = "rounded-md");
|
|
3422
3465
|
const N = document.createElement("button");
|
|
3423
3466
|
N.type = "button", N.disabled = !!F, N.tabIndex = F ? -1 : 0;
|
|
3424
3467
|
let B = `w-full h-8 ${M} border-0 text-sm font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-gray-400 dark:focus-visible:ring-gray-500`;
|
|
3425
|
-
return S ? B +=
|
|
3468
|
+
return S ? B += q ? " bg-slate-800 dark:bg-slate-600 text-white" : $ ? " bg-slate-100 dark:bg-slate-700 text-slate-800 dark:text-slate-200" : V ? " text-gray-900 dark:text-gray-100 font-semibold" : " text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700" : B += q ? " bg-slate-800 dark:bg-slate-600 text-white" : $ ? " bg-slate-100 dark:bg-slate-700 text-slate-800 dark:text-slate-200" : " text-gray-400 dark:text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700", B += F ? " opacity-40 cursor-not-allowed" : "", N.className = B, N.textContent = I.toString(), F || N.addEventListener("click", () => {
|
|
3426
3469
|
this._handleDateClick(w);
|
|
3427
3470
|
}), N;
|
|
3428
3471
|
};
|
|
3429
3472
|
for (let w = e - 1; w >= 0; w--) {
|
|
3430
|
-
const I = x - w, S = new Date(y, E, I),
|
|
3431
|
-
b.appendChild(
|
|
3473
|
+
const I = x - w, S = new Date(y, E, I), V = j(S, I, !1);
|
|
3474
|
+
b.appendChild(V);
|
|
3432
3475
|
}
|
|
3433
3476
|
for (let w = 1; w <= t; w++) {
|
|
3434
3477
|
const I = new Date(this._currentYear, this._currentMonth, w), S = j(I, w, !0);
|
|
@@ -3445,8 +3488,8 @@ class ft extends HTMLElement {
|
|
|
3445
3488
|
I.className = "relative md:relative md:flex-1 md:min-h-0";
|
|
3446
3489
|
const S = document.createElement("div");
|
|
3447
3490
|
S.className = "flex gap-2 overflow-x-auto pb-1 md:flex-col md:overflow-x-visible md:overflow-y-auto md:pb-0 md:gap-2", S.style.scrollbarWidth = "none", S.style.msOverflowStyle = "none", S.style.setProperty("-webkit-overflow-scrolling", "touch");
|
|
3448
|
-
const
|
|
3449
|
-
|
|
3491
|
+
const V = document.createElement("style");
|
|
3492
|
+
V.textContent = `
|
|
3450
3493
|
.mint-date-shortcuts-row::-webkit-scrollbar {
|
|
3451
3494
|
display: none;
|
|
3452
3495
|
}
|
|
@@ -3470,11 +3513,11 @@ class ft extends HTMLElement {
|
|
|
3470
3513
|
background: rgba(255, 255, 255, 0.2);
|
|
3471
3514
|
}
|
|
3472
3515
|
}
|
|
3473
|
-
`, S.classList.add("mint-date-shortcuts-row"), document.head.querySelector("style[data-mint-date-shortcuts]") || (
|
|
3474
|
-
const $ = document.createElement("div");
|
|
3475
|
-
$.className = "absolute left-0 top-0 bottom-0 w-8 pointer-events-none z-10 bg-gradient-to-r from-white dark:from-gray-800 to-transparent opacity-0 transition-opacity duration-200 md:hidden", I.appendChild($);
|
|
3516
|
+
`, S.classList.add("mint-date-shortcuts-row"), document.head.querySelector("style[data-mint-date-shortcuts]") || (V.setAttribute("data-mint-date-shortcuts", "true"), document.head.appendChild(V));
|
|
3476
3517
|
const q = document.createElement("div");
|
|
3477
|
-
q.className = "absolute
|
|
3518
|
+
q.className = "absolute left-0 top-0 bottom-0 w-8 pointer-events-none z-10 bg-gradient-to-r from-white dark:from-gray-800 to-transparent opacity-0 transition-opacity duration-200 md:hidden", I.appendChild(q);
|
|
3519
|
+
const $ = document.createElement("div");
|
|
3520
|
+
$.className = "absolute right-0 top-0 bottom-0 w-8 pointer-events-none z-10 bg-gradient-to-l from-white dark:from-gray-800 to-transparent opacity-100 transition-opacity duration-200 md:hidden", I.appendChild($);
|
|
3478
3521
|
const F = document.createElement("div");
|
|
3479
3522
|
F.className = "hidden md:block absolute top-0 left-0 right-0 h-8 pointer-events-none z-10 bg-gradient-to-b from-white dark:from-gray-800 to-transparent opacity-0 transition-opacity duration-200", I.appendChild(F);
|
|
3480
3523
|
const M = document.createElement("div");
|
|
@@ -3482,10 +3525,10 @@ class ft extends HTMLElement {
|
|
|
3482
3525
|
const N = () => {
|
|
3483
3526
|
if (window.innerWidth >= 768) {
|
|
3484
3527
|
const D = S.scrollTop, L = S.scrollHeight, z = S.clientHeight;
|
|
3485
|
-
D > 0 ? F.style.opacity = "1" : F.style.opacity = "0", D + z < L - 1 ? M.style.opacity = "1" : M.style.opacity = "0",
|
|
3528
|
+
D > 0 ? F.style.opacity = "1" : F.style.opacity = "0", D + z < L - 1 ? M.style.opacity = "1" : M.style.opacity = "0", q.style.opacity = "0", $.style.opacity = "0";
|
|
3486
3529
|
} else {
|
|
3487
3530
|
const D = S.scrollLeft, L = S.scrollWidth, z = S.clientWidth;
|
|
3488
|
-
D > 0 ?
|
|
3531
|
+
D > 0 ? q.style.opacity = "1" : q.style.opacity = "0", D + z < L - 1 ? $.style.opacity = "1" : $.style.opacity = "0", F.style.opacity = "0", M.style.opacity = "0";
|
|
3489
3532
|
}
|
|
3490
3533
|
};
|
|
3491
3534
|
S.addEventListener("scroll", N), window.addEventListener("resize", N), setTimeout(N, 0), a.forEach((B) => {
|
|
@@ -3626,21 +3669,29 @@ class ft extends HTMLElement {
|
|
|
3626
3669
|
let s, n;
|
|
3627
3670
|
if (i === "week" ? (s = this._getWeekStart(t), n = this._getWeekEnd(t)) : i === "month" ? (s = this._getMonthStart(t), n = this._getMonthEnd(t)) : (s = t, n = t), this.isRange() || i === "week" || i === "month") {
|
|
3628
3671
|
this._selectedStartDate = s, this._selectedEndDate = n;
|
|
3629
|
-
const
|
|
3630
|
-
this.setValue(
|
|
3672
|
+
const o = this._formatDate(this._selectedStartDate, e), l = this._formatDate(this._selectedEndDate, e), c = `${o} - ${l}`;
|
|
3673
|
+
this.setValue(c), this._textInput && (this._textInput.value = c), this._popover && typeof this._popover.close == "function" && this._popover.close();
|
|
3631
3674
|
} else {
|
|
3632
3675
|
this._selectedStartDate = s, this._selectedEndDate = null;
|
|
3633
|
-
const
|
|
3634
|
-
this.setValue(
|
|
3676
|
+
const o = this._formatDate(s, e);
|
|
3677
|
+
this.setValue(o), this._textInput && (this._textInput.value = o), this._popover && typeof this._popover.close == "function" && this._popover.close();
|
|
3635
3678
|
}
|
|
3636
|
-
this._buildCalendar(), this._updateDisplayText(), this._exitInputMode()
|
|
3679
|
+
this._buildCalendar(), this._updateDisplayText(), this._exitInputMode();
|
|
3680
|
+
const a = new Event("input", {
|
|
3681
|
+
bubbles: !0,
|
|
3682
|
+
cancelable: !0,
|
|
3683
|
+
composed: !0
|
|
3684
|
+
});
|
|
3685
|
+
this.dispatchEvent(a), this.dispatchEvent(new CustomEvent("input", {
|
|
3637
3686
|
detail: { value: this.getValue() },
|
|
3638
3687
|
bubbles: !0,
|
|
3639
|
-
cancelable: !0
|
|
3688
|
+
cancelable: !0,
|
|
3689
|
+
composed: !0
|
|
3640
3690
|
})), this.dispatchEvent(new CustomEvent("change", {
|
|
3641
3691
|
detail: { value: this.getValue() },
|
|
3642
3692
|
bubbles: !0,
|
|
3643
|
-
cancelable: !0
|
|
3693
|
+
cancelable: !0,
|
|
3694
|
+
composed: !0
|
|
3644
3695
|
}));
|
|
3645
3696
|
}
|
|
3646
3697
|
// Display mode helpers
|
|
@@ -3730,7 +3781,7 @@ class ft extends HTMLElement {
|
|
|
3730
3781
|
customElements.get("mint-date-picker") || customElements.define("mint-date-picker", ft);
|
|
3731
3782
|
class mt extends HTMLElement {
|
|
3732
3783
|
constructor() {
|
|
3733
|
-
super(), this._select = null, this._wrapper = null, this._caretUpIcon = null, this._caretDownIcon = null, this._changeHandler = null;
|
|
3784
|
+
super(), this._select = null, this._wrapper = null, this._caretUpIcon = null, this._caretDownIcon = null, this._changeHandler = null, this._optionObserver = null;
|
|
3734
3785
|
}
|
|
3735
3786
|
static get observedAttributes() {
|
|
3736
3787
|
return ["name", "value", "disabled", "id", "required", "label", "info", "error", "error-message", "multiple", "loading"];
|
|
@@ -3739,7 +3790,7 @@ class mt extends HTMLElement {
|
|
|
3739
3790
|
this.classList.add("box-border", "m-0", "p-0", "border-0", "align-baseline", "inline-block", "w-full"), this.getLabel() || console.error('mint-select: The "label" attribute is required. Please provide a label for the select.'), this.render();
|
|
3740
3791
|
}
|
|
3741
3792
|
disconnectedCallback() {
|
|
3742
|
-
this._select && this._changeHandler && (this._select.removeEventListener("change", this._changeHandler), this._changeHandler = null);
|
|
3793
|
+
this._select && this._changeHandler && (this._select.removeEventListener("change", this._changeHandler), this._changeHandler = null), this._optionObserver && (this._optionObserver.disconnect(), this._optionObserver = null);
|
|
3743
3794
|
}
|
|
3744
3795
|
isLoading() {
|
|
3745
3796
|
return this.hasAttribute("loading");
|
|
@@ -3771,6 +3822,19 @@ class mt extends HTMLElement {
|
|
|
3771
3822
|
const e = t || "";
|
|
3772
3823
|
this.setAttribute("value", e), this._select && (this._select.value = e);
|
|
3773
3824
|
}
|
|
3825
|
+
// Define value property for v-model and framework compatibility
|
|
3826
|
+
// Vue and other frameworks bind to the value property, not just the attribute
|
|
3827
|
+
get value() {
|
|
3828
|
+
return this.getValue();
|
|
3829
|
+
}
|
|
3830
|
+
set value(t) {
|
|
3831
|
+
const e = t || "";
|
|
3832
|
+
(this.getAttribute("value") || "") !== e && this.setAttribute("value", e), this._select && requestAnimationFrame(() => {
|
|
3833
|
+
this._select && (e === "" || Array.from(this._select.options).some(
|
|
3834
|
+
(n) => n.value === e
|
|
3835
|
+
)) && this._select.value !== e && (this._select.value = e);
|
|
3836
|
+
});
|
|
3837
|
+
}
|
|
3774
3838
|
isDisabled() {
|
|
3775
3839
|
return this.hasAttribute("disabled");
|
|
3776
3840
|
}
|
|
@@ -3855,7 +3919,13 @@ class mt extends HTMLElement {
|
|
|
3855
3919
|
}
|
|
3856
3920
|
if (this._select.value = o || "", this._changeHandler && this._select && this._select.removeEventListener("change", this._changeHandler), this._changeHandler = (h) => {
|
|
3857
3921
|
const p = h.target.value;
|
|
3858
|
-
p ? this.setAttribute("value", p) : this.removeAttribute("value")
|
|
3922
|
+
(this.getAttribute("value") || "") !== p && (p ? this.setAttribute("value", p) : this.removeAttribute("value"));
|
|
3923
|
+
const _ = new Event("input", {
|
|
3924
|
+
bubbles: !0,
|
|
3925
|
+
cancelable: !0,
|
|
3926
|
+
composed: !0
|
|
3927
|
+
});
|
|
3928
|
+
this.dispatchEvent(_), this.dispatchEvent(new CustomEvent("input", {
|
|
3859
3929
|
detail: { value: p },
|
|
3860
3930
|
bubbles: !0,
|
|
3861
3931
|
cancelable: !0,
|
|
@@ -3866,7 +3936,17 @@ class mt extends HTMLElement {
|
|
|
3866
3936
|
cancelable: !0,
|
|
3867
3937
|
composed: !0
|
|
3868
3938
|
}));
|
|
3869
|
-
}, this._select.addEventListener("change", this._changeHandler), this.
|
|
3939
|
+
}, this._select.addEventListener("change", this._changeHandler), this._optionObserver && this._optionObserver.disconnect(), this._optionObserver = new MutationObserver(() => {
|
|
3940
|
+
const h = this.getAttribute("value") || this.value || "";
|
|
3941
|
+
this._select && h && requestAnimationFrame(() => {
|
|
3942
|
+
this._select && Array.from(this._select.options).some(
|
|
3943
|
+
(p) => p.value === h
|
|
3944
|
+
) && this._select.value !== h && (this._select.value = h);
|
|
3945
|
+
});
|
|
3946
|
+
}), this._optionObserver.observe(this._select, {
|
|
3947
|
+
childList: !0,
|
|
3948
|
+
subtree: !0
|
|
3949
|
+
}), this._wrapper.appendChild(this._select), c)
|
|
3870
3950
|
this._caretUpIcon = null, this._caretDownIcon = null;
|
|
3871
3951
|
else {
|
|
3872
3952
|
const h = document.createElement("div");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monobill-mintui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.34",
|
|
4
4
|
"description": "A modern framework-agnostic UI kit built as Web Components. Requires Tailwind CSS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
},
|
|
61
61
|
"repository": {
|
|
62
62
|
"type": "git",
|
|
63
|
-
"url": "https://github.com/
|
|
63
|
+
"url": "https://github.com/vnoxco/mintui.git"
|
|
64
64
|
},
|
|
65
65
|
"bugs": {
|
|
66
|
-
"url": "https://github.com/
|
|
66
|
+
"url": "https://github.com/vnoxco/mintui/issues"
|
|
67
67
|
},
|
|
68
|
-
"homepage": "https://github.com/
|
|
68
|
+
"homepage": "https://github.com/vnoxco/mintui#readme"
|
|
69
69
|
}
|