@codbex/harmonia 1.5.2 → 1.6.1
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/harmonia.css +2 -2
- package/dist/harmonia.esm.js +136 -74
- package/dist/harmonia.esm.min.js +2 -2
- package/dist/harmonia.esm.min.js.map +3 -3
- package/dist/harmonia.js +140 -76
- package/dist/harmonia.min.js +2 -2
- package/dist/harmonia.min.js.map +3 -3
- package/package.json +6 -6
package/dist/harmonia.js
CHANGED
|
@@ -2862,11 +2862,11 @@
|
|
|
2862
2862
|
"bg-input-inner",
|
|
2863
2863
|
"border",
|
|
2864
2864
|
"border-input",
|
|
2865
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
2865
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
2866
2866
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
2867
2867
|
"duration-200",
|
|
2868
|
-
"has-[aria-invalid=true]:border-negative",
|
|
2869
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
2868
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
2869
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
2870
2870
|
"has-[input:checked]:bg-primary",
|
|
2871
2871
|
"has-[input:checked]:border-primary",
|
|
2872
2872
|
"has-[input:disabled]:cursor-not-allowed",
|
|
@@ -3825,14 +3825,14 @@
|
|
|
3825
3825
|
break;
|
|
3826
3826
|
}
|
|
3827
3827
|
}
|
|
3828
|
-
function
|
|
3828
|
+
function onClick(event) {
|
|
3829
3829
|
if (event.target.getAttribute("data-slot") === "list-item") selectOption(event.target);
|
|
3830
3830
|
}
|
|
3831
|
-
el.addEventListener("click",
|
|
3831
|
+
el.addEventListener("click", onClick);
|
|
3832
3832
|
el.addEventListener("keydown", onKeyDown);
|
|
3833
3833
|
cleanup(() => {
|
|
3834
3834
|
el.removeEventListener("keydown", onKeyDown);
|
|
3835
|
-
el.removeEventListener("click",
|
|
3835
|
+
el.removeEventListener("click", onClick);
|
|
3836
3836
|
});
|
|
3837
3837
|
});
|
|
3838
3838
|
Alpine.directive("h-list", (el) => {
|
|
@@ -3917,6 +3917,9 @@
|
|
|
3917
3917
|
while (sibling && !sibling.hasOwnProperty("_menu_trigger")) {
|
|
3918
3918
|
sibling = sibling.previousElementSibling;
|
|
3919
3919
|
}
|
|
3920
|
+
if (!sibling.hasOwnProperty("_menu_trigger")) {
|
|
3921
|
+
throw new Error(`${original2} must be placed after the menu trigger`);
|
|
3922
|
+
}
|
|
3920
3923
|
return sibling;
|
|
3921
3924
|
})();
|
|
3922
3925
|
if (!isSubmenu && !menuTrigger) {
|
|
@@ -3940,8 +3943,8 @@
|
|
|
3940
3943
|
left: "0px",
|
|
3941
3944
|
top: "0px"
|
|
3942
3945
|
});
|
|
3943
|
-
top.removeEventListener("contextmenu",
|
|
3944
|
-
top.removeEventListener("click",
|
|
3946
|
+
top.removeEventListener("contextmenu", onClick);
|
|
3947
|
+
top.removeEventListener("click", onClick);
|
|
3945
3948
|
el.removeEventListener("keydown", onKeyDown);
|
|
3946
3949
|
if (isSubmenu) {
|
|
3947
3950
|
if (closeParent) {
|
|
@@ -3973,7 +3976,7 @@
|
|
|
3973
3976
|
}
|
|
3974
3977
|
return false;
|
|
3975
3978
|
}
|
|
3976
|
-
function
|
|
3979
|
+
function onClick(event) {
|
|
3977
3980
|
if (event.type === "contextmenu") event.preventDefault();
|
|
3978
3981
|
close(isSubmenu);
|
|
3979
3982
|
}
|
|
@@ -4091,8 +4094,8 @@
|
|
|
4091
4094
|
listenForTrigger(false);
|
|
4092
4095
|
}
|
|
4093
4096
|
Alpine2.nextTick(() => {
|
|
4094
|
-
top.addEventListener("contextmenu",
|
|
4095
|
-
top.addEventListener("click",
|
|
4097
|
+
top.addEventListener("contextmenu", onClick);
|
|
4098
|
+
top.addEventListener("click", onClick);
|
|
4096
4099
|
el.addEventListener("keydown", onKeyDown);
|
|
4097
4100
|
});
|
|
4098
4101
|
Object.assign(el.style, {
|
|
@@ -4133,9 +4136,9 @@
|
|
|
4133
4136
|
listenForTrigger(true);
|
|
4134
4137
|
}
|
|
4135
4138
|
cleanup(() => {
|
|
4136
|
-
listenForTrigger(false);
|
|
4137
|
-
top.removeEventListener("click",
|
|
4138
|
-
top.removeEventListener("contextmenu",
|
|
4139
|
+
if (menuTrigger) listenForTrigger(false);
|
|
4140
|
+
top.removeEventListener("click", onClick);
|
|
4141
|
+
top.removeEventListener("contextmenu", onClick);
|
|
4139
4142
|
el.removeEventListener("keydown", onKeyDown);
|
|
4140
4143
|
});
|
|
4141
4144
|
});
|
|
@@ -4735,10 +4738,10 @@
|
|
|
4735
4738
|
"bg-input-inner",
|
|
4736
4739
|
"border",
|
|
4737
4740
|
"border-input",
|
|
4738
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
4741
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
4739
4742
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
4740
|
-
"has-[aria-invalid=true]:border-negative",
|
|
4741
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
4743
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
4744
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
4742
4745
|
"has-[input:checked]:before:visible",
|
|
4743
4746
|
"has-[input:disabled]:cursor-not-allowed",
|
|
4744
4747
|
"has-[input:disabled]:opacity-50",
|
|
@@ -6669,10 +6672,10 @@
|
|
|
6669
6672
|
"has-focus-visible:border-ring",
|
|
6670
6673
|
"has-focus-visible:ring-[calc(var(--spacing)*0.75)]",
|
|
6671
6674
|
"has-focus-visible:ring-ring/50",
|
|
6672
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
6675
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
6673
6676
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
6674
|
-
"has-[aria-invalid=true]:border-negative",
|
|
6675
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
6677
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
6678
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
6676
6679
|
"has-[input:invalid]:border-negative",
|
|
6677
6680
|
"has-[input:invalid]:ring-negative/20",
|
|
6678
6681
|
"hover:bg-secondary-hover",
|
|
@@ -6903,7 +6906,7 @@
|
|
|
6903
6906
|
}
|
|
6904
6907
|
}
|
|
6905
6908
|
};
|
|
6906
|
-
const
|
|
6909
|
+
const onClick = () => {
|
|
6907
6910
|
select._h_select.expanded = !select._h_select.expanded;
|
|
6908
6911
|
if (select._h_select.expanded) {
|
|
6909
6912
|
if (!content) content = select.querySelector(`#${select._h_select.controls}`);
|
|
@@ -6924,14 +6927,14 @@
|
|
|
6924
6927
|
if (event.key === "Escape" && select._h_select.expanded) close(true);
|
|
6925
6928
|
else if (event.key === "Enter") {
|
|
6926
6929
|
event.preventDefault();
|
|
6927
|
-
|
|
6930
|
+
onClick();
|
|
6928
6931
|
} else if (event.key === " ") {
|
|
6929
6932
|
event.preventDefault();
|
|
6930
|
-
setTimeout(() =>
|
|
6933
|
+
setTimeout(() => onClick(), 0);
|
|
6931
6934
|
}
|
|
6932
6935
|
};
|
|
6933
6936
|
fakeTrigger.addEventListener("keydown", onPress);
|
|
6934
|
-
fakeTrigger.addEventListener("click",
|
|
6937
|
+
fakeTrigger.addEventListener("click", onClick);
|
|
6935
6938
|
const chevronDown = createSvg({
|
|
6936
6939
|
icon: ChevronDown,
|
|
6937
6940
|
classes: "opacity-70 text-foreground size-4 shrink-0 pointer-events-none transition-transform duration-200",
|
|
@@ -6954,7 +6957,7 @@
|
|
|
6954
6957
|
select._h_select.refreshLabel = onInputChange;
|
|
6955
6958
|
el.addEventListener("change", onInputChange);
|
|
6956
6959
|
cleanup(() => {
|
|
6957
|
-
fakeTrigger.removeEventListener("click",
|
|
6960
|
+
fakeTrigger.removeEventListener("click", onClick);
|
|
6958
6961
|
fakeTrigger.removeEventListener("keydown", onPress);
|
|
6959
6962
|
el.parentElement.removeEventListener("keydown", onKeyDown);
|
|
6960
6963
|
top.removeEventListener("click", close);
|
|
@@ -7051,11 +7054,11 @@
|
|
|
7051
7054
|
}
|
|
7052
7055
|
el.addEventListener("click", onActivate);
|
|
7053
7056
|
el.addEventListener("keydown", onActivate);
|
|
7057
|
+
function onInput() {
|
|
7058
|
+
select._h_select.search = searchInput.value.toLowerCase();
|
|
7059
|
+
}
|
|
7054
7060
|
if (select._h_select.filterType !== FilterType.none) {
|
|
7055
|
-
|
|
7056
|
-
select._h_select.search = searchInput.value.toLowerCase();
|
|
7057
|
-
};
|
|
7058
|
-
searchInput.addEventListener("keyup", onInput2);
|
|
7061
|
+
searchInput.addEventListener("keyup", onInput);
|
|
7059
7062
|
}
|
|
7060
7063
|
effect(() => {
|
|
7061
7064
|
if (select._h_select.expanded) searchInput.focus({ preventScroll: true });
|
|
@@ -7254,14 +7257,14 @@
|
|
|
7254
7257
|
el.setAttribute("data-open", isOpen);
|
|
7255
7258
|
});
|
|
7256
7259
|
});
|
|
7257
|
-
const
|
|
7260
|
+
const onClick = (event) => {
|
|
7258
7261
|
if (event.target.getAttribute("data-slot") === "sheet-overlay") {
|
|
7259
7262
|
evaluate2(`${expression} = false`);
|
|
7260
7263
|
}
|
|
7261
7264
|
};
|
|
7262
|
-
el.addEventListener("click",
|
|
7265
|
+
el.addEventListener("click", onClick);
|
|
7263
7266
|
cleanup(() => {
|
|
7264
|
-
el.removeEventListener("click",
|
|
7267
|
+
el.removeEventListener("click", onClick);
|
|
7265
7268
|
});
|
|
7266
7269
|
});
|
|
7267
7270
|
Alpine.directive("h-sheet", (el, _, { cleanup }) => {
|
|
@@ -7740,6 +7743,7 @@
|
|
|
7740
7743
|
"rounded-full",
|
|
7741
7744
|
"animate-spin"
|
|
7742
7745
|
);
|
|
7746
|
+
if (el.tagName === "SPAN") el.classList.add("inline-block");
|
|
7743
7747
|
el.setAttribute("role", "status");
|
|
7744
7748
|
el.setAttribute("data-slot", "spinner");
|
|
7745
7749
|
if (!el.hasAttribute("aria-label")) el.setAttribute("aria-label", "Loading");
|
|
@@ -7883,7 +7887,8 @@
|
|
|
7883
7887
|
});
|
|
7884
7888
|
};
|
|
7885
7889
|
const refreshGutters = () => {
|
|
7886
|
-
|
|
7890
|
+
const lastPanelIndex = panels.length - 1;
|
|
7891
|
+
panels.forEach((p, i) => p.setGutter(i === lastPanelIndex));
|
|
7887
7892
|
};
|
|
7888
7893
|
el._h_split = {
|
|
7889
7894
|
state,
|
|
@@ -7948,7 +7953,19 @@
|
|
|
7948
7953
|
if (!split) {
|
|
7949
7954
|
throw new Error(`${original2} must be inside an split element`);
|
|
7950
7955
|
}
|
|
7951
|
-
el.classList.add(
|
|
7956
|
+
el.classList.add(
|
|
7957
|
+
"flex",
|
|
7958
|
+
"shrink",
|
|
7959
|
+
"grow-0",
|
|
7960
|
+
"box-border",
|
|
7961
|
+
"overflow-visible",
|
|
7962
|
+
"[[data-orientation=horizontal]_&]:min-w-(--h-split-panel-min)",
|
|
7963
|
+
"[[data-orientation=horizontal]_&]:max-w-(--h-split-panel-max)",
|
|
7964
|
+
"[[data-orientation=horizontal]_&]:min-h-0",
|
|
7965
|
+
"[[data-orientation=vertical]_&]:min-h-(--h-split-panel-min)",
|
|
7966
|
+
"[[data-orientation=vertical]_&]:max-h-(--h-split-panel-max)",
|
|
7967
|
+
"[[data-orientation=vertical]_&]:min-w-0"
|
|
7968
|
+
);
|
|
7952
7969
|
el.setAttribute("tabindex", "-1");
|
|
7953
7970
|
el.setAttribute("data-slot", "split-panel");
|
|
7954
7971
|
let gutterless = el.getAttribute("data-gutterless") === "true";
|
|
@@ -8055,6 +8072,7 @@
|
|
|
8055
8072
|
effect(setVariant);
|
|
8056
8073
|
const initialSize = split._h_split.normalize(el.getAttribute("data-size"));
|
|
8057
8074
|
let handleSize = 0;
|
|
8075
|
+
let layoutFrame = null;
|
|
8058
8076
|
const panel = {
|
|
8059
8077
|
el,
|
|
8060
8078
|
gutter,
|
|
@@ -8075,9 +8093,13 @@
|
|
|
8075
8093
|
setGutter(last) {
|
|
8076
8094
|
if (this.hidden || gutterless || last) {
|
|
8077
8095
|
gutter.remove();
|
|
8078
|
-
} else
|
|
8079
|
-
|
|
8080
|
-
|
|
8096
|
+
} else {
|
|
8097
|
+
if (layoutFrame) cancelAnimationFrame(layoutFrame);
|
|
8098
|
+
layoutFrame = requestAnimationFrame(() => {
|
|
8099
|
+
el.after(gutter);
|
|
8100
|
+
handleSize = this.getHandleSize();
|
|
8101
|
+
layoutFrame = null;
|
|
8102
|
+
});
|
|
8081
8103
|
}
|
|
8082
8104
|
},
|
|
8083
8105
|
setHandleOffset() {
|
|
@@ -8103,6 +8125,7 @@
|
|
|
8103
8125
|
},
|
|
8104
8126
|
setLocked(locked = false) {
|
|
8105
8127
|
const panelLocked = el.getAttribute("data-locked") === "true";
|
|
8128
|
+
gutter.setAttribute("aria-disabled", locked || panelLocked);
|
|
8106
8129
|
if (locked) {
|
|
8107
8130
|
gutter.classList.add("pointer-events-none");
|
|
8108
8131
|
} else if (panelLocked) {
|
|
@@ -8112,6 +8135,10 @@
|
|
|
8112
8135
|
}
|
|
8113
8136
|
}
|
|
8114
8137
|
};
|
|
8138
|
+
el.style.setProperty("--h-split-panel-min", `${panel.min}px`);
|
|
8139
|
+
if (panel.max < Infinity) {
|
|
8140
|
+
el.style.setProperty("--h-split-panel-max", `${panel.max}px`);
|
|
8141
|
+
}
|
|
8115
8142
|
split._h_split.addPanel(panel);
|
|
8116
8143
|
const drag = (e) => {
|
|
8117
8144
|
e.preventDefault();
|
|
@@ -9472,10 +9499,10 @@
|
|
|
9472
9499
|
periodList.classList.add("hidden");
|
|
9473
9500
|
}
|
|
9474
9501
|
}
|
|
9475
|
-
const
|
|
9502
|
+
const onClick = (event) => {
|
|
9476
9503
|
event.stopPropagation();
|
|
9477
9504
|
};
|
|
9478
|
-
el.addEventListener("click",
|
|
9505
|
+
el.addEventListener("click", onClick);
|
|
9479
9506
|
let autoUpdateCleanup;
|
|
9480
9507
|
let focusFirstItem = true;
|
|
9481
9508
|
function updatePosition() {
|
|
@@ -9518,20 +9545,10 @@
|
|
|
9518
9545
|
});
|
|
9519
9546
|
cleanup(() => {
|
|
9520
9547
|
el.removeEventListener("keydown", onKeyDown);
|
|
9521
|
-
el.removeEventListener("click",
|
|
9548
|
+
el.removeEventListener("click", onClick);
|
|
9522
9549
|
okButton.removeEventListener("click", timepicker._h_timepicker.close);
|
|
9523
|
-
|
|
9524
|
-
|
|
9525
|
-
}
|
|
9526
|
-
for (let m = 0; m < minutesList.children.length; m++) {
|
|
9527
|
-
minutesList.children[m].removeEventListener("click", setMinute);
|
|
9528
|
-
}
|
|
9529
|
-
for (let s = 0; s < secondsList.children.length; s++) {
|
|
9530
|
-
secondsList.children[s].removeEventListener("click", setSecond);
|
|
9531
|
-
}
|
|
9532
|
-
for (let p = 0; p < periodList.children.length; p++) {
|
|
9533
|
-
periodList.children[p].removeEventListener("click", setPeriod);
|
|
9534
|
-
}
|
|
9550
|
+
nowButton.removeEventListener("click", getCurrentTime);
|
|
9551
|
+
timeContainer.removeEventListener("click", setTime);
|
|
9535
9552
|
});
|
|
9536
9553
|
});
|
|
9537
9554
|
}
|
|
@@ -9566,17 +9583,34 @@
|
|
|
9566
9583
|
el.classList.add("size-8", "[[data-size=md]_&]:size-7", "[[data-size=sm]_&]:size-6");
|
|
9567
9584
|
el.setAttribute("data-slot", "toolbar-image");
|
|
9568
9585
|
});
|
|
9586
|
+
Alpine.directive("h-toolbar-branding", (el) => {
|
|
9587
|
+
el.classList.add(
|
|
9588
|
+
"flex",
|
|
9589
|
+
"flex-col",
|
|
9590
|
+
"pl-2",
|
|
9591
|
+
"[[data-slot=toolbar-image]~&]:pl-1",
|
|
9592
|
+
"[[data-size=sm]_&,[data-size=md]_&]:flex-row",
|
|
9593
|
+
"[[data-size=sm]_&,[data-size=md]_&]:items-baseline",
|
|
9594
|
+
"[[data-size=sm]_&,[data-size=md]_&]:gap-1",
|
|
9595
|
+
"[[data-size=sm]_&_[data-slot=toolbar-subtitle],[data-size=md]_&_[data-slot=toolbar-subtitle]]:pl-0"
|
|
9596
|
+
);
|
|
9597
|
+
el.setAttribute("data-slot", "toolbar-branding");
|
|
9598
|
+
});
|
|
9569
9599
|
Alpine.directive("h-toolbar-title", (el) => {
|
|
9570
|
-
el.classList.add("
|
|
9600
|
+
el.classList.add("pl-2", "[[data-slot=toolbar-branding]_&]:pl-0", "font-medium", "whitespace-nowrap", "text-ellipsis", "overflow-hidden");
|
|
9571
9601
|
el.setAttribute("data-slot", "toolbar-title");
|
|
9572
9602
|
});
|
|
9603
|
+
Alpine.directive("h-toolbar-subtitle", (el) => {
|
|
9604
|
+
el.classList.add("text-xs", "font-normal", "whitespace-nowrap", "text-ellipsis", "overflow-hidden");
|
|
9605
|
+
el.setAttribute("data-slot", "toolbar-subtitle");
|
|
9606
|
+
});
|
|
9573
9607
|
Alpine.directive("h-toolbar-spacer", (el) => {
|
|
9574
9608
|
el.classList.add("flex-[1_auto]", "h-full");
|
|
9575
9609
|
el.setAttribute("tabindex", "-1");
|
|
9576
9610
|
el.setAttribute("data-slot", "toolbar-spacer");
|
|
9577
9611
|
});
|
|
9578
9612
|
Alpine.directive("h-toolbar-separator", (el) => {
|
|
9579
|
-
el.classList.add("w-px", "h-8", "[[data-size=md]_
|
|
9613
|
+
el.classList.add("w-px", "h-8", "[[data-size=md]_&,[data-size=sm]_&]:h-6", "border-l");
|
|
9580
9614
|
el.setAttribute("data-slot", "toolbar-separator");
|
|
9581
9615
|
});
|
|
9582
9616
|
}
|
|
@@ -9759,7 +9793,7 @@
|
|
|
9759
9793
|
el.setAttribute("role", "tree");
|
|
9760
9794
|
el.addEventListener("keydown", onKeyDown);
|
|
9761
9795
|
cleanup(() => {
|
|
9762
|
-
el.removeEventListener("keydown",
|
|
9796
|
+
el.removeEventListener("keydown", onKeyDown);
|
|
9763
9797
|
});
|
|
9764
9798
|
}
|
|
9765
9799
|
});
|
|
@@ -9789,7 +9823,7 @@
|
|
|
9789
9823
|
effect(() => {
|
|
9790
9824
|
if (!el.closest('[role="tree"]')) return;
|
|
9791
9825
|
});
|
|
9792
|
-
const
|
|
9826
|
+
const onClick = (event) => {
|
|
9793
9827
|
if (event.target === el || event.target.parentElement === el) {
|
|
9794
9828
|
if (el._h_tree_item.hasSubtree) {
|
|
9795
9829
|
if (expression === "false" || expression === "true") {
|
|
@@ -9804,9 +9838,9 @@
|
|
|
9804
9838
|
el.setAttribute("tabindex", "0");
|
|
9805
9839
|
}
|
|
9806
9840
|
};
|
|
9807
|
-
el.addEventListener("click",
|
|
9841
|
+
el.addEventListener("click", onClick);
|
|
9808
9842
|
cleanup(() => {
|
|
9809
|
-
el.removeEventListener("click",
|
|
9843
|
+
el.removeEventListener("click", onClick);
|
|
9810
9844
|
});
|
|
9811
9845
|
if (el._h_tree_item.hasSubtree) {
|
|
9812
9846
|
const setExpanded = (expanded) => {
|
|
@@ -9941,10 +9975,7 @@
|
|
|
9941
9975
|
var getColorScheme = () => {
|
|
9942
9976
|
const theme = localStorage.getItem(colorSchemeKey);
|
|
9943
9977
|
if (theme) return theme;
|
|
9944
|
-
|
|
9945
|
-
return "dark";
|
|
9946
|
-
}
|
|
9947
|
-
return "light";
|
|
9978
|
+
return "auto";
|
|
9948
9979
|
};
|
|
9949
9980
|
var getSystemColorScheme = () => {
|
|
9950
9981
|
if (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
@@ -10005,32 +10036,59 @@
|
|
|
10005
10036
|
|
|
10006
10037
|
// src/utils/include.js
|
|
10007
10038
|
function include_default(Alpine) {
|
|
10008
|
-
Alpine.directive("h-include", (el, { modifiers, expression }, { evaluateLater, effect }) => {
|
|
10039
|
+
Alpine.directive("h-include", (el, { modifiers, expression }, { evaluateLater, effect, cleanup, Alpine: Alpine2 }) => {
|
|
10009
10040
|
const getUrl = evaluateLater(expression);
|
|
10041
|
+
function executeScript(oldScript) {
|
|
10042
|
+
return new Promise((resolve, reject) => {
|
|
10043
|
+
const newScript = document.createElement("script");
|
|
10044
|
+
for (const attr of oldScript.attributes) {
|
|
10045
|
+
newScript.setAttribute(attr.name, attr.value);
|
|
10046
|
+
}
|
|
10047
|
+
if (oldScript.src) {
|
|
10048
|
+
newScript.src = oldScript.src;
|
|
10049
|
+
newScript.onload = resolve;
|
|
10050
|
+
newScript.onerror = reject;
|
|
10051
|
+
} else {
|
|
10052
|
+
newScript.textContent = oldScript.textContent;
|
|
10053
|
+
resolve();
|
|
10054
|
+
}
|
|
10055
|
+
el.appendChild(newScript);
|
|
10056
|
+
});
|
|
10057
|
+
}
|
|
10058
|
+
function initTree() {
|
|
10059
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
10060
|
+
if (el.children[i].tagName !== "SCRIPT") Alpine2.initTree(el.children[i]);
|
|
10061
|
+
}
|
|
10062
|
+
}
|
|
10063
|
+
function destroyTree() {
|
|
10064
|
+
if (el.children.length) {
|
|
10065
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
10066
|
+
if (el.children[i].tagName !== "SCRIPT") Alpine2.initTree(el.children[i]);
|
|
10067
|
+
}
|
|
10068
|
+
}
|
|
10069
|
+
}
|
|
10010
10070
|
function getHtml(url) {
|
|
10011
10071
|
const parsed = new URL(url, window.location.origin);
|
|
10012
10072
|
if (parsed.origin === window.location.origin) {
|
|
10013
10073
|
fetch(url).then((response) => {
|
|
10014
10074
|
if (response.status === 200) return response.text();
|
|
10015
10075
|
throw response;
|
|
10016
|
-
}).then((content) => {
|
|
10076
|
+
}).then(async (content) => {
|
|
10017
10077
|
if (modifiers.includes("js")) {
|
|
10018
10078
|
const container = document.createElement("div");
|
|
10019
10079
|
container.innerHTML = content;
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
for (let a = 0; a < staticScript.attributes.length; a++) {
|
|
10023
|
-
script.setAttribute(staticScript.attributes[a].name, staticScript.attributes[a].value);
|
|
10024
|
-
}
|
|
10025
|
-
script.appendChild(document.createTextNode(staticScript.innerHTML));
|
|
10026
|
-
staticScript.remove();
|
|
10080
|
+
const scripts = [...container.querySelectorAll("script")];
|
|
10081
|
+
scripts.forEach((script) => script.remove());
|
|
10027
10082
|
while (container.childNodes.length > 0) {
|
|
10028
10083
|
el.appendChild(container.childNodes[0]);
|
|
10029
10084
|
}
|
|
10030
|
-
|
|
10085
|
+
for (const oldScript of scripts) {
|
|
10086
|
+
await executeScript(oldScript);
|
|
10087
|
+
}
|
|
10031
10088
|
} else {
|
|
10032
10089
|
el.innerHTML = content;
|
|
10033
10090
|
}
|
|
10091
|
+
initTree();
|
|
10034
10092
|
}).catch((response) => {
|
|
10035
10093
|
console.error(response);
|
|
10036
10094
|
});
|
|
@@ -10040,10 +10098,14 @@
|
|
|
10040
10098
|
}
|
|
10041
10099
|
effect(() => {
|
|
10042
10100
|
getUrl((url) => {
|
|
10101
|
+
destroyTree();
|
|
10102
|
+
el.innerHTML = "";
|
|
10043
10103
|
if (url) getHtml(url);
|
|
10044
|
-
else el.innerHTML = "";
|
|
10045
10104
|
});
|
|
10046
10105
|
});
|
|
10106
|
+
cleanup(() => {
|
|
10107
|
+
destroyTree();
|
|
10108
|
+
});
|
|
10047
10109
|
}).before("bind");
|
|
10048
10110
|
}
|
|
10049
10111
|
|
|
@@ -10060,11 +10122,11 @@
|
|
|
10060
10122
|
}
|
|
10061
10123
|
|
|
10062
10124
|
// package.json
|
|
10063
|
-
var version = "1.
|
|
10125
|
+
var version = "1.6.1";
|
|
10064
10126
|
|
|
10065
10127
|
// src/index.js
|
|
10066
10128
|
window.Harmonia = { getBreakpointListener, addColorSchemeListener, getColorScheme, removeColorSchemeListener, setColorScheme, getSystemColorScheme, version };
|
|
10067
|
-
|
|
10129
|
+
function registerPlugins() {
|
|
10068
10130
|
window.Alpine.plugin(accordion_default);
|
|
10069
10131
|
window.Alpine.plugin(alert_default);
|
|
10070
10132
|
window.Alpine.plugin(avatar_default);
|
|
@@ -10109,5 +10171,7 @@
|
|
|
10109
10171
|
window.Alpine.plugin(focus_default);
|
|
10110
10172
|
window.Alpine.plugin(template_default);
|
|
10111
10173
|
window.Alpine.plugin(include_default);
|
|
10112
|
-
}
|
|
10174
|
+
}
|
|
10175
|
+
if (window.Alpine) registerPlugins();
|
|
10176
|
+
else document.addEventListener("alpine:init", registerPlugins, { once: true });
|
|
10113
10177
|
})();
|