@codbex/harmonia 1.6.0 → 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 +117 -72
- package/dist/harmonia.esm.min.js +2 -2
- package/dist/harmonia.esm.min.js.map +3 -3
- package/dist/harmonia.js +121 -74
- package/dist/harmonia.min.js +2 -2
- package/dist/harmonia.min.js.map +3 -3
- package/package.json +6 -6
package/dist/harmonia.esm.js
CHANGED
|
@@ -4768,11 +4768,11 @@ function checkbox_default(Alpine) {
|
|
|
4768
4768
|
"bg-input-inner",
|
|
4769
4769
|
"border",
|
|
4770
4770
|
"border-input",
|
|
4771
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
4771
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
4772
4772
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
4773
4773
|
"duration-200",
|
|
4774
|
-
"has-[aria-invalid=true]:border-negative",
|
|
4775
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
4774
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
4775
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
4776
4776
|
"has-[input:checked]:bg-primary",
|
|
4777
4777
|
"has-[input:checked]:border-primary",
|
|
4778
4778
|
"has-[input:disabled]:cursor-not-allowed",
|
|
@@ -5731,14 +5731,14 @@ function list_default(Alpine) {
|
|
|
5731
5731
|
break;
|
|
5732
5732
|
}
|
|
5733
5733
|
}
|
|
5734
|
-
function
|
|
5734
|
+
function onClick(event) {
|
|
5735
5735
|
if (event.target.getAttribute("data-slot") === "list-item") selectOption(event.target);
|
|
5736
5736
|
}
|
|
5737
|
-
el.addEventListener("click",
|
|
5737
|
+
el.addEventListener("click", onClick);
|
|
5738
5738
|
el.addEventListener("keydown", onKeyDown);
|
|
5739
5739
|
cleanup(() => {
|
|
5740
5740
|
el.removeEventListener("keydown", onKeyDown);
|
|
5741
|
-
el.removeEventListener("click",
|
|
5741
|
+
el.removeEventListener("click", onClick);
|
|
5742
5742
|
});
|
|
5743
5743
|
});
|
|
5744
5744
|
Alpine.directive("h-list", (el) => {
|
|
@@ -5823,6 +5823,9 @@ function menu_default(Alpine) {
|
|
|
5823
5823
|
while (sibling && !sibling.hasOwnProperty("_menu_trigger")) {
|
|
5824
5824
|
sibling = sibling.previousElementSibling;
|
|
5825
5825
|
}
|
|
5826
|
+
if (!sibling.hasOwnProperty("_menu_trigger")) {
|
|
5827
|
+
throw new Error(`${original2} must be placed after the menu trigger`);
|
|
5828
|
+
}
|
|
5826
5829
|
return sibling;
|
|
5827
5830
|
})();
|
|
5828
5831
|
if (!isSubmenu && !menuTrigger) {
|
|
@@ -5846,8 +5849,8 @@ function menu_default(Alpine) {
|
|
|
5846
5849
|
left: "0px",
|
|
5847
5850
|
top: "0px"
|
|
5848
5851
|
});
|
|
5849
|
-
top.removeEventListener("contextmenu",
|
|
5850
|
-
top.removeEventListener("click",
|
|
5852
|
+
top.removeEventListener("contextmenu", onClick);
|
|
5853
|
+
top.removeEventListener("click", onClick);
|
|
5851
5854
|
el.removeEventListener("keydown", onKeyDown);
|
|
5852
5855
|
if (isSubmenu) {
|
|
5853
5856
|
if (closeParent) {
|
|
@@ -5879,7 +5882,7 @@ function menu_default(Alpine) {
|
|
|
5879
5882
|
}
|
|
5880
5883
|
return false;
|
|
5881
5884
|
}
|
|
5882
|
-
function
|
|
5885
|
+
function onClick(event) {
|
|
5883
5886
|
if (event.type === "contextmenu") event.preventDefault();
|
|
5884
5887
|
close(isSubmenu);
|
|
5885
5888
|
}
|
|
@@ -5997,8 +6000,8 @@ function menu_default(Alpine) {
|
|
|
5997
6000
|
listenForTrigger(false);
|
|
5998
6001
|
}
|
|
5999
6002
|
Alpine2.nextTick(() => {
|
|
6000
|
-
top.addEventListener("contextmenu",
|
|
6001
|
-
top.addEventListener("click",
|
|
6003
|
+
top.addEventListener("contextmenu", onClick);
|
|
6004
|
+
top.addEventListener("click", onClick);
|
|
6002
6005
|
el.addEventListener("keydown", onKeyDown);
|
|
6003
6006
|
});
|
|
6004
6007
|
Object.assign(el.style, {
|
|
@@ -6039,9 +6042,9 @@ function menu_default(Alpine) {
|
|
|
6039
6042
|
listenForTrigger(true);
|
|
6040
6043
|
}
|
|
6041
6044
|
cleanup(() => {
|
|
6042
|
-
listenForTrigger(false);
|
|
6043
|
-
top.removeEventListener("click",
|
|
6044
|
-
top.removeEventListener("contextmenu",
|
|
6045
|
+
if (menuTrigger) listenForTrigger(false);
|
|
6046
|
+
top.removeEventListener("click", onClick);
|
|
6047
|
+
top.removeEventListener("contextmenu", onClick);
|
|
6045
6048
|
el.removeEventListener("keydown", onKeyDown);
|
|
6046
6049
|
});
|
|
6047
6050
|
});
|
|
@@ -6641,10 +6644,10 @@ function radio_default(Alpine) {
|
|
|
6641
6644
|
"bg-input-inner",
|
|
6642
6645
|
"border",
|
|
6643
6646
|
"border-input",
|
|
6644
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
6647
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
6645
6648
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
6646
|
-
"has-[aria-invalid=true]:border-negative",
|
|
6647
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
6649
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
6650
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
6648
6651
|
"has-[input:checked]:before:visible",
|
|
6649
6652
|
"has-[input:disabled]:cursor-not-allowed",
|
|
6650
6653
|
"has-[input:disabled]:opacity-50",
|
|
@@ -6716,10 +6719,10 @@ function select_default(Alpine) {
|
|
|
6716
6719
|
"has-focus-visible:border-ring",
|
|
6717
6720
|
"has-focus-visible:ring-[calc(var(--spacing)*0.75)]",
|
|
6718
6721
|
"has-focus-visible:ring-ring/50",
|
|
6719
|
-
"dark:has-[aria-invalid=true]:ring-negative/40",
|
|
6722
|
+
"dark:has-[input[aria-invalid=true]]:ring-negative/40",
|
|
6720
6723
|
"dark:has-[input:invalid]:ring-negative/40",
|
|
6721
|
-
"has-[aria-invalid=true]:border-negative",
|
|
6722
|
-
"has-[aria-invalid=true]:ring-negative/20",
|
|
6724
|
+
"has-[input[aria-invalid=true]]:border-negative",
|
|
6725
|
+
"has-[input[aria-invalid=true]]:ring-negative/20",
|
|
6723
6726
|
"has-[input:invalid]:border-negative",
|
|
6724
6727
|
"has-[input:invalid]:ring-negative/20",
|
|
6725
6728
|
"hover:bg-secondary-hover",
|
|
@@ -6950,7 +6953,7 @@ function select_default(Alpine) {
|
|
|
6950
6953
|
}
|
|
6951
6954
|
}
|
|
6952
6955
|
};
|
|
6953
|
-
const
|
|
6956
|
+
const onClick = () => {
|
|
6954
6957
|
select._h_select.expanded = !select._h_select.expanded;
|
|
6955
6958
|
if (select._h_select.expanded) {
|
|
6956
6959
|
if (!content) content = select.querySelector(`#${select._h_select.controls}`);
|
|
@@ -6971,14 +6974,14 @@ function select_default(Alpine) {
|
|
|
6971
6974
|
if (event.key === "Escape" && select._h_select.expanded) close(true);
|
|
6972
6975
|
else if (event.key === "Enter") {
|
|
6973
6976
|
event.preventDefault();
|
|
6974
|
-
|
|
6977
|
+
onClick();
|
|
6975
6978
|
} else if (event.key === " ") {
|
|
6976
6979
|
event.preventDefault();
|
|
6977
|
-
setTimeout(() =>
|
|
6980
|
+
setTimeout(() => onClick(), 0);
|
|
6978
6981
|
}
|
|
6979
6982
|
};
|
|
6980
6983
|
fakeTrigger.addEventListener("keydown", onPress);
|
|
6981
|
-
fakeTrigger.addEventListener("click",
|
|
6984
|
+
fakeTrigger.addEventListener("click", onClick);
|
|
6982
6985
|
const chevronDown = createSvg({
|
|
6983
6986
|
icon: ChevronDown,
|
|
6984
6987
|
classes: "opacity-70 text-foreground size-4 shrink-0 pointer-events-none transition-transform duration-200",
|
|
@@ -7001,7 +7004,7 @@ function select_default(Alpine) {
|
|
|
7001
7004
|
select._h_select.refreshLabel = onInputChange;
|
|
7002
7005
|
el.addEventListener("change", onInputChange);
|
|
7003
7006
|
cleanup(() => {
|
|
7004
|
-
fakeTrigger.removeEventListener("click",
|
|
7007
|
+
fakeTrigger.removeEventListener("click", onClick);
|
|
7005
7008
|
fakeTrigger.removeEventListener("keydown", onPress);
|
|
7006
7009
|
el.parentElement.removeEventListener("keydown", onKeyDown);
|
|
7007
7010
|
top.removeEventListener("click", close);
|
|
@@ -7098,11 +7101,11 @@ function select_default(Alpine) {
|
|
|
7098
7101
|
}
|
|
7099
7102
|
el.addEventListener("click", onActivate);
|
|
7100
7103
|
el.addEventListener("keydown", onActivate);
|
|
7104
|
+
function onInput() {
|
|
7105
|
+
select._h_select.search = searchInput.value.toLowerCase();
|
|
7106
|
+
}
|
|
7101
7107
|
if (select._h_select.filterType !== FilterType.none) {
|
|
7102
|
-
|
|
7103
|
-
select._h_select.search = searchInput.value.toLowerCase();
|
|
7104
|
-
};
|
|
7105
|
-
searchInput.addEventListener("keyup", onInput2);
|
|
7108
|
+
searchInput.addEventListener("keyup", onInput);
|
|
7106
7109
|
}
|
|
7107
7110
|
effect(() => {
|
|
7108
7111
|
if (select._h_select.expanded) searchInput.focus({ preventScroll: true });
|
|
@@ -7301,14 +7304,14 @@ function sheet_default(Alpine) {
|
|
|
7301
7304
|
el.setAttribute("data-open", isOpen);
|
|
7302
7305
|
});
|
|
7303
7306
|
});
|
|
7304
|
-
const
|
|
7307
|
+
const onClick = (event) => {
|
|
7305
7308
|
if (event.target.getAttribute("data-slot") === "sheet-overlay") {
|
|
7306
7309
|
evaluate2(`${expression} = false`);
|
|
7307
7310
|
}
|
|
7308
7311
|
};
|
|
7309
|
-
el.addEventListener("click",
|
|
7312
|
+
el.addEventListener("click", onClick);
|
|
7310
7313
|
cleanup(() => {
|
|
7311
|
-
el.removeEventListener("click",
|
|
7314
|
+
el.removeEventListener("click", onClick);
|
|
7312
7315
|
});
|
|
7313
7316
|
});
|
|
7314
7317
|
Alpine.directive("h-sheet", (el, _, { cleanup }) => {
|
|
@@ -7787,6 +7790,7 @@ function spinner_default(Alpine) {
|
|
|
7787
7790
|
"rounded-full",
|
|
7788
7791
|
"animate-spin"
|
|
7789
7792
|
);
|
|
7793
|
+
if (el.tagName === "SPAN") el.classList.add("inline-block");
|
|
7790
7794
|
el.setAttribute("role", "status");
|
|
7791
7795
|
el.setAttribute("data-slot", "spinner");
|
|
7792
7796
|
if (!el.hasAttribute("aria-label")) el.setAttribute("aria-label", "Loading");
|
|
@@ -7930,7 +7934,8 @@ function split_default(Alpine) {
|
|
|
7930
7934
|
});
|
|
7931
7935
|
};
|
|
7932
7936
|
const refreshGutters = () => {
|
|
7933
|
-
|
|
7937
|
+
const lastPanelIndex = panels.length - 1;
|
|
7938
|
+
panels.forEach((p, i) => p.setGutter(i === lastPanelIndex));
|
|
7934
7939
|
};
|
|
7935
7940
|
el._h_split = {
|
|
7936
7941
|
state,
|
|
@@ -7995,7 +8000,19 @@ function split_default(Alpine) {
|
|
|
7995
8000
|
if (!split) {
|
|
7996
8001
|
throw new Error(`${original2} must be inside an split element`);
|
|
7997
8002
|
}
|
|
7998
|
-
el.classList.add(
|
|
8003
|
+
el.classList.add(
|
|
8004
|
+
"flex",
|
|
8005
|
+
"shrink",
|
|
8006
|
+
"grow-0",
|
|
8007
|
+
"box-border",
|
|
8008
|
+
"overflow-visible",
|
|
8009
|
+
"[[data-orientation=horizontal]_&]:min-w-(--h-split-panel-min)",
|
|
8010
|
+
"[[data-orientation=horizontal]_&]:max-w-(--h-split-panel-max)",
|
|
8011
|
+
"[[data-orientation=horizontal]_&]:min-h-0",
|
|
8012
|
+
"[[data-orientation=vertical]_&]:min-h-(--h-split-panel-min)",
|
|
8013
|
+
"[[data-orientation=vertical]_&]:max-h-(--h-split-panel-max)",
|
|
8014
|
+
"[[data-orientation=vertical]_&]:min-w-0"
|
|
8015
|
+
);
|
|
7999
8016
|
el.setAttribute("tabindex", "-1");
|
|
8000
8017
|
el.setAttribute("data-slot", "split-panel");
|
|
8001
8018
|
let gutterless = el.getAttribute("data-gutterless") === "true";
|
|
@@ -8102,6 +8119,7 @@ function split_default(Alpine) {
|
|
|
8102
8119
|
effect(setVariant);
|
|
8103
8120
|
const initialSize = split._h_split.normalize(el.getAttribute("data-size"));
|
|
8104
8121
|
let handleSize = 0;
|
|
8122
|
+
let layoutFrame = null;
|
|
8105
8123
|
const panel = {
|
|
8106
8124
|
el,
|
|
8107
8125
|
gutter,
|
|
@@ -8122,9 +8140,13 @@ function split_default(Alpine) {
|
|
|
8122
8140
|
setGutter(last) {
|
|
8123
8141
|
if (this.hidden || gutterless || last) {
|
|
8124
8142
|
gutter.remove();
|
|
8125
|
-
} else
|
|
8126
|
-
|
|
8127
|
-
|
|
8143
|
+
} else {
|
|
8144
|
+
if (layoutFrame) cancelAnimationFrame(layoutFrame);
|
|
8145
|
+
layoutFrame = requestAnimationFrame(() => {
|
|
8146
|
+
el.after(gutter);
|
|
8147
|
+
handleSize = this.getHandleSize();
|
|
8148
|
+
layoutFrame = null;
|
|
8149
|
+
});
|
|
8128
8150
|
}
|
|
8129
8151
|
},
|
|
8130
8152
|
setHandleOffset() {
|
|
@@ -8150,6 +8172,7 @@ function split_default(Alpine) {
|
|
|
8150
8172
|
},
|
|
8151
8173
|
setLocked(locked = false) {
|
|
8152
8174
|
const panelLocked = el.getAttribute("data-locked") === "true";
|
|
8175
|
+
gutter.setAttribute("aria-disabled", locked || panelLocked);
|
|
8153
8176
|
if (locked) {
|
|
8154
8177
|
gutter.classList.add("pointer-events-none");
|
|
8155
8178
|
} else if (panelLocked) {
|
|
@@ -8159,6 +8182,10 @@ function split_default(Alpine) {
|
|
|
8159
8182
|
}
|
|
8160
8183
|
}
|
|
8161
8184
|
};
|
|
8185
|
+
el.style.setProperty("--h-split-panel-min", `${panel.min}px`);
|
|
8186
|
+
if (panel.max < Infinity) {
|
|
8187
|
+
el.style.setProperty("--h-split-panel-max", `${panel.max}px`);
|
|
8188
|
+
}
|
|
8162
8189
|
split._h_split.addPanel(panel);
|
|
8163
8190
|
const drag = (e) => {
|
|
8164
8191
|
e.preventDefault();
|
|
@@ -9519,10 +9546,10 @@ function timepicker_default(Alpine) {
|
|
|
9519
9546
|
periodList.classList.add("hidden");
|
|
9520
9547
|
}
|
|
9521
9548
|
}
|
|
9522
|
-
const
|
|
9549
|
+
const onClick = (event) => {
|
|
9523
9550
|
event.stopPropagation();
|
|
9524
9551
|
};
|
|
9525
|
-
el.addEventListener("click",
|
|
9552
|
+
el.addEventListener("click", onClick);
|
|
9526
9553
|
let autoUpdateCleanup;
|
|
9527
9554
|
let focusFirstItem = true;
|
|
9528
9555
|
function updatePosition() {
|
|
@@ -9565,20 +9592,10 @@ function timepicker_default(Alpine) {
|
|
|
9565
9592
|
});
|
|
9566
9593
|
cleanup(() => {
|
|
9567
9594
|
el.removeEventListener("keydown", onKeyDown);
|
|
9568
|
-
el.removeEventListener("click",
|
|
9595
|
+
el.removeEventListener("click", onClick);
|
|
9569
9596
|
okButton.removeEventListener("click", timepicker._h_timepicker.close);
|
|
9570
|
-
|
|
9571
|
-
|
|
9572
|
-
}
|
|
9573
|
-
for (let m = 0; m < minutesList.children.length; m++) {
|
|
9574
|
-
minutesList.children[m].removeEventListener("click", setMinute);
|
|
9575
|
-
}
|
|
9576
|
-
for (let s = 0; s < secondsList.children.length; s++) {
|
|
9577
|
-
secondsList.children[s].removeEventListener("click", setSecond);
|
|
9578
|
-
}
|
|
9579
|
-
for (let p = 0; p < periodList.children.length; p++) {
|
|
9580
|
-
periodList.children[p].removeEventListener("click", setPeriod);
|
|
9581
|
-
}
|
|
9597
|
+
nowButton.removeEventListener("click", getCurrentTime);
|
|
9598
|
+
timeContainer.removeEventListener("click", setTime);
|
|
9582
9599
|
});
|
|
9583
9600
|
});
|
|
9584
9601
|
}
|
|
@@ -9823,7 +9840,7 @@ function tree_default(Alpine) {
|
|
|
9823
9840
|
el.setAttribute("role", "tree");
|
|
9824
9841
|
el.addEventListener("keydown", onKeyDown);
|
|
9825
9842
|
cleanup(() => {
|
|
9826
|
-
el.removeEventListener("keydown",
|
|
9843
|
+
el.removeEventListener("keydown", onKeyDown);
|
|
9827
9844
|
});
|
|
9828
9845
|
}
|
|
9829
9846
|
});
|
|
@@ -9853,7 +9870,7 @@ function tree_default(Alpine) {
|
|
|
9853
9870
|
effect(() => {
|
|
9854
9871
|
if (!el.closest('[role="tree"]')) return;
|
|
9855
9872
|
});
|
|
9856
|
-
const
|
|
9873
|
+
const onClick = (event) => {
|
|
9857
9874
|
if (event.target === el || event.target.parentElement === el) {
|
|
9858
9875
|
if (el._h_tree_item.hasSubtree) {
|
|
9859
9876
|
if (expression === "false" || expression === "true") {
|
|
@@ -9868,9 +9885,9 @@ function tree_default(Alpine) {
|
|
|
9868
9885
|
el.setAttribute("tabindex", "0");
|
|
9869
9886
|
}
|
|
9870
9887
|
};
|
|
9871
|
-
el.addEventListener("click",
|
|
9888
|
+
el.addEventListener("click", onClick);
|
|
9872
9889
|
cleanup(() => {
|
|
9873
|
-
el.removeEventListener("click",
|
|
9890
|
+
el.removeEventListener("click", onClick);
|
|
9874
9891
|
});
|
|
9875
9892
|
if (el._h_tree_item.hasSubtree) {
|
|
9876
9893
|
const setExpanded = (expanded) => {
|
|
@@ -9950,7 +9967,7 @@ function tree_default(Alpine) {
|
|
|
9950
9967
|
}
|
|
9951
9968
|
|
|
9952
9969
|
// package.json
|
|
9953
|
-
var version = "1.6.
|
|
9970
|
+
var version = "1.6.1";
|
|
9954
9971
|
|
|
9955
9972
|
// src/utils/breakpoint-listener.js
|
|
9956
9973
|
function getBreakpointListener(handler, breakpoint = 768) {
|
|
@@ -10025,10 +10042,7 @@ var setColorScheme = (mode) => {
|
|
|
10025
10042
|
var getColorScheme = () => {
|
|
10026
10043
|
const theme = localStorage.getItem(colorSchemeKey);
|
|
10027
10044
|
if (theme) return theme;
|
|
10028
|
-
|
|
10029
|
-
return "dark";
|
|
10030
|
-
}
|
|
10031
|
-
return "light";
|
|
10045
|
+
return "auto";
|
|
10032
10046
|
};
|
|
10033
10047
|
var getSystemColorScheme = () => {
|
|
10034
10048
|
if (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
@@ -10063,32 +10077,59 @@ function focus_default(Alpine) {
|
|
|
10063
10077
|
|
|
10064
10078
|
// src/utils/include.js
|
|
10065
10079
|
function include_default(Alpine) {
|
|
10066
|
-
Alpine.directive("h-include", (el, { modifiers, expression }, { evaluateLater, effect }) => {
|
|
10080
|
+
Alpine.directive("h-include", (el, { modifiers, expression }, { evaluateLater, effect, cleanup, Alpine: Alpine2 }) => {
|
|
10067
10081
|
const getUrl = evaluateLater(expression);
|
|
10082
|
+
function executeScript(oldScript) {
|
|
10083
|
+
return new Promise((resolve, reject) => {
|
|
10084
|
+
const newScript = document.createElement("script");
|
|
10085
|
+
for (const attr of oldScript.attributes) {
|
|
10086
|
+
newScript.setAttribute(attr.name, attr.value);
|
|
10087
|
+
}
|
|
10088
|
+
if (oldScript.src) {
|
|
10089
|
+
newScript.src = oldScript.src;
|
|
10090
|
+
newScript.onload = resolve;
|
|
10091
|
+
newScript.onerror = reject;
|
|
10092
|
+
} else {
|
|
10093
|
+
newScript.textContent = oldScript.textContent;
|
|
10094
|
+
resolve();
|
|
10095
|
+
}
|
|
10096
|
+
el.appendChild(newScript);
|
|
10097
|
+
});
|
|
10098
|
+
}
|
|
10099
|
+
function initTree() {
|
|
10100
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
10101
|
+
if (el.children[i].tagName !== "SCRIPT") Alpine2.initTree(el.children[i]);
|
|
10102
|
+
}
|
|
10103
|
+
}
|
|
10104
|
+
function destroyTree() {
|
|
10105
|
+
if (el.children.length) {
|
|
10106
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
10107
|
+
if (el.children[i].tagName !== "SCRIPT") Alpine2.initTree(el.children[i]);
|
|
10108
|
+
}
|
|
10109
|
+
}
|
|
10110
|
+
}
|
|
10068
10111
|
function getHtml(url) {
|
|
10069
10112
|
const parsed = new URL(url, window.location.origin);
|
|
10070
10113
|
if (parsed.origin === window.location.origin) {
|
|
10071
10114
|
fetch(url).then((response) => {
|
|
10072
10115
|
if (response.status === 200) return response.text();
|
|
10073
10116
|
throw response;
|
|
10074
|
-
}).then((content) => {
|
|
10117
|
+
}).then(async (content) => {
|
|
10075
10118
|
if (modifiers.includes("js")) {
|
|
10076
10119
|
const container = document.createElement("div");
|
|
10077
10120
|
container.innerHTML = content;
|
|
10078
|
-
|
|
10079
|
-
|
|
10080
|
-
for (let a = 0; a < staticScript.attributes.length; a++) {
|
|
10081
|
-
script.setAttribute(staticScript.attributes[a].name, staticScript.attributes[a].value);
|
|
10082
|
-
}
|
|
10083
|
-
script.appendChild(document.createTextNode(staticScript.innerHTML));
|
|
10084
|
-
staticScript.remove();
|
|
10121
|
+
const scripts = [...container.querySelectorAll("script")];
|
|
10122
|
+
scripts.forEach((script) => script.remove());
|
|
10085
10123
|
while (container.childNodes.length > 0) {
|
|
10086
10124
|
el.appendChild(container.childNodes[0]);
|
|
10087
10125
|
}
|
|
10088
|
-
|
|
10126
|
+
for (const oldScript of scripts) {
|
|
10127
|
+
await executeScript(oldScript);
|
|
10128
|
+
}
|
|
10089
10129
|
} else {
|
|
10090
10130
|
el.innerHTML = content;
|
|
10091
10131
|
}
|
|
10132
|
+
initTree();
|
|
10092
10133
|
}).catch((response) => {
|
|
10093
10134
|
console.error(response);
|
|
10094
10135
|
});
|
|
@@ -10098,10 +10139,14 @@ function include_default(Alpine) {
|
|
|
10098
10139
|
}
|
|
10099
10140
|
effect(() => {
|
|
10100
10141
|
getUrl((url) => {
|
|
10142
|
+
destroyTree();
|
|
10143
|
+
el.innerHTML = "";
|
|
10101
10144
|
if (url) getHtml(url);
|
|
10102
|
-
else el.innerHTML = "";
|
|
10103
10145
|
});
|
|
10104
10146
|
});
|
|
10147
|
+
cleanup(() => {
|
|
10148
|
+
destroyTree();
|
|
10149
|
+
});
|
|
10105
10150
|
}).before("bind");
|
|
10106
10151
|
}
|
|
10107
10152
|
|