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.
- package/CHANGELOG.md +146 -0
- package/LICENSE +21 -0
- package/README.md +213 -2
- package/THIRD_PARTY_NOTICES.md +83 -0
- package/dist/bind.js +2 -0
- package/dist/bind.js.map +7 -0
- package/dist/chunk-23XLG2EM.js +2 -0
- package/dist/chunk-23XLG2EM.js.map +7 -0
- package/dist/chunk-27UZFEXD.js +2 -0
- package/dist/chunk-27UZFEXD.js.map +7 -0
- package/dist/chunk-2UPUC4RK.js +2 -0
- package/dist/chunk-2UPUC4RK.js.map +7 -0
- package/dist/chunk-2ZRNGG2N.js +2 -0
- package/dist/chunk-2ZRNGG2N.js.map +7 -0
- package/dist/chunk-2ZUZ5HDL.js +2 -0
- package/dist/chunk-2ZUZ5HDL.js.map +7 -0
- package/dist/chunk-3DBEZGOY.js +2 -0
- package/dist/chunk-3DBEZGOY.js.map +7 -0
- package/dist/chunk-3S24ZRPK.js +2 -0
- package/dist/chunk-3S24ZRPK.js.map +7 -0
- package/dist/chunk-3TAW4AKH.js +2 -0
- package/dist/chunk-3TAW4AKH.js.map +7 -0
- package/dist/chunk-4AA4FQEM.js +2 -0
- package/dist/chunk-4AA4FQEM.js.map +7 -0
- package/dist/chunk-4C666HHU.js +2 -0
- package/dist/chunk-4C666HHU.js.map +7 -0
- package/dist/chunk-4EZJ5FKJ.js +2 -0
- package/dist/chunk-4EZJ5FKJ.js.map +7 -0
- package/dist/chunk-4LZZ244E.js +2 -0
- package/dist/chunk-4LZZ244E.js.map +7 -0
- package/dist/chunk-4SYIIX5A.js +2 -0
- package/dist/chunk-4SYIIX5A.js.map +7 -0
- package/dist/chunk-5BC72727.js +2 -0
- package/dist/chunk-5BC72727.js.map +7 -0
- package/dist/chunk-5DJTP53N.js +2 -0
- package/dist/chunk-5DJTP53N.js.map +7 -0
- package/dist/chunk-5JEXM5S7.js +2 -0
- package/dist/chunk-5JEXM5S7.js.map +7 -0
- package/dist/chunk-5Q76ACVI.js +2 -0
- package/dist/chunk-5Q76ACVI.js.map +7 -0
- package/dist/chunk-5QUY72FX.js +2 -0
- package/dist/chunk-5QUY72FX.js.map +7 -0
- package/dist/chunk-5YS7OD5E.js +2 -0
- package/dist/chunk-5YS7OD5E.js.map +7 -0
- package/dist/chunk-676AKAGF.js +2 -0
- package/dist/chunk-676AKAGF.js.map +7 -0
- package/dist/chunk-6NCXO5ZP.js +2 -0
- package/dist/chunk-6NCXO5ZP.js.map +7 -0
- package/dist/chunk-6VBK2I5B.js +2 -0
- package/dist/chunk-6VBK2I5B.js.map +7 -0
- package/dist/chunk-7KMIFXHZ.js +2 -0
- package/dist/chunk-7KMIFXHZ.js.map +7 -0
- package/dist/chunk-A2NKDOYN.js +2 -0
- package/dist/chunk-A2NKDOYN.js.map +7 -0
- package/dist/chunk-ATFJ7PNA.js +2 -0
- package/dist/chunk-ATFJ7PNA.js.map +7 -0
- package/dist/chunk-BXYWVRKJ.js +2 -0
- package/dist/chunk-BXYWVRKJ.js.map +7 -0
- package/dist/chunk-CKXS375P.js +2 -0
- package/dist/chunk-CKXS375P.js.map +7 -0
- package/dist/chunk-CUN5QO4T.js +2 -0
- package/dist/chunk-CUN5QO4T.js.map +7 -0
- package/dist/chunk-DBMWS3O5.js +2 -0
- package/dist/chunk-DBMWS3O5.js.map +7 -0
- package/dist/chunk-E4VNLYO2.js +2 -0
- package/dist/chunk-E4VNLYO2.js.map +7 -0
- package/dist/chunk-EDUMAMK4.js +2 -0
- package/dist/chunk-EDUMAMK4.js.map +7 -0
- package/dist/chunk-ELYARUCN.js +2 -0
- package/dist/chunk-ELYARUCN.js.map +7 -0
- package/dist/chunk-EV73ADN2.js +2 -0
- package/dist/chunk-EV73ADN2.js.map +7 -0
- package/dist/chunk-FEHGU6EP.js +3 -0
- package/dist/chunk-FEHGU6EP.js.map +7 -0
- package/dist/chunk-FHM5NUS4.js +3 -0
- package/dist/chunk-FHM5NUS4.js.map +7 -0
- package/dist/chunk-G2DAD3MQ.js +2 -0
- package/dist/chunk-G2DAD3MQ.js.map +7 -0
- package/dist/chunk-G2KUK6AT.js +2 -0
- package/dist/chunk-G2KUK6AT.js.map +7 -0
- package/dist/chunk-GBPLNXMP.js +2 -0
- package/dist/chunk-GBPLNXMP.js.map +7 -0
- package/dist/chunk-GNU4VOOE.js +2 -0
- package/dist/chunk-GNU4VOOE.js.map +7 -0
- package/dist/chunk-GZ7X34QP.js +2 -0
- package/dist/chunk-GZ7X34QP.js.map +7 -0
- package/dist/chunk-HOF4JGMQ.js +2 -0
- package/dist/chunk-HOF4JGMQ.js.map +7 -0
- package/dist/chunk-HXDTGP2K.js +2 -0
- package/dist/chunk-HXDTGP2K.js.map +7 -0
- package/dist/chunk-I4SP6JTU.js +2 -0
- package/dist/chunk-I4SP6JTU.js.map +7 -0
- package/dist/chunk-IHE2MQ3W.js +2 -0
- package/dist/chunk-IHE2MQ3W.js.map +7 -0
- package/dist/chunk-II6ITOA6.js +2 -0
- package/dist/chunk-II6ITOA6.js.map +7 -0
- package/dist/chunk-JBLRAM7Z.js +2 -0
- package/dist/chunk-JBLRAM7Z.js.map +7 -0
- package/dist/chunk-JI265XFO.js +2 -0
- package/dist/chunk-JI265XFO.js.map +7 -0
- package/dist/chunk-JK74QK3M.js +2 -0
- package/dist/chunk-JK74QK3M.js.map +7 -0
- package/dist/chunk-JOFQJGZK.js +2 -0
- package/dist/chunk-JOFQJGZK.js.map +7 -0
- package/dist/chunk-KCEUD232.js +2 -0
- package/dist/chunk-KCEUD232.js.map +7 -0
- package/dist/chunk-KLLAY2IM.js +2 -0
- package/dist/chunk-KLLAY2IM.js.map +7 -0
- package/dist/chunk-LBJSMXLV.js +2 -0
- package/dist/chunk-LBJSMXLV.js.map +7 -0
- package/dist/chunk-LQRFNQ2N.js +2 -0
- package/dist/chunk-LQRFNQ2N.js.map +7 -0
- package/dist/chunk-LW2WRUVL.js +2 -0
- package/dist/chunk-LW2WRUVL.js.map +7 -0
- package/dist/chunk-M242VYZA.js +2 -0
- package/dist/chunk-M242VYZA.js.map +7 -0
- package/dist/chunk-MB3MU6HR.js +2 -0
- package/dist/chunk-MB3MU6HR.js.map +7 -0
- package/dist/chunk-MW3RWBZ7.js +2 -0
- package/dist/chunk-MW3RWBZ7.js.map +7 -0
- package/dist/chunk-NXSTUFS7.js +2 -0
- package/dist/chunk-NXSTUFS7.js.map +7 -0
- package/dist/chunk-OEAXCCVM.js +2 -0
- package/dist/chunk-OEAXCCVM.js.map +7 -0
- package/dist/chunk-OGRFQTXA.js +2 -0
- package/dist/chunk-OGRFQTXA.js.map +7 -0
- package/dist/chunk-OWEQT2HN.js +2 -0
- package/dist/chunk-OWEQT2HN.js.map +7 -0
- package/dist/chunk-PZSHOSOS.js +2 -0
- package/dist/chunk-PZSHOSOS.js.map +7 -0
- package/dist/chunk-REW4LR46.js +2 -0
- package/dist/chunk-REW4LR46.js.map +7 -0
- package/dist/chunk-RNN55473.js +2 -0
- package/dist/chunk-RNN55473.js.map +7 -0
- package/dist/chunk-SA53QUBF.js +2 -0
- package/dist/chunk-SA53QUBF.js.map +7 -0
- package/dist/chunk-TIPK3SCJ.js +2 -0
- package/dist/chunk-TIPK3SCJ.js.map +7 -0
- package/dist/chunk-TOLTUOZS.js +2 -0
- package/dist/chunk-TOLTUOZS.js.map +7 -0
- package/dist/chunk-TZOQWCVH.js +2 -0
- package/dist/chunk-TZOQWCVH.js.map +7 -0
- package/dist/chunk-VF7BGP6L.js +2 -0
- package/dist/chunk-VF7BGP6L.js.map +7 -0
- package/dist/chunk-VU3GIDZ3.js +2 -0
- package/dist/chunk-VU3GIDZ3.js.map +7 -0
- package/dist/chunk-VV7CFMPZ.js +2 -0
- package/dist/chunk-VV7CFMPZ.js.map +7 -0
- package/dist/chunk-W3H7GTJY.js +2 -0
- package/dist/chunk-W3H7GTJY.js.map +7 -0
- package/dist/chunk-X2ASKUFD.js +2 -0
- package/dist/chunk-X2ASKUFD.js.map +7 -0
- package/dist/chunk-X6AULZI4.js +1 -0
- package/dist/chunk-X6AULZI4.js.map +7 -0
- package/dist/chunk-XHOBNSBO.js +2 -0
- package/dist/chunk-XHOBNSBO.js.map +7 -0
- package/dist/chunk-XX2MVWFS.js +4 -0
- package/dist/chunk-XX2MVWFS.js.map +7 -0
- package/dist/chunk-XYZ6VZ5T.js +2 -0
- package/dist/chunk-XYZ6VZ5T.js.map +7 -0
- package/dist/chunk-YBAYEU25.js +2 -0
- package/dist/chunk-YBAYEU25.js.map +7 -0
- package/dist/chunk-YHEMA56R.js +2 -0
- package/dist/chunk-YHEMA56R.js.map +7 -0
- package/dist/chunk-Z2JBUHKA.js +2 -0
- package/dist/chunk-Z2JBUHKA.js.map +7 -0
- package/dist/chunk-Z2Z52GFT.js +2 -0
- package/dist/chunk-Z2Z52GFT.js.map +7 -0
- package/dist/chunk-ZPPELYNJ.js +2 -0
- package/dist/chunk-ZPPELYNJ.js.map +7 -0
- package/dist/chunk-ZVK4L5GK.js +2 -0
- package/dist/chunk-ZVK4L5GK.js.map +7 -0
- package/dist/chunk-ZWNQREWS.js +2 -0
- package/dist/chunk-ZWNQREWS.js.map +7 -0
- package/dist/components/badge.js +2 -0
- package/dist/components/badge.js.map +7 -0
- package/dist/components/breadcrumb.js +2 -0
- package/dist/components/breadcrumb.js.map +7 -0
- package/dist/components/button.js +2 -0
- package/dist/components/button.js.map +7 -0
- package/dist/components/calendar.js +2 -0
- package/dist/components/calendar.js.map +7 -0
- package/dist/components/cellediting.js +2 -0
- package/dist/components/cellediting.js.map +7 -0
- package/dist/components/chat.js +2 -0
- package/dist/components/chat.js.map +7 -0
- package/dist/components/checkbox.js +2 -0
- package/dist/components/checkbox.js.map +7 -0
- package/dist/components/checkboxgroup.js +2 -0
- package/dist/components/checkboxgroup.js.map +7 -0
- package/dist/components/chip.js +2 -0
- package/dist/components/chip.js.map +7 -0
- package/dist/components/codeviewer.js +2 -0
- package/dist/components/codeviewer.js.map +7 -0
- package/dist/components/combobox.js +2 -0
- package/dist/components/combobox.js.map +7 -0
- package/dist/components/commandpalette.js +2 -0
- package/dist/components/commandpalette.js.map +7 -0
- package/dist/components/container.js +2 -0
- package/dist/components/container.js.map +7 -0
- package/dist/components/dataview.js +2 -0
- package/dist/components/dataview.js.map +7 -0
- package/dist/components/datefield.js +2 -0
- package/dist/components/datefield.js.map +7 -0
- package/dist/components/daterangefield.js +2 -0
- package/dist/components/daterangefield.js.map +7 -0
- package/dist/components/dial.js +2 -0
- package/dist/components/dial.js.map +7 -0
- package/dist/components/dropdown.js +2 -0
- package/dist/components/dropdown.js.map +7 -0
- package/dist/components/fieldgroup.js +2 -0
- package/dist/components/fieldgroup.js.map +7 -0
- package/dist/components/fieldlist.js +2 -0
- package/dist/components/fieldlist.js.map +7 -0
- package/dist/components/fieldset.js +2 -0
- package/dist/components/fieldset.js.map +7 -0
- package/dist/components/filterbuilder.js +2 -0
- package/dist/components/filterbuilder.js.map +7 -0
- package/dist/components/form.js +2 -0
- package/dist/components/form.js.map +7 -0
- package/dist/components/formactions.js +2 -0
- package/dist/components/formactions.js.map +7 -0
- package/dist/components/formerrors.js +2 -0
- package/dist/components/formerrors.js.map +7 -0
- package/dist/components/formsection.js +2 -0
- package/dist/components/formsection.js.map +7 -0
- package/dist/components/grid.js +2 -0
- package/dist/components/grid.js.map +7 -0
- package/dist/components/icon.js +2 -0
- package/dist/components/icon.js.map +7 -0
- package/dist/components/inputgroup.js +2 -0
- package/dist/components/inputgroup.js.map +7 -0
- package/dist/components/label.js +2 -0
- package/dist/components/label.js.map +7 -0
- package/dist/components/listbox.js +2 -0
- package/dist/components/listbox.js.map +7 -0
- package/dist/components/lookupfield.js +2 -0
- package/dist/components/lookupfield.js.map +7 -0
- package/dist/components/menu.js +2 -0
- package/dist/components/menu.js.map +7 -0
- package/dist/components/messagebox.js +2 -0
- package/dist/components/messagebox.js.map +7 -0
- package/dist/components/navmenu.js +2 -0
- package/dist/components/navmenu.js.map +7 -0
- package/dist/components/numberfield.js +2 -0
- package/dist/components/numberfield.js.map +7 -0
- package/dist/components/pagination.js +2 -0
- package/dist/components/pagination.js.map +7 -0
- package/dist/components/panel.js +2 -0
- package/dist/components/panel.js.map +7 -0
- package/dist/components/pickerfield.js +2 -0
- package/dist/components/pickerfield.js.map +7 -0
- package/dist/components/radiogroup.js +2 -0
- package/dist/components/radiogroup.js.map +7 -0
- package/dist/components/searchgrid.js +2 -0
- package/dist/components/searchgrid.js.map +7 -0
- package/dist/components/secretfield.js +2 -0
- package/dist/components/secretfield.js.map +7 -0
- package/dist/components/select.js +2 -0
- package/dist/components/select.js.map +7 -0
- package/dist/components/slider.js +2 -0
- package/dist/components/slider.js.map +7 -0
- package/dist/components/spacer.js +2 -0
- package/dist/components/spacer.js.map +7 -0
- package/dist/components/spinner.js +2 -0
- package/dist/components/spinner.js.map +7 -0
- package/dist/components/stepform.js +2 -0
- package/dist/components/stepform.js.map +7 -0
- package/dist/components/stepper.js +2 -0
- package/dist/components/stepper.js.map +7 -0
- package/dist/components/suggestfield.js +2 -0
- package/dist/components/suggestfield.js.map +7 -0
- package/dist/components/table.js +2 -0
- package/dist/components/table.js.map +7 -0
- package/dist/components/tabs.js +2 -0
- package/dist/components/tabs.js.map +7 -0
- package/dist/components/textarea.js +2 -0
- package/dist/components/textarea.js.map +7 -0
- package/dist/components/textfield.js +2 -0
- package/dist/components/textfield.js.map +7 -0
- package/dist/components/toast.js +2 -0
- package/dist/components/toast.js.map +7 -0
- package/dist/components/toggle.js +2 -0
- package/dist/components/toggle.js.map +7 -0
- package/dist/components/toolbar.js +2 -0
- package/dist/components/toolbar.js.map +7 -0
- package/dist/components/tooltip.js +2 -0
- package/dist/components/tooltip.js.map +7 -0
- package/dist/components/tree.js +2 -0
- package/dist/components/tree.js.map +7 -0
- package/dist/components/viewmanager.js +2 -0
- package/dist/components/viewmanager.js.map +7 -0
- package/dist/components/viewport.js +2 -0
- package/dist/components/viewport.js.map +7 -0
- package/dist/components/widget.js +2 -0
- package/dist/components/widget.js.map +7 -0
- package/dist/components/window.js +2 -0
- package/dist/components/window.js.map +7 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +7 -0
- package/dist/css/badge.css +39 -0
- package/dist/css/base.css +180 -0
- package/dist/css/breadcrumb.css +53 -0
- package/dist/css/button.css +103 -0
- package/dist/css/calendar.css +108 -0
- package/dist/css/cellediting.css +33 -0
- package/dist/css/chat.css +232 -0
- package/dist/css/checkbox.css +64 -0
- package/dist/css/checkboxgroup.css +12 -0
- package/dist/css/chip.css +64 -0
- package/dist/css/codeviewer.css +109 -0
- package/dist/css/commandpalette.css +167 -0
- package/dist/css/container.css +5 -0
- package/dist/css/core.css +88 -0
- package/dist/css/dataview.css +56 -0
- package/dist/css/dial.css +203 -0
- package/dist/css/dropdown.css +13 -0
- package/dist/css/field.css +62 -0
- package/dist/css/fieldgroup.css +26 -0
- package/dist/css/fieldlist.css +84 -0
- package/dist/css/fieldset.css +68 -0
- package/dist/css/filterbuilder.css +125 -0
- package/dist/css/form.css +8 -0
- package/dist/css/formactions.css +40 -0
- package/dist/css/formerrors.css +39 -0
- package/dist/css/formsection.css +45 -0
- package/dist/css/grid.css +378 -0
- package/dist/css/icon.css +16 -0
- package/dist/css/inputgroup.css +58 -0
- package/dist/css/label.css +12 -0
- package/dist/css/layout.css +116 -0
- package/dist/css/listbox.css +50 -0
- package/dist/css/menu.css +92 -0
- package/dist/css/messagebox.css +6 -0
- package/dist/css/motion.css +29 -0
- package/dist/css/navmenu.css +115 -0
- package/dist/css/pagination.css +23 -0
- package/dist/css/panel.css +84 -0
- package/dist/css/pickerfield.css +85 -0
- package/dist/css/radiogroup.css +53 -0
- package/dist/css/searchgrid.css +37 -0
- package/dist/css/secretfield.css +73 -0
- package/dist/css/slider.css +107 -0
- package/dist/css/spacer.css +7 -0
- package/dist/css/stepform.css +46 -0
- package/dist/css/stepper.css +122 -0
- package/dist/css/table.css +36 -0
- package/dist/css/tabs.css +108 -0
- package/dist/css/textarea.css +11 -0
- package/dist/css/textfield.css +59 -0
- package/dist/css/toast.css +91 -0
- package/dist/css/toggle.css +39 -0
- package/dist/css/toolbar.css +14 -0
- package/dist/css/tooltip.css +17 -0
- package/dist/css/tree.css +94 -0
- package/dist/css/viewport.css +9 -0
- package/dist/css/widget.css +135 -0
- package/dist/css/window.css +35 -0
- package/dist/data.js +2 -0
- package/dist/data.js.map +7 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +7 -0
- package/dist/motion.js +2 -0
- package/dist/motion.js.map +7 -0
- package/dist/optikos.css +4240 -0
- package/dist/themes/compact.css +17 -0
- package/dist/themes/dark.css +53 -0
- package/dist/types/bind/index.d.ts +23 -0
- package/dist/types/components/badge.d.ts +1 -0
- package/dist/types/components/base/badge/badge.d.ts +18 -0
- package/dist/types/components/base/button/button.d.ts +34 -0
- package/dist/types/components/base/chip/chip.d.ts +27 -0
- package/dist/types/components/base/codeviewer/codeviewer.d.ts +48 -0
- package/dist/types/components/base/icon/icon.d.ts +17 -0
- package/dist/types/components/base/label/label.d.ts +14 -0
- package/dist/types/components/breadcrumb.d.ts +1 -0
- package/dist/types/components/button.d.ts +1 -0
- package/dist/types/components/calendar.d.ts +1 -0
- package/dist/types/components/cellediting.d.ts +1 -0
- package/dist/types/components/chat/chat/chat.d.ts +84 -0
- package/dist/types/components/chat.d.ts +1 -0
- package/dist/types/components/checkbox.d.ts +1 -0
- package/dist/types/components/checkboxgroup.d.ts +1 -0
- package/dist/types/components/chip.d.ts +1 -0
- package/dist/types/components/codeviewer.d.ts +1 -0
- package/dist/types/components/combobox.d.ts +1 -0
- package/dist/types/components/commandpalette.d.ts +1 -0
- package/dist/types/components/container.d.ts +1 -0
- package/dist/types/components/data/cellediting/cellediting.d.ts +10 -0
- package/dist/types/components/data/dataview/dataview.d.ts +61 -0
- package/dist/types/components/data/filterbuilder/filterbuilder.d.ts +73 -0
- package/dist/types/components/data/grid/grid.d.ts +177 -0
- package/dist/types/components/data/pagination/pagination.d.ts +31 -0
- package/dist/types/components/data/searchgrid/searchgrid.d.ts +63 -0
- package/dist/types/components/data/table/table.d.ts +26 -0
- package/dist/types/components/data/tree/tree.d.ts +71 -0
- package/dist/types/components/data/viewmanager/viewmanager.d.ts +86 -0
- package/dist/types/components/dataview.d.ts +1 -0
- package/dist/types/components/datefield.d.ts +1 -0
- package/dist/types/components/daterangefield.d.ts +1 -0
- package/dist/types/components/dates/calendar/calendar.d.ts +48 -0
- package/dist/types/components/dial.d.ts +1 -0
- package/dist/types/components/dropdown.d.ts +1 -0
- package/dist/types/components/feedback/spinner/spinner.d.ts +11 -0
- package/dist/types/components/fieldgroup.d.ts +1 -0
- package/dist/types/components/fieldlist.d.ts +1 -0
- package/dist/types/components/fields/checkbox/checkbox.d.ts +20 -0
- package/dist/types/components/fields/checkboxgroup/checkboxgroup.d.ts +27 -0
- package/dist/types/components/fields/combobox/combobox.d.ts +15 -0
- package/dist/types/components/fields/datefield/datefield.d.ts +30 -0
- package/dist/types/components/fields/daterangefield/daterangefield.d.ts +32 -0
- package/dist/types/components/fields/dial/dial.d.ts +84 -0
- package/dist/types/components/fields/listbox/listbox.d.ts +54 -0
- package/dist/types/components/fields/lookupfield/lookupfield.d.ts +25 -0
- package/dist/types/components/fields/numberfield/numberfield.d.ts +31 -0
- package/dist/types/components/fields/pickerfield/pickerfield.d.ts +77 -0
- package/dist/types/components/fields/radiogroup/radiogroup.d.ts +26 -0
- package/dist/types/components/fields/secretfield/secretfield.d.ts +52 -0
- package/dist/types/components/fields/select/select.d.ts +10 -0
- package/dist/types/components/fields/slider/slider.d.ts +62 -0
- package/dist/types/components/fields/suggestfield/suggestfield.d.ts +34 -0
- package/dist/types/components/fields/textarea/textarea.d.ts +16 -0
- package/dist/types/components/fields/textfield/textfield.d.ts +38 -0
- package/dist/types/components/fields/toggle/toggle.d.ts +9 -0
- package/dist/types/components/fieldset.d.ts +1 -0
- package/dist/types/components/filterbuilder.d.ts +1 -0
- package/dist/types/components/form/fieldgroup/fieldgroup.d.ts +33 -0
- package/dist/types/components/form/fieldlist/fieldlist.d.ts +58 -0
- package/dist/types/components/form/form/form.d.ts +68 -0
- package/dist/types/components/form/formactions/formactions.d.ts +34 -0
- package/dist/types/components/form/formerrors/formerrors.d.ts +23 -0
- package/dist/types/components/form/formsection/formsection.d.ts +26 -0
- package/dist/types/components/form/inputgroup/inputgroup.d.ts +28 -0
- package/dist/types/components/form/stepform/stepform.d.ts +64 -0
- package/dist/types/components/form.d.ts +1 -0
- package/dist/types/components/formactions.d.ts +1 -0
- package/dist/types/components/formerrors.d.ts +1 -0
- package/dist/types/components/formsection.d.ts +1 -0
- package/dist/types/components/grid.d.ts +1 -0
- package/dist/types/components/icon.d.ts +1 -0
- package/dist/types/components/inputgroup.d.ts +1 -0
- package/dist/types/components/label.d.ts +1 -0
- package/dist/types/components/layout/container/container.d.ts +1 -0
- package/dist/types/components/layout/fieldset/fieldset.d.ts +30 -0
- package/dist/types/components/layout/panel/panel.d.ts +53 -0
- package/dist/types/components/layout/panel/reload.d.ts +1 -0
- package/dist/types/components/layout/spacer/spacer.d.ts +12 -0
- package/dist/types/components/layout/toolbar/toolbar.d.ts +15 -0
- package/dist/types/components/layout/viewport/viewport.d.ts +7 -0
- package/dist/types/components/listbox.d.ts +1 -0
- package/dist/types/components/lookupfield.d.ts +1 -0
- package/dist/types/components/menu.d.ts +1 -0
- package/dist/types/components/messagebox.d.ts +1 -0
- package/dist/types/components/navigation/breadcrumb/breadcrumb.d.ts +32 -0
- package/dist/types/components/navigation/navmenu/navmenu.d.ts +63 -0
- package/dist/types/components/navigation/stepper/stepper.d.ts +31 -0
- package/dist/types/components/navigation/tabs/tabs.d.ts +57 -0
- package/dist/types/components/navmenu.d.ts +1 -0
- package/dist/types/components/numberfield.d.ts +1 -0
- package/dist/types/components/overlays/commandpalette/commandpalette.d.ts +80 -0
- package/dist/types/components/overlays/dropdown/dropdown.d.ts +41 -0
- package/dist/types/components/overlays/menu/menu.d.ts +56 -0
- package/dist/types/components/overlays/messagebox/messagebox.d.ts +61 -0
- package/dist/types/components/overlays/toast/toast.d.ts +45 -0
- package/dist/types/components/overlays/tooltip/tooltip.d.ts +13 -0
- package/dist/types/components/overlays/widget/widget.d.ts +61 -0
- package/dist/types/components/overlays/window/window.d.ts +38 -0
- package/dist/types/components/pagination.d.ts +1 -0
- package/dist/types/components/panel.d.ts +1 -0
- package/dist/types/components/pickerfield.d.ts +1 -0
- package/dist/types/components/radiogroup.d.ts +1 -0
- package/dist/types/components/searchgrid.d.ts +1 -0
- package/dist/types/components/secretfield.d.ts +1 -0
- package/dist/types/components/select.d.ts +1 -0
- package/dist/types/components/slider.d.ts +1 -0
- package/dist/types/components/spacer.d.ts +1 -0
- package/dist/types/components/spinner.d.ts +1 -0
- package/dist/types/components/stepform.d.ts +1 -0
- package/dist/types/components/stepper.d.ts +1 -0
- package/dist/types/components/suggestfield.d.ts +1 -0
- package/dist/types/components/table.d.ts +1 -0
- package/dist/types/components/tabs.d.ts +1 -0
- package/dist/types/components/textarea.d.ts +1 -0
- package/dist/types/components/textfield.d.ts +1 -0
- package/dist/types/components/toast.d.ts +1 -0
- package/dist/types/components/toggle.d.ts +1 -0
- package/dist/types/components/toolbar.d.ts +1 -0
- package/dist/types/components/tooltip.d.ts +1 -0
- package/dist/types/components/tree.d.ts +1 -0
- package/dist/types/components/viewmanager.d.ts +1 -0
- package/dist/types/components/viewport.d.ts +1 -0
- package/dist/types/components/widget.d.ts +1 -0
- package/dist/types/components/window.d.ts +1 -0
- package/dist/types/core/component.d.ts +94 -0
- package/dist/types/core/container.d.ts +43 -0
- package/dist/types/core/date.d.ts +14 -0
- package/dist/types/core/dom.d.ts +11 -0
- package/dist/types/core/emitter.d.ts +12 -0
- package/dist/types/core/field.d.ts +78 -0
- package/dist/types/core/focus.d.ts +18 -0
- package/dist/types/core/i18n.d.ts +12 -0
- package/dist/types/core/index.d.ts +15 -0
- package/dist/types/core/layer.d.ts +6 -0
- package/dist/types/core/position.d.ts +19 -0
- package/dist/types/core/registry.d.ts +12 -0
- package/dist/types/core/validators.d.ts +10 -0
- package/dist/types/core/virtual.d.ts +24 -0
- package/dist/types/data/column.d.ts +32 -0
- package/dist/types/data/format.d.ts +4 -0
- package/dist/types/data/index.d.ts +5 -0
- package/dist/types/data/model.d.ts +28 -0
- package/dist/types/data/proxy.d.ts +61 -0
- package/dist/types/data/store.d.ts +94 -0
- package/dist/types/index.d.ts +67 -0
- package/dist/types/layout/layout.d.ts +27 -0
- package/dist/types/motion/config.d.ts +83 -0
- package/dist/types/motion/core.d.ts +40 -0
- package/dist/types/motion/extras.d.ts +66 -0
- package/dist/types/motion/index.d.ts +3 -0
- package/dist/types/themes/define.d.ts +31 -0
- package/dist/types/themes/index.d.ts +1 -0
- package/dist/types/ui/enums.d.ts +82 -0
- package/dist/types/ui/index.d.ts +2 -0
- package/dist/types/ui/ui.d.ts +67 -0
- package/dist/ui.js +2 -0
- package/dist/ui.js.map +7 -0
- package/package.json +104 -4
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
|
|
2
|
+
import { type DateRange } from '../../dates/calendar/calendar.js';
|
|
3
|
+
export interface DateRangeFieldConfig extends TextFieldConfig<DateRange | null> {
|
|
4
|
+
min?: string;
|
|
5
|
+
max?: string;
|
|
6
|
+
firstDay?: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Value is `{ start, end }` (ISO dates) or null. The text reads `01/03/2025 – 15/03/2025` (typed or picked); the calendar
|
|
10
|
+
* takes two clicks, and the popup closes on the second.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DateRangeField extends TextField<DateRange | null, DateRangeFieldConfig> {
|
|
13
|
+
protected baseCls: string;
|
|
14
|
+
private cal;
|
|
15
|
+
private dd;
|
|
16
|
+
private garbage;
|
|
17
|
+
protected emptyValue(): null;
|
|
18
|
+
protected isEmpty(v: DateRange | null): boolean;
|
|
19
|
+
protected parse(text: string): DateRange | null;
|
|
20
|
+
protected display(v: DateRange | null): string;
|
|
21
|
+
protected createControl(): HTMLDivElement;
|
|
22
|
+
protected onKey(e: KeyboardEvent): void;
|
|
23
|
+
protected onInput(): void;
|
|
24
|
+
protected applyValue(v: DateRange | null): void;
|
|
25
|
+
protected onDisabled(disabled: boolean): void;
|
|
26
|
+
protected check(): string;
|
|
27
|
+
open(): void;
|
|
28
|
+
close(): void;
|
|
29
|
+
toggle(): void;
|
|
30
|
+
setMin(min: string | undefined): void;
|
|
31
|
+
setMax(max: string | undefined): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Field, type FieldConfig } from '../../../core/field.js';
|
|
2
|
+
export type DialValue = number | string;
|
|
3
|
+
export interface DialOption {
|
|
4
|
+
value: DialValue;
|
|
5
|
+
label?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DialConfig extends FieldConfig<DialValue> {
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
/** A list instead of a range: the value is the item's value. */
|
|
12
|
+
options?: (DialValue | DialOption)[];
|
|
13
|
+
/** Snap points: every multiple of N (a range, default 10), every N items (a list, default 1), explicit values, or none. */
|
|
14
|
+
snap?: number | DialValue[] | false;
|
|
15
|
+
shape?: 'linear' | 'circle';
|
|
16
|
+
format?: (v: DialValue) => string;
|
|
17
|
+
/** Which ticks get a label. Default `snap`. */
|
|
18
|
+
labels?: 'snap' | 'all' | 'none';
|
|
19
|
+
}
|
|
20
|
+
/** A flat ruler (or a clock face) to pick one value from a range or a list, with a rolling readout. */
|
|
21
|
+
export declare class Dial extends Field<DialValue, DialConfig> {
|
|
22
|
+
protected baseCls: string;
|
|
23
|
+
private face;
|
|
24
|
+
private tape;
|
|
25
|
+
private needle;
|
|
26
|
+
private readout;
|
|
27
|
+
private cache?;
|
|
28
|
+
/** Where the ruler sits, as an item index (fractional while dragging). */
|
|
29
|
+
private pos;
|
|
30
|
+
/** The hand's angle in circle mode, kept continuous so it always turns the short way. */
|
|
31
|
+
private angle;
|
|
32
|
+
private shown;
|
|
33
|
+
private stopGlide?;
|
|
34
|
+
constructor(config?: DialConfig);
|
|
35
|
+
private get isCircle();
|
|
36
|
+
private get items();
|
|
37
|
+
private fmt;
|
|
38
|
+
private buildItems;
|
|
39
|
+
protected emptyValue(): DialValue;
|
|
40
|
+
protected isEmpty(): boolean;
|
|
41
|
+
private indexOf;
|
|
42
|
+
private normalize;
|
|
43
|
+
private get index();
|
|
44
|
+
protected createControl(): HTMLDivElement;
|
|
45
|
+
protected onRender(): void;
|
|
46
|
+
private paintTicks;
|
|
47
|
+
protected build(): HTMLElement;
|
|
48
|
+
/** Distance in px between two ticks on the ruler, for drags (12 when there is no layout, as in tests). */
|
|
49
|
+
private spacing;
|
|
50
|
+
private place;
|
|
51
|
+
/** Turns the hand to item `i` the short way round. */
|
|
52
|
+
private aim;
|
|
53
|
+
protected applyValue(v: DialValue): void;
|
|
54
|
+
/** ARIA, the current tick and the readout for item `i`. */
|
|
55
|
+
private paintState;
|
|
56
|
+
/** Digits roll like an odometer when the text keeps its shape; any other change slides the new text in. */
|
|
57
|
+
private paintReadout;
|
|
58
|
+
/** The user picked item `i`: animate there and tell everyone. */
|
|
59
|
+
private choose;
|
|
60
|
+
private get locked();
|
|
61
|
+
private onKey;
|
|
62
|
+
/** The next snap point after item `i` in direction `dir` (or the limit when there is none). */
|
|
63
|
+
private snapFrom;
|
|
64
|
+
private angleAt;
|
|
65
|
+
private onDown;
|
|
66
|
+
/** Comes to rest on item `i`; a glide (after a flick) takes longer the further it goes. */
|
|
67
|
+
private rest;
|
|
68
|
+
/** Moves `n` steps (negative goes back). */
|
|
69
|
+
next(n?: number): void;
|
|
70
|
+
prev(n?: number): void;
|
|
71
|
+
nextSnap(): void;
|
|
72
|
+
prevSnap(): void;
|
|
73
|
+
getDisplayText(): string;
|
|
74
|
+
private rebuild;
|
|
75
|
+
setMin(min: number): void;
|
|
76
|
+
setMax(max: number): void;
|
|
77
|
+
setStep(step: number): void;
|
|
78
|
+
setOptions(options: DialConfig['options']): void;
|
|
79
|
+
setSnap(snap: DialConfig['snap']): void;
|
|
80
|
+
setShape(shape: 'linear' | 'circle'): void;
|
|
81
|
+
setFormat(format: DialConfig['format']): void;
|
|
82
|
+
protected onDisabled(disabled: boolean): void;
|
|
83
|
+
protected onReadonly(readonly: boolean): void;
|
|
84
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export interface ListItem {
|
|
3
|
+
value: unknown;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** Secondary text at the end of the row (e.g. the record id). */
|
|
7
|
+
hint?: string;
|
|
8
|
+
/** The original option/record this item was built from. */
|
|
9
|
+
raw?: unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface ListBoxConfig extends ComponentConfig {
|
|
12
|
+
items?: ListItem[];
|
|
13
|
+
selected?: unknown;
|
|
14
|
+
emptyText?: string;
|
|
15
|
+
maxHeight?: number | string;
|
|
16
|
+
/** Custom cell content; default is the label (with `highlight` applied). */
|
|
17
|
+
renderer?: (item: ListItem) => string | Node;
|
|
18
|
+
/** Text to mark inside labels (the search term). */
|
|
19
|
+
highlight?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Virtualized list of options. It never takes focus: the owner keeps it (a combobox input) and points
|
|
23
|
+
* `aria-activedescendant` at `getActiveId()`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class ListBox extends Component<ListBoxConfig> {
|
|
26
|
+
protected baseCls: string;
|
|
27
|
+
private items;
|
|
28
|
+
private active;
|
|
29
|
+
private v?;
|
|
30
|
+
private emptyEl;
|
|
31
|
+
constructor(config?: ListBoxConfig);
|
|
32
|
+
protected build(): HTMLDivElement;
|
|
33
|
+
protected onRender(): void;
|
|
34
|
+
private indexOf;
|
|
35
|
+
private renderRow;
|
|
36
|
+
private isSelected;
|
|
37
|
+
private updateEmpty;
|
|
38
|
+
getItems(): ListItem[];
|
|
39
|
+
setItems(items: ListItem[]): void;
|
|
40
|
+
setSelected(value: unknown): void;
|
|
41
|
+
setHighlight(text: string): void;
|
|
42
|
+
setEmptyText(text: string): void;
|
|
43
|
+
/** Re-measures the row height and redraws (call after the list becomes visible). */
|
|
44
|
+
refresh(): void;
|
|
45
|
+
setActive(index: number, scroll?: boolean): void;
|
|
46
|
+
/** Moves the active item by `delta`, skipping disabled ones and wrapping around. */
|
|
47
|
+
moveActive(delta: number): void;
|
|
48
|
+
getActive(): ListItem | undefined;
|
|
49
|
+
getActiveIndex(): number;
|
|
50
|
+
getActiveId(): string;
|
|
51
|
+
/** Picks the item at `index` (default: the active one) and emits `select`. */
|
|
52
|
+
activate(index?: number): void;
|
|
53
|
+
scrollTo(index: number): void;
|
|
54
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SuggestField, type SuggestConfig } from '../suggestfield/suggestfield.js';
|
|
2
|
+
import { type LookupDef } from '../../data/searchgrid/searchgrid.js';
|
|
3
|
+
export interface LookupFieldConfig<V = unknown> extends SuggestConfig<V> {
|
|
4
|
+
/** A definition or the name given to `registerLookup`. */
|
|
5
|
+
lookup: LookupDef | string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Pick a record from a big set: type to get suggestions, or press the magnifier (or F4) to open a search window
|
|
9
|
+
* with filters and a grid. The value is the record's `valueField`; the text is its `displayField`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class LookupField<V = unknown> extends SuggestField<V> {
|
|
12
|
+
protected baseCls: string;
|
|
13
|
+
private def;
|
|
14
|
+
private suggestStore?;
|
|
15
|
+
private win?;
|
|
16
|
+
constructor(config: LookupFieldConfig<V>);
|
|
17
|
+
/** Typing: filter a private store by the quick-search field and offer its page of records. */
|
|
18
|
+
private suggest;
|
|
19
|
+
protected createControl(): HTMLDivElement;
|
|
20
|
+
protected onKey(e: KeyboardEvent): void;
|
|
21
|
+
protected onDisabled(disabled: boolean): void;
|
|
22
|
+
/** Opens the search window; the text typed so far pre-fills the quick-search field. */
|
|
23
|
+
openDialog(): void;
|
|
24
|
+
private pickRecord;
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
|
|
2
|
+
export interface NumberFieldConfig extends TextFieldConfig<number | null> {
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
step?: number;
|
|
6
|
+
/** Fixed decimals shown (and applied when the user leaves the field). */
|
|
7
|
+
decimals?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class NumberField extends TextField<number | null, NumberFieldConfig> {
|
|
10
|
+
protected baseCls: string;
|
|
11
|
+
/** Text that is not a number: reported as an error instead of silently dropped. */
|
|
12
|
+
private garbage;
|
|
13
|
+
protected emptyValue(): null;
|
|
14
|
+
protected isEmpty(v: number | null): v is null;
|
|
15
|
+
private get decimalSep();
|
|
16
|
+
protected parse(text: string): number | null;
|
|
17
|
+
protected display(v: number | null): string;
|
|
18
|
+
protected createControl(): HTMLDivElement;
|
|
19
|
+
private syncAria;
|
|
20
|
+
protected onInput(): void;
|
|
21
|
+
protected applyValue(v: number | null): void;
|
|
22
|
+
protected check(): string;
|
|
23
|
+
protected onKey(e: KeyboardEvent): void;
|
|
24
|
+
private bump;
|
|
25
|
+
increment(): void;
|
|
26
|
+
decrement(): void;
|
|
27
|
+
setMin(min: number | undefined): void;
|
|
28
|
+
setMax(max: number | undefined): void;
|
|
29
|
+
setStep(step: number): void;
|
|
30
|
+
setDecimals(decimals: number | undefined): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
|
|
2
|
+
import { Dropdown } from '../../overlays/dropdown/dropdown.js';
|
|
3
|
+
import { ListBox, type ListItem } from '../listbox/listbox.js';
|
|
4
|
+
import type { Store } from '../../../data/store.js';
|
|
5
|
+
export type { ListItem };
|
|
6
|
+
export type Option = string | number | Record<string, any>;
|
|
7
|
+
export interface PickerConfig<V = unknown> extends TextFieldConfig<V> {
|
|
8
|
+
options?: Option[];
|
|
9
|
+
store?: Store<any>;
|
|
10
|
+
valueField?: string;
|
|
11
|
+
displayField?: string;
|
|
12
|
+
/** Text that does not match an item is discarded on blur. Default true. */
|
|
13
|
+
forceSelection?: boolean;
|
|
14
|
+
emptyText?: string;
|
|
15
|
+
openOnFocus?: boolean;
|
|
16
|
+
maxHeight?: number | string;
|
|
17
|
+
/** Show the record's value (its id) as a badge inside the field and as a hint in every list row. Default false. */
|
|
18
|
+
showValue?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Shared base of Select, ComboBox and SuggestField: an input that owns a Dropdown with a ListBox,
|
|
22
|
+
* the ARIA combobox wiring and the keyboard model. Subclasses decide what typing does (`onType`)
|
|
23
|
+
* and whether the input is editable.
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class PickerField<V = unknown, C extends PickerConfig<V> = PickerConfig<V>> extends TextField<V, C> {
|
|
26
|
+
protected baseCls: string;
|
|
27
|
+
protected items: ListItem[];
|
|
28
|
+
protected selection?: ListItem;
|
|
29
|
+
/** The user typed since the last selection/blur; the input text is a search term, not the value's label. */
|
|
30
|
+
protected typed: boolean;
|
|
31
|
+
protected list: ListBox;
|
|
32
|
+
protected dd: Dropdown;
|
|
33
|
+
private triggerEl?;
|
|
34
|
+
private idEl?;
|
|
35
|
+
private wrapEl?;
|
|
36
|
+
private buffer;
|
|
37
|
+
private bufferTimer?;
|
|
38
|
+
protected editable(): boolean;
|
|
39
|
+
protected hasTrigger(): boolean;
|
|
40
|
+
/** Called when the user types in an editable picker. */
|
|
41
|
+
protected onType(_text: string): void;
|
|
42
|
+
protected toItem(o: Option): ListItem;
|
|
43
|
+
protected loadItems(): void;
|
|
44
|
+
setOptions(options: Option[]): void;
|
|
45
|
+
setStore(store: Store<any>): void;
|
|
46
|
+
private offStore?;
|
|
47
|
+
private bindStore;
|
|
48
|
+
protected findItem(value: unknown): ListItem | undefined;
|
|
49
|
+
getSelection(): ListItem | undefined;
|
|
50
|
+
/** Selects an item object directly (needed when the list does not contain it, e.g. a remote value). */
|
|
51
|
+
setSelection(item: ListItem | undefined, silent?: boolean): void;
|
|
52
|
+
/** The items to display for the current search state. Default: all. */
|
|
53
|
+
protected visibleItems(): ListItem[];
|
|
54
|
+
protected refreshList(): void;
|
|
55
|
+
private syncActive;
|
|
56
|
+
protected createControl(): HTMLDivElement;
|
|
57
|
+
protected onRender(): void;
|
|
58
|
+
protected onReadonly(readonly: boolean): void;
|
|
59
|
+
protected onDisabled(disabled: boolean): void;
|
|
60
|
+
protected applyValue(v: V): void;
|
|
61
|
+
/** The id badge (`showValue`): visible while a record is selected, and the input makes room for it. */
|
|
62
|
+
protected paintId(): void;
|
|
63
|
+
getDisplayText(): string;
|
|
64
|
+
open(): void;
|
|
65
|
+
close(): void;
|
|
66
|
+
toggle(): void;
|
|
67
|
+
expand(): void;
|
|
68
|
+
collapse(): void;
|
|
69
|
+
protected pick(item: ListItem): void;
|
|
70
|
+
/** Called on blur: commits free text or reverts to the selected label. */
|
|
71
|
+
protected settle(): void;
|
|
72
|
+
protected onInput(): void;
|
|
73
|
+
protected onKey(e: KeyboardEvent): void;
|
|
74
|
+
/** Select-style type-ahead: letters jump to the next label that starts with them. */
|
|
75
|
+
private typeahead;
|
|
76
|
+
setEmptyText(text: string): void;
|
|
77
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Field, type FieldConfig } from '../../../core/field.js';
|
|
2
|
+
export type RadioOption = string | {
|
|
3
|
+
value: string | number;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export interface RadioGroupConfig extends FieldConfig<string | number | null> {
|
|
8
|
+
options?: RadioOption[];
|
|
9
|
+
direction?: 'vertical' | 'horizontal';
|
|
10
|
+
}
|
|
11
|
+
export declare class RadioGroup extends Field<string | number | null, RadioGroupConfig> {
|
|
12
|
+
protected baseCls: string;
|
|
13
|
+
private group;
|
|
14
|
+
private inputs;
|
|
15
|
+
protected emptyValue(): null;
|
|
16
|
+
protected createControl(): HTMLElement;
|
|
17
|
+
private opts;
|
|
18
|
+
private buildOptions;
|
|
19
|
+
protected onRender(): void;
|
|
20
|
+
protected applyValue(v: string | number | null): void;
|
|
21
|
+
/** The `is-checked` class (what the styled dot reads) mirrors the native `checked` of each option. */
|
|
22
|
+
private paintChecked;
|
|
23
|
+
getDisplayText(): string;
|
|
24
|
+
protected onDisabled(disabled: boolean): void;
|
|
25
|
+
setOptions(options: RadioOption[]): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
|
|
2
|
+
export interface SecretFieldConfig extends TextFieldConfig<string | null> {
|
|
3
|
+
/** A secret is already saved. It can never be shown; it can only be replaced. `form.load({ key: true })` sets it too. */
|
|
4
|
+
stored?: boolean;
|
|
5
|
+
/** Ask before replacing a saved secret. Default true. */
|
|
6
|
+
confirmReplace?: boolean;
|
|
7
|
+
replaceTitle?: string;
|
|
8
|
+
replaceText?: string;
|
|
9
|
+
/** The eye hides the value again when the field loses focus. Default true. */
|
|
10
|
+
autoHide?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A field for secrets. While you type you can peek at what you typed (the eye); once a secret is saved it is shown only as a
|
|
14
|
+
* mask and can never be read back: to change it you replace it, after a warning. `getValue()` is `null` while untouched
|
|
15
|
+
* (keep what is saved), the new text once typed, `''` when replaced and left empty.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SecretField extends TextField<string | null, SecretFieldConfig> {
|
|
18
|
+
protected baseCls: string;
|
|
19
|
+
private stored;
|
|
20
|
+
private initialStored;
|
|
21
|
+
private replacing;
|
|
22
|
+
private revealed;
|
|
23
|
+
private eyeBtn;
|
|
24
|
+
private replaceBtn;
|
|
25
|
+
private keepBtn;
|
|
26
|
+
private hint;
|
|
27
|
+
constructor(config?: SecretFieldConfig);
|
|
28
|
+
protected emptyValue(): string | null;
|
|
29
|
+
/** A saved secret that was not touched counts as filled in (so `required` is satisfied). */
|
|
30
|
+
protected isEmpty(v: string | null): boolean;
|
|
31
|
+
protected createControl(): HTMLDivElement;
|
|
32
|
+
protected onRender(): void;
|
|
33
|
+
isStored(): boolean;
|
|
34
|
+
/** The user chose to replace a saved secret and has not finished. */
|
|
35
|
+
isReplacing(): boolean;
|
|
36
|
+
isRevealed(): boolean;
|
|
37
|
+
/** Says whether a secret is saved (a saved secret is never given to the field, only the fact that it exists). */
|
|
38
|
+
setStored(stored: boolean): void;
|
|
39
|
+
/** `true` (what `form.load` passes for "a secret exists") means saved; a string is a new value typed or set by code. */
|
|
40
|
+
setValue(v: string | boolean | null, silent?: boolean): void;
|
|
41
|
+
markClean(): void;
|
|
42
|
+
/** Back to what was loaded: the saved secret, untouched. */
|
|
43
|
+
reset(): void;
|
|
44
|
+
/** Warns, then turns a saved secret into an empty field to type the new value in. Resolves to whether it was replaced. */
|
|
45
|
+
replace(): Promise<boolean>;
|
|
46
|
+
/** Gives up replacing: the saved secret stays as it was. */
|
|
47
|
+
keep(): void;
|
|
48
|
+
setRevealed(on: boolean): void;
|
|
49
|
+
/** Never reveals: a mask when there is something, nothing otherwise. */
|
|
50
|
+
getDisplayText(): string;
|
|
51
|
+
private paint;
|
|
52
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PickerField, type PickerConfig } from '../pickerfield/pickerfield.js';
|
|
2
|
+
export interface SelectConfig<V = unknown> extends PickerConfig<V> {
|
|
3
|
+
}
|
|
4
|
+
/** Pick one option from a closed list. The input is read-only; letters jump to matching labels. */
|
|
5
|
+
export declare class Select<V = unknown> extends PickerField<V, SelectConfig<V>> {
|
|
6
|
+
protected baseCls: string;
|
|
7
|
+
protected editable(): boolean;
|
|
8
|
+
protected emptyValue(): V;
|
|
9
|
+
protected isEmpty(v: V): boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Field, type FieldConfig } from '../../../core/field.js';
|
|
2
|
+
export interface SliderMark {
|
|
3
|
+
value: number;
|
|
4
|
+
label?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SliderConfig extends FieldConfig<number | [number, number]> {
|
|
7
|
+
min?: number;
|
|
8
|
+
max?: number;
|
|
9
|
+
step?: number;
|
|
10
|
+
/** Two knobs: the value is `[low, high]`. */
|
|
11
|
+
range?: boolean;
|
|
12
|
+
marks?: boolean | SliderMark[];
|
|
13
|
+
/** When the bubble with the value shows. Default `drag` (while dragging or focused). */
|
|
14
|
+
showValue?: 'drag' | 'always' | 'never';
|
|
15
|
+
format?: (v: number) => string;
|
|
16
|
+
showScale?: boolean;
|
|
17
|
+
}
|
|
18
|
+
type V = number | [number, number];
|
|
19
|
+
/** A bar with a ball to drag: a number, or a range with two balls. */
|
|
20
|
+
export declare class Slider extends Field<V, SliderConfig> {
|
|
21
|
+
protected baseCls: string;
|
|
22
|
+
private track;
|
|
23
|
+
private fill;
|
|
24
|
+
private knobs;
|
|
25
|
+
private bubbles;
|
|
26
|
+
private marksEl;
|
|
27
|
+
private get min();
|
|
28
|
+
private get max();
|
|
29
|
+
private get step();
|
|
30
|
+
private get isRange();
|
|
31
|
+
protected emptyValue(): V;
|
|
32
|
+
protected isEmpty(): boolean;
|
|
33
|
+
private fmt;
|
|
34
|
+
private vals;
|
|
35
|
+
/** Snaps to a multiple of `step` inside [min, max] (without float noise). */
|
|
36
|
+
private snap;
|
|
37
|
+
protected createControl(): HTMLDivElement;
|
|
38
|
+
private buildKnobs;
|
|
39
|
+
protected onRender(): void;
|
|
40
|
+
private pct;
|
|
41
|
+
protected applyValue(v: V): void;
|
|
42
|
+
private paintMarks;
|
|
43
|
+
private valueAt;
|
|
44
|
+
private nearest;
|
|
45
|
+
private onTrackDown;
|
|
46
|
+
private onKnobDown;
|
|
47
|
+
/** The user moved knob `i` to `v`: update the value (knobs of a range never cross) and tell everyone. */
|
|
48
|
+
private setAt;
|
|
49
|
+
private onKey;
|
|
50
|
+
/** Where the (first) knob is, 0–100. */
|
|
51
|
+
getPercent(): number;
|
|
52
|
+
private refresh;
|
|
53
|
+
setMin(min: number): void;
|
|
54
|
+
setMax(max: number): void;
|
|
55
|
+
setStep(step: number): void;
|
|
56
|
+
private clampAll;
|
|
57
|
+
/** Switches between one knob and two; the value is converted. */
|
|
58
|
+
setRange(range: boolean): void;
|
|
59
|
+
protected onDisabled(disabled: boolean): void;
|
|
60
|
+
protected onReadonly(readonly: boolean): void;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PickerField, type PickerConfig, type ListItem, type Option } from '../pickerfield/pickerfield.js';
|
|
2
|
+
export interface SuggestConfig<V = unknown> extends PickerConfig<V> {
|
|
3
|
+
/** Async search. Receives the text and an AbortSignal that fires when a newer search starts. */
|
|
4
|
+
query?: (text: string, ctx: {
|
|
5
|
+
signal: AbortSignal;
|
|
6
|
+
}) => Promise<Option[]> | Option[];
|
|
7
|
+
minChars?: number;
|
|
8
|
+
/** Debounce in ms. */
|
|
9
|
+
delay?: number;
|
|
10
|
+
highlight?: boolean;
|
|
11
|
+
/** Leading icon name; `false` hides it. Default: the magnifier (`search`). */
|
|
12
|
+
icon?: string | false;
|
|
13
|
+
}
|
|
14
|
+
/** Search-as-you-type field: results come from `query` (or a Store with a proxy), not from a fixed list. */
|
|
15
|
+
export declare class SuggestField<V = unknown> extends PickerField<V, SuggestConfig<V>> {
|
|
16
|
+
protected baseCls: string;
|
|
17
|
+
private seq;
|
|
18
|
+
private abort?;
|
|
19
|
+
private cancelWait?;
|
|
20
|
+
private live;
|
|
21
|
+
protected hasTrigger(): boolean;
|
|
22
|
+
protected emptyValue(): V;
|
|
23
|
+
protected isEmpty(v: V): boolean;
|
|
24
|
+
protected createControl(): HTMLDivElement;
|
|
25
|
+
protected onRender(): void;
|
|
26
|
+
protected onType(text: string): void;
|
|
27
|
+
/** Runs a search now (skips the debounce). */
|
|
28
|
+
search(text: string): Promise<void>;
|
|
29
|
+
private showResults;
|
|
30
|
+
private setSearching;
|
|
31
|
+
setQuery(query: NonNullable<SuggestConfig['query']>): void;
|
|
32
|
+
clearSuggestions(): void;
|
|
33
|
+
protected pick(item: ListItem): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TextField, type TextFieldConfig } from '../textfield/textfield.js';
|
|
2
|
+
export interface TextAreaConfig extends TextFieldConfig {
|
|
3
|
+
rows?: number;
|
|
4
|
+
autoGrow?: boolean;
|
|
5
|
+
maxRows?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class TextArea extends TextField<string, TextAreaConfig> {
|
|
8
|
+
protected baseCls: string;
|
|
9
|
+
protected createInput(): HTMLTextAreaElement;
|
|
10
|
+
protected onKey(e: KeyboardEvent): void;
|
|
11
|
+
protected onInput(): void;
|
|
12
|
+
protected applyValue(v: string): void;
|
|
13
|
+
notifyMount(): void;
|
|
14
|
+
private grow;
|
|
15
|
+
setRows(rows: number): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Field, type FieldConfig } from '../../../core/field.js';
|
|
2
|
+
export interface TextFieldConfig<V = string> extends FieldConfig<V> {
|
|
3
|
+
inputType?: 'text' | 'email' | 'tel' | 'url' | 'search' | 'password';
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
maxLength?: number;
|
|
6
|
+
minLength?: number;
|
|
7
|
+
pattern?: string;
|
|
8
|
+
autocomplete?: string;
|
|
9
|
+
selectOnFocus?: boolean;
|
|
10
|
+
clearable?: boolean;
|
|
11
|
+
}
|
|
12
|
+
type Input = HTMLInputElement | HTMLTextAreaElement;
|
|
13
|
+
export declare class TextField<V = string, C extends TextFieldConfig<V> = TextFieldConfig<V>> extends Field<V, C> {
|
|
14
|
+
protected baseCls: string;
|
|
15
|
+
protected clearBtn?: HTMLButtonElement;
|
|
16
|
+
/** Subclasses (TextArea, ...) replace the native control. */
|
|
17
|
+
protected createInput(): Input;
|
|
18
|
+
protected get input(): Input;
|
|
19
|
+
protected createControl(): HTMLDivElement;
|
|
20
|
+
/** The text the user typed becomes the value on every edit. */
|
|
21
|
+
protected onInput(): void;
|
|
22
|
+
/** Text → value. Subclasses with non-string values (NumberField) override. */
|
|
23
|
+
protected parse(text: string): V;
|
|
24
|
+
/** Value → text shown in the input. */
|
|
25
|
+
protected display(v: V): string;
|
|
26
|
+
protected onKey(e: KeyboardEvent): void;
|
|
27
|
+
getDisplayText(): string;
|
|
28
|
+
protected applyValue(v: V): void;
|
|
29
|
+
protected onReadonly(readonly: boolean): void;
|
|
30
|
+
protected onDisabled(disabled: boolean): void;
|
|
31
|
+
protected check(): string;
|
|
32
|
+
setPlaceholder(text: string): void;
|
|
33
|
+
setMaxLength(n: number): void;
|
|
34
|
+
setInputType(type: NonNullable<TextFieldConfig['inputType']>): void;
|
|
35
|
+
select(): void;
|
|
36
|
+
getInput(): Input;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Checkbox, type CheckboxConfig } from '../checkbox/checkbox.js';
|
|
2
|
+
export type ToggleConfig = Omit<CheckboxConfig, 'indeterminate'>;
|
|
3
|
+
/** An on/off switch: a Checkbox with `role="switch"` and a track-and-knob look. Same value (`boolean`), events and API. */
|
|
4
|
+
export declare class Toggle extends Checkbox {
|
|
5
|
+
protected baseCls: string;
|
|
6
|
+
protected onRender(): void;
|
|
7
|
+
/** A switch has no third state. */
|
|
8
|
+
setIndeterminate(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/layout/fieldset/fieldset.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/data/filterbuilder/filterbuilder.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Container, type ContainerConfig } from '../../../core/container.js';
|
|
2
|
+
import { Field } from '../../../core/field.js';
|
|
3
|
+
export interface FieldGroupConfig extends ContainerConfig {
|
|
4
|
+
label?: string;
|
|
5
|
+
help?: string;
|
|
6
|
+
/** The `*` marker (also shown when any field inside is required). */
|
|
7
|
+
required?: boolean;
|
|
8
|
+
/** Default: the form's `labelPos`. */
|
|
9
|
+
labelPos?: 'top' | 'left';
|
|
10
|
+
/** Under this width (px) the row becomes a column. */
|
|
11
|
+
stackBelow?: number;
|
|
12
|
+
}
|
|
13
|
+
/** Several inputs read as one field: one label, one help line and one error line over a row of fields. */
|
|
14
|
+
export declare class FieldGroup extends Container<FieldGroupConfig> {
|
|
15
|
+
protected baseCls: string;
|
|
16
|
+
private labelEl;
|
|
17
|
+
private bodyEl;
|
|
18
|
+
private helpEl;
|
|
19
|
+
private errorEl;
|
|
20
|
+
private error;
|
|
21
|
+
constructor(config?: FieldGroupConfig);
|
|
22
|
+
getBody(): HTMLElement;
|
|
23
|
+
/** The fields inside (also inside nested containers). */
|
|
24
|
+
getFields(): Field<any>[];
|
|
25
|
+
getError(): string;
|
|
26
|
+
protected build(): HTMLElement;
|
|
27
|
+
protected onRender(): void;
|
|
28
|
+
/** The group shows the first error of its fields, in one line. */
|
|
29
|
+
private paintError;
|
|
30
|
+
private describe;
|
|
31
|
+
setLabel(label: string): void;
|
|
32
|
+
setHelp(help: string): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Field, type FieldConfig } from '../../../core/field.js';
|
|
2
|
+
import { Container } from '../../../core/container.js';
|
|
3
|
+
import { type AnyConfig } from '../../../core/registry.js';
|
|
4
|
+
import type { LayoutSpec } from '../../../layout/layout.js';
|
|
5
|
+
import { Component } from '../../../core/component.js';
|
|
6
|
+
type Row = Record<string, any>;
|
|
7
|
+
export interface FieldListConfig extends FieldConfig<Row[]> {
|
|
8
|
+
/** The fields of one row (configs or instances such as `ui.text(...)`). Names are relative to the row (nested allowed). */
|
|
9
|
+
items?: Array<AnyConfig | Component>;
|
|
10
|
+
min?: number;
|
|
11
|
+
max?: number;
|
|
12
|
+
addText?: string;
|
|
13
|
+
reorderable?: boolean;
|
|
14
|
+
/** Values for a new row, or a function that returns them. */
|
|
15
|
+
newRow?: Row | (() => Row);
|
|
16
|
+
/** Layout of a row. Default `hbox` (the fields share the row). */
|
|
17
|
+
rowLayout?: LayoutSpec;
|
|
18
|
+
}
|
|
19
|
+
/** A repeating block of fields: add, remove and reorder rows; the value is an array of row objects. */
|
|
20
|
+
export declare class FieldList extends Field<Row[], FieldListConfig> {
|
|
21
|
+
protected baseCls: string;
|
|
22
|
+
private rowsEl;
|
|
23
|
+
private addBtn;
|
|
24
|
+
private emptyEl;
|
|
25
|
+
private rows;
|
|
26
|
+
private syncing;
|
|
27
|
+
protected emptyValue(): Row[];
|
|
28
|
+
protected isEmpty(v: Row[]): boolean;
|
|
29
|
+
protected createControl(): HTMLDivElement;
|
|
30
|
+
protected onRender(): void;
|
|
31
|
+
private label;
|
|
32
|
+
private makeRow;
|
|
33
|
+
private rowFields;
|
|
34
|
+
private collect;
|
|
35
|
+
private commitRows;
|
|
36
|
+
/** Puts every row in place: its group name, tools, and which tools are allowed. */
|
|
37
|
+
private paintRows;
|
|
38
|
+
protected applyValue(value: Row[]): void;
|
|
39
|
+
/** Adds a row (at the end) and focuses its first field. */
|
|
40
|
+
addRow(values?: Row): void;
|
|
41
|
+
removeRow(index: number): void;
|
|
42
|
+
moveRow(from: number, to: number): void;
|
|
43
|
+
getRows(): Container[];
|
|
44
|
+
getRowFields(index: number): Field<any>[];
|
|
45
|
+
setAddText(text: string): void;
|
|
46
|
+
setMin(min: number): void;
|
|
47
|
+
setMax(max: number): void;
|
|
48
|
+
protected check(): string;
|
|
49
|
+
/** Validates every row too; the list is valid when its own rules and every field inside pass. */
|
|
50
|
+
validate(): boolean;
|
|
51
|
+
isValid(): boolean;
|
|
52
|
+
/** The first invalid field inside, or the add button. */
|
|
53
|
+
focus(): void;
|
|
54
|
+
protected onDisabled(disabled: boolean): void;
|
|
55
|
+
protected onReadonly(readonly: boolean): void;
|
|
56
|
+
protected onDestroy(): void;
|
|
57
|
+
}
|
|
58
|
+
export {};
|