optikos 0.0.0-stage → 0.2.0

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 (527) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/LICENSE +21 -0
  3. package/README.md +213 -2
  4. package/THIRD_PARTY_NOTICES.md +83 -0
  5. package/dist/bind.js +2 -0
  6. package/dist/bind.js.map +7 -0
  7. package/dist/chunk-23XLG2EM.js +2 -0
  8. package/dist/chunk-23XLG2EM.js.map +7 -0
  9. package/dist/chunk-27UZFEXD.js +2 -0
  10. package/dist/chunk-27UZFEXD.js.map +7 -0
  11. package/dist/chunk-2UPUC4RK.js +2 -0
  12. package/dist/chunk-2UPUC4RK.js.map +7 -0
  13. package/dist/chunk-2ZRNGG2N.js +2 -0
  14. package/dist/chunk-2ZRNGG2N.js.map +7 -0
  15. package/dist/chunk-2ZUZ5HDL.js +2 -0
  16. package/dist/chunk-2ZUZ5HDL.js.map +7 -0
  17. package/dist/chunk-3DBEZGOY.js +2 -0
  18. package/dist/chunk-3DBEZGOY.js.map +7 -0
  19. package/dist/chunk-3S24ZRPK.js +2 -0
  20. package/dist/chunk-3S24ZRPK.js.map +7 -0
  21. package/dist/chunk-3TAW4AKH.js +2 -0
  22. package/dist/chunk-3TAW4AKH.js.map +7 -0
  23. package/dist/chunk-4AA4FQEM.js +2 -0
  24. package/dist/chunk-4AA4FQEM.js.map +7 -0
  25. package/dist/chunk-4C666HHU.js +2 -0
  26. package/dist/chunk-4C666HHU.js.map +7 -0
  27. package/dist/chunk-4EZJ5FKJ.js +2 -0
  28. package/dist/chunk-4EZJ5FKJ.js.map +7 -0
  29. package/dist/chunk-4LZZ244E.js +2 -0
  30. package/dist/chunk-4LZZ244E.js.map +7 -0
  31. package/dist/chunk-4SYIIX5A.js +2 -0
  32. package/dist/chunk-4SYIIX5A.js.map +7 -0
  33. package/dist/chunk-5BC72727.js +2 -0
  34. package/dist/chunk-5BC72727.js.map +7 -0
  35. package/dist/chunk-5DJTP53N.js +2 -0
  36. package/dist/chunk-5DJTP53N.js.map +7 -0
  37. package/dist/chunk-5JEXM5S7.js +2 -0
  38. package/dist/chunk-5JEXM5S7.js.map +7 -0
  39. package/dist/chunk-5Q76ACVI.js +2 -0
  40. package/dist/chunk-5Q76ACVI.js.map +7 -0
  41. package/dist/chunk-5QUY72FX.js +2 -0
  42. package/dist/chunk-5QUY72FX.js.map +7 -0
  43. package/dist/chunk-5YS7OD5E.js +2 -0
  44. package/dist/chunk-5YS7OD5E.js.map +7 -0
  45. package/dist/chunk-676AKAGF.js +2 -0
  46. package/dist/chunk-676AKAGF.js.map +7 -0
  47. package/dist/chunk-6NCXO5ZP.js +2 -0
  48. package/dist/chunk-6NCXO5ZP.js.map +7 -0
  49. package/dist/chunk-6VBK2I5B.js +2 -0
  50. package/dist/chunk-6VBK2I5B.js.map +7 -0
  51. package/dist/chunk-7KMIFXHZ.js +2 -0
  52. package/dist/chunk-7KMIFXHZ.js.map +7 -0
  53. package/dist/chunk-A2NKDOYN.js +2 -0
  54. package/dist/chunk-A2NKDOYN.js.map +7 -0
  55. package/dist/chunk-ATFJ7PNA.js +2 -0
  56. package/dist/chunk-ATFJ7PNA.js.map +7 -0
  57. package/dist/chunk-BXYWVRKJ.js +2 -0
  58. package/dist/chunk-BXYWVRKJ.js.map +7 -0
  59. package/dist/chunk-CKXS375P.js +2 -0
  60. package/dist/chunk-CKXS375P.js.map +7 -0
  61. package/dist/chunk-CUN5QO4T.js +2 -0
  62. package/dist/chunk-CUN5QO4T.js.map +7 -0
  63. package/dist/chunk-DBMWS3O5.js +2 -0
  64. package/dist/chunk-DBMWS3O5.js.map +7 -0
  65. package/dist/chunk-E4VNLYO2.js +2 -0
  66. package/dist/chunk-E4VNLYO2.js.map +7 -0
  67. package/dist/chunk-EDUMAMK4.js +2 -0
  68. package/dist/chunk-EDUMAMK4.js.map +7 -0
  69. package/dist/chunk-ELYARUCN.js +2 -0
  70. package/dist/chunk-ELYARUCN.js.map +7 -0
  71. package/dist/chunk-EV73ADN2.js +2 -0
  72. package/dist/chunk-EV73ADN2.js.map +7 -0
  73. package/dist/chunk-FEHGU6EP.js +3 -0
  74. package/dist/chunk-FEHGU6EP.js.map +7 -0
  75. package/dist/chunk-FHM5NUS4.js +3 -0
  76. package/dist/chunk-FHM5NUS4.js.map +7 -0
  77. package/dist/chunk-G2DAD3MQ.js +2 -0
  78. package/dist/chunk-G2DAD3MQ.js.map +7 -0
  79. package/dist/chunk-G2KUK6AT.js +2 -0
  80. package/dist/chunk-G2KUK6AT.js.map +7 -0
  81. package/dist/chunk-GBPLNXMP.js +2 -0
  82. package/dist/chunk-GBPLNXMP.js.map +7 -0
  83. package/dist/chunk-GNU4VOOE.js +2 -0
  84. package/dist/chunk-GNU4VOOE.js.map +7 -0
  85. package/dist/chunk-GZ7X34QP.js +2 -0
  86. package/dist/chunk-GZ7X34QP.js.map +7 -0
  87. package/dist/chunk-HOF4JGMQ.js +2 -0
  88. package/dist/chunk-HOF4JGMQ.js.map +7 -0
  89. package/dist/chunk-HXDTGP2K.js +2 -0
  90. package/dist/chunk-HXDTGP2K.js.map +7 -0
  91. package/dist/chunk-I4SP6JTU.js +2 -0
  92. package/dist/chunk-I4SP6JTU.js.map +7 -0
  93. package/dist/chunk-IHE2MQ3W.js +2 -0
  94. package/dist/chunk-IHE2MQ3W.js.map +7 -0
  95. package/dist/chunk-II6ITOA6.js +2 -0
  96. package/dist/chunk-II6ITOA6.js.map +7 -0
  97. package/dist/chunk-JBLRAM7Z.js +2 -0
  98. package/dist/chunk-JBLRAM7Z.js.map +7 -0
  99. package/dist/chunk-JI265XFO.js +2 -0
  100. package/dist/chunk-JI265XFO.js.map +7 -0
  101. package/dist/chunk-JK74QK3M.js +2 -0
  102. package/dist/chunk-JK74QK3M.js.map +7 -0
  103. package/dist/chunk-JOFQJGZK.js +2 -0
  104. package/dist/chunk-JOFQJGZK.js.map +7 -0
  105. package/dist/chunk-KCEUD232.js +2 -0
  106. package/dist/chunk-KCEUD232.js.map +7 -0
  107. package/dist/chunk-KLLAY2IM.js +2 -0
  108. package/dist/chunk-KLLAY2IM.js.map +7 -0
  109. package/dist/chunk-LBJSMXLV.js +2 -0
  110. package/dist/chunk-LBJSMXLV.js.map +7 -0
  111. package/dist/chunk-LQRFNQ2N.js +2 -0
  112. package/dist/chunk-LQRFNQ2N.js.map +7 -0
  113. package/dist/chunk-LW2WRUVL.js +2 -0
  114. package/dist/chunk-LW2WRUVL.js.map +7 -0
  115. package/dist/chunk-M242VYZA.js +2 -0
  116. package/dist/chunk-M242VYZA.js.map +7 -0
  117. package/dist/chunk-MB3MU6HR.js +2 -0
  118. package/dist/chunk-MB3MU6HR.js.map +7 -0
  119. package/dist/chunk-MW3RWBZ7.js +2 -0
  120. package/dist/chunk-MW3RWBZ7.js.map +7 -0
  121. package/dist/chunk-NXSTUFS7.js +2 -0
  122. package/dist/chunk-NXSTUFS7.js.map +7 -0
  123. package/dist/chunk-OEAXCCVM.js +2 -0
  124. package/dist/chunk-OEAXCCVM.js.map +7 -0
  125. package/dist/chunk-OGRFQTXA.js +2 -0
  126. package/dist/chunk-OGRFQTXA.js.map +7 -0
  127. package/dist/chunk-OWEQT2HN.js +2 -0
  128. package/dist/chunk-OWEQT2HN.js.map +7 -0
  129. package/dist/chunk-PZSHOSOS.js +2 -0
  130. package/dist/chunk-PZSHOSOS.js.map +7 -0
  131. package/dist/chunk-REW4LR46.js +2 -0
  132. package/dist/chunk-REW4LR46.js.map +7 -0
  133. package/dist/chunk-RNN55473.js +2 -0
  134. package/dist/chunk-RNN55473.js.map +7 -0
  135. package/dist/chunk-SA53QUBF.js +2 -0
  136. package/dist/chunk-SA53QUBF.js.map +7 -0
  137. package/dist/chunk-TIPK3SCJ.js +2 -0
  138. package/dist/chunk-TIPK3SCJ.js.map +7 -0
  139. package/dist/chunk-TOLTUOZS.js +2 -0
  140. package/dist/chunk-TOLTUOZS.js.map +7 -0
  141. package/dist/chunk-TZOQWCVH.js +2 -0
  142. package/dist/chunk-TZOQWCVH.js.map +7 -0
  143. package/dist/chunk-VF7BGP6L.js +2 -0
  144. package/dist/chunk-VF7BGP6L.js.map +7 -0
  145. package/dist/chunk-VU3GIDZ3.js +2 -0
  146. package/dist/chunk-VU3GIDZ3.js.map +7 -0
  147. package/dist/chunk-VV7CFMPZ.js +2 -0
  148. package/dist/chunk-VV7CFMPZ.js.map +7 -0
  149. package/dist/chunk-W3H7GTJY.js +2 -0
  150. package/dist/chunk-W3H7GTJY.js.map +7 -0
  151. package/dist/chunk-X2ASKUFD.js +2 -0
  152. package/dist/chunk-X2ASKUFD.js.map +7 -0
  153. package/dist/chunk-X6AULZI4.js +1 -0
  154. package/dist/chunk-X6AULZI4.js.map +7 -0
  155. package/dist/chunk-XHOBNSBO.js +2 -0
  156. package/dist/chunk-XHOBNSBO.js.map +7 -0
  157. package/dist/chunk-XX2MVWFS.js +4 -0
  158. package/dist/chunk-XX2MVWFS.js.map +7 -0
  159. package/dist/chunk-XYZ6VZ5T.js +2 -0
  160. package/dist/chunk-XYZ6VZ5T.js.map +7 -0
  161. package/dist/chunk-YBAYEU25.js +2 -0
  162. package/dist/chunk-YBAYEU25.js.map +7 -0
  163. package/dist/chunk-YHEMA56R.js +2 -0
  164. package/dist/chunk-YHEMA56R.js.map +7 -0
  165. package/dist/chunk-Z2JBUHKA.js +2 -0
  166. package/dist/chunk-Z2JBUHKA.js.map +7 -0
  167. package/dist/chunk-Z2Z52GFT.js +2 -0
  168. package/dist/chunk-Z2Z52GFT.js.map +7 -0
  169. package/dist/chunk-ZPPELYNJ.js +2 -0
  170. package/dist/chunk-ZPPELYNJ.js.map +7 -0
  171. package/dist/chunk-ZVK4L5GK.js +2 -0
  172. package/dist/chunk-ZVK4L5GK.js.map +7 -0
  173. package/dist/chunk-ZWNQREWS.js +2 -0
  174. package/dist/chunk-ZWNQREWS.js.map +7 -0
  175. package/dist/components/badge.js +2 -0
  176. package/dist/components/badge.js.map +7 -0
  177. package/dist/components/breadcrumb.js +2 -0
  178. package/dist/components/breadcrumb.js.map +7 -0
  179. package/dist/components/button.js +2 -0
  180. package/dist/components/button.js.map +7 -0
  181. package/dist/components/calendar.js +2 -0
  182. package/dist/components/calendar.js.map +7 -0
  183. package/dist/components/cellediting.js +2 -0
  184. package/dist/components/cellediting.js.map +7 -0
  185. package/dist/components/chat.js +2 -0
  186. package/dist/components/chat.js.map +7 -0
  187. package/dist/components/checkbox.js +2 -0
  188. package/dist/components/checkbox.js.map +7 -0
  189. package/dist/components/checkboxgroup.js +2 -0
  190. package/dist/components/checkboxgroup.js.map +7 -0
  191. package/dist/components/chip.js +2 -0
  192. package/dist/components/chip.js.map +7 -0
  193. package/dist/components/codeviewer.js +2 -0
  194. package/dist/components/codeviewer.js.map +7 -0
  195. package/dist/components/combobox.js +2 -0
  196. package/dist/components/combobox.js.map +7 -0
  197. package/dist/components/commandpalette.js +2 -0
  198. package/dist/components/commandpalette.js.map +7 -0
  199. package/dist/components/container.js +2 -0
  200. package/dist/components/container.js.map +7 -0
  201. package/dist/components/dataview.js +2 -0
  202. package/dist/components/dataview.js.map +7 -0
  203. package/dist/components/datefield.js +2 -0
  204. package/dist/components/datefield.js.map +7 -0
  205. package/dist/components/daterangefield.js +2 -0
  206. package/dist/components/daterangefield.js.map +7 -0
  207. package/dist/components/dial.js +2 -0
  208. package/dist/components/dial.js.map +7 -0
  209. package/dist/components/dropdown.js +2 -0
  210. package/dist/components/dropdown.js.map +7 -0
  211. package/dist/components/fieldgroup.js +2 -0
  212. package/dist/components/fieldgroup.js.map +7 -0
  213. package/dist/components/fieldlist.js +2 -0
  214. package/dist/components/fieldlist.js.map +7 -0
  215. package/dist/components/fieldset.js +2 -0
  216. package/dist/components/fieldset.js.map +7 -0
  217. package/dist/components/filterbuilder.js +2 -0
  218. package/dist/components/filterbuilder.js.map +7 -0
  219. package/dist/components/form.js +2 -0
  220. package/dist/components/form.js.map +7 -0
  221. package/dist/components/formactions.js +2 -0
  222. package/dist/components/formactions.js.map +7 -0
  223. package/dist/components/formerrors.js +2 -0
  224. package/dist/components/formerrors.js.map +7 -0
  225. package/dist/components/formsection.js +2 -0
  226. package/dist/components/formsection.js.map +7 -0
  227. package/dist/components/grid.js +2 -0
  228. package/dist/components/grid.js.map +7 -0
  229. package/dist/components/icon.js +2 -0
  230. package/dist/components/icon.js.map +7 -0
  231. package/dist/components/inputgroup.js +2 -0
  232. package/dist/components/inputgroup.js.map +7 -0
  233. package/dist/components/label.js +2 -0
  234. package/dist/components/label.js.map +7 -0
  235. package/dist/components/listbox.js +2 -0
  236. package/dist/components/listbox.js.map +7 -0
  237. package/dist/components/lookupfield.js +2 -0
  238. package/dist/components/lookupfield.js.map +7 -0
  239. package/dist/components/menu.js +2 -0
  240. package/dist/components/menu.js.map +7 -0
  241. package/dist/components/messagebox.js +2 -0
  242. package/dist/components/messagebox.js.map +7 -0
  243. package/dist/components/navmenu.js +2 -0
  244. package/dist/components/navmenu.js.map +7 -0
  245. package/dist/components/numberfield.js +2 -0
  246. package/dist/components/numberfield.js.map +7 -0
  247. package/dist/components/pagination.js +2 -0
  248. package/dist/components/pagination.js.map +7 -0
  249. package/dist/components/panel.js +2 -0
  250. package/dist/components/panel.js.map +7 -0
  251. package/dist/components/pickerfield.js +2 -0
  252. package/dist/components/pickerfield.js.map +7 -0
  253. package/dist/components/radiogroup.js +2 -0
  254. package/dist/components/radiogroup.js.map +7 -0
  255. package/dist/components/searchgrid.js +2 -0
  256. package/dist/components/searchgrid.js.map +7 -0
  257. package/dist/components/secretfield.js +2 -0
  258. package/dist/components/secretfield.js.map +7 -0
  259. package/dist/components/select.js +2 -0
  260. package/dist/components/select.js.map +7 -0
  261. package/dist/components/slider.js +2 -0
  262. package/dist/components/slider.js.map +7 -0
  263. package/dist/components/spacer.js +2 -0
  264. package/dist/components/spacer.js.map +7 -0
  265. package/dist/components/spinner.js +2 -0
  266. package/dist/components/spinner.js.map +7 -0
  267. package/dist/components/stepform.js +2 -0
  268. package/dist/components/stepform.js.map +7 -0
  269. package/dist/components/stepper.js +2 -0
  270. package/dist/components/stepper.js.map +7 -0
  271. package/dist/components/suggestfield.js +2 -0
  272. package/dist/components/suggestfield.js.map +7 -0
  273. package/dist/components/table.js +2 -0
  274. package/dist/components/table.js.map +7 -0
  275. package/dist/components/tabs.js +2 -0
  276. package/dist/components/tabs.js.map +7 -0
  277. package/dist/components/textarea.js +2 -0
  278. package/dist/components/textarea.js.map +7 -0
  279. package/dist/components/textfield.js +2 -0
  280. package/dist/components/textfield.js.map +7 -0
  281. package/dist/components/toast.js +2 -0
  282. package/dist/components/toast.js.map +7 -0
  283. package/dist/components/toggle.js +2 -0
  284. package/dist/components/toggle.js.map +7 -0
  285. package/dist/components/toolbar.js +2 -0
  286. package/dist/components/toolbar.js.map +7 -0
  287. package/dist/components/tooltip.js +2 -0
  288. package/dist/components/tooltip.js.map +7 -0
  289. package/dist/components/tree.js +2 -0
  290. package/dist/components/tree.js.map +7 -0
  291. package/dist/components/viewmanager.js +2 -0
  292. package/dist/components/viewmanager.js.map +7 -0
  293. package/dist/components/viewport.js +2 -0
  294. package/dist/components/viewport.js.map +7 -0
  295. package/dist/components/widget.js +2 -0
  296. package/dist/components/widget.js.map +7 -0
  297. package/dist/components/window.js +2 -0
  298. package/dist/components/window.js.map +7 -0
  299. package/dist/core.js +2 -0
  300. package/dist/core.js.map +7 -0
  301. package/dist/css/badge.css +39 -0
  302. package/dist/css/base.css +180 -0
  303. package/dist/css/breadcrumb.css +53 -0
  304. package/dist/css/button.css +103 -0
  305. package/dist/css/calendar.css +108 -0
  306. package/dist/css/cellediting.css +33 -0
  307. package/dist/css/chat.css +232 -0
  308. package/dist/css/checkbox.css +64 -0
  309. package/dist/css/checkboxgroup.css +12 -0
  310. package/dist/css/chip.css +64 -0
  311. package/dist/css/codeviewer.css +109 -0
  312. package/dist/css/commandpalette.css +167 -0
  313. package/dist/css/container.css +5 -0
  314. package/dist/css/core.css +88 -0
  315. package/dist/css/dataview.css +56 -0
  316. package/dist/css/dial.css +203 -0
  317. package/dist/css/dropdown.css +13 -0
  318. package/dist/css/field.css +62 -0
  319. package/dist/css/fieldgroup.css +26 -0
  320. package/dist/css/fieldlist.css +84 -0
  321. package/dist/css/fieldset.css +68 -0
  322. package/dist/css/filterbuilder.css +125 -0
  323. package/dist/css/form.css +8 -0
  324. package/dist/css/formactions.css +40 -0
  325. package/dist/css/formerrors.css +39 -0
  326. package/dist/css/formsection.css +45 -0
  327. package/dist/css/grid.css +378 -0
  328. package/dist/css/icon.css +16 -0
  329. package/dist/css/inputgroup.css +58 -0
  330. package/dist/css/label.css +12 -0
  331. package/dist/css/layout.css +116 -0
  332. package/dist/css/listbox.css +50 -0
  333. package/dist/css/menu.css +92 -0
  334. package/dist/css/messagebox.css +6 -0
  335. package/dist/css/motion.css +29 -0
  336. package/dist/css/navmenu.css +115 -0
  337. package/dist/css/pagination.css +23 -0
  338. package/dist/css/panel.css +84 -0
  339. package/dist/css/pickerfield.css +85 -0
  340. package/dist/css/radiogroup.css +53 -0
  341. package/dist/css/searchgrid.css +37 -0
  342. package/dist/css/secretfield.css +73 -0
  343. package/dist/css/slider.css +107 -0
  344. package/dist/css/spacer.css +7 -0
  345. package/dist/css/stepform.css +46 -0
  346. package/dist/css/stepper.css +122 -0
  347. package/dist/css/table.css +36 -0
  348. package/dist/css/tabs.css +108 -0
  349. package/dist/css/textarea.css +11 -0
  350. package/dist/css/textfield.css +59 -0
  351. package/dist/css/toast.css +91 -0
  352. package/dist/css/toggle.css +39 -0
  353. package/dist/css/toolbar.css +14 -0
  354. package/dist/css/tooltip.css +17 -0
  355. package/dist/css/tree.css +94 -0
  356. package/dist/css/viewport.css +9 -0
  357. package/dist/css/widget.css +135 -0
  358. package/dist/css/window.css +35 -0
  359. package/dist/data.js +2 -0
  360. package/dist/data.js.map +7 -0
  361. package/dist/index.js +8 -0
  362. package/dist/index.js.map +7 -0
  363. package/dist/motion.js +2 -0
  364. package/dist/motion.js.map +7 -0
  365. package/dist/optikos.css +4240 -0
  366. package/dist/themes/compact.css +17 -0
  367. package/dist/themes/dark.css +53 -0
  368. package/dist/types/bind/index.d.ts +23 -0
  369. package/dist/types/components/badge.d.ts +1 -0
  370. package/dist/types/components/base/badge/badge.d.ts +18 -0
  371. package/dist/types/components/base/button/button.d.ts +34 -0
  372. package/dist/types/components/base/chip/chip.d.ts +27 -0
  373. package/dist/types/components/base/codeviewer/codeviewer.d.ts +48 -0
  374. package/dist/types/components/base/icon/icon.d.ts +17 -0
  375. package/dist/types/components/base/label/label.d.ts +14 -0
  376. package/dist/types/components/breadcrumb.d.ts +1 -0
  377. package/dist/types/components/button.d.ts +1 -0
  378. package/dist/types/components/calendar.d.ts +1 -0
  379. package/dist/types/components/cellediting.d.ts +1 -0
  380. package/dist/types/components/chat/chat/chat.d.ts +84 -0
  381. package/dist/types/components/chat.d.ts +1 -0
  382. package/dist/types/components/checkbox.d.ts +1 -0
  383. package/dist/types/components/checkboxgroup.d.ts +1 -0
  384. package/dist/types/components/chip.d.ts +1 -0
  385. package/dist/types/components/codeviewer.d.ts +1 -0
  386. package/dist/types/components/combobox.d.ts +1 -0
  387. package/dist/types/components/commandpalette.d.ts +1 -0
  388. package/dist/types/components/container.d.ts +1 -0
  389. package/dist/types/components/data/cellediting/cellediting.d.ts +10 -0
  390. package/dist/types/components/data/dataview/dataview.d.ts +61 -0
  391. package/dist/types/components/data/filterbuilder/filterbuilder.d.ts +73 -0
  392. package/dist/types/components/data/grid/grid.d.ts +177 -0
  393. package/dist/types/components/data/pagination/pagination.d.ts +31 -0
  394. package/dist/types/components/data/searchgrid/searchgrid.d.ts +63 -0
  395. package/dist/types/components/data/table/table.d.ts +26 -0
  396. package/dist/types/components/data/tree/tree.d.ts +71 -0
  397. package/dist/types/components/data/viewmanager/viewmanager.d.ts +86 -0
  398. package/dist/types/components/dataview.d.ts +1 -0
  399. package/dist/types/components/datefield.d.ts +1 -0
  400. package/dist/types/components/daterangefield.d.ts +1 -0
  401. package/dist/types/components/dates/calendar/calendar.d.ts +48 -0
  402. package/dist/types/components/dial.d.ts +1 -0
  403. package/dist/types/components/dropdown.d.ts +1 -0
  404. package/dist/types/components/feedback/spinner/spinner.d.ts +11 -0
  405. package/dist/types/components/fieldgroup.d.ts +1 -0
  406. package/dist/types/components/fieldlist.d.ts +1 -0
  407. package/dist/types/components/fields/checkbox/checkbox.d.ts +20 -0
  408. package/dist/types/components/fields/checkboxgroup/checkboxgroup.d.ts +27 -0
  409. package/dist/types/components/fields/combobox/combobox.d.ts +15 -0
  410. package/dist/types/components/fields/datefield/datefield.d.ts +30 -0
  411. package/dist/types/components/fields/daterangefield/daterangefield.d.ts +32 -0
  412. package/dist/types/components/fields/dial/dial.d.ts +84 -0
  413. package/dist/types/components/fields/listbox/listbox.d.ts +54 -0
  414. package/dist/types/components/fields/lookupfield/lookupfield.d.ts +25 -0
  415. package/dist/types/components/fields/numberfield/numberfield.d.ts +31 -0
  416. package/dist/types/components/fields/pickerfield/pickerfield.d.ts +77 -0
  417. package/dist/types/components/fields/radiogroup/radiogroup.d.ts +26 -0
  418. package/dist/types/components/fields/secretfield/secretfield.d.ts +52 -0
  419. package/dist/types/components/fields/select/select.d.ts +10 -0
  420. package/dist/types/components/fields/slider/slider.d.ts +62 -0
  421. package/dist/types/components/fields/suggestfield/suggestfield.d.ts +34 -0
  422. package/dist/types/components/fields/textarea/textarea.d.ts +16 -0
  423. package/dist/types/components/fields/textfield/textfield.d.ts +38 -0
  424. package/dist/types/components/fields/toggle/toggle.d.ts +9 -0
  425. package/dist/types/components/fieldset.d.ts +1 -0
  426. package/dist/types/components/filterbuilder.d.ts +1 -0
  427. package/dist/types/components/form/fieldgroup/fieldgroup.d.ts +33 -0
  428. package/dist/types/components/form/fieldlist/fieldlist.d.ts +58 -0
  429. package/dist/types/components/form/form/form.d.ts +68 -0
  430. package/dist/types/components/form/formactions/formactions.d.ts +34 -0
  431. package/dist/types/components/form/formerrors/formerrors.d.ts +23 -0
  432. package/dist/types/components/form/formsection/formsection.d.ts +26 -0
  433. package/dist/types/components/form/inputgroup/inputgroup.d.ts +28 -0
  434. package/dist/types/components/form/stepform/stepform.d.ts +64 -0
  435. package/dist/types/components/form.d.ts +1 -0
  436. package/dist/types/components/formactions.d.ts +1 -0
  437. package/dist/types/components/formerrors.d.ts +1 -0
  438. package/dist/types/components/formsection.d.ts +1 -0
  439. package/dist/types/components/grid.d.ts +1 -0
  440. package/dist/types/components/icon.d.ts +1 -0
  441. package/dist/types/components/inputgroup.d.ts +1 -0
  442. package/dist/types/components/label.d.ts +1 -0
  443. package/dist/types/components/layout/container/container.d.ts +1 -0
  444. package/dist/types/components/layout/fieldset/fieldset.d.ts +30 -0
  445. package/dist/types/components/layout/panel/panel.d.ts +53 -0
  446. package/dist/types/components/layout/panel/reload.d.ts +1 -0
  447. package/dist/types/components/layout/spacer/spacer.d.ts +12 -0
  448. package/dist/types/components/layout/toolbar/toolbar.d.ts +15 -0
  449. package/dist/types/components/layout/viewport/viewport.d.ts +7 -0
  450. package/dist/types/components/listbox.d.ts +1 -0
  451. package/dist/types/components/lookupfield.d.ts +1 -0
  452. package/dist/types/components/menu.d.ts +1 -0
  453. package/dist/types/components/messagebox.d.ts +1 -0
  454. package/dist/types/components/navigation/breadcrumb/breadcrumb.d.ts +32 -0
  455. package/dist/types/components/navigation/navmenu/navmenu.d.ts +63 -0
  456. package/dist/types/components/navigation/stepper/stepper.d.ts +31 -0
  457. package/dist/types/components/navigation/tabs/tabs.d.ts +57 -0
  458. package/dist/types/components/navmenu.d.ts +1 -0
  459. package/dist/types/components/numberfield.d.ts +1 -0
  460. package/dist/types/components/overlays/commandpalette/commandpalette.d.ts +80 -0
  461. package/dist/types/components/overlays/dropdown/dropdown.d.ts +41 -0
  462. package/dist/types/components/overlays/menu/menu.d.ts +56 -0
  463. package/dist/types/components/overlays/messagebox/messagebox.d.ts +61 -0
  464. package/dist/types/components/overlays/toast/toast.d.ts +45 -0
  465. package/dist/types/components/overlays/tooltip/tooltip.d.ts +13 -0
  466. package/dist/types/components/overlays/widget/widget.d.ts +61 -0
  467. package/dist/types/components/overlays/window/window.d.ts +38 -0
  468. package/dist/types/components/pagination.d.ts +1 -0
  469. package/dist/types/components/panel.d.ts +1 -0
  470. package/dist/types/components/pickerfield.d.ts +1 -0
  471. package/dist/types/components/radiogroup.d.ts +1 -0
  472. package/dist/types/components/searchgrid.d.ts +1 -0
  473. package/dist/types/components/secretfield.d.ts +1 -0
  474. package/dist/types/components/select.d.ts +1 -0
  475. package/dist/types/components/slider.d.ts +1 -0
  476. package/dist/types/components/spacer.d.ts +1 -0
  477. package/dist/types/components/spinner.d.ts +1 -0
  478. package/dist/types/components/stepform.d.ts +1 -0
  479. package/dist/types/components/stepper.d.ts +1 -0
  480. package/dist/types/components/suggestfield.d.ts +1 -0
  481. package/dist/types/components/table.d.ts +1 -0
  482. package/dist/types/components/tabs.d.ts +1 -0
  483. package/dist/types/components/textarea.d.ts +1 -0
  484. package/dist/types/components/textfield.d.ts +1 -0
  485. package/dist/types/components/toast.d.ts +1 -0
  486. package/dist/types/components/toggle.d.ts +1 -0
  487. package/dist/types/components/toolbar.d.ts +1 -0
  488. package/dist/types/components/tooltip.d.ts +1 -0
  489. package/dist/types/components/tree.d.ts +1 -0
  490. package/dist/types/components/viewmanager.d.ts +1 -0
  491. package/dist/types/components/viewport.d.ts +1 -0
  492. package/dist/types/components/widget.d.ts +1 -0
  493. package/dist/types/components/window.d.ts +1 -0
  494. package/dist/types/core/component.d.ts +94 -0
  495. package/dist/types/core/container.d.ts +43 -0
  496. package/dist/types/core/date.d.ts +14 -0
  497. package/dist/types/core/dom.d.ts +11 -0
  498. package/dist/types/core/emitter.d.ts +12 -0
  499. package/dist/types/core/field.d.ts +78 -0
  500. package/dist/types/core/focus.d.ts +18 -0
  501. package/dist/types/core/i18n.d.ts +12 -0
  502. package/dist/types/core/index.d.ts +15 -0
  503. package/dist/types/core/layer.d.ts +6 -0
  504. package/dist/types/core/position.d.ts +19 -0
  505. package/dist/types/core/registry.d.ts +12 -0
  506. package/dist/types/core/validators.d.ts +10 -0
  507. package/dist/types/core/virtual.d.ts +24 -0
  508. package/dist/types/data/column.d.ts +32 -0
  509. package/dist/types/data/format.d.ts +4 -0
  510. package/dist/types/data/index.d.ts +5 -0
  511. package/dist/types/data/model.d.ts +28 -0
  512. package/dist/types/data/proxy.d.ts +61 -0
  513. package/dist/types/data/store.d.ts +94 -0
  514. package/dist/types/index.d.ts +67 -0
  515. package/dist/types/layout/layout.d.ts +27 -0
  516. package/dist/types/motion/config.d.ts +83 -0
  517. package/dist/types/motion/core.d.ts +40 -0
  518. package/dist/types/motion/extras.d.ts +66 -0
  519. package/dist/types/motion/index.d.ts +3 -0
  520. package/dist/types/themes/define.d.ts +31 -0
  521. package/dist/types/themes/index.d.ts +1 -0
  522. package/dist/types/ui/enums.d.ts +82 -0
  523. package/dist/types/ui/index.d.ts +2 -0
  524. package/dist/types/ui/ui.d.ts +67 -0
  525. package/dist/ui.js +2 -0
  526. package/dist/ui.js.map +7 -0
  527. package/package.json +104 -4
@@ -0,0 +1,177 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ import { Store } from '../../../data/store.js';
3
+ import type { Model } from '../../../data/model.js';
4
+ import { type Column } from '../../../data/column.js';
5
+ export interface GridConfig<T extends Record<string, any> = any> extends ComponentConfig {
6
+ store?: Store<T>;
7
+ /** Used when no `store` is given. */
8
+ data?: Partial<T>[];
9
+ columns: Column<T>[];
10
+ selection?: 'none' | 'single' | 'multi';
11
+ /** Row height in px. Default: measured from the `--op-grid-row-height` / `--op-row-height` tokens. */
12
+ rowHeight?: number;
13
+ /** Adds a Pagination bar bound to the store (give the store a `pageSize`, or set it here). */
14
+ paging?: boolean;
15
+ pageSize?: number;
16
+ emptyText?: string;
17
+ striped?: boolean;
18
+ /** Adds a leading checkbox column with a select-all in the header. Implies multi selection; a row click toggles. */
19
+ checkboxSelection?: boolean;
20
+ /** Keep selected records when the page or the filters change. Default false. */
21
+ keepSelection?: boolean;
22
+ /** Buttons shown in a bar above the header while records are selected. */
23
+ bulkActions?: GridAction<T>[];
24
+ /** Actions at the end of every row (see `rowActionsMode`). */
25
+ rowActions?: GridRowAction<T>[];
26
+ /** Optional features (`cellEditing()`...). See `GridPlugin`. */
27
+ plugins?: GridPlugin<T>[];
28
+ /** `'menu'` (default): one "⋯" button opens a menu. `'visible'`: every action is an icon button, always shown (dimmed until the row is hovered, active or selected). */
29
+ rowActionsMode?: 'menu' | 'visible';
30
+ /** A "Columns" button in the bar: toggle columns on and off, with search. */
31
+ columnMenu?: boolean;
32
+ /** Drag a header to a new place (or Alt+←/→ on a focused header). `column-move` and `columns-change` fire; ViewManager saves the order. */
33
+ reorderableColumns?: boolean;
34
+ /** A handle on each header's edge: drag to resize (double-click resets), Alt+Shift+←/→ on a focused header. Widths are part of `getColumnState`. */
35
+ resizableColumns?: boolean;
36
+ /** Show the group labels (`Column.group`) as a band over the header. Default true when any column has a group. */
37
+ groupHeaders?: boolean;
38
+ }
39
+ /** Extends a Grid without growing its base: `init` runs once the grid is rendered and may return a cleanup. */
40
+ export interface GridPlugin<T extends Record<string, any> = any> {
41
+ init(grid: Grid<T>): void | (() => void);
42
+ destroy?(): void;
43
+ }
44
+ /** What `cellAt` finds under a DOM node: the row index, its record, the column and the cell element. */
45
+ export interface GridCell<T extends Record<string, any> = any> {
46
+ index: number;
47
+ record: Model<T>;
48
+ column: Column<T>;
49
+ el: HTMLElement;
50
+ }
51
+ export interface GridAction<T extends Record<string, any> = any> {
52
+ text: string;
53
+ icon?: string;
54
+ variant?: 'default' | 'danger';
55
+ handler: (records: Model<T>[], grid: Grid<T>) => void;
56
+ }
57
+ export interface GridRowAction<T extends Record<string, any> = any> {
58
+ text: string;
59
+ icon?: string;
60
+ variant?: 'default' | 'danger';
61
+ /** Disabled for the records where this returns true. */
62
+ disabled?: (record: Model<T>) => boolean;
63
+ handler: (record: Model<T>, grid: Grid<T>) => void;
64
+ }
65
+ export interface ColumnState {
66
+ field: string;
67
+ hidden: boolean;
68
+ width?: number;
69
+ }
70
+ /** Data grid with a virtualized body: only the visible rows (plus a small overscan) exist in the DOM. */
71
+ /** `T` is the record shape; `new Grid({ store })` infers it from a typed `Store<T>`. */
72
+ export declare class Grid<T extends Record<string, any> = any> extends Component<GridConfig<T>> {
73
+ protected baseCls: string;
74
+ private store;
75
+ private offStore?;
76
+ private headEl;
77
+ private headRow;
78
+ private viewport;
79
+ private emptyEl;
80
+ /** The focusable `role=grid` part (header + rows); the root also holds the bulk bar and the pager, which a grid may not contain. */
81
+ private table;
82
+ private pager?;
83
+ private v;
84
+ private selected;
85
+ private active;
86
+ private anchor;
87
+ private justDragged;
88
+ private cv;
89
+ private selAll?;
90
+ private barEl?;
91
+ private bulkEl?;
92
+ private bulkCount?;
93
+ private bulkBtns;
94
+ private selectAllBtn?;
95
+ private rowMenu?;
96
+ private colDd?;
97
+ private colList?;
98
+ private colSearch?;
99
+ private colChips?;
100
+ private colGroup;
101
+ private cols;
102
+ private userCols;
103
+ private visibleActions;
104
+ private mode;
105
+ protected build(): HTMLDivElement;
106
+ protected onRender(): void;
107
+ /** The row, record, column and cell element under a node (e.g. an event target), if it is a body cell. */
108
+ cellAt(node: EventTarget | null): GridCell<T> | undefined;
109
+ /** The body cell of row `index` and column `field`, when that row is in the DOM (rows are virtualized). */
110
+ getCell(index: number, field: string): HTMLElement | undefined;
111
+ /** The visible data columns, in order (no checkbox/action columns). */
112
+ getColumns(): Column<T>[];
113
+ /** The active row index (keyboard cursor), or -1. */
114
+ getActive(): number;
115
+ notifyMount(): void;
116
+ /** Re-measures row height and scrollbar (needed after the grid becomes visible or resizes). */
117
+ private layout;
118
+ private bindStore;
119
+ /** Brings count, selection and the empty state in line with the store. */
120
+ private sync;
121
+ setStore(store: Store<T>): void;
122
+ getStore(): Store<T>;
123
+ /** Column widths → the CSS grid template shared by the header and every row. */
124
+ private layoutColumns;
125
+ private buildHeader;
126
+ /** Labels over runs of neighbouring columns that share a group (a dragged column can split a group: it shows twice). */
127
+ private groupBand;
128
+ /** The group labels in the order they first appear. */
129
+ getColumnGroups(): string[];
130
+ /** Shows or hides every column of a group at once (at least one column always stays visible). */
131
+ setColumnGroupVisible(group: string, visible: boolean): void;
132
+ setColumns(columns: Column[]): void;
133
+ /** Order, visibility and width of every column; save it and give it back to `setColumnState`. */
134
+ getColumnState(): ColumnState[];
135
+ /** Restores a saved state: columns follow its order (unknown ones keep their place at the end). */
136
+ setColumnState(state: ColumnState[]): void;
137
+ private canResize;
138
+ /** Sets a column's width in px (clamped to `minWidth`/`maxWidth`); `undefined` gives it back its flexible width. */
139
+ setColumnWidth(field: string, width: number | undefined): void;
140
+ private initColumnResize;
141
+ private dir;
142
+ /** Moves a (user) column in front of `before` (or to the end when null). Hidden columns keep their places. */
143
+ moveColumn(field: string, before: string | null): void;
144
+ private initColumnDrag;
145
+ private paintSort;
146
+ /** asc → desc → unsorted. */
147
+ private sortBy;
148
+ private rowIndexOffset;
149
+ private renderRow;
150
+ private indexOfEvent;
151
+ private onRowEvent;
152
+ getSelection(): Model<T>[];
153
+ /** Selects a record or row index. `add` keeps the current selection (multi mode). */
154
+ select(target: Model<T> | number, opts?: {
155
+ add?: boolean;
156
+ }): void;
157
+ deselectAll(): void;
158
+ private changed;
159
+ /** Selects every record that matches the filters, across pages (a remote store: the loaded page). */
160
+ selectAllFiltered(): void;
161
+ /** Click semantics: plain = replace, ctrl/meta = toggle, shift = range from the anchor (multi only). */
162
+ private pick;
163
+ private setActive;
164
+ private updateActiveDescendant;
165
+ focusRow(i: number): void;
166
+ protected focusEl(): HTMLElement;
167
+ scrollToRow(i: number): void;
168
+ private onKey;
169
+ refresh(): void;
170
+ private buildBar;
171
+ /** Header checkbox state and the bulk bar, from the current selection. */
172
+ private paintSelection;
173
+ private openRowMenu;
174
+ private buildColumnMenu;
175
+ private paintColumnList;
176
+ protected onDestroy(): void;
177
+ }
@@ -0,0 +1,31 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ import type { Store } from '../../../data/store.js';
3
+ export interface PaginationConfig extends ComponentConfig {
4
+ /** Reads and drives the store's page. Without it, use `total`/`pageSize`/`page`. */
5
+ store?: Store<any>;
6
+ total?: number;
7
+ pageSize?: number;
8
+ page?: number;
9
+ /** Page buttons shown on each side of the current one. Default 1. */
10
+ siblings?: number;
11
+ showInfo?: boolean;
12
+ }
13
+ export declare class Pagination extends Component<PaginationConfig> {
14
+ protected baseCls: string;
15
+ protected tag: 'nav';
16
+ private unsub?;
17
+ protected onRender(): void;
18
+ private bindStore;
19
+ getPage(): number;
20
+ private size;
21
+ private total;
22
+ private pages;
23
+ /** Goes to a page (`before-page-change` can cancel), updating the store when there is one. */
24
+ setPage(page: number): void;
25
+ setTotal(total: number): void;
26
+ setPageSize(size: number): void;
27
+ setStore(store: Store<any>): void;
28
+ /** Page numbers with `null` where a gap is collapsed: 1 … 4 5 6 … 20. */
29
+ private window;
30
+ private paint;
31
+ }
@@ -0,0 +1,63 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ import { type AnyConfig } from '../../../core/registry.js';
3
+ import type { Store } from '../../../data/store.js';
4
+ import type { Model } from '../../../data/model.js';
5
+ import type { Column } from '../../../data/column.js';
6
+ import type { FilterOp, FilterSpec } from '../../../data/proxy.js';
7
+ import { Grid } from '../grid/grid.js';
8
+ /** A filter field of a lookup: any field config, plus how its value is matched. */
9
+ export type LookupFilter = AnyConfig & {
10
+ name: string;
11
+ op?: FilterOp;
12
+ field?: string;
13
+ };
14
+ /** Everything that describes "search for a record": shared by SearchGrid and LookupField. */
15
+ export interface LookupDef {
16
+ /** A function gives every instance its own store (recommended when the definition is reused). */
17
+ store: Store<any> | (() => Store<any>);
18
+ columns: Column[];
19
+ filters?: LookupFilter[];
20
+ /** Name of the filter that receives the quick text (LookupField typing). Default: the first filter. */
21
+ queryField?: string;
22
+ valueField?: string;
23
+ displayField?: string;
24
+ selection?: 'single' | 'multi';
25
+ paging?: boolean;
26
+ /** Search when shown. Default true. */
27
+ autoSearch?: boolean;
28
+ title?: string;
29
+ width?: number;
30
+ height?: number;
31
+ }
32
+ /** Registers a lookup definition for declarative use by name (`lookup: 'people'`). */
33
+ export declare function registerLookup(name: string, def: LookupDef): void;
34
+ export declare function resolveLookup(lookup: LookupDef | string): LookupDef;
35
+ export declare const lookupStore: (def: LookupDef) => Store<any>;
36
+ export interface SearchGridConfig extends ComponentConfig {
37
+ lookup: LookupDef | string;
38
+ }
39
+ /** Filters on top, results grid below. The Store does the searching; this component only turns the filter fields into specs. */
40
+ export declare class SearchGrid extends Component<SearchGridConfig> {
41
+ protected baseCls: string;
42
+ private def;
43
+ private store;
44
+ private fields;
45
+ private grid;
46
+ private form;
47
+ protected build(): HTMLDivElement;
48
+ protected onRender(): void;
49
+ notifyMount(): void;
50
+ private confirm;
51
+ /** The non-empty filter fields as filter specs. */
52
+ getFilters(): FilterSpec[];
53
+ /** Filters the store with the current fields (or loads it, when there are none). Resolves when the results are in. */
54
+ search(query?: string): Promise<void>;
55
+ /** Empties the filter fields and searches again. */
56
+ clear(): void;
57
+ /** Fills the quick-search field (`queryField`, default the first filter) without searching. */
58
+ setQuery(text: string): void;
59
+ getSelection(): Model[];
60
+ getGrid(): Grid;
61
+ getStore(): Store<any>;
62
+ focus(): void;
63
+ }
@@ -0,0 +1,26 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ import { Store } from '../../../data/store.js';
3
+ import { type Column } from '../../../data/column.js';
4
+ export interface TableConfig extends ComponentConfig {
5
+ data?: Record<string, any>[];
6
+ store?: Store<any>;
7
+ columns?: Column[];
8
+ caption?: string;
9
+ striped?: boolean;
10
+ emptyText?: string;
11
+ }
12
+ /** Plain semantic `<table>` for small datasets. No selection, sorting or virtualization: use Grid for those. */
13
+ export declare class Table extends Component<TableConfig> {
14
+ protected baseCls: string;
15
+ protected tag: 'table';
16
+ private store;
17
+ private unsub?;
18
+ protected onRender(): void;
19
+ private bind;
20
+ private cols;
21
+ private paint;
22
+ setData(data: Record<string, any>[]): void;
23
+ setStore(store: Store<any>): void;
24
+ setColumns(columns: Column[]): void;
25
+ setCaption(caption: string): void;
26
+ }
@@ -0,0 +1,71 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ export interface TreeNode {
3
+ id: string;
4
+ text: string;
5
+ icon?: string;
6
+ children?: TreeNode[];
7
+ /** No children and nothing to load: no expand arrow. Default: true when there are no `children` and no `load`. */
8
+ leaf?: boolean;
9
+ expanded?: boolean;
10
+ disabled?: boolean;
11
+ /** With `checkboxes`: the node's own state (a parent's state comes from its children). */
12
+ checked?: boolean;
13
+ data?: unknown;
14
+ }
15
+ export type CheckState = boolean | 'mixed';
16
+ export interface TreeConfig extends ComponentConfig {
17
+ items?: TreeNode[];
18
+ /** `single` (default), `multi` (Ctrl/⌘ + click or Space toggle) or `none`. */
19
+ selection?: 'single' | 'multi' | 'none';
20
+ /** A tri-state checkbox per node: checking a parent checks its whole branch; a parent shows "mixed" when partly checked. */
21
+ checkboxes?: boolean;
22
+ /** Children on demand: called the first time a node without `children` (and not `leaf`) is expanded. */
23
+ load?: (node: TreeNode) => Promise<TreeNode[]> | TreeNode[];
24
+ emptyText?: string;
25
+ }
26
+ /** A hierarchy: expand/collapse, single or multiple selection, tri-state checkboxes, children loaded on demand, filter, APG tree keyboard. */
27
+ export declare class Tree extends Component<TreeConfig> {
28
+ protected baseCls: string;
29
+ private items;
30
+ private open;
31
+ private selected;
32
+ private loading;
33
+ private query;
34
+ private focusId?;
35
+ private root;
36
+ protected onRender(): void;
37
+ getNode(id: string, list?: TreeNode[]): TreeNode | undefined;
38
+ /** The ancestors of a node, from the root down. */
39
+ getPath(id: string, list?: TreeNode[], trail?: TreeNode[]): TreeNode[] | undefined;
40
+ private isLeaf;
41
+ private matches;
42
+ private walk;
43
+ private paint;
44
+ private node;
45
+ expand(id: string): Promise<void>;
46
+ collapse(id: string): void;
47
+ toggle(id: string): void;
48
+ /** Opens every node that already has its children (it does not load). */
49
+ expandAll(): void;
50
+ collapseAll(): void;
51
+ private pick;
52
+ /** Selects a node (opening its parents); `add` keeps the current selection in multi mode. */
53
+ select(id: string, opts?: {
54
+ add?: boolean;
55
+ }): void;
56
+ getSelection(): TreeNode[];
57
+ deselectAll(): void;
58
+ /** A node's state: its own `checked`, or for a parent with children, all / none / "mixed" of them. */
59
+ checkState(n: TreeNode): CheckState;
60
+ private setBranch;
61
+ setChecked(id: string, on: boolean): void;
62
+ toggleChecked(id: string): void;
63
+ /** Every checked node (a fully checked parent and its children all count). */
64
+ getChecked(): TreeNode[];
65
+ setItems(items: TreeNode[]): void;
66
+ /** Shows only what matches (and its ancestors, opened); empty text clears the filter. */
67
+ filter(text: string): void;
68
+ private rows;
69
+ private focusRow;
70
+ private onKey;
71
+ }
@@ -0,0 +1,86 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ import type { FilterGroup, Sorter } from '../../../data/proxy.js';
3
+ import type { Grid, ColumnState } from '../grid/grid.js';
4
+ import type { FilterBuilder } from '../filterbuilder/filterbuilder.js';
5
+ /** Everything a view remembers: plain JSON, so it can travel to any backend. */
6
+ export interface ViewState {
7
+ columns?: ColumnState[];
8
+ filter?: FilterGroup | null;
9
+ sorters?: Sorter[];
10
+ /** Whatever the app registered in `extra` (panel collapsed, density...). */
11
+ extra?: Record<string, unknown>;
12
+ }
13
+ export interface SavedView {
14
+ id?: string;
15
+ name: string;
16
+ default?: boolean;
17
+ state: ViewState;
18
+ }
19
+ /** Where views live. Implement it for your endpoint; `localViewStorage` and `restViewStorage` are ready-made. */
20
+ export interface ViewStorage {
21
+ list(): Promise<SavedView[]> | SavedView[];
22
+ /** Create (no `id`) or update. May return the stored view (with the id the server gave it). */
23
+ save(view: SavedView): Promise<SavedView | void> | SavedView | void;
24
+ remove(view: SavedView): Promise<void> | void;
25
+ }
26
+ /** Views in the browser (`localStorage` by default) under one key. */
27
+ export declare function localViewStorage(key: string, storage?: Storage): ViewStorage;
28
+ export interface RestViewStorageConfig {
29
+ /** `GET url` lists, `POST url` creates, `PUT url/:id` updates, `DELETE url/:id` removes. JSON in and out. */
30
+ url: string;
31
+ headers?: Record<string, string>;
32
+ fetch?: typeof fetch;
33
+ }
34
+ /** Views on your server. Responses must be JSON (the list as an array, create/update returning the stored view). */
35
+ export declare function restViewStorage(cfg: RestViewStorageConfig): ViewStorage;
36
+ export interface ViewManagerConfig extends ComponentConfig {
37
+ grid: Grid;
38
+ /** Its filter tree is part of the view. */
39
+ filters?: FilterBuilder;
40
+ storage: ViewStorage;
41
+ /** Extra things to remember: `{ density: { get: () => ..., set: (v) => ... } }`. Stored in `state.extra`. */
42
+ extra?: Record<string, {
43
+ get(): unknown;
44
+ set(value: unknown): void;
45
+ }>;
46
+ /** Apply the default view when it opens. Default true. */
47
+ autoLoad?: boolean;
48
+ }
49
+ /**
50
+ * "Views" button for a Grid (and its FilterBuilder): saves and restores the visible columns and their order, the filters
51
+ * (including nested AND/OR groups) and the sort, under a name, in the storage you give it.
52
+ */
53
+ export declare class ViewManager extends Component<ViewManagerConfig> {
54
+ protected baseCls: string;
55
+ private btn;
56
+ private menu?;
57
+ private views;
58
+ private current?;
59
+ private initial;
60
+ protected build(): HTMLSpanElement;
61
+ protected onRender(): void;
62
+ notifyMount(): void;
63
+ /** The grid's and filter's current setup. */
64
+ getState(): ViewState;
65
+ /** Puts a setup on the grid and the filter. */
66
+ setState(s: ViewState): void;
67
+ getViews(): SavedView[];
68
+ getCurrent(): SavedView | undefined;
69
+ /** Reads the views from the storage and applies the default one (unless a view is already active). */
70
+ reload(): Promise<void>;
71
+ /** Applies a saved view (object or id). */
72
+ apply(view: SavedView | string): void;
73
+ /** Saves the current setup into the active view; with none active, asks for a name first. */
74
+ save(): Promise<void>;
75
+ /** Saves the current setup as a view with that name (asked for when omitted); an existing name is overwritten. */
76
+ saveAs(name?: string): Promise<void>;
77
+ /** Marks the active view as the one applied on open (and unmarks the others). */
78
+ setDefault(on?: boolean): Promise<void>;
79
+ remove(view?: SavedView | undefined): Promise<void>;
80
+ /** Back to the setup the grid had when the manager opened. */
81
+ reset(): void;
82
+ private store;
83
+ private run;
84
+ private paint;
85
+ private openMenu;
86
+ }
@@ -0,0 +1 @@
1
+ export * from '../components/data/dataview/dataview.js';
@@ -0,0 +1 @@
1
+ export * from '../components/fields/datefield/datefield.js';
@@ -0,0 +1 @@
1
+ export * from '../components/fields/daterangefield/daterangefield.js';
@@ -0,0 +1,48 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ /** Both ends are `YYYY-MM-DD`; `end` is null while the user has only picked the first day. */
3
+ export interface DateRange {
4
+ start: string | null;
5
+ end: string | null;
6
+ }
7
+ export interface CalendarConfig extends ComponentConfig {
8
+ /** Selected day, `YYYY-MM-DD`; with `range: true`, a `DateRange`. */
9
+ value?: string | DateRange | null;
10
+ /** Pick a start and an end day (two clicks). */
11
+ range?: boolean;
12
+ min?: string;
13
+ max?: string;
14
+ /** 0 = Sunday. Default: the locale's. */
15
+ firstDay?: number;
16
+ isDisabled?: (iso: string) => boolean;
17
+ }
18
+ /** Month calendar. Click the title to pick a month; arrow keys, Page keys and Home/End move the focused day. */
19
+ export declare class Calendar extends Component<CalendarConfig> {
20
+ protected baseCls: string;
21
+ private cursor;
22
+ private mode;
23
+ private titleEl;
24
+ private bodyEl;
25
+ private prevEl;
26
+ private nextEl;
27
+ protected build(): HTMLDivElement;
28
+ protected onRender(): void;
29
+ private blocked;
30
+ /** The value as a range (a single day is a one-day range). */
31
+ private span;
32
+ private first;
33
+ private choose;
34
+ private step;
35
+ private move;
36
+ private onKey;
37
+ private weekStart;
38
+ private paint;
39
+ private paintDays;
40
+ private paintMonths;
41
+ setValue(value: string | DateRange | null): void;
42
+ /** Switches between single-day and range picking. */
43
+ setRange(range: boolean): void;
44
+ setMin(min: string | undefined): void;
45
+ setMax(max: string | undefined): void;
46
+ showMonth(year: number, month: number): void;
47
+ focusDay(): void;
48
+ }
@@ -0,0 +1 @@
1
+ export * from '../components/fields/dial/dial.js';
@@ -0,0 +1 @@
1
+ export * from '../components/overlays/dropdown/dropdown.js';
@@ -0,0 +1,11 @@
1
+ import { Component, type ComponentConfig } from '../../../core/component.js';
2
+ export interface SpinnerConfig extends ComponentConfig {
3
+ label?: string;
4
+ }
5
+ /** Indeterminate progress indicator. The loading mask (`loading` config on any component) uses the same element. */
6
+ export declare class Spinner extends Component<SpinnerConfig> {
7
+ protected baseCls: string;
8
+ protected tag: 'span';
9
+ protected onRender(): void;
10
+ setLabel(label: string): void;
11
+ }
@@ -0,0 +1 @@
1
+ export * from '../components/form/fieldgroup/fieldgroup.js';
@@ -0,0 +1 @@
1
+ export * from '../components/form/fieldlist/fieldlist.js';
@@ -0,0 +1,20 @@
1
+ import { Field, type FieldConfig } from '../../../core/field.js';
2
+ export interface CheckboxConfig extends FieldConfig<boolean> {
3
+ boxLabel?: string;
4
+ indeterminate?: boolean;
5
+ }
6
+ export declare class Checkbox extends Field<boolean, CheckboxConfig> {
7
+ protected baseCls: string;
8
+ private textEl;
9
+ protected emptyValue(): boolean;
10
+ /** `required` means "must be checked". */
11
+ protected isEmpty(v: boolean): boolean;
12
+ protected createControl(): HTMLLabelElement;
13
+ protected onRender(): void;
14
+ protected applyValue(v: boolean): void;
15
+ private paint;
16
+ protected onDisabled(disabled: boolean): void;
17
+ setBoxLabel(text: string): void;
18
+ setIndeterminate(on: boolean): void;
19
+ toggle(): void;
20
+ }
@@ -0,0 +1,27 @@
1
+ import { Field, type FieldConfig } from '../../../core/field.js';
2
+ import type { RadioOption } from '../radiogroup/radiogroup.js';
3
+ type Value = string | number;
4
+ export interface CheckboxGroupConfig extends FieldConfig<Value[]> {
5
+ options?: RadioOption[];
6
+ direction?: 'vertical' | 'horizontal';
7
+ }
8
+ /** Several choices from a few visible options; the value is the list of checked option values, in option order. */
9
+ export declare class CheckboxGroup extends Field<Value[], CheckboxGroupConfig> {
10
+ protected baseCls: string;
11
+ private group;
12
+ private inputs;
13
+ protected emptyValue(): Value[];
14
+ /** `required` means "at least one". */
15
+ protected isEmpty(v: Value[]): boolean;
16
+ protected isEqual(a: Value[], b: Value[]): boolean;
17
+ protected createControl(): HTMLElement;
18
+ private opts;
19
+ private buildOptions;
20
+ protected onRender(): void;
21
+ protected applyValue(v: Value[]): void;
22
+ private paint;
23
+ getDisplayText(): string;
24
+ protected onDisabled(disabled: boolean): void;
25
+ setOptions(options: RadioOption[]): void;
26
+ }
27
+ export {};
@@ -0,0 +1,15 @@
1
+ import { PickerField, type PickerConfig, type ListItem } from '../pickerfield/pickerfield.js';
2
+ export interface ComboBoxConfig<V = unknown> extends PickerConfig<V> {
3
+ filter?: 'contains' | 'startsWith' | ((item: ListItem, text: string) => boolean);
4
+ }
5
+ /** Editable list: typing filters the options locally. */
6
+ export declare class ComboBox<V = unknown> extends PickerField<V, ComboBoxConfig<V>> {
7
+ protected baseCls: string;
8
+ private term;
9
+ protected emptyValue(): V;
10
+ protected isEmpty(v: V): boolean;
11
+ protected visibleItems(): ListItem[];
12
+ protected onType(text: string): void;
13
+ protected pick(item: ListItem): void;
14
+ protected settle(): void;
15
+ }
@@ -0,0 +1,30 @@
1
+ import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
2
+ export interface DateFieldConfig extends TextFieldConfig<string | null> {
3
+ min?: string;
4
+ max?: string;
5
+ firstDay?: number;
6
+ }
7
+ /** Value is an ISO date string (`YYYY-MM-DD`) or null; the text shown and accepted follows the locale. */
8
+ export declare class DateField extends TextField<string | null, DateFieldConfig> {
9
+ protected baseCls: string;
10
+ private cal;
11
+ private dd;
12
+ private garbage;
13
+ protected emptyValue(): null;
14
+ protected isEmpty(v: string | null): boolean;
15
+ protected parse(text: string): string | null;
16
+ protected display(v: string | null): string;
17
+ protected createControl(): HTMLDivElement;
18
+ protected onKey(e: KeyboardEvent): void;
19
+ protected onInput(): void;
20
+ protected applyValue(v: string | null): void;
21
+ protected onDisabled(disabled: boolean): void;
22
+ protected check(): string;
23
+ open(): void;
24
+ close(): void;
25
+ toggle(): void;
26
+ expand(): void;
27
+ collapse(): void;
28
+ setMin(min: string | undefined): void;
29
+ setMax(max: string | undefined): void;
30
+ }