optikos 0.5.0 → 0.5.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 (292) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/build.js +1 -1
  3. package/dist/{chunk-EO777UIN.js → chunk-4DW5WBZB.js} +2 -2
  4. package/dist/chunk-4QAHVGGE.js +2 -0
  5. package/dist/chunk-4QAHVGGE.js.map +7 -0
  6. package/dist/{chunk-I5A74NMJ.js → chunk-4Z4E3BZ2.js} +2 -2
  7. package/dist/{chunk-5G5PHOZJ.js → chunk-5H533QXN.js} +2 -2
  8. package/dist/{chunk-632LUU52.js → chunk-5KJ5Y4GY.js} +2 -2
  9. package/dist/{chunk-LXWCTCZV.js → chunk-5WE2JOBY.js} +2 -2
  10. package/dist/{chunk-SEW5OCQF.js → chunk-6IXVTWFH.js} +2 -2
  11. package/dist/{chunk-MM2OC66E.js → chunk-6S4BKUGD.js} +2 -2
  12. package/dist/{chunk-CWIE74NX.js → chunk-6VWSTY32.js} +2 -2
  13. package/dist/{chunk-NWHH3CYH.js → chunk-72ESP5DB.js} +2 -2
  14. package/dist/{chunk-2CVMT3IW.js → chunk-74IVU356.js} +2 -2
  15. package/dist/{chunk-UUAGMZD2.js → chunk-76A4MY7P.js} +2 -2
  16. package/dist/{chunk-3BG75P7T.js → chunk-7SE4B4TC.js} +2 -2
  17. package/dist/{chunk-PGVLRMTQ.js → chunk-A5N2AJCE.js} +2 -2
  18. package/dist/{chunk-ZEIE2OCQ.js → chunk-ALNUVKDT.js} +2 -2
  19. package/dist/{chunk-37PYJAA2.js → chunk-ANR27GED.js} +2 -2
  20. package/dist/{chunk-J2TCHWYD.js → chunk-AZUWS2C5.js} +2 -2
  21. package/dist/{chunk-S3ILIWSW.js → chunk-BHKI2SU3.js} +2 -2
  22. package/dist/{chunk-GZIDE5K2.js → chunk-BIQX75P2.js} +2 -2
  23. package/dist/{chunk-MQEALOU3.js → chunk-BPCD37A2.js} +2 -2
  24. package/dist/{chunk-GLAY4RJF.js → chunk-CGSCBLG2.js} +2 -2
  25. package/dist/{chunk-T5OGUCY2.js → chunk-DHUBCB4H.js} +2 -2
  26. package/dist/{chunk-2I4Y7I7C.js → chunk-EKRWJJ65.js} +2 -2
  27. package/dist/chunk-EO2IXU2W.js +2 -0
  28. package/dist/chunk-EO2IXU2W.js.map +7 -0
  29. package/dist/{chunk-Z6HZY2YG.js → chunk-EQ4IWYLW.js} +2 -2
  30. package/dist/{chunk-5PYJ6FJK.js → chunk-EXBGOHG7.js} +2 -2
  31. package/dist/{chunk-U25QSLAH.js → chunk-FTZMF2QX.js} +2 -2
  32. package/dist/{chunk-XNRZJP4E.js → chunk-G7NNOLOG.js} +2 -2
  33. package/dist/chunk-GPEA3UWY.js +2 -0
  34. package/dist/chunk-GPEA3UWY.js.map +7 -0
  35. package/dist/{chunk-4OB2IM5L.js → chunk-GX32KEG2.js} +2 -2
  36. package/dist/{chunk-G26R2F3W.js → chunk-GYGX4VYF.js} +2 -2
  37. package/dist/{chunk-BIGL3ZVD.js → chunk-H2EC3QP4.js} +2 -2
  38. package/dist/{chunk-HRW25TMU.js → chunk-H2KFAM7L.js} +2 -2
  39. package/dist/{chunk-6PPRYSLN.js → chunk-HHOSKOO6.js} +2 -2
  40. package/dist/{chunk-3OA3P37P.js → chunk-I5KHVFJ4.js} +2 -2
  41. package/dist/{chunk-L6DOWGBO.js → chunk-IB5T27PW.js} +2 -2
  42. package/dist/{chunk-JBOKM5YA.js → chunk-IE7KRNFJ.js} +2 -2
  43. package/dist/{chunk-3FK52VQX.js → chunk-J2YP2YD3.js} +2 -2
  44. package/dist/{chunk-OADWLPSF.js → chunk-J6D4T4WY.js} +2 -2
  45. package/dist/{chunk-H25XXQVH.js → chunk-JF4WPGJQ.js} +2 -2
  46. package/dist/chunk-K44IJHPF.js +2 -0
  47. package/dist/{chunk-UDXO3KM3.js → chunk-KMBTJ5AG.js} +2 -2
  48. package/dist/chunk-KMBTJ5AG.js.map +7 -0
  49. package/dist/chunk-KNWO4NXX.js +2 -0
  50. package/dist/chunk-KNWO4NXX.js.map +7 -0
  51. package/dist/{chunk-NEVDHDJ4.js → chunk-KP7O5MVL.js} +2 -2
  52. package/dist/{chunk-ESRS5ZQV.js → chunk-KVUELLYF.js} +2 -2
  53. package/dist/{chunk-AJN66F32.js → chunk-LRUKKIYA.js} +2 -2
  54. package/dist/{chunk-A36JFIA3.js → chunk-M2XOIEPY.js} +2 -2
  55. package/dist/{chunk-SEUIIPHS.js → chunk-MBRCE5A7.js} +2 -2
  56. package/dist/{chunk-ADHKL2GM.js → chunk-MMPPDQ2E.js} +2 -2
  57. package/dist/{chunk-BTGJ3MP4.js → chunk-MRDX3RVJ.js} +2 -2
  58. package/dist/{chunk-FSR6BDVO.js → chunk-NAWQBQ57.js} +2 -2
  59. package/dist/{chunk-6NP4AEV4.js → chunk-NBR5IRZT.js} +2 -2
  60. package/dist/chunk-NSUAVAWO.js +2 -0
  61. package/dist/chunk-NSUAVAWO.js.map +7 -0
  62. package/dist/chunk-NYXRPWIB.js +2 -0
  63. package/dist/chunk-NYXRPWIB.js.map +7 -0
  64. package/dist/{chunk-MGSCSS7X.js → chunk-OK3SN5PN.js} +2 -2
  65. package/dist/{chunk-6TZJO2G2.js → chunk-OQFQDTLL.js} +2 -2
  66. package/dist/chunk-OVEQUN4V.js +2 -0
  67. package/dist/chunk-OVEQUN4V.js.map +7 -0
  68. package/dist/{chunk-RMATRKXV.js → chunk-PMIIQMVH.js} +2 -2
  69. package/dist/{chunk-DIOJGTUN.js → chunk-QT5JRZZJ.js} +2 -2
  70. package/dist/{chunk-J5BZAKC6.js → chunk-R52OSARY.js} +2 -2
  71. package/dist/{chunk-QVBDBGS4.js → chunk-RI62AESU.js} +2 -2
  72. package/dist/{chunk-6BOM5KZR.js → chunk-RRGAJ7T4.js} +2 -2
  73. package/dist/{chunk-LHWY6G6Q.js → chunk-SQTM4QFP.js} +2 -2
  74. package/dist/{chunk-M7HLHGQV.js → chunk-TAFHKT6O.js} +2 -2
  75. package/dist/{chunk-3TCITFUU.js → chunk-TBM35UV6.js} +2 -2
  76. package/dist/{chunk-FNZI6MFG.js → chunk-TBOQ6HZZ.js} +2 -2
  77. package/dist/{chunk-GEJKFE4X.js → chunk-TJJL2GSJ.js} +2 -2
  78. package/dist/{chunk-3F4MN2BU.js → chunk-TJXH3F7Z.js} +2 -2
  79. package/dist/{chunk-BQEFLPDA.js → chunk-U5RENLU4.js} +2 -2
  80. package/dist/chunk-U5RENLU4.js.map +7 -0
  81. package/dist/chunk-UXL7KG46.js +2 -0
  82. package/dist/chunk-UXL7KG46.js.map +7 -0
  83. package/dist/{chunk-BRGT4O6Q.js → chunk-VADYSXHY.js} +2 -2
  84. package/dist/{chunk-Q6FY4L2F.js → chunk-VBLCO5Q7.js} +2 -2
  85. package/dist/{chunk-ESCLDVFS.js → chunk-VCK5WWMQ.js} +2 -2
  86. package/dist/{chunk-BCVOUMJJ.js → chunk-VCYCNSJY.js} +2 -2
  87. package/dist/{chunk-OB3VIRQR.js → chunk-VOCGAAG7.js} +2 -2
  88. package/dist/{chunk-CXZKCBQE.js → chunk-WHWPLMIG.js} +2 -2
  89. package/dist/{chunk-5GCTM37D.js → chunk-WVJSNE6Q.js} +2 -2
  90. package/dist/{chunk-UCWICDYG.js → chunk-WWETTEUZ.js} +2 -2
  91. package/dist/{chunk-2I7HDIOU.js → chunk-XI4IBUE3.js} +2 -2
  92. package/dist/{chunk-ZLYZFHEN.js → chunk-YAKKOVRI.js} +2 -2
  93. package/dist/{chunk-HG7OOHGD.js → chunk-YF5GWNM7.js} +2 -2
  94. package/dist/{chunk-QOSTS5I3.js → chunk-YRCR5ELY.js} +2 -2
  95. package/dist/{chunk-UL364TLO.js → chunk-YVEGWCYD.js} +2 -2
  96. package/dist/{chunk-MQ5BYGFY.js → chunk-ZYHMTPW4.js} +2 -2
  97. package/dist/components/alert.js +2 -0
  98. package/dist/components/alert.js.map +7 -0
  99. package/dist/components/avatar.js +1 -1
  100. package/dist/components/badge.js +1 -1
  101. package/dist/components/breadcrumb.js +1 -1
  102. package/dist/components/button.js +1 -1
  103. package/dist/components/calendar.js +1 -1
  104. package/dist/components/carousel.js +1 -1
  105. package/dist/components/chart.js +1 -1
  106. package/dist/components/chat.js +1 -1
  107. package/dist/components/checkbox.js +1 -1
  108. package/dist/components/checkboxgroup.js +1 -1
  109. package/dist/components/chip.js +1 -1
  110. package/dist/components/codeviewer.js +1 -1
  111. package/dist/components/columntotals.js +1 -1
  112. package/dist/components/combobox.js +1 -1
  113. package/dist/components/commandpalette.js +1 -1
  114. package/dist/components/container.js +1 -1
  115. package/dist/components/dataview.js +1 -1
  116. package/dist/components/datefield.js +1 -1
  117. package/dist/components/daterangefield.js +1 -1
  118. package/dist/components/datetimefield.js +1 -1
  119. package/dist/components/dial.js +1 -1
  120. package/dist/components/dropdown.js +1 -1
  121. package/dist/components/exportbar.js +1 -1
  122. package/dist/components/fieldgroup.js +1 -1
  123. package/dist/components/fieldlist.js +1 -1
  124. package/dist/components/fieldset.js +1 -1
  125. package/dist/components/filterbuilder.js +1 -1
  126. package/dist/components/form.js +1 -1
  127. package/dist/components/formactions.js +1 -1
  128. package/dist/components/formerrors.js +1 -1
  129. package/dist/components/formsection.js +1 -1
  130. package/dist/components/grid.js +1 -1
  131. package/dist/components/grouping.js +1 -1
  132. package/dist/components/icon.js +1 -1
  133. package/dist/components/image.js +1 -1
  134. package/dist/components/imagecanvas.js +1 -1
  135. package/dist/components/imagefield.js +1 -1
  136. package/dist/components/inputgroup.js +1 -1
  137. package/dist/components/label.js +1 -1
  138. package/dist/components/listbox.js +1 -1
  139. package/dist/components/lookupfield.js +1 -1
  140. package/dist/components/maskfield.js +1 -1
  141. package/dist/components/menu.js +1 -1
  142. package/dist/components/messagebox.js +1 -1
  143. package/dist/components/navmenu.js +1 -1
  144. package/dist/components/numberfield.js +1 -1
  145. package/dist/components/pagination.js +1 -1
  146. package/dist/components/panel.js +1 -1
  147. package/dist/components/pickerfield.js +1 -1
  148. package/dist/components/quicksearch.js +2 -0
  149. package/dist/components/quicksearch.js.map +7 -0
  150. package/dist/components/radiogroup.js +1 -1
  151. package/dist/components/searchgrid.js +1 -1
  152. package/dist/components/secretfield.js +1 -1
  153. package/dist/components/select.js +1 -1
  154. package/dist/components/shortcuts.js +1 -1
  155. package/dist/components/slider.js +1 -1
  156. package/dist/components/spacer.js +1 -1
  157. package/dist/components/spinner.js +1 -1
  158. package/dist/components/stat.js +1 -1
  159. package/dist/components/stepform.js +1 -1
  160. package/dist/components/stepper.js +1 -1
  161. package/dist/components/suggestfield.js +1 -1
  162. package/dist/components/table.js +1 -1
  163. package/dist/components/tabs.js +1 -1
  164. package/dist/components/textarea.js +1 -1
  165. package/dist/components/textfield.js +1 -1
  166. package/dist/components/timefield.js +1 -1
  167. package/dist/components/timeline.js +1 -1
  168. package/dist/components/toast.js +1 -1
  169. package/dist/components/toggle.js +1 -1
  170. package/dist/components/toolbar.js +1 -1
  171. package/dist/components/tree.js +1 -1
  172. package/dist/components/treegrid.js +1 -1
  173. package/dist/components/viewmanager.js +1 -1
  174. package/dist/components/viewport.js +1 -1
  175. package/dist/components/widget.js +1 -1
  176. package/dist/components/window.js +1 -1
  177. package/dist/core.js +1 -1
  178. package/dist/css/alert.css +60 -0
  179. package/dist/css/carousel.css +60 -0
  180. package/dist/css/label.css +14 -0
  181. package/dist/css/quicksearch.css +13 -0
  182. package/dist/css/stat.css +14 -0
  183. package/dist/dev.js +1 -1
  184. package/dist/dev.js.map +2 -2
  185. package/dist/index.js +6 -6
  186. package/dist/index.js.map +1 -1
  187. package/dist/optikos.css +163 -0
  188. package/dist/types/components/alert.d.ts +1 -0
  189. package/dist/types/components/base/label/label.d.ts +11 -1
  190. package/dist/types/components/charts/stat/stat.d.ts +7 -1
  191. package/dist/types/components/data/quicksearch/quicksearch.d.ts +13 -0
  192. package/dist/types/components/feedback/alert/alert.d.ts +28 -0
  193. package/dist/types/components/fields/datetimefield/datetimefield.d.ts +2 -0
  194. package/dist/types/components/fields/maskfield/maskfield.d.ts +23 -4
  195. package/dist/types/components/layout/carousel/carousel.d.ts +8 -0
  196. package/dist/types/components/navigation/navmenu/navmenu.d.ts +4 -0
  197. package/dist/types/components/quicksearch.d.ts +1 -0
  198. package/dist/types/core/component.d.ts +6 -3
  199. package/dist/types/core/container.d.ts +2 -0
  200. package/dist/types/index.d.ts +2 -0
  201. package/dist/types/layout/layout.d.ts +5 -0
  202. package/dist/ui.js +1 -1
  203. package/package.json +1 -1
  204. package/dist/chunk-AQ3RTHG5.js +0 -2
  205. package/dist/chunk-AQ3RTHG5.js.map +0 -7
  206. package/dist/chunk-BQEFLPDA.js.map +0 -7
  207. package/dist/chunk-DJUSVBD5.js +0 -2
  208. package/dist/chunk-DJUSVBD5.js.map +0 -7
  209. package/dist/chunk-DLRGB5NY.js +0 -2
  210. package/dist/chunk-DLRGB5NY.js.map +0 -7
  211. package/dist/chunk-GNKVLJ5H.js +0 -2
  212. package/dist/chunk-GNKVLJ5H.js.map +0 -7
  213. package/dist/chunk-NAUSRVB6.js +0 -2
  214. package/dist/chunk-NAUSRVB6.js.map +0 -7
  215. package/dist/chunk-TVO3Z2BM.js +0 -2
  216. package/dist/chunk-TVO3Z2BM.js.map +0 -7
  217. package/dist/chunk-UDXO3KM3.js.map +0 -7
  218. package/dist/chunk-YJTUFK4P.js +0 -2
  219. /package/dist/{chunk-EO777UIN.js.map → chunk-4DW5WBZB.js.map} +0 -0
  220. /package/dist/{chunk-I5A74NMJ.js.map → chunk-4Z4E3BZ2.js.map} +0 -0
  221. /package/dist/{chunk-5G5PHOZJ.js.map → chunk-5H533QXN.js.map} +0 -0
  222. /package/dist/{chunk-632LUU52.js.map → chunk-5KJ5Y4GY.js.map} +0 -0
  223. /package/dist/{chunk-LXWCTCZV.js.map → chunk-5WE2JOBY.js.map} +0 -0
  224. /package/dist/{chunk-SEW5OCQF.js.map → chunk-6IXVTWFH.js.map} +0 -0
  225. /package/dist/{chunk-MM2OC66E.js.map → chunk-6S4BKUGD.js.map} +0 -0
  226. /package/dist/{chunk-CWIE74NX.js.map → chunk-6VWSTY32.js.map} +0 -0
  227. /package/dist/{chunk-NWHH3CYH.js.map → chunk-72ESP5DB.js.map} +0 -0
  228. /package/dist/{chunk-2CVMT3IW.js.map → chunk-74IVU356.js.map} +0 -0
  229. /package/dist/{chunk-UUAGMZD2.js.map → chunk-76A4MY7P.js.map} +0 -0
  230. /package/dist/{chunk-3BG75P7T.js.map → chunk-7SE4B4TC.js.map} +0 -0
  231. /package/dist/{chunk-PGVLRMTQ.js.map → chunk-A5N2AJCE.js.map} +0 -0
  232. /package/dist/{chunk-ZEIE2OCQ.js.map → chunk-ALNUVKDT.js.map} +0 -0
  233. /package/dist/{chunk-37PYJAA2.js.map → chunk-ANR27GED.js.map} +0 -0
  234. /package/dist/{chunk-J2TCHWYD.js.map → chunk-AZUWS2C5.js.map} +0 -0
  235. /package/dist/{chunk-S3ILIWSW.js.map → chunk-BHKI2SU3.js.map} +0 -0
  236. /package/dist/{chunk-GZIDE5K2.js.map → chunk-BIQX75P2.js.map} +0 -0
  237. /package/dist/{chunk-MQEALOU3.js.map → chunk-BPCD37A2.js.map} +0 -0
  238. /package/dist/{chunk-GLAY4RJF.js.map → chunk-CGSCBLG2.js.map} +0 -0
  239. /package/dist/{chunk-T5OGUCY2.js.map → chunk-DHUBCB4H.js.map} +0 -0
  240. /package/dist/{chunk-2I4Y7I7C.js.map → chunk-EKRWJJ65.js.map} +0 -0
  241. /package/dist/{chunk-Z6HZY2YG.js.map → chunk-EQ4IWYLW.js.map} +0 -0
  242. /package/dist/{chunk-5PYJ6FJK.js.map → chunk-EXBGOHG7.js.map} +0 -0
  243. /package/dist/{chunk-U25QSLAH.js.map → chunk-FTZMF2QX.js.map} +0 -0
  244. /package/dist/{chunk-XNRZJP4E.js.map → chunk-G7NNOLOG.js.map} +0 -0
  245. /package/dist/{chunk-4OB2IM5L.js.map → chunk-GX32KEG2.js.map} +0 -0
  246. /package/dist/{chunk-G26R2F3W.js.map → chunk-GYGX4VYF.js.map} +0 -0
  247. /package/dist/{chunk-BIGL3ZVD.js.map → chunk-H2EC3QP4.js.map} +0 -0
  248. /package/dist/{chunk-HRW25TMU.js.map → chunk-H2KFAM7L.js.map} +0 -0
  249. /package/dist/{chunk-6PPRYSLN.js.map → chunk-HHOSKOO6.js.map} +0 -0
  250. /package/dist/{chunk-3OA3P37P.js.map → chunk-I5KHVFJ4.js.map} +0 -0
  251. /package/dist/{chunk-L6DOWGBO.js.map → chunk-IB5T27PW.js.map} +0 -0
  252. /package/dist/{chunk-JBOKM5YA.js.map → chunk-IE7KRNFJ.js.map} +0 -0
  253. /package/dist/{chunk-3FK52VQX.js.map → chunk-J2YP2YD3.js.map} +0 -0
  254. /package/dist/{chunk-OADWLPSF.js.map → chunk-J6D4T4WY.js.map} +0 -0
  255. /package/dist/{chunk-H25XXQVH.js.map → chunk-JF4WPGJQ.js.map} +0 -0
  256. /package/dist/{chunk-YJTUFK4P.js.map → chunk-K44IJHPF.js.map} +0 -0
  257. /package/dist/{chunk-NEVDHDJ4.js.map → chunk-KP7O5MVL.js.map} +0 -0
  258. /package/dist/{chunk-ESRS5ZQV.js.map → chunk-KVUELLYF.js.map} +0 -0
  259. /package/dist/{chunk-AJN66F32.js.map → chunk-LRUKKIYA.js.map} +0 -0
  260. /package/dist/{chunk-A36JFIA3.js.map → chunk-M2XOIEPY.js.map} +0 -0
  261. /package/dist/{chunk-SEUIIPHS.js.map → chunk-MBRCE5A7.js.map} +0 -0
  262. /package/dist/{chunk-ADHKL2GM.js.map → chunk-MMPPDQ2E.js.map} +0 -0
  263. /package/dist/{chunk-BTGJ3MP4.js.map → chunk-MRDX3RVJ.js.map} +0 -0
  264. /package/dist/{chunk-FSR6BDVO.js.map → chunk-NAWQBQ57.js.map} +0 -0
  265. /package/dist/{chunk-6NP4AEV4.js.map → chunk-NBR5IRZT.js.map} +0 -0
  266. /package/dist/{chunk-MGSCSS7X.js.map → chunk-OK3SN5PN.js.map} +0 -0
  267. /package/dist/{chunk-6TZJO2G2.js.map → chunk-OQFQDTLL.js.map} +0 -0
  268. /package/dist/{chunk-RMATRKXV.js.map → chunk-PMIIQMVH.js.map} +0 -0
  269. /package/dist/{chunk-DIOJGTUN.js.map → chunk-QT5JRZZJ.js.map} +0 -0
  270. /package/dist/{chunk-J5BZAKC6.js.map → chunk-R52OSARY.js.map} +0 -0
  271. /package/dist/{chunk-QVBDBGS4.js.map → chunk-RI62AESU.js.map} +0 -0
  272. /package/dist/{chunk-6BOM5KZR.js.map → chunk-RRGAJ7T4.js.map} +0 -0
  273. /package/dist/{chunk-LHWY6G6Q.js.map → chunk-SQTM4QFP.js.map} +0 -0
  274. /package/dist/{chunk-M7HLHGQV.js.map → chunk-TAFHKT6O.js.map} +0 -0
  275. /package/dist/{chunk-3TCITFUU.js.map → chunk-TBM35UV6.js.map} +0 -0
  276. /package/dist/{chunk-FNZI6MFG.js.map → chunk-TBOQ6HZZ.js.map} +0 -0
  277. /package/dist/{chunk-GEJKFE4X.js.map → chunk-TJJL2GSJ.js.map} +0 -0
  278. /package/dist/{chunk-3F4MN2BU.js.map → chunk-TJXH3F7Z.js.map} +0 -0
  279. /package/dist/{chunk-BRGT4O6Q.js.map → chunk-VADYSXHY.js.map} +0 -0
  280. /package/dist/{chunk-Q6FY4L2F.js.map → chunk-VBLCO5Q7.js.map} +0 -0
  281. /package/dist/{chunk-ESCLDVFS.js.map → chunk-VCK5WWMQ.js.map} +0 -0
  282. /package/dist/{chunk-BCVOUMJJ.js.map → chunk-VCYCNSJY.js.map} +0 -0
  283. /package/dist/{chunk-OB3VIRQR.js.map → chunk-VOCGAAG7.js.map} +0 -0
  284. /package/dist/{chunk-CXZKCBQE.js.map → chunk-WHWPLMIG.js.map} +0 -0
  285. /package/dist/{chunk-5GCTM37D.js.map → chunk-WVJSNE6Q.js.map} +0 -0
  286. /package/dist/{chunk-UCWICDYG.js.map → chunk-WWETTEUZ.js.map} +0 -0
  287. /package/dist/{chunk-2I7HDIOU.js.map → chunk-XI4IBUE3.js.map} +0 -0
  288. /package/dist/{chunk-ZLYZFHEN.js.map → chunk-YAKKOVRI.js.map} +0 -0
  289. /package/dist/{chunk-HG7OOHGD.js.map → chunk-YF5GWNM7.js.map} +0 -0
  290. /package/dist/{chunk-QOSTS5I3.js.map → chunk-YRCR5ELY.js.map} +0 -0
  291. /package/dist/{chunk-UL364TLO.js.map → chunk-YVEGWCYD.js.map} +0 -0
  292. /package/dist/{chunk-MQ5BYGFY.js.map → chunk-ZYHMTPW4.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as h}from"./chunk-LXWCTCZV.js";import{a as l}from"./chunk-ESRS5ZQV.js";import{a as c,c as d}from"./chunk-TIPK3SCJ.js";import{f as s}from"./chunk-UDXO3KM3.js";import{b as n}from"./chunk-PZSHOSOS.js";import{f as a}from"./chunk-S4QD5NID.js";var m=r=>r instanceof s?r.config:r,g=new Map;function A(r,t){g.set(r,t)}function y(r){let t=typeof r=="string"?g.get(r):r;if(!t)throw new Error(`Optikos: unknown lookup "${r}". Did you call registerLookup?`);return t}var v=r=>typeof r.store=="function"?r.store():r.store,k=r=>!r||r==="textfield"||r==="textarea",w=r=>r==null||r===""||Array.isArray(r)&&!r.length,f=class extends s{baseCls="op-searchgrid";def;store;fields=[];grid;form;build(){this.def=y(this.config.lookup),this.store=v(this.def);let t=this.def;this.form=n("div","op-searchgrid__filters",{role:"search"});let i=[new l({text:a("search"),icon:"search",variant:"primary",handler:()=>{this.search()}}),new l({text:a("clear"),handler:()=>this.clear()})];return this.fields=(t.filters??[]).map(e=>{let o=m(e),{op:x,field:C,...u}=o,p=e instanceof s?e:d({...u,renderTo:void 0});return p.on("enter",()=>{this.search()}),{cfg:o,cmp:p,own:!(e instanceof s)}}),this.form.append(...this.fields.map(e=>e.cmp.el),n("div","op-searchgrid__buttons",{},...i.map(e=>e.el))),this.grid=new h({store:this.store,columns:t.columns,selection:t.selection??"single",paging:t.paging!==!1,flex:1}),this.grid.on("select",e=>this.emit("select",e)),this.grid.on("row-activate",()=>this.confirm()),this.grid.on("row-dblclick",()=>this.confirm()),this.own(()=>[...i,this.grid,...this.fields.filter(e=>e.own).map(e=>e.cmp)].forEach(e=>e.destroy())),n("div",this.baseCls,{},this.form,this.grid.el)}onRender(){this.def.autoSearch!==!1&&this.search()}notifyMount(){super.notifyMount(),this.fields.forEach(t=>t.cmp.notifyMount()),this.grid.notifyMount()}confirm(){let t=this.grid.getSelection();t.length&&this.emit("confirm",t)}getFilters(){return this.fields.flatMap(({cfg:t,cmp:i})=>{let e=i.getValue?.();if(w(e))return[];let o=t.field??t.name;return typeof e=="object"&&!Array.isArray(e)&&"start"in e?e.start?[{field:o,op:"between",value:[e.start,e.end??e.start]}]:[]:[{field:o,op:t.op??(k(t.type)?"contains":"eq"),value:e}]})}async search(t){t!=null&&this.setQuery(t);let i=this.getFilters();this.emit("before-search",i)!==!1&&(await(i.length?this.store.filter(i):this.store.clearFilter()),this.emit("search",i))}clear(){this.fields.forEach(t=>t.cmp.clear?.()),this.search()}setQuery(t){let i=this.def.queryField??(this.def.filters?.[0]&&m(this.def.filters[0]).name);this.fields.find(e=>e.cfg.name===i)?.cmp?.setValue?.(t)}getSelection(){return this.grid.getSelection()}getGrid(){return this.grid}getStore(){return this.store}focus(){(this.fields[0]?.cmp??this.grid).focus()}};c("searchgrid",f);export{m as a,A as b,y as c,v as d,f as e};
2
- //# sourceMappingURL=chunk-J5BZAKC6.js.map
1
+ import{a as h}from"./chunk-5WE2JOBY.js";import{a as l}from"./chunk-KVUELLYF.js";import{a as c,c as d}from"./chunk-TIPK3SCJ.js";import{f as s}from"./chunk-KMBTJ5AG.js";import{b as n}from"./chunk-PZSHOSOS.js";import{f as a}from"./chunk-S4QD5NID.js";var m=r=>r instanceof s?r.config:r,g=new Map;function A(r,t){g.set(r,t)}function y(r){let t=typeof r=="string"?g.get(r):r;if(!t)throw new Error(`Optikos: unknown lookup "${r}". Did you call registerLookup?`);return t}var v=r=>typeof r.store=="function"?r.store():r.store,k=r=>!r||r==="textfield"||r==="textarea",w=r=>r==null||r===""||Array.isArray(r)&&!r.length,f=class extends s{baseCls="op-searchgrid";def;store;fields=[];grid;form;build(){this.def=y(this.config.lookup),this.store=v(this.def);let t=this.def;this.form=n("div","op-searchgrid__filters",{role:"search"});let i=[new l({text:a("search"),icon:"search",variant:"primary",handler:()=>{this.search()}}),new l({text:a("clear"),handler:()=>this.clear()})];return this.fields=(t.filters??[]).map(e=>{let o=m(e),{op:x,field:C,...u}=o,p=e instanceof s?e:d({...u,renderTo:void 0});return p.on("enter",()=>{this.search()}),{cfg:o,cmp:p,own:!(e instanceof s)}}),this.form.append(...this.fields.map(e=>e.cmp.el),n("div","op-searchgrid__buttons",{},...i.map(e=>e.el))),this.grid=new h({store:this.store,columns:t.columns,selection:t.selection??"single",paging:t.paging!==!1,flex:1}),this.grid.on("select",e=>this.emit("select",e)),this.grid.on("row-activate",()=>this.confirm()),this.grid.on("row-dblclick",()=>this.confirm()),this.own(()=>[...i,this.grid,...this.fields.filter(e=>e.own).map(e=>e.cmp)].forEach(e=>e.destroy())),n("div",this.baseCls,{},this.form,this.grid.el)}onRender(){this.def.autoSearch!==!1&&this.search()}notifyMount(){super.notifyMount(),this.fields.forEach(t=>t.cmp.notifyMount()),this.grid.notifyMount()}confirm(){let t=this.grid.getSelection();t.length&&this.emit("confirm",t)}getFilters(){return this.fields.flatMap(({cfg:t,cmp:i})=>{let e=i.getValue?.();if(w(e))return[];let o=t.field??t.name;return typeof e=="object"&&!Array.isArray(e)&&"start"in e?e.start?[{field:o,op:"between",value:[e.start,e.end??e.start]}]:[]:[{field:o,op:t.op??(k(t.type)?"contains":"eq"),value:e}]})}async search(t){t!=null&&this.setQuery(t);let i=this.getFilters();this.emit("before-search",i)!==!1&&(await(i.length?this.store.filter(i):this.store.clearFilter()),this.emit("search",i))}clear(){this.fields.forEach(t=>t.cmp.clear?.()),this.search()}setQuery(t){let i=this.def.queryField??(this.def.filters?.[0]&&m(this.def.filters[0]).name);this.fields.find(e=>e.cfg.name===i)?.cmp?.setValue?.(t)}getSelection(){return this.grid.getSelection()}getGrid(){return this.grid}getStore(){return this.store}focus(){(this.fields[0]?.cmp??this.grid).focus()}};c("searchgrid",f);export{m as a,A as b,y as c,v as d,f as e};
2
+ //# sourceMappingURL=chunk-R52OSARY.js.map
@@ -1,2 +1,2 @@
1
- import{f as o}from"./chunk-UDXO3KM3.js";import{b as r,c as s}from"./chunk-PZSHOSOS.js";import{f as l}from"./chunk-S4QD5NID.js";import{a as n}from"./chunk-V5G5JECN.js";var a=class extends o{baseCls="op-field";value;original;error="";inputEl;labelEl;helpEl;errorEl;dirty=!1;cancelSettle;constructor(e={}){super(e),this.value=this.original=e.value??this.emptyValue()}get name(){return this.config.name}emptyValue(){return""}isEmpty(e){return e==null||e===""||Array.isArray(e)&&!e.length}isEqual(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}build(){let e=this.config,t=r("div",`${this.baseCls}${e.labelPos==="left"?" op-field--label-left":""}`);this.labelEl=r("label","op-field__label");let i=r("div","op-field__control",{},this.createControl());return this.helpEl=r("div","op-field__help",{id:`${this.id}-help`}),this.errorEl=r("div","op-field__error",{id:`${this.id}-error`,role:"alert"}),t.append(this.labelEl,i,this.helpEl,this.errorEl),t}onRender(){let e=this.config,t=this.inputEl;t.id||=s("op-input"),this.labelEl.htmlFor=t.id,e.ariaLabel&&t!==this.el&&(t.setAttribute("aria-label",e.ariaLabel),this.el.removeAttribute("aria-label")),this.setLabel(e.label??""),this.setHelp(e.help??""),this.setRequired(!!e.required),this.setReadonly(!!e.readonly),this.applyValue(this.value),this.paintError(),this.listen(this.el,"focusin",()=>{this.el.classList.add("is-focused"),this.emit("focus")}),this.listen(this.el,"focusout",i=>{this.el.contains(i.relatedTarget)||(this.flushSettled(),this.el.classList.remove("is-focused"),(e.validateOn??"blur")==="blur"&&this.validate(),this.emit("blur"))})}focusEl(){return this.render(),this.inputEl}getValue(){return this.value}setValue(e,t=!1){let i=this.value;this.value=e,this.rendered&&this.applyValue(e),this.isEqual(i,e)||this.changed(i,t)}fillFrom(e){let t=this.name?n(e,this.name):void 0;t!==void 0&&this.setValue(t,!0)}commit(e){let t=this.value;this.value=e,this.isEqual(t,e)||this.changed(t,!1)}changed(e,t){this.updateDirty(),!t&&((this.config.validateOn==="change"||this.error)&&this.validate(),this.emit("change",this.value,e),this.queueSettled())}queueSettled(){this.cancelSettle?.(),this.cancelSettle=void 0;let e=this.config.debounce;if(!e)return void this.emit("settled",this.value);this.cancelSettle=this.later(()=>{this.cancelSettle=void 0,this.emit("settled",this.value)},e)}flushSettled(){this.cancelSettle&&(this.cancelSettle(),this.cancelSettle=void 0,this.emit("settled",this.value))}updateDirty(){let e=this.isDirty();e!==this.dirty&&(this.dirty=e,this.rendered&&this.el.classList.toggle("is-dirty",e),this.emit("dirty-change",e))}getDisplayText(){let e=this.value;return this.isEmpty(e)?"":String(e)}clear(){this.setValue(this.emptyValue())}isDirty(){return!this.isEqual(this.value,this.original)}markClean(){this.original=this.value,this.updateDirty()}reset(){this.setValue(this.original,!0),this.clearError()}check(){let e=this.value;if(this.isEmpty(e))return this.config.required?l("required"):"";for(let t of this.config.validators??[]){let i=t(e,this);if(typeof i=="string")return i}return""}validate(){let e=this.check();return e?this.setError(e):this.clearError(),!e}isValid(){return!this.check()}getError(){return this.error}setError(e){let t=this.error;this.error=e,this.paintError(),e&&e!==t&&this.emit("invalid",e)}clearError(){this.error&&(this.error="",this.paintError(),this.emit("valid"))}paintError(){this.rendered&&(this.errorEl.textContent=this.error,this.el.classList.toggle("is-invalid",!!this.error),this.inputEl.setAttribute("aria-invalid",String(!!this.error)),this.describe())}describe(){let e=[this.error&&this.errorEl.id,this.config.help&&this.helpEl.id].filter(Boolean);e.length?this.inputEl.setAttribute("aria-describedby",e.join(" ")):this.inputEl.removeAttribute("aria-describedby")}setLabel(e){this.config.label=e,this.rendered&&(this.labelEl.textContent=e,this.labelEl.hidden=!e)}setHelp(e){this.config.help=e,this.rendered&&(this.helpEl.textContent=e,this.helpEl.hidden=!e,this.describe())}setRequired(e){this.config.required=e,this.rendered&&(this.el.classList.toggle("is-required",e),this.inputEl.setAttribute("aria-required",String(e)))}setReadonly(e){this.config.readonly=e,this.rendered&&(this.el.classList.toggle("is-readonly",e),this.onReadonly(e))}setValidators(e){this.config.validators=e}onReadonly(e){}};export{a};
2
- //# sourceMappingURL=chunk-QVBDBGS4.js.map
1
+ import{f as o}from"./chunk-KMBTJ5AG.js";import{b as r,c as s}from"./chunk-PZSHOSOS.js";import{f as l}from"./chunk-S4QD5NID.js";import{a as n}from"./chunk-V5G5JECN.js";var a=class extends o{baseCls="op-field";value;original;error="";inputEl;labelEl;helpEl;errorEl;dirty=!1;cancelSettle;constructor(e={}){super(e),this.value=this.original=e.value??this.emptyValue()}get name(){return this.config.name}emptyValue(){return""}isEmpty(e){return e==null||e===""||Array.isArray(e)&&!e.length}isEqual(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}build(){let e=this.config,t=r("div",`${this.baseCls}${e.labelPos==="left"?" op-field--label-left":""}`);this.labelEl=r("label","op-field__label");let i=r("div","op-field__control",{},this.createControl());return this.helpEl=r("div","op-field__help",{id:`${this.id}-help`}),this.errorEl=r("div","op-field__error",{id:`${this.id}-error`,role:"alert"}),t.append(this.labelEl,i,this.helpEl,this.errorEl),t}onRender(){let e=this.config,t=this.inputEl;t.id||=s("op-input"),this.labelEl.htmlFor=t.id,e.ariaLabel&&t!==this.el&&(t.setAttribute("aria-label",e.ariaLabel),this.el.removeAttribute("aria-label")),this.setLabel(e.label??""),this.setHelp(e.help??""),this.setRequired(!!e.required),this.setReadonly(!!e.readonly),this.applyValue(this.value),this.paintError(),this.listen(this.el,"focusin",()=>{this.el.classList.add("is-focused"),this.emit("focus")}),this.listen(this.el,"focusout",i=>{this.el.contains(i.relatedTarget)||(this.flushSettled(),this.el.classList.remove("is-focused"),(e.validateOn??"blur")==="blur"&&this.validate(),this.emit("blur"))})}focusEl(){return this.render(),this.inputEl}getValue(){return this.value}setValue(e,t=!1){let i=this.value;this.value=e,this.rendered&&this.applyValue(e),this.isEqual(i,e)||this.changed(i,t)}fillFrom(e){let t=this.name?n(e,this.name):void 0;t!==void 0&&this.setValue(t,!0)}commit(e){let t=this.value;this.value=e,this.isEqual(t,e)||this.changed(t,!1)}changed(e,t){this.updateDirty(),!t&&((this.config.validateOn==="change"||this.error)&&this.validate(),this.emit("change",this.value,e),this.queueSettled())}queueSettled(){this.cancelSettle?.(),this.cancelSettle=void 0;let e=this.config.debounce;if(!e)return void this.emit("settled",this.value);this.cancelSettle=this.later(()=>{this.cancelSettle=void 0,this.emit("settled",this.value)},e)}flushSettled(){this.cancelSettle&&(this.cancelSettle(),this.cancelSettle=void 0,this.emit("settled",this.value))}updateDirty(){let e=this.isDirty();e!==this.dirty&&(this.dirty=e,this.rendered&&this.el.classList.toggle("is-dirty",e),this.emit("dirty-change",e))}getDisplayText(){let e=this.value;return this.isEmpty(e)?"":String(e)}clear(){this.setValue(this.emptyValue())}isDirty(){return!this.isEqual(this.value,this.original)}markClean(){this.original=this.value,this.updateDirty()}reset(){this.setValue(this.original,!0),this.clearError()}check(){let e=this.value;if(this.isEmpty(e))return this.config.required?l("required"):"";for(let t of this.config.validators??[]){let i=t(e,this);if(typeof i=="string")return i}return""}validate(){let e=this.check();return e?this.setError(e):this.clearError(),!e}isValid(){return!this.check()}getError(){return this.error}setError(e){let t=this.error;this.error=e,this.paintError(),e&&e!==t&&this.emit("invalid",e)}clearError(){this.error&&(this.error="",this.paintError(),this.emit("valid"))}paintError(){this.rendered&&(this.errorEl.textContent=this.error,this.el.classList.toggle("is-invalid",!!this.error),this.inputEl.setAttribute("aria-invalid",String(!!this.error)),this.describe())}describe(){let e=[this.error&&this.errorEl.id,this.config.help&&this.helpEl.id].filter(Boolean);e.length?this.inputEl.setAttribute("aria-describedby",e.join(" ")):this.inputEl.removeAttribute("aria-describedby")}setLabel(e){this.config.label=e,this.rendered&&(this.labelEl.textContent=e,this.labelEl.hidden=!e)}setHelp(e){this.config.help=e,this.rendered&&(this.helpEl.textContent=e,this.helpEl.hidden=!e,this.describe())}setRequired(e){this.config.required=e,this.rendered&&(this.el.classList.toggle("is-required",e),this.inputEl.setAttribute("aria-required",String(e)))}setReadonly(e){this.config.readonly=e,this.rendered&&(this.el.classList.toggle("is-readonly",e),this.onReadonly(e))}setValidators(e){this.config.validators=e}onReadonly(e){}};export{a};
2
+ //# sourceMappingURL=chunk-RI62AESU.js.map
@@ -1,2 +1,2 @@
1
- import{c as o}from"./chunk-DIOJGTUN.js";import{a as h}from"./chunk-TIPK3SCJ.js";import{f as d}from"./chunk-UDXO3KM3.js";import{b as e}from"./chunk-PZSHOSOS.js";import{e as n,f as r}from"./chunk-S4QD5NID.js";n("en",{stepOptional:"optional",stepDone:"completed",stepError:"has errors",stepSteps:"Steps"});n("pt-BR",{stepOptional:"opcional",stepDone:"conclu\xEDda",stepError:"com erros",stepSteps:"Etapas"});var a=class extends d{baseCls="op-stepper";tag="nav";list;active=0;states=[];onRender(){let t=this.config;this.active=t.active??0,this.el.setAttribute("aria-label",t.ariaLabel??r("stepSteps")),this.list=e("ol","op-stepper__list"),this.el.append(this.list),this.listen(this.list,"click",i=>{let s=i.target.closest(".op-stepper__btn");if(!s||s.disabled)return;let p=Number(s.dataset.i);this.emit("before-select",p)!==!1&&(this.setActive(p),this.emit("select",p))}),this.paint()}steps(){return this.config.steps??[]}paint(){this.list.replaceChildren(...this.steps().map((t,i)=>{let s=this.states[i]??"pending",p=i===this.active,m=e("span","op-stepper__marker",{"aria-hidden":"true"},s==="done"&&!p?o("check"):s==="error"?"!":t.icon?o(t.icon):String(i+1)),c=s==="done"&&!p?r("stepDone"):s==="error"?r("stepError"):"",l=e("button","op-stepper__btn",{type:"button","data-i":i,"aria-current":p?"step":null},m,e("span","op-stepper__text",{},e("span","op-stepper__title",{},t.title),t.description?e("span","op-stepper__desc",{},t.description):"",t.optional?e("span","op-stepper__opt",{},r("stepOptional")):"",c?e("span","op-sr-only",{},c):""));l.disabled=this.config.clickable===!1;let g=i===this.steps().length-1;return e("li",`op-stepper__step${p?" is-current":""}${s==="done"?" is-done":""}${s==="error"?" is-error":""}${t.optional?" is-optional":""}`,{},l,g?"":e("span","op-stepper__line",{"aria-hidden":"true"}))}))}setActive(t){this.active=Math.max(0,Math.min(t,this.steps().length-1)),this.config.active=this.active,this.rendered&&this.paint()}getActive(){return this.active}setStepState(t,i){this.states[t]=i,this.rendered&&this.paint()}getStepState(t){return this.states[t]??"pending"}setSteps(t){this.config.steps=t,this.states=[],this.rendered&&this.paint()}};h("stepper",a);export{a};
2
- //# sourceMappingURL=chunk-6BOM5KZR.js.map
1
+ import{c as o}from"./chunk-QT5JRZZJ.js";import{a as h}from"./chunk-TIPK3SCJ.js";import{f as d}from"./chunk-KMBTJ5AG.js";import{b as e}from"./chunk-PZSHOSOS.js";import{e as n,f as r}from"./chunk-S4QD5NID.js";n("en",{stepOptional:"optional",stepDone:"completed",stepError:"has errors",stepSteps:"Steps"});n("pt-BR",{stepOptional:"opcional",stepDone:"conclu\xEDda",stepError:"com erros",stepSteps:"Etapas"});var a=class extends d{baseCls="op-stepper";tag="nav";list;active=0;states=[];onRender(){let t=this.config;this.active=t.active??0,this.el.setAttribute("aria-label",t.ariaLabel??r("stepSteps")),this.list=e("ol","op-stepper__list"),this.el.append(this.list),this.listen(this.list,"click",i=>{let s=i.target.closest(".op-stepper__btn");if(!s||s.disabled)return;let p=Number(s.dataset.i);this.emit("before-select",p)!==!1&&(this.setActive(p),this.emit("select",p))}),this.paint()}steps(){return this.config.steps??[]}paint(){this.list.replaceChildren(...this.steps().map((t,i)=>{let s=this.states[i]??"pending",p=i===this.active,m=e("span","op-stepper__marker",{"aria-hidden":"true"},s==="done"&&!p?o("check"):s==="error"?"!":t.icon?o(t.icon):String(i+1)),c=s==="done"&&!p?r("stepDone"):s==="error"?r("stepError"):"",l=e("button","op-stepper__btn",{type:"button","data-i":i,"aria-current":p?"step":null},m,e("span","op-stepper__text",{},e("span","op-stepper__title",{},t.title),t.description?e("span","op-stepper__desc",{},t.description):"",t.optional?e("span","op-stepper__opt",{},r("stepOptional")):"",c?e("span","op-sr-only",{},c):""));l.disabled=this.config.clickable===!1;let g=i===this.steps().length-1;return e("li",`op-stepper__step${p?" is-current":""}${s==="done"?" is-done":""}${s==="error"?" is-error":""}${t.optional?" is-optional":""}`,{},l,g?"":e("span","op-stepper__line",{"aria-hidden":"true"}))}))}setActive(t){this.active=Math.max(0,Math.min(t,this.steps().length-1)),this.config.active=this.active,this.rendered&&this.paint()}getActive(){return this.active}setStepState(t,i){this.states[t]=i,this.rendered&&this.paint()}getStepState(t){return this.states[t]??"pending"}setSteps(t){this.config.steps=t,this.states=[],this.rendered&&this.paint()}};h("stepper",a);export{a};
2
+ //# sourceMappingURL=chunk-RRGAJ7T4.js.map
@@ -1,2 +1,2 @@
1
- import{c as p}from"./chunk-DIOJGTUN.js";import{a as o}from"./chunk-QVBDBGS4.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{b as n}from"./chunk-PZSHOSOS.js";import{f as s}from"./chunk-S4QD5NID.js";var r=class extends o{baseCls="op-field op-textfield";clearBtn;createInput(){return n("input","op-textfield__input",{type:this.config.inputType??"text"})}get input(){return this.inputEl}createControl(){let t=this.config,e=this.inputEl=this.createInput(),i=n("div","op-textfield__wrap",{},e);return t.placeholder&&(e.placeholder=t.placeholder),t.maxLength!=null&&(e.maxLength=t.maxLength),t.autocomplete&&(e.autocomplete=t.autocomplete),this.listen(e,"input",()=>this.onInput()),this.listen(e,"keydown",a=>this.onKey(a)),t.selectOnFocus&&this.listen(e,"focus",()=>e.select()),t.clearable&&(this.clearBtn=n("button","op-textfield__clear",{type:"button",tabindex:-1,"aria-label":s("clear")},p("x")),this.listen(this.clearBtn,"click",()=>{this.setValue(this.parse("")),e.focus()}),i.append(this.clearBtn)),i}onInput(){this.el.classList.toggle("has-value",!!this.input.value),this.commit(this.parse(this.input.value))}parse(t){return t}display(t){return t==null?"":String(t)}onKey(t){t.key==="Enter"&&!t.defaultPrevented?(this.flushSettled(),this.emit("enter",this.getValue())):t.key==="Escape"&&this.config.clearable&&this.input.value&&(t.stopPropagation(),this.setValue(this.parse("")))}getDisplayText(){return this.rendered?this.input.value:this.display(this.value)}applyValue(t){this.input.value=this.display(t),this.el.classList.toggle("has-value",!!this.input.value)}onReadonly(t){this.input.readOnly=t}onDisabled(t){this.input.disabled=t,this.clearBtn&&(this.clearBtn.disabled=t)}check(){let t=super.check(),e=this.display(this.value),i=this.config;return t||!e?t:i.minLength!=null&&e.length<i.minLength?s("minLength",{n:i.minLength}):i.pattern&&!new RegExp(i.pattern).test(e)?s("pattern"):""}setPlaceholder(t){this.config.placeholder=t,this.rendered&&(this.input.placeholder=t)}setMaxLength(t){this.config.maxLength=t,this.rendered&&(this.input.maxLength=t)}setInputType(t){this.config.inputType=t,this.rendered&&this.input instanceof HTMLInputElement&&(this.input.type=t)}select(){this.input.select()}getInput(){return this.render(),this.input}};l("textfield",r);export{r as a};
2
- //# sourceMappingURL=chunk-LHWY6G6Q.js.map
1
+ import{c as p}from"./chunk-QT5JRZZJ.js";import{a as o}from"./chunk-RI62AESU.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{b as n}from"./chunk-PZSHOSOS.js";import{f as s}from"./chunk-S4QD5NID.js";var r=class extends o{baseCls="op-field op-textfield";clearBtn;createInput(){return n("input","op-textfield__input",{type:this.config.inputType??"text"})}get input(){return this.inputEl}createControl(){let t=this.config,e=this.inputEl=this.createInput(),i=n("div","op-textfield__wrap",{},e);return t.placeholder&&(e.placeholder=t.placeholder),t.maxLength!=null&&(e.maxLength=t.maxLength),t.autocomplete&&(e.autocomplete=t.autocomplete),this.listen(e,"input",()=>this.onInput()),this.listen(e,"keydown",a=>this.onKey(a)),t.selectOnFocus&&this.listen(e,"focus",()=>e.select()),t.clearable&&(this.clearBtn=n("button","op-textfield__clear",{type:"button",tabindex:-1,"aria-label":s("clear")},p("x")),this.listen(this.clearBtn,"click",()=>{this.setValue(this.parse("")),e.focus()}),i.append(this.clearBtn)),i}onInput(){this.el.classList.toggle("has-value",!!this.input.value),this.commit(this.parse(this.input.value))}parse(t){return t}display(t){return t==null?"":String(t)}onKey(t){t.key==="Enter"&&!t.defaultPrevented?(this.flushSettled(),this.emit("enter",this.getValue())):t.key==="Escape"&&this.config.clearable&&this.input.value&&(t.stopPropagation(),this.setValue(this.parse("")))}getDisplayText(){return this.rendered?this.input.value:this.display(this.value)}applyValue(t){this.input.value=this.display(t),this.el.classList.toggle("has-value",!!this.input.value)}onReadonly(t){this.input.readOnly=t}onDisabled(t){this.input.disabled=t,this.clearBtn&&(this.clearBtn.disabled=t)}check(){let t=super.check(),e=this.display(this.value),i=this.config;return t||!e?t:i.minLength!=null&&e.length<i.minLength?s("minLength",{n:i.minLength}):i.pattern&&!new RegExp(i.pattern).test(e)?s("pattern"):""}setPlaceholder(t){this.config.placeholder=t,this.rendered&&(this.input.placeholder=t)}setMaxLength(t){this.config.maxLength=t,this.rendered&&(this.input.maxLength=t)}setInputType(t){this.config.inputType=t,this.rendered&&this.input instanceof HTMLInputElement&&(this.input.type=t)}select(){this.input.select()}getInput(){return this.render(),this.input}};l("textfield",r);export{r as a};
2
+ //# sourceMappingURL=chunk-SQTM4QFP.js.map
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-MQEALOU3.js";import{c as p}from"./chunk-DIOJGTUN.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{f as d}from"./chunk-UDXO3KM3.js";import{b as i}from"./chunk-PZSHOSOS.js";import{e as m,f as h}from"./chunk-S4QD5NID.js";m("en",{breadcrumb:"Breadcrumb",breadcrumbMore:"Show more"});m("pt-BR",{breadcrumb:"Trilha de navega\xE7\xE3o",breadcrumbMore:"Mostrar mais"});var c=class extends d{baseCls="op-breadcrumb";tag="nav";list;menu;onRender(){this.list=i("ol","op-breadcrumb__list"),this.el.append(this.list),this.config.ariaLabel||this.el.setAttribute("aria-label",h("breadcrumb")),this.config.separator!=null&&this.setSeparator(this.config.separator),this.listen(this.list,"click",e=>{let r=e.target;if(r.closest(".op-breadcrumb__more"))return this.showHidden(r.closest("button"));let t=r.closest("[data-i]");t&&this.go(Number(t.dataset.i),e)}),this.own(()=>this.menu?.destroy()),this.paint()}items(){return this.config.items??[]}collapsed(){let e=this.items().length,r=Math.max(3,this.config.maxItems??4);return e<=r?[]:Array.from({length:e-(r-1)},(t,s)=>s+1)}paint(){let e=this.items(),r=this.collapsed(),t=e.length-1,s=[];e.forEach((a,n)=>{if(r.includes(n)){n===r[0]&&s.push(i("li","",{},i("button","op-breadcrumb__more",{type:"button","aria-label":h("breadcrumbMore"),"aria-haspopup":"menu","aria-expanded":"false"},"\u2026")));return}let o=[a.icon?p(a.icon):null,a.text],b=n===t?i("span","op-breadcrumb__current",{"aria-current":"page"},...o):a.href?i("a","op-breadcrumb__item",{href:a.href,"data-i":n},...o):i("button","op-breadcrumb__item",{type:"button","data-i":n},...o);s.push(i("li","",{},b))}),this.list.replaceChildren(...s)}go(e,r){let t=this.items()[e];return!t||e===this.items().length-1?!1:this.emit("before-navigate",t,e)===!1?(r?.preventDefault(),!1):(t.handler?.(t),this.emit("navigate",t,e),!0)}showHidden(e){let r=this.items();this.menu??=new u({}),this.menu.setItems(this.collapsed().map(t=>({text:r[t].text,icon:r[t].icon,handler:()=>{this.go(t)&&r[t].href&&(location.href=r[t].href)}}))),this.menu.on("show",()=>e.setAttribute("aria-expanded","true")),this.menu.on("hide",()=>e.setAttribute("aria-expanded","false")),this.menu.showBy(e)}setItems(e){this.config.items=e,this.rendered&&this.paint()}setMaxItems(e){this.config.maxItems=e,this.rendered&&this.paint()}setSeparator(e){this.config.separator=e,this.rendered&&this.el.style.setProperty("--op-breadcrumb-separator",JSON.stringify(e))}};l("breadcrumb",c);export{c as a};
2
- //# sourceMappingURL=chunk-M7HLHGQV.js.map
1
+ import{a as u}from"./chunk-BPCD37A2.js";import{c as p}from"./chunk-QT5JRZZJ.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{f as d}from"./chunk-KMBTJ5AG.js";import{b as i}from"./chunk-PZSHOSOS.js";import{e as m,f as h}from"./chunk-S4QD5NID.js";m("en",{breadcrumb:"Breadcrumb",breadcrumbMore:"Show more"});m("pt-BR",{breadcrumb:"Trilha de navega\xE7\xE3o",breadcrumbMore:"Mostrar mais"});var c=class extends d{baseCls="op-breadcrumb";tag="nav";list;menu;onRender(){this.list=i("ol","op-breadcrumb__list"),this.el.append(this.list),this.config.ariaLabel||this.el.setAttribute("aria-label",h("breadcrumb")),this.config.separator!=null&&this.setSeparator(this.config.separator),this.listen(this.list,"click",e=>{let r=e.target;if(r.closest(".op-breadcrumb__more"))return this.showHidden(r.closest("button"));let t=r.closest("[data-i]");t&&this.go(Number(t.dataset.i),e)}),this.own(()=>this.menu?.destroy()),this.paint()}items(){return this.config.items??[]}collapsed(){let e=this.items().length,r=Math.max(3,this.config.maxItems??4);return e<=r?[]:Array.from({length:e-(r-1)},(t,s)=>s+1)}paint(){let e=this.items(),r=this.collapsed(),t=e.length-1,s=[];e.forEach((a,n)=>{if(r.includes(n)){n===r[0]&&s.push(i("li","",{},i("button","op-breadcrumb__more",{type:"button","aria-label":h("breadcrumbMore"),"aria-haspopup":"menu","aria-expanded":"false"},"\u2026")));return}let o=[a.icon?p(a.icon):null,a.text],b=n===t?i("span","op-breadcrumb__current",{"aria-current":"page"},...o):a.href?i("a","op-breadcrumb__item",{href:a.href,"data-i":n},...o):i("button","op-breadcrumb__item",{type:"button","data-i":n},...o);s.push(i("li","",{},b))}),this.list.replaceChildren(...s)}go(e,r){let t=this.items()[e];return!t||e===this.items().length-1?!1:this.emit("before-navigate",t,e)===!1?(r?.preventDefault(),!1):(t.handler?.(t),this.emit("navigate",t,e),!0)}showHidden(e){let r=this.items();this.menu??=new u({}),this.menu.setItems(this.collapsed().map(t=>({text:r[t].text,icon:r[t].icon,handler:()=>{this.go(t)&&r[t].href&&(location.href=r[t].href)}}))),this.menu.on("show",()=>e.setAttribute("aria-expanded","true")),this.menu.on("hide",()=>e.setAttribute("aria-expanded","false")),this.menu.showBy(e)}setItems(e){this.config.items=e,this.rendered&&this.paint()}setMaxItems(e){this.config.maxItems=e,this.rendered&&this.paint()}setSeparator(e){this.config.separator=e,this.rendered&&this.el.style.setProperty("--op-breadcrumb-separator",JSON.stringify(e))}};l("breadcrumb",c);export{c as a};
2
+ //# sourceMappingURL=chunk-TAFHKT6O.js.map
@@ -1,2 +1,2 @@
1
- import{c as d}from"./chunk-DIOJGTUN.js";import{c as g}from"./chunk-BQEFLPDA.js";import{c as u}from"./chunk-VV7CFMPZ.js";import{a as m}from"./chunk-TIPK3SCJ.js";import{c as b,d as h}from"./chunk-UDXO3KM3.js";import{b as r}from"./chunk-PZSHOSOS.js";import{e as p,f as l}from"./chunk-S4QD5NID.js";p("en",{tabErrors:"errors"});p("pt-BR",{tabErrors:"erros"});var f=class extends g{baseCls="op-tabs";barEl;panelsEl;tabs=new Map;pending=new Set;rover;constructor(t={}){super({defaultType:"container",...t});for(let e of this.items.filter(i=>!b(i.config.permission)&&(i.config.permissionMode??h())==="hide"))this.remove(e)}getBody(){return this.panelsEl}build(){let t=this.config.position==="left",e=r("div",`op-tabs${t?" op-tabs--left":""}`);return this.barEl=r("div","op-tabs__bar",{role:"tablist","aria-orientation":t?"vertical":"horizontal"}),this.panelsEl=r("div","op-tabs__panels"),e.append(this.barEl,this.panelsEl),e}onRender(){let t=this.config;t.layout={type:"card",activeItem:t.active??0},this.items.forEach(e=>this.addHeader(e)),this.rover=u(this.barEl,{selector:"[role=tab]",orientation:t.position==="left"?"vertical":"horizontal",onMove:e=>this.setActive(this.items.find(i=>this.tabs.get(i)===e))}),this.own(()=>this.rover?.destroy()),this.on("activate",e=>this.syncHeaders(e)),this.listen(this.barEl,"click",e=>{let i=e.target,s=i.closest("[role=tab]"),o=this.items.find(n=>this.tabs.get(n)===s);o&&(i.closest(".op-tabs__close")?this.closeTab(o):i.closest(".op-tabs__reload")?(this.setActive(o),this.reloadTab(o)):this.setActive(o))}),this.listen(this.barEl,"keydown",e=>{let i=this.items.find(s=>this.tabs.get(s)===e.target.closest("[role=tab]"));e.key==="Delete"&&i?this.closeTab(i):i&&(e.key==="r"||e.key==="R")&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&this.tabConfig(i).reloadable&&this.reloadTab(i)}),super.onRender()}forcing;attach(t,e){if(this.config.lazy!==!1&&t!==this.getActiveItem()&&t!==this.forcing){this.pending.add(t);return}super.attach(t,e),t.el.setAttribute("role","tabpanel"),t.el.tabIndex=0;let i=this.tabs.get(t);i&&(t.el.setAttribute("aria-labelledby",i.id),i.setAttribute("aria-controls",t.el.id))}ensure(t){this.pending.delete(t)&&(this.forcing=t,this.attach(t,this.items.indexOf(t)),this.forcing=void 0)}tabConfig(t){let e=t.config;return{title:e.title??"",icon:e.icon,closable:e.closable??this.config.closable??!1,reloadable:e.reloadable??this.config.reloadable??!1,disabled:!!e.disabled}}addHeader(t){let{title:e,icon:i,closable:s,reloadable:o,disabled:n}=this.tabConfig(t),a=r("div","op-tabs__tab",{role:"tab",id:`${t.id}-tab`,tabindex:-1,"aria-selected":"false","aria-disabled":n?"true":null});a.append(i?d(i):"",r("span","op-tabs__title",{},e)),o&&a.append(r("span","op-tabs__reload",{"aria-hidden":"true","data-op-tip":l("reload")},d("refresh"))),s&&a.append(r("span","op-tabs__close",{"aria-hidden":"true","data-op-tip":l("close")},d("x"))),this.tabs.set(t,a),this.barEl.append(...[...this.items].filter(c=>this.tabs.has(c)).map(c=>this.tabs.get(c)))}syncHeaders(t){for(let[i,s]of this.tabs){let o=i===t;s.setAttribute("aria-selected",String(o)),s.classList.toggle("is-active",o)}let e=t&&this.tabs.get(t);this.rover?.sync(e||void 0)}getActive(){return this.getActiveItem()}setActive(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(s=>s.id===t):t,i=this.getActiveItem();!e||e===i||this.tabConfig(e).disabled||this.emit("before-change",e,i)!==!1&&(this.ensure(e),this.setActiveItem(e),this.emit("change",e,this.items.indexOf(e)))}insert(t,e){let i=super.insert(t,e);return this.rendered&&(this.addHeader(i),this.ensure(i),this.setActive(i)),i}async reloadTab(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(o=>o.id===t):t,i=e&&this.tabs.get(e);if(!e||i?.classList.contains("is-reloading")||this.emit("before-reload",e)===!1)return!1;i?.classList.add("is-reloading");let s=e.config.onReload?.(e);return s instanceof Promise&&(e.setLoading(!0),await s.catch(()=>{}),e.setLoading(!1)),i?.classList.remove("is-reloading"),this.emit("reload",e),!0}closeTab(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(i=>i.id===t):t;!e||this.emit("before-close",e)===!1||(this.remove(e),this.emit("close",e))}remove(t,e=!0){let i=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(n=>n.id===t):t,s=i&&this.tabs.get(i)?.contains(document.activeElement),o=super.remove(t,e);if(i){this.tabs.get(i)?.remove(),this.tabs.delete(i),this.pending.delete(i);let n=this.getActiveItem();n&&this.ensure(n),s&&n&&this.tabs.get(n)?.focus()}return o}setTabState(t,e){let i=this.tabs.get(t);if(!i)return;i.classList.toggle("has-error",!!e.errors),i.classList.toggle("is-dirty",!!e.dirty);let s=i.querySelector(".op-tabs__badge");if(!e.errors)return s?.remove();s||(s=r("span","op-tabs__badge"),i.insertBefore(s,i.querySelector(".op-tabs__close"))),s.replaceChildren(String(e.errors),r("span","op-sr-only",{},` ${l("tabErrors")}`))}setTitle(t,e){t.config.title=e;let i=this.tabs.get(t)?.querySelector(".op-tabs__title");i&&(i.textContent=e)}};m("tabs",f);export{f as a};
2
- //# sourceMappingURL=chunk-3TCITFUU.js.map
1
+ import{c as d}from"./chunk-QT5JRZZJ.js";import{c as g}from"./chunk-U5RENLU4.js";import{c as u}from"./chunk-VV7CFMPZ.js";import{a as m}from"./chunk-TIPK3SCJ.js";import{c as b,d as h}from"./chunk-KMBTJ5AG.js";import{b as r}from"./chunk-PZSHOSOS.js";import{e as p,f as l}from"./chunk-S4QD5NID.js";p("en",{tabErrors:"errors"});p("pt-BR",{tabErrors:"erros"});var f=class extends g{baseCls="op-tabs";barEl;panelsEl;tabs=new Map;pending=new Set;rover;constructor(t={}){super({defaultType:"container",...t});for(let e of this.items.filter(i=>!b(i.config.permission)&&(i.config.permissionMode??h())==="hide"))this.remove(e)}getBody(){return this.panelsEl}build(){let t=this.config.position==="left",e=r("div",`op-tabs${t?" op-tabs--left":""}`);return this.barEl=r("div","op-tabs__bar",{role:"tablist","aria-orientation":t?"vertical":"horizontal"}),this.panelsEl=r("div","op-tabs__panels"),e.append(this.barEl,this.panelsEl),e}onRender(){let t=this.config;t.layout={type:"card",activeItem:t.active??0},this.items.forEach(e=>this.addHeader(e)),this.rover=u(this.barEl,{selector:"[role=tab]",orientation:t.position==="left"?"vertical":"horizontal",onMove:e=>this.setActive(this.items.find(i=>this.tabs.get(i)===e))}),this.own(()=>this.rover?.destroy()),this.on("activate",e=>this.syncHeaders(e)),this.listen(this.barEl,"click",e=>{let i=e.target,s=i.closest("[role=tab]"),o=this.items.find(n=>this.tabs.get(n)===s);o&&(i.closest(".op-tabs__close")?this.closeTab(o):i.closest(".op-tabs__reload")?(this.setActive(o),this.reloadTab(o)):this.setActive(o))}),this.listen(this.barEl,"keydown",e=>{let i=this.items.find(s=>this.tabs.get(s)===e.target.closest("[role=tab]"));e.key==="Delete"&&i?this.closeTab(i):i&&(e.key==="r"||e.key==="R")&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&this.tabConfig(i).reloadable&&this.reloadTab(i)}),super.onRender()}forcing;attach(t,e){if(this.config.lazy!==!1&&t!==this.getActiveItem()&&t!==this.forcing){this.pending.add(t);return}super.attach(t,e),t.el.setAttribute("role","tabpanel"),t.el.tabIndex=0;let i=this.tabs.get(t);i&&(t.el.setAttribute("aria-labelledby",i.id),i.setAttribute("aria-controls",t.el.id))}ensure(t){this.pending.delete(t)&&(this.forcing=t,this.attach(t,this.items.indexOf(t)),this.forcing=void 0)}tabConfig(t){let e=t.config;return{title:e.title??"",icon:e.icon,closable:e.closable??this.config.closable??!1,reloadable:e.reloadable??this.config.reloadable??!1,disabled:!!e.disabled}}addHeader(t){let{title:e,icon:i,closable:s,reloadable:o,disabled:n}=this.tabConfig(t),a=r("div","op-tabs__tab",{role:"tab",id:`${t.id}-tab`,tabindex:-1,"aria-selected":"false","aria-disabled":n?"true":null});a.append(i?d(i):"",r("span","op-tabs__title",{},e)),o&&a.append(r("span","op-tabs__reload",{"aria-hidden":"true","data-op-tip":l("reload")},d("refresh"))),s&&a.append(r("span","op-tabs__close",{"aria-hidden":"true","data-op-tip":l("close")},d("x"))),this.tabs.set(t,a),this.barEl.append(...[...this.items].filter(c=>this.tabs.has(c)).map(c=>this.tabs.get(c)))}syncHeaders(t){for(let[i,s]of this.tabs){let o=i===t;s.setAttribute("aria-selected",String(o)),s.classList.toggle("is-active",o)}let e=t&&this.tabs.get(t);this.rover?.sync(e||void 0)}getActive(){return this.getActiveItem()}setActive(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(s=>s.id===t):t,i=this.getActiveItem();!e||e===i||this.tabConfig(e).disabled||this.emit("before-change",e,i)!==!1&&(this.ensure(e),this.setActiveItem(e),this.emit("change",e,this.items.indexOf(e)))}insert(t,e){let i=super.insert(t,e);return this.rendered&&(this.addHeader(i),this.ensure(i),this.setActive(i)),i}async reloadTab(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(o=>o.id===t):t,i=e&&this.tabs.get(e);if(!e||i?.classList.contains("is-reloading")||this.emit("before-reload",e)===!1)return!1;i?.classList.add("is-reloading");let s=e.config.onReload?.(e);return s instanceof Promise&&(e.setLoading(!0),await s.catch(()=>{}),e.setLoading(!1)),i?.classList.remove("is-reloading"),this.emit("reload",e),!0}closeTab(t){let e=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(i=>i.id===t):t;!e||this.emit("before-close",e)===!1||(this.remove(e),this.emit("close",e))}remove(t,e=!0){let i=typeof t=="number"?this.items[t]:typeof t=="string"?this.items.find(n=>n.id===t):t,s=i&&this.tabs.get(i)?.contains(document.activeElement),o=super.remove(t,e);if(i){this.tabs.get(i)?.remove(),this.tabs.delete(i),this.pending.delete(i);let n=this.getActiveItem();n&&this.ensure(n),s&&n&&this.tabs.get(n)?.focus()}return o}setTabState(t,e){let i=this.tabs.get(t);if(!i)return;i.classList.toggle("has-error",!!e.errors),i.classList.toggle("is-dirty",!!e.dirty);let s=i.querySelector(".op-tabs__badge");if(!e.errors)return s?.remove();s||(s=r("span","op-tabs__badge"),i.insertBefore(s,i.querySelector(".op-tabs__close"))),s.replaceChildren(String(e.errors),r("span","op-sr-only",{},` ${l("tabErrors")}`))}setTitle(t,e){t.config.title=e;let i=this.tabs.get(t)?.querySelector(".op-tabs__title");i&&(i.textContent=e)}};m("tabs",f);export{f as a};
2
+ //# sourceMappingURL=chunk-TBM35UV6.js.map
@@ -1,2 +1,2 @@
1
- import{c as n}from"./chunk-BQEFLPDA.js";import{a as d}from"./chunk-QVBDBGS4.js";import{a as s}from"./chunk-TIPK3SCJ.js";import{b as r,c as o}from"./chunk-PZSHOSOS.js";var l=class extends n{baseCls="op-field op-fieldgroup";labelEl;bodyEl;helpEl;errorEl;error="";constructor(e={}){super(e);for(let t of this.items)t.config.width!=null&&t.config.flex==null&&(t.config.flex="none");for(let t of this.getFields()){t.config.labelPos="top";for(let i of["invalid","valid"])t.on(i,()=>this.paintError())}}getBody(){return this.bodyEl}getFields(){return this.query(e=>e instanceof d)}getError(){return this.error}build(){let e=super.build();return this.labelEl=r("div","op-field__label",{id:o("op-fg")}),this.bodyEl=r("div","op-fieldgroup__body"),this.helpEl=r("div","op-field__help",{id:o("op-fg-help")}),this.errorEl=r("div","op-field__error",{id:o("op-fg-err"),role:"alert"}),e.append(this.labelEl,r("div","op-field__control",{},this.bodyEl),this.helpEl,this.errorEl),e.setAttribute("role","group"),e.setAttribute("aria-labelledby",this.labelEl.id),e}onRender(){let e=this.config;e.layout??={type:"hbox",stackBelow:e.stackBelow},super.onRender();let t=e.labelPos;for(let i=this.parent;!t&&i;i=i.parent)t=i.config.labelPos;this.el.classList.toggle("op-field--label-left",t==="left"),this.setLabel(e.label??""),this.setHelp(e.help??""),this.el.classList.toggle("is-required",!!e.required||this.getFields().some(i=>i.config.required)),this.listen(this.labelEl,"click",()=>this.getFields()[0]?.focus()),this.error="",this.paintError()}paintError(){let e=this.getFields().map(t=>t.getError()).find(Boolean)??"";e!==this.error&&(this.error=e,this.rendered&&(this.errorEl.textContent=e,this.el.classList.toggle("is-invalid",!!e),this.describe(),this.emit(e?"invalid":"valid",e)))}describe(){let e=[this.error&&this.errorEl.id,this.config.help&&this.helpEl.id].filter(Boolean);e.length?this.el.setAttribute("aria-describedby",e.join(" ")):this.el.removeAttribute("aria-describedby")}setLabel(e){this.config.label=e,this.rendered&&(this.labelEl.textContent=e,this.labelEl.hidden=!e)}setHelp(e){this.config.help=e,this.rendered&&(this.helpEl.textContent=e,this.helpEl.hidden=!e,this.describe())}};s("fieldgroup",l);export{l as a};
2
- //# sourceMappingURL=chunk-FNZI6MFG.js.map
1
+ import{c as n}from"./chunk-U5RENLU4.js";import{a as d}from"./chunk-RI62AESU.js";import{a as s}from"./chunk-TIPK3SCJ.js";import{b as r,c as o}from"./chunk-PZSHOSOS.js";var l=class extends n{baseCls="op-field op-fieldgroup";labelEl;bodyEl;helpEl;errorEl;error="";constructor(e={}){super(e);for(let t of this.items)t.config.width!=null&&t.config.flex==null&&(t.config.flex="none");for(let t of this.getFields()){t.config.labelPos="top";for(let i of["invalid","valid"])t.on(i,()=>this.paintError())}}getBody(){return this.bodyEl}getFields(){return this.query(e=>e instanceof d)}getError(){return this.error}build(){let e=super.build();return this.labelEl=r("div","op-field__label",{id:o("op-fg")}),this.bodyEl=r("div","op-fieldgroup__body"),this.helpEl=r("div","op-field__help",{id:o("op-fg-help")}),this.errorEl=r("div","op-field__error",{id:o("op-fg-err"),role:"alert"}),e.append(this.labelEl,r("div","op-field__control",{},this.bodyEl),this.helpEl,this.errorEl),e.setAttribute("role","group"),e.setAttribute("aria-labelledby",this.labelEl.id),e}onRender(){let e=this.config;e.layout??={type:"hbox",stackBelow:e.stackBelow},super.onRender();let t=e.labelPos;for(let i=this.parent;!t&&i;i=i.parent)t=i.config.labelPos;this.el.classList.toggle("op-field--label-left",t==="left"),this.setLabel(e.label??""),this.setHelp(e.help??""),this.el.classList.toggle("is-required",!!e.required||this.getFields().some(i=>i.config.required)),this.listen(this.labelEl,"click",()=>this.getFields()[0]?.focus()),this.error="",this.paintError()}paintError(){let e=this.getFields().map(t=>t.getError()).find(Boolean)??"";e!==this.error&&(this.error=e,this.rendered&&(this.errorEl.textContent=e,this.el.classList.toggle("is-invalid",!!e),this.describe(),this.emit(e?"invalid":"valid",e)))}describe(){let e=[this.error&&this.errorEl.id,this.config.help&&this.helpEl.id].filter(Boolean);e.length?this.el.setAttribute("aria-describedby",e.join(" ")):this.el.removeAttribute("aria-describedby")}setLabel(e){this.config.label=e,this.rendered&&(this.labelEl.textContent=e,this.labelEl.hidden=!e)}setHelp(e){this.config.help=e,this.rendered&&(this.helpEl.textContent=e,this.helpEl.hidden=!e,this.describe())}};s("fieldgroup",l);export{l as a};
2
+ //# sourceMappingURL=chunk-TBOQ6HZZ.js.map
@@ -1,2 +1,2 @@
1
- import{c as w}from"./chunk-DIOJGTUN.js";import{a as E,b as o,c as M,d as c,e as g,h as S}from"./chunk-2GKIF7A6.js";import{a as C}from"./chunk-TIPK3SCJ.js";import{f as k}from"./chunk-UDXO3KM3.js";import{b as n}from"./chunk-PZSHOSOS.js";import{d as L,e as D,f as v}from"./chunk-S4QD5NID.js";D("en",{dateMin:"Date must be on or after {n}",dateMax:"Date must be on or before {n}",calPrev:"Previous",calNext:"Next",calOpen:"Open calendar",calMonth:"Choose month"});D("pt-BR",{dateMin:"A data deve ser {n} ou posterior",dateMax:"A data deve ser {n} ou anterior",calPrev:"Anterior",calNext:"Pr\xF3ximo",calOpen:"Abrir calend\xE1rio",calMonth:"Escolher m\xEAs"});var f=(_,t)=>new Intl.DateTimeFormat(L()._lang,_).format(t),x=class extends k{baseCls="op-calendar";cursor=M();mode="days";titleEl;bodyEl;prevEl;nextEl;build(){let t=n("div","op-calendar",{role:"dialog","aria-label":v("calMonth")});return this.prevEl=n("button","op-calendar__nav",{type:"button","aria-label":v("calPrev")},w("chevron-left")),this.nextEl=n("button","op-calendar__nav",{type:"button","aria-label":v("calNext")},w("chevron-right")),this.titleEl=n("button","op-calendar__title",{type:"button","aria-live":"polite"}),this.bodyEl=n("div","op-calendar__body"),t.append(n("div","op-calendar__header",{},this.prevEl,this.titleEl,this.nextEl),this.bodyEl),t}onRender(){let t=this.first();t&&o(t)&&(this.cursor=t),this.listen(this.prevEl,"click",()=>this.step(-1)),this.listen(this.nextEl,"click",()=>this.step(1)),this.listen(this.titleEl,"click",()=>{this.mode=this.mode==="days"?"months":"days",this.paint()}),this.listen(this.bodyEl,"click",e=>{let s=e.target.closest("[data-iso],[data-month]");if(s)if(s.dataset.month){let[i,r]=s.dataset.month.split("-").map(Number),p=o(this.cursor);this.cursor=g(this.cursor,(i-p.getFullYear())*12+(r-1-p.getMonth())),this.mode="days",this.paint(),this.emit("navigate",i,r-1),this.focusDay()}else this.choose(s.dataset.iso)}),this.listen(this.bodyEl,"keydown",e=>this.onKey(e)),this.paint()}blocked(t){let{min:e,max:s,isDisabled:i}=this.config;return!!e&&t<e||!!s&&t>s||!!i?.(t)}span(){let t=this.config.value;return t?typeof t=="string"?{start:t,end:t}:t:{start:null,end:null}}first(){return this.span().start}choose(t){if(this.blocked(t))return;if(!this.config.range)return this.setValue(t),void this.emit("select",t);let{start:e,end:s}=this.span();if(e&&!s){let i=t<e?{start:t,end:e}:{start:e,end:t};this.setValue(i),this.emit("select",i)}else this.setValue({start:t,end:null}),this.emit("start",t)}step(t){this.cursor=this.mode==="days"?g(this.cursor,t):g(this.cursor,t*12),this.paint();let e=o(this.cursor);this.emit("navigate",e.getFullYear(),e.getMonth())}move(t){let e=o(this.cursor);this.cursor=t;let s=o(t);this.paint(),(s.getMonth()!==e.getMonth()||s.getFullYear()!==e.getFullYear())&&this.emit("navigate",s.getFullYear(),s.getMonth()),this.focusDay()}onKey(t){if(this.mode!=="days")return;let e=this.cursor,s=(o(e).getDay()-this.weekStart()+7)%7,i={ArrowLeft:c(e,-1),ArrowRight:c(e,1),ArrowUp:c(e,-7),ArrowDown:c(e,7),Home:c(e,-s),End:c(e,6-s),PageUp:g(e,t.shiftKey?-12:-1),PageDown:g(e,t.shiftKey?12:1)};i[t.key]?(t.preventDefault(),this.move(i[t.key])):(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.choose(e))}weekStart(){return this.config.firstDay??S()}paint(){let t=o(this.cursor);this.el.classList.toggle("is-months",this.mode==="months"),this.titleEl.textContent=this.mode==="days"?f({month:"long",year:"numeric"},t):String(t.getFullYear()),this.mode==="days"?this.paintDays(t):this.paintMonths(t)}paintDays(t){let e=this.weekStart(),s=n("tr");for(let d=0;d<7;d++){let m=new Date(2023,0,1+(e+d)%7);s.append(n("th","op-calendar__dow",{scope:"col",abbr:f({weekday:"long"},m)},f({weekday:"short"},m)))}let i=[],r=new Date(t.getFullYear(),t.getMonth(),1);r.setDate(1-(r.getDay()-e+7)%7);let p=M(),{start:h,end:u}=this.config.range?this.span():{start:this.first(),end:this.first()};for(let d=0;d<6;d++){let m=n("tr");for(let b=0;b<7;b++){let y=new Date(r.getFullYear(),r.getMonth(),r.getDate()+d*7+b),a=E(y),l=n("td","op-calendar__day",{role:"gridcell","data-iso":a,tabindex:a===this.cursor?0:-1,"aria-selected":String(!!h&&a>=h&&a<=(u??h)),"aria-label":f({dateStyle:"full"},y),"aria-disabled":this.blocked(a)?"true":null,"aria-current":a===p?"date":null},String(y.getDate()));l.classList.toggle("is-outside",y.getMonth()!==t.getMonth()),l.classList.toggle("is-today",a===p),l.classList.toggle("is-selected",a===h||a===u),l.classList.toggle("is-in-range",!!h&&!!u&&a>h&&a<u),l.classList.toggle("is-range-start",!!this.config.range&&a===h),l.classList.toggle("is-range-end",!!this.config.range&&a===u),l.classList.toggle("is-disabled",this.blocked(a)),m.append(l)}i.push(m)}this.bodyEl.replaceChildren(n("table","op-calendar__grid",{role:"grid"},n("thead","",{},s),n("tbody","",{},...i)))}paintMonths(t){let e=Array.from({length:12},(s,i)=>{let r=n("button","op-calendar__month",{type:"button","data-month":`${t.getFullYear()}-${String(i+1).padStart(2,"0")}`},f({month:"short"},new Date(2e3,i,1)));return r.classList.toggle("is-selected",i===t.getMonth()),r});this.bodyEl.replaceChildren(n("div","op-calendar__months",{},...e))}setValue(t){this.config.value=t;let e=this.first();e&&o(e)&&(this.cursor=e),this.rendered&&(this.mode="days",this.paint())}setRange(t){this.config.range=t,this.config.value=null,this.rendered&&this.paint()}setMin(t){this.config.min=t,this.rendered&&this.paint()}setMax(t){this.config.max=t,this.rendered&&this.paint()}showMonth(t,e){this.cursor=E(new Date(t,e,1)),this.rendered&&this.paint()}focusDay(){this.render(),this.bodyEl.querySelector('[tabindex="0"]')?.focus()}};C("calendar",x);export{x as a};
2
- //# sourceMappingURL=chunk-GEJKFE4X.js.map
1
+ import{c as w}from"./chunk-QT5JRZZJ.js";import{a as E,b as o,c as M,d as c,e as g,h as S}from"./chunk-2GKIF7A6.js";import{a as C}from"./chunk-TIPK3SCJ.js";import{f as k}from"./chunk-KMBTJ5AG.js";import{b as n}from"./chunk-PZSHOSOS.js";import{d as L,e as D,f as v}from"./chunk-S4QD5NID.js";D("en",{dateMin:"Date must be on or after {n}",dateMax:"Date must be on or before {n}",calPrev:"Previous",calNext:"Next",calOpen:"Open calendar",calMonth:"Choose month"});D("pt-BR",{dateMin:"A data deve ser {n} ou posterior",dateMax:"A data deve ser {n} ou anterior",calPrev:"Anterior",calNext:"Pr\xF3ximo",calOpen:"Abrir calend\xE1rio",calMonth:"Escolher m\xEAs"});var f=(_,t)=>new Intl.DateTimeFormat(L()._lang,_).format(t),x=class extends k{baseCls="op-calendar";cursor=M();mode="days";titleEl;bodyEl;prevEl;nextEl;build(){let t=n("div","op-calendar",{role:"dialog","aria-label":v("calMonth")});return this.prevEl=n("button","op-calendar__nav",{type:"button","aria-label":v("calPrev")},w("chevron-left")),this.nextEl=n("button","op-calendar__nav",{type:"button","aria-label":v("calNext")},w("chevron-right")),this.titleEl=n("button","op-calendar__title",{type:"button","aria-live":"polite"}),this.bodyEl=n("div","op-calendar__body"),t.append(n("div","op-calendar__header",{},this.prevEl,this.titleEl,this.nextEl),this.bodyEl),t}onRender(){let t=this.first();t&&o(t)&&(this.cursor=t),this.listen(this.prevEl,"click",()=>this.step(-1)),this.listen(this.nextEl,"click",()=>this.step(1)),this.listen(this.titleEl,"click",()=>{this.mode=this.mode==="days"?"months":"days",this.paint()}),this.listen(this.bodyEl,"click",e=>{let s=e.target.closest("[data-iso],[data-month]");if(s)if(s.dataset.month){let[i,r]=s.dataset.month.split("-").map(Number),p=o(this.cursor);this.cursor=g(this.cursor,(i-p.getFullYear())*12+(r-1-p.getMonth())),this.mode="days",this.paint(),this.emit("navigate",i,r-1),this.focusDay()}else this.choose(s.dataset.iso)}),this.listen(this.bodyEl,"keydown",e=>this.onKey(e)),this.paint()}blocked(t){let{min:e,max:s,isDisabled:i}=this.config;return!!e&&t<e||!!s&&t>s||!!i?.(t)}span(){let t=this.config.value;return t?typeof t=="string"?{start:t,end:t}:t:{start:null,end:null}}first(){return this.span().start}choose(t){if(this.blocked(t))return;if(!this.config.range)return this.setValue(t),void this.emit("select",t);let{start:e,end:s}=this.span();if(e&&!s){let i=t<e?{start:t,end:e}:{start:e,end:t};this.setValue(i),this.emit("select",i)}else this.setValue({start:t,end:null}),this.emit("start",t)}step(t){this.cursor=this.mode==="days"?g(this.cursor,t):g(this.cursor,t*12),this.paint();let e=o(this.cursor);this.emit("navigate",e.getFullYear(),e.getMonth())}move(t){let e=o(this.cursor);this.cursor=t;let s=o(t);this.paint(),(s.getMonth()!==e.getMonth()||s.getFullYear()!==e.getFullYear())&&this.emit("navigate",s.getFullYear(),s.getMonth()),this.focusDay()}onKey(t){if(this.mode!=="days")return;let e=this.cursor,s=(o(e).getDay()-this.weekStart()+7)%7,i={ArrowLeft:c(e,-1),ArrowRight:c(e,1),ArrowUp:c(e,-7),ArrowDown:c(e,7),Home:c(e,-s),End:c(e,6-s),PageUp:g(e,t.shiftKey?-12:-1),PageDown:g(e,t.shiftKey?12:1)};i[t.key]?(t.preventDefault(),this.move(i[t.key])):(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.choose(e))}weekStart(){return this.config.firstDay??S()}paint(){let t=o(this.cursor);this.el.classList.toggle("is-months",this.mode==="months"),this.titleEl.textContent=this.mode==="days"?f({month:"long",year:"numeric"},t):String(t.getFullYear()),this.mode==="days"?this.paintDays(t):this.paintMonths(t)}paintDays(t){let e=this.weekStart(),s=n("tr");for(let d=0;d<7;d++){let m=new Date(2023,0,1+(e+d)%7);s.append(n("th","op-calendar__dow",{scope:"col",abbr:f({weekday:"long"},m)},f({weekday:"short"},m)))}let i=[],r=new Date(t.getFullYear(),t.getMonth(),1);r.setDate(1-(r.getDay()-e+7)%7);let p=M(),{start:h,end:u}=this.config.range?this.span():{start:this.first(),end:this.first()};for(let d=0;d<6;d++){let m=n("tr");for(let b=0;b<7;b++){let y=new Date(r.getFullYear(),r.getMonth(),r.getDate()+d*7+b),a=E(y),l=n("td","op-calendar__day",{role:"gridcell","data-iso":a,tabindex:a===this.cursor?0:-1,"aria-selected":String(!!h&&a>=h&&a<=(u??h)),"aria-label":f({dateStyle:"full"},y),"aria-disabled":this.blocked(a)?"true":null,"aria-current":a===p?"date":null},String(y.getDate()));l.classList.toggle("is-outside",y.getMonth()!==t.getMonth()),l.classList.toggle("is-today",a===p),l.classList.toggle("is-selected",a===h||a===u),l.classList.toggle("is-in-range",!!h&&!!u&&a>h&&a<u),l.classList.toggle("is-range-start",!!this.config.range&&a===h),l.classList.toggle("is-range-end",!!this.config.range&&a===u),l.classList.toggle("is-disabled",this.blocked(a)),m.append(l)}i.push(m)}this.bodyEl.replaceChildren(n("table","op-calendar__grid",{role:"grid"},n("thead","",{},s),n("tbody","",{},...i)))}paintMonths(t){let e=Array.from({length:12},(s,i)=>{let r=n("button","op-calendar__month",{type:"button","data-month":`${t.getFullYear()}-${String(i+1).padStart(2,"0")}`},f({month:"short"},new Date(2e3,i,1)));return r.classList.toggle("is-selected",i===t.getMonth()),r});this.bodyEl.replaceChildren(n("div","op-calendar__months",{},...e))}setValue(t){this.config.value=t;let e=this.first();e&&o(e)&&(this.cursor=e),this.rendered&&(this.mode="days",this.paint())}setRange(t){this.config.range=t,this.config.value=null,this.rendered&&this.paint()}setMin(t){this.config.min=t,this.rendered&&this.paint()}setMax(t){this.config.max=t,this.rendered&&this.paint()}showMonth(t,e){this.cursor=E(new Date(t,e,1)),this.rendered&&this.paint()}focusDay(){this.render(),this.bodyEl.querySelector('[tabindex="0"]')?.focus()}};C("calendar",x);export{x as a};
2
+ //# sourceMappingURL=chunk-TJJL2GSJ.js.map
@@ -1,2 +1,2 @@
1
- import{c as o}from"./chunk-BQEFLPDA.js";import{c as i}from"./chunk-VV7CFMPZ.js";import{a as r}from"./chunk-TIPK3SCJ.js";var n="button:not(:disabled)",e=class extends o{baseCls="op-toolbar";rover;shorthand(t){if(t==="->")return{type:"spacer"};if(t==="-")return{type:"spacer",line:!0};if(t===" ")return{type:"spacer",width:8};throw new Error(`Optikos: unknown toolbar shorthand "${t}"`)}build(){let t=super.build();return t.setAttribute("role","toolbar"),this.config.vertical&&t.setAttribute("aria-orientation","vertical"),t}onRender(){this.config.layout??=this.config.vertical?{type:"vbox",align:"stretch"}:{type:"hbox",align:"center"},super.onRender(),this.el.classList.toggle("op-toolbar--vertical",!!this.config.vertical),this.rover=i(this.el,{selector:n,orientation:this.config.vertical?"vertical":"horizontal"}),this.own(()=>this.rover?.destroy())}notifyMount(){super.notifyMount(),this.rover?.sync()}};r("toolbar",e);export{e as a};
2
- //# sourceMappingURL=chunk-3F4MN2BU.js.map
1
+ import{c as o}from"./chunk-U5RENLU4.js";import{c as i}from"./chunk-VV7CFMPZ.js";import{a as r}from"./chunk-TIPK3SCJ.js";var n="button:not(:disabled)",e=class extends o{baseCls="op-toolbar";rover;shorthand(t){if(t==="->")return{type:"spacer"};if(t==="-")return{type:"spacer",line:!0};if(t===" ")return{type:"spacer",width:8};throw new Error(`Optikos: unknown toolbar shorthand "${t}"`)}build(){let t=super.build();return t.setAttribute("role","toolbar"),this.config.vertical&&t.setAttribute("aria-orientation","vertical"),t}onRender(){this.config.layout??=this.config.vertical?{type:"vbox",align:"stretch"}:{type:"hbox",align:"center"},super.onRender(),this.el.classList.toggle("op-toolbar--vertical",!!this.config.vertical),this.rover=i(this.el,{selector:n,orientation:this.config.vertical?"vertical":"horizontal"}),this.own(()=>this.rover?.destroy())}notifyMount(){super.notifyMount(),this.rover?.sync()}};r("toolbar",e);export{e as a};
2
+ //# sourceMappingURL=chunk-TJXH3F7Z.js.map
@@ -1,2 +1,2 @@
1
- import{c as m}from"./chunk-TIPK3SCJ.js";import{f as y}from"./chunk-UDXO3KM3.js";import{e as u}from"./chunk-PZSHOSOS.js";var g=new Map;function p(i,t){g.set(i,t)}function h(i){if(typeof i=="object"&&"init"in i)return i;let t=typeof i=="string"?{type:i}:i,o=g.get(t.type);if(!o)throw new Error(`Optikos: unknown layout "${t.type}"`);return o(t)}function c(i,t,o){let e=i.getBody(),n=!1,r=d=>{d!==n&&(n=d,e.classList.toggle("is-narrow",d),o?.(d),i.emit("narrow-change",d))};if(typeof ResizeObserver<"u"){let d=new ResizeObserver(()=>e.clientWidth>0&&r(e.clientWidth<t));d.observe(e),i.own(()=>d.disconnect())}return{isNarrow:()=>n,setNarrow:r}}var f=(i,t=[])=>o=>({init(e){let n=e.getBody();n.classList.add("op-layout",`op-layout-${i}`);for(let r of t)o[r]!=null&&n.style.setProperty(`--op-layout-${r}`,u(o[r]))}});p("fit",f("fit"));var w=f("hbox",["gap","align","justify","wrap"]);p("hbox",i=>{let t=w(i),o;return{...t,init(e){t.init(e),i.stackBelow&&(e.getBody().classList.add("op-layout-stack"),o=c(e,Number(i.stackBelow)))},isNarrow:()=>!!o?.isNarrow(),setNarrow:e=>o?.setNarrow(e)}});p("vbox",f("vbox",["gap","align","justify","wrap"]));p("grid",i=>{let t;return{init(o){let e=o.getBody();e.classList.add("op-layout","op-layout-grid"),i.gap!=null&&e.style.setProperty("--op-layout-gap",u(i.gap));let n=i.columns??1;if(typeof n=="number"){e.style.setProperty("--op-layout-columns",String(n));let r=i.narrowBelow==null?480:Number(i.narrowBelow);r>0&&n>1&&(t=c(o,r))}else e.style.gridTemplateColumns=n},add(o,e){let n=e.config.colspan;n&&(e.el.style.gridColumn=n==="full"?"1 / -1":`span ${n}`)},isNarrow:()=>!!t?.isNarrow(),setNarrow:o=>t?.setNarrow(o)}});p("border",i=>{let t,o,e=()=>Array.from(o.getBody().children).filter(s=>s instanceof HTMLElement&&(s.dataset.region==="west"||s.dataset.region==="east")),n=s=>e().find(a=>a.dataset.region===s),r=()=>o.getBody().classList.toggle("has-open-region",e().some(s=>s.classList.contains("is-open"))),d=s=>{for(let a of e())(!s||a.dataset.region===s)&&a.classList.remove("is-open");r()};return{init(s){o=s;let a=s.getBody();a.classList.add("op-layout","op-layout-border"),i.gap!=null&&a.style.setProperty("--op-layout-gap",u(i.gap)),t=c(s,i.narrowBelow==null?768:Number(i.narrowBelow),l=>{l?i.open&&(n(String(i.open))?.classList.add("is-open"),r()):d()}),s.listen(a,"click",l=>l.target===a&&d()),s.listen(a,"keydown",l=>{l.key==="Escape"&&a.classList.contains("has-open-region")&&a.classList.contains("is-narrow")&&(l.stopPropagation(),d())})},add(s,a){let l=a.config.region??"center";a.el.style.gridArea=l,a.el.dataset.region=l},openRegion(s){let a=n(s);!a||!t?.isNarrow()||(d(),a.classList.add("is-open"),r(),(a.querySelector("input,button,[tabindex]")??a).focus?.())},closeRegion:d,toggleRegion(s){n(s)?.classList.contains("is-open")?d(s):this.openRegion(s)},isRegionOpen:s=>!!n(s)?.classList.contains("is-open"),isNarrow:()=>!!t?.isNarrow(),setNarrow:s=>t?.setNarrow(s)}});p("card",i=>{let t,o=(e,n)=>{t=n;for(let r of e.items)r.rendered?r.el.hidden=r!==n:r.config.hidden=r!==n;e.emit("activate",n)};return{init(e){e.getBody().classList.add("op-layout","op-layout-fit");let n=i.activeItem??e.config.activeItem??0;o(e,typeof n=="number"?e.items[n]:e.items.find(r=>r.id===n))},add(e,n){n.el.hidden=n!==t&&!!t,t||o(e,n)},remove(e,n,r){n===t&&o(e,e.items[Math.min(r,e.items.length-1)])},activate:o,getActive:()=>t}});var C=class i extends y{baseCls="op-container";defaultLayout;items=[];layout;constructor(t={}){super(t),this.items=(t.items??[]).map(o=>this.make(o))}getBody(){return this.el}shorthand(t){throw new Error(`Optikos: no shorthand for item "${t}" in ${this.baseCls}`)}make(t){typeof t=="string"&&(t=this.shorthand(t));let o=t instanceof y?t:m({type:this.config.defaultType,...this.config.defaults,...t});return o.parent=this,o}onRender(){let t=this.config.layout??this.defaultLayout;t&&(this.layout=h(t)).init(this),this.items.forEach((o,e)=>this.attach(o,e))}attach(t,o){let e=this.getBody(),n=this.items.slice(o+1).find(r=>r.rendered&&r.el.parentNode===e);e.insertBefore(t.el,n?.el??null),this.layout?.add?.(this,t,o),this.mounted&&t.notifyMount()}add(t){return this.insert(this.items.length,t)}insert(t,o){let e=this.make(o);return this.items.splice(t,0,e),this.rendered&&this.attach(e,t),this.emit("add",e),e}remove(t,o=!0){let e=typeof t=="number"?t:this.items.findIndex(r=>r===t||r.id===t),n=this.items[e];if(n)return this.items.splice(e,1),n.parent=void 0,this.layout?.remove?.(this,n,e),o?n.destroy():n.rendered&&n.el.remove(),this.emit("remove",n),n}removeAll(t=!0){for(let o of[...this.items])this.remove(o,t)}getItems(){return this.items}get(t){return this.items.find(o=>o.id===t)}query(t){let o=[];for(let e of this.items)t(e)&&o.push(e),e instanceof i&&o.push(...e.query(t));return o}getActiveItem(){return this.layout?.getActive?.(this)}setActiveItem(t){let o=typeof t=="number"?this.items[t]:this.items.find(e=>e===t||e.id===t);o&&this.layout?.activate?.(this,o)}notifyMount(){super.notifyMount();for(let t of this.items)t.notifyMount()}onDestroy(){for(let t of[...this.items])t.destroy()}setDisabled(t){super.setDisabled(t);for(let o of this.items)o.setDisabled(t)}};export{p as a,h as b,C as c};
2
- //# sourceMappingURL=chunk-BQEFLPDA.js.map
1
+ import{c as g}from"./chunk-TIPK3SCJ.js";import{f as y}from"./chunk-KMBTJ5AG.js";import{e as u}from"./chunk-PZSHOSOS.js";var m=new Map;function p(i,t){m.set(i,t)}function h(i){if(typeof i=="object"&&"init"in i)return i;let t=typeof i=="string"?{type:i}:i,o=m.get(t.type);if(!o)throw new Error(`Optikos: unknown layout "${t.type}"`);return o(t)}function c(i,t,o){let e=i.getBody(),n=!1,r=d=>{d!==n&&(n=d,e.classList.toggle("is-narrow",d),o?.(d),i.emit("narrow-change",d))};if(typeof ResizeObserver<"u"){let d=new ResizeObserver(()=>e.clientWidth>0&&r(e.clientWidth<t));d.observe(e),i.own(()=>d.disconnect())}return{isNarrow:()=>n,setNarrow:r}}var f=(i,t=[])=>o=>({init(e){let n=e.getBody();n.classList.add("op-layout",`op-layout-${i}`);for(let r of t)o[r]!=null&&n.style.setProperty(`--op-layout-${r}`,u(o[r]))}});p("fit",f("fit"));var C=f("hbox",["gap","align","justify","wrap"]);p("hbox",i=>{let t=C(i),o;return{...t,init(e){t.init(e),i.stackBelow&&(e.getBody().classList.add("op-layout-stack"),o=c(e,Number(i.stackBelow)))},isNarrow:()=>!!o?.isNarrow(),setNarrow:e=>o?.setNarrow(e)}});p("vbox",f("vbox",["gap","align","justify","wrap"]));p("grid",i=>{let t;return{init(o){let e=o.getBody();e.classList.add("op-layout","op-layout-grid"),i.gap!=null&&e.style.setProperty("--op-layout-gap",u(i.gap));let n=i.columns??1;if(typeof n=="number"){e.style.setProperty("--op-layout-columns",String(n));let r=i.narrowBelow==null?480:Number(i.narrowBelow);r>0&&n>1&&(t=c(o,r))}else e.style.gridTemplateColumns=n},add(o,e){let n=e.config.colspan;n&&(e.el.style.gridColumn=n==="full"?"1 / -1":`span ${n}`)},isNarrow:()=>!!t?.isNarrow(),setNarrow:o=>t?.setNarrow(o)}});p("border",i=>{let t,o,e=()=>Array.from(o.getBody().children).filter(s=>s instanceof HTMLElement&&(s.dataset.region==="west"||s.dataset.region==="east")),n=s=>e().find(a=>a.dataset.region===s),r=()=>o.getBody().classList.toggle("has-open-region",e().some(s=>s.classList.contains("is-open"))),d=s=>{for(let a of e())(!s||a.dataset.region===s)&&a.classList.remove("is-open");r()};return{init(s){o=s;let a=s.getBody();a.classList.add("op-layout","op-layout-border"),i.gap!=null&&a.style.setProperty("--op-layout-gap",u(i.gap)),t=c(s,i.narrowBelow==null?768:Number(i.narrowBelow),l=>{l?i.open&&(n(String(i.open))?.classList.add("is-open"),r()):d()}),s.listen(a,"click",l=>l.target===a&&d()),s.listen(a,"keydown",l=>{l.key==="Escape"&&a.classList.contains("has-open-region")&&a.classList.contains("is-narrow")&&(l.stopPropagation(),d())})},add(s,a){let l=a.config.region??"center";a.el.style.gridArea=l,a.el.dataset.region=l},openRegion(s){let a=n(s);!a||!t?.isNarrow()||(d(),a.classList.add("is-open"),r(),(a.querySelector("input,button,[tabindex]")??a).focus?.())},closeRegion:d,toggleRegion(s){n(s)?.classList.contains("is-open")?d(s):this.openRegion(s)},isRegionOpen:s=>!!n(s)?.classList.contains("is-open"),isNarrow:()=>!!t?.isNarrow(),setNarrow:s=>t?.setNarrow(s)}});p("card",i=>{let t,o=(e,n)=>{t=n;for(let r of e.items)r.rendered?r.el.hidden=r!==n:r.config.hidden=r!==n;e.emit("activate",n)};return{init(e){e.getBody().classList.add("op-layout","op-layout-fit");let n=i.activeItem??e.config.activeItem??0;o(e,typeof n=="number"?e.items[n]:e.items.find(r=>r.id===n))},add(e,n){n.el.hidden=n!==t&&!!t,t||o(e,n)},remove(e,n,r){n===t&&o(e,e.items[Math.min(r,e.items.length-1)])},activate:o,getActive:()=>t}});var w=class i extends y{baseCls="op-container";defaultLayout;items=[];layout;constructor(t={}){super(t),this.items=(t.items??[]).map(o=>this.make(o))}getBody(){return this.el}shorthand(t){throw new Error(`Optikos: no shorthand for item "${t}" in ${this.baseCls}`)}make(t){typeof t=="string"&&(t=this.shorthand(t));let o=t instanceof y?t:g({type:this.config.defaultType,...this.config.defaults,...t});return o.parent=this,o}onRender(){let t=this.config.layout??this.defaultLayout,o=this.config.narrowBelow;t&&o!=null&&(t=typeof t=="string"?{type:t,narrowBelow:o}:"type"in t&&typeof t.type=="string"&&!("init"in t)?{narrowBelow:o,...t}:t),t&&(this.layout=h(t)).init(this),this.items.forEach((e,n)=>this.attach(e,n))}attach(t,o){let e=this.getBody(),n=this.items.slice(o+1).find(r=>r.rendered&&r.el.parentNode===e);e.insertBefore(t.el,n?.el??null),this.layout?.add?.(this,t,o),this.mounted&&t.notifyMount()}add(t){return this.insert(this.items.length,t)}insert(t,o){let e=this.make(o);return this.items.splice(t,0,e),this.rendered&&this.attach(e,t),this.emit("add",e),e}remove(t,o=!0){let e=typeof t=="number"?t:this.items.findIndex(r=>r===t||r.id===t),n=this.items[e];if(n)return this.items.splice(e,1),n.parent=void 0,this.layout?.remove?.(this,n,e),o?n.destroy():n.rendered&&n.el.remove(),this.emit("remove",n),n}removeAll(t=!0){for(let o of[...this.items])this.remove(o,t)}getItems(){return this.items}get(t){return this.items.find(o=>o.id===t)}query(t){let o=[];for(let e of this.items)t(e)&&o.push(e),e instanceof i&&o.push(...e.query(t));return o}getActiveItem(){return this.layout?.getActive?.(this)}setActiveItem(t){let o=typeof t=="number"?this.items[t]:this.items.find(e=>e===t||e.id===t);o&&this.layout?.activate?.(this,o)}notifyMount(){super.notifyMount();for(let t of this.items)t.notifyMount()}onDestroy(){for(let t of[...this.items])t.destroy()}setDisabled(t){super.setDisabled(t);for(let o of this.items)o.setDisabled(t)}};export{p as a,h as b,w as c};
2
+ //# sourceMappingURL=chunk-U5RENLU4.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/layout/layout.ts", "../src/core/container.ts"],
4
+ "sourcesContent": ["import type { Component } from '../core/component';\nimport type { Container } from '../core/container';\nimport { px } from '../core/dom';\n\nexport interface Layout {\n init(c: Container): void;\n add?(c: Container, cmp: Component, index: number): void;\n remove?(c: Container, cmp: Component, index: number): void;\n /** Card only. */\n activate?(c: Container, cmp: Component): void;\n getActive?(c: Container): Component | undefined;\n /** Border only: below `narrowBelow` the west/east regions become drawers; these open and close them. */\n openRegion?(name: string): void;\n closeRegion?(name?: string): void;\n toggleRegion?(name: string): void;\n isRegionOpen?(name: string): boolean;\n /** Layouts that adapt to the width: whether the container is currently narrow, and a way to force it (tests, previews). */\n isNarrow?(): boolean;\n setNarrow?(narrow: boolean): void;\n}\n\n/** `type` plus that layout's options; the common ones are typed for the editor. */\nexport type LayoutConfig = { type: string; narrowBelow?: number; gap?: number | string; columns?: number | string; open?: 'west' | 'east'; [option: string]: unknown };\nexport type LayoutSpec = string | LayoutConfig | Layout;\nexport type LayoutFactory = (config: Record<string, any>) => Layout;\n\nconst factories = new Map<string, LayoutFactory>();\n\n/** Registers a layout strategy under a name; users add their own the same way. */\nexport function registerLayout(name: string, factory: LayoutFactory): void {\n factories.set(name, factory);\n}\n\nexport function createLayout(spec: LayoutSpec): Layout {\n if (typeof spec === 'object' && 'init' in spec) return spec as Layout;\n const cfg = (typeof spec === 'string' ? { type: spec } : spec) as LayoutConfig;\n const f = factories.get(cfg.type);\n if (!f) throw new Error(`Optikos: unknown layout \"${cfg.type}\"`);\n return f(cfg);\n}\n\n/**\n * Keeps the class `is-narrow` on the container body while it is narrower than `below` px (a ResizeObserver on the\n * container itself, not the window, so a layout inside a small panel adapts too). Emits `narrow-change` on the container.\n */\nfunction watchNarrow(c: Container, below: number, on?: (narrow: boolean) => void) {\n const body = c.getBody();\n let narrow = false;\n const set = (n: boolean) => {\n if (n === narrow) return;\n narrow = n;\n body.classList.toggle('is-narrow', n);\n on?.(n);\n c.emit('narrow-change', n);\n };\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => body.clientWidth > 0 && set(body.clientWidth < below));\n ro.observe(body);\n c.own(() => ro.disconnect());\n }\n return { isNarrow: () => narrow, setNarrow: set };\n}\n\n/** Layouts that are only a class plus custom properties; the CSS does the work. */\nconst cssLayout =\n (name: string, vars: string[] = []): LayoutFactory =>\n (cfg) => ({\n init(c) {\n const body = c.getBody();\n body.classList.add('op-layout', `op-layout-${name}`);\n for (const v of vars) if (cfg[v] != null) body.style.setProperty(`--op-layout-${v}`, px(cfg[v]));\n },\n });\n\nregisterLayout('fit', cssLayout('fit'));\nconst hbox = cssLayout('hbox', ['gap', 'align', 'justify', 'wrap']);\n/** `stackBelow: 600`: under that width the row becomes a column. */\nregisterLayout('hbox', (cfg) => {\n const base = hbox(cfg);\n let w: ReturnType<typeof watchNarrow> | undefined;\n return {\n ...base,\n init(c) {\n base.init(c);\n if (cfg.stackBelow) {\n c.getBody().classList.add('op-layout-stack');\n w = watchNarrow(c, Number(cfg.stackBelow));\n }\n },\n isNarrow: () => !!w?.isNarrow(),\n setNarrow: (n) => w?.setNarrow(n),\n };\n});\nregisterLayout('vbox', cssLayout('vbox', ['gap', 'align', 'justify', 'wrap']));\n\n/** Numeric `columns` collapse to one column under `narrowBelow` px (default 480; `0` turns it off). */\nregisterLayout('grid', (cfg) => {\n let w: ReturnType<typeof watchNarrow> | undefined;\n return {\n init(c) {\n const body = c.getBody();\n body.classList.add('op-layout', 'op-layout-grid');\n if (cfg.gap != null) body.style.setProperty('--op-layout-gap', px(cfg.gap));\n const cols = cfg.columns ?? 1;\n if (typeof cols === 'number') {\n body.style.setProperty('--op-layout-columns', String(cols));\n const below = cfg.narrowBelow == null ? 480 : Number(cfg.narrowBelow);\n if (below > 0 && cols > 1) w = watchNarrow(c, below);\n } else body.style.gridTemplateColumns = cols;\n },\n add(_c, cmp) {\n const span = cmp.config.colspan;\n if (span) cmp.el.style.gridColumn = span === 'full' ? '1 / -1' : `span ${span}`;\n },\n isNarrow: () => !!w?.isNarrow(),\n setNarrow: (n) => w?.setNarrow(n),\n };\n});\n\n/**\n * Regions around a center. Under `narrowBelow` px (default 768) the west and east regions leave the grid and become\n * drawers over the center, closed until `openRegion('west')` (or `open: 'west'` in the layout config, to start open).\n * A scrim behind an open drawer closes it on click; Esc closes it too.\n */\nregisterLayout('border', (cfg) => {\n let w: ReturnType<typeof watchNarrow> | undefined;\n let cont!: Container;\n const regions = () => Array.from(cont.getBody().children).filter((e): e is HTMLElement => e instanceof HTMLElement && (e.dataset.region === 'west' || e.dataset.region === 'east'));\n const find = (name: string) => regions().find((e) => e.dataset.region === name);\n const sync = () => cont.getBody().classList.toggle('has-open-region', regions().some((e) => e.classList.contains('is-open')));\n const close = (name?: string) => {\n for (const e of regions()) if (!name || e.dataset.region === name) e.classList.remove('is-open');\n sync();\n };\n return {\n init(c) {\n cont = c;\n const body = c.getBody();\n body.classList.add('op-layout', 'op-layout-border');\n if (cfg.gap != null) body.style.setProperty('--op-layout-gap', px(cfg.gap));\n w = watchNarrow(c, cfg.narrowBelow == null ? 768 : Number(cfg.narrowBelow), (narrow) => {\n if (!narrow) close();\n else if (cfg.open) find(String(cfg.open))?.classList.add('is-open'), sync();\n });\n // the scrim is the body's own ::after: a click that lands on the body itself (not a child) closes the drawer\n c.listen(body, 'click', (e: Event) => e.target === body && close());\n c.listen(body, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && body.classList.contains('has-open-region') && body.classList.contains('is-narrow')) {\n e.stopPropagation();\n close();\n }\n });\n },\n add(_c, cmp) {\n const region = cmp.config.region ?? 'center';\n cmp.el.style.gridArea = region;\n cmp.el.dataset.region = region;\n },\n openRegion(name) {\n const e = find(name);\n if (!e || !w?.isNarrow()) return;\n close();\n e.classList.add('is-open');\n sync();\n (e.querySelector<HTMLElement>('input,button,[tabindex]') ?? e).focus?.();\n },\n closeRegion: close,\n toggleRegion(name) {\n if (find(name)?.classList.contains('is-open')) close(name);\n else this.openRegion!(name);\n },\n isRegionOpen: (name) => !!find(name)?.classList.contains('is-open'),\n isNarrow: () => !!w?.isNarrow(),\n setNarrow: (n) => w?.setNarrow(n),\n };\n});\n\nregisterLayout('card', (cfg) => {\n let active: Component | undefined;\n // children that were never rendered (lazy tabs) only get the flag; their DOM is not built just to hide it\n const show = (c: Container, cmp: Component | undefined) => {\n active = cmp;\n for (const i of c.items) {\n if (i.rendered) i.el.hidden = i !== cmp;\n else i.config.hidden = i !== cmp;\n }\n c.emit('activate', cmp);\n };\n return {\n init(c) {\n c.getBody().classList.add('op-layout', 'op-layout-fit');\n const a = cfg.activeItem ?? c.config.activeItem ?? 0;\n show(c, typeof a === 'number' ? c.items[a] : c.items.find((i) => i.id === a));\n },\n add(c, cmp) {\n cmp.el.hidden = cmp !== active && !!active;\n if (!active) show(c, cmp);\n },\n remove(c, cmp, index) {\n if (cmp === active) show(c, c.items[Math.min(index, c.items.length - 1)]);\n },\n activate: show,\n getActive: () => active,\n };\n});\n", "import { Component, type ComponentConfig, type Parent } from './component';\nimport { create, type AnyConfig } from './registry';\nimport { createLayout, type Layout, type LayoutSpec } from '../layout/layout';\n\n/** What a Tabs header reads from its panel (any Container, not just Panel). */\nexport interface TabPanelConfig {\n title?: string;\n icon?: string;\n closable?: boolean;\n reloadable?: boolean;\n /** Called by the tab's \u21BB; a returned Promise keeps the tab busy until it settles. */\n onReload?: (panel: any) => void | Promise<unknown>;\n}\n\nexport interface ContainerConfig extends ComponentConfig, TabPanelConfig {\n items?: Array<AnyConfig | Component | string>;\n layout?: LayoutSpec;\n /** Shortcut for the layout option of the same name: under this width (px) a `border` layout turns its west/east regions into drawers and numeric `columns` collapse to one. */\n narrowBelow?: number;\n /** Config merged into every item that does not set the key itself. */\n defaults?: Record<string, unknown>;\n /** `type` used by items that do not declare one. */\n defaultType?: string;\n /** Layout `card`: initial visible child (index or id). */\n activeItem?: number | string;\n}\n\nexport class Container<C extends ContainerConfig = ContainerConfig> extends Component<C> implements Parent {\n protected override baseCls = 'op-container';\n protected defaultLayout: LayoutSpec | undefined;\n items: Component[] = [];\n layout?: Layout;\n\n constructor(config: C = {} as C) {\n super(config);\n this.items = (config.items ?? []).map((i) => this.make(i));\n }\n\n /** Element that holds the children. Panels override it. */\n getBody(): HTMLElement {\n return this.el;\n }\n\n /** Turns shorthand strings (`'->'`) into configs. Subclasses override; the base has none. */\n protected shorthand(s: string): AnyConfig {\n throw new Error(`Optikos: no shorthand for item \"${s}\" in ${this.baseCls}`);\n }\n\n private make(item: AnyConfig | Component | string): Component {\n if (typeof item === 'string') item = this.shorthand(item);\n const c = item instanceof Component ? item : create({ type: this.config.defaultType, ...this.config.defaults, ...item });\n c.parent = this;\n return c;\n }\n\n protected override onRender(): void {\n let spec = this.config.layout ?? this.defaultLayout;\n const nb = this.config.narrowBelow;\n if (spec && nb != null) spec = typeof spec === 'string' ? { type: spec, narrowBelow: nb } : 'type' in spec && typeof spec.type === 'string' && !('init' in spec) ? { narrowBelow: nb, ...spec } : spec;\n if (spec) (this.layout = createLayout(spec)).init(this);\n this.items.forEach((c, i) => this.attach(c, i));\n }\n\n protected attach(c: Component, index: number): void {\n const body = this.getBody();\n const next = this.items.slice(index + 1).find((x) => x.rendered && x.el.parentNode === body);\n body.insertBefore(c.el, next?.el ?? null);\n this.layout?.add?.(this, c, index);\n if (this.mounted) c.notifyMount();\n }\n\n add(item: AnyConfig | Component | string): Component {\n return this.insert(this.items.length, item);\n }\n\n insert(index: number, item: AnyConfig | Component | string): Component {\n const c = this.make(item);\n this.items.splice(index, 0, c);\n if (this.rendered) this.attach(c, index);\n this.emit('add', c);\n return c;\n }\n\n /** Removes a child (by instance, id or index). Destroys it unless `destroy` is `false`. */\n remove(child: Component | string | number, destroy = true): Component | undefined {\n const i = typeof child === 'number' ? child : this.items.findIndex((c) => c === child || c.id === child);\n const c = this.items[i];\n if (!c) return;\n this.items.splice(i, 1);\n c.parent = undefined;\n this.layout?.remove?.(this, c, i);\n if (destroy) c.destroy();\n else if (c.rendered) c.el.remove();\n this.emit('remove', c);\n return c;\n }\n\n removeAll(destroy = true): void {\n for (const c of [...this.items]) this.remove(c, destroy);\n }\n\n getItems(): Component[] {\n return this.items;\n }\n\n /** Direct child by id. */\n get(id: string): Component | undefined {\n return this.items.find((c) => c.id === id);\n }\n\n /** All descendants (depth-first) matching `fn`. */\n query(fn: (c: Component) => boolean): Component[] {\n const out: Component[] = [];\n for (const c of this.items) {\n if (fn(c)) out.push(c);\n if (c instanceof Container) out.push(...c.query(fn));\n }\n return out;\n }\n\n /** Layout `card`: which child is visible. */\n getActiveItem(): Component | undefined {\n return this.layout?.getActive?.(this);\n }\n setActiveItem(item: Component | string | number): void {\n const c = typeof item === 'number' ? this.items[item] : this.items.find((x) => x === item || x.id === item);\n if (c) this.layout?.activate?.(this, c);\n }\n\n override notifyMount(): void {\n super.notifyMount();\n for (const c of this.items) c.notifyMount();\n }\n\n protected override onDestroy(): void {\n for (const c of [...this.items]) c.destroy();\n }\n\n override setDisabled(disabled: boolean): void {\n super.setDisabled(disabled);\n for (const c of this.items) c.setDisabled(disabled);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["factories", "registerLayout", "name", "factory", "createLayout", "spec", "cfg", "f", "watchNarrow", "c", "below", "on", "body", "narrow", "set", "n", "ro", "cssLayout", "vars", "v", "px", "hbox", "base", "w", "cols", "_c", "cmp", "span", "cont", "regions", "e", "find", "sync", "close", "region", "active", "show", "i", "a", "index", "Container", "_Container", "Component", "config", "i", "s", "item", "c", "create", "spec", "nb", "createLayout", "index", "body", "next", "x", "child", "destroy", "id", "fn", "out", "disabled"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as u}from"./chunk-ALNUVKDT.js";import{c as o}from"./chunk-QT5JRZZJ.js";import{a as p}from"./chunk-TIPK3SCJ.js";import{f as d}from"./chunk-KMBTJ5AG.js";import{b as i}from"./chunk-PZSHOSOS.js";import{b as c}from"./chunk-XFDNXSU5.js";import{d as h,e as s,f as a}from"./chunk-S4QD5NID.js";s("en",{statUp:"up {n}",statDown:"down {n}",statFlat:"unchanged"});s("pt-BR",{statUp:"subiu {n}",statDown:"caiu {n}",statFlat:"sem varia\xE7\xE3o"});var l=class extends d{baseCls="op-stat";labelEl;valueEl;deltaEl;captionEl;chart;build(){this.labelEl=i("div","op-stat__label"),this.valueEl=i("div","op-stat__value"),this.deltaEl=i("span","op-stat__delta"),this.captionEl=i("span","op-stat__caption");let{href:t,handler:e}=this.config;return i(t?"a":"div",this.baseCls+(t||e?" is-interactive":""),t?{href:t}:e?{role:"button",tabindex:0}:{},this.labelEl,i("div","op-stat__row",{},this.valueEl,this.deltaEl),this.captionEl)}onRender(){let t=this.config;this.setLabel(t.label),this.setValue(t.value??null),this.setDelta(t.delta),this.setCaption(t.caption??""),this.setTrend(t.trend),t.handler&&(this.listen(this.el,"click",e=>t.handler(this,e)),this.listen(this.el,"keydown",e=>{e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),t.handler(this,e))}))}setLabel(t){this.config.label=t,this.rendered&&(this.labelEl.replaceChildren(...this.config.icon?[o(this.config.icon)]:[],t),this.name())}name(){let t=this.config;(t.href||t.handler)&&!t.ariaLabel&&this.el.setAttribute("aria-label",`${t.label}: ${this.valueEl.textContent}`)}setValue(t){this.config.value=t,this.rendered&&(this.valueEl.textContent=t==null?"\u2014":typeof t=="number"?c(this.config.format??"number",t):t,this.name())}setDelta(t){if(this.config.delta=t,!this.rendered)return;let e=(t??0)>0,n=(this.config.good??"up")==="up"?e:!e;if(this.deltaEl.hidden=t==null,this.deltaEl.className=`op-stat__delta ${t?n?"is-good":"is-bad":"is-flat"}`,t==null)return;let r=new Intl.NumberFormat(h()._lang,{style:"percent",maximumFractionDigits:1,signDisplay:"exceptZero"}).format(t);this.deltaEl.replaceChildren(o(t?e?"arrow-up":"arrow-down":"minus"),i("span","",{"aria-hidden":"true"},r),i("span","op-sr-only",{},t?a(e?"statUp":"statDown",{n:r.replace(/^[+-]/,"")}):a("statFlat")))}setCaption(t){this.config.caption=t,this.rendered&&(this.captionEl.textContent=t,this.captionEl.hidden=!t)}setTrend(t){if(this.config.trend=t,!this.rendered)return;if(!t?.length)return this.chart?.destroy(),void(this.chart=void 0);let e=t.map((n,r)=>({i:r,v:n}));if(this.chart)return this.chart.setData(e);this.chart=new u({kind:"sparkline",x:"i",series:["v"],data:e,cls:"op-stat__spark",ariaLabel:this.config.label}),this.el.append(this.chart.el),this.chart.notifyMount()}onDestroy(){this.chart?.destroy()}};p("stat",l);export{l as a};
2
+ //# sourceMappingURL=chunk-UXL7KG46.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/charts/stat/stat.ts"],
4
+ "sourcesContent": ["import { Component, type ComponentConfig } from '../../../core/component';\nimport { register } from '../../../core/registry';\nimport { h } from '../../../core/dom';\nimport { t, getLocale, addMessages } from '../../../core/i18n';\nimport { format, type Formatter } from '../../../data/format';\nimport { iconEl } from '../../base/icon/icon';\nimport { Chart } from '../chart/chart';\n\naddMessages('en', { statUp: 'up {n}', statDown: 'down {n}', statFlat: 'unchanged' });\naddMessages('pt-BR', { statUp: 'subiu {n}', statDown: 'caiu {n}', statFlat: 'sem varia\u00E7\u00E3o' });\n\nexport interface StatConfig extends ComponentConfig {\n label: string;\n value?: number | string | null;\n /** Name of a registered format (`money`, `percent`...) or a function, for a numeric `value`. */\n format?: string | Formatter;\n /** The change since the last period, as a fraction (`0.125` shows `+12.5%`). */\n delta?: number;\n /** Which way is good news. `down` for costs, errors or waiting times. Default `up`. */\n good?: 'up' | 'down';\n /** Small text under the value (\"vs last week\"). */\n caption?: string;\n icon?: string;\n /** Numbers for a sparkline beside the value. */\n trend?: number[];\n /** Makes the tile a link. */\n href?: string;\n /** Makes the tile a button (focusable, Enter/Space): drill down, open a detail. */\n handler?: (stat: Stat, ev: Event) => void;\n}\n\n/** A KPI tile: a label, a big value, the change since last time and an optional sparkline. */\nexport class Stat extends Component<StatConfig> {\n protected override baseCls = 'op-stat';\n private labelEl!: HTMLElement;\n private valueEl!: HTMLElement;\n private deltaEl!: HTMLElement;\n private captionEl!: HTMLElement;\n private chart?: Chart;\n\n protected override build() {\n this.labelEl = h('div', 'op-stat__label');\n this.valueEl = h('div', 'op-stat__value');\n this.deltaEl = h('span', 'op-stat__delta');\n this.captionEl = h('span', 'op-stat__caption');\n const { href, handler } = this.config;\n const el = h(href ? 'a' : 'div', this.baseCls + (href || handler ? ' is-interactive' : ''), href ? { href } : handler ? { role: 'button', tabindex: 0 } : {}, this.labelEl, h('div', 'op-stat__row', {}, this.valueEl, this.deltaEl), this.captionEl);\n return el;\n }\n\n protected override onRender() {\n const c = this.config;\n this.setLabel(c.label);\n this.setValue(c.value ?? null);\n this.setDelta(c.delta);\n this.setCaption(c.caption ?? '');\n this.setTrend(c.trend);\n if (c.handler) {\n this.listen(this.el, 'click', (e: Event) => c.handler!(this, e));\n this.listen(this.el, 'keydown', (e: KeyboardEvent) => {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n c.handler!(this, e);\n });\n }\n }\n\n setLabel(label: string) {\n this.config.label = label;\n if (!this.rendered) return;\n this.labelEl.replaceChildren(...(this.config.icon ? [iconEl(this.config.icon)] : []), label);\n this.name();\n }\n\n /** An interactive tile reads as one sentence: \"Open orders: 12\". */\n private name() {\n const c = this.config;\n if ((c.href || c.handler) && !c.ariaLabel) this.el.setAttribute('aria-label', `${c.label}: ${this.valueEl.textContent}`);\n }\n\n setValue(value: number | string | null) {\n this.config.value = value;\n if (!this.rendered) return;\n this.valueEl.textContent = value == null ? '\u2014' : typeof value === 'number' ? format(this.config.format ?? 'number', value) : value;\n this.name();\n }\n\n setDelta(delta: number | undefined) {\n this.config.delta = delta;\n if (!this.rendered) return;\n const up = (delta ?? 0) > 0;\n const good = (this.config.good ?? 'up') === 'up' ? up : !up;\n this.deltaEl.hidden = delta == null;\n this.deltaEl.className = `op-stat__delta ${!delta ? 'is-flat' : good ? 'is-good' : 'is-bad'}`;\n if (delta == null) return;\n const text = new Intl.NumberFormat(getLocale()._lang, { style: 'percent', maximumFractionDigits: 1, signDisplay: 'exceptZero' }).format(delta);\n this.deltaEl.replaceChildren(iconEl(!delta ? 'minus' : up ? 'arrow-up' : 'arrow-down'), h('span', '', { 'aria-hidden': 'true' }, text), h('span', 'op-sr-only', {}, !delta ? t('statFlat') : t(up ? 'statUp' : 'statDown', { n: text.replace(/^[+-]/, '') })));\n }\n\n setCaption(caption: string) {\n this.config.caption = caption;\n if (this.rendered) {\n this.captionEl.textContent = caption;\n this.captionEl.hidden = !caption;\n }\n }\n\n setTrend(trend: number[] | undefined) {\n this.config.trend = trend;\n if (!this.rendered) return;\n if (!trend?.length) return void (this.chart?.destroy(), (this.chart = undefined));\n const data = trend.map((v, i) => ({ i, v }));\n if (this.chart) return this.chart.setData(data);\n this.chart = new Chart({ kind: 'sparkline', x: 'i', series: ['v'], data, cls: 'op-stat__spark', ariaLabel: this.config.label });\n this.el.append(this.chart.el);\n this.chart.notifyMount();\n }\n\n protected override onDestroy() {\n this.chart?.destroy();\n }\n}\nregister('stat', Stat);\n"],
5
+ "mappings": "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",
6
+ "names": ["addMessages", "Stat", "Component", "h", "href", "handler", "c", "label", "iconEl", "value", "format", "delta", "up", "good", "text", "getLocale", "t", "caption", "trend", "data", "v", "i", "Chart", "register"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-S3ILIWSW.js";import{a as t}from"./chunk-TIPK3SCJ.js";var e=class extends o{baseCls="op-field op-checkbox op-toggle";onRender(){super.onRender(),this.inputEl.setAttribute("role","switch")}setIndeterminate(){super.setIndeterminate(!1)}};t("toggle",e);export{e as a};
2
- //# sourceMappingURL=chunk-BRGT4O6Q.js.map
1
+ import{a as o}from"./chunk-BHKI2SU3.js";import{a as t}from"./chunk-TIPK3SCJ.js";var e=class extends o{baseCls="op-field op-checkbox op-toggle";onRender(){super.onRender(),this.inputEl.setAttribute("role","switch")}setIndeterminate(){super.setIndeterminate(!1)}};t("toggle",e);export{e as a};
2
+ //# sourceMappingURL=chunk-VADYSXHY.js.map
@@ -1,2 +1,2 @@
1
- import{c}from"./chunk-DIOJGTUN.js";import{b as g,c as y}from"./chunk-676AKAGF.js";import{b}from"./chunk-VV7CFMPZ.js";import{a as f}from"./chunk-TIPK3SCJ.js";import{c as m,f as v}from"./chunk-UDXO3KM3.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as d,f as h}from"./chunk-S4QD5NID.js";d("en",{cpPlaceholder:"Type a command or search\u2026",cpLabel:"Command palette",cpFilters:"Categories",cpAll:"All",cpEmpty:"No matching commands",cpHint:"\u2191\u2193 navigate \xB7 Enter run \xB7 Esc close"});d("pt-BR",{cpPlaceholder:"Digite um comando ou pesquise\u2026",cpLabel:"Paleta de comandos",cpFilters:"Categorias",cpAll:"Todas",cpEmpty:"Nenhum comando encontrado",cpHint:"\u2191\u2193 navegar \xB7 Enter executar \xB7 Esc fechar"});var E=()=>/mac|iphone|ipad/i.test(navigator.platform||navigator.userAgent);function C(a,t){let e=t.toLowerCase().split("+"),i=e.pop(),n=r=>e.includes(r),s=E();return a.key.toLowerCase()===i&&a.ctrlKey===(n("ctrl")||n("mod")&&!s)&&a.metaKey===(n("meta")||n("mod")&&s)&&a.shiftKey===n("shift")&&a.altKey===n("alt")}var _=(a,t)=>{let e=0;for(let i of a)if(i===t[e]&&++e===t.length)return!0;return!t.length};function w(a,t){let e=a.title.toLowerCase(),i=[a.category,a.description,...a.keywords??[]].join(" ").toLowerCase(),n=0;for(let s of t.toLowerCase().split(/\s+/).filter(Boolean)){let r=e.indexOf(s),l=r===0?100:r>0?/[\s\-_/]/.test(e[r-1])?80:60:s.length>2&&_(e,s)?30:i.includes(s)?20:0;if(!l)return 0;n+=l}return n}function k(a,t){let e=t.toLowerCase().split(/\s+/).filter(Boolean),i=a.toLowerCase(),n=[];for(let l of e){let p=i.indexOf(l);p>=0&&n.push([p,p+l.length])}n.sort((l,p)=>l[0]-p[0]);let s=[],r=0;for(let[l,p]of n)l<r||(s.push(a.slice(r,l),o("mark","op-palette__mark",{},a.slice(l,p))),r=p);return s.push(a.slice(r)),s.filter(l=>l!=="")}var u=class extends v{baseCls="op-palette-backdrop";commands;levels=[];query="";cat=null;shown=[];active=0;opened=!1;opener=null;release=[];panel;input;filtersEl;listEl;live;crumb;constructor(t={}){super(t),this.commands=[...t.commands??[]];let e=t.hotkey===void 0?"mod+k":t.hotkey;e&&this.listen(document,"keydown",i=>{!C(i,e)||this.destroyed||(i.preventDefault(),this.toggle())},!0)}build(){let t=this.config;this.input=o("input","op-palette__input",{type:"text",role:"combobox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",spellcheck:"false",placeholder:t.placeholder??h("cpPlaceholder")}),this.crumb=o("span","op-palette__crumb"),this.crumb.hidden=!0,this.filtersEl=o("div","op-palette__filters",{role:"group","aria-label":h("cpFilters")}),this.listEl=o("div","op-palette__list",{role:"listbox",id:`${this.id}-list`}),this.input.setAttribute("aria-controls",this.listEl.id),this.live=o("div","op-sr-only",{"aria-live":"polite"}),this.panel=o("div","op-palette",{role:"dialog","aria-modal":"true","aria-label":h("cpLabel")},o("div","op-palette__search",{},c("search"),this.crumb,this.input),this.filtersEl,this.listEl,this.live,o("div","op-palette__hint",{},h("cpHint")));let e=o("div","op-palette-backdrop",{},this.panel);return this.listen(this.input,"input",()=>{this.query=this.input.value,this.active=0,this.paint()}),this.listen(this.panel,"keydown",i=>this.onKey(i)),this.listen(e,"pointerdown",i=>i.target===e&&this.close()),this.listen(this.listEl,"pointermove",i=>{let n=this.indexOf(i);n>=0&&n!==this.active&&this.setActive(n)}),this.listen(this.listEl,"click",i=>{let n=this.indexOf(i);n>=0&&this.choose(this.shown[n])}),this.listen(this.filtersEl,"click",i=>{let n=i.target.closest("[data-cat]");n&&(this.cat=n.dataset.cat||null,this.active=0,this.paint(),this.input.focus())}),e}getCommands(){return this.commands}setCommands(t){this.commands=[...t],this.levels[0]&&(this.levels[0].commands=this.commands),this.opened&&this.paint()}register(t){let e=Array.isArray(t)?t:[t];return this.commands.push(...e),this.opened&&this.paint(),()=>this.setCommands(this.commands.filter(i=>!e.includes(i)))}run(t){let e=this.commands.find(i=>i.id===t);return e?this.exec(e):Promise.resolve()}isOpen(){return this.opened}toggle(){this.opened?this.close():this.open()}open(){if(this.opened||this.destroyed||this.emit("before-open")===!1)return;this.opener=document.activeElement;let t=this.el;this.levels=[{title:"",commands:this.commands}],this.query=this.input.value="",this.cat=null,this.active=0,g(t,this.opener),this.release.push(y(t),b(this.panel)),this.opened=!0,t.classList.add("is-open"),this.notifyMount(),this.paint(),this.input.focus(),this.emit("open")}close(){this.opened&&(this.opened=!1,this.release.splice(0).reverse().forEach(t=>t()),this.el.classList.remove("is-open"),this.el.remove(),this.opener instanceof HTMLElement&&this.opener.isConnected&&this.opener.focus(),this.emit("close"))}onDestroy(){this.opened=!1,this.release.splice(0).forEach(t=>t()),this.panel&&this.el.remove()}level(){return this.levels[this.levels.length-1]}results(){let t=this.level().commands.filter(s=>m(s.permission)&&!s.hidden?.()&&(!this.cat||s.category===this.cat)),e=this.query.trim();if(e)return t.map(s=>({c:s,s:w(s,e)})).filter(s=>s.s>0).sort((s,r)=>r.s-s.s).map(s=>s.c).slice(0,this.config.maxResults??50);let i=this.config.categories??[],n=s=>s.category===void 0?1e6:i.includes(s.category)?i.indexOf(s.category):i.length;return t.map((s,r)=>({c:s,i:r})).sort((s,r)=>n(s.c)-n(r.c)||s.i-r.i).map(s=>s.c).slice(0,this.config.maxResults??50)}paint(){let t=this.level();this.crumb.hidden=this.levels.length<2,this.crumb.textContent=t.title,this.paintFilters(),this.shown=this.results(),this.active=Math.min(this.active,Math.max(0,this.shown.length-1));let e=!!this.query.trim(),i=[],n;this.shown.forEach((s,r)=>{!e&&s.category!==n&&(n=s.category,n&&i.push(o("div","op-palette__group",{role:"presentation"},n)));let l=o("div",`op-palette__item${s.disabled?" is-disabled":""}`,{role:"option",id:`${this.id}-o${r}`,"aria-disabled":s.disabled?"true":null,"data-i":r},s.icon?o("span","op-palette__icon",{},c(s.icon)):o("span","op-palette__icon"),o("span","op-palette__text",{},o("span","op-palette__title",{},...k(s.title,this.query)),s.description?o("span","op-palette__desc",{},s.description):""),e&&s.category?o("span","op-palette__cat",{},s.category):"",s.children?o("span","op-palette__more",{"aria-hidden":"true"},c("chevron-right")):"",s.shortcut?o("kbd","op-palette__kbd",{},s.shortcut):"");i.push(l)}),this.shown.length||i.push(o("div","op-palette__empty",{},this.config.emptyText??h("cpEmpty"))),this.listEl.replaceChildren(...i),this.live.textContent=this.shown.length?h("results",{n:this.shown.length}):h("noResults"),this.setActive(this.active,!1)}paintFilters(){let t=[...new Set(this.level().commands.filter(i=>m(i.permission)&&!i.hidden?.()&&i.category).map(i=>i.category))];this.filtersEl.hidden=this.config.filters===!1||t.length<2,this.cat&&!t.includes(this.cat)&&(this.cat=null);let e=(i,n)=>o("button",`op-palette__chip${(this.cat??"")===n?" is-on":""}`,{type:"button","data-cat":n,"aria-pressed":String((this.cat??"")===n)},i);this.filtersEl.replaceChildren(e(h("cpAll"),""),...t.map(i=>e(i,i)))}indexOf(t){let e=t.target.closest(".op-palette__item");return e?Number(e.dataset.i):-1}setActive(t,e=!0){this.active=t;for(let i of Array.from(this.listEl.querySelectorAll(".op-palette__item"))){let n=Number(i.dataset.i)===t;i.classList.toggle("is-active",n),i.setAttribute("aria-selected",String(n)),n&&(this.input.setAttribute("aria-activedescendant",i.id),e&&i.scrollIntoView?.({block:"nearest"}))}this.shown.length||this.input.removeAttribute("aria-activedescendant")}onKey(t){let e=this.shown.length;switch(t.key){case"ArrowDown":case"ArrowUp":t.preventDefault(),e&&this.setActive((this.active+(t.key==="ArrowDown"?1:e-1))%e);break;case"Home":case"End":t.target===this.input&&!this.input.value&&(t.preventDefault(),e&&this.setActive(t.key==="Home"?0:e-1));break;case"Enter":if(t.target.closest(".op-palette__chip"))return;t.preventDefault(),this.shown[this.active]&&this.choose(this.shown[this.active]);break;case"Escape":t.preventDefault(),t.stopPropagation(),this.levels.length>1?this.back():this.close();break;case"Backspace":!this.input.value&&this.levels.length>1&&(t.preventDefault(),this.back());break}}back(){this.levels.pop(),this.query=this.input.value="",this.cat=null,this.active=0,this.paint(),this.input.focus()}async choose(t){if(!(!t||t.disabled)){if(t.children){try{let e=typeof t.children=="function"?await t.children():t.children;this.levels.push({title:t.title,commands:e}),this.query=this.input.value="",this.cat=null,this.active=0,this.paint(),this.input.focus()}catch(e){this.emit("error",e)}return}this.close(),await this.exec(t)}}async exec(t){try{this.emit("run",t),await t.handler?.({palette:this,command:t})}catch(e){this.emit("error",e)}}};f("commandpalette",u);export{u as a};
2
- //# sourceMappingURL=chunk-Q6FY4L2F.js.map
1
+ import{c}from"./chunk-QT5JRZZJ.js";import{b as g,c as y}from"./chunk-676AKAGF.js";import{b}from"./chunk-VV7CFMPZ.js";import{a as f}from"./chunk-TIPK3SCJ.js";import{c as m,f as v}from"./chunk-KMBTJ5AG.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as d,f as h}from"./chunk-S4QD5NID.js";d("en",{cpPlaceholder:"Type a command or search\u2026",cpLabel:"Command palette",cpFilters:"Categories",cpAll:"All",cpEmpty:"No matching commands",cpHint:"\u2191\u2193 navigate \xB7 Enter run \xB7 Esc close"});d("pt-BR",{cpPlaceholder:"Digite um comando ou pesquise\u2026",cpLabel:"Paleta de comandos",cpFilters:"Categorias",cpAll:"Todas",cpEmpty:"Nenhum comando encontrado",cpHint:"\u2191\u2193 navegar \xB7 Enter executar \xB7 Esc fechar"});var E=()=>/mac|iphone|ipad/i.test(navigator.platform||navigator.userAgent);function C(a,t){let e=t.toLowerCase().split("+"),i=e.pop(),n=r=>e.includes(r),s=E();return a.key.toLowerCase()===i&&a.ctrlKey===(n("ctrl")||n("mod")&&!s)&&a.metaKey===(n("meta")||n("mod")&&s)&&a.shiftKey===n("shift")&&a.altKey===n("alt")}var _=(a,t)=>{let e=0;for(let i of a)if(i===t[e]&&++e===t.length)return!0;return!t.length};function w(a,t){let e=a.title.toLowerCase(),i=[a.category,a.description,...a.keywords??[]].join(" ").toLowerCase(),n=0;for(let s of t.toLowerCase().split(/\s+/).filter(Boolean)){let r=e.indexOf(s),l=r===0?100:r>0?/[\s\-_/]/.test(e[r-1])?80:60:s.length>2&&_(e,s)?30:i.includes(s)?20:0;if(!l)return 0;n+=l}return n}function k(a,t){let e=t.toLowerCase().split(/\s+/).filter(Boolean),i=a.toLowerCase(),n=[];for(let l of e){let p=i.indexOf(l);p>=0&&n.push([p,p+l.length])}n.sort((l,p)=>l[0]-p[0]);let s=[],r=0;for(let[l,p]of n)l<r||(s.push(a.slice(r,l),o("mark","op-palette__mark",{},a.slice(l,p))),r=p);return s.push(a.slice(r)),s.filter(l=>l!=="")}var u=class extends v{baseCls="op-palette-backdrop";commands;levels=[];query="";cat=null;shown=[];active=0;opened=!1;opener=null;release=[];panel;input;filtersEl;listEl;live;crumb;constructor(t={}){super(t),this.commands=[...t.commands??[]];let e=t.hotkey===void 0?"mod+k":t.hotkey;e&&this.listen(document,"keydown",i=>{!C(i,e)||this.destroyed||(i.preventDefault(),this.toggle())},!0)}build(){let t=this.config;this.input=o("input","op-palette__input",{type:"text",role:"combobox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",spellcheck:"false",placeholder:t.placeholder??h("cpPlaceholder")}),this.crumb=o("span","op-palette__crumb"),this.crumb.hidden=!0,this.filtersEl=o("div","op-palette__filters",{role:"group","aria-label":h("cpFilters")}),this.listEl=o("div","op-palette__list",{role:"listbox",id:`${this.id}-list`}),this.input.setAttribute("aria-controls",this.listEl.id),this.live=o("div","op-sr-only",{"aria-live":"polite"}),this.panel=o("div","op-palette",{role:"dialog","aria-modal":"true","aria-label":h("cpLabel")},o("div","op-palette__search",{},c("search"),this.crumb,this.input),this.filtersEl,this.listEl,this.live,o("div","op-palette__hint",{},h("cpHint")));let e=o("div","op-palette-backdrop",{},this.panel);return this.listen(this.input,"input",()=>{this.query=this.input.value,this.active=0,this.paint()}),this.listen(this.panel,"keydown",i=>this.onKey(i)),this.listen(e,"pointerdown",i=>i.target===e&&this.close()),this.listen(this.listEl,"pointermove",i=>{let n=this.indexOf(i);n>=0&&n!==this.active&&this.setActive(n)}),this.listen(this.listEl,"click",i=>{let n=this.indexOf(i);n>=0&&this.choose(this.shown[n])}),this.listen(this.filtersEl,"click",i=>{let n=i.target.closest("[data-cat]");n&&(this.cat=n.dataset.cat||null,this.active=0,this.paint(),this.input.focus())}),e}getCommands(){return this.commands}setCommands(t){this.commands=[...t],this.levels[0]&&(this.levels[0].commands=this.commands),this.opened&&this.paint()}register(t){let e=Array.isArray(t)?t:[t];return this.commands.push(...e),this.opened&&this.paint(),()=>this.setCommands(this.commands.filter(i=>!e.includes(i)))}run(t){let e=this.commands.find(i=>i.id===t);return e?this.exec(e):Promise.resolve()}isOpen(){return this.opened}toggle(){this.opened?this.close():this.open()}open(){if(this.opened||this.destroyed||this.emit("before-open")===!1)return;this.opener=document.activeElement;let t=this.el;this.levels=[{title:"",commands:this.commands}],this.query=this.input.value="",this.cat=null,this.active=0,g(t,this.opener),this.release.push(y(t),b(this.panel)),this.opened=!0,t.classList.add("is-open"),this.notifyMount(),this.paint(),this.input.focus(),this.emit("open")}close(){this.opened&&(this.opened=!1,this.release.splice(0).reverse().forEach(t=>t()),this.el.classList.remove("is-open"),this.el.remove(),this.opener instanceof HTMLElement&&this.opener.isConnected&&this.opener.focus(),this.emit("close"))}onDestroy(){this.opened=!1,this.release.splice(0).forEach(t=>t()),this.panel&&this.el.remove()}level(){return this.levels[this.levels.length-1]}results(){let t=this.level().commands.filter(s=>m(s.permission)&&!s.hidden?.()&&(!this.cat||s.category===this.cat)),e=this.query.trim();if(e)return t.map(s=>({c:s,s:w(s,e)})).filter(s=>s.s>0).sort((s,r)=>r.s-s.s).map(s=>s.c).slice(0,this.config.maxResults??50);let i=this.config.categories??[],n=s=>s.category===void 0?1e6:i.includes(s.category)?i.indexOf(s.category):i.length;return t.map((s,r)=>({c:s,i:r})).sort((s,r)=>n(s.c)-n(r.c)||s.i-r.i).map(s=>s.c).slice(0,this.config.maxResults??50)}paint(){let t=this.level();this.crumb.hidden=this.levels.length<2,this.crumb.textContent=t.title,this.paintFilters(),this.shown=this.results(),this.active=Math.min(this.active,Math.max(0,this.shown.length-1));let e=!!this.query.trim(),i=[],n;this.shown.forEach((s,r)=>{!e&&s.category!==n&&(n=s.category,n&&i.push(o("div","op-palette__group",{role:"presentation"},n)));let l=o("div",`op-palette__item${s.disabled?" is-disabled":""}`,{role:"option",id:`${this.id}-o${r}`,"aria-disabled":s.disabled?"true":null,"data-i":r},s.icon?o("span","op-palette__icon",{},c(s.icon)):o("span","op-palette__icon"),o("span","op-palette__text",{},o("span","op-palette__title",{},...k(s.title,this.query)),s.description?o("span","op-palette__desc",{},s.description):""),e&&s.category?o("span","op-palette__cat",{},s.category):"",s.children?o("span","op-palette__more",{"aria-hidden":"true"},c("chevron-right")):"",s.shortcut?o("kbd","op-palette__kbd",{},s.shortcut):"");i.push(l)}),this.shown.length||i.push(o("div","op-palette__empty",{},this.config.emptyText??h("cpEmpty"))),this.listEl.replaceChildren(...i),this.live.textContent=this.shown.length?h("results",{n:this.shown.length}):h("noResults"),this.setActive(this.active,!1)}paintFilters(){let t=[...new Set(this.level().commands.filter(i=>m(i.permission)&&!i.hidden?.()&&i.category).map(i=>i.category))];this.filtersEl.hidden=this.config.filters===!1||t.length<2,this.cat&&!t.includes(this.cat)&&(this.cat=null);let e=(i,n)=>o("button",`op-palette__chip${(this.cat??"")===n?" is-on":""}`,{type:"button","data-cat":n,"aria-pressed":String((this.cat??"")===n)},i);this.filtersEl.replaceChildren(e(h("cpAll"),""),...t.map(i=>e(i,i)))}indexOf(t){let e=t.target.closest(".op-palette__item");return e?Number(e.dataset.i):-1}setActive(t,e=!0){this.active=t;for(let i of Array.from(this.listEl.querySelectorAll(".op-palette__item"))){let n=Number(i.dataset.i)===t;i.classList.toggle("is-active",n),i.setAttribute("aria-selected",String(n)),n&&(this.input.setAttribute("aria-activedescendant",i.id),e&&i.scrollIntoView?.({block:"nearest"}))}this.shown.length||this.input.removeAttribute("aria-activedescendant")}onKey(t){let e=this.shown.length;switch(t.key){case"ArrowDown":case"ArrowUp":t.preventDefault(),e&&this.setActive((this.active+(t.key==="ArrowDown"?1:e-1))%e);break;case"Home":case"End":t.target===this.input&&!this.input.value&&(t.preventDefault(),e&&this.setActive(t.key==="Home"?0:e-1));break;case"Enter":if(t.target.closest(".op-palette__chip"))return;t.preventDefault(),this.shown[this.active]&&this.choose(this.shown[this.active]);break;case"Escape":t.preventDefault(),t.stopPropagation(),this.levels.length>1?this.back():this.close();break;case"Backspace":!this.input.value&&this.levels.length>1&&(t.preventDefault(),this.back());break}}back(){this.levels.pop(),this.query=this.input.value="",this.cat=null,this.active=0,this.paint(),this.input.focus()}async choose(t){if(!(!t||t.disabled)){if(t.children){try{let e=typeof t.children=="function"?await t.children():t.children;this.levels.push({title:t.title,commands:e}),this.query=this.input.value="",this.cat=null,this.active=0,this.paint(),this.input.focus()}catch(e){this.emit("error",e)}return}this.close(),await this.exec(t)}}async exec(t){try{this.emit("run",t),await t.handler?.({palette:this,command:t})}catch(e){this.emit("error",e)}}};f("commandpalette",u);export{u as a};
2
+ //# sourceMappingURL=chunk-VBLCO5Q7.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-TIPK3SCJ.js";import{f as a}from"./chunk-UDXO3KM3.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as n,f}from"./chunk-S4QD5NID.js";n("en",{feOne:"Fix 1 problem before saving",feMany:"Fix {n} problems before saving"});n("pt-BR",{feOne:"Corrija 1 problema antes de salvar",feMany:"Corrija {n} problemas antes de salvar"});var l=class extends a{baseCls="op-formerrors";titleEl;listEl;form;active=!1;build(){return this.titleEl=o("div","op-formerrors__title"),this.listEl=o("ul","op-formerrors__list"),o("div","op-formerrors",{role:"alert",tabindex:-1},this.titleEl,this.listEl)}onRender(){this.el.hidden=!0;let e=this.parent;for(;e&&!("focusField"in e&&"getFields"in e);)e=e.parent;let t=this.form=e;if(t){t.on("invalid",()=>{this.active=!0,this.refresh(),this.config.focus&&this.el.focus()});for(let r of t.getFields())for(let i of["invalid","valid"])r.on(i,()=>this.active&&this.refresh());this.listen(this.listEl,"click",r=>{let i=Number(r.target.closest("[data-i]")?.dataset.i),s=this.getErrors()[i];s&&(t.focusField(s),this.emit("go",s))})}}getErrors(){return this.form?.getFields().filter(e=>e.getError())??[]}refresh(){let e=this.getErrors(),t=e.length,r=this.config.title;this.titleEl.textContent=typeof r=="function"?r(t):r??f(t===1?"feOne":"feMany",{n:t}),this.listEl.replaceChildren(...e.map((i,s)=>o("li","",{},o("button","op-formerrors__link",{type:"button","data-i":s},`${i.config.label??i.name??""}: ${i.getError()}`)))),this.el.hidden=!t}};m("formerrors",l);export{l as a};
2
- //# sourceMappingURL=chunk-ESCLDVFS.js.map
1
+ import{a as m}from"./chunk-TIPK3SCJ.js";import{f as a}from"./chunk-KMBTJ5AG.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as n,f}from"./chunk-S4QD5NID.js";n("en",{feOne:"Fix 1 problem before saving",feMany:"Fix {n} problems before saving"});n("pt-BR",{feOne:"Corrija 1 problema antes de salvar",feMany:"Corrija {n} problemas antes de salvar"});var l=class extends a{baseCls="op-formerrors";titleEl;listEl;form;active=!1;build(){return this.titleEl=o("div","op-formerrors__title"),this.listEl=o("ul","op-formerrors__list"),o("div","op-formerrors",{role:"alert",tabindex:-1},this.titleEl,this.listEl)}onRender(){this.el.hidden=!0;let e=this.parent;for(;e&&!("focusField"in e&&"getFields"in e);)e=e.parent;let t=this.form=e;if(t){t.on("invalid",()=>{this.active=!0,this.refresh(),this.config.focus&&this.el.focus()});for(let r of t.getFields())for(let i of["invalid","valid"])r.on(i,()=>this.active&&this.refresh());this.listen(this.listEl,"click",r=>{let i=Number(r.target.closest("[data-i]")?.dataset.i),s=this.getErrors()[i];s&&(t.focusField(s),this.emit("go",s))})}}getErrors(){return this.form?.getFields().filter(e=>e.getError())??[]}refresh(){let e=this.getErrors(),t=e.length,r=this.config.title;this.titleEl.textContent=typeof r=="function"?r(t):r??f(t===1?"feOne":"feMany",{n:t}),this.listEl.replaceChildren(...e.map((i,s)=>o("li","",{},o("button","op-formerrors__link",{type:"button","data-i":s},`${i.config.label??i.name??""}: ${i.getError()}`)))),this.el.hidden=!t}};m("formerrors",l);export{l as a};
2
+ //# sourceMappingURL=chunk-VCK5WWMQ.js.map
@@ -1,2 +1,2 @@
1
- import{c as g}from"./chunk-DIOJGTUN.js";import{a as d}from"./chunk-TIPK3SCJ.js";import{f as b}from"./chunk-UDXO3KM3.js";import{b as h,f as m}from"./chunk-PZSHOSOS.js";import{e as c,f as o}from"./chunk-S4QD5NID.js";c("en",{pageFirst:"First page",pagePrev:"Previous page",pageNext:"Next page",pageLast:"Last page",pageLabel:"Pagination",pageGoto:"Page {n}",pageInfo:"{from}\u2013{to} of {total}"});c("pt-BR",{pageFirst:"Primeira p\xE1gina",pagePrev:"P\xE1gina anterior",pageNext:"Pr\xF3xima p\xE1gina",pageLast:"\xDAltima p\xE1gina",pageLabel:"Pagina\xE7\xE3o",pageGoto:"P\xE1gina {n}",pageInfo:"{from}\u2013{to} de {total}"});var f=class extends b{baseCls="op-pagination";tag="nav";unsub;onRender(){this.el.setAttribute("aria-label",o("pageLabel")),this.listen(this.el,"click",t=>{let a=t.target.closest("button[data-page]");a&&!a.disabled&&this.setPage(Number(a.dataset.page))}),this.bindStore(this.config.store),this.own(()=>this.unsub?.()),this.paint()}bindStore(t){this.unsub?.(),this.unsub=t?.subscribe(()=>this.paint())}getPage(){return this.config.store?.page??this.config.page??1}size(){return this.config.store?.pageSize||this.config.pageSize||20}total(){return this.config.store?.totalCount??this.config.total??0}pages(){return Math.max(1,Math.ceil(this.total()/this.size()))}setPage(t){t=m(t,1,this.pages()),!(t===this.getPage()||this.emit("before-page-change",t)===!1)&&(this.config.store?this.config.store.setPage(t):(this.config.page=t,this.paint()),this.emit("page-change",t))}setTotal(t){this.config.total=t,this.paint()}setPageSize(t){this.config.pageSize=t,this.paint()}setStore(t){this.config.store=t,this.bindStore(t),this.paint()}window(){let t=this.pages(),a=this.getPage(),n=this.config.siblings??1;if(t<=n*2+5)return Array.from({length:t},(i,s)=>s+1);let p=new Set([1,t,...Array.from({length:n*2+1},(i,s)=>a-n+s)].filter(i=>i>=1&&i<=t)),r=[],e=0;for(let i of[...p].sort((s,l)=>s-l))i-e>1&&r.push(i-e===2?i-1:null),r.push(i),e=i;return r}paint(){if(!this.rendered)return;let t=this.getPage(),a=this.pages(),n=(e,i,s,l=!1,u=!1)=>h("button",`op-button op-button--ghost op-pagination__btn${u?" is-current":""}`,{type:"button","data-page":e,"aria-label":s,"aria-current":u?"page":null,disabled:l},i),p=[n(1,g("chevrons-left"),o("pageFirst"),t===1),n(t-1,g("chevron-left"),o("pagePrev"),t===1),...this.window().map(e=>e==null?h("span","op-pagination__gap",{"aria-hidden":"true"},"\u2026"):n(e,String(e),o("pageGoto",{n:e}),!1,e===t)),n(t+1,g("chevron-right"),o("pageNext"),t===a),n(a,g("chevrons-right"),o("pageLast"),t===a)];if(this.config.showInfo!==!1){let e=this.total(),i=this.size();p.push(h("span","op-pagination__info",{},e?o("pageInfo",{from:(t-1)*i+1,to:Math.min(t*i,e),total:e}):""))}let r=this.el.contains(document.activeElement)?document.activeElement.dataset.page:void 0;this.el.replaceChildren(...p),r&&this.el.querySelector(`[data-page="${r}"]:not(:disabled)`)?.focus()}};d("pagination",f);export{f as a};
2
- //# sourceMappingURL=chunk-BCVOUMJJ.js.map
1
+ import{c as g}from"./chunk-QT5JRZZJ.js";import{a as d}from"./chunk-TIPK3SCJ.js";import{f as b}from"./chunk-KMBTJ5AG.js";import{b as h,f as m}from"./chunk-PZSHOSOS.js";import{e as c,f as o}from"./chunk-S4QD5NID.js";c("en",{pageFirst:"First page",pagePrev:"Previous page",pageNext:"Next page",pageLast:"Last page",pageLabel:"Pagination",pageGoto:"Page {n}",pageInfo:"{from}\u2013{to} of {total}"});c("pt-BR",{pageFirst:"Primeira p\xE1gina",pagePrev:"P\xE1gina anterior",pageNext:"Pr\xF3xima p\xE1gina",pageLast:"\xDAltima p\xE1gina",pageLabel:"Pagina\xE7\xE3o",pageGoto:"P\xE1gina {n}",pageInfo:"{from}\u2013{to} de {total}"});var f=class extends b{baseCls="op-pagination";tag="nav";unsub;onRender(){this.el.setAttribute("aria-label",o("pageLabel")),this.listen(this.el,"click",t=>{let a=t.target.closest("button[data-page]");a&&!a.disabled&&this.setPage(Number(a.dataset.page))}),this.bindStore(this.config.store),this.own(()=>this.unsub?.()),this.paint()}bindStore(t){this.unsub?.(),this.unsub=t?.subscribe(()=>this.paint())}getPage(){return this.config.store?.page??this.config.page??1}size(){return this.config.store?.pageSize||this.config.pageSize||20}total(){return this.config.store?.totalCount??this.config.total??0}pages(){return Math.max(1,Math.ceil(this.total()/this.size()))}setPage(t){t=m(t,1,this.pages()),!(t===this.getPage()||this.emit("before-page-change",t)===!1)&&(this.config.store?this.config.store.setPage(t):(this.config.page=t,this.paint()),this.emit("page-change",t))}setTotal(t){this.config.total=t,this.paint()}setPageSize(t){this.config.pageSize=t,this.paint()}setStore(t){this.config.store=t,this.bindStore(t),this.paint()}window(){let t=this.pages(),a=this.getPage(),n=this.config.siblings??1;if(t<=n*2+5)return Array.from({length:t},(i,s)=>s+1);let p=new Set([1,t,...Array.from({length:n*2+1},(i,s)=>a-n+s)].filter(i=>i>=1&&i<=t)),r=[],e=0;for(let i of[...p].sort((s,l)=>s-l))i-e>1&&r.push(i-e===2?i-1:null),r.push(i),e=i;return r}paint(){if(!this.rendered)return;let t=this.getPage(),a=this.pages(),n=(e,i,s,l=!1,u=!1)=>h("button",`op-button op-button--ghost op-pagination__btn${u?" is-current":""}`,{type:"button","data-page":e,"aria-label":s,"aria-current":u?"page":null,disabled:l},i),p=[n(1,g("chevrons-left"),o("pageFirst"),t===1),n(t-1,g("chevron-left"),o("pagePrev"),t===1),...this.window().map(e=>e==null?h("span","op-pagination__gap",{"aria-hidden":"true"},"\u2026"):n(e,String(e),o("pageGoto",{n:e}),!1,e===t)),n(t+1,g("chevron-right"),o("pageNext"),t===a),n(a,g("chevrons-right"),o("pageLast"),t===a)];if(this.config.showInfo!==!1){let e=this.total(),i=this.size();p.push(h("span","op-pagination__info",{},e?o("pageInfo",{from:(t-1)*i+1,to:Math.min(t*i,e),total:e}):""))}let r=this.el.contains(document.activeElement)?document.activeElement.dataset.page:void 0;this.el.replaceChildren(...p),r&&this.el.querySelector(`[data-page="${r}"]:not(:disabled)`)?.focus()}};d("pagination",f);export{f as a};
2
+ //# sourceMappingURL=chunk-VCYCNSJY.js.map
@@ -1,2 +1,2 @@
1
- import{a as f}from"./chunk-GEJKFE4X.js";import{a as h}from"./chunk-LHWY6G6Q.js";import{a as u}from"./chunk-6NP4AEV4.js";import{c}from"./chunk-DIOJGTUN.js";import{f as o,g as p}from"./chunk-2GKIF7A6.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{b as d}from"./chunk-PZSHOSOS.js";import{f as n}from"./chunk-S4QD5NID.js";var a=class extends h{baseCls="op-field op-textfield op-picker op-datefield";cal;dd;garbage=!1;emptyValue(){return null}isEmpty(e){return!e}parse(e){let t=p(e);return this.garbage=!!e.trim()&&!t,t}display(e){return e?o(e,{day:"2-digit",month:"2-digit",year:"numeric"}):""}createControl(){let e=super.createControl(),t=this.input;t.setAttribute("role","combobox"),t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false");let r=d("button","op-picker__trigger",{type:"button",tabindex:-1,"aria-label":n("calOpen")},c("calendar"));this.listen(r,"mousedown",s=>s.preventDefault()),this.listen(r,"click",()=>{!this.config.disabled&&!this.config.readonly&&this.toggle()}),e.append(r);let i=this.config;return this.cal=new f({value:i.value,min:i.min,max:i.max,firstDay:i.firstDay}),this.dd=new u({anchor:e,content:this.cal,role:"presentation"}),this.cal.on("select",s=>{this.dd.close(),this.setValue(s),t.focus()}),this.dd.on("open",()=>{t.setAttribute("aria-expanded","true"),this.el.classList.add("is-open"),this.cal.setValue(this.value),this.cal.focusDay(),this.emit("expand")}),this.dd.on("close",()=>{t.setAttribute("aria-expanded","false"),this.el.classList.remove("is-open"),this.emit("collapse")}),this.own(()=>this.dd.destroy()),this.on("blur",()=>this.later(()=>{let s=document.activeElement;!this.el.contains(s)&&!this.dd.el.contains(s)&&this.dd.close()},0)),e}onKey(e){e.key==="ArrowDown"&&!this.dd.isOpen()?(e.preventDefault(),this.open()):super.onKey(e)}onInput(){super.onInput(),this.garbage?this.setError(n("date")):this.error&&this.validate()}applyValue(e){super.applyValue(e),this.garbage=!1}onDisabled(e){super.onDisabled(e),this.el.querySelector(".op-picker__trigger").disabled=e}check(){if(this.garbage)return n("date");let e=super.check(),t=this.value;if(e||!t)return e;let{min:r,max:i}=this.config;return r&&t<r?n("dateMin",{n:o(r)}):i&&t>i?n("dateMax",{n:o(i)}):""}open(){this.config.disabled||this.config.readonly||!this.rendered||this.dd.open()}close(){this.dd?.close()}toggle(){this.dd.isOpen()?this.close():this.open()}expand(){this.open()}collapse(){this.close()}setMin(e){this.config.min=e,this.cal?.setMin(e)}setMax(e){this.config.max=e,this.cal?.setMax(e)}};l("datefield",a);export{a};
2
- //# sourceMappingURL=chunk-OB3VIRQR.js.map
1
+ import{a as f}from"./chunk-TJJL2GSJ.js";import{a as u}from"./chunk-NBR5IRZT.js";import{a as h}from"./chunk-SQTM4QFP.js";import{c}from"./chunk-QT5JRZZJ.js";import{f as o,g as p}from"./chunk-2GKIF7A6.js";import{a as l}from"./chunk-TIPK3SCJ.js";import{b as d}from"./chunk-PZSHOSOS.js";import{f as n}from"./chunk-S4QD5NID.js";var a=class extends h{baseCls="op-field op-textfield op-picker op-datefield";cal;dd;garbage=!1;emptyValue(){return null}isEmpty(e){return!e}parse(e){let t=p(e);return this.garbage=!!e.trim()&&!t,t}display(e){return e?o(e,{day:"2-digit",month:"2-digit",year:"numeric"}):""}createControl(){let e=super.createControl(),t=this.input;t.setAttribute("role","combobox"),t.setAttribute("aria-haspopup","dialog"),t.setAttribute("aria-expanded","false");let r=d("button","op-picker__trigger",{type:"button",tabindex:-1,"aria-label":n("calOpen")},c("calendar"));this.listen(r,"mousedown",s=>s.preventDefault()),this.listen(r,"click",()=>{!this.config.disabled&&!this.config.readonly&&this.toggle()}),e.append(r);let i=this.config;return this.cal=new f({value:i.value,min:i.min,max:i.max,firstDay:i.firstDay}),this.dd=new u({anchor:e,content:this.cal,role:"presentation"}),this.cal.on("select",s=>{this.dd.close(),this.setValue(s),t.focus()}),this.dd.on("open",()=>{t.setAttribute("aria-expanded","true"),this.el.classList.add("is-open"),this.cal.setValue(this.value),this.cal.focusDay(),this.emit("expand")}),this.dd.on("close",()=>{t.setAttribute("aria-expanded","false"),this.el.classList.remove("is-open"),this.emit("collapse")}),this.own(()=>this.dd.destroy()),this.on("blur",()=>this.later(()=>{let s=document.activeElement;!this.el.contains(s)&&!this.dd.el.contains(s)&&this.dd.close()},0)),e}onKey(e){e.key==="ArrowDown"&&!this.dd.isOpen()?(e.preventDefault(),this.open()):super.onKey(e)}onInput(){super.onInput(),this.garbage?this.setError(n("date")):this.error&&this.validate()}applyValue(e){super.applyValue(e),this.garbage=!1}onDisabled(e){super.onDisabled(e),this.el.querySelector(".op-picker__trigger").disabled=e}check(){if(this.garbage)return n("date");let e=super.check(),t=this.value;if(e||!t)return e;let{min:r,max:i}=this.config;return r&&t<r?n("dateMin",{n:o(r)}):i&&t>i?n("dateMax",{n:o(i)}):""}open(){this.config.disabled||this.config.readonly||!this.rendered||this.dd.open()}close(){this.dd?.close()}toggle(){this.dd.isOpen()?this.close():this.open()}expand(){this.open()}collapse(){this.close()}setMin(e){this.config.min=e,this.cal?.setMin(e)}setMax(e){this.config.max=e,this.cal?.setMax(e)}};l("datefield",a);export{a};
2
+ //# sourceMappingURL=chunk-VOCGAAG7.js.map
@@ -1,2 +1,2 @@
1
- import{a as f}from"./chunk-BCVOUMJJ.js";import{a as d}from"./chunk-TIPK3SCJ.js";import{f as c}from"./chunk-UDXO3KM3.js";import{b as a}from"./chunk-PZSHOSOS.js";import{c as m}from"./chunk-L5SQQFO7.js";import{f as l}from"./chunk-S4QD5NID.js";import{e as p}from"./chunk-4AA4FQEM.js";var h=class extends c{baseCls="op-dataview";store;itemsEl;emptyEl;pager;selected=new Set;active=0;anchor=-1;offStore;build(){let t=this.config,e=a("div",this.baseCls,{role:"listbox","aria-multiselectable":t.selection==="multi"?"true":null});return this.itemsEl=a("div","op-dataview__items"),this.emptyEl=a("div","op-dataview__empty"),e.append(this.itemsEl,this.emptyEl),t.itemWidth&&e.style.setProperty("--op-dataview-item-width",t.itemWidth),t.gap&&e.style.setProperty("--op-dataview-gap",t.gap),t.paging&&(this.pager=new f({cls:"op-dataview__pager"}),e.append(this.pager.el)),e}onRender(){let t=this.config;this.bindStore(t.store??new m({data:t.data??[]})),this.listen(this.itemsEl,"click",e=>this.onClick(e,"item-click")),this.listen(this.itemsEl,"dblclick",e=>this.onClick(e,"item-dblclick")),this.listen(this.itemsEl,"keydown",e=>this.onKey(e)),this.listen(this.itemsEl,"focusin",e=>{let i=this.indexOf(e);i>=0&&this.setActive(i,!1)}),this.pager&&(this.pager.setStore(this.store),this.store.pageSize||this.store.setPageSize(t.pageSize??24)),this.own(()=>this.pager?.destroy()),this.paint(!0)}notifyMount(){super.notifyMount(),this.pager?.notifyMount()}bindStore(t){this.offStore?.(),this.store=t;let e=t.subscribe(s=>this.rendered&&this.paint(["load","page","filter","sort"].includes(s.type))),i=t.on("loading",s=>this.setLoading(s));this.offStore=()=>(e(),i()),this.own(()=>this.offStore?.())}setStore(t){this.config.store=t,this.selected.clear(),this.active=0,this.rendered&&(this.bindStore(t),this.pager?.setStore(t),this.paint())}getStore(){return this.render(),this.store}paint(t=!1){let e=this.config;for(let s of this.selected)this.store.indexOf(s)<0&&this.selected.delete(s);this.active=Math.min(this.active,Math.max(0,this.store.count-1));let i=e.selection??"single";this.itemsEl.replaceChildren(...this.store.getRange().map((s,o)=>{let n=a("div",`op-dataview__item${this.selected.has(s)?" is-selected":""}${o===this.active?" is-active":""}${e.itemCls?` ${e.itemCls(s)}`:""}`,{role:"option",id:`${this.id}-i${o}`,"data-i":o,tabindex:o===this.active?0:-1,"aria-selected":i==="none"?null:String(this.selected.has(s))});return n.append(e.renderer(s,o)),n})),t&&e.stagger!==!1&&p(this.items(),{dy:8}),this.emptyEl.textContent=e.emptyText??l("empty"),this.emptyEl.hidden=this.store.count>0,this.el.classList.toggle("is-empty",this.store.count===0)}refresh(){this.rendered&&this.paint()}items(){return Array.from(this.itemsEl.children)}indexOf(t){let e=t.target.closest(".op-dataview__item");return e?Number(e.dataset.i):-1}columns(){let t=this.items();return t.length?Math.max(1,t.filter(e=>e.offsetTop===t[0].offsetTop).length):1}getSelection(){return[...this.selected]}select(t,e={}){let i=typeof t=="number"?this.store.getAt(t):t,s=this.config.selection??"single";!i||s==="none"||((s==="single"||!e.add)&&this.selected.clear(),this.selected.add(i),this.changed())}selectAll(){this.config.selection==="multi"&&(this.store.each(t=>this.selected.add(t)),this.changed())}deselectAll(){this.selected.size&&(this.selected.clear(),this.changed())}changed(){this.paintSelection(),this.emit("select",this.getSelection())}paintSelection(){this.items().forEach((t,e)=>{let i=this.selected.has(this.store.getAt(e));t.classList.toggle("is-selected",i),(this.config.selection??"single")!=="none"&&t.setAttribute("aria-selected",String(i))})}pick(t,e){let i=this.config.selection??"single",s=this.store.getAt(t);if(!(!s||i==="none")){if(i==="multi"&&e.shiftKey&&this.anchor>=0){this.selected.clear();for(let o of this.store.getRange(Math.min(this.anchor,t),Math.max(this.anchor,t)+1))this.selected.add(o)}else i==="multi"&&(e.ctrlKey||e.metaKey)?(this.selected.delete(s)||this.selected.add(s),this.anchor=t):(this.selected.clear(),this.selected.add(s),this.anchor=t);this.changed()}}onClick(t,e){let i=this.indexOf(t),s=this.store.getAt(i);if(!s)return;let o=t.target.closest("[data-op-action]");if(o){e==="item-click"&&this.emit("item-action",o.dataset.opAction,s,t);return}e==="item-click"&&(this.setActive(i,!1),this.pick(i,t)),this.emit(e,s,i,t)}setActive(t,e=!0){this.active=t,this.items().forEach((i,s)=>{i.tabIndex=s===t?0:-1,i.classList.toggle("is-active",s===t)}),e&&this.items()[t]?.focus(),this.emit("active-change",t)}focusItem(t){this.render(),this.setActive(Math.max(0,Math.min(t,this.store.count-1)))}onKey(t){let e=this.store.count;if(!e)return;let i=this.columns(),s=Math.max(1,Math.floor(this.el.clientHeight/Math.max(1,this.items()[0]?.offsetHeight??1))||3),o=this.active,n={ArrowRight:Math.min(e-1,o+1),ArrowLeft:Math.max(0,o-1),ArrowDown:Math.min(e-1,o+i),ArrowUp:Math.max(0,o-i),Home:0,End:e-1,PageDown:Math.min(e-1,o+i*s),PageUp:Math.max(0,o-i*s)},r=this.config.selection??"single";t.key in n?(t.preventDefault(),this.setActive(n[t.key]),r==="multi"&&t.shiftKey?this.pick(n[t.key],{shiftKey:!0}):r==="single"&&!t.ctrlKey&&this.pick(n[t.key],{}),r==="multi"&&t.shiftKey&&this.anchor<0&&(this.anchor=o)):t.key===" "?(t.preventDefault(),this.pick(o,r==="multi"?{ctrlKey:!0}:{})):t.key==="Enter"?this.emit("item-activate",this.store.getAt(o),o):(t.key==="a"||t.key==="A")&&(t.ctrlKey||t.metaKey)&&r==="multi"&&(t.preventDefault(),this.selectAll())}onDestroy(){this.pager?.destroy()}};d("dataview",h);export{h as a};
2
- //# sourceMappingURL=chunk-CXZKCBQE.js.map
1
+ import{a as f}from"./chunk-VCYCNSJY.js";import{a as d}from"./chunk-TIPK3SCJ.js";import{f as c}from"./chunk-KMBTJ5AG.js";import{b as a}from"./chunk-PZSHOSOS.js";import{c as m}from"./chunk-L5SQQFO7.js";import{f as l}from"./chunk-S4QD5NID.js";import{e as p}from"./chunk-4AA4FQEM.js";var h=class extends c{baseCls="op-dataview";store;itemsEl;emptyEl;pager;selected=new Set;active=0;anchor=-1;offStore;build(){let t=this.config,e=a("div",this.baseCls,{role:"listbox","aria-multiselectable":t.selection==="multi"?"true":null});return this.itemsEl=a("div","op-dataview__items"),this.emptyEl=a("div","op-dataview__empty"),e.append(this.itemsEl,this.emptyEl),t.itemWidth&&e.style.setProperty("--op-dataview-item-width",t.itemWidth),t.gap&&e.style.setProperty("--op-dataview-gap",t.gap),t.paging&&(this.pager=new f({cls:"op-dataview__pager"}),e.append(this.pager.el)),e}onRender(){let t=this.config;this.bindStore(t.store??new m({data:t.data??[]})),this.listen(this.itemsEl,"click",e=>this.onClick(e,"item-click")),this.listen(this.itemsEl,"dblclick",e=>this.onClick(e,"item-dblclick")),this.listen(this.itemsEl,"keydown",e=>this.onKey(e)),this.listen(this.itemsEl,"focusin",e=>{let i=this.indexOf(e);i>=0&&this.setActive(i,!1)}),this.pager&&(this.pager.setStore(this.store),this.store.pageSize||this.store.setPageSize(t.pageSize??24)),this.own(()=>this.pager?.destroy()),this.paint(!0)}notifyMount(){super.notifyMount(),this.pager?.notifyMount()}bindStore(t){this.offStore?.(),this.store=t;let e=t.subscribe(s=>this.rendered&&this.paint(["load","page","filter","sort"].includes(s.type))),i=t.on("loading",s=>this.setLoading(s));this.offStore=()=>(e(),i()),this.own(()=>this.offStore?.())}setStore(t){this.config.store=t,this.selected.clear(),this.active=0,this.rendered&&(this.bindStore(t),this.pager?.setStore(t),this.paint())}getStore(){return this.render(),this.store}paint(t=!1){let e=this.config;for(let s of this.selected)this.store.indexOf(s)<0&&this.selected.delete(s);this.active=Math.min(this.active,Math.max(0,this.store.count-1));let i=e.selection??"single";this.itemsEl.replaceChildren(...this.store.getRange().map((s,o)=>{let n=a("div",`op-dataview__item${this.selected.has(s)?" is-selected":""}${o===this.active?" is-active":""}${e.itemCls?` ${e.itemCls(s)}`:""}`,{role:"option",id:`${this.id}-i${o}`,"data-i":o,tabindex:o===this.active?0:-1,"aria-selected":i==="none"?null:String(this.selected.has(s))});return n.append(e.renderer(s,o)),n})),t&&e.stagger!==!1&&p(this.items(),{dy:8}),this.emptyEl.textContent=e.emptyText??l("empty"),this.emptyEl.hidden=this.store.count>0,this.el.classList.toggle("is-empty",this.store.count===0)}refresh(){this.rendered&&this.paint()}items(){return Array.from(this.itemsEl.children)}indexOf(t){let e=t.target.closest(".op-dataview__item");return e?Number(e.dataset.i):-1}columns(){let t=this.items();return t.length?Math.max(1,t.filter(e=>e.offsetTop===t[0].offsetTop).length):1}getSelection(){return[...this.selected]}select(t,e={}){let i=typeof t=="number"?this.store.getAt(t):t,s=this.config.selection??"single";!i||s==="none"||((s==="single"||!e.add)&&this.selected.clear(),this.selected.add(i),this.changed())}selectAll(){this.config.selection==="multi"&&(this.store.each(t=>this.selected.add(t)),this.changed())}deselectAll(){this.selected.size&&(this.selected.clear(),this.changed())}changed(){this.paintSelection(),this.emit("select",this.getSelection())}paintSelection(){this.items().forEach((t,e)=>{let i=this.selected.has(this.store.getAt(e));t.classList.toggle("is-selected",i),(this.config.selection??"single")!=="none"&&t.setAttribute("aria-selected",String(i))})}pick(t,e){let i=this.config.selection??"single",s=this.store.getAt(t);if(!(!s||i==="none")){if(i==="multi"&&e.shiftKey&&this.anchor>=0){this.selected.clear();for(let o of this.store.getRange(Math.min(this.anchor,t),Math.max(this.anchor,t)+1))this.selected.add(o)}else i==="multi"&&(e.ctrlKey||e.metaKey)?(this.selected.delete(s)||this.selected.add(s),this.anchor=t):(this.selected.clear(),this.selected.add(s),this.anchor=t);this.changed()}}onClick(t,e){let i=this.indexOf(t),s=this.store.getAt(i);if(!s)return;let o=t.target.closest("[data-op-action]");if(o){e==="item-click"&&this.emit("item-action",o.dataset.opAction,s,t);return}e==="item-click"&&(this.setActive(i,!1),this.pick(i,t)),this.emit(e,s,i,t)}setActive(t,e=!0){this.active=t,this.items().forEach((i,s)=>{i.tabIndex=s===t?0:-1,i.classList.toggle("is-active",s===t)}),e&&this.items()[t]?.focus(),this.emit("active-change",t)}focusItem(t){this.render(),this.setActive(Math.max(0,Math.min(t,this.store.count-1)))}onKey(t){let e=this.store.count;if(!e)return;let i=this.columns(),s=Math.max(1,Math.floor(this.el.clientHeight/Math.max(1,this.items()[0]?.offsetHeight??1))||3),o=this.active,n={ArrowRight:Math.min(e-1,o+1),ArrowLeft:Math.max(0,o-1),ArrowDown:Math.min(e-1,o+i),ArrowUp:Math.max(0,o-i),Home:0,End:e-1,PageDown:Math.min(e-1,o+i*s),PageUp:Math.max(0,o-i*s)},r=this.config.selection??"single";t.key in n?(t.preventDefault(),this.setActive(n[t.key]),r==="multi"&&t.shiftKey?this.pick(n[t.key],{shiftKey:!0}):r==="single"&&!t.ctrlKey&&this.pick(n[t.key],{}),r==="multi"&&t.shiftKey&&this.anchor<0&&(this.anchor=o)):t.key===" "?(t.preventDefault(),this.pick(o,r==="multi"?{ctrlKey:!0}:{})):t.key==="Enter"?this.emit("item-activate",this.store.getAt(o),o):(t.key==="a"||t.key==="A")&&(t.ctrlKey||t.metaKey)&&r==="multi"&&(t.preventDefault(),this.selectAll())}onDestroy(){this.pager?.destroy()}};d("dataview",h);export{h as a};
2
+ //# sourceMappingURL=chunk-WHWPLMIG.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-GEJKFE4X.js";import{a as g}from"./chunk-LHWY6G6Q.js";import{a as f}from"./chunk-6NP4AEV4.js";import{c as h}from"./chunk-DIOJGTUN.js";import{f as a,g as o}from"./chunk-2GKIF7A6.js";import{a as u}from"./chunk-TIPK3SCJ.js";import{b as c}from"./chunk-PZSHOSOS.js";import{f as n}from"./chunk-S4QD5NID.js";var b=/\s*(?:–|—|\s-\s|\sto\s|\sa\s)\s*/,d=p=>a(p,{day:"2-digit",month:"2-digit",year:"numeric"}),l=class extends g{baseCls="op-field op-textfield op-picker op-datefield op-daterange";cal;dd;garbage=!1;emptyValue(){return null}isEmpty(e){return!e?.start}parse(e){if(this.garbage=!1,!e.trim())return null;let[r,s]=e.trim().split(b),t=o(r),i=s?o(s):null;return!t||s&&!i?(this.garbage=!0,null):i&&i<t?{start:i,end:t}:{start:t,end:i??t}}display(e){return e?.start?e.end&&e.end!==e.start?`${d(e.start)} \u2013 ${d(e.end)}`:d(e.start):""}createControl(){let e=super.createControl(),r=this.input;r.setAttribute("role","combobox"),r.setAttribute("aria-haspopup","dialog"),r.setAttribute("aria-expanded","false");let s=c("button","op-picker__trigger",{type:"button",tabindex:-1,"aria-label":n("calOpen")},h("calendar"));this.listen(s,"mousedown",i=>i.preventDefault()),this.listen(s,"click",()=>{!this.config.disabled&&!this.config.readonly&&this.toggle()}),e.append(s);let t=this.config;return this.cal=new m({range:!0,value:t.value,min:t.min,max:t.max,firstDay:t.firstDay}),this.dd=new f({anchor:e,content:this.cal,role:"presentation"}),this.cal.on("select",i=>{this.dd.close(),this.setValue(i),r.focus()}),this.dd.on("open",()=>{r.setAttribute("aria-expanded","true"),this.el.classList.add("is-open"),this.cal.setValue(this.value),this.cal.focusDay(),this.emit("expand")}),this.dd.on("close",()=>{r.setAttribute("aria-expanded","false"),this.el.classList.remove("is-open"),this.emit("collapse")}),this.own(()=>this.dd.destroy()),this.on("blur",()=>this.later(()=>{let i=document.activeElement;!this.el.contains(i)&&!this.dd.el.contains(i)&&this.dd.close()},0)),e}onKey(e){e.key==="ArrowDown"&&!this.dd.isOpen()?(e.preventDefault(),this.open()):super.onKey(e)}onInput(){super.onInput(),this.garbage?this.setError(n("date")):this.error&&this.validate()}applyValue(e){super.applyValue(e),this.garbage=!1}onDisabled(e){super.onDisabled(e),this.el.querySelector(".op-picker__trigger").disabled=e}check(){if(this.garbage)return n("date");let e=super.check(),r=this.value;if(e||!r)return e;let{min:s,max:t}=this.config;return s&&r.start<s?n("dateMin",{n:a(s)}):t&&(r.end??r.start)>t?n("dateMax",{n:a(t)}):""}open(){this.config.disabled||this.config.readonly||!this.rendered||this.dd.open()}close(){this.dd?.close()}toggle(){this.dd.isOpen()?this.close():this.open()}setMin(e){this.config.min=e,this.cal?.setMin(e)}setMax(e){this.config.max=e,this.cal?.setMax(e)}};u("daterangefield",l);export{l as a};
2
- //# sourceMappingURL=chunk-5GCTM37D.js.map
1
+ import{a as m}from"./chunk-TJJL2GSJ.js";import{a as f}from"./chunk-NBR5IRZT.js";import{a as g}from"./chunk-SQTM4QFP.js";import{c as h}from"./chunk-QT5JRZZJ.js";import{f as a,g as o}from"./chunk-2GKIF7A6.js";import{a as u}from"./chunk-TIPK3SCJ.js";import{b as c}from"./chunk-PZSHOSOS.js";import{f as n}from"./chunk-S4QD5NID.js";var b=/\s*(?:–|—|\s-\s|\sto\s|\sa\s)\s*/,d=p=>a(p,{day:"2-digit",month:"2-digit",year:"numeric"}),l=class extends g{baseCls="op-field op-textfield op-picker op-datefield op-daterange";cal;dd;garbage=!1;emptyValue(){return null}isEmpty(e){return!e?.start}parse(e){if(this.garbage=!1,!e.trim())return null;let[r,s]=e.trim().split(b),t=o(r),i=s?o(s):null;return!t||s&&!i?(this.garbage=!0,null):i&&i<t?{start:i,end:t}:{start:t,end:i??t}}display(e){return e?.start?e.end&&e.end!==e.start?`${d(e.start)} \u2013 ${d(e.end)}`:d(e.start):""}createControl(){let e=super.createControl(),r=this.input;r.setAttribute("role","combobox"),r.setAttribute("aria-haspopup","dialog"),r.setAttribute("aria-expanded","false");let s=c("button","op-picker__trigger",{type:"button",tabindex:-1,"aria-label":n("calOpen")},h("calendar"));this.listen(s,"mousedown",i=>i.preventDefault()),this.listen(s,"click",()=>{!this.config.disabled&&!this.config.readonly&&this.toggle()}),e.append(s);let t=this.config;return this.cal=new m({range:!0,value:t.value,min:t.min,max:t.max,firstDay:t.firstDay}),this.dd=new f({anchor:e,content:this.cal,role:"presentation"}),this.cal.on("select",i=>{this.dd.close(),this.setValue(i),r.focus()}),this.dd.on("open",()=>{r.setAttribute("aria-expanded","true"),this.el.classList.add("is-open"),this.cal.setValue(this.value),this.cal.focusDay(),this.emit("expand")}),this.dd.on("close",()=>{r.setAttribute("aria-expanded","false"),this.el.classList.remove("is-open"),this.emit("collapse")}),this.own(()=>this.dd.destroy()),this.on("blur",()=>this.later(()=>{let i=document.activeElement;!this.el.contains(i)&&!this.dd.el.contains(i)&&this.dd.close()},0)),e}onKey(e){e.key==="ArrowDown"&&!this.dd.isOpen()?(e.preventDefault(),this.open()):super.onKey(e)}onInput(){super.onInput(),this.garbage?this.setError(n("date")):this.error&&this.validate()}applyValue(e){super.applyValue(e),this.garbage=!1}onDisabled(e){super.onDisabled(e),this.el.querySelector(".op-picker__trigger").disabled=e}check(){if(this.garbage)return n("date");let e=super.check(),r=this.value;if(e||!r)return e;let{min:s,max:t}=this.config;return s&&r.start<s?n("dateMin",{n:a(s)}):t&&(r.end??r.start)>t?n("dateMax",{n:a(t)}):""}open(){this.config.disabled||this.config.readonly||!this.rendered||this.dd.open()}close(){this.dd?.close()}toggle(){this.dd.isOpen()?this.close():this.open()}setMin(e){this.config.min=e,this.cal?.setMin(e)}setMax(e){this.config.max=e,this.cal?.setMax(e)}};u("daterangefield",l);export{l as a};
2
+ //# sourceMappingURL=chunk-WVJSNE6Q.js.map
@@ -1,2 +1,2 @@
1
- import{a as h}from"./chunk-OADWLPSF.js";import{a as w}from"./chunk-ADHKL2GM.js";import{a as R}from"./chunk-2I7HDIOU.js";import{a as m}from"./chunk-SEUIIPHS.js";import{a as y}from"./chunk-BRGT4O6Q.js";import{a as v}from"./chunk-3OA3P37P.js";import{a as F}from"./chunk-QOSTS5I3.js";import{a}from"./chunk-TVO3Z2BM.js";import{a as c}from"./chunk-G26R2F3W.js";import{a as I}from"./chunk-6TZJO2G2.js";import{a as u}from"./chunk-S3ILIWSW.js";import{a as b}from"./chunk-BTGJ3MP4.js";import{a as k}from"./chunk-AJN66F32.js";import{a as l}from"./chunk-5GCTM37D.js";import{a as d}from"./chunk-NAUSRVB6.js";import{a as p}from"./chunk-EO777UIN.js";import{a as O}from"./chunk-FSR6BDVO.js";import{a as f}from"./chunk-T5OGUCY2.js";import{a as C}from"./chunk-OB3VIRQR.js";import{a as x}from"./chunk-U25QSLAH.js";import{a as T}from"./chunk-3F4MN2BU.js";import{a as g}from"./chunk-LHWY6G6Q.js";import{a as s}from"./chunk-ESRS5ZQV.js";import{c as e}from"./chunk-BQEFLPDA.js";var n=(t,r,i,o={})=>new t({name:r,label:i,...o}),$={text:(t,r,i)=>n(g,t,r,i),email:(t,r,i)=>n(g,t,r,{inputType:"email",...i}),password:(t,r,i)=>n(g,t,r,{inputType:"password",...i}),area:(t,r,i)=>n(m,t,r,i),number:(t,r,i)=>n(f,t,r,i),mask:(t,r,i,o)=>n(a,t,r,{mask:i,...o}),time:(t,r,i)=>n(p,t,r,i),date:(t,r,i)=>n(C,t,r,i),datetime:(t,r,i)=>n(d,t,r,i),dateRange:(t,r,i)=>n(l,t,r,i),secret:(t,r,i)=>n(I,t,r,i),slider:(t,r,i)=>n(R,t,r,i),dial:(t,r,i)=>n(O,t,r,i),check:(t,r,i)=>n(u,t,void 0,{boxLabel:r,...i}),toggle:(t,r,i)=>n(y,t,void 0,{boxLabel:r,...i}),radio:(t,r,i,o)=>n(c,t,r,{options:i,...o}),checkGroup:(t,r,i,o)=>n(b,t,r,{options:i,...o}),select:(t,r,i,o)=>n(w,t,r,{options:i,...o}),combo:(t,r,i,o)=>n(k,t,r,{options:i,...o}),suggest:(t,r,i,o)=>n(F,t,r,{query:i,...o}),lookup:(t,r,i,o)=>n(v,t,r,{lookup:i,...o}),button:(t,r,i)=>new s({text:t,handler:r,...i}),primary:(t,r,i)=>new s({text:t,handler:r,variant:"primary",...i}),danger:(t,r,i)=>new s({text:t,handler:r,variant:"danger",...i}),row:(...t)=>new e({layout:"hbox",items:t}),col:(...t)=>new e({layout:"vbox",items:t}),grid:(t,...r)=>new e({layout:{type:"grid",columns:t},items:r}),panel:(t,r,i)=>new x({title:t,items:r,...i}),toolbar:(...t)=>new T({items:t}),form:(t,r)=>new h({items:t,...r})};export{$ as a};
2
- //# sourceMappingURL=chunk-UCWICDYG.js.map
1
+ import{a as y}from"./chunk-VADYSXHY.js";import{a as h}from"./chunk-J6D4T4WY.js";import{a as c}from"./chunk-GYGX4VYF.js";import{a as I}from"./chunk-OQFQDTLL.js";import{a as w}from"./chunk-MMPPDQ2E.js";import{a as R}from"./chunk-XI4IBUE3.js";import{a as m}from"./chunk-MBRCE5A7.js";import{a as d}from"./chunk-EO2IXU2W.js";import{a as p}from"./chunk-4DW5WBZB.js";import{a as O}from"./chunk-NAWQBQ57.js";import{a as v}from"./chunk-I5KHVFJ4.js";import{a as F}from"./chunk-YRCR5ELY.js";import{a}from"./chunk-NYXRPWIB.js";import{a as u}from"./chunk-BHKI2SU3.js";import{a as b}from"./chunk-MRDX3RVJ.js";import{a as k}from"./chunk-LRUKKIYA.js";import{a as l}from"./chunk-WVJSNE6Q.js";import{a as f}from"./chunk-DHUBCB4H.js";import{a as C}from"./chunk-VOCGAAG7.js";import{a as x}from"./chunk-FTZMF2QX.js";import{a as T}from"./chunk-TJXH3F7Z.js";import{a as g}from"./chunk-SQTM4QFP.js";import{a as s}from"./chunk-KVUELLYF.js";import{c as e}from"./chunk-U5RENLU4.js";var n=(t,r,i,o={})=>new t({name:r,label:i,...o}),$={text:(t,r,i)=>n(g,t,r,i),email:(t,r,i)=>n(g,t,r,{inputType:"email",...i}),password:(t,r,i)=>n(g,t,r,{inputType:"password",...i}),area:(t,r,i)=>n(m,t,r,i),number:(t,r,i)=>n(f,t,r,i),mask:(t,r,i,o)=>n(a,t,r,{mask:i,...o}),time:(t,r,i)=>n(p,t,r,i),date:(t,r,i)=>n(C,t,r,i),datetime:(t,r,i)=>n(d,t,r,i),dateRange:(t,r,i)=>n(l,t,r,i),secret:(t,r,i)=>n(I,t,r,i),slider:(t,r,i)=>n(R,t,r,i),dial:(t,r,i)=>n(O,t,r,i),check:(t,r,i)=>n(u,t,void 0,{boxLabel:r,...i}),toggle:(t,r,i)=>n(y,t,void 0,{boxLabel:r,...i}),radio:(t,r,i,o)=>n(c,t,r,{options:i,...o}),checkGroup:(t,r,i,o)=>n(b,t,r,{options:i,...o}),select:(t,r,i,o)=>n(w,t,r,{options:i,...o}),combo:(t,r,i,o)=>n(k,t,r,{options:i,...o}),suggest:(t,r,i,o)=>n(F,t,r,{query:i,...o}),lookup:(t,r,i,o)=>n(v,t,r,{lookup:i,...o}),button:(t,r,i)=>new s({text:t,handler:r,...i}),primary:(t,r,i)=>new s({text:t,handler:r,variant:"primary",...i}),danger:(t,r,i)=>new s({text:t,handler:r,variant:"danger",...i}),row:(...t)=>new e({layout:"hbox",items:t}),col:(...t)=>new e({layout:"vbox",items:t}),grid:(t,...r)=>new e({layout:{type:"grid",columns:t},items:r}),panel:(t,r,i)=>new x({title:t,items:r,...i}),toolbar:(...t)=>new T({items:t}),form:(t,r)=>new h({items:t,...r})};export{$ as a};
2
+ //# sourceMappingURL=chunk-WWETTEUZ.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-QVBDBGS4.js";import{a as u}from"./chunk-TIPK3SCJ.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as p}from"./chunk-6NCXO5ZP.js";var l=class extends m{baseCls="op-field op-slider";track;fill;knobs=[];bubbles=[];marksEl;get min(){return this.config.min??0}get max(){return this.config.max??100}get step(){return this.config.step??1}get isRange(){return!!this.config.range}emptyValue(){return this.isRange?[this.min,this.max]:this.min}isEmpty(){return!1}fmt(t){return this.config.format?this.config.format(t):String(t)}vals(){return Array.isArray(this.value)?[...this.value]:[this.value]}snap(t){let e=Math.round((t-this.min)/this.step)*this.step+this.min,i=(String(this.step).split(".")[1]??"").length;return Math.max(this.min,Math.min(this.max,Number(e.toFixed(i))))}createControl(){let t=this.config;this.track=o("div","op-slider__track"),this.fill=o("div","op-slider__fill"),this.marksEl=o("div","op-slider__marks",{"aria-hidden":"true"}),this.track.append(this.fill,this.marksEl),this.buildKnobs(),this.listen(this.track,"pointerdown",i=>this.onTrackDown(i));let e=o("div","op-slider__box",{},this.track);return t.showScale&&e.append(o("div","op-slider__scale",{},o("span","",{},this.fmt(this.min)),o("span","",{},this.fmt(this.max)))),this.inputEl=this.knobs[0],e}buildKnobs(){this.knobs.forEach(e=>e.remove()),this.knobs=[],this.bubbles=[];let t=this.isRange?2:1;for(let e=0;e<t;e++){let i=o("span","op-slider__bubble",{"aria-hidden":"true"}),s=o("div","op-slider__knob",{role:"slider",tabindex:0,"aria-orientation":"horizontal","data-i":e},i);this.listen(s,"pointerdown",n=>this.onKnobDown(n,e)),this.listen(s,"keydown",n=>this.onKey(n,e)),this.listen(s,"focus",()=>this.el.classList.add("is-focus-knob")),this.listen(s,"blur",()=>this.el.classList.remove("is-focus-knob")),this.knobs.push(s),this.bubbles.push(i),this.track.append(s)}}onRender(){super.onRender(),this.knobs.forEach(t=>t.setAttribute("aria-labelledby",`${this.id}-label`)),this.el.querySelector(".op-field__label").id=`${this.id}-label`,this.paintMarks(),this.el.classList.toggle("has-bubble-always",this.config.showValue==="always"),this.el.classList.toggle("has-bubble-never",this.config.showValue==="never")}pct(t){return this.max===this.min?0:(t-this.min)/(this.max-this.min)*100}applyValue(t){let e=Array.isArray(t)?t:[t];this.knobs.forEach((n,a)=>{let r=e[a]??e[0];n.style.left=`${this.pct(r)}%`,n.setAttribute("aria-valuemin",String(a===1?e[0]:this.min)),n.setAttribute("aria-valuemax",String(a===0&&this.isRange?e[1]:this.max)),n.setAttribute("aria-valuenow",String(r)),n.setAttribute("aria-valuetext",this.fmt(r)),this.bubbles[a].textContent=this.fmt(r)});let i=this.isRange?this.pct(e[0]):0,s=this.pct(this.isRange?e[1]:e[0]);this.fill.style.left=`${i}%`,this.fill.style.width=`${Math.max(0,s-i)}%`}paintMarks(){let t=this.config.marks;if(this.marksEl.replaceChildren(),!t)return;let e=Array.isArray(t)?t:(()=>{let i=Math.floor((this.max-this.min)/this.step),s=Math.ceil(i/20)||1;return Array.from({length:Math.floor(i/s)+1},(n,a)=>({value:this.min+a*s*this.step}))})();for(let i of e){let s=o("span","op-slider__mark",{},i.label?o("span","op-slider__mark-label",{},i.label):"");s.style.left=`${this.pct(i.value)}%`,this.marksEl.append(s)}}valueAt(t){let e=this.track.getBoundingClientRect();return this.snap(this.min+Math.max(0,Math.min(1,(t.clientX-e.left)/(e.width||1)))*(this.max-this.min))}nearest(t){if(!this.isRange)return 0;let[e,i]=this.vals();return Math.abs(t-e)<=Math.abs(t-i)?t>i?1:0:1}onTrackDown(t){if(t.target.closest(".op-slider__knob")||this.config.disabled||this.config.readonly||t.button)return;let e=this.nearest(this.valueAt(t));this.onKnobDown(t,e)}onKnobDown(t,e){if(this.config.disabled||this.config.readonly||t.button)return;t.preventDefault();let i=this.knobs[e];i.focus(),i.setPointerCapture?.(t.pointerId),this.el.classList.add("is-dragging"),this.emit("slide-start");let s=p(i,"x"),n=t.clientX;this.setAt(e,this.valueAt(t));let a=h=>{s.move(h.clientX-n),n=h.clientX,this.setAt(e,this.valueAt(h))},r=()=>{i.removeEventListener("pointermove",a),i.removeEventListener("pointerup",r),i.removeEventListener("pointercancel",r),this.el.classList.remove("is-dragging"),s.release(),this.flushSettled(),this.emit("slide-end",this.value)};i.addEventListener("pointermove",a),i.addEventListener("pointerup",r),i.addEventListener("pointercancel",r),this.own(r)}setAt(t,e){let i=this.vals();this.isRange?i[t]=t===0?Math.min(e,i[1]):Math.max(e,i[0]):i[0]=e;let s=this.isRange?[i[0],i[1]]:i[0];this.isEqual(s,this.value)||(this.commit(s),this.applyValue(s))}onKey(t,e){if(this.config.disabled||this.config.readonly)return;let i=this.vals(),s=i[e],n=this.step*10,a=this.isRange&&e===1?i[0]:this.min,r=this.isRange&&e===0?i[1]:this.max,h={ArrowRight:s+this.step,ArrowUp:s+this.step,ArrowLeft:s-this.step,ArrowDown:s-this.step,PageUp:s+n,PageDown:s-n,Home:a,End:r};t.key in h&&(t.preventDefault(),this.setAt(e,Math.max(a,Math.min(r,this.snap(h[t.key])))),this.flushSettled(),this.emit("slide-end",this.value))}getPercent(){return this.pct(this.vals()[0])}refresh(){this.rendered&&(this.applyValue(this.value),this.paintMarks())}setMin(t){this.config.min=t,this.value=this.clampAll(this.value),this.refresh()}setMax(t){this.config.max=t,this.value=this.clampAll(this.value),this.refresh()}setStep(t){this.config.step=t,this.value=this.clampAll(this.value),this.refresh()}clampAll(t){return Array.isArray(t)?[this.snap(t[0]),this.snap(t[1])]:this.snap(t)}setRange(t){if(t===this.isRange)return;let e=this.vals();this.config.range=t,this.value=t?[e[0],this.max]:e[0],this.rendered&&(this.buildKnobs(),this.inputEl=this.knobs[0],this.applyValue(this.value))}onDisabled(t){this.knobs.forEach(e=>(e.tabIndex=t?-1:0,e.setAttribute("aria-disabled",String(t))))}onReadonly(t){this.knobs.forEach(e=>e.setAttribute("aria-readonly",String(t)))}};u("slider",l);export{l as a};
2
- //# sourceMappingURL=chunk-2I7HDIOU.js.map
1
+ import{a as m}from"./chunk-RI62AESU.js";import{a as u}from"./chunk-TIPK3SCJ.js";import{b as o}from"./chunk-PZSHOSOS.js";import{e as p}from"./chunk-6NCXO5ZP.js";var l=class extends m{baseCls="op-field op-slider";track;fill;knobs=[];bubbles=[];marksEl;get min(){return this.config.min??0}get max(){return this.config.max??100}get step(){return this.config.step??1}get isRange(){return!!this.config.range}emptyValue(){return this.isRange?[this.min,this.max]:this.min}isEmpty(){return!1}fmt(t){return this.config.format?this.config.format(t):String(t)}vals(){return Array.isArray(this.value)?[...this.value]:[this.value]}snap(t){let e=Math.round((t-this.min)/this.step)*this.step+this.min,i=(String(this.step).split(".")[1]??"").length;return Math.max(this.min,Math.min(this.max,Number(e.toFixed(i))))}createControl(){let t=this.config;this.track=o("div","op-slider__track"),this.fill=o("div","op-slider__fill"),this.marksEl=o("div","op-slider__marks",{"aria-hidden":"true"}),this.track.append(this.fill,this.marksEl),this.buildKnobs(),this.listen(this.track,"pointerdown",i=>this.onTrackDown(i));let e=o("div","op-slider__box",{},this.track);return t.showScale&&e.append(o("div","op-slider__scale",{},o("span","",{},this.fmt(this.min)),o("span","",{},this.fmt(this.max)))),this.inputEl=this.knobs[0],e}buildKnobs(){this.knobs.forEach(e=>e.remove()),this.knobs=[],this.bubbles=[];let t=this.isRange?2:1;for(let e=0;e<t;e++){let i=o("span","op-slider__bubble",{"aria-hidden":"true"}),s=o("div","op-slider__knob",{role:"slider",tabindex:0,"aria-orientation":"horizontal","data-i":e},i);this.listen(s,"pointerdown",n=>this.onKnobDown(n,e)),this.listen(s,"keydown",n=>this.onKey(n,e)),this.listen(s,"focus",()=>this.el.classList.add("is-focus-knob")),this.listen(s,"blur",()=>this.el.classList.remove("is-focus-knob")),this.knobs.push(s),this.bubbles.push(i),this.track.append(s)}}onRender(){super.onRender(),this.knobs.forEach(t=>t.setAttribute("aria-labelledby",`${this.id}-label`)),this.el.querySelector(".op-field__label").id=`${this.id}-label`,this.paintMarks(),this.el.classList.toggle("has-bubble-always",this.config.showValue==="always"),this.el.classList.toggle("has-bubble-never",this.config.showValue==="never")}pct(t){return this.max===this.min?0:(t-this.min)/(this.max-this.min)*100}applyValue(t){let e=Array.isArray(t)?t:[t];this.knobs.forEach((n,a)=>{let r=e[a]??e[0];n.style.left=`${this.pct(r)}%`,n.setAttribute("aria-valuemin",String(a===1?e[0]:this.min)),n.setAttribute("aria-valuemax",String(a===0&&this.isRange?e[1]:this.max)),n.setAttribute("aria-valuenow",String(r)),n.setAttribute("aria-valuetext",this.fmt(r)),this.bubbles[a].textContent=this.fmt(r)});let i=this.isRange?this.pct(e[0]):0,s=this.pct(this.isRange?e[1]:e[0]);this.fill.style.left=`${i}%`,this.fill.style.width=`${Math.max(0,s-i)}%`}paintMarks(){let t=this.config.marks;if(this.marksEl.replaceChildren(),!t)return;let e=Array.isArray(t)?t:(()=>{let i=Math.floor((this.max-this.min)/this.step),s=Math.ceil(i/20)||1;return Array.from({length:Math.floor(i/s)+1},(n,a)=>({value:this.min+a*s*this.step}))})();for(let i of e){let s=o("span","op-slider__mark",{},i.label?o("span","op-slider__mark-label",{},i.label):"");s.style.left=`${this.pct(i.value)}%`,this.marksEl.append(s)}}valueAt(t){let e=this.track.getBoundingClientRect();return this.snap(this.min+Math.max(0,Math.min(1,(t.clientX-e.left)/(e.width||1)))*(this.max-this.min))}nearest(t){if(!this.isRange)return 0;let[e,i]=this.vals();return Math.abs(t-e)<=Math.abs(t-i)?t>i?1:0:1}onTrackDown(t){if(t.target.closest(".op-slider__knob")||this.config.disabled||this.config.readonly||t.button)return;let e=this.nearest(this.valueAt(t));this.onKnobDown(t,e)}onKnobDown(t,e){if(this.config.disabled||this.config.readonly||t.button)return;t.preventDefault();let i=this.knobs[e];i.focus(),i.setPointerCapture?.(t.pointerId),this.el.classList.add("is-dragging"),this.emit("slide-start");let s=p(i,"x"),n=t.clientX;this.setAt(e,this.valueAt(t));let a=h=>{s.move(h.clientX-n),n=h.clientX,this.setAt(e,this.valueAt(h))},r=()=>{i.removeEventListener("pointermove",a),i.removeEventListener("pointerup",r),i.removeEventListener("pointercancel",r),this.el.classList.remove("is-dragging"),s.release(),this.flushSettled(),this.emit("slide-end",this.value)};i.addEventListener("pointermove",a),i.addEventListener("pointerup",r),i.addEventListener("pointercancel",r),this.own(r)}setAt(t,e){let i=this.vals();this.isRange?i[t]=t===0?Math.min(e,i[1]):Math.max(e,i[0]):i[0]=e;let s=this.isRange?[i[0],i[1]]:i[0];this.isEqual(s,this.value)||(this.commit(s),this.applyValue(s))}onKey(t,e){if(this.config.disabled||this.config.readonly)return;let i=this.vals(),s=i[e],n=this.step*10,a=this.isRange&&e===1?i[0]:this.min,r=this.isRange&&e===0?i[1]:this.max,h={ArrowRight:s+this.step,ArrowUp:s+this.step,ArrowLeft:s-this.step,ArrowDown:s-this.step,PageUp:s+n,PageDown:s-n,Home:a,End:r};t.key in h&&(t.preventDefault(),this.setAt(e,Math.max(a,Math.min(r,this.snap(h[t.key])))),this.flushSettled(),this.emit("slide-end",this.value))}getPercent(){return this.pct(this.vals()[0])}refresh(){this.rendered&&(this.applyValue(this.value),this.paintMarks())}setMin(t){this.config.min=t,this.value=this.clampAll(this.value),this.refresh()}setMax(t){this.config.max=t,this.value=this.clampAll(this.value),this.refresh()}setStep(t){this.config.step=t,this.value=this.clampAll(this.value),this.refresh()}clampAll(t){return Array.isArray(t)?[this.snap(t[0]),this.snap(t[1])]:this.snap(t)}setRange(t){if(t===this.isRange)return;let e=this.vals();this.config.range=t,this.value=t?[e[0],this.max]:e[0],this.rendered&&(this.buildKnobs(),this.inputEl=this.knobs[0],this.applyValue(this.value))}onDisabled(t){this.knobs.forEach(e=>(e.tabIndex=t?-1:0,e.setAttribute("aria-disabled",String(t))))}onReadonly(t){this.knobs.forEach(e=>e.setAttribute("aria-readonly",String(t)))}};u("slider",l);export{l as a};
2
+ //# sourceMappingURL=chunk-XI4IBUE3.js.map