@trintel/zooy 1.0.1-beta.0 → 1.0.1-beta.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.
Files changed (233) hide show
  1. package/README.md +282 -337
  2. package/dist/chunks/{16-ChlL35BX.js → 16-BXti8Tu-.js} +6 -6
  3. package/dist/chunks/16-CMCRqVYz.js +1 -0
  4. package/dist/chunks/{20-CZPIOG-A.js → 20-CQLnFcRb.js} +9 -9
  5. package/dist/chunks/20-Df0dXwyx.js +1 -0
  6. package/dist/chunks/{button-DdJepOoE.js → button-CgQW6Alg.js} +8 -7
  7. package/dist/chunks/button-CnwdjMNF.js +66 -0
  8. package/dist/chunks/button-skeleton-BcyctpC3.js +21 -0
  9. package/dist/chunks/{button-skeleton-COf2kCDL.js → button-skeleton-DEmHtnd8.js} +10 -9
  10. package/dist/chunks/checkbox-Bt024Adv.js +40 -0
  11. package/dist/chunks/{checkbox-B5mHvx0J.js → checkbox-D2LeqAn8.js} +9 -8
  12. package/dist/chunks/{class-map-BfNAkUL_.js → class-map-Dt10N9TS.js} +2 -2
  13. package/dist/chunks/{class-map-DEHG4tmw.js → class-map-emHvptF6.js} +1 -1
  14. package/dist/chunks/{content-switcher-item-DeGjVRQY.js → content-switcher-item-D6gOZCuS.js} +10 -9
  15. package/dist/chunks/content-switcher-item-Dtv8UD1x.js +27 -0
  16. package/dist/chunks/{dropdown-item-DPdwOION.js → dropdown-item-BDRUe-IF.js} +12 -11
  17. package/dist/chunks/dropdown-item-DNLmqxnr.js +69 -0
  18. package/dist/chunks/{focus-B9JYe97T.js → focus-Cyj1QfBL.js} +1 -1
  19. package/dist/chunks/{focus-rQSNiwy7.js → focus-Dty12qxz.js} +1 -1
  20. package/dist/chunks/{icon-loader-Dk_AU26w.js → icon-loader-C2EqV5wJ.js} +1 -1
  21. package/dist/chunks/{icon-loader-o_JYDmJX.js → icon-loader-DS-X84Yz.js} +1 -1
  22. package/dist/chunks/icon-loader-utils-B6kq3DHp.js +5 -0
  23. package/dist/chunks/{icon-loader-utils-BEOGXn0q.js → icon-loader-utils-BIiU-zGK.js} +23 -23
  24. package/dist/chunks/{if-defined-C0yJsxi2.js → if-defined--xXVpdta.js} +1 -1
  25. package/dist/chunks/if-defined-CFTJFEK6.js +5 -0
  26. package/dist/chunks/{if-non-empty-DTGflHtA.js → if-non-empty-0zvrDGPr.js} +1 -1
  27. package/dist/chunks/if-non-empty-BIwvmklX.js +1 -0
  28. package/dist/chunks/{index-C_K070Kn.js → index-1G2UuijG.js} +7 -6
  29. package/dist/chunks/index-21j_5emj.js +35 -0
  30. package/dist/chunks/{index-Dh4uigJs.js → index-82K_ozYZ.js} +10 -9
  31. package/dist/chunks/index-B1YLd9rD.js +23 -0
  32. package/dist/chunks/{index-BIaF1Dfx.js → index-B3EmHaO7.js} +5 -4
  33. package/dist/chunks/{index-Cixdzvwd.js → index-B4JPT-gj.js} +8 -7
  34. package/dist/chunks/index-B5-56fkV.js +62 -0
  35. package/dist/chunks/index-B612bWya.js +58 -0
  36. package/dist/chunks/index-B8nOkbPA.js +77 -0
  37. package/dist/chunks/index-BAEdnwkZ.js +25 -0
  38. package/dist/chunks/{index-DnpSGM23.js → index-BAMMtRO9.js} +8 -7
  39. package/dist/chunks/{index-Cd7aoWrX.js → index-BC-p6lrw.js} +7 -6
  40. package/dist/chunks/index-BEOc7JG-.js +16 -0
  41. package/dist/chunks/{index-DdNZTQw1.js → index-BG3BMHhy.js} +3 -2
  42. package/dist/chunks/{index-BxVW3p3I.js → index-BHWaezgU.js} +7 -6
  43. package/dist/chunks/{index-CT43RMOu.js → index-BJHILyIN.js} +3 -2
  44. package/dist/chunks/{index-CByffhPq.js → index-BKsBoGOO.js} +6 -5
  45. package/dist/chunks/index-BNjgzCq_.js +1 -0
  46. package/dist/chunks/{index-C8LyfVmf.js → index-BQNhvN2i.js} +6 -5
  47. package/dist/chunks/index-BTND2b3S.js +19 -0
  48. package/dist/chunks/{index-BJKftWYn.js → index-BZmOT6Xm.js} +16 -16
  49. package/dist/chunks/{index-CcgnA1uu.js → index-B_C9vt_w.js} +4 -3
  50. package/dist/chunks/{index-CgYZ66P_.js → index-B_JMGygD.js} +6 -5
  51. package/dist/chunks/index-Bd60xpxv.js +1 -0
  52. package/dist/chunks/index-BhJiw5Wx.js +1 -0
  53. package/dist/chunks/index-Bl6sE0-K.js +1 -0
  54. package/dist/chunks/{index-Dr_cqQ-_.js → index-BmvLxuoI.js} +16 -77
  55. package/dist/chunks/index-BwMEAhRr.js +2 -0
  56. package/dist/chunks/{index-caLn8cu1.js → index-BwOJ4JFm.js} +12 -11
  57. package/dist/chunks/index-BzmpjZ1o.js +26 -0
  58. package/dist/chunks/{index-x6SeA7x7.js → index-C06cFvgb.js} +7 -6
  59. package/dist/chunks/{index-BXczHDk-.js → index-C3LD0iwa.js} +6 -5
  60. package/dist/chunks/index-C4JzGVcF.js +49 -0
  61. package/dist/chunks/{index-DX6WAtmo.js → index-C5nYdcCH.js} +7 -6
  62. package/dist/chunks/index-C6SudlSp.js +4 -0
  63. package/dist/chunks/index-C6WHuZdF.js +79 -0
  64. package/dist/chunks/{index-DIR0jr3f.js → index-C8YWVLB0.js} +6 -5
  65. package/dist/chunks/{index-B1vQ44Hl.js → index-C8miW4lw.js} +9 -8
  66. package/dist/chunks/index-CArtDXbg.js +22 -0
  67. package/dist/chunks/{index-DwTj7cFr.js → index-CDNshf0_.js} +32 -32
  68. package/dist/chunks/{index-BgbqX0uv.js → index-CFYfFa1Z.js} +9 -8
  69. package/dist/chunks/index-CJZtiqY-.js +22 -0
  70. package/dist/chunks/{index-BUxB7aWd.js → index-CKBFfWOV.js} +9 -8
  71. package/dist/chunks/index-CMD0FIe-.js +41 -0
  72. package/dist/chunks/{index-BOTu9u-3.js → index-COcNpxlj.js} +12 -11
  73. package/dist/chunks/{index-WvrCPen2.js → index-CUTw26ex.js} +6 -5
  74. package/dist/chunks/{index-D5kiHJpX.js → index-CUd_43Fv.js} +5 -4
  75. package/dist/chunks/{index-D5GGFPcS.js → index-CXgbBzE5.js} +7 -6
  76. package/dist/chunks/index-CYg05Ph9.js +36 -0
  77. package/dist/chunks/{index-BSgHSOVT.js → index-CYpHcMws.js} +4 -3
  78. package/dist/chunks/{index-DFA4_spk.js → index-CZ2kGMvF.js} +9 -8
  79. package/dist/chunks/index-CZwmnbDv.js +1 -0
  80. package/dist/chunks/index-C_S3O2rJ.js +79 -0
  81. package/dist/chunks/{index-rwBsdvh6.js → index-C_Xg4nHN.js} +7 -6
  82. package/dist/chunks/index-CbuopDOc.js +1 -0
  83. package/dist/chunks/{index-qNmuI3RB.js → index-CcxiTkam.js} +33 -32
  84. package/dist/chunks/index-Ce9jg1n7.js +15 -0
  85. package/dist/chunks/index-CfLbYyk0.js +3 -0
  86. package/dist/chunks/{index-WNXgzThF.js → index-Ci2M9li9.js} +9 -8
  87. package/dist/chunks/index-CkMd-UJg.js +52 -0
  88. package/dist/chunks/index-Cl1_9l1N.js +4 -0
  89. package/dist/chunks/index-Clei4V9i.js +4 -0
  90. package/dist/chunks/index-CmA3uuMd.js +37 -0
  91. package/dist/chunks/index-Co5m8M3y.js +12 -0
  92. package/dist/chunks/{index-DnierBep.js → index-CoPuejcu.js} +12 -11
  93. package/dist/chunks/{index-B3CDjjXh.js → index-Cq6Vdh__.js} +10 -9
  94. package/dist/chunks/index-Cwe1NunF.js +46 -0
  95. package/dist/chunks/index-D1OTs_P5.js +1 -0
  96. package/dist/chunks/{index-CzTjJ8lP.js → index-D1PpRn2p.js} +20 -19
  97. package/dist/chunks/{index-UPr2EvBX.js → index-D3ldTviC.js} +5 -4
  98. package/dist/chunks/{index-oTjafsfN.js → index-DBvXH68A.js} +2 -1
  99. package/dist/chunks/index-DC7qmnoW.js +74 -0
  100. package/dist/chunks/index-DDRkmmQp.js +156 -0
  101. package/dist/chunks/{index-B3mXrMt1.js → index-DEcgB0oH.js} +4 -3
  102. package/dist/chunks/index-DH9eR0DH.js +32 -0
  103. package/dist/chunks/{index-CMF5Cawn.js → index-DLUPGsWM.js} +6 -5
  104. package/dist/chunks/{index-hLI0Bnyb.js → index-DQZqjZ8k.js} +6 -5
  105. package/dist/chunks/{index-D0xRAPD5.js → index-DXoeeipa.js} +6 -5
  106. package/dist/chunks/{index-CIzeMGQv.js → index-D_pgjOiX.js} +26 -26
  107. package/dist/chunks/{index-Bwix1iwB.js → index-Df3VILTD.js} +6 -5
  108. package/dist/chunks/{index-45EApaFs.js → index-DkUS58Ay.js} +8 -7
  109. package/dist/chunks/{index-CO-A2KY9.js → index-DktSeVhc.js} +9 -8
  110. package/dist/chunks/index-Dl6HFhg1.js +36 -0
  111. package/dist/chunks/{index-BwIoRMDI.js → index-DocEKbBo.js} +7 -6
  112. package/dist/chunks/index-Dqe5xXlT.js +160 -0
  113. package/dist/chunks/{index-Cv1hWa_y.js → index-DuGskRLI.js} +7 -6
  114. package/dist/chunks/index-DyoG-yF-.js +75 -0
  115. package/dist/chunks/index-E_bjKqnf.js +15 -0
  116. package/dist/chunks/{index-DaPfSuLu.js → index-GRYR4d36.js} +8 -7
  117. package/dist/chunks/index-H-w5fBQG.js +65 -0
  118. package/dist/chunks/{index-CBbsFlsv.js → index-HvLIPR2y.js} +7 -6
  119. package/dist/chunks/{index-DurPWBYc.js → index-LR7m5odx.js} +3 -2
  120. package/dist/chunks/index-OhwD9m-A.js +12 -0
  121. package/dist/chunks/index-RlFlo7pl.js +1 -0
  122. package/dist/chunks/{index-BSh7UYcP.js → index-TCPPpE9b.js} +3 -3
  123. package/dist/chunks/index-XTPnXw_W.js +45 -0
  124. package/dist/chunks/{index-BjQlt8g2.js → index-ZyhwV5v-.js} +9 -8
  125. package/dist/chunks/index-cFX6zBu4.js +19 -0
  126. package/dist/chunks/index-cMdyiXPa.js +1 -0
  127. package/dist/chunks/index-fghrBFfu.js +103 -0
  128. package/dist/chunks/index-h66Bp4Cx.js +8 -0
  129. package/dist/chunks/{index-BoNLj7PW.js → index-wTRaGtNG.js} +3 -2
  130. package/dist/chunks/index-wigDmvr8.js +121 -0
  131. package/dist/chunks/{index-DWfFgEXE.js → index-y_a1ZQAA.js} +9 -8
  132. package/dist/chunks/{loading-icon-DhJR6LyV.js → loading-icon-Bw73Z2Lq.js} +2 -2
  133. package/dist/chunks/loading-icon-D7mJr3sa.js +24 -0
  134. package/dist/chunks/main-A63e59aD.js +67 -0
  135. package/dist/chunks/main-DTOZMPON.js +3681 -0
  136. package/dist/chunks/property-C5teVlku.js +5 -0
  137. package/dist/chunks/{property-pT1z5CCa.js → property-Coy6Dag6.js} +1 -1
  138. package/dist/chunks/register-B533U9U9.js +1 -0
  139. package/dist/chunks/{register-BMNs2hNG.js → register-BO2Fr57T.js} +1 -1
  140. package/dist/chunks/{register-BK21_Wkj.js → register-CHuMnx--.js} +1 -1
  141. package/dist/chunks/register-ClkXTZwT.js +1383 -0
  142. package/dist/chunks/{search-CIhxkVjj.js → search-CsRC23Cp.js} +10 -9
  143. package/dist/chunks/search-DsyFfaxl.js +30 -0
  144. package/dist/chunks/select-BoaR85ix.js +76 -0
  145. package/dist/chunks/{select-item-DjoxYopL.js → select-CKe8zwIo.js} +33 -32
  146. package/dist/chunks/settings-Dy9UPb4i.js +64 -0
  147. package/dist/chunks/settings-NO9fjW0P.js +60 -0
  148. package/dist/chunks/{state-FnSmMH94.js → state-BFc9dfyj.js} +1 -1
  149. package/dist/chunks/{state-Bpmgn27B.js → state-C2XTwLOv.js} +1 -1
  150. package/dist/chunks/text-input-BuK8MjZG.js +68 -0
  151. package/dist/chunks/{text-input-BygzMjjc.js → text-input-D2BsjPTx.js} +8 -7
  152. package/dist/chunks/tooltip-content-B6aAm7Zu.js +3 -0
  153. package/dist/chunks/{tooltip-content-BjdZJ_Ui.js → tooltip-content-DXrPA6JW.js} +4 -3
  154. package/dist/chunks/{unsafe-html-D49sIpJ5.js → unsafe-html-9YCxB3h1.js} +5 -5
  155. package/dist/chunks/{unsafe-html-C_MKAcuC.js → unsafe-html-H7RRvoR7.js} +1 -1
  156. package/dist/zooy.cjs.js +1 -1
  157. package/dist/zooy.es.js +20 -2
  158. package/package.json +2 -3
  159. package/src/sass/{carbon-icons.scss → carbon.scss} +30 -0
  160. package/src/sass/main.scss +1 -1
  161. package/src/sass/panels.scss +23 -0
  162. package/src/sass/split.scss +14 -0
  163. package/dist/chunks/16-41wFkj7S.js +0 -1
  164. package/dist/chunks/20-gmyNFvDv.js +0 -1
  165. package/dist/chunks/button-skeleton-rf3WDPTZ.js +0 -21
  166. package/dist/chunks/button-zHEPxpXa.js +0 -66
  167. package/dist/chunks/checkbox-BRPCg-DN.js +0 -40
  168. package/dist/chunks/content-switcher-item-DucclV1b.js +0 -27
  169. package/dist/chunks/dropdown-item-BgLQ1VLo.js +0 -69
  170. package/dist/chunks/icon-loader-utils-BBjK16O-.js +0 -5
  171. package/dist/chunks/if-defined-BdZRLDJ6.js +0 -5
  172. package/dist/chunks/if-non-empty-CEHK-hqx.js +0 -1
  173. package/dist/chunks/index-16wphaSo.js +0 -4
  174. package/dist/chunks/index-27oFQaOS.js +0 -37
  175. package/dist/chunks/index-5jmZyISW.js +0 -1
  176. package/dist/chunks/index-B7mGUQhz.js +0 -79
  177. package/dist/chunks/index-BBNaYDog.js +0 -22
  178. package/dist/chunks/index-BBt9OmO5.js +0 -12
  179. package/dist/chunks/index-BJAuRs3y.js +0 -75
  180. package/dist/chunks/index-BLjNrhkN.js +0 -4
  181. package/dist/chunks/index-BPVpH8ll.js +0 -160
  182. package/dist/chunks/index-BRuvyoCz.js +0 -15
  183. package/dist/chunks/index-BXIxcS00.js +0 -22
  184. package/dist/chunks/index-BaVyBv2V.js +0 -25
  185. package/dist/chunks/index-ByKyGGzb.js +0 -3
  186. package/dist/chunks/index-ByTSSU1x.js +0 -1
  187. package/dist/chunks/index-CIbRjtWm.js +0 -32
  188. package/dist/chunks/index-CLGxSjLW.js +0 -62
  189. package/dist/chunks/index-CONgwvp0.js +0 -12
  190. package/dist/chunks/index-CUgiXqyk.js +0 -4
  191. package/dist/chunks/index-C_ttE2g9.js +0 -16
  192. package/dist/chunks/index-Ce-pMzBC.js +0 -19
  193. package/dist/chunks/index-ChcHMeAS.js +0 -35
  194. package/dist/chunks/index-Clq0Fl19.js +0 -15
  195. package/dist/chunks/index-CtxTJnIm.js +0 -58
  196. package/dist/chunks/index-D25buhRm.js +0 -79
  197. package/dist/chunks/index-D4DqJG5_.js +0 -16
  198. package/dist/chunks/index-DEjRiv5B.js +0 -1
  199. package/dist/chunks/index-DFZsXFsx.js +0 -19
  200. package/dist/chunks/index-DGauWNwV.js +0 -156
  201. package/dist/chunks/index-DNeagy5a.js +0 -65
  202. package/dist/chunks/index-DO0fmDR9.js +0 -2
  203. package/dist/chunks/index-DSitHBEh.js +0 -36
  204. package/dist/chunks/index-DW7ST0tB.js +0 -1
  205. package/dist/chunks/index-DbKlVm7y.js +0 -74
  206. package/dist/chunks/index-Dgi-m1K-.js +0 -1
  207. package/dist/chunks/index-DnYNK1mz.js +0 -8
  208. package/dist/chunks/index-DntY4deR.js +0 -41
  209. package/dist/chunks/index-Dp4A8k6C.js +0 -103
  210. package/dist/chunks/index-Dphpk5r2.js +0 -1
  211. package/dist/chunks/index-DrBrgF-v.js +0 -49
  212. package/dist/chunks/index-Dt-nBtrQ.js +0 -26
  213. package/dist/chunks/index-DyZVAYLv.js +0 -52
  214. package/dist/chunks/index-Hh597Yu6.js +0 -121
  215. package/dist/chunks/index-LxkAuMAA.js +0 -1
  216. package/dist/chunks/index-OaQhvPR1.js +0 -46
  217. package/dist/chunks/index-cTXIVcWI.js +0 -45
  218. package/dist/chunks/index-jBse-XgU.js +0 -35
  219. package/dist/chunks/index-qiqzy9MI.js +0 -23
  220. package/dist/chunks/index-siqJUhKa.js +0 -1
  221. package/dist/chunks/index-w-G9CFId.js +0 -1
  222. package/dist/chunks/loading-icon-DJQIjg97.js +0 -23
  223. package/dist/chunks/main-DUusfqrI.js +0 -18
  224. package/dist/chunks/main-Dp7wHHgP.js +0 -2882
  225. package/dist/chunks/property-DCYiZTFF.js +0 -5
  226. package/dist/chunks/register-Cc9zkA5F.js +0 -1
  227. package/dist/chunks/register-JwwMwdRf.js +0 -1273
  228. package/dist/chunks/search-C3raqgOD.js +0 -30
  229. package/dist/chunks/select-item-4aISXm0r.js +0 -76
  230. package/dist/chunks/settings-BPOpwVkr.js +0 -594
  231. package/dist/chunks/settings-CK2vhfPu.js +0 -78
  232. package/dist/chunks/text-input-cjcnMXO-.js +0 -68
  233. package/dist/chunks/tooltip-content-DHyDYyOH.js +0 -3
@@ -1,6 +1,6 @@
1
- "use strict";const e=require("./settings-CK2vhfPu.js");var s=({description:i,small:c})=>{const r=c?"42":"44";return e.x`
1
+ "use strict";const n=require("./main-A63e59aD.js"),e=require("./settings-NO9fjW0P.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
- ${i?e.x` <title>${i}</title> `:void 0}
3
+ ${i?n.x` <title>${i}</title> `:void 0}
4
4
  <circle
5
5
  ?hidden="${!c}"
6
6
  class="${e.prefix}--loading__background"
@@ -0,0 +1,24 @@
1
+ import { x as e } from "./main-DTOZMPON.js";
2
+ import { p as r } from "./settings-Dy9UPb4i.js";
3
+ var g = ({ description: c, small: i }) => {
4
+ const o = i ? "42" : "44";
5
+ return e`
6
+ <svg class="${r}--loading__svg" viewBox="0 0 100 100">
7
+ ${c ? e` <title>${c}</title> ` : void 0}
8
+ <circle
9
+ ?hidden="${!i}"
10
+ class="${r}--loading__background"
11
+ cx="50%"
12
+ cy="50%"
13
+ r="${o}" />
14
+ <circle
15
+ class="${r}--loading__stroke"
16
+ cx="50%"
17
+ cy="50%"
18
+ r="${o}" />
19
+ </svg>
20
+ `;
21
+ };
22
+ export {
23
+ g
24
+ };
@@ -0,0 +1,67 @@
1
+ "use strict";const numericString="0123456789".split("");[...numericString];const alphaLower="abcdefghijklmnopqrstuvwxyz".split(""),alphaUpper="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");[...alphaLower,...alphaUpper,...numericString];new Map().set("true",!0).set("false",!1);const compose=(...O)=>(...D)=>O.reduce((w,U)=>F=>w(U(F)))(...D),identity=O=>O,whatType=O=>typeof O,isDef=O=>O!==void 0,isUndefined=O=>O===void 0,isDefAndNotNull=O=>O!=null,isString=O=>whatType(O)==="string",isNumber=O=>whatType(O)==="number"&&!Number.isNaN(O),isArray=O=>O instanceof Array,reverse=O=>Array.from(O).reduce((D,w)=>[w,...D],[]),toLowerCase=O=>O.toLowerCase(),toString=O=>O+"",toNumber=O=>+O;compose(toLowerCase,toString);const makeRandomString=()=>{let O=2147483648;return Math.floor(Math.random()*O).toString(36)+Math.abs(Math.floor(Math.random()*O)^Date.now()).toString(36)},stripLeadingChar=O=>D=>D.startsWith(O)?D.slice(O.length):D,join=O=>D=>D.join(O);compose(join(""),reverse);const pathOr=(O,D)=>w=>{const U=D.reduce((F,q)=>{try{return F[maybeNumber(q)]}catch{return}},w);return U===void 0?O:U},randomId=O=>{const D=makeRandomString();return O?D.substr(0,O):D},maybeNumber=O=>{if(O===null||whatType(O)==="string"&&O.length>1&&O.startsWith("0")&&!O.startsWith("0."))return O;const D=1*O;return D>Number.MAX_SAFE_INTEGER||Number.isNaN(D)?O:D};compose(toNumber,join(""),reverse,toString);class EVT extends EventTarget{#e=!1;#t=!1;#s=new Map;#r=new Set;#n=new Set;static makeEvent(D,w){return new CustomEvent(D,{detail:w})}set debugMode(D){if(typeof D!="boolean")throw new Error("This must be a boolean");this.#e=D}get debugMode(){return this.#e}get disposed(){return this.#t}get listeningTo(){return this.#s}get isObservedBy(){return this.#r}get activeIntervals(){return this.#n}debugMe(...D){this.#e&&console.log.apply(null,[this.constructor.name,"DEBUG:",...D])}isListenedToBy(D){this.#r.add(D)}listen(D,w,U,F=!1){D.addEventListener(w,U,F);const q=this.listeningTo.get(D)||{};q[w]=()=>D.removeEventListener(w,U,F),this.listeningTo.set(D,q),isDef(D.isListenedToBy)&&D.isListenedToBy(this)}stopBeingListenedTo(){for(const D of this.isObservedBy)D.stopListeningTo(this),this.isObservedBy.delete(D)}stopListeningTo(D,w){D&&this.listeningTo.has(D)&&(isDef(D.isObservedBy)&&D.isObservedBy.delete(this),isDef(w)?(Object.entries(this.listeningTo.get(D)).forEach(([U,F])=>{U===w&&F()}),Object.keys(this.listeningTo.get(D)).length||this.listeningTo.delete(D)):(Object.values(this.listeningTo.get(D)).forEach(U=>U()),this.listeningTo.delete(D)))}removeAllListener(){for(const D of this.listeningTo.keys())this.stopListeningTo(D)}clearAllIntervals(){for(const D of this.activeIntervals)clearInterval(D),this.activeIntervals.delete(D)}doOnBeat(D,w){const U=setInterval(D,w);this.activeIntervals.add(U)}disposeInternal(){this.stopBeingListenedTo(),this.removeAllListener(),this.clearAllIntervals(),this.#t=!0}dispose(){this.disposeInternal()}}class ZooyEventData{constructor(D,w){this.value_=D,this.data_=w||{}}getValue(){return this.value_}getData(){return this.data_}}const UiEventType={COMP:randomId(),COMP_DRAG_START:randomId(),COMP_DRAG_MOVE:randomId(),COMP_DRAG_END:randomId(),PANEL:randomId(),VIEW:randomId(),SPLIT:randomId(),SPLIT_WILL_OPEN:randomId(),SPLIT_DID_OPEN:randomId(),SPLIT_WILL_CLOSE:randomId(),SPLIT_DID_CLOSE:randomId(),SPLIT_TRANSITION_END:randomId(),READY:randomId(),PANEL_MINIMIZE:randomId(),FORM_SUBMIT_SUCCESS:randomId()};var EN_US=["second","minute","hour","day","week","month","year"];function en_US(O,D){if(D===0)return["just now","right now"];var w=EN_US[Math.floor(D/2)];return O>1&&(w+="s"),[O+" "+w+" ago","in "+O+" "+w]}var ZH_CN=["秒","分钟","小时","天","周","个月","年"];function zh_CN(O,D){if(D===0)return["刚刚","片刻后"];var w=ZH_CN[~~(D/2)];return[O+" "+w+"前",O+" "+w+"后"]}var Locales={},register=function(O,D){Locales[O]=D},getLocale=function(O){return Locales[O]||Locales.en_US},SEC_ARRAY=[60,60,24,7,365/7/12,12];function toDate(O){return O instanceof Date?O:!isNaN(O)||/^\d+$/.test(O)?new Date(parseInt(O)):(O=(O||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(O))}function formatDiff(O,D){var w=O<0?1:0;O=Math.abs(O);for(var U=O,F=0;O>=SEC_ARRAY[F]&&F<SEC_ARRAY.length;F++)O/=SEC_ARRAY[F];return O=Math.floor(O),F*=2,O>(F===0?9:1)&&(F+=1),D(O,F,U)[w].replace("%s",O.toString())}function diffSec(O,D){var w=new Date;return(+w-+toDate(O))/1e3}var format=function(O,D,w){var U=diffSec(O);return formatDiff(U,getLocale(D))};register("en_US",en_US);register("zh_CN",zh_CN);const getInputChecked_=function(O){return O.checked?O.value:null},getSelectSingle_=function(O){const D=O.selectedIndex;return D>=0?O.options[D].value:null},getSelectMultiple_=function(O){const D=[];for(let w,U=0;w=O.options[U];U++)w.selected&&D.push(w.value);return D.length?D:null},getValue=function(O){const D=O.type;switch(isString(D)&&D.toLowerCase()){case"checkbox":case"radio":return getInputChecked_(O);case"select-one":return getSelectSingle_(O);case"select-multiple":return getSelectMultiple_(O);default:return O.value!==null&&O.value!==void 0?O.value:null}},formToJSON=O=>[...O].reduce((D,w)=>(D[w.name]=w.value,D),{}),replaceNode=(O,D)=>{const w=D.parentNode;w&&w.replaceChild(O,D)},removeNode=O=>O&&O.parentNode?O.parentNode.removeChild(O):null,insertSiblingAfter=(O,D)=>{D.parentNode&&D.parentNode.insertBefore(O,D.nextSibling)},isInPage=O=>O===document.body?!1:document.body.contains(O),getPos=O=>[O.offsetLeft,O.offsetTop],randomColour=O=>[1,2,3].map(()=>Math.floor(Math.random()*256)+1).reduce((D,w)=>`${D}${w},`,"rgba(")+`${O||.5}`,totalWidth=O=>{const D=window.getComputedStyle(O),w=O.offsetWidth,U=parseFloat(D.marginLeft)+parseFloat(D.marginRight),F=parseFloat(D.paddingLeft)+parseFloat(D.paddingRight),q=parseFloat(D.borderLeftWidth)+parseFloat(D.borderRightWidth);return w+U-F+q},totalHeight=O=>{const D=window.getComputedStyle(O),w=O.offsetHeight,U=parseFloat(D.marginTop)+parseFloat(D.marginBottom),F=parseFloat(D.paddingTop)+parseFloat(D.paddingBottom),q=parseFloat(D.borderTopWidth)+parseFloat(D.borderBottomWidth);return w+U-F+q},evalScripts=comp=>arr=>{arr&&Array.from(arr).forEach(s=>{(function(){eval(s.text)}).bind(comp)()})},evalModules=O=>D=>{D&&Array.from(D).forEach(w=>{(function(){const U=document.createElement("script");U.type="module",U.textContent=w.textContent;const F=O.getElement(),q=getElDataMap(w).zv_comp_access;q&&(F.zvComponent=O,F.classList.add(q)),F.appendChild(U)}).bind(O)()})},splitScripts=O=>{const w=new DOMParser().parseFromString(O,"text/html");return{html:w.body.firstElementChild,scripts:w.querySelectorAll('script:not([type="module"])'),modules:w.querySelectorAll('script[type="module"]')}},handleTemplateProm=O=>Promise.resolve(splitScripts(O)),enableClass=(O,D,w)=>{w?O.classList.add(D):O.classList.remove(D)},toggleClass=(O,D)=>{const w=!Array.from(O.classList).includes(D);return enableClass(O,D,w),w},getElDataMap=O=>O?Object.assign({},O.dataset||{}):{},dtFormatter={year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},dFormatter={year:"numeric",month:"short",day:"numeric"},dtf=new Intl.DateTimeFormat("en",{day:"2-digit",month:"short",year:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),dateToZooyStdTimeString=O=>{const[{value:D},,{value:w},,{value:U},,{value:F},,{value:q},,{value:W},,]=dtf.formatToParts(O);return`${w} ${D} ${U} ${F}:${q}:${W}`},parseMomentAgo=(O,D="both",w=void 0)=>{let U=O;isNumber(U)&&U<9466848e5?U=U*1e3:w&&(U=U+w);const F=new Date(U),q=format(F),W=dateToZooyStdTimeString(F);switch(D){case"time|ago":return`${W}|${q}`;case"ago":return`${q}`;case"datetime":case"time":return`${W}`;case"both":case"ago (time)":default:return`${q} (${W})`}},parseObfuscated=O=>{const w=(F=>q=>q<F.length-4)(O);return(F=>F.split("").map((q,W)=>w(W)?"*":q).join(""))(O)},parseMap=new Map().set(void 0,(O,D,w)=>identity(O)).set("",(O,D,w)=>identity(O)).set("class_update_only",(O,D,w)=>identity(O)).set("frac_100",(O,D,w)=>Math.round(O*100*100)/100).set("date_and_time",(O,D,w)=>new Date(O).toLocaleString(void 0,dtFormatter)).set("date",(O,D,w)=>new Date(O).toLocaleString(void 0,dFormatter)).set("moment_ago",(O,D,w)=>parseMomentAgo(O,"both",w.zdd_date_tz||void 0)).set("moment_ago_only",(O,D,w)=>parseMomentAgo(O,"ago",w.zdd_date_tz||void 0)).set("moment_ago_datetime",(O,D,w)=>parseMomentAgo(O,"datetime",w.zdd_date_tz||void 0)).set("pretty-json",(O,D,w)=>JSON.stringify(O,null,4)).set("obfuscated",(O,D,w)=>parseObfuscated(O)).set("linear-progress",(O,D,w)=>{const U=toNumber(w.zpmax),F=D.linProg;return U&&F&&(F.progress=O/U,O=void 0),O}),parseDataPropKvDef=O=>O.trim().split(",").map(U=>U.trim()).map(U=>{const[F,q]=U.split(":").map(W=>W.trim());return[F,q]}).filter(([U,F])=>U!==""&&F!==""),parseDataProps=(O,D)=>{const w=getElDataMap(O);delete O.dataset.zoodatapropkv;const U=w.zoodatapropkv||"";return parseDataPropKvDef(U).forEach(([q,W])=>{O.dataset[q]=pathOr(void 0,W.split("."))(D)}),O},mapDataToEls=(O,D,w=new Map,U=void 0)=>{if(!D)return;const F=new Map([...parseMap,...w]);[...O.querySelectorAll("[data-zdd],[data-zdd_class_update],[data-zdd_template_loop_index]")].forEach(q=>{const W=getElDataMap(q),X=W.zdd||"",G=W.zdd_parse_as,K=W.zdd_render_effect||"",Q=W.zdd_class_update,ee=W.zdd_template_loop_index,J=W.zdd_units||"";let Y=pathOr(void 0,X.split("."))(D);if(isDefAndNotNull(Y)&&(Y=F.has(G)?F.get(G)(Y,q,W):Y),ee&&isNumber(U)&&(console.log("loopIndex: ",ee," opt_loopIndex: ",U),ee==="zero_indexed"?q.innerHTML=U:ee==="one_indexed"?q.innerHTML=U+1:q.innerHTML=U),Q){const[Z,te,se]=Q.split(":"),re=pathOr(void 0,Z.split("."))(D);if(isDefAndNotNull(re))switch(te){case"swap":{const ne=/\{}/gi,oe=se.replace(ne,""),le=se.replace(ne,re);q.classList.remove(...[...q.classList].filter(he=>he.includes(oe))),q.classList.add(le);break}case"remove_on_data":q.classList.remove(se);break;case"choice_map":se.split("|").filter(ne=>ne!=="").forEach(ne=>{const[oe,le]=ne.split(">");oe===re+""?q.classList.add.apply(q.classList,le.split(".")):q.classList.remove.apply(q.classList,le.split("."))});break}}if(G==="templated-array"&&isArray(Y))if(Y.length===0)q.classList.add("display__none");else{q.classList.remove("display__none"),Y=Y||[];const Z=q.firstElementChild;Z.classList.remove("display__none"),q.replaceChildren(...Y.map((te,se)=>{const re=Z.cloneNode(!0),ne=parseDataProps(re,te);return mapDataToEls(ne,te,void 0,se),ne}))}else if(isDefAndNotNull(Y))if(K==="typewriter"){let Z=0;const te=Y+J,se=5,re=()=>{Z<te.length&&(q.innerHTML+=te.charAt(Z),Z++,setTimeout(re,se))};q.innerHTML="",re()}else q.innerHTML=Y+J})},domUtils=Object.freeze(Object.defineProperty({__proto__:null,dateToZooyStdTimeString,dtf,enableClass,evalModules,evalScripts,formToJSON,getElDataMap,getPos,getValue,handleTemplateProm,insertSiblingAfter,isInPage,mapDataToEls,parseDataPropKvDef,parseMap,parseMomentAgo,randomColour,removeNode,replaceNode,splitScripts,toggleClass,totalHeight,totalWidth},Symbol.toStringTag,{value:"Module"}));class ComponentLibraryRegistry{static#e=new Map;static register(D,w){if(!w.render)throw new Error(`Component library '${D}' must provide a render function`);this.#e.set(D,{...w,dispose:w.dispose||null,cache:new Map,config:w.config||{}}),console.debug(`[ComponentLibraryRegistry] Registered: ${D}`)}static get(D){if(!this.#e.has(D)){const w=Array.from(this.#e.keys()).join(", ");throw new Error(`Component library '${D}' is not registered. Available: ${w||"none"}`)}return this.#e.get(D)}static has(D){return this.#e.has(D)}static getRegisteredLibraries(){return Array.from(this.#e.keys())}static getCacheStats(){const D={};for(const[w,U]of this.#e.entries())D[w]={cacheSize:U.cache.size,config:U.config};return D}static clearAllCaches(){for(const[D,w]of this.#e.entries())w.cache.clear(),console.debug(`[ComponentLibraryRegistry] Cleared cache for: ${D}`)}static clearCache(D){this.get(D).cache.clear(),console.debug(`[ComponentLibraryRegistry] Cleared cache for: ${D}`)}static unregister(D){return this.#e.delete(D)}static unregisterAll(){this.#e.clear()}}const ComponentError={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",ALREADY_DISPOSED:"Component already disposed",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"};class Component extends EVT{static compEventCode(){return UiEventType.COMP}static compReadyCode(){return UiEventType.READY}static compErrors(){return ComponentError}#e;#t;#s;#r;#n;#i;#o;#a;constructor(){super(),this.#e=()=>document.createElement("div"),this.#t=!1,this.#s=void 0,this.#r=void 0,this.#n=void 0,this.#i=void 0,this.#o=new Map,this.outOfTreeElements=[],this.placeholderDom=void 0,this.#a=()=>{}}set target(D){this.#n=D}get target(){return this.#n}set model(D){this.#r=D}get model(){return this.#r}set isInDocument(D){this.#t=D}get isInDocument(){return this.#t}set domFunc(D){this.#e=D}set readyFunc(D){this.#a=D}setElementInternal_(D){this.#s=D}getElement(){return this.#s}createDom(){this.#s=this.#e()}assertCanRenderAsync(){if(this.disposed)throw new Error(ComponentError.ALREADY_DISPOSED)}render(D){this.render_(D)}render_(D){if(this.disposed)throw new Error(ComponentError.ALREADY_DISPOSED);if(this.isInDocument)throw new Error(ComponentError.ALREADY_RENDERED);this.#s||this.createDom();const w=this.#s;D&&(this.#n=D),this.placeholderDom&&removeNode(this.placeholderDom),this.#n?isInPage(w)||this.#n.insertBefore(w,null):isInPage(w)||document.body.appendChild(w),(!this.#i||this.#i.isInDocument)&&this.enterDocument()}hoist(D,w=void 0){w||(w=document.querySelector("body")),w.appendChild(D),this.outOfTreeElements.push(D)}executeBeforeReady(){this.#a()}enterDocument(){this.disposed?removeNode(this.getElement()):(this.isInDocument=!0,[...this.#o.values()].forEach(D=>{!D.isInDocument&&D.getElement()&&D.enterDocument()}),this.executeBeforeReady(),this.dispatchCompEvent(UiEventType.READY))}exitDocument(){[...this.#o.values()].forEach(D=>{D.isInDocument&&D.exitDocument()}),this.stopBeingListenedTo(),this.removeAllListener(),this.isInDocument=!1,removeNode(this.getElement()),this.placeholderDom&&removeNode(this.placeholderDom)}disposeInternal(){this.isInDocument&&this.exitDocument(),this.#o&&[...this.#o.values()].forEach(D=>D.disposeInternal()),this.outOfTreeElements.forEach(removeNode),this.#s&&removeNode(this.#s),this.placeholderDom&&removeNode(this.placeholderDom),this.#o=null,this.#s=void 0,this.#r=null,this.#i=null,super.disposeInternal()}dispose(){this.abortController&&this.abortController.abort();const D=this.getElement();if(D)for(const w of ComponentLibraryRegistry.getRegisteredLibraries())try{const U=ComponentLibraryRegistry.get(w);U.dispose&&U.dispose(D)}catch(U){console.debug(`[${w}] Cleanup error during component disposal (non-critical):`,U)}super.dispose()}dispatchCompEvent(D,w){const U=new ZooyEventData(D,w),F=EVT.makeEvent(UiEventType.COMP,U);return this.dispatchEvent(F)}}const EV={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEMOVE:"mousemove",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",SUBMIT:"submit",CHANGE:"change",INPUT:"input",INVALID:"invalid",DRAGSTART:"dragstart",DRAGEND:"dragend",DRAGOVER:"dragover",DRAGENTER:"dragenter",DRAGEXIT:"dragexit",DRAGLEAVE:"dragleave",DROP:"drop",TRANSITIONEND:"transitionend"},touchEvents=[EV.TOUCHMOVE,EV.TOUCHSTART,EV.TOUCHEND],isTouchEvent=O=>touchEvents.includes(O.type),normalizeEvent=O=>(isTouchEvent(O)&&(O.clientX=O.targetTouches[0].clientX,O.clientY=O.targetTouches[0].clientY),O),dragStartListener=(O,D,w,U)=>F=>{F.preventDefault();const q=normalizeEvent(F),W=q.currentTarget,[X,G]=getPos(W),K=q.clientX-X,Q=q.clientY-G,ee=O(X,G,K,Q,W),J=w(X,G,K,Q,W),Y=D(X,G,K,Q,W);let Z=freeMoveListener(Y,W,K,Q);["x","ew"].includes(U)?Z=xMoveOnlyListener(Y,W,K):["y","ns"].includes(U)&&(Z=yMoveOnlyListener(Y,W,K,Q));let te=!1;const se=ne=>{te=!0,Z(ne)},re=ne=>{document.removeEventListener(EV.MOUSEMOVE,se,!0),document.removeEventListener(EV.TOUCHMOVE,se,!0),document.removeEventListener(EV.MOUSEUP,re,!0),document.removeEventListener(EV.TOUCHEND,re,!0),te&&J(ne)};return document.addEventListener(EV.MOUSEUP,re,!0),document.addEventListener(EV.TOUCHEND,re,!0),document.addEventListener(EV.MOUSEMOVE,se,!0),document.addEventListener(EV.TOUCHMOVE,se,!0),ee(F),re},freeMoveListener=(O,D,w,U)=>F=>{F.preventDefault();const q=normalizeEvent(F);D.style.left=`${q.clientX-w}px`,D.style.top=`${q.clientY-U}px`,O(q)},xMoveOnlyListener=(O,D,w,U)=>F=>{F.preventDefault();const q=normalizeEvent(F);D.style.left=`${q.clientX-w}px`,O(q)},yMoveOnlyListener=(O,D,w,U)=>F=>{F.preventDefault();const q=normalizeEvent(F);D.style.top=`${q.clientY-U}px`,O(q)},makeEmitter=(O,D)=>(w,U,F,q,W)=>X=>{O.dispatchCompEvent(D,{component:O,browserEvent:X,left:w,top:U,clientX:X.clientX,clientY:X.clientY,xOrg:F,yOrg:q,deltaX:X.clientX-F-w,deltaY:X.clientY-q-U,target:W})};class Dragger extends Component{#e;#t;#s;#r;constructor(D="xy"){super(),this.#e=["x","y","xy","ew","ns"].includes(D.toLowerCase())?D.toLowerCase():"xy",this.#t=void 0,this.#s=!0,this.#r=w=>null}cancelDrag(D){this.#r(D)}set moveFreedom(D){this.#e=D,this.#s||(this.lock(),this.unlock())}get moveFreedom(){return this.#e}executeBeforeReady(){this.unlock(),super.executeBeforeReady()}unlock(){const D=w=>U=>{this.#r=w(U)};if(this.isInDocument&&this.#s){const w=makeEmitter(this,UiEventType.COMP_DRAG_MOVE),U=makeEmitter(this,UiEventType.COMP_DRAG_START),F=makeEmitter(this,UiEventType.COMP_DRAG_END),q=dragStartListener(U,w,F,this.#e);this.#s=!1,this.#t=this.#t||this.getElement(),this.listen(this.#t,EV.MOUSEDOWN,D(q)),this.listen(this.#t,EV.TOUCHSTART,q),this.#t.classList.remove("locked")}}lock(){this.stopListeningTo(this.#t,EV.MOUSEDOWN),this.stopListeningTo(this.#t,EV.TOUCHSTART),this.#s=!0,this.#t.classList.add("locked")}}const splitRe_=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$"),ComponentIndex={PATH:5,QUERY_DATA:6},split=O=>O.match(splitRe_),decodeOrEmpty_=(O,D)=>O?decodeURI(O.replace(/%25/g,"%2525")):"",getPath=O=>decodeOrEmpty_(split(O)[ComponentIndex.PATH]),getQueryData=O=>decodeOrEmpty_(split(O)[ComponentIndex.QUERY_DATA]),objectToUrlParms=O=>[...Object.entries(O)].map(D=>`${D[0]}=${D[1]}`).join("&"),isValidValue=O=>O!=null&&O!=="",queryDataToMap=O=>O.split("&").reduce((D,w)=>{const[U,F]=w.split("=");return isValidValue(U)&&isValidValue(F)&&D.set(U,F),D},new Map),uriUtils=Object.freeze(Object.defineProperty({__proto__:null,getPath,getQueryData,objectToUrlParms,queryDataToMap},Symbol.toStringTag,{value:"Module"})),stripLeadingSpace=stripLeadingChar(" "),stripLeadingSlash=stripLeadingChar("/"),getCookieByName=O=>document.cookie.split(";").map(D=>D.split("=")).reduce((D,w)=>D.set(stripLeadingSpace(w[0]),w[1]),new Map).get(O),spinner=O=>{let D=0,w;const U=F=>{const q=F>0;return q?D+=1:D-=1,q?D===1:D===0};return F=>{w=w||document.getElementById(O),w&&U(F)&&w.classList.toggle("viz",D>0)}},spin=spinner("the_loader"),startSpin=()=>Promise.resolve(spin(1)),stopSpin=O=>(spin(0),Promise.resolve(O)),checkStatus=O=>O.ok?Promise.resolve(O):Promise.reject(new Error(`${O.url} ${O.status} (${O.statusText})`)),checkStatusTwo=O=>D=>{if(D.type==="opaqueredirect"||D.redirected){const w=stripLeadingSlash(getPath(D.url));O.setIsRedirected(!0,w),console.log("Redirect detected",w)}return checkStatus(D)},getJson=O=>O.status===204?Promise.resolve({}):O.json().then(D=>Promise.resolve(D),D=>Promise.reject(new Error(`Could not get JSON from response: ${D}`))),getText=O=>O.text().then(D=>Promise.resolve(D),D=>Promise.reject(new Error(`Could not get text from response: ${D}`))),getTextOrJson=O=>O.headers.get("Content-Type")==="application/json"?getJson(O):getText(O),jsonInit=(O,D,w="POST",U=void 0)=>{const F=new Headers;F.append("Content-type","application/json"),F.append("X-Requested-With","XMLHttpRequest"),O&&O!==""&&F.append("Authorization",`Bearer ${O}`);const q={cache:"no-cache",method:w,headers:F,credentials:"include",body:JSON.stringify(D)};return U&&(q.signal=U),q},basicPutPostPatchInit=(O,D,w=!1,U=void 0)=>{const F=new Headers;if(D&&D!==""&&F.append("Authorization",`Bearer ${D}`),F.append("X-Requested-With","XMLHttpRequest"),w){const W=getCookieByName("csrftoken");W&&w&&F.append("X-CSRFToken",W)}const q={cache:"no-cache",method:O,headers:F,redirect:"follow",credentials:"include"};return U&&(q.signal=U),q},formPostInit=(O,D,w=void 0)=>{const F=basicPutPostPatchInit("POST",O,!1,w);return F.body=new FormData(D.formEl),F},basicGetInit=(O,D=void 0)=>{const w=new Headers;w.append("Authorization",`Bearer ${O}`),w.append("X-Requested-With","XMLHttpRequest");const U={cache:"no-cache",headers:w,credentials:"include"};return D&&(U.signal=D),U},putPostPatchNobody=(O,D)=>{const w=new Request(O);return fetch(w,D).then(checkStatus).then(getText)},genCatchClause=(O,D=void 0)=>w=>(stopSpin("").then(identity),w.name==="AbortError"?console.info(O,"ABORTED!"):console.error(O,w),D);class UserManager{constructor(D){this.user_={},this.jwt="",D&&this.updateProfileFromJwt(D).then(()=>{})}updateProfileFromJwt(D,w=!1){return w&&this.jwt!==""?Promise.resolve("User Profile Already exists"):D.non_field_errors?Promise.reject(new Error(`JWT ${D.non_field_errors}`)):(this.updateToken(D.token),this.updateProfile(D.user),Promise.resolve("User Profile Updated"))}updateProfile(D){this.user_=D}updateToken(D){this.jwt=D}get id(){return this.user_.id}get name(){return this.user_.name}get surname(){return this.user_.surname}get salutation(){let D=this.name;const w=this.surname;return w&&(D=D+" "+w),D}formSubmit(D){const w=new Request(D.uri.toString()),U=D.processSubmitReply.bind(D),F=genCatchClause("Form submit error");return startSpin().then(()=>fetch(w,formPostInit(this.jwt,D,D.abortController.signal))).then(checkStatusTwo(D)).then(stopSpin).then(getTextOrJson).then(U).catch(F)}putNoBody(D,w=void 0,U=!1){const F=genCatchClause("putNobody error"),q=basicPutPostPatchInit("PUT",this.jwt,U,w);return putPostPatchNobody(D,q).catch(F)}fetch(D,w=void 0){const U=new Request(D.toString()),F=genCatchClause(`UMan Text GET Fetch: ${D}`);return startSpin().then(()=>fetch(U,basicGetInit(this.jwt,w))).then(checkStatus).then(stopSpin).then(getText).catch(F)}fetchAndSplit(D,w=void 0){const U=genCatchClause(`fetchAndSplit: ${D}`);return this.fetch(D,w).then(handleTemplateProm).catch(U)}fetchJson(D,w=void 0){const U=new Request(D.toString()),F=genCatchClause(`fetchJson: ${D}`,{}),q=basicGetInit(this.jwt,w);return startSpin().then(()=>fetch(U,q)).then(checkStatus).then(stopSpin).then(getJson).catch(F)}patchJson(D,w,U=void 0){const F=new Request(D.toString()),q=genCatchClause(`patchJson: ${D}`),W=jsonInit(this.jwt,w,"PATCH",U);return fetch(F,W).then(checkStatus).then(getJson).catch(q)}postJson(D,w,U=void 0){const F=new Request(D.toString()),q=genCatchClause(`postJson: ${D}`),W=jsonInit(this.jwt,w,"POST",U);return fetch(F,W).then(checkStatus).then(getJson).catch(q)}putJson(D,w,U=void 0){const F=new Request(D.toString()),q=genCatchClause(`putJson: ${D}`),W=jsonInit(this.jwt,w,"PUT",U);return fetch(F,W).then(checkStatus).then(getJson).catch(q)}delJson(D,w,U=void 0){const F=new Request(D.toString()),q=genCatchClause(`delJson: ${D}`),W=jsonInit(this.jwt,w,"DELETE",U);return fetch(F,W).then(checkStatus).then(getJson).catch(q)}}class Panel extends Component{static panelEventCode(){return UiEventType.PANEL}static compReadyCode(){return UiEventType.READY}constructor(D){super(),this.qParamMap_=new Map,this.uri_="",D&&this.parseUri(D),this.evalScripts=evalScripts(this),this.evalModules=evalModules(this),this.redirected=!1,this.responseObject={html:null,scripts:null},this.user_=void 0,"AbortController"in window?this.abortController=new AbortController:this.abortController={signal:void 0,abort:()=>{}},this.listMap=new Map}get uri(){const D=this.qParamMap_.size>0?"?"+objectToUrlParms(Object.fromEntries(this.qParamMap_)):"";return this.uri_+D}set user(D){this.user_=D}get user(){return this.user_||(this.user_=new UserManager),this.user_}parseUri(D){this.uri_=getPath(D),this.qParamMap_=queryDataToMap(getQueryData(D))}addToQParams(D,w){this.qParamMap_.set(D,w)}removeFromQParams(D){this.qParamMap_.delete(D)}clearQParams(){this.qParamMap_.clear()}getCarbonComponents(D){return this.carbonComponents?.get(D)||[]}getCarbonComponentById(D){if(this.carbonComponents)for(const w of this.carbonComponents.values()){const U=w.find(F=>F.id===D);if(U)return U}}renderPlaceHolder(D){this.target&&(this.placeholderDom=D,this.target.insertBefore(this.placeholderDom,null))}renderWithTemplate(D){const w=this.user;return w?w.fetch(this.uri,this.abortController.signal).then(U=>(this.assertCanRenderAsync(),D&&D(this),this.onRenderWithTemplateReply(U).catch(F=>{F.message!==Component.compErrors().ALREADY_DISPOSED&&console.error("RenderWithTemplate Err:",F)}),this)).catch(U=>{throw console.error("Panel.renderWithTemplate fetch failed:",U),U}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithTemplate()"))}onRenderWithTemplateReply(D){return this.responseObject=splitScripts(D),this.domFunc=()=>this.responseObject.html,this.render(),Promise.resolve(this)}onReplacePartialDom(D,w){const U=this.getElement();if(isUndefined(U))return;const F=D.html;if(w.startsWith("."))[...U.querySelectorAll(w)].filter(q=>isDefAndNotNull(q.id)).map(q=>[q,F.querySelector(`#${q.id}`)]).filter(([q,W])=>isDefAndNotNull(W)).forEach(([q,W])=>{q.parentNode.replaceChild(W,q),this.parseContent(W)});else if(w.startsWith("#")){const q=F.querySelector(w),W=U.querySelector(w);W.parentNode.replaceChild(q,W),this.parseContent(q)}this.evalScripts(D.scripts),this.evalModules(D.modules)}renderWithJSON(D){return this.user?this.user.fetchJson(this.uri_,this.abortController.signal).then(U=>{this.assertCanRenderAsync(),D&&D(U,this),this.onRenderWithJSON(U).then(identity)}).catch(U=>{throw console.error("Panel.renderWithJSON fetch failed:",U),U}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithJSON()"))}onRenderWithJSON(D){return Promise.resolve(this)}onAsyncJsonReply(D,w,U){}onAsyncHtmlReply(D,w){}onViewDataBroadcast(D){}parseContent(D){if(this.debugMe("Enable interactions. Panel:",D),typeof window.customElements<"u"&&ComponentLibraryRegistry.has("carbon")){const J=ComponentLibraryRegistry.get("carbon");J.render.call(this,D,J.cache).catch(Y=>console.error("[Zooy] Carbon initialization failed:",Y))}if(ComponentLibraryRegistry.has("mdc")){const J=ComponentLibraryRegistry.get("mdc");J.render.call(this,D,J.cache)}D.classList.contains("zoo__modal-base")&&D.classList.contains("close_on_click")&&this.listen(D,EV.CLICK,J=>{J.target===D&&this.dispatchPanelEvent("destroy_me")}),[...D.querySelectorAll(".zoo__button:not(.external):not(.mdc-data-table__row)")].forEach(J=>{this.listen(J,EV.CLICK,Y=>{Y.stopPropagation();const Z=Y.currentTarget,te=getElDataMap(Z);this.dispatchPanelEvent(te.zv,Object.assign({orgEvt:Y,trigger:Z,href:Z.href||te.href},te))})}),[...D.querySelectorAll("[href]:not(.external)")].forEach(J=>{this.listen(J,EV.CLICK,Y=>{const Z=Y.currentTarget;Y.preventDefault(),Y.stopPropagation();const te=getElDataMap(Z),se=te.zv||"href";this.dispatchPanelEvent(se,Object.assign({orgEvt:Y,trigger:Y.target,href:Z.href||te.href},te))})}),[...D.querySelectorAll("form.intercept_submit")].forEach(J=>{J.noValidate=!0,this.listen(J,EV.SUBMIT,Y=>{Y.preventDefault(),Y.stopPropagation();const Z=getElDataMap(J),te=formToJSON(J.elements);this.dispatchPanelEvent(Z.zv,Object.assign({orgEvt:Y,trigger:Y.target,formData:te,href:Z.href},Z))})}),[...D.querySelectorAll(".zoo__toggle_class_driver")].forEach(J=>{const Y=getElDataMap(J),Z=Y.toggle_class_target_id,te=Y.toggle_class,se=D.querySelector(`#${Z}`);se&&te&&J.addEventListener(EV.CLICK,re=>{re.stopPropagation(),se.classList.toggle(te)})});const w=Array.from(D.querySelectorAll(".folder_drop_zone")),U=Array.from(D.querySelectorAll("[draggable]")),F=J=>{J.preventDefault(),J.target.classList.add("drag_over")},q=J=>{J.preventDefault()},W=J=>{J.preventDefault(),J.target.classList.remove("drag_over")},X=J=>{J.preventDefault(),J.target.classList.remove("drag_over")},G=J=>{J.preventDefault(),J.target.classList.remove("drag_over")},K=J=>{J.dataTransfer.dropEffect="move";const Y=getElDataMap(J.target);J.dataTransfer.setData("text/plain",JSON.stringify(Y)),J.target.classList.add("drag_in_progress")},Q=J=>{J.target.classList.remove("drag_in_progress")},ee=J=>{G(J),J.stopPropagation();const Y=JSON.parse(J.dataTransfer.getData("text/plain")),Z=getElDataMap(J.target);return this.dispatchPanelEvent("drop_on",{custom:{on:Z,from:Y}}),!1};w.forEach(J=>{this.listen(J,EV.DRAGOVER,q),this.listen(J,EV.DRAGENTER,F),this.listen(J,EV.DRAGEXIT,X),this.listen(J,EV.DRAGLEAVE,W),this.listen(J,EV.DROP,ee)}),U.forEach(J=>{this.listen(J,EV.DRAGSTART,K),this.listen(J,EV.DRAGEND,Q)}),[...D.querySelectorAll(".zoo_async_json")].forEach(J=>{const Y=getElDataMap(J),Z=Y.href,te=this.onAsyncJsonReply.bind(this,J,Y);this.user.fetchJson(Z,this.abortController.signal).then(te);const se=Y.z_json_reusable;se&&(this.jsonCallFuncs=this.jsonCallFuncs||{},this.jsonCallFuncs[se]=()=>{this.user.fetchJson(Z,this.abortController.signal).then(te)});const re=toNumber(Y.z_interval);isNumber(re)&&this.doOnBeat(()=>{this.user.fetchJson(Z,this.abortController.signal).then(te)},re*60*1e3)}),[...D.querySelectorAll(".zoo_async_html")].forEach(J=>{const Y=getElDataMap(J),Z=Y.href;this.user.fetchAndSplit(Z,this.abortController.signal).then(se=>{J.appendChild(se.html),this.parseContent(J),this.evalScripts(se.scripts),this.evalModules(se.modules),this.onAsyncHtmlReply(J,Y)});const te=toNumber(Y.z_interval);isNumber(te)&&this.doOnBeat(()=>{this.user.fetchAndSplit(Z,this.abortController.signal).then(se=>{J.replaceChildren(se.html),this.parseContent(J),this.evalScripts(se.scripts),this.evalModules(se.modules)})},te*60*1e3)})}enterDocument(){const D=this.getElement();this.parseContent(D),this.evalScripts(this.responseObject.scripts),this.evalModules(this.responseObject.modules),super.enterDocument()}exitDocument(){this.abortController.abort(),super.exitDocument()}setIsRedirected(D,w){this.redirected=D,this.redirected&&w&&(this.uri_=w)}dispatchPanelEvent(D,w){const U=new ZooyEventData(D,w),F=EVT.makeEvent(UiEventType.PANEL,U);return this.debugMe("PANEL EVENT FIRED. Value:",D,"Opt DATA:",w),this.dispatchEvent(F)}}class FormPanel extends Panel{#e=null;#t=new Map;#s=!0;constructor(D,w=!0){super(D),this.#s=w,this.debugMode=!0,this.onSubmitSucFunc=(U,F)=>null}get formEl(){return this.#e}enterDocument(){super.enterDocument(),this.formIdElementToForm_()}formIdElementToForm_(){this.#e=this.getFormFromId(),this.#e&&(this.#a(this.#e),this.#r())}getFormFromId(D){let w=null,U=this.getElement().querySelector("form");return D&&(U=document.getElementById(D)||U),U&&U.tagName.toLowerCase()==="form"&&(w=U),w}#r(){this.#e&&(this.listen(this.#e,EV.CHANGE,D=>{this.#o(D)},{passive:!0}),this.listen(this.#e,EV.INPUT,D=>{this.clearAllValidationErrors(),this.#o(D)}),this.listen(this.#e,EV.INVALID,D=>{D.preventDefault();const w=D.target;this.#i(w),this.displayFieldError(w)},{passive:!0}))}checkAllFields(){const D=[...this.#e.elements].map(w=>[this.#n(w),w]).filter(w=>!w[0]);return D.forEach(w=>this.displayFieldError(w[1])),D.length===0}clearAllValidationErrors(){[...this.#e?this.#e.elements:[]].forEach(U=>this.#i(U)),[...this.#e.querySelectorAll(".non-field-errors")].forEach(U=>U.classList.remove("alert-error"))}displayAlert_(D,w,U){const F=document.getElementById(`${D.id}-helper-text`)||document.createElement("p");F.textContent=w,this.#t.set(D,F)}#n(D){this.#i(D);let w=!D.willValidate;return D.willValidate&&(w=D.checkValidity()),w}#i(D){D.classList.remove("error"),this.#t.has(D)&&(this.#t.get(D).textContent=""),this.#t.delete(D)}displayFieldError(D,w){const U=w||D.validationMessage;D.classList.add("error"),this.displayAlert_(D,U,"alert-error")}displayFieldSuccess(D,w){this.displayAlert_(D,w,"alert-success")}displayFieldInfo(D,w){this.displayAlert_(D,w,"alert-info")}#o(D){this.#n(D.target)}#a(D){if(D&&this.#s){D.noValidate=!0;const w=this.user;this.listen(D,EV.SUBMIT,U=>{U.preventDefault(),this.debugMe("Intercepted from SUBMIT"),this.checkAllFields()&&w&&w.formSubmit(this)})}return D}onSubmitSuccess(D){this.onSubmitSucFunc=D}replaceForm(D){if(this.responseObject=splitScripts(D),this.responseObject.html){if(this.redirected){this.removeAllListener();const w=this.getElement(),U=w.parentNode;this.setElementInternal_(this.responseObject.html),U.replaceChild(this.getElement(),w)}else{const w=this.responseObject.html.querySelector("form");w&&replaceNode(w,this.#e);const U=this.responseObject.html.querySelector('button[type="submit"]'),F=this.getElement().querySelector('button[type="submit"]');U&&F&&replaceNode(U,F)}this.enterDocument()}}refreshFromFromServer(){const D=this.user,w=this.uri;return D?D.fetch(w,this.abortController.signal).then(U=>this.replaceForm(U)):Promise.reject(new Error("No UserManager instance available for FormPanel.refreshFromFromServer()"))}processSubmitReply(D){this.clearAllValidationErrors();let w=!1;if(whatType(D)==="object"&&D.success)return Promise.resolve(this).then(()=>{this.onSubmitSucFunc(this,D),this.dispatchCompEvent(UiEventType.FORM_SUBMIT_SUCCESS)});if(D==="success"?(this.debugMe(`
2
+ 1.REDIRECTED: ${this.redirected}
3
+ REPLY: ${D}`),w=!0):D===`redirected_success
4
+ `?(this.debugMe(`
5
+ 2.REDIRECTED: ${this.redirected}
6
+ REPLY: ${D}`),w=!0,this.redirected=!1):(this.debugMe(`
7
+ 3.REDIRECTED: ${this.redirected}
8
+ REPLY: Some form HTML`),this.replaceForm(D)),w&&this.redirected)return this.debugMe(`
9
+ 4.REDIRECTED: ${this.redirected}
10
+ SUCCESS: ${w}`),this.redirected=!1,Promise.resolve(this);if(w)return this.debugMe(`
11
+ 5.REDIRECTED: ${this.redirected}
12
+ SUCCESS: ${w}`),Promise.resolve(this).then(()=>{this.onSubmitSucFunc(this),this.dispatchCompEvent(UiEventType.FORM_SUBMIT_SUCCESS)});this.debugMe(`
13
+ 6.REDIRECTED: ${this.redirected}
14
+ SUCCESS: ${w}`)}}class Split extends Component{static splitEventCode(){return UiEventType.SPLIT}constructor(){super(),this.dragImage_=document.createElement("canvas"),this.nestMap_=new Map,this.nestCallbackMap_=new Map,this.splitNests_=new Set}get nests(){return[...this.nestMap_.entries()].filter(([D,{nestEl:w}])=>w)}getNest(D){return this.nestMap_.get(D)?.nestEl}get nestNames(){return[...this.nestMap_.entries()].filter(([D,w])=>!this.splitNests_.has(w)).map(([D])=>D)}closeAndLockAll(D=identity,w=!1){this.nestNames.forEach(U=>this.closeAndLock(U,D,w))}openAndUnlockAll(D=identity,w=!1){this.nestNames.forEach(U=>this.openAndUnlock(U,D,w))}lock(D){const{dragEl:w}=this.nestMap_.get(D);w.classList.add("locked")}unlock(D){const{dragEl:w}=this.nestMap_.get(D);w.classList.remove("locked")}resize(D,w,U=identity,F=!1){const{sizeNow:q,nestEl:W,canResize:X}=this.nestMap_.get(D);X&&(F||q===w?(W.classList.remove("animated"),W.style.flexBasis=`${w}px`,this.nestMap_.get(D).sizeNow=w,U()):(W.classList.add("animated"),this.nestCallbackMap_.set(D,()=>{W.classList.remove("animated"),this.nestMap_.get(D).sizeNow=w,U()}),W.style.flexBasis=`${w}px`))}closeAndLock(D,w=identity,U=!1){const{nestEl:F,dragEl:q,canResize:W}=this.nestMap_.get(D);if(!W)return;const X=()=>{q.classList.add("locked","closed"),F.classList.add("closed"),w()};this.resize(D,0,X,U)}closeAndUnlock(D,w=identity,U=!1){const{nestEl:F,dragEl:q,canResize:W}=this.nestMap_.get(D);if(!W)return;const X=()=>{F.classList.remove("closed"),q.classList.remove("closed","locked"),q.classList.add("collapsed"),w()};this.resize(D,0,X,U)}openAndUnlock(D,w,U,F=!1){const{nestEl:q,dragEl:W,defSize:X,lastSize:G,canResize:K}=this.nestMap_.get(D);if(!K)return;const Q=w||G||X;q.classList.remove("closed"),W.classList.remove("closed","locked","collapsed"),setTimeout(()=>{this.resize(D,Q,U,F)},50)}openAndLock(D,w,U,F=!1){const{nestEl:q,dragEl:W,defSize:X,lastSize:G,canResize:K}=this.nestMap_.get(D);if(!K)return;const Q=w||G||X;q.classList.remove("closed"),W.classList.remove("closed","collapsed"),setTimeout(()=>{this.resize(D,Q,U,F)},50)}close(D,w=identity,U=!1){const{dragEl:F,canResize:q,nestEl:W}=this.nestMap_.get(D);if(!q)return;this.dispatchSplitEvent(UiEventType.SPLIT_WILL_CLOSE,{nestName:D,nestEl:W});const X=()=>{F.classList.add("collapsed"),this.dispatchSplitEvent(UiEventType.SPLIT_DID_CLOSE,{nestName:D,nestEl:W}),w()};this.resize(D,0,X,U)}open(D,w=identity,U=!1){const{defSize:F,lastSize:q,dragEl:W,canResize:X,nestEl:G}=this.nestMap_.get(D);if(!X)return;this.dispatchSplitEvent(UiEventType.SPLIT_WILL_OPEN,{nestName:D,nestEl:G}),W.classList.remove("collapsed","closed");const K=q||F,Q=()=>{this.dispatchSplitEvent(UiEventType.SPLIT_DID_OPEN,{nestName:D,nestEl:G}),w()};this.resize(D,K,Q,U)}toggle(D,w,U=!1){this.nestMap_.get(D).sizeNow===0?this.open(D,w,U):this.close(D,w,U)}addSplit(D=void 0,w="EW",U=100,F=100,q=[],W=[],X=[],G=[],K=[]){const Q=D||this.getElement();if(this.splitNests_.has(Q))return["Already used!",Q];convertElToSplit(Q,w),this.splitNests_.add(Q);let ee="";if(D){const ie=[...this.nestMap_.entries()].find(([ae,{nestEl:ce}])=>ce===D);if(ie)ee=ie[0];else return["Element not managed by this component",D]}const J=`${ee}A`,Y=makeOuterNest(U,["zoo_nest__A",J,...q]),Z=new Dragger(w);Z.domFunc=makeDraggerEl([`zoo_drag_${J}`,...G],K),Z.render(Q),this.nestMap_.set(J,{side:"A",nestEl:Y,dragger:Z,dragEl:Z.getElement(),defSize:U,sizeNow:-1,canResize:!0});const te=`${ee}B`,se=makeInnerNest(["zoo_nest__B",te,...W]);this.nestMap_.set(te,{nestEl:se,canResize:!1});const re=`${ee}C`,ne=new Dragger(w);ne.domFunc=makeDraggerEl([`zoo_drag_${re}`,...G],K),ne.render(Q);const oe=makeOuterNest(F,["zoo_nest__C",re,...X]);this.nestMap_.set(re,{side:"C",nestEl:oe,dragger:ne,dragEl:ne.getElement(),defSize:F,sizeNow:-1,canResize:!0}),[Y,Z.getElement(),se,ne.getElement(),oe].forEach(ie=>Q.appendChild(ie));let le=0;const he=(ie,ae,ce,ge)=>{let de;const ue=ie==="NS"?"height":"width",fe=ie==="NS"?"deltaY":"deltaX";return pe=>{switch(pe.detail.value_){case UiEventType.COMP_DRAG_START:de=ae.getBoundingClientRect()[ue],le=se.getBoundingClientRect()[ue]+de,this.nestMap_.get(ce).dragEl.classList.remove("collapsed");break;case UiEventType.COMP_DRAG_MOVE:{const me=Math.min(le,de+ge*pe.detail.data_[fe]);this.nestMap_.get(ce).lastSize=me,ae.style.flexBasis=me+"px";break}case UiEventType.COMP_DRAG_END:this.dispatchSplitEvent(UiEventType.COMP_DRAG_END,this.nestMap_.get(ce));break}}};this.listen(Z,Component.compEventCode(),he(w,Y,J,1)),this.listen(ne,Component.compEventCode(),he(w,oe,re,-1)),this.listen(Z.getElement(),EV.DBLCLICK,()=>this.toggle(J)),this.listen(ne.getElement(),EV.DBLCLICK,()=>this.toggle(re)),this.listen(Z.getElement().querySelector(".zoo_grabber"),EV.CLICK,()=>this.toggle(J)),this.listen(ne.getElement().querySelector(".zoo_grabber"),EV.CLICK,()=>this.toggle(re)),this.listen(Y,EV.TRANSITIONEND,ie=>{if(ie.propertyName==="flex-basis"&&ie.target===Y){const ae=this.nestCallbackMap_.get(J);this.nestCallbackMap_.delete(J),ae&&ae(),this.dispatchSplitEvent(UiEventType.SPLIT_TRANSITION_END,this.nestMap_.get(J))}}),this.listen(oe,EV.TRANSITIONEND,ie=>{if(ie.propertyName==="flex-basis"&&ie.target===oe){const ae=this.nestCallbackMap_.get(re);this.nestCallbackMap_.delete(re),ae&&ae(),this.dispatchSplitEvent(UiEventType.SPLIT_TRANSITION_END,this.nestMap_.get(re))}})}dispatchSplitEvent(D,w){const U=new ZooyEventData(D,w),F=EVT.makeEvent(UiEventType.SPLIT,U);return this.dispatchEvent(F)}}const convertElToSplit=(O,D)=>(O.classList.add("zoo_split",`zoo_split__${D.toLowerCase()}`),O),makeOuterNest=(O,D=[])=>{const w=document.createElement("div");return w.setAttribute("id",randomId(7)),w.classList.add("zoo_nest","zoo_nest__outer",...D),w.style.flexBasis=O+"px",w},makeInnerNest=(O=[])=>{const D=document.createElement("div");return D.setAttribute("id",randomId(7)),D.classList.add("zoo_nest","zoo_nest__inner",...O),D},makeDraggerEl=(O=[],D=[])=>()=>{const w=document.createElement("div");w.setAttribute("id",randomId(7)),w.classList.add("zoo_dragger",...O);const U=document.createElement("div");return U.classList.add("zoo_grabber",...D),w.appendChild(U),w},needsToScroll=O=>{const w=O.getBoundingClientRect().bottom;return U=>U.getBoundingClientRect().bottom>w},treeNodeSelect=O=>D=>{const w=O.getElement().querySelector(".zv_tree_container"),U=needsToScroll(w),F=O.getElement().querySelectorAll(".tree-node");let q;[...F].forEach(W=>{enableClass(W,"mdc-deprecated-list-item--activated",W.id===`tree-node_${D}`),W.id===`tree-node_${D}`&&(q=W)}),q&&U(q)&&q.scrollIntoView(!1)},toggleTree=(O,D)=>{const w=D.getElement().querySelector(".children"),U=O.isOn,F=D.getElement().querySelectorAll(".children"),q=D.getElement().querySelectorAll(".zoo__reveal_icon");[...F].forEach(W=>enableClass(W,"zoo__tree-children__hidden",W!==w&&!U)),[...q].forEach(W=>enableClass(W,"zoo__icon_rotated",W!==w&&!U))},toggleTreeChildren=(O,D)=>{const w=D.trigger,U=w.getAttribute("data-child-id"),F=O.getElement().querySelector(`#${U}`);toggleClass(F,"zoo__tree-children__hidden"),toggleClass(w,"zoo__icon_rotated")},_openTreeFromNodeUp=(O,D)=>{const w=D.parentElement;w.classList.contains("children")&&(enableClass(w,"zoo__tree-children__hidden",!1),_openTreeFromNodeUp(O,w))},treeUtils=Object.freeze(Object.defineProperty({__proto__:null,_openTreeFromNodeUp,toggleTree,toggleTreeChildren,treeNodeSelect},Symbol.toStringTag,{value:"Module"})),MdcTreeHandlers={toggle_tree:function(O,D){toggleTree(O,D)},"tree_toggle-children":function(O,D){toggleTreeChildren(D,O)}},SearchHandlers={search:function(O,D){let w=`${O.href}`;const U=O.formData.q,F=O.targetval;if(U!==""&&(w=`${w}?q=${U}`),F!==""){let q=F;F.includes("page=")&&(q=F.split("&").filter(W=>!W.includes("page=")).join("&")),w=U!==""?`${w}&${q}`:`${w}?${q}`}this.user.fetchAndSplit(w,D.abortController.signal).then(q=>D.onReplacePartialDom(q,O.zvptarget))},reset_search:function(O,D){const w=O.trigger.closest("form");D.removeFromQParams("q"),w.elements.q.value="",w.dispatchEvent(new Event("submit"))}},QueryParamHandlers={paginate:function(O,D){const w=`${O.href}?${O.targetval}`;this.user.fetchAndSplit(w,D.abortController.signal).then(U=>D.onReplacePartialDom(U,O.zvptarget))},list_filter:function(O,D){const w=`${O.href}?${O.targetval}`;this.user.fetchAndSplit(w,D.abortController.signal).then(U=>D.onReplacePartialDom(U,O.zvptarget))}},handlers=Object.freeze(Object.defineProperty({__proto__:null,MdcTreeHandlers,QueryParamHandlers,SearchHandlers},Symbol.toStringTag,{value:"Module"}));class View extends EVT{#e=void 0;#t=void 0;static viewEventCode(){return UiEventType.VIEW}constructor(){super(),this.panelMap=new Map,this.user_=void 0,this.split_=void 0,this.panelEventMap_=this.initPanelEventsInternal_(),this.switchViewMap_=new Map,this.metaData_=new Map}set recordHistory(D){this.#t=D}get recordHistory(){return this.#t}set registerViewConstructor(D){this.#e=D}get registerViewConstructor(){return this.#e}set split(D){this.split_=D,this.listen(this.split_,UiEventType.SPLIT,w=>{const U=w.detail.getValue(),F=w.detail.getData();switch(U){case UiEventType.SPLIT_WILL_OPEN:this.onSplitWillOpen(F);break;case UiEventType.SPLIT_WILL_CLOSE:this.onSplitWillClose(F);break;case UiEventType.SPLIT_DID_CLOSE:this.onSplitDidClose(F);break;case UiEventType.SPLIT_DID_OPEN:this.onSplitDidOpen(F);break;case UiEventType.SPLIT_TRANSITION_END:break}})}get split(){if(!this.split_)throw new Error("No SPLIT component available");return this.split_}set user(D){this.user_=D,this.panelMap.forEach(w=>w.user=D)}get user(){return this.user_||(this.user_=new UserManager),this.user_}render(){this.initPanelEvents(),this.preRender(),this.configurePanels(),this.displayPanels(),this.postRender()}initPanelEvents(){}preRender(){}configurePanels(){}displayPanels(){}postRender(){}dispose(){[...this.panelMap.values()].forEach(D=>D.dispose()),super.dispose()}addPanelToView(D,w){w.user=this.user,this.removePanelByName(D),this.panelMap.set(D,w),this.listen(w,Panel.panelEventCode(),this.onPanelEvent.bind(this))}removePanelByName(D){this.panelMap.has(D)&&this.panelMap.get(D).dispose()}removePanel(D){const[w,U]=[...this.panelMap.entries()].find(([F,q])=>q===D);w&&U&&(U.dispose(),this.panelMap.delete(w))}getPanelByName(D){return this.panelMap.get(D)}broadcastToPanels(D){[...this.panelMap.values()].forEach(w=>w.onViewDataBroadcast(D))}initPanelEventsInternal_(){const D=new Map;return D.set("destroy_me",(w,U)=>{this.removePanel(U)}),D.set("switch_view",(w,U)=>{this.debugMe("switch_view received: eventData",w);const F=w.view;this.switchViewMap_.has(F)?this.switchViewMap_.get(F)(w,U):this.debugMe("NO VIEW FOUND FOR:",F,this.switchViewMap_)}),Object.entries({...SearchHandlers,...QueryParamHandlers}).forEach(([w,U])=>{D.set(w,U.bind(this))}),D}mapPanEv(D,w){this.panelEventMap_.set(D,w)}mapSwitchView(D,w){this.switchViewMap_.set(D,w)}onPanelEvent(D){const w=D.detail.getValue(),U=D.detail.getData(),F=D.target;this.panelEventMap_.has(w)?this.panelEventMap_.get(w)(U,F):this.debugMe(`NO EVENT MATCH
15
+ oPe: ${D}
16
+ eventValue: ${w}
17
+ eventData: ${JSON.stringify(U,void 0,2)}
18
+ ePanel: ${F.constructor.name}`)}onSplitWillOpen(D){}onSplitWillClose(D){}onSplitDidClose(D){}onSplitDidOpen(D){}dispatchViewEvent(D,w){const U=new ZooyEventData(D,w),F=EVT.makeEvent(UiEventType.VIEW,U);return this.dispatchEvent(F)}get metaData(){return this.metaData_}setMetaData(D,w){return this.metaData_.set(D,w),this.metaData}getMetaData(D){return this.metaData_.get(D)}hasMetaData(D){return this.metaData_.has(D)}}class Conductor extends EVT{#e=new Map;#t=null;#s=void 0;#r=void 0;#n=new Map;constructor(){super(),this.#n=this.#i(),window.addEventListener("popstate",D=>{D.state!==null&&this.navTo(D.state)})}set split(D){this.#r=D}get split(){if(!this.#r)throw new Error("No SPLIT component available");return this.#r}set user(D){this.#s=D,this.#t&&(this.#t.user=this.user)}get user(){return this.#s||(this.#s=new UserManager),this.#s}#i(){return new Map().set("switch_view",(D,w)=>{if(this.#e.has(D.view)){const U=this.#e.get(D.view)(D.pk||D.recordId,D);this.switchView(U)}})}mapViewEv(D,w){this.#n.set(D,w)}registerViewConstructor(D,w){this.#e.set(D,w)}onViewEvent(D){const w=D.detail.getValue(),U=D.detail.getData(),F=D.target;this.#n.has(w)?this.#n.get(w)(U,F):console.warn("Unhandled VIEW Event:",D,w,U,F)}setActiveView(D){this.#t&&(this.stopListeningTo(this.#t),this.#t.dispose(),this.#t=null),this.#t=D,this.#t.render()}initView(D){return D.user=this.user,D.split=this.split,D.recordHistory=this.recordHistory.bind(this),D.registerViewConstructor=this.registerViewConstructor.bind(this),this.listen(D,View.viewEventCode(),this.onViewEvent.bind(this)),D}switchView(D){this.setActiveView(this.initView(D))}recordHistory(D){this.debugMe("HISTORY",D),D.init?history.replaceState(D,"",document.location.href):D.history||history.pushState(D,"",null)}navTo=D=>{D.history=!0;const w=D.view,U=this.#t;if(U.switchViewMap_.has(w))this.debugMe("NAV:VIEW:MAP",D),U.switchViewMap_.get(w)(D);else if(this.#e.has(w)){const F=this.#e.get(w)(D.pk,D);this.debugMe("NAV:NEW:VIEW",D),this.switchView(F)}}}const DEFAULT_FORMATTERS={json:O=>JSON.stringify(O,null,2)};class DataBinder{#e;#t;#s;#r=[];#n;#i;#o;constructor(D={}){if(!D.template)throw new Error("DataBinder requires options.template");if(!D.container)throw new Error("DataBinder requires options.container");if(this.#e=D.url,this.#i=D.dataPath,this.#s=D.container,this.#o=D.fetchFn||fetch.bind(window),this.#t=typeof D.template=="string"?document.getElementById(D.template):D.template,!this.#t||this.#t.tagName!=="TEMPLATE")throw new Error("DataBinder template must be a <template> element or valid template ID");this.#n={...DEFAULT_FORMATTERS,...D.formatters}}async load(D={}){if(!this.#e)throw new Error("DataBinder.load() requires a configured URL");this.#c("data-loading");try{const w=new URL(this.#e,window.location.origin);Object.entries(D).forEach(([q,W])=>{isDefAndNotNull(W)&&w.searchParams.set(q,W)});const U=await this.#o(w.toString()),F=U instanceof Response?U.ok?await U.json():Promise.reject(new Error(`HTTP ${U.status}: ${U.statusText}`)):U;if(this.#r=this.#u(F),!Array.isArray(this.#r))throw new Error("Extracted data is not an array");return this.render(),this.#c("data-loaded",{data:this.#r}),this.#r}catch(w){throw this.#c("data-error",{error:w}),w}}setData(D){this.#r=Array.isArray(D)?D:[],this.render()}getData(){return this.#r}render(){this.#s.innerHTML="",this.#r.forEach((D,w)=>{const U=this.#a(D,w);this.#s.appendChild(U)})}dispose(){this.#r=[],this.#s.innerHTML="",this.#t=null,this.#s=null}#a(D,w){const U=this.#t.content.cloneNode(!0);return this.#d(U,D,w),U.querySelectorAll("[data-bind]").forEach(F=>{this.#h(F,D,w)}),U.querySelectorAll("[data-show-if]").forEach(F=>{const q=F.getAttribute("data-show-if");this.#l(D,q,w)||F.remove()}),U.querySelectorAll("[data-hide-if]").forEach(F=>{const q=F.getAttribute("data-hide-if");this.#l(D,q,w)&&F.remove()}),U.querySelectorAll("[data-bind]").forEach(F=>{F.removeAttribute("data-bind"),F.removeAttribute("data-format")}),U.querySelectorAll("[data-bind-attr]").forEach(F=>{F.removeAttribute("data-bind-attr")}),U.querySelectorAll("[data-show-if]").forEach(F=>{F.removeAttribute("data-show-if")}),U.querySelectorAll("[data-hide-if]").forEach(F=>{F.removeAttribute("data-hide-if")}),U}#h(D,w,U){const F=D.getAttribute("data-bind"),q=D.getAttribute("data-format");let W=this.#l(w,F,U);q&&this.#n[q]&&(W=this.#n[q](W,w)),D.textContent=W??""}#d(D,w,U){D.querySelectorAll("[data-bind-attr]").forEach(F=>{F.getAttribute("data-bind-attr").split(",").forEach(W=>{const[X,G]=W.split(":").map(K=>K.trim());if(X&&G){const K=this.#l(w,G,U);isDefAndNotNull(K)&&F.setAttribute(X,K)}})})}#l(D,w,U){return w==="$index"?U:w==="$index1"?U+1:w.split(".").reduce((F,q)=>F?.[q],D)}#u(D){return this.#i?this.#i.split(".").reduce((w,U)=>w?.[U],D):D.rows?D.rows:D.data?D.data:D.items?D.items:Array.isArray(D)?D:(console.warn("DataBinder: Could not extract data array from response",D),[])}#c(D,w={}){this.#s.dispatchEvent(new CustomEvent(D,{detail:w,bubbles:!0}))}}const SEMANTIC_ATTRIBUTES=["event","change-event","open-event","close-event","primary-event","record-id","record-type","endpoint","url","action","method","target"],ATTRIBUTE_TO_PROPERTY={event:"event","change-event":"changeEvent","open-event":"openEvent","close-event":"closeEvent","primary-event":"primaryEvent","record-id":"recordId","record-type":"recordType",endpoint:"endpoint",url:"url",action:"action",method:"method",target:"target"},getSemanticAttributes=O=>{const D={};return SEMANTIC_ATTRIBUTES.forEach(w=>{const U=O.getAttribute(w);if(U!==null){const F=ATTRIBUTE_TO_PROPERTY[w];D[F]=U}}),Array.from(O.attributes).forEach(w=>{if(w.name.startsWith("data-")){const U=w.name.slice(5).replace(/-([a-z])/g,(F,q)=>q.toUpperCase());D[U]=w.value}}),D},getEventName=O=>O.getAttribute("event"),getEventAttribute=(O,D,w="event")=>O.getAttribute(D)||O.getAttribute(w);/**
19
+ * @license
20
+ * Copyright 2019 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */const t$1=globalThis,e$2=t$1.ShadowRoot&&(t$1.ShadyCSS===void 0||t$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$3=new WeakMap;let n$2=class{constructor(D,w,U){if(this._$cssResult$=!0,U!==s$2)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=D,this.t=w}get styleSheet(){let D=this.o;const w=this.t;if(e$2&&D===void 0){const U=w!==void 0&&w.length===1;U&&(D=o$3.get(w)),D===void 0&&((this.o=D=new CSSStyleSheet).replaceSync(this.cssText),U&&o$3.set(w,D))}return D}toString(){return this.cssText}};const r$2=O=>new n$2(typeof O=="string"?O:O+"",void 0,s$2),i$3=(O,...D)=>{const w=O.length===1?O[0]:D.reduce(((U,F,q)=>U+(W=>{if(W._$cssResult$===!0)return W.cssText;if(typeof W=="number")return W;throw Error("Value passed to 'css' function must be a 'css' function result: "+W+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(F)+O[q+1]),O[0]);return new n$2(w,O,s$2)},S$1=(O,D)=>{if(e$2)O.adoptedStyleSheets=D.map((w=>w instanceof CSSStyleSheet?w:w.styleSheet));else for(const w of D){const U=document.createElement("style"),F=t$1.litNonce;F!==void 0&&U.setAttribute("nonce",F),U.textContent=w.cssText,O.appendChild(U)}},c$2=e$2?O=>O:O=>O instanceof CSSStyleSheet?(D=>{let w="";for(const U of D.cssRules)w+=U.cssText;return r$2(w)})(O):O;/**
23
+ * @license
24
+ * Copyright 2017 Google LLC
25
+ * SPDX-License-Identifier: BSD-3-Clause
26
+ */const{is:i$2,defineProperty:e$1,getOwnPropertyDescriptor:h$1,getOwnPropertyNames:r$1,getOwnPropertySymbols:o$2,getPrototypeOf:n$1}=Object,a$1=globalThis,c$1=a$1.trustedTypes,l$1=c$1?c$1.emptyScript:"",p$1=a$1.reactiveElementPolyfillSupport,d$1=(O,D)=>O,u$1={toAttribute(O,D){switch(D){case Boolean:O=O?l$1:null;break;case Object:case Array:O=O==null?O:JSON.stringify(O)}return O},fromAttribute(O,D){let w=O;switch(D){case Boolean:w=O!==null;break;case Number:w=O===null?null:Number(O);break;case Object:case Array:try{w=JSON.parse(O)}catch{w=null}}return w}},f$1=(O,D)=>!i$2(O,D),b$1={attribute:!0,type:String,converter:u$1,reflect:!1,useDefault:!1,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$1.litPropertyMetadata??=new WeakMap;let y$1=class extends HTMLElement{static addInitializer(D){this._$Ei(),(this.l??=[]).push(D)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(D,w=b$1){if(w.state&&(w.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(D)&&((w=Object.create(w)).wrapped=!0),this.elementProperties.set(D,w),!w.noAccessor){const U=Symbol(),F=this.getPropertyDescriptor(D,U,w);F!==void 0&&e$1(this.prototype,D,F)}}static getPropertyDescriptor(D,w,U){const{get:F,set:q}=h$1(this.prototype,D)??{get(){return this[w]},set(W){this[w]=W}};return{get:F,set(W){const X=F?.call(this);q?.call(this,W),this.requestUpdate(D,X,U)},configurable:!0,enumerable:!0}}static getPropertyOptions(D){return this.elementProperties.get(D)??b$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const D=n$1(this);D.finalize(),D.l!==void 0&&(this.l=[...D.l]),this.elementProperties=new Map(D.elementProperties)}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const w=this.properties,U=[...r$1(w),...o$2(w)];for(const F of U)this.createProperty(F,w[F])}const D=this[Symbol.metadata];if(D!==null){const w=litPropertyMetadata.get(D);if(w!==void 0)for(const[U,F]of w)this.elementProperties.set(U,F)}this._$Eh=new Map;for(const[w,U]of this.elementProperties){const F=this._$Eu(w,U);F!==void 0&&this._$Eh.set(F,w)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(D){const w=[];if(Array.isArray(D)){const U=new Set(D.flat(1/0).reverse());for(const F of U)w.unshift(c$2(F))}else D!==void 0&&w.push(c$2(D));return w}static _$Eu(D,w){const U=w.attribute;return U===!1?void 0:typeof U=="string"?U:typeof D=="string"?D.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((D=>this.enableUpdating=D)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((D=>D(this)))}addController(D){(this._$EO??=new Set).add(D),this.renderRoot!==void 0&&this.isConnected&&D.hostConnected?.()}removeController(D){this._$EO?.delete(D)}_$E_(){const D=new Map,w=this.constructor.elementProperties;for(const U of w.keys())this.hasOwnProperty(U)&&(D.set(U,this[U]),delete this[U]);D.size>0&&(this._$Ep=D)}createRenderRoot(){const D=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(D,this.constructor.elementStyles),D}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((D=>D.hostConnected?.()))}enableUpdating(D){}disconnectedCallback(){this._$EO?.forEach((D=>D.hostDisconnected?.()))}attributeChangedCallback(D,w,U){this._$AK(D,U)}_$ET(D,w){const U=this.constructor.elementProperties.get(D),F=this.constructor._$Eu(D,U);if(F!==void 0&&U.reflect===!0){const q=(U.converter?.toAttribute!==void 0?U.converter:u$1).toAttribute(w,U.type);this._$Em=D,q==null?this.removeAttribute(F):this.setAttribute(F,q),this._$Em=null}}_$AK(D,w){const U=this.constructor,F=U._$Eh.get(D);if(F!==void 0&&this._$Em!==F){const q=U.getPropertyOptions(F),W=typeof q.converter=="function"?{fromAttribute:q.converter}:q.converter?.fromAttribute!==void 0?q.converter:u$1;this._$Em=F;const X=W.fromAttribute(w,q.type);this[F]=X??this._$Ej?.get(F)??X,this._$Em=null}}requestUpdate(D,w,U){if(D!==void 0){const F=this.constructor,q=this[D];if(U??=F.getPropertyOptions(D),!((U.hasChanged??f$1)(q,w)||U.useDefault&&U.reflect&&q===this._$Ej?.get(D)&&!this.hasAttribute(F._$Eu(D,U))))return;this.C(D,w,U)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(D,w,{useDefault:U,reflect:F,wrapped:q},W){U&&!(this._$Ej??=new Map).has(D)&&(this._$Ej.set(D,W??w??this[D]),q!==!0||W!==void 0)||(this._$AL.has(D)||(this.hasUpdated||U||(w=void 0),this._$AL.set(D,w)),F===!0&&this._$Em!==D&&(this._$Eq??=new Set).add(D))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(w){Promise.reject(w)}const D=this.scheduleUpdate();return D!=null&&await D,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[F,q]of this._$Ep)this[F]=q;this._$Ep=void 0}const U=this.constructor.elementProperties;if(U.size>0)for(const[F,q]of U){const{wrapped:W}=q,X=this[F];W!==!0||this._$AL.has(F)||X===void 0||this.C(F,void 0,q,X)}}let D=!1;const w=this._$AL;try{D=this.shouldUpdate(w),D?(this.willUpdate(w),this._$EO?.forEach((U=>U.hostUpdate?.())),this.update(w)):this._$EM()}catch(U){throw D=!1,this._$EM(),U}D&&this._$AE(w)}willUpdate(D){}_$AE(D){this._$EO?.forEach((w=>w.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(D)),this.updated(D)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(D){return!0}update(D){this._$Eq&&=this._$Eq.forEach((w=>this._$ET(w,this[w]))),this._$EM()}updated(D){}firstUpdated(D){}};y$1.elementStyles=[],y$1.shadowRootOptions={mode:"open"},y$1[d$1("elementProperties")]=new Map,y$1[d$1("finalized")]=new Map,p$1?.({ReactiveElement:y$1}),(a$1.reactiveElementVersions??=[]).push("2.1.1");/**
27
+ * @license
28
+ * Copyright 2017 Google LLC
29
+ * SPDX-License-Identifier: BSD-3-Clause
30
+ */const t=globalThis,i$1=t.trustedTypes,s$1=i$1?i$1.createPolicy("lit-html",{createHTML:O=>O}):void 0,e="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o$1="?"+h,n=`<${o$1}>`,r=document,l=()=>r.createComment(""),c=O=>O===null||typeof O!="object"&&typeof O!="function",a=Array.isArray,u=O=>a(O)||typeof O?.[Symbol.iterator]=="function",d=`[
31
+ \f\r]`,f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^
32
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=O=>(D,...w)=>({_$litType$:O,strings:D,values:w}),x=y(1),b=y(2),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(O,D){if(!a(O)||!O.hasOwnProperty("raw"))throw Error("invalid template strings array");return s$1!==void 0?s$1.createHTML(D):D}const V=(O,D)=>{const w=O.length-1,U=[];let F,q=D===2?"<svg>":D===3?"<math>":"",W=f;for(let X=0;X<w;X++){const G=O[X];let K,Q,ee=-1,J=0;for(;J<G.length&&(W.lastIndex=J,Q=W.exec(G),Q!==null);)J=W.lastIndex,W===f?Q[1]==="!--"?W=v:Q[1]!==void 0?W=_:Q[2]!==void 0?($.test(Q[2])&&(F=RegExp("</"+Q[2],"g")),W=m):Q[3]!==void 0&&(W=m):W===m?Q[0]===">"?(W=F??f,ee=-1):Q[1]===void 0?ee=-2:(ee=W.lastIndex-Q[2].length,K=Q[1],W=Q[3]===void 0?m:Q[3]==='"'?g:p):W===g||W===p?W=m:W===v||W===_?W=f:(W=m,F=void 0);const Y=W===m&&O[X+1].startsWith("/>")?" ":"";q+=W===f?G+n:ee>=0?(U.push(K),G.slice(0,ee)+e+G.slice(ee)+h+Y):G+h+(ee===-2?X:Y)}return[P(O,q+(O[w]||"<?>")+(D===2?"</svg>":D===3?"</math>":"")),U]};class N{constructor({strings:D,_$litType$:w},U){let F;this.parts=[];let q=0,W=0;const X=D.length-1,G=this.parts,[K,Q]=V(D,w);if(this.el=N.createElement(K,U),C.currentNode=this.el.content,w===2||w===3){const ee=this.el.content.firstChild;ee.replaceWith(...ee.childNodes)}for(;(F=C.nextNode())!==null&&G.length<X;){if(F.nodeType===1){if(F.hasAttributes())for(const ee of F.getAttributeNames())if(ee.endsWith(e)){const J=Q[W++],Y=F.getAttribute(ee).split(h),Z=/([.?@])?(.*)/.exec(J);G.push({type:1,index:q,name:Z[2],strings:Y,ctor:Z[1]==="."?H:Z[1]==="?"?I:Z[1]==="@"?L:k}),F.removeAttribute(ee)}else ee.startsWith(h)&&(G.push({type:6,index:q}),F.removeAttribute(ee));if($.test(F.tagName)){const ee=F.textContent.split(h),J=ee.length-1;if(J>0){F.textContent=i$1?i$1.emptyScript:"";for(let Y=0;Y<J;Y++)F.append(ee[Y],l()),C.nextNode(),G.push({type:2,index:++q});F.append(ee[J],l())}}}else if(F.nodeType===8)if(F.data===o$1)G.push({type:2,index:q});else{let ee=-1;for(;(ee=F.data.indexOf(h,ee+1))!==-1;)G.push({type:7,index:q}),ee+=h.length-1}q++}}static createElement(D,w){const U=r.createElement("template");return U.innerHTML=D,U}}function S(O,D,w=O,U){if(D===T)return D;let F=U!==void 0?w._$Co?.[U]:w._$Cl;const q=c(D)?void 0:D._$litDirective$;return F?.constructor!==q&&(F?._$AO?.(!1),q===void 0?F=void 0:(F=new q(O),F._$AT(O,w,U)),U!==void 0?(w._$Co??=[])[U]=F:w._$Cl=F),F!==void 0&&(D=S(O,F._$AS(O,D.values),F,U)),D}class M{constructor(D,w){this._$AV=[],this._$AN=void 0,this._$AD=D,this._$AM=w}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(D){const{el:{content:w},parts:U}=this._$AD,F=(D?.creationScope??r).importNode(w,!0);C.currentNode=F;let q=C.nextNode(),W=0,X=0,G=U[0];for(;G!==void 0;){if(W===G.index){let K;G.type===2?K=new R(q,q.nextSibling,this,D):G.type===1?K=new G.ctor(q,G.name,G.strings,this,D):G.type===6&&(K=new z(q,this,D)),this._$AV.push(K),G=U[++X]}W!==G?.index&&(q=C.nextNode(),W++)}return C.currentNode=r,F}p(D){let w=0;for(const U of this._$AV)U!==void 0&&(U.strings!==void 0?(U._$AI(D,U,w),w+=U.strings.length-2):U._$AI(D[w])),w++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(D,w,U,F){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=D,this._$AB=w,this._$AM=U,this.options=F,this._$Cv=F?.isConnected??!0}get parentNode(){let D=this._$AA.parentNode;const w=this._$AM;return w!==void 0&&D?.nodeType===11&&(D=w.parentNode),D}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(D,w=this){D=S(this,D,w),c(D)?D===E||D==null||D===""?(this._$AH!==E&&this._$AR(),this._$AH=E):D!==this._$AH&&D!==T&&this._(D):D._$litType$!==void 0?this.$(D):D.nodeType!==void 0?this.T(D):u(D)?this.k(D):this._(D)}O(D){return this._$AA.parentNode.insertBefore(D,this._$AB)}T(D){this._$AH!==D&&(this._$AR(),this._$AH=this.O(D))}_(D){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=D:this.T(r.createTextNode(D)),this._$AH=D}$(D){const{values:w,_$litType$:U}=D,F=typeof U=="number"?this._$AC(D):(U.el===void 0&&(U.el=N.createElement(P(U.h,U.h[0]),this.options)),U);if(this._$AH?._$AD===F)this._$AH.p(w);else{const q=new M(F,this),W=q.u(this.options);q.p(w),this.T(W),this._$AH=q}}_$AC(D){let w=A.get(D.strings);return w===void 0&&A.set(D.strings,w=new N(D)),w}k(D){a(this._$AH)||(this._$AH=[],this._$AR());const w=this._$AH;let U,F=0;for(const q of D)F===w.length?w.push(U=new R(this.O(l()),this.O(l()),this,this.options)):U=w[F],U._$AI(q),F++;F<w.length&&(this._$AR(U&&U._$AB.nextSibling,F),w.length=F)}_$AR(D=this._$AA.nextSibling,w){for(this._$AP?.(!1,!0,w);D!==this._$AB;){const U=D.nextSibling;D.remove(),D=U}}setConnected(D){this._$AM===void 0&&(this._$Cv=D,this._$AP?.(D))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(D,w,U,F,q){this.type=1,this._$AH=E,this._$AN=void 0,this.element=D,this.name=w,this._$AM=F,this.options=q,U.length>2||U[0]!==""||U[1]!==""?(this._$AH=Array(U.length-1).fill(new String),this.strings=U):this._$AH=E}_$AI(D,w=this,U,F){const q=this.strings;let W=!1;if(q===void 0)D=S(this,D,w,0),W=!c(D)||D!==this._$AH&&D!==T,W&&(this._$AH=D);else{const X=D;let G,K;for(D=q[0],G=0;G<q.length-1;G++)K=S(this,X[U+G],w,G),K===T&&(K=this._$AH[G]),W||=!c(K)||K!==this._$AH[G],K===E?D=E:D!==E&&(D+=(K??"")+q[G+1]),this._$AH[G]=K}W&&!F&&this.j(D)}j(D){D===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,D??"")}}class H extends k{constructor(){super(...arguments),this.type=3}j(D){this.element[this.name]=D===E?void 0:D}}class I extends k{constructor(){super(...arguments),this.type=4}j(D){this.element.toggleAttribute(this.name,!!D&&D!==E)}}class L extends k{constructor(D,w,U,F,q){super(D,w,U,F,q),this.type=5}_$AI(D,w=this){if((D=S(this,D,w,0)??E)===T)return;const U=this._$AH,F=D===E&&U!==E||D.capture!==U.capture||D.once!==U.once||D.passive!==U.passive,q=D!==E&&(U===E||F);F&&this.element.removeEventListener(this.name,this,U),q&&this.element.addEventListener(this.name,this,D),this._$AH=D}handleEvent(D){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,D):this._$AH.handleEvent(D)}}class z{constructor(D,w,U){this.element=D,this.type=6,this._$AN=void 0,this._$AM=w,this.options=U}get _$AU(){return this._$AM._$AU}_$AI(D){S(this,D)}}const j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push("3.3.1");const B=(O,D,w)=>{const U=w?.renderBefore??D;let F=U._$litPart$;if(F===void 0){const q=w?.renderBefore??null;U._$litPart$=F=new R(D.insertBefore(l(),q),q,void 0,w??{})}return F._$AI(O),F};/**
33
+ * @license
34
+ * Copyright 2017 Google LLC
35
+ * SPDX-License-Identifier: BSD-3-Clause
36
+ */const s=globalThis;class i extends y$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const D=super.createRenderRoot();return this.renderOptions.renderBefore??=D.firstChild,D}update(D){const w=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(D),this._$Do=B(w,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return T}}i._$litElement$=!0,i.finalized=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});(s.litElementVersions??=[]).push("4.2.1");class ZooTag extends i{static properties={token:{type:String}};static styles=i$3`
37
+ :host {
38
+ display: inline-block;
39
+ }
40
+
41
+ .tag {
42
+ display: inline-flex;
43
+ align-items: center;
44
+ min-height: 1.5rem;
45
+ max-width: 100%;
46
+ min-width: 2rem;
47
+ padding: 0 0.5rem;
48
+ border-radius: 0.9375rem;
49
+ font-size: 0.75rem;
50
+ font-weight: 400;
51
+ line-height: 1.33333;
52
+ letter-spacing: 0.32px;
53
+ white-space: nowrap;
54
+ word-break: break-word;
55
+ box-sizing: border-box;
56
+ }
57
+ `;render(){const D=this.token??"default";return x`
58
+ <span
59
+ class="tag"
60
+ style="
61
+ background-color: var(--zoo-tag-${D}-bg, var(--zoo-tag-default-bg, #9e9e9e));
62
+ color: var(--zoo-tag-${D}-fg, var(--zoo-tag-default-fg, #ffffff));
63
+ "
64
+ >
65
+ <slot></slot>
66
+ </span>
67
+ `}}customElements.get("zoo-tag")||customElements.define("zoo-tag",ZooTag);const zoo=Object.freeze(Object.defineProperty({__proto__:null,SEMANTIC_ATTRIBUTES,ZooTag,getEventAttribute,getEventName,getSemanticAttributes},Symbol.toStringTag,{value:"Module"}));async function registerCarbonLibrary(){const{registerCarbonLibrary:O}=await Promise.resolve().then(()=>require("./register-B533U9U9.js"));return O()}async function registerMdcLibrary(){const{registerMdcLibrary:O}=await Promise.resolve().then(()=>require("./register-BO2Fr57T.js"));return O()}const zooy={EVT,Component,Dragger,Panel,FormPanel,Split,UserManager,View,Conductor,DataBinder,UiEventType,domUtils,uriUtils,registerCarbonLibrary,registerMdcLibrary,ComponentLibraryRegistry,handlers,zoo};exports.B=B;exports.Component=Component;exports.ComponentLibraryRegistry=ComponentLibraryRegistry;exports.Conductor=Conductor;exports.DataBinder=DataBinder;exports.Dragger=Dragger;exports.E=E;exports.EVT=EVT;exports.FormPanel=FormPanel;exports.Panel=Panel;exports.Split=Split;exports.T=T;exports.UiEventType=UiEventType;exports.UserManager=UserManager;exports.View=View;exports.b=b;exports.domUtils=domUtils;exports.f=f$1;exports.getElDataMap=getElDataMap;exports.getEventAttribute=getEventAttribute;exports.getSemanticAttributes=getSemanticAttributes;exports.handlers=handlers;exports.i=i;exports.i$1=i$3;exports.isDefAndNotNull=isDefAndNotNull;exports.registerCarbonLibrary=registerCarbonLibrary;exports.registerMdcLibrary=registerMdcLibrary;exports.toLowerCase=toLowerCase;exports.treeUtils=treeUtils;exports.u=u$1;exports.uriUtils=uriUtils;exports.x=x;exports.zoo=zoo;exports.zooy=zooy;