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,17 @@
|
|
|
1
|
+
/* Compact density: smaller controls, tighter spacing and rows. Combine with others: data-op-theme="dark compact". */
|
|
2
|
+
@layer optikos {
|
|
3
|
+
[data-op-theme~='compact'] {
|
|
4
|
+
--op-font-size: 0.8125rem;
|
|
5
|
+
--op-font-size-sm: 0.6875rem;
|
|
6
|
+
--op-space-1: 0.125rem;
|
|
7
|
+
--op-space-2: 0.375rem;
|
|
8
|
+
--op-space-3: 0.5rem;
|
|
9
|
+
--op-space-4: 0.75rem;
|
|
10
|
+
--op-space-5: 1rem;
|
|
11
|
+
--op-space-6: 1.5rem;
|
|
12
|
+
--op-control-height: 1.75rem;
|
|
13
|
+
--op-control-padding-x: 0.5rem;
|
|
14
|
+
--op-row-height: 1.75rem;
|
|
15
|
+
--op-radius: 0.25rem;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* Dark: the same sober look at night. Steel blue on deep slate, quiet borders, a darker sidebar; shape and density come
|
|
2
|
+
from the base. Use data-op-theme="dark" on any element. */
|
|
3
|
+
@layer optikos {
|
|
4
|
+
[data-op-theme~='dark'] {
|
|
5
|
+
color-scheme: dark; /* native controls follow */
|
|
6
|
+
--op-color-bg: #0f141c;
|
|
7
|
+
--op-color-surface: #161d28;
|
|
8
|
+
--op-color-surface-2: #1c2532;
|
|
9
|
+
--op-color-fg: #e2e8f0;
|
|
10
|
+
--op-color-fg-muted: #9ba7b8;
|
|
11
|
+
--op-color-border: #2a3444;
|
|
12
|
+
--op-color-border-strong: #435064;
|
|
13
|
+
--op-color-hover: #212d3e;
|
|
14
|
+
--op-color-selected: #1d3557;
|
|
15
|
+
--op-color-primary: #6ea8ec; /* primary text keeps 4.5:1 on the dark surfaces */
|
|
16
|
+
--op-color-primary-hover: #93bff2;
|
|
17
|
+
--op-color-primary-fg: #0b1524;
|
|
18
|
+
--op-color-primary-soft: #172a45;
|
|
19
|
+
--op-color-danger: #f28b82;
|
|
20
|
+
--op-color-danger-hover: #f6aaa3;
|
|
21
|
+
--op-color-danger-fg: #1f0b09;
|
|
22
|
+
--op-color-danger-soft: #3b1715;
|
|
23
|
+
--op-color-success: #5cc493;
|
|
24
|
+
--op-color-success-soft: #10301f;
|
|
25
|
+
--op-color-warning: #e9b44c;
|
|
26
|
+
--op-color-warning-soft: #36270c;
|
|
27
|
+
--op-color-info: #6ea8ec;
|
|
28
|
+
--op-color-info-soft: #172a45;
|
|
29
|
+
--op-color-focus: #6ea8ec;
|
|
30
|
+
--op-color-disabled-fg: #647186;
|
|
31
|
+
--op-color-disabled-bg: #1a222e;
|
|
32
|
+
--op-color-overlay: rgb(0 0 0 / 0.62);
|
|
33
|
+
--op-color-inverse-bg: #e2e8f0;
|
|
34
|
+
--op-color-inverse-fg: #0f141c;
|
|
35
|
+
--op-shadow-sm: none;
|
|
36
|
+
--op-shadow: 0 2px 8px rgb(0 0 0 / 0.45);
|
|
37
|
+
--op-shadow-lg: 0 12px 32px rgb(0 0 0 / 0.6);
|
|
38
|
+
|
|
39
|
+
--op-navmenu-item-height: 2.5rem;
|
|
40
|
+
--op-navmenu-bg: #0b1018;
|
|
41
|
+
--op-navmenu-fg: #c6d0de;
|
|
42
|
+
--op-navmenu-group-fg: #7f8ea6;
|
|
43
|
+
--op-navmenu-item-hover-bg: #172131;
|
|
44
|
+
--op-navmenu-active-bg: #1b3050;
|
|
45
|
+
--op-navmenu-active-fg: #ffffff;
|
|
46
|
+
--op-navmenu-active-bar: #6ea8ec;
|
|
47
|
+
--op-navmenu-badge-bg: #6ea8ec;
|
|
48
|
+
--op-navmenu-badge-fg: #0b1524;
|
|
49
|
+
--op-grid-header-bg: #1a2230;
|
|
50
|
+
--op-grid-header-fg: #d3dbe6;
|
|
51
|
+
--op-field-label-weight: 600;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Component } from '../core/component.js';
|
|
2
|
+
type Sub = () => void;
|
|
3
|
+
export interface Signal<T> {
|
|
4
|
+
(): T;
|
|
5
|
+
set(value: T): void;
|
|
6
|
+
update(fn: (v: T) => T): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function signal<T>(initial: T): Signal<T>;
|
|
9
|
+
/** Runs `fn` now and again whenever a signal it read changes. Returns the dispose function. */
|
|
10
|
+
export declare function effect(fn: () => void | Sub): () => void;
|
|
11
|
+
/** A read-only signal derived from others. */
|
|
12
|
+
export declare function computed<T>(fn: () => T): () => T;
|
|
13
|
+
/** Wraps a Store (or anything with `subscribe`) so reading it inside an effect/computed re-runs that effect on every change. Call it once, outside effects. */
|
|
14
|
+
export declare function fromStore<S extends {
|
|
15
|
+
subscribe(fn: () => void): () => void;
|
|
16
|
+
}>(store: S): () => S;
|
|
17
|
+
/**
|
|
18
|
+
* `bind(button, { text: () => `Count: ${n()}`, disabled: isBusy })` → `button.setText(...)`, `button.setDisabled(...)`
|
|
19
|
+
* re-run when the sources change, and are disposed with the component. A source that is a writable signal on `value`
|
|
20
|
+
* is two-way: the field's `change` event writes back.
|
|
21
|
+
*/
|
|
22
|
+
export declare function bind(cmp: Component<any>, map: Record<string, () => unknown>): void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/base/badge/badge.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export type Tone = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
|
3
|
+
export interface BadgeConfig extends ComponentConfig {
|
|
4
|
+
text?: string | number;
|
|
5
|
+
tone?: Tone;
|
|
6
|
+
icon?: string;
|
|
7
|
+
/** A small colored dot before the text (a status light). */
|
|
8
|
+
dot?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** A small status label or count: "Paid", "3 new", "Beta". Not interactive (see Chip for that). */
|
|
11
|
+
export declare class Badge extends Component<BadgeConfig> {
|
|
12
|
+
protected baseCls: string;
|
|
13
|
+
protected tag: 'span';
|
|
14
|
+
private textEl;
|
|
15
|
+
protected onRender(): void;
|
|
16
|
+
setText(text: string | number): void;
|
|
17
|
+
setTone(tone: Tone): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export interface ButtonConfig extends ComponentConfig {
|
|
3
|
+
text?: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
iconPos?: 'left' | 'right';
|
|
6
|
+
variant?: 'default' | 'primary' | 'danger' | 'ghost';
|
|
7
|
+
htmlType?: 'button' | 'submit' | 'reset';
|
|
8
|
+
handler?: (button: Button, ev: MouseEvent) => unknown;
|
|
9
|
+
/** Behaves as a toggle button (`aria-pressed`). */
|
|
10
|
+
toggle?: boolean;
|
|
11
|
+
pressed?: boolean;
|
|
12
|
+
/** Text shown while loading. Default: `text`. Passing a string to `loading` sets it too. */
|
|
13
|
+
loadingText?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class Button extends Component<ButtonConfig> {
|
|
16
|
+
protected baseCls: string;
|
|
17
|
+
protected tag: 'button';
|
|
18
|
+
private textEl;
|
|
19
|
+
private busyTextEl;
|
|
20
|
+
private iconHost;
|
|
21
|
+
protected build(): HTMLButtonElement;
|
|
22
|
+
protected onRender(): void;
|
|
23
|
+
protected onDisabled(disabled: boolean): void;
|
|
24
|
+
setText(text: string): void;
|
|
25
|
+
setIcon(name: string): void;
|
|
26
|
+
setVariant(variant: NonNullable<ButtonConfig['variant']>): void;
|
|
27
|
+
setPressed(pressed: boolean): void;
|
|
28
|
+
/** The button shows its own spinner (no mask) and ignores clicks while loading. A string is the loading text. */
|
|
29
|
+
setLoading(loading: boolean | string): void;
|
|
30
|
+
setLoadingText(text: string): void;
|
|
31
|
+
/** A subtle ring that confirms the action worked (motion rule 8). */
|
|
32
|
+
pulse(): void;
|
|
33
|
+
click(): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export interface ChipConfig extends ComponentConfig {
|
|
3
|
+
text?: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
/** Click toggles it on and off (a filter, a tag being picked): a toggle button with `aria-pressed`. */
|
|
6
|
+
selectable?: boolean;
|
|
7
|
+
selected?: boolean;
|
|
8
|
+
/** Shows a × button that fires `remove` (the app removes the chip). */
|
|
9
|
+
removable?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
handler?: (chip: Chip) => void;
|
|
12
|
+
}
|
|
13
|
+
/** A compact token: a filter to toggle, a tag to remove, a choice to click. */
|
|
14
|
+
export declare class Chip extends Component<ChipConfig> {
|
|
15
|
+
protected baseCls: string;
|
|
16
|
+
protected tag: 'span';
|
|
17
|
+
private main;
|
|
18
|
+
private textEl;
|
|
19
|
+
private removeBtn?;
|
|
20
|
+
protected onRender(): void;
|
|
21
|
+
setText(text: string): void;
|
|
22
|
+
/** Selected state (only meaningful with `selectable`); `notify` fires `change`. */
|
|
23
|
+
setSelected(on: boolean, notify?: boolean): void;
|
|
24
|
+
isSelected(): boolean;
|
|
25
|
+
setDisabled(disabled: boolean): void;
|
|
26
|
+
protected focusEl(): HTMLElement;
|
|
27
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export type CodeLanguage = 'ts' | 'js' | 'json' | 'css' | 'html' | 'sh' | 'text';
|
|
3
|
+
export interface CodeViewerConfig extends ComponentConfig {
|
|
4
|
+
code?: string;
|
|
5
|
+
language?: CodeLanguage;
|
|
6
|
+
/** The bar text. Default: the language name. */
|
|
7
|
+
title?: string;
|
|
8
|
+
lineNumbers?: boolean;
|
|
9
|
+
startLine?: number;
|
|
10
|
+
/** Lines to mark: `[3, 4]` or `'3-5,8'` (numbers as shown, so they follow `startLine`). */
|
|
11
|
+
highlight?: number[] | string;
|
|
12
|
+
wrap?: boolean;
|
|
13
|
+
copyable?: boolean;
|
|
14
|
+
bar?: boolean;
|
|
15
|
+
maxHeight?: number | string;
|
|
16
|
+
}
|
|
17
|
+
type Tok = [kind: string, text: string];
|
|
18
|
+
/** Splits code into tokens (kind '' = plain). Pure: no DOM. */
|
|
19
|
+
export declare function tokenize(code: string, language?: CodeLanguage): Tok[];
|
|
20
|
+
/** Read-only code: syntax colors, line numbers (CSS counters, never copied), marked lines and a copy button. */
|
|
21
|
+
export declare class CodeViewer extends Component<CodeViewerConfig> {
|
|
22
|
+
protected baseCls: string;
|
|
23
|
+
private titleEl;
|
|
24
|
+
private bar;
|
|
25
|
+
private pre;
|
|
26
|
+
private codeEl;
|
|
27
|
+
private status;
|
|
28
|
+
private copyBtn;
|
|
29
|
+
protected build(): HTMLDivElement;
|
|
30
|
+
protected onRender(): void;
|
|
31
|
+
private get language();
|
|
32
|
+
private paintBar;
|
|
33
|
+
/** One line element per line, tokens split at line breaks so a comment or string can span lines. */
|
|
34
|
+
private paintCode;
|
|
35
|
+
getCode(): string;
|
|
36
|
+
/** Copies the code. Without a clipboard (an insecure page) it selects the code instead and resolves false. */
|
|
37
|
+
copy(): Promise<boolean>;
|
|
38
|
+
private update;
|
|
39
|
+
setCode(code: string): void;
|
|
40
|
+
setLanguage(language: CodeLanguage): void;
|
|
41
|
+
setTitle(title: string): void;
|
|
42
|
+
setLineNumbers(lineNumbers: boolean): void;
|
|
43
|
+
setStartLine(startLine: number): void;
|
|
44
|
+
setHighlight(highlight: CodeViewerConfig['highlight']): void;
|
|
45
|
+
setWrap(wrap: boolean): void;
|
|
46
|
+
setMaxHeight(maxHeight: CodeViewerConfig['maxHeight']): void;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
/** Registers icons by name. A value is either SVG inner markup (24×24 viewBox, stroke style) or a full `<svg>` string. Trusted: comes from your code. */
|
|
3
|
+
export declare function registerIcons(map: Record<string, string>): void;
|
|
4
|
+
export declare const hasIcon: (name: string) => boolean;
|
|
5
|
+
/** A `<span class="op-icon">` holding the SVG. Decorative unless `label` is given. */
|
|
6
|
+
export declare function iconEl(name: string, label?: string): HTMLElement;
|
|
7
|
+
export interface IconConfig extends ComponentConfig {
|
|
8
|
+
name?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class Icon extends Component<IconConfig> {
|
|
12
|
+
protected baseCls: string;
|
|
13
|
+
protected tag: 'span';
|
|
14
|
+
protected onRender(): void;
|
|
15
|
+
setName(name: string): void;
|
|
16
|
+
setLabel(label: string): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export interface LabelConfig extends ComponentConfig {
|
|
3
|
+
text?: string;
|
|
4
|
+
/** Id of the field this label names (renders a `<label for>`). */
|
|
5
|
+
for?: string;
|
|
6
|
+
variant?: 'default' | 'muted' | 'title';
|
|
7
|
+
}
|
|
8
|
+
export declare class Label extends Component<LabelConfig> {
|
|
9
|
+
protected baseCls: string;
|
|
10
|
+
protected build(): HTMLLabelElement | HTMLSpanElement;
|
|
11
|
+
protected onRender(): void;
|
|
12
|
+
setText(text: string): void;
|
|
13
|
+
setVariant(variant: NonNullable<LabelConfig['variant']>): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/navigation/breadcrumb/breadcrumb.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/base/button/button.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/dates/calendar/calendar.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/data/cellediting/cellediting.js';
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
export interface ChatMessage {
|
|
3
|
+
id?: string | number;
|
|
4
|
+
/** The author's id (compare with the `me` of the config). */
|
|
5
|
+
from: string;
|
|
6
|
+
text: string;
|
|
7
|
+
time?: number | Date | string;
|
|
8
|
+
status?: 'sending' | 'sent' | 'delivered' | 'read' | 'error';
|
|
9
|
+
/** The id of the message this one answers (shown as a quote). */
|
|
10
|
+
replyTo?: string | number;
|
|
11
|
+
/** Anything the app wants to keep with the message. */
|
|
12
|
+
meta?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface ChatConfig extends ComponentConfig {
|
|
15
|
+
messages?: ChatMessage[];
|
|
16
|
+
/** The id of whoever is using the chat: their messages go on the right. */
|
|
17
|
+
me: string;
|
|
18
|
+
users?: Record<string, {
|
|
19
|
+
name: string;
|
|
20
|
+
color?: string;
|
|
21
|
+
}>;
|
|
22
|
+
/** Show the author's name above the first bubble of a group of theirs. Default true. */
|
|
23
|
+
showAuthors?: boolean;
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
/** Prompt chips above the composer; clicking one sends it. */
|
|
26
|
+
suggestions?: string[];
|
|
27
|
+
readonly?: boolean;
|
|
28
|
+
/** Enter sends and Shift+Enter breaks the line. Default true. */
|
|
29
|
+
sendOnEnter?: boolean;
|
|
30
|
+
maxLength?: number;
|
|
31
|
+
/** Custom bubble content. The default is a minimal, safe formatting (`**bold**`, `*italic*`, `` `code` ``, line breaks). */
|
|
32
|
+
renderer?: (msg: ChatMessage) => string | Node;
|
|
33
|
+
}
|
|
34
|
+
/** Conversation view: bubbles grouped by author and day, delivery ticks, typing dots, streaming text, prompt chips and a composer. */
|
|
35
|
+
export declare class Chat extends Component<ChatConfig> {
|
|
36
|
+
protected baseCls: string;
|
|
37
|
+
private msgs;
|
|
38
|
+
private seq;
|
|
39
|
+
private logEl;
|
|
40
|
+
private emptyEl;
|
|
41
|
+
private typingEl;
|
|
42
|
+
private chipsEl;
|
|
43
|
+
private input;
|
|
44
|
+
private sendBtn;
|
|
45
|
+
private busy;
|
|
46
|
+
protected build(): HTMLDivElement;
|
|
47
|
+
protected onRender(): void;
|
|
48
|
+
notifyMount(): void;
|
|
49
|
+
private norm;
|
|
50
|
+
getMessages(): ChatMessage[];
|
|
51
|
+
addMessage(msg: ChatMessage): ChatMessage;
|
|
52
|
+
setMessages(list: ChatMessage[]): void;
|
|
53
|
+
updateMessage(id: string | number, patch: Partial<ChatMessage>): void;
|
|
54
|
+
/** Adds text to a message: for answers that arrive in pieces (AI streaming). Only that bubble's text is redrawn. */
|
|
55
|
+
appendToMessage(id: string | number, text: string): void;
|
|
56
|
+
removeMessage(id: string | number): void;
|
|
57
|
+
private msgEl;
|
|
58
|
+
private renderAll;
|
|
59
|
+
/** The day separator (when the day changes) and the message itself. */
|
|
60
|
+
private nodesFor;
|
|
61
|
+
private mountMsg;
|
|
62
|
+
private dayLabel;
|
|
63
|
+
private fill;
|
|
64
|
+
private buildMsg;
|
|
65
|
+
private statusEl;
|
|
66
|
+
/** Group classes: first/last bubble of a run by the same author on the same day. */
|
|
67
|
+
private group;
|
|
68
|
+
private decorate;
|
|
69
|
+
private syncEmpty;
|
|
70
|
+
private nearBottom;
|
|
71
|
+
scrollToBottom(): void;
|
|
72
|
+
/** `true` shows the dots, a name shows "name is typing…", `false` hides them. */
|
|
73
|
+
setTyping(who: boolean | string): void;
|
|
74
|
+
setSuggestions(list: string[]): void;
|
|
75
|
+
/** While busy (an answer is on its way) sending is off and the log tells assistive tech to wait. */
|
|
76
|
+
setBusy(busy: boolean): void;
|
|
77
|
+
setReadonly(readonly: boolean): void;
|
|
78
|
+
setPlaceholder(text: string): void;
|
|
79
|
+
focus(): void;
|
|
80
|
+
private grow;
|
|
81
|
+
private submit;
|
|
82
|
+
/** The same path as the send button. Returns false when nothing was sent (empty, busy, read-only or cancelled). */
|
|
83
|
+
send(text: string): boolean;
|
|
84
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/chat/chat/chat.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/fields/checkbox/checkbox.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/fields/checkboxgroup/checkboxgroup.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/base/chip/chip.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/base/codeviewer/codeviewer.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/fields/combobox/combobox.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/overlays/commandpalette/commandpalette.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/layout/container/container.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GridPlugin } from '../grid/grid.js';
|
|
2
|
+
export interface CellEditingOptions {
|
|
3
|
+
/** What starts editing with the pointer: a double click (default) or a single click. F2 and Enter always do. */
|
|
4
|
+
trigger?: 'dblclick' | 'click';
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Inline editing plugin. Events on the grid: `before-edit(record, field)` (cancelable), `edit(record, field, value, old)`
|
|
8
|
+
* after a valid value was written to the record (`record.set`, so it is marked modified), `edit-cancel(record, field)`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function cellEditing(options?: CellEditingOptions): GridPlugin;
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
export interface DataViewConfig extends ComponentConfig {
|
|
5
|
+
store?: Store<any>;
|
|
6
|
+
/** Used when no `store` is given. */
|
|
7
|
+
data?: Record<string, any>[];
|
|
8
|
+
/** What one item shows. Text is escaped; return a Node for markup. */
|
|
9
|
+
renderer: (rec: Model, index: number) => string | Node;
|
|
10
|
+
selection?: 'none' | 'single' | 'multi';
|
|
11
|
+
/** Minimum item width (CSS length): the columns adapt to the room there is. Default `10rem`. */
|
|
12
|
+
itemWidth?: string;
|
|
13
|
+
gap?: string;
|
|
14
|
+
itemCls?: (rec: Model) => string;
|
|
15
|
+
emptyText?: string;
|
|
16
|
+
/** Items enter one after the other (30 ms apart, motion rule 3) when the data loads, the page or filter changes. Default true. */
|
|
17
|
+
stagger?: boolean;
|
|
18
|
+
/** A Pagination bar bound to the store. */
|
|
19
|
+
paging?: boolean;
|
|
20
|
+
pageSize?: number;
|
|
21
|
+
}
|
|
22
|
+
/** A Store as a responsive grid of cards: selection, 2-D keyboard navigation, per-item actions and optional paging. */
|
|
23
|
+
export declare class DataView extends Component<DataViewConfig> {
|
|
24
|
+
protected baseCls: string;
|
|
25
|
+
private store;
|
|
26
|
+
private itemsEl;
|
|
27
|
+
private emptyEl;
|
|
28
|
+
private pager?;
|
|
29
|
+
private selected;
|
|
30
|
+
private active;
|
|
31
|
+
private anchor;
|
|
32
|
+
private offStore?;
|
|
33
|
+
protected build(): HTMLDivElement;
|
|
34
|
+
protected onRender(): void;
|
|
35
|
+
notifyMount(): void;
|
|
36
|
+
private bindStore;
|
|
37
|
+
setStore(store: Store<any>): void;
|
|
38
|
+
getStore(): Store<any>;
|
|
39
|
+
private paint;
|
|
40
|
+
/** Redraws the items (after a field of a record changed). */
|
|
41
|
+
refresh(): void;
|
|
42
|
+
private items;
|
|
43
|
+
private indexOf;
|
|
44
|
+
/** How many items fit in a row now (items that share the first one's top edge). */
|
|
45
|
+
columns(): number;
|
|
46
|
+
getSelection(): Model[];
|
|
47
|
+
select(target: Model | number, opts?: {
|
|
48
|
+
add?: boolean;
|
|
49
|
+
}): void;
|
|
50
|
+
selectAll(): void;
|
|
51
|
+
deselectAll(): void;
|
|
52
|
+
private changed;
|
|
53
|
+
private paintSelection;
|
|
54
|
+
/** Click semantics: plain = replace, Ctrl/⌘ = toggle, Shift = range from the anchor (multi only). */
|
|
55
|
+
private pick;
|
|
56
|
+
private onClick;
|
|
57
|
+
private setActive;
|
|
58
|
+
focusItem(i: number): void;
|
|
59
|
+
private onKey;
|
|
60
|
+
protected onDestroy(): void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Component, type ComponentConfig } from '../../../core/component.js';
|
|
2
|
+
import type { FilterGroup } from '../../../data/proxy.js';
|
|
3
|
+
import type { Store } from '../../../data/store.js';
|
|
4
|
+
export interface FilterField {
|
|
5
|
+
name: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
type?: 'text' | 'number' | 'date' | 'select';
|
|
8
|
+
/** Fields with the same group sit together in the field pickers (as columns do in the Grid's column menu). */
|
|
9
|
+
group?: string;
|
|
10
|
+
/** For `select`: the choices. */
|
|
11
|
+
options?: Array<string | number | {
|
|
12
|
+
value: string | number;
|
|
13
|
+
label: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface FilterBuilderConfig extends ComponentConfig {
|
|
17
|
+
fields: FilterField[];
|
|
18
|
+
/** Starting filters. */
|
|
19
|
+
value?: FilterGroup | null;
|
|
20
|
+
/** Filtered as the user edits (`live`) or when Apply is pressed. */
|
|
21
|
+
store?: Store<any>;
|
|
22
|
+
/** Apply on every edit (debounced). Default true. With `false` an Apply button appears. */
|
|
23
|
+
live?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* What "Add filter" does: `'row'` (default) adds an empty row for the first field; `'pick'` first asks
|
|
26
|
+
* which field to filter by (a menu of the fields, grouped by `group`, with a search field past 6 fields) and adds the row for it.
|
|
27
|
+
*/
|
|
28
|
+
addMode?: 'row' | 'pick';
|
|
29
|
+
/** Deepest group nesting allowed. Default 3. */
|
|
30
|
+
maxDepth?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A dynamic filter editor: rows of `field · operator · value` that accumulate below each other, joined by AND or OR,
|
|
34
|
+
* with nestable groups. The result is a `FilterGroup` for `Store.filter`.
|
|
35
|
+
*/
|
|
36
|
+
export declare class FilterBuilder extends Component<FilterBuilderConfig> {
|
|
37
|
+
protected baseCls: string;
|
|
38
|
+
private root;
|
|
39
|
+
private parts;
|
|
40
|
+
private nextId;
|
|
41
|
+
private cancelApply?;
|
|
42
|
+
private pickMenu?;
|
|
43
|
+
protected onRender(): void;
|
|
44
|
+
private fromNode;
|
|
45
|
+
private field;
|
|
46
|
+
private complete;
|
|
47
|
+
private toNode;
|
|
48
|
+
/** The complete rules as a filter tree (incomplete rows are left out); null when there is nothing to filter by. */
|
|
49
|
+
getFilter(): FilterGroup | null;
|
|
50
|
+
setFilter(filter: FilterGroup | null): void;
|
|
51
|
+
/** Removes every row and applies the empty filter. */
|
|
52
|
+
clear(): void;
|
|
53
|
+
/** Pushes the current filter to the store and fires `apply`. */
|
|
54
|
+
apply(): void;
|
|
55
|
+
/** Adds a row (optionally for a given field) to the root group. */
|
|
56
|
+
addRule(field?: string): void;
|
|
57
|
+
setFields(fields: FilterField[]): void;
|
|
58
|
+
setStore(store: Store<any> | undefined): void;
|
|
59
|
+
private newRule;
|
|
60
|
+
private changed;
|
|
61
|
+
/** Rebuilds the rows, keeping keyboard focus on the same control. */
|
|
62
|
+
private paint;
|
|
63
|
+
private button;
|
|
64
|
+
private select;
|
|
65
|
+
private group;
|
|
66
|
+
/** "Add filter" in `pick` mode: a menu of the fields; the chosen one gets the new row. */
|
|
67
|
+
private pick;
|
|
68
|
+
private removeBtn;
|
|
69
|
+
private rule;
|
|
70
|
+
private editor;
|
|
71
|
+
/** Registers an editor, labels its input, and makes Enter apply. */
|
|
72
|
+
private own1;
|
|
73
|
+
}
|