@trintel/zooy 1.0.9 → 1.0.14
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/chunks/{button-B5xRFIEh.js → button-D2VKJsLS.js} +1 -1
- package/dist/chunks/{button-C4sd9gLh.js → button-pZ-DRK6v.js} +4 -4
- package/dist/chunks/{button-skeleton-MZDqqf3a.js → button-skeleton-CDETU1qG.js} +1 -1
- package/dist/chunks/{button-skeleton-Dk5IzDLm.js → button-skeleton-CtG4NQzT.js} +4 -4
- package/dist/chunks/{checkbox-DsM29E1F.js → checkbox-CVge6cOk.js} +5 -5
- package/dist/chunks/{checkbox-BBsWqHhb.js → checkbox-DUGLQnd6.js} +1 -1
- package/dist/chunks/{class-map-Blob2x1Q.js → class-map-C8RyF4hT.js} +1 -1
- package/dist/chunks/{class-map-DxXUQv4a.js → class-map-CLDu36Gc.js} +1 -1
- package/dist/chunks/{content-switcher-item-B5XFOV0z.js → content-switcher-item-CA0doXHf.js} +4 -4
- package/dist/chunks/{content-switcher-item-CaQRCBTe.js → content-switcher-item-DgEJ6RFq.js} +1 -1
- package/dist/chunks/{dropdown-item-CJp_mZ2I.js → dropdown-item-C6ff_rA-.js} +6 -6
- package/dist/chunks/{dropdown-item-Cwh3NfDc.js → dropdown-item-DTnshNe4.js} +1 -1
- package/dist/chunks/{icon-loader-BRYZ9-dX.js → icon-loader-DdCPeV1F.js} +1 -1
- package/dist/chunks/{icon-loader-CehUsWUX.js → icon-loader-bqbv6v-z.js} +1 -1
- package/dist/chunks/{icon-loader-utils-DfhPr5h_.js → icon-loader-utils-BWrg3bpN.js} +1 -1
- package/dist/chunks/{icon-loader-utils-BaBsGFM_.js → icon-loader-utils-wU7uJZWU.js} +1 -1
- package/dist/chunks/{if-defined--YV9wEAj.js → if-defined-JokaXq_5.js} +1 -1
- package/dist/chunks/{if-defined-BHvp27Od.js → if-defined-LYYEqErp.js} +1 -1
- package/dist/chunks/{if-non-empty-DaS9zyOo.js → if-non-empty-B3vx66n4.js} +1 -1
- package/dist/chunks/if-non-empty-UE5WDWwQ.js +1 -0
- package/dist/chunks/{index-DEh2-UZJ.js → index-0kDKmcUn.js} +1 -1
- package/dist/chunks/{index-DHles42i.js → index-2-nMkC0u.js} +1 -1
- package/dist/chunks/{index-DOb7ppJl.js → index-3GQJ_7On.js} +5 -5
- package/dist/chunks/{index-BYa48BT4.js → index-7nNy5WEl.js} +1 -1
- package/dist/chunks/{index-C276f5fW.js → index-9LzZzz4u.js} +1 -1
- package/dist/chunks/{index-BsNCKhBs.js → index-B0ZKf4SU.js} +1 -1
- package/dist/chunks/{index-BZ7ODxUk.js → index-B3rHrWp1.js} +5 -5
- package/dist/chunks/{index-BvUQiKco.js → index-B76lqoqT.js} +1 -1
- package/dist/chunks/{index-Dui3Vi6K.js → index-BC4YWTSF.js} +5 -5
- package/dist/chunks/{index-BjrjLGm3.js → index-BCzt9Ccn.js} +2 -2
- package/dist/chunks/{index-Dkz860Ep.js → index-BDgfSKzL.js} +3 -3
- package/dist/chunks/{index-C0Ziv4Lg.js → index-BGMe0w5_.js} +1 -1
- package/dist/chunks/{index-DGlzUO5f.js → index-BHJC9GSR.js} +1 -1
- package/dist/chunks/{index-CLaUpA-S.js → index-BL3nrhct.js} +3 -3
- package/dist/chunks/{index-DlEnFuPS.js → index-BL8bOR9n.js} +1 -1
- package/dist/chunks/{index-CORy3Pa1.js → index-BNX9EJIE.js} +1 -1
- package/dist/chunks/{index-BmUKW0kW.js → index-BRODR18b.js} +3 -3
- package/dist/chunks/{index-DExrBB06.js → index-BRT0gqo3.js} +4 -4
- package/dist/chunks/{index-CKgr4QI3.js → index-BWsnXW01.js} +1 -1
- package/dist/chunks/{index-BLYL92KD.js → index-BYHPRyAK.js} +1 -1
- package/dist/chunks/{index-CLmuZhI5.js → index-BYeH-Lx8.js} +1 -1
- package/dist/chunks/{index-CKECA6Bi.js → index-Bgmh4Nfq.js} +1 -1
- package/dist/chunks/{index-DV5sL-Mh.js → index-BiW01Ou8.js} +1 -1
- package/dist/chunks/{index-CDCT9JBg.js → index-BjPqbngg.js} +5 -5
- package/dist/chunks/{index-BSFdROB8.js → index-BoCQVLwG.js} +1 -1
- package/dist/chunks/{index-loKB7cIv.js → index-BrjlYyR4.js} +5 -5
- package/dist/chunks/{index-CV_L-5I4.js → index-Bumb78BV.js} +1 -1
- package/dist/chunks/{index-BXDKiGII.js → index-C21uRpcN.js} +2 -2
- package/dist/chunks/{index-CNU6h6vt.js → index-C2valRve.js} +5 -5
- package/dist/chunks/{index-qRCcVUtv.js → index-C3wd1Ce9.js} +1 -1
- package/dist/chunks/{index-DfCYA2CL.js → index-C50tGv-j.js} +1 -1
- package/dist/chunks/{index-DLut9sH5.js → index-C5GJatuZ.js} +8 -8
- package/dist/chunks/{index-CMmmbJSh.js → index-C5TJ62J9.js} +7 -7
- package/dist/chunks/{index-DdUuX4Oe.js → index-C5dTaeYU.js} +1 -1
- package/dist/chunks/{index-BQOq1vvH.js → index-CH2IVG4V.js} +1 -1
- package/dist/chunks/{index-DZMcd93M.js → index-CIWTMX9s.js} +1 -1
- package/dist/chunks/{index-NZ7MusKR.js → index-CIbCDWFV.js} +2 -2
- package/dist/chunks/{index-BBAH7Ul-.js → index-CPxaESxc.js} +3 -3
- package/dist/chunks/{index-i6Ep70AY.js → index-CR49u8S9.js} +1 -1
- package/dist/chunks/{index-D0c8Scw_.js → index-CTQAWlOg.js} +5 -5
- package/dist/chunks/{index-DEV12jMj.js → index-CTt8Y8HC.js} +1 -1
- package/dist/chunks/{index-tOWItg8e.js → index-CUhfQp9_.js} +5 -5
- package/dist/chunks/{index-CUy68xO6.js → index-CaLO9pKf.js} +4 -4
- package/dist/chunks/{index-BDJw9hLf.js → index-CiXoGI6W.js} +7 -7
- package/dist/chunks/{index-BwiG-jwr.js → index-CjEivsuj.js} +1 -1
- package/dist/chunks/{index-PlhvaDKI.js → index-Cke1JFeD.js} +3 -3
- package/dist/chunks/index-Cm-qH0_A.js +1 -0
- package/dist/chunks/{index-BdRBUuLB.js → index-CmqyRYtd.js} +1 -1
- package/dist/chunks/{index-oJ5OnqqB.js → index-CmxDyzAj.js} +1 -1
- package/dist/chunks/{index-GSWXkQ54.js → index-CnQZDqa3.js} +2 -2
- package/dist/chunks/{index-BXwNOxmz.js → index-Cpo2cg14.js} +1 -1
- package/dist/chunks/index-CqV7rF6Y.js +2 -0
- package/dist/chunks/{index-C77hqhqA.js → index-CsJ-eqZ9.js} +1 -1
- package/dist/chunks/{index-DabYIcPl.js → index-CvZ0FZoz.js} +10 -10
- package/dist/chunks/{index-BtS9nsdr.js → index-CyFniodw.js} +1 -1
- package/dist/chunks/{index-zn8VBbbH.js → index-Cz0qsW9k.js} +9 -9
- package/dist/chunks/{index-cneeu7y_.js → index-D3bm4dv9.js} +1 -1
- package/dist/chunks/{index-D_xHARJW.js → index-D46OGW4a.js} +7 -7
- package/dist/chunks/{index-CAgqWzow.js → index-D5TR0TpO.js} +5 -5
- package/dist/chunks/{index-Du6Xt9iB.js → index-D5reIinO.js} +7 -7
- package/dist/chunks/{index-C4pmKhMw.js → index-D79_j0Y6.js} +3 -3
- package/dist/chunks/{index-Bd3h6IUe.js → index-DDpWWnYg.js} +4 -4
- package/dist/chunks/{index-Co797QQC.js → index-DFku2wwc.js} +1 -1
- package/dist/chunks/{index-BodCpKSq.js → index-DIXYEqKa.js} +8 -8
- package/dist/chunks/{index-CX_XoqUh.js → index-DJ58_keq.js} +5 -5
- package/dist/chunks/{index-BnHoSTWv.js → index-DKKcCZD0.js} +4 -4
- package/dist/chunks/{index-CTJm7mCD.js → index-DLd78Rbz.js} +3 -3
- package/dist/chunks/{index-Bey-4kZC.js → index-DRBWg6SP.js} +6 -6
- package/dist/chunks/{index-B6-ZBaD4.js → index-DUN06aMm.js} +1 -1
- package/dist/chunks/{index-DEybieKF.js → index-DVIeirxu.js} +1 -1
- package/dist/chunks/{index-2bKxAUu7.js → index-DVJk-q4a.js} +8 -8
- package/dist/chunks/{index-BE0iYsJ5.js → index-DYPDRQjH.js} +3 -3
- package/dist/chunks/{index-DbFgxLQe.js → index-DYSNxsmk.js} +1 -1
- package/dist/chunks/{index-DvWjvPHH.js → index-Dc46GN9v.js} +1 -1
- package/dist/chunks/{index-B6bs42I0.js → index-DiMhcmKq.js} +7 -7
- package/dist/chunks/{index-ZBHwSMvY.js → index-DlaJ2UYi.js} +1 -1
- package/dist/chunks/{index-Dg53tAoz.js → index-DmgEkYDC.js} +1 -1
- package/dist/chunks/{index-BSSJRamX.js → index-DnIZrTPt.js} +1 -1
- package/dist/chunks/{index-BE5FgC1Z.js → index-Dnrd-ghp.js} +1 -1
- package/dist/chunks/{index-BlM79rIk.js → index-DoT9doqj.js} +1 -1
- package/dist/chunks/{index-DG1HMDEs.js → index-DoiyAuJa.js} +1 -1
- package/dist/chunks/{index-D8NYnDWQ.js → index-DpqoWgT9.js} +4 -4
- package/dist/chunks/{index-Crj9Sc_q.js → index-DraQgvgl.js} +1 -1
- package/dist/chunks/{index-BM59oOIJ.js → index-DsCjIWpO.js} +7 -7
- package/dist/chunks/{index-DtglBHCQ.js → index-DsShxfRw.js} +1 -1
- package/dist/chunks/{index-DSbYxfLs.js → index-DscKTLkM.js} +1 -1
- package/dist/chunks/{index-CFqEaeKw.js → index-DvpeF28r.js} +1 -1
- package/dist/chunks/{index-BF8o2tS2.js → index-Fd-LYjkR.js} +1 -1
- package/dist/chunks/{index-DNQ0R54o.js → index-MzshInpG.js} +3 -3
- package/dist/chunks/{index-PQIjb1W1.js → index-OboyKoLD.js} +6 -6
- package/dist/chunks/{index-CHJDVytM.js → index-QtI2aP7P.js} +4 -4
- package/dist/chunks/{index-CCfRgzXS.js → index-SS-8a0z5.js} +5 -5
- package/dist/chunks/{index-L5Km9H8v.js → index-Sc6xBZpS.js} +1 -1
- package/dist/chunks/{index-sISDYHRo.js → index-UfmYZ2gl.js} +4 -4
- package/dist/chunks/{index-COpJjxt8.js → index-XCgnYslF.js} +1 -1
- package/dist/chunks/{index-Db8hq1oK.js → index-_8VNB8cM.js} +5 -5
- package/dist/chunks/{index-DJXH0nsT.js → index-boHTic51.js} +6 -6
- package/dist/chunks/{index-DsABJ0hu.js → index-cfYcnLla.js} +6 -6
- package/dist/chunks/{index-BPOTiBnU.js → index-cxbnAO6M.js} +4 -4
- package/dist/chunks/{index-uEl2EDxm.js → index-frG4A1ZV.js} +1 -1
- package/dist/chunks/{index-d5VkMQr5.js → index-gXB8HHp-.js} +1 -1
- package/dist/chunks/{index-b3n-T2Mr.js → index-skQF78KL.js} +5 -5
- package/dist/chunks/{index-CmoxVlhj.js → index-wCs-JduP.js} +6 -6
- package/dist/chunks/{index-DghXFP1_.js → index-yQy9Zqt6.js} +1 -1
- package/dist/chunks/{loading-icon-BjhgIkxm.js → loading-icon-aUR93XFj.js} +1 -1
- package/dist/chunks/{loading-icon-CzsLYW5d.js → loading-icon-kRHi53Yj.js} +1 -1
- package/dist/chunks/{main-1YHLay2M.js → main-C7DwFPRv.js} +197 -163
- package/dist/chunks/{main-Dieh-js6.js → main-CBogFjAz.js} +4 -4
- package/dist/chunks/{property-PcxHNqC7.js → property-CsJ7ixLW.js} +1 -1
- package/dist/chunks/{property-rHw5Qiya.js → property-DlFpsdD_.js} +1 -1
- package/dist/chunks/{register-BVJ7Rj88.js → register-AR8jupzJ.js} +1 -1
- package/dist/chunks/{register-BVB1VVdT.js → register-CWsYpCXE.js} +1 -1
- package/dist/chunks/{register-DGyCiJGq.js → register-CpwdnySd.js} +142 -137
- package/dist/chunks/{register-D-bV-b_k.js → register-D3mJ58Cv.js} +1 -1
- package/dist/chunks/{search-BM3u-Up9.js → search-Cftx2dVp.js} +6 -6
- package/dist/chunks/{search-ClNSlscR.js → search-CuOnNcnw.js} +1 -1
- package/dist/chunks/{select-item-D6fUNCbb.js → select-item-BPKT7Wm1.js} +1 -1
- package/dist/chunks/{select-item-5W4QUbqx.js → select-item-DENN36wG.js} +7 -7
- package/dist/chunks/{state-Dt3SwvJx.js → state-BUoEDghj.js} +1 -1
- package/dist/chunks/{state-0RlnmTzo.js → state-C8_dQr4b.js} +1 -1
- package/dist/chunks/{text-input-DgwJ4KjV.js → text-input-CQrOXfMO.js} +5 -5
- package/dist/chunks/{text-input-BsExNRbn.js → text-input-CnlqMvsE.js} +1 -1
- package/dist/chunks/{tooltip-content-DHqA_dS-.js → tooltip-content-CKqz0OvQ.js} +1 -1
- package/dist/chunks/{tooltip-content-BEFieAlC.js → tooltip-content-CLu411r7.js} +3 -3
- package/dist/chunks/{unsafe-html-GZdjQgYe.js → unsafe-html-BiLL5zaQ.js} +1 -1
- package/dist/chunks/{unsafe-html-CRC4ViH6.js → unsafe-html-CPchn7UI.js} +1 -1
- package/dist/zooy.cjs.js +1 -1
- package/dist/zooy.es.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/if-non-empty-96tm0-2Q.js +0 -1
- package/dist/chunks/index-BZWvbxle.js +0 -1
- package/dist/chunks/index-BpO6h6ag.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const n=require("./main-
|
|
1
|
+
"use strict";const n=require("./main-CBogFjAz.js"),e=require("./settings-Bgpv8zuU.js");var s=({description:i,small:c})=>{const r=c?"42":"44";return n.x`
|
|
2
2
|
<svg class="${e.prefix}--loading__svg" viewBox="0 0 100 100">
|
|
3
3
|
${i?n.x` <title>${i}</title> `:void 0}
|
|
4
4
|
<circle
|
|
@@ -1229,16 +1229,16 @@ class UserManager {
|
|
|
1229
1229
|
* @param {AbortSignal|undefined} signal
|
|
1230
1230
|
* @return {Promise}
|
|
1231
1231
|
*/
|
|
1232
|
-
async fetchJson(w, D = void 0) {
|
|
1233
|
-
const
|
|
1232
|
+
async fetchJson(w, D = void 0, O = void 0) {
|
|
1233
|
+
const F = new Request(w.toString()), q = genCatchClause(`fetchJson: ${w}`, O), W = basicGetInit(this.jwt, D);
|
|
1234
1234
|
await startSpin();
|
|
1235
|
-
let
|
|
1235
|
+
let Y = {};
|
|
1236
1236
|
try {
|
|
1237
|
-
|
|
1238
|
-
} catch (
|
|
1239
|
-
return
|
|
1237
|
+
Y = await (await fetch(F, W)).json();
|
|
1238
|
+
} catch (G) {
|
|
1239
|
+
return q(G);
|
|
1240
1240
|
}
|
|
1241
|
-
return await stopSpin(),
|
|
1241
|
+
return await stopSpin(), Y;
|
|
1242
1242
|
}
|
|
1243
1243
|
/**
|
|
1244
1244
|
* @param {string} uri
|
|
@@ -2202,15 +2202,15 @@ class Split extends Component {
|
|
|
2202
2202
|
}), [X, Z.getElement(), st, nt.getElement(), ot].forEach((it) => Q.appendChild(it));
|
|
2203
2203
|
let ct = 0;
|
|
2204
2204
|
const ht = (it, at, lt, ft) => {
|
|
2205
|
-
let
|
|
2206
|
-
const
|
|
2205
|
+
let ut;
|
|
2206
|
+
const dt = it === "NS" ? "height" : "width", gt = it === "NS" ? "deltaY" : "deltaX";
|
|
2207
2207
|
return (pt) => {
|
|
2208
2208
|
switch (pt.detail.value_) {
|
|
2209
2209
|
case UiEventType.COMP_DRAG_START:
|
|
2210
|
-
|
|
2210
|
+
ut = at.getBoundingClientRect()[dt], ct = st.getBoundingClientRect()[dt] + ut, this.nestMap_.get(lt).dragEl.classList.remove("collapsed");
|
|
2211
2211
|
break;
|
|
2212
2212
|
case UiEventType.COMP_DRAG_MOVE: {
|
|
2213
|
-
const mt = Math.min(ct,
|
|
2213
|
+
const mt = Math.min(ct, ut + ft * pt.detail.data_[gt]);
|
|
2214
2214
|
this.nestMap_.get(lt).lastSize = mt, at.style.flexBasis = mt + "px";
|
|
2215
2215
|
break;
|
|
2216
2216
|
}
|
|
@@ -2377,6 +2377,7 @@ const convertElToSplit = (U, w) => (U.classList.add("zoo_split", `zoo_split__${w
|
|
|
2377
2377
|
class View extends Evt {
|
|
2378
2378
|
#t = void 0;
|
|
2379
2379
|
#e = void 0;
|
|
2380
|
+
#s = {};
|
|
2380
2381
|
//--[ Static ]--
|
|
2381
2382
|
/**
|
|
2382
2383
|
* Returns the view event type code used for dispatching view events.
|
|
@@ -2404,6 +2405,12 @@ class View extends Evt {
|
|
|
2404
2405
|
get registerViewConstructor() {
|
|
2405
2406
|
return this.#t;
|
|
2406
2407
|
}
|
|
2408
|
+
set utils(w) {
|
|
2409
|
+
this.#s = w;
|
|
2410
|
+
}
|
|
2411
|
+
get utils() {
|
|
2412
|
+
return this.#s;
|
|
2413
|
+
}
|
|
2407
2414
|
set split(w) {
|
|
2408
2415
|
this.split_ = w, this.listen(this.split_, UiEventType.SPLIT, (D) => {
|
|
2409
2416
|
const O = D.detail.getValue(), F = D.detail.getData();
|
|
@@ -2665,142 +2672,6 @@ class View extends Evt {
|
|
|
2665
2672
|
return this.metaData_.has(w);
|
|
2666
2673
|
}
|
|
2667
2674
|
}
|
|
2668
|
-
class Conductor extends Evt {
|
|
2669
|
-
#t = /* @__PURE__ */ new Map();
|
|
2670
|
-
#e = null;
|
|
2671
|
-
/**
|
|
2672
|
-
* @type {!UserManager|undefined}
|
|
2673
|
-
* @private
|
|
2674
|
-
*/
|
|
2675
|
-
#s = void 0;
|
|
2676
|
-
#r = void 0;
|
|
2677
|
-
#n = /* @__PURE__ */ new Map();
|
|
2678
|
-
/**
|
|
2679
|
-
* Creates a new Conductor instance. Sets up browser history listening
|
|
2680
|
-
* and initializes view event handling.
|
|
2681
|
-
*/
|
|
2682
|
-
constructor() {
|
|
2683
|
-
super(), this.#n = this.#i(), window.addEventListener("popstate", (w) => {
|
|
2684
|
-
w.state !== null && this.navTo(w.state);
|
|
2685
|
-
}), this.doOnBeat(() => {
|
|
2686
|
-
document.dispatchEvent(new CustomEvent("zoo-tick-60", {
|
|
2687
|
-
detail: { timestamp: Date.now() }
|
|
2688
|
-
}));
|
|
2689
|
-
}, 6e4);
|
|
2690
|
-
}
|
|
2691
|
-
set split(w) {
|
|
2692
|
-
this.#r = w;
|
|
2693
|
-
}
|
|
2694
|
-
get split() {
|
|
2695
|
-
if (!this.#r)
|
|
2696
|
-
throw new Error("No SPLIT component available");
|
|
2697
|
-
return this.#r;
|
|
2698
|
-
}
|
|
2699
|
-
/**
|
|
2700
|
-
* @param {!UserManager} user
|
|
2701
|
-
*/
|
|
2702
|
-
set user(w) {
|
|
2703
|
-
this.#s = w, this.#e && (this.#e.user = this.user);
|
|
2704
|
-
}
|
|
2705
|
-
/**
|
|
2706
|
-
* @return {!UserManager}
|
|
2707
|
-
*/
|
|
2708
|
-
get user() {
|
|
2709
|
-
return this.#s || (this.#s = new UserManager()), this.#s;
|
|
2710
|
-
}
|
|
2711
|
-
/**
|
|
2712
|
-
* Initializes the internal view event map with default event handlers.
|
|
2713
|
-
* Sets up handlers for common view events like 'switch_view'.
|
|
2714
|
-
* @return {!Map<string, !Function>} Map of event names to handler functions
|
|
2715
|
-
* @private
|
|
2716
|
-
*/
|
|
2717
|
-
#i() {
|
|
2718
|
-
return (/* @__PURE__ */ new Map()).set("switch_view", (w, D) => {
|
|
2719
|
-
if (this.#t.has(w.view)) {
|
|
2720
|
-
const O = this.#t.get(w.view)(
|
|
2721
|
-
w.pk || w.recordId,
|
|
2722
|
-
w
|
|
2723
|
-
);
|
|
2724
|
-
this.switchView(O);
|
|
2725
|
-
}
|
|
2726
|
-
});
|
|
2727
|
-
}
|
|
2728
|
-
/**
|
|
2729
|
-
* Maps a view event name to a handler function. Allows dynamic registration
|
|
2730
|
-
* of custom view event handlers at runtime.
|
|
2731
|
-
* @param {string} s The event name to map
|
|
2732
|
-
* @param {!Function} func The handler function that receives (eventData, eView)
|
|
2733
|
-
*/
|
|
2734
|
-
mapViewEv(w, D) {
|
|
2735
|
-
this.#n.set(w, D);
|
|
2736
|
-
}
|
|
2737
|
-
/**
|
|
2738
|
-
* Registers a view constructor function that can be used to create instances
|
|
2739
|
-
* of a specific view type.
|
|
2740
|
-
* @param {string} s The view type identifier
|
|
2741
|
-
* @param {!Function} f Constructor function that receives (pk, data) and returns a View
|
|
2742
|
-
*/
|
|
2743
|
-
registerViewConstructor(w, D) {
|
|
2744
|
-
this.#t.set(w, D);
|
|
2745
|
-
}
|
|
2746
|
-
/**
|
|
2747
|
-
* @param {!CustomEvent} e Event object.
|
|
2748
|
-
*/
|
|
2749
|
-
onViewEvent(w) {
|
|
2750
|
-
const D = w.detail.getValue(), O = w.detail.getData(), F = (
|
|
2751
|
-
/** @type {Panel} */
|
|
2752
|
-
w.target
|
|
2753
|
-
);
|
|
2754
|
-
this.#n.has(D) ? this.#n.get(D)(O, F) : console.warn("Unhandled VIEW Event:", w, D, O, F);
|
|
2755
|
-
}
|
|
2756
|
-
/**
|
|
2757
|
-
* Make the given view active.
|
|
2758
|
-
* @param {!View} view
|
|
2759
|
-
*/
|
|
2760
|
-
setActiveView(w) {
|
|
2761
|
-
this.#e && (this.stopListeningTo(this.#e), this.#e.dispose(), this.#e = null), this.#e = w, this.#e.render();
|
|
2762
|
-
}
|
|
2763
|
-
/**
|
|
2764
|
-
* @param {!View} view
|
|
2765
|
-
* @returns {!View}
|
|
2766
|
-
*/
|
|
2767
|
-
initView(w) {
|
|
2768
|
-
return w.user = this.user, w.split = this.split, w.recordHistory = this.recordHistory.bind(this), w.registerViewConstructor = this.registerViewConstructor.bind(this), this.listen(w, View.viewEventCode(), this.onViewEvent.bind(this)), w;
|
|
2769
|
-
}
|
|
2770
|
-
//--[ Views Utilities ]--
|
|
2771
|
-
/**
|
|
2772
|
-
* @param {!View} view The view we want active.
|
|
2773
|
-
*/
|
|
2774
|
-
switchView(w) {
|
|
2775
|
-
this.setActiveView(this.initView(w));
|
|
2776
|
-
}
|
|
2777
|
-
//--[ History and Navigation ]--
|
|
2778
|
-
/**
|
|
2779
|
-
* Records the given item in browser history. If item.init is true, replaces
|
|
2780
|
-
* the current history state. Otherwise, pushes a new history state unless
|
|
2781
|
-
* item.history is true.
|
|
2782
|
-
* @param {!Object} item The history item containing view state
|
|
2783
|
-
*/
|
|
2784
|
-
recordHistory(w) {
|
|
2785
|
-
this.debugMe("HISTORY", w), w.init ? history.replaceState(w, "", document.location.href) : w.history || history.pushState(w, "", null);
|
|
2786
|
-
}
|
|
2787
|
-
/**
|
|
2788
|
-
* Navigates to a specific view based on the history item. Attempts to use
|
|
2789
|
-
* the active view's switchViewMap first, falling back to registered view
|
|
2790
|
-
* constructors if needed.
|
|
2791
|
-
* @param {!Object} item History item containing {view, pk, ...} properties
|
|
2792
|
-
*/
|
|
2793
|
-
navTo = (w) => {
|
|
2794
|
-
w.history = !0;
|
|
2795
|
-
const D = w.view, O = this.#e;
|
|
2796
|
-
if (O.switchViewMap_.has(D))
|
|
2797
|
-
this.debugMe("NAV:VIEW:MAP", w), O.switchViewMap_.get(D)(w);
|
|
2798
|
-
else if (this.#t.has(D)) {
|
|
2799
|
-
const F = this.#t.get(D)(w.pk, w);
|
|
2800
|
-
this.debugMe("NAV:NEW:VIEW", w), this.switchView(F);
|
|
2801
|
-
}
|
|
2802
|
-
};
|
|
2803
|
-
}
|
|
2804
2675
|
function _isPlaceholder(U) {
|
|
2805
2676
|
return U != null && typeof U == "object" && U["@@functional/placeholder"] === !0;
|
|
2806
2677
|
}
|
|
@@ -3134,6 +3005,19 @@ var liftN = /* @__PURE__ */ _curry2(function U(w, D) {
|
|
|
3134
3005
|
}), has = /* @__PURE__ */ _curry2(function U(w, D) {
|
|
3135
3006
|
return hasPath([w], D);
|
|
3136
3007
|
});
|
|
3008
|
+
function _objectAssign(U) {
|
|
3009
|
+
if (U == null)
|
|
3010
|
+
throw new TypeError("Cannot convert undefined or null to object");
|
|
3011
|
+
for (var w = Object(U), D = 1, O = arguments.length; D < O; ) {
|
|
3012
|
+
var F = arguments[D];
|
|
3013
|
+
if (F != null)
|
|
3014
|
+
for (var q in F)
|
|
3015
|
+
_has(q, F) && (w[q] = F[q]);
|
|
3016
|
+
D += 1;
|
|
3017
|
+
}
|
|
3018
|
+
return w;
|
|
3019
|
+
}
|
|
3020
|
+
const _objectAssign$1 = typeof Object.assign == "function" ? Object.assign : _objectAssign;
|
|
3137
3021
|
function _path(U, w) {
|
|
3138
3022
|
for (var D = w, O = 0; O < U.length; O += 1) {
|
|
3139
3023
|
if (D == null)
|
|
@@ -3143,22 +3027,172 @@ function _path(U, w) {
|
|
|
3143
3027
|
}
|
|
3144
3028
|
return D;
|
|
3145
3029
|
}
|
|
3146
|
-
var
|
|
3030
|
+
var mergeRight = /* @__PURE__ */ _curry2(function U(w, D) {
|
|
3031
|
+
return _objectAssign$1({}, w, D);
|
|
3032
|
+
}), path = /* @__PURE__ */ _curry2(_path);
|
|
3033
|
+
class Conductor extends Evt {
|
|
3034
|
+
#t = /* @__PURE__ */ new Map();
|
|
3035
|
+
#e = null;
|
|
3036
|
+
/**
|
|
3037
|
+
* @type {!UserManager|undefined}
|
|
3038
|
+
* @private
|
|
3039
|
+
*/
|
|
3040
|
+
#s = void 0;
|
|
3041
|
+
#r = void 0;
|
|
3042
|
+
#n = /* @__PURE__ */ new Map();
|
|
3043
|
+
/**
|
|
3044
|
+
* This is a userspace map where consuming applications can register shared functions
|
|
3045
|
+
* that are available to all views and panels.
|
|
3046
|
+
* @type {{}}
|
|
3047
|
+
*/
|
|
3048
|
+
#i = {};
|
|
3049
|
+
/**
|
|
3050
|
+
* Creates a new Conductor instance. Sets up browser history listening
|
|
3051
|
+
* and initializes view event handling.
|
|
3052
|
+
*/
|
|
3053
|
+
constructor() {
|
|
3054
|
+
super(), this.#n = this.#o(), window.addEventListener("popstate", (w) => {
|
|
3055
|
+
w.state !== null && this.navTo(w.state);
|
|
3056
|
+
}), this.doOnBeat(() => {
|
|
3057
|
+
document.dispatchEvent(new CustomEvent("zoo-tick-60", {
|
|
3058
|
+
detail: { timestamp: Date.now() }
|
|
3059
|
+
}));
|
|
3060
|
+
}, 6e4);
|
|
3061
|
+
}
|
|
3062
|
+
set split(w) {
|
|
3063
|
+
this.#r = w;
|
|
3064
|
+
}
|
|
3065
|
+
get split() {
|
|
3066
|
+
if (!this.#r)
|
|
3067
|
+
throw new Error("No SPLIT component available");
|
|
3068
|
+
return this.#r;
|
|
3069
|
+
}
|
|
3070
|
+
/**
|
|
3071
|
+
* @param {!UserManager} user
|
|
3072
|
+
*/
|
|
3073
|
+
set user(w) {
|
|
3074
|
+
this.#s = w, this.#e && (this.#e.user = this.user);
|
|
3075
|
+
}
|
|
3076
|
+
/**
|
|
3077
|
+
* @return {!UserManager}
|
|
3078
|
+
*/
|
|
3079
|
+
get user() {
|
|
3080
|
+
return this.#s || (this.#s = new UserManager()), this.#s;
|
|
3081
|
+
}
|
|
3082
|
+
get utils() {
|
|
3083
|
+
return this.#i;
|
|
3084
|
+
}
|
|
3085
|
+
/**
|
|
3086
|
+
* Register utility functions that will be made available to all views.
|
|
3087
|
+
* @Example:
|
|
3088
|
+
* const myUtil = () => {console.log("hello")};
|
|
3089
|
+
* c.registerUtil({myUtil});
|
|
3090
|
+
*
|
|
3091
|
+
* // Elsewhere in the panel or view code:
|
|
3092
|
+
* view.utils.myUtil(); // Prints "hello"
|
|
3093
|
+
* @param obj
|
|
3094
|
+
*/
|
|
3095
|
+
registerUtil(w) {
|
|
3096
|
+
this.#i = mergeRight(this.#i, w);
|
|
3097
|
+
}
|
|
3098
|
+
/**
|
|
3099
|
+
* Initializes the internal view event map with default event handlers.
|
|
3100
|
+
* Sets up handlers for common view events like 'switch_view'.
|
|
3101
|
+
* @return {!Map<string, !Function>} Map of event names to handler functions
|
|
3102
|
+
* @private
|
|
3103
|
+
*/
|
|
3104
|
+
#o() {
|
|
3105
|
+
return (/* @__PURE__ */ new Map()).set("switch_view", (w, D) => {
|
|
3106
|
+
if (this.#t.has(w.view)) {
|
|
3107
|
+
const O = this.#t.get(w.view)(
|
|
3108
|
+
w.pk || w.recordId,
|
|
3109
|
+
w
|
|
3110
|
+
);
|
|
3111
|
+
this.switchView(O);
|
|
3112
|
+
}
|
|
3113
|
+
});
|
|
3114
|
+
}
|
|
3115
|
+
/**
|
|
3116
|
+
* Maps a view event name to a handler function. Allows dynamic registration
|
|
3117
|
+
* of custom view event handlers at runtime.
|
|
3118
|
+
* @param {string} s The event name to map
|
|
3119
|
+
* @param {!Function} func The handler function that receives (eventData, eView)
|
|
3120
|
+
*/
|
|
3121
|
+
mapViewEv(w, D) {
|
|
3122
|
+
this.#n.set(w, D);
|
|
3123
|
+
}
|
|
3124
|
+
/**
|
|
3125
|
+
* Registers a view constructor function that can be used to create instances
|
|
3126
|
+
* of a specific view type.
|
|
3127
|
+
* @param {string} s The view type identifier
|
|
3128
|
+
* @param {!Function} f Constructor function that receives (pk, data) and returns a View
|
|
3129
|
+
*/
|
|
3130
|
+
registerViewConstructor(w, D) {
|
|
3131
|
+
this.#t.set(w, D);
|
|
3132
|
+
}
|
|
3133
|
+
/**
|
|
3134
|
+
* @param {!CustomEvent} e Event object.
|
|
3135
|
+
*/
|
|
3136
|
+
onViewEvent(w) {
|
|
3137
|
+
const D = w.detail.getValue(), O = w.detail.getData(), F = (
|
|
3138
|
+
/** @type {Panel} */
|
|
3139
|
+
w.target
|
|
3140
|
+
);
|
|
3141
|
+
this.#n.has(D) ? this.#n.get(D)(O, F) : console.warn("Unhandled VIEW Event:", w, D, O, F);
|
|
3142
|
+
}
|
|
3143
|
+
/**
|
|
3144
|
+
* Make the given view active.
|
|
3145
|
+
* @param {!View} view
|
|
3146
|
+
*/
|
|
3147
|
+
setActiveView(w) {
|
|
3148
|
+
this.#e && (this.stopListeningTo(this.#e), this.#e.dispose(), this.#e = null), this.#e = w, this.#e.render();
|
|
3149
|
+
}
|
|
3150
|
+
/**
|
|
3151
|
+
* @param {!View} view
|
|
3152
|
+
* @returns {!View}
|
|
3153
|
+
*/
|
|
3154
|
+
initView(w) {
|
|
3155
|
+
return w.user = this.user, w.split = this.split, w.utils = this.utils, w.recordHistory = this.recordHistory.bind(this), w.registerViewConstructor = this.registerViewConstructor.bind(this), this.listen(w, View.viewEventCode(), this.onViewEvent.bind(this)), w;
|
|
3156
|
+
}
|
|
3157
|
+
//--[ Views Utilities ]--
|
|
3158
|
+
/**
|
|
3159
|
+
* @param {!View} view The view we want active.
|
|
3160
|
+
*/
|
|
3161
|
+
switchView(w) {
|
|
3162
|
+
this.setActiveView(this.initView(w));
|
|
3163
|
+
}
|
|
3164
|
+
//--[ History and Navigation ]--
|
|
3165
|
+
/**
|
|
3166
|
+
* Records the given item in browser history. If item.init is true, replaces
|
|
3167
|
+
* the current history state. Otherwise, pushes a new history state unless
|
|
3168
|
+
* item.history is true.
|
|
3169
|
+
* @param {!Object} item The history item containing view state
|
|
3170
|
+
*/
|
|
3171
|
+
recordHistory(w) {
|
|
3172
|
+
this.debugMe("HISTORY", w), w.init ? history.replaceState(w, "", document.location.href) : w.history || history.pushState(w, "", null);
|
|
3173
|
+
}
|
|
3174
|
+
/**
|
|
3175
|
+
* Navigates to a specific view based on the history item. Attempts to use
|
|
3176
|
+
* the active view's switchViewMap first, falling back to registered view
|
|
3177
|
+
* constructors if needed.
|
|
3178
|
+
* @param {!Object} item History item containing {view, pk, ...} properties
|
|
3179
|
+
*/
|
|
3180
|
+
navTo = (w) => {
|
|
3181
|
+
w.history = !0;
|
|
3182
|
+
const D = w.view, O = this.#e;
|
|
3183
|
+
if (O.switchViewMap_.has(D))
|
|
3184
|
+
this.debugMe("NAV:VIEW:MAP", w), O.switchViewMap_.get(D)(w);
|
|
3185
|
+
else if (this.#t.has(D)) {
|
|
3186
|
+
const F = this.#t.get(D)(w.pk, w);
|
|
3187
|
+
this.debugMe("NAV:NEW:VIEW", w), this.switchView(F);
|
|
3188
|
+
}
|
|
3189
|
+
};
|
|
3190
|
+
}
|
|
3147
3191
|
const DEFAULT_FORMATTERS = {
|
|
3148
3192
|
/**
|
|
3149
3193
|
* Format as JSON (useful for debugging)
|
|
3150
3194
|
*/
|
|
3151
3195
|
json: (U) => JSON.stringify(U, null, 2),
|
|
3152
|
-
/**
|
|
3153
|
-
* Format date as "DD MMM YY HH:mm:ss" (e.g., "10 Nov 25 11:27:49")
|
|
3154
|
-
* Accepts ISO date strings, timestamps, or Date objects.
|
|
3155
|
-
* Returns empty string for null/undefined values.
|
|
3156
|
-
*/
|
|
3157
|
-
date: (U) => {
|
|
3158
|
-
if (!U) return "";
|
|
3159
|
-
const w = U instanceof Date ? U : new Date(U);
|
|
3160
|
-
return isNaN(w.getTime()) ? (console.warn("[Binder] Invalid date value:", U), "") : dateToZooyStdTimeString(w);
|
|
3161
|
-
},
|
|
3162
3196
|
/**
|
|
3163
3197
|
* Template string interpolation formatter
|
|
3164
3198
|
* Evaluates a template string with access to 'value' and 'data'
|
|
@@ -3180,7 +3214,7 @@ const DEFAULT_FORMATTERS = {
|
|
|
3180
3214
|
* zoo-bind-tpl="$${(value / 100).toFixed(2)}">
|
|
3181
3215
|
*/
|
|
3182
3216
|
tpl: (U, w, D) => {
|
|
3183
|
-
const O = D?.getAttribute("zoo-bind-attr-tpl");
|
|
3217
|
+
const O = D?.getAttribute("zoo-bind-attr-tpl") || D?.getAttribute("zoo-bind-tpl");
|
|
3184
3218
|
if (!O) return U;
|
|
3185
3219
|
try {
|
|
3186
3220
|
return new Function("value", "data", `return \`${O}\`;`)(U, w);
|
|
@@ -4149,12 +4183,12 @@ const zoo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
|
|
|
4149
4183
|
getEventAttribute,
|
|
4150
4184
|
getSemanticAttributes
|
|
4151
4185
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
4152
|
-
async function registerCarbonLibrary() {
|
|
4153
|
-
const { registerCarbonLibrary:
|
|
4154
|
-
return U
|
|
4186
|
+
async function registerCarbonLibrary(U = {}) {
|
|
4187
|
+
const { registerCarbonLibrary: w } = await import("./register-CpwdnySd.js");
|
|
4188
|
+
return w(U);
|
|
4155
4189
|
}
|
|
4156
4190
|
async function registerMdcLibrary() {
|
|
4157
|
-
const { registerMdcLibrary: U } = await import("./register-
|
|
4191
|
+
const { registerMdcLibrary: U } = await import("./register-D3mJ58Cv.js");
|
|
4158
4192
|
return U();
|
|
4159
4193
|
}
|
|
4160
4194
|
const zooy = {
|