@soxa-ui/solid 0.0.0-stage → 0.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +266 -2
- package/dist/adapter/common/ResolvedSlot.d.ts +29 -0
- package/dist/adapter/common/ResolvedSlot.js +42 -0
- package/dist/adapter/common/click-action.d.ts +6 -0
- package/dist/adapter/common/click-action.js +11 -0
- package/dist/adapter/common/createSolidAdapterContext.d.ts +8 -0
- package/dist/adapter/common/createSolidAdapterContext.js +20 -0
- package/dist/adapter/common/handlers.d.ts +10 -0
- package/dist/adapter/common/handlers.js +10 -0
- package/dist/adapter/common/hydration.d.ts +23 -0
- package/dist/adapter/common/hydration.js +44 -0
- package/dist/adapter/common/icon.d.ts +9 -0
- package/dist/adapter/common/icon.js +28 -0
- package/dist/adapter/common/index.d.ts +9 -0
- package/dist/adapter/common/naming.d.ts +3 -0
- package/dist/adapter/common/naming.js +9 -0
- package/dist/adapter/common/profile.d.ts +3 -0
- package/dist/adapter/common/profile.js +9 -0
- package/dist/adapter/common/root.d.ts +96 -0
- package/dist/adapter/common/root.js +128 -0
- package/dist/adapter/common/slots.d.ts +30 -0
- package/dist/adapter/common/slots.js +75 -0
- package/dist/adapter/elevator/Elevate.d.ts +12 -0
- package/dist/adapter/elevator/Elevate.js +16 -0
- package/dist/adapter/elevator/elevator.class.d.ts +17 -0
- package/dist/adapter/elevator/elevator.class.js +27 -0
- package/dist/adapter/elevator/index.d.ts +4 -0
- package/dist/adapter/elevator/layer.d.ts +16 -0
- package/dist/adapter/elevator/layer.js +28 -0
- package/dist/adapter/elevator/useElevator.d.ts +13 -0
- package/dist/adapter/elevator/useElevator.js +19 -0
- package/dist/adapter/index.d.ts +5 -0
- package/dist/adapter/locale/LocaleProvider.d.ts +22 -0
- package/dist/adapter/locale/LocaleProvider.js +33 -0
- package/dist/adapter/locale/context.d.ts +4 -0
- package/dist/adapter/locale/context.js +9 -0
- package/dist/adapter/locale/index.d.ts +2 -0
- package/dist/adapter/runtime/KeyedFor.d.ts +14 -0
- package/dist/adapter/runtime/KeyedFor.js +54 -0
- package/dist/adapter/runtime/Root.d.ts +20 -0
- package/dist/adapter/runtime/Root.js +43 -0
- package/dist/adapter/runtime/Teleport.d.ts +14 -0
- package/dist/adapter/runtime/Teleport.js +45 -0
- package/dist/adapter/runtime/field-text.d.ts +22 -0
- package/dist/adapter/runtime/field-text.js +38 -0
- package/dist/adapter/runtime/flow.d.ts +34 -0
- package/dist/adapter/runtime/flow.js +70 -0
- package/dist/adapter/runtime/index.d.ts +8 -0
- package/dist/adapter/runtime/part-node.d.ts +38 -0
- package/dist/adapter/runtime/part-node.js +76 -0
- package/dist/adapter/runtime/state.d.ts +43 -0
- package/dist/adapter/runtime/state.js +116 -0
- package/dist/adapter/runtime/tag.d.ts +11 -0
- package/dist/adapter/runtime/tag.js +11 -0
- package/dist/adapter/runtime/useAdapter.d.ts +74 -0
- package/dist/adapter/runtime/useAdapter.js +110 -0
- package/dist/adapter/toasts/index.d.ts +3 -0
- package/dist/adapter/toasts/render.d.ts +3 -0
- package/dist/adapter/toasts/render.js +7 -0
- package/dist/adapter/toasts/types.d.ts +6 -0
- package/dist/adapter/toasts/useToasts.d.ts +8 -0
- package/dist/adapter/toasts/useToasts.js +15 -0
- package/dist/components/accordion/Accordion.d.ts +4 -0
- package/dist/components/accordion/Accordion.js +71 -0
- package/dist/components/accordion/base.component.d.ts +7 -0
- package/dist/components/accordion/index.d.ts +8 -0
- package/dist/components/accordion/index.js +9 -0
- package/dist/components/accordion/item/Item.d.ts +7 -0
- package/dist/components/accordion/item/Item.js +110 -0
- package/dist/components/accordion/item/base.component.d.ts +9 -0
- package/dist/components/accordion/item/index.d.ts +3 -0
- package/dist/components/accordion/item/setup.component.d.ts +39 -0
- package/dist/components/accordion/item/setup.component.js +24 -0
- package/dist/components/accordion/setup.component.d.ts +35 -0
- package/dist/components/accordion/setup.component.js +27 -0
- package/dist/components/button/Button.d.ts +12 -0
- package/dist/components/button/Button.js +59 -0
- package/dist/components/button/base.component.d.ts +8 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/setup.component.d.ts +22 -0
- package/dist/components/button/setup.component.js +13 -0
- package/dist/components/calendar/Calendar.d.ts +8 -0
- package/dist/components/calendar/Calendar.js +335 -0
- package/dist/components/calendar/base.component.d.ts +7 -0
- package/dist/components/calendar/index.d.ts +8 -0
- package/dist/components/calendar/index.js +9 -0
- package/dist/components/calendar/item/Item.d.ts +8 -0
- package/dist/components/calendar/item/Item.js +51 -0
- package/dist/components/calendar/item/base.component.d.ts +7 -0
- package/dist/components/calendar/item/index.d.ts +3 -0
- package/dist/components/calendar/item/setup.component.d.ts +13 -0
- package/dist/components/calendar/item/setup.component.js +21 -0
- package/dist/components/calendar/setup.component.d.ts +36 -0
- package/dist/components/calendar/setup.component.js +28 -0
- package/dist/components/check-box/CheckBox.d.ts +8 -0
- package/dist/components/check-box/CheckBox.js +97 -0
- package/dist/components/check-box/base.component.d.ts +8 -0
- package/dist/components/check-box/index.d.ts +3 -0
- package/dist/components/check-box/setup.component.d.ts +35 -0
- package/dist/components/check-box/setup.component.js +18 -0
- package/dist/components/component/base.component.d.ts +6 -0
- package/dist/components/component/index.d.ts +1 -0
- package/dist/components/component-view/ComponentView.d.ts +4 -0
- package/dist/components/component-view/ComponentView.js +43 -0
- package/dist/components/component-view/base.component.d.ts +6 -0
- package/dist/components/component-view/index.d.ts +3 -0
- package/dist/components/component-view/setup.component.d.ts +9 -0
- package/dist/components/component-view/setup.component.js +13 -0
- package/dist/components/control/base.component.d.ts +6 -0
- package/dist/components/control/index.d.ts +2 -0
- package/dist/components/control/setup.component.d.ts +22 -0
- package/dist/components/date-input/DateInput.d.ts +7 -0
- package/dist/components/date-input/DateInput.js +203 -0
- package/dist/components/date-input/base.component.d.ts +7 -0
- package/dist/components/date-input/index.d.ts +3 -0
- package/dist/components/date-input/setup.component.d.ts +36 -0
- package/dist/components/date-input/setup.component.js +19 -0
- package/dist/components/date-picker/DatePicker.d.ts +7 -0
- package/dist/components/date-picker/DatePicker.js +273 -0
- package/dist/components/date-picker/base.component.d.ts +7 -0
- package/dist/components/date-picker/index.d.ts +3 -0
- package/dist/components/date-picker/setup.component.d.ts +58 -0
- package/dist/components/date-picker/setup.component.js +26 -0
- package/dist/components/dialog/Dialog.d.ts +7 -0
- package/dist/components/dialog/Dialog.js +160 -0
- package/dist/components/dialog/base.component.d.ts +7 -0
- package/dist/components/dialog/index.d.ts +3 -0
- package/dist/components/dialog/setup.component.d.ts +29 -0
- package/dist/components/dialog/setup.component.js +13 -0
- package/dist/components/drag-and-drop/DragAndDrop.d.ts +4 -0
- package/dist/components/drag-and-drop/DragAndDrop.js +19 -0
- package/dist/components/drag-and-drop/base.component.d.ts +7 -0
- package/dist/components/drag-and-drop/index.d.ts +3 -0
- package/dist/components/drag-and-drop/setup.component.d.ts +11 -0
- package/dist/components/drag-and-drop/setup.component.js +21 -0
- package/dist/components/drawer/Drawer.d.ts +4 -0
- package/dist/components/drawer/Drawer.js +131 -0
- package/dist/components/drawer/base.component.d.ts +7 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/setup.component.d.ts +29 -0
- package/dist/components/drawer/setup.component.js +13 -0
- package/dist/components/field/Field.d.ts +4 -0
- package/dist/components/field/Field.js +112 -0
- package/dist/components/field/base.component.d.ts +6 -0
- package/dist/components/field/index.d.ts +3 -0
- package/dist/components/field/setup.component.d.ts +18 -0
- package/dist/components/field/setup.component.js +18 -0
- package/dist/components/frame/Frame.d.ts +4 -0
- package/dist/components/frame/Frame.js +54 -0
- package/dist/components/frame/base.component.d.ts +6 -0
- package/dist/components/frame/index.d.ts +3 -0
- package/dist/components/frame/setup.component.d.ts +33 -0
- package/dist/components/frame/setup.component.js +13 -0
- package/dist/components/icon/Icon.d.ts +7 -0
- package/dist/components/icon/Icon.js +38 -0
- package/dist/components/icon/base.component.d.ts +6 -0
- package/dist/components/icon/index.d.ts +3 -0
- package/dist/components/icon/setup.component.d.ts +19 -0
- package/dist/components/icon/setup.component.js +13 -0
- package/dist/components/index.d.ts +43 -0
- package/dist/components/input/Input.d.ts +8 -0
- package/dist/components/input/Input.js +159 -0
- package/dist/components/input/base.component.d.ts +8 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/setup.component.d.ts +35 -0
- package/dist/components/input/setup.component.js +18 -0
- package/dist/components/input-control/base.component.d.ts +7 -0
- package/dist/components/input-control/index.d.ts +2 -0
- package/dist/components/input-control/setup.component.d.ts +26 -0
- package/dist/components/interactive/base.component.d.ts +6 -0
- package/dist/components/interactive/index.d.ts +2 -0
- package/dist/components/interactive/setup.component.d.ts +9 -0
- package/dist/components/item-row/ItemRow.d.ts +13 -0
- package/dist/components/item-row/ItemRow.js +18 -0
- package/dist/components/item-row/index.d.ts +2 -0
- package/dist/components/item-row/setup.component.d.ts +22 -0
- package/dist/components/item-row/setup.component.js +13 -0
- package/dist/components/label/Label.d.ts +8 -0
- package/dist/components/label/Label.js +58 -0
- package/dist/components/label/base.component.d.ts +6 -0
- package/dist/components/label/index.d.ts +3 -0
- package/dist/components/label/setup.component.d.ts +9 -0
- package/dist/components/label/setup.component.js +13 -0
- package/dist/components/list-box/ListBox.d.ts +8 -0
- package/dist/components/list-box/ListBox.js +160 -0
- package/dist/components/list-box/base.component.d.ts +9 -0
- package/dist/components/list-box/group/Group.d.ts +4 -0
- package/dist/components/list-box/group/Group.js +63 -0
- package/dist/components/list-box/group/base.component.d.ts +7 -0
- package/dist/components/list-box/group/index.d.ts +3 -0
- package/dist/components/list-box/group/setup.component.d.ts +19 -0
- package/dist/components/list-box/group/setup.component.js +19 -0
- package/dist/components/list-box/index.d.ts +11 -0
- package/dist/components/list-box/index.js +14 -0
- package/dist/components/list-box/item/Item.d.ts +8 -0
- package/dist/components/list-box/item/Item.js +97 -0
- package/dist/components/list-box/item/base.component.d.ts +9 -0
- package/dist/components/list-box/item/index.d.ts +3 -0
- package/dist/components/list-box/item/setup.component.d.ts +42 -0
- package/dist/components/list-box/item/setup.component.js +25 -0
- package/dist/components/list-box/setup.component.d.ts +35 -0
- package/dist/components/list-box/setup.component.js +27 -0
- package/dist/components/menu/Menu.d.ts +8 -0
- package/dist/components/menu/Menu.js +97 -0
- package/dist/components/menu/base.component.d.ts +7 -0
- package/dist/components/menu/checkbox-item/CheckboxItem.d.ts +7 -0
- package/dist/components/menu/checkbox-item/CheckboxItem.js +98 -0
- package/dist/components/menu/checkbox-item/base.component.d.ts +9 -0
- package/dist/components/menu/checkbox-item/index.d.ts +3 -0
- package/dist/components/menu/checkbox-item/setup.component.d.ts +37 -0
- package/dist/components/menu/checkbox-item/setup.component.js +24 -0
- package/dist/components/menu/group/Group.d.ts +4 -0
- package/dist/components/menu/group/Group.js +63 -0
- package/dist/components/menu/group/base.component.d.ts +7 -0
- package/dist/components/menu/group/index.d.ts +3 -0
- package/dist/components/menu/group/setup.component.d.ts +18 -0
- package/dist/components/menu/group/setup.component.js +18 -0
- package/dist/components/menu/index.d.ts +29 -0
- package/dist/components/menu/index.js +32 -0
- package/dist/components/menu/item/Item.d.ts +7 -0
- package/dist/components/menu/item/Item.js +79 -0
- package/dist/components/menu/item/base.component.d.ts +9 -0
- package/dist/components/menu/item/index.d.ts +3 -0
- package/dist/components/menu/item/setup.component.d.ts +37 -0
- package/dist/components/menu/item/setup.component.js +24 -0
- package/dist/components/menu/popover-item/PopoverItem.d.ts +7 -0
- package/dist/components/menu/popover-item/PopoverItem.js +118 -0
- package/dist/components/menu/popover-item/base.component.d.ts +9 -0
- package/dist/components/menu/popover-item/index.d.ts +3 -0
- package/dist/components/menu/popover-item/setup.component.d.ts +48 -0
- package/dist/components/menu/popover-item/setup.component.js +24 -0
- package/dist/components/menu/radio-group/RadioGroup.d.ts +4 -0
- package/dist/components/menu/radio-group/RadioGroup.js +63 -0
- package/dist/components/menu/radio-group/base.component.d.ts +7 -0
- package/dist/components/menu/radio-group/index.d.ts +3 -0
- package/dist/components/menu/radio-group/setup.component.d.ts +18 -0
- package/dist/components/menu/radio-group/setup.component.js +18 -0
- package/dist/components/menu/radio-item/RadioItem.d.ts +4 -0
- package/dist/components/menu/radio-item/RadioItem.js +86 -0
- package/dist/components/menu/radio-item/base.component.d.ts +9 -0
- package/dist/components/menu/radio-item/index.d.ts +3 -0
- package/dist/components/menu/radio-item/setup.component.d.ts +37 -0
- package/dist/components/menu/radio-item/setup.component.js +24 -0
- package/dist/components/menu/separator/Separator.d.ts +4 -0
- package/dist/components/menu/separator/Separator.js +39 -0
- package/dist/components/menu/separator/base.component.d.ts +7 -0
- package/dist/components/menu/separator/index.d.ts +3 -0
- package/dist/components/menu/separator/setup.component.d.ts +9 -0
- package/dist/components/menu/separator/setup.component.js +13 -0
- package/dist/components/menu/setup.component.d.ts +29 -0
- package/dist/components/menu/setup.component.js +27 -0
- package/dist/components/menu/submenu/Submenu.d.ts +23 -0
- package/dist/components/menu/submenu/Submenu.js +240 -0
- package/dist/components/menu/submenu/base.component.d.ts +9 -0
- package/dist/components/menu/submenu/index.d.ts +3 -0
- package/dist/components/menu/submenu/setup.component.d.ts +54 -0
- package/dist/components/menu/submenu/setup.component.js +34 -0
- package/dist/components/number-input/NumberInput.d.ts +8 -0
- package/dist/components/number-input/NumberInput.js +220 -0
- package/dist/components/number-input/base.component.d.ts +8 -0
- package/dist/components/number-input/index.d.ts +3 -0
- package/dist/components/number-input/setup.component.d.ts +35 -0
- package/dist/components/number-input/setup.component.js +18 -0
- package/dist/components/pagination/Pagination.d.ts +4 -0
- package/dist/components/pagination/Pagination.js +155 -0
- package/dist/components/pagination/base.component.d.ts +7 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/item/Item.d.ts +4 -0
- package/dist/components/pagination/item/Item.js +63 -0
- package/dist/components/pagination/item/base.component.d.ts +7 -0
- package/dist/components/pagination/item/index.d.ts +3 -0
- package/dist/components/pagination/item/setup.component.d.ts +22 -0
- package/dist/components/pagination/item/setup.component.js +24 -0
- package/dist/components/pagination/setup.component.d.ts +35 -0
- package/dist/components/pagination/setup.component.js +27 -0
- package/dist/components/popover/Popover.d.ts +7 -0
- package/dist/components/popover/Popover.js +120 -0
- package/dist/components/popover/base.component.d.ts +7 -0
- package/dist/components/popover/index.d.ts +3 -0
- package/dist/components/popover/setup.component.d.ts +24 -0
- package/dist/components/popover/setup.component.js +13 -0
- package/dist/components/progress-linear/ProgressLinear.d.ts +4 -0
- package/dist/components/progress-linear/ProgressLinear.js +44 -0
- package/dist/components/progress-linear/base.component.d.ts +6 -0
- package/dist/components/progress-linear/index.d.ts +3 -0
- package/dist/components/progress-linear/setup.component.d.ts +17 -0
- package/dist/components/progress-linear/setup.component.js +13 -0
- package/dist/components/progress-spinner/ProgressSpinner.d.ts +4 -0
- package/dist/components/progress-spinner/ProgressSpinner.js +44 -0
- package/dist/components/progress-spinner/base.component.d.ts +6 -0
- package/dist/components/progress-spinner/index.d.ts +3 -0
- package/dist/components/progress-spinner/setup.component.d.ts +17 -0
- package/dist/components/progress-spinner/setup.component.js +13 -0
- package/dist/components/radio-group/RadioGroup.d.ts +4 -0
- package/dist/components/radio-group/RadioGroup.js +70 -0
- package/dist/components/radio-group/base.component.d.ts +7 -0
- package/dist/components/radio-group/index.d.ts +8 -0
- package/dist/components/radio-group/index.js +9 -0
- package/dist/components/radio-group/item/Item.d.ts +7 -0
- package/dist/components/radio-group/item/Item.js +87 -0
- package/dist/components/radio-group/item/base.component.d.ts +9 -0
- package/dist/components/radio-group/item/index.d.ts +3 -0
- package/dist/components/radio-group/item/setup.component.d.ts +35 -0
- package/dist/components/radio-group/item/setup.component.js +24 -0
- package/dist/components/radio-group/setup.component.d.ts +35 -0
- package/dist/components/radio-group/setup.component.js +27 -0
- package/dist/components/rating/Rating.d.ts +7 -0
- package/dist/components/rating/Rating.js +99 -0
- package/dist/components/rating/base.component.d.ts +7 -0
- package/dist/components/rating/index.d.ts +3 -0
- package/dist/components/rating/setup.component.d.ts +35 -0
- package/dist/components/rating/setup.component.js +18 -0
- package/dist/components/scroller/Scroller.d.ts +11 -0
- package/dist/components/scroller/Scroller.js +106 -0
- package/dist/components/scroller/base.component.d.ts +7 -0
- package/dist/components/scroller/index.d.ts +3 -0
- package/dist/components/scroller/setup.component.d.ts +22 -0
- package/dist/components/scroller/setup.component.js +13 -0
- package/dist/components/select/Select.d.ts +8 -0
- package/dist/components/select/Select.js +269 -0
- package/dist/components/select/base.component.d.ts +9 -0
- package/dist/components/select/group/Group.d.ts +4 -0
- package/dist/components/select/group/Group.js +63 -0
- package/dist/components/select/group/base.component.d.ts +7 -0
- package/dist/components/select/group/index.d.ts +3 -0
- package/dist/components/select/group/setup.component.d.ts +18 -0
- package/dist/components/select/group/setup.component.js +18 -0
- package/dist/components/select/index.d.ts +11 -0
- package/dist/components/select/index.js +14 -0
- package/dist/components/select/item/Item.d.ts +9 -0
- package/dist/components/select/item/Item.js +94 -0
- package/dist/components/select/item/base.component.d.ts +9 -0
- package/dist/components/select/item/index.d.ts +3 -0
- package/dist/components/select/item/setup.component.d.ts +41 -0
- package/dist/components/select/item/setup.component.js +24 -0
- package/dist/components/select/setup.component.d.ts +55 -0
- package/dist/components/select/setup.component.js +28 -0
- package/dist/components/skeleton/Skeleton.d.ts +7 -0
- package/dist/components/skeleton/Skeleton.js +46 -0
- package/dist/components/skeleton/base.component.d.ts +6 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/setup.component.d.ts +11 -0
- package/dist/components/skeleton/setup.component.js +13 -0
- package/dist/components/slider/Slider.d.ts +7 -0
- package/dist/components/slider/Slider.js +149 -0
- package/dist/components/slider/base.component.d.ts +7 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/setup.component.d.ts +31 -0
- package/dist/components/slider/setup.component.js +18 -0
- package/dist/components/stylable/base.component.d.ts +6 -0
- package/dist/components/stylable/index.d.ts +2 -0
- package/dist/components/stylable/setup.component.d.ts +9 -0
- package/dist/components/switch/Switch.d.ts +4 -0
- package/dist/components/switch/Switch.js +89 -0
- package/dist/components/switch/base.component.d.ts +8 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/setup.component.d.ts +35 -0
- package/dist/components/switch/setup.component.js +18 -0
- package/dist/components/table/Table.d.ts +8 -0
- package/dist/components/table/Table.js +178 -0
- package/dist/components/table/base.component.d.ts +7 -0
- package/dist/components/table/column/Column.d.ts +7 -0
- package/dist/components/table/column/Column.js +110 -0
- package/dist/components/table/column/base.component.d.ts +7 -0
- package/dist/components/table/column/index.d.ts +3 -0
- package/dist/components/table/column/setup.component.d.ts +22 -0
- package/dist/components/table/column/setup.component.js +20 -0
- package/dist/components/table/index.d.ts +11 -0
- package/dist/components/table/index.js +14 -0
- package/dist/components/table/row/Cells.d.ts +17 -0
- package/dist/components/table/row/Cells.js +61 -0
- package/dist/components/table/row/Row.d.ts +7 -0
- package/dist/components/table/row/Row.js +80 -0
- package/dist/components/table/row/base.component.d.ts +7 -0
- package/dist/components/table/row/index.d.ts +3 -0
- package/dist/components/table/row/setup.component.d.ts +23 -0
- package/dist/components/table/row/setup.component.js +25 -0
- package/dist/components/table/setup.component.d.ts +39 -0
- package/dist/components/table/setup.component.js +29 -0
- package/dist/components/tabs/Tabs.d.ts +10 -0
- package/dist/components/tabs/Tabs.js +104 -0
- package/dist/components/tabs/base.component.d.ts +9 -0
- package/dist/components/tabs/content/Content.d.ts +4 -0
- package/dist/components/tabs/content/Content.js +39 -0
- package/dist/components/tabs/content/base.component.d.ts +7 -0
- package/dist/components/tabs/content/index.d.ts +3 -0
- package/dist/components/tabs/content/setup.component.d.ts +18 -0
- package/dist/components/tabs/content/setup.component.js +22 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/index.js +14 -0
- package/dist/components/tabs/item/Item.d.ts +8 -0
- package/dist/components/tabs/item/Item.js +115 -0
- package/dist/components/tabs/item/base.component.d.ts +9 -0
- package/dist/components/tabs/item/index.d.ts +3 -0
- package/dist/components/tabs/item/setup.component.d.ts +39 -0
- package/dist/components/tabs/item/setup.component.js +24 -0
- package/dist/components/tabs/setup.component.d.ts +35 -0
- package/dist/components/tabs/setup.component.js +27 -0
- package/dist/components/tags/Tags.d.ts +7 -0
- package/dist/components/tags/Tags.js +76 -0
- package/dist/components/tags/base.component.d.ts +7 -0
- package/dist/components/tags/index.d.ts +8 -0
- package/dist/components/tags/index.js +9 -0
- package/dist/components/tags/item/Item.d.ts +9 -0
- package/dist/components/tags/item/Item.js +118 -0
- package/dist/components/tags/item/base.component.d.ts +9 -0
- package/dist/components/tags/item/index.d.ts +3 -0
- package/dist/components/tags/item/setup.component.d.ts +35 -0
- package/dist/components/tags/item/setup.component.js +24 -0
- package/dist/components/tags/setup.component.d.ts +35 -0
- package/dist/components/tags/setup.component.js +27 -0
- package/dist/components/textable/base.component.d.ts +6 -0
- package/dist/components/textable/index.d.ts +2 -0
- package/dist/components/textable/setup.component.d.ts +22 -0
- package/dist/components/textarea/Textarea.d.ts +4 -0
- package/dist/components/textarea/Textarea.js +84 -0
- package/dist/components/textarea/base.component.d.ts +8 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/setup.component.d.ts +28 -0
- package/dist/components/textarea/setup.component.js +15 -0
- package/dist/components/toasts/Toasts.d.ts +7 -0
- package/dist/components/toasts/Toasts.js +85 -0
- package/dist/components/toasts/base.component.d.ts +7 -0
- package/dist/components/toasts/index.d.ts +3 -0
- package/dist/components/toasts/item/Item.d.ts +7 -0
- package/dist/components/toasts/item/Item.js +122 -0
- package/dist/components/toasts/item/base.component.d.ts +7 -0
- package/dist/components/toasts/item/index.d.ts +3 -0
- package/dist/components/toasts/item/setup.component.d.ts +13 -0
- package/dist/components/toasts/item/setup.component.js +21 -0
- package/dist/components/toasts/setup.component.d.ts +24 -0
- package/dist/components/toasts/setup.component.js +27 -0
- package/dist/components/tooltip/Tooltip.d.ts +4 -0
- package/dist/components/tooltip/Tooltip.js +60 -0
- package/dist/components/tooltip/base.component.d.ts +7 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/setup.component.d.ts +16 -0
- package/dist/components/tooltip/setup.component.js +13 -0
- package/dist/components/value-control/base.component.d.ts +7 -0
- package/dist/components/value-control/index.d.ts +2 -0
- package/dist/components/value-control/setup.component.d.ts +22 -0
- package/dist/components/virtual/Virtual.d.ts +4 -0
- package/dist/components/virtual/Virtual.js +19 -0
- package/dist/components/virtual/base.component.d.ts +7 -0
- package/dist/components/virtual/index.d.ts +3 -0
- package/dist/components/virtual/setup.component.d.ts +11 -0
- package/dist/components/virtual/setup.component.js +21 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +60 -0
- package/dist/source/adapter/common/ResolvedSlot.jsx +31 -0
- package/dist/source/adapter/common/click-action.js +8 -0
- package/dist/source/adapter/common/createSolidAdapterContext.js +18 -0
- package/dist/source/adapter/common/handlers.js +13 -0
- package/dist/source/adapter/common/hydration.js +42 -0
- package/dist/source/adapter/common/icon.jsx +19 -0
- package/dist/source/adapter/common/index.js +9 -0
- package/dist/source/adapter/common/naming.js +6 -0
- package/dist/source/adapter/common/profile.js +3 -0
- package/dist/source/adapter/common/root.js +113 -0
- package/dist/source/adapter/common/slots.js +74 -0
- package/dist/source/adapter/elevator/Elevate.jsx +11 -0
- package/dist/source/adapter/elevator/elevator.class.js +25 -0
- package/dist/source/adapter/elevator/index.js +3 -0
- package/dist/source/adapter/elevator/layer.js +25 -0
- package/dist/source/adapter/elevator/useElevator.js +16 -0
- package/dist/source/adapter/index.js +5 -0
- package/dist/source/adapter/locale/LocaleProvider.jsx +24 -0
- package/dist/source/adapter/locale/context.js +6 -0
- package/dist/source/adapter/locale/index.js +1 -0
- package/dist/source/adapter/runtime/KeyedFor.jsx +60 -0
- package/dist/source/adapter/runtime/Root.jsx +51 -0
- package/dist/source/adapter/runtime/Teleport.jsx +28 -0
- package/dist/source/adapter/runtime/field-text.js +44 -0
- package/dist/source/adapter/runtime/flow.js +74 -0
- package/dist/source/adapter/runtime/index.js +8 -0
- package/dist/source/adapter/runtime/part-node.js +82 -0
- package/dist/source/adapter/runtime/state.js +127 -0
- package/dist/source/adapter/runtime/tag.js +10 -0
- package/dist/source/adapter/runtime/useAdapter.js +116 -0
- package/dist/source/adapter/toasts/index.js +2 -0
- package/dist/source/adapter/toasts/render.js +4 -0
- package/dist/source/adapter/toasts/types.js +1 -0
- package/dist/source/adapter/toasts/useToasts.js +14 -0
- package/dist/source/components/accordion/Accordion.jsx +27 -0
- package/dist/source/components/accordion/base.component.js +1 -0
- package/dist/source/components/accordion/index.js +7 -0
- package/dist/source/components/accordion/item/Item.jsx +51 -0
- package/dist/source/components/accordion/item/base.component.js +1 -0
- package/dist/source/components/accordion/item/index.js +3 -0
- package/dist/source/components/accordion/item/setup.component.js +13 -0
- package/dist/source/components/accordion/setup.component.js +15 -0
- package/dist/source/components/button/Button.jsx +27 -0
- package/dist/source/components/button/base.component.js +1 -0
- package/dist/source/components/button/index.js +3 -0
- package/dist/source/components/button/setup.component.js +6 -0
- package/dist/source/components/calendar/Calendar.jsx +115 -0
- package/dist/source/components/calendar/base.component.js +1 -0
- package/dist/source/components/calendar/index.js +7 -0
- package/dist/source/components/calendar/item/Item.jsx +23 -0
- package/dist/source/components/calendar/item/base.component.js +1 -0
- package/dist/source/components/calendar/item/index.js +3 -0
- package/dist/source/components/calendar/item/setup.component.js +13 -0
- package/dist/source/components/calendar/setup.component.js +17 -0
- package/dist/source/components/check-box/CheckBox.jsx +52 -0
- package/dist/source/components/check-box/base.component.js +1 -0
- package/dist/source/components/check-box/index.js +3 -0
- package/dist/source/components/check-box/setup.component.js +10 -0
- package/dist/source/components/component/base.component.js +1 -0
- package/dist/source/components/component/index.js +1 -0
- package/dist/source/components/component-view/ComponentView.jsx +18 -0
- package/dist/source/components/component-view/base.component.js +1 -0
- package/dist/source/components/component-view/index.js +3 -0
- package/dist/source/components/component-view/setup.component.js +9 -0
- package/dist/source/components/control/base.component.js +1 -0
- package/dist/source/components/control/index.js +2 -0
- package/dist/source/components/control/setup.component.js +6 -0
- package/dist/source/components/date-input/DateInput.jsx +78 -0
- package/dist/source/components/date-input/base.component.js +1 -0
- package/dist/source/components/date-input/index.js +3 -0
- package/dist/source/components/date-input/setup.component.js +11 -0
- package/dist/source/components/date-picker/DatePicker.jsx +86 -0
- package/dist/source/components/date-picker/base.component.js +1 -0
- package/dist/source/components/date-picker/index.js +3 -0
- package/dist/source/components/date-picker/setup.component.js +21 -0
- package/dist/source/components/dialog/Dialog.jsx +67 -0
- package/dist/source/components/dialog/base.component.js +1 -0
- package/dist/source/components/dialog/index.js +3 -0
- package/dist/source/components/dialog/setup.component.js +6 -0
- package/dist/source/components/drag-and-drop/DragAndDrop.jsx +7 -0
- package/dist/source/components/drag-and-drop/base.component.js +1 -0
- package/dist/source/components/drag-and-drop/index.js +3 -0
- package/dist/source/components/drag-and-drop/setup.component.js +12 -0
- package/dist/source/components/drawer/Drawer.jsx +52 -0
- package/dist/source/components/drawer/base.component.js +1 -0
- package/dist/source/components/drawer/index.js +3 -0
- package/dist/source/components/drawer/setup.component.js +6 -0
- package/dist/source/components/field/Field.jsx +48 -0
- package/dist/source/components/field/base.component.js +1 -0
- package/dist/source/components/field/index.js +3 -0
- package/dist/source/components/field/setup.component.js +10 -0
- package/dist/source/components/frame/Frame.jsx +20 -0
- package/dist/source/components/frame/base.component.js +1 -0
- package/dist/source/components/frame/index.js +3 -0
- package/dist/source/components/frame/setup.component.js +6 -0
- package/dist/source/components/icon/Icon.jsx +19 -0
- package/dist/source/components/icon/base.component.js +1 -0
- package/dist/source/components/icon/index.js +3 -0
- package/dist/source/components/icon/setup.component.js +6 -0
- package/dist/source/components/index.js +43 -0
- package/dist/source/components/input/Input.jsx +60 -0
- package/dist/source/components/input/base.component.js +1 -0
- package/dist/source/components/input/index.js +3 -0
- package/dist/source/components/input/setup.component.js +10 -0
- package/dist/source/components/input-control/base.component.js +1 -0
- package/dist/source/components/input-control/index.js +2 -0
- package/dist/source/components/input-control/setup.component.js +6 -0
- package/dist/source/components/interactive/base.component.js +1 -0
- package/dist/source/components/interactive/index.js +2 -0
- package/dist/source/components/interactive/setup.component.js +6 -0
- package/dist/source/components/item-row/ItemRow.jsx +15 -0
- package/dist/source/components/item-row/index.js +2 -0
- package/dist/source/components/item-row/setup.component.js +6 -0
- package/dist/source/components/label/Label.jsx +24 -0
- package/dist/source/components/label/base.component.js +1 -0
- package/dist/source/components/label/index.js +3 -0
- package/dist/source/components/label/setup.component.js +6 -0
- package/dist/source/components/list-box/ListBox.jsx +70 -0
- package/dist/source/components/list-box/base.component.js +1 -0
- package/dist/source/components/list-box/group/Group.jsx +24 -0
- package/dist/source/components/list-box/group/base.component.js +1 -0
- package/dist/source/components/list-box/group/index.js +3 -0
- package/dist/source/components/list-box/group/setup.component.js +11 -0
- package/dist/source/components/list-box/index.js +9 -0
- package/dist/source/components/list-box/item/Item.jsx +45 -0
- package/dist/source/components/list-box/item/base.component.js +1 -0
- package/dist/source/components/list-box/item/index.js +3 -0
- package/dist/source/components/list-box/item/setup.component.js +11 -0
- package/dist/source/components/list-box/setup.component.js +16 -0
- package/dist/source/components/menu/Menu.jsx +38 -0
- package/dist/source/components/menu/base.component.js +1 -0
- package/dist/source/components/menu/checkbox-item/CheckboxItem.jsx +39 -0
- package/dist/source/components/menu/checkbox-item/base.component.js +1 -0
- package/dist/source/components/menu/checkbox-item/index.js +3 -0
- package/dist/source/components/menu/checkbox-item/setup.component.js +13 -0
- package/dist/source/components/menu/group/Group.jsx +24 -0
- package/dist/source/components/menu/group/base.component.js +1 -0
- package/dist/source/components/menu/group/index.js +3 -0
- package/dist/source/components/menu/group/setup.component.js +10 -0
- package/dist/source/components/menu/index.js +30 -0
- package/dist/source/components/menu/item/Item.jsx +29 -0
- package/dist/source/components/menu/item/base.component.js +1 -0
- package/dist/source/components/menu/item/index.js +3 -0
- package/dist/source/components/menu/item/setup.component.js +10 -0
- package/dist/source/components/menu/popover-item/PopoverItem.jsx +41 -0
- package/dist/source/components/menu/popover-item/base.component.js +1 -0
- package/dist/source/components/menu/popover-item/index.js +3 -0
- package/dist/source/components/menu/popover-item/setup.component.js +13 -0
- package/dist/source/components/menu/radio-group/RadioGroup.jsx +24 -0
- package/dist/source/components/menu/radio-group/base.component.js +1 -0
- package/dist/source/components/menu/radio-group/index.js +3 -0
- package/dist/source/components/menu/radio-group/setup.component.js +12 -0
- package/dist/source/components/menu/radio-item/RadioItem.jsx +33 -0
- package/dist/source/components/menu/radio-item/base.component.js +1 -0
- package/dist/source/components/menu/radio-item/index.js +3 -0
- package/dist/source/components/menu/radio-item/setup.component.js +13 -0
- package/dist/source/components/menu/separator/Separator.jsx +16 -0
- package/dist/source/components/menu/separator/base.component.js +1 -0
- package/dist/source/components/menu/separator/index.js +3 -0
- package/dist/source/components/menu/separator/setup.component.js +9 -0
- package/dist/source/components/menu/setup.component.js +13 -0
- package/dist/source/components/menu/submenu/Submenu.jsx +74 -0
- package/dist/source/components/menu/submenu/base.component.js +1 -0
- package/dist/source/components/menu/submenu/index.js +3 -0
- package/dist/source/components/menu/submenu/setup.component.js +20 -0
- package/dist/source/components/number-input/NumberInput.jsx +75 -0
- package/dist/source/components/number-input/base.component.js +1 -0
- package/dist/source/components/number-input/index.js +3 -0
- package/dist/source/components/number-input/setup.component.js +10 -0
- package/dist/source/components/pagination/Pagination.jsx +56 -0
- package/dist/source/components/pagination/base.component.js +1 -0
- package/dist/source/components/pagination/index.js +3 -0
- package/dist/source/components/pagination/item/Item.jsx +27 -0
- package/dist/source/components/pagination/item/base.component.js +1 -0
- package/dist/source/components/pagination/item/index.js +3 -0
- package/dist/source/components/pagination/item/setup.component.js +13 -0
- package/dist/source/components/pagination/setup.component.js +16 -0
- package/dist/source/components/popover/Popover.jsx +50 -0
- package/dist/source/components/popover/base.component.js +1 -0
- package/dist/source/components/popover/index.js +3 -0
- package/dist/source/components/popover/setup.component.js +6 -0
- package/dist/source/components/progress-linear/ProgressLinear.jsx +20 -0
- package/dist/source/components/progress-linear/base.component.js +1 -0
- package/dist/source/components/progress-linear/index.js +3 -0
- package/dist/source/components/progress-linear/setup.component.js +9 -0
- package/dist/source/components/progress-spinner/ProgressSpinner.jsx +27 -0
- package/dist/source/components/progress-spinner/base.component.js +1 -0
- package/dist/source/components/progress-spinner/index.js +3 -0
- package/dist/source/components/progress-spinner/setup.component.js +9 -0
- package/dist/source/components/radio-group/RadioGroup.jsx +25 -0
- package/dist/source/components/radio-group/base.component.js +1 -0
- package/dist/source/components/radio-group/index.js +7 -0
- package/dist/source/components/radio-group/item/Item.jsx +38 -0
- package/dist/source/components/radio-group/item/base.component.js +1 -0
- package/dist/source/components/radio-group/item/index.js +3 -0
- package/dist/source/components/radio-group/item/setup.component.js +13 -0
- package/dist/source/components/radio-group/setup.component.js +16 -0
- package/dist/source/components/rating/Rating.jsx +44 -0
- package/dist/source/components/rating/base.component.js +1 -0
- package/dist/source/components/rating/index.js +3 -0
- package/dist/source/components/rating/setup.component.js +10 -0
- package/dist/source/components/scroller/Scroller.jsx +40 -0
- package/dist/source/components/scroller/base.component.js +1 -0
- package/dist/source/components/scroller/index.js +3 -0
- package/dist/source/components/scroller/setup.component.js +6 -0
- package/dist/source/components/select/Select.jsx +92 -0
- package/dist/source/components/select/base.component.js +1 -0
- package/dist/source/components/select/group/Group.jsx +24 -0
- package/dist/source/components/select/group/base.component.js +1 -0
- package/dist/source/components/select/group/index.js +3 -0
- package/dist/source/components/select/group/setup.component.js +10 -0
- package/dist/source/components/select/index.js +9 -0
- package/dist/source/components/select/item/Item.jsx +45 -0
- package/dist/source/components/select/item/base.component.js +1 -0
- package/dist/source/components/select/item/index.js +3 -0
- package/dist/source/components/select/item/setup.component.js +10 -0
- package/dist/source/components/select/setup.component.js +22 -0
- package/dist/source/components/skeleton/Skeleton.jsx +22 -0
- package/dist/source/components/skeleton/base.component.js +1 -0
- package/dist/source/components/skeleton/index.js +3 -0
- package/dist/source/components/skeleton/setup.component.js +6 -0
- package/dist/source/components/slider/Slider.jsx +57 -0
- package/dist/source/components/slider/base.component.js +1 -0
- package/dist/source/components/slider/index.js +3 -0
- package/dist/source/components/slider/setup.component.js +10 -0
- package/dist/source/components/stylable/base.component.js +1 -0
- package/dist/source/components/stylable/index.js +2 -0
- package/dist/source/components/stylable/setup.component.js +6 -0
- package/dist/source/components/switch/Switch.jsx +31 -0
- package/dist/source/components/switch/base.component.js +1 -0
- package/dist/source/components/switch/index.js +3 -0
- package/dist/source/components/switch/setup.component.js +10 -0
- package/dist/source/components/table/Table.jsx +74 -0
- package/dist/source/components/table/base.component.js +1 -0
- package/dist/source/components/table/column/Column.jsx +47 -0
- package/dist/source/components/table/column/base.component.js +1 -0
- package/dist/source/components/table/column/index.js +3 -0
- package/dist/source/components/table/column/setup.component.js +10 -0
- package/dist/source/components/table/index.js +9 -0
- package/dist/source/components/table/row/Cells.jsx +49 -0
- package/dist/source/components/table/row/Row.jsx +27 -0
- package/dist/source/components/table/row/base.component.js +1 -0
- package/dist/source/components/table/row/index.js +3 -0
- package/dist/source/components/table/row/setup.component.js +11 -0
- package/dist/source/components/table/setup.component.js +20 -0
- package/dist/source/components/tabs/Tabs.jsx +50 -0
- package/dist/source/components/tabs/base.component.js +1 -0
- package/dist/source/components/tabs/content/Content.jsx +18 -0
- package/dist/source/components/tabs/content/base.component.js +1 -0
- package/dist/source/components/tabs/content/index.js +3 -0
- package/dist/source/components/tabs/content/setup.component.js +14 -0
- package/dist/source/components/tabs/index.js +9 -0
- package/dist/source/components/tabs/item/Item.jsx +47 -0
- package/dist/source/components/tabs/item/base.component.js +1 -0
- package/dist/source/components/tabs/item/index.js +3 -0
- package/dist/source/components/tabs/item/setup.component.js +10 -0
- package/dist/source/components/tabs/setup.component.js +15 -0
- package/dist/source/components/tags/Tags.jsx +30 -0
- package/dist/source/components/tags/base.component.js +1 -0
- package/dist/source/components/tags/index.js +7 -0
- package/dist/source/components/tags/item/Item.jsx +47 -0
- package/dist/source/components/tags/item/base.component.js +1 -0
- package/dist/source/components/tags/item/index.js +3 -0
- package/dist/source/components/tags/item/setup.component.js +10 -0
- package/dist/source/components/tags/setup.component.js +13 -0
- package/dist/source/components/textable/base.component.js +1 -0
- package/dist/source/components/textable/index.js +2 -0
- package/dist/source/components/textable/setup.component.js +6 -0
- package/dist/source/components/textarea/Textarea.jsx +27 -0
- package/dist/source/components/textarea/base.component.js +1 -0
- package/dist/source/components/textarea/index.js +3 -0
- package/dist/source/components/textarea/setup.component.js +10 -0
- package/dist/source/components/toasts/Toasts.jsx +33 -0
- package/dist/source/components/toasts/base.component.js +1 -0
- package/dist/source/components/toasts/index.js +3 -0
- package/dist/source/components/toasts/item/Item.jsx +64 -0
- package/dist/source/components/toasts/item/base.component.js +1 -0
- package/dist/source/components/toasts/item/index.js +3 -0
- package/dist/source/components/toasts/item/setup.component.js +13 -0
- package/dist/source/components/toasts/setup.component.js +15 -0
- package/dist/source/components/tooltip/Tooltip.jsx +24 -0
- package/dist/source/components/tooltip/base.component.js +1 -0
- package/dist/source/components/tooltip/index.js +3 -0
- package/dist/source/components/tooltip/setup.component.js +6 -0
- package/dist/source/components/value-control/base.component.js +1 -0
- package/dist/source/components/value-control/index.js +2 -0
- package/dist/source/components/value-control/setup.component.js +6 -0
- package/dist/source/components/virtual/Virtual.jsx +7 -0
- package/dist/source/components/virtual/base.component.js +1 -0
- package/dist/source/components/virtual/index.js +3 -0
- package/dist/source/components/virtual/setup.component.js +12 -0
- package/dist/source/index.js +5 -0
- package/dist/source/types.js +1 -0
- package/dist/types.d.ts +42 -0
- package/package.json +56 -4
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useAdapter — binds an adapter context to Solid, the counterpart of Vue's
|
|
3
|
+
* `useAdapter`.
|
|
4
|
+
*
|
|
5
|
+
* - state is shallow, a signal per property read (`createShallowState`),
|
|
6
|
+
* filled by the subscription to the binding;
|
|
7
|
+
* - inputs: an effect over all props, the binding writes the changed ones;
|
|
8
|
+
* - the component body runs once, on the server too: that is the acceptance
|
|
9
|
+
* (`attach()`), and the cleanup is `onCleanup`;
|
|
10
|
+
* - events go to the `onXxx` callback props, after the acceptance, until
|
|
11
|
+
* `detach`.
|
|
12
|
+
*
|
|
13
|
+
* The adapter's `ref` binds the root to `TElementPlugin` and hands the same
|
|
14
|
+
* node to the consumer's `ref`. A collection has two contexts: the facade is
|
|
15
|
+
* bound by `useCollectionAdapter`, before the component, and `joinBindings`
|
|
16
|
+
* joins it with the component's binding. AGENTS.md (Solid), «Связка».
|
|
17
|
+
*/
|
|
18
|
+
import { type Accessor } from 'solid-js';
|
|
19
|
+
import type { IAdapterContext, IComponentContract, TAdapterState } from '@soxa-ui/setup';
|
|
20
|
+
import { type TJoinedState } from './state';
|
|
21
|
+
/**
|
|
22
|
+
* The consumer's `ref` gets the component's root: a function, or a variable
|
|
23
|
+
* the Solid compiler turns into one. The node is an `Element`: the root can be
|
|
24
|
+
* an `<svg>`.
|
|
25
|
+
*/
|
|
26
|
+
export type TConsumerRef = Element | ((element: Element) => void);
|
|
27
|
+
export type TBinding<C extends IComponentContract = IComponentContract, TProps extends object = object> = {
|
|
28
|
+
readonly ctrl: C['instance'];
|
|
29
|
+
readonly state: TAdapterState<C>;
|
|
30
|
+
/** A memo: the attributes the binding did not take. */
|
|
31
|
+
forwardProps: () => Partial<TProps>;
|
|
32
|
+
/** The bound root; `null` unrendered or removed. The panel's anchor (`anchor_anchor`). */
|
|
33
|
+
rootElement: Accessor<Element | null>;
|
|
34
|
+
/** The root's callback ref: binds to `TElementPlugin`, then calls the consumer's `ref`. */
|
|
35
|
+
ref: (el: Element) => void;
|
|
36
|
+
/** Only the binding: for a root inside a wrapper (the table's window). */
|
|
37
|
+
bindRef: (el: Element) => void;
|
|
38
|
+
/** Only the consumer's `ref`: for the root's wrapper. */
|
|
39
|
+
consumerRef: (el: Element) => void;
|
|
40
|
+
};
|
|
41
|
+
/** The binding of a collection facade: it has no `ctrl` and no `ref` of its own. */
|
|
42
|
+
export type TCollectionBinding<TState extends object, TProps extends object = object> = {
|
|
43
|
+
readonly state: TState;
|
|
44
|
+
/** The attributes the facade leaves; `joinBindings` passes it the component's rest. */
|
|
45
|
+
forward: (props: Partial<TProps>) => Partial<TProps>;
|
|
46
|
+
};
|
|
47
|
+
/** What `joinBindings` takes of a binding it joins the facades with. */
|
|
48
|
+
type TJoinable<TProps extends object> = {
|
|
49
|
+
readonly state: object;
|
|
50
|
+
forwardProps: () => Partial<TProps>;
|
|
51
|
+
};
|
|
52
|
+
/** A component's binding joined with a facade: state as one view, attributes from the facade. */
|
|
53
|
+
export type TJoinedBinding<TOwner extends TJoinable<TProps>, TFacadeState extends object, TProps extends object> = Omit<TOwner, 'state' | 'forwardProps'> & {
|
|
54
|
+
readonly state: TJoinedState<TOwner['state'], TFacadeState>;
|
|
55
|
+
forwardProps: () => Partial<TProps>;
|
|
56
|
+
};
|
|
57
|
+
export declare function useAdapter<C extends IComponentContract, TProps extends object>(adapter: IAdapterContext<C>, props: TProps): TBinding<C, TProps>;
|
|
58
|
+
/**
|
|
59
|
+
* The adapter of a collection facade: the facade takes its inputs and events
|
|
60
|
+
* from `props` and leaves the attributes that are not its own (`forward`).
|
|
61
|
+
* No `ctrl` and no `ref`: `joinBindings` joins the facade with the
|
|
62
|
+
* component's binding. Bound before the component: the facade, accepted,
|
|
63
|
+
* writes into it, and that is its starting state.
|
|
64
|
+
*/
|
|
65
|
+
export declare function useCollectionAdapter<C extends IComponentContract, TProps extends object>(adapter: IAdapterContext<C>, props: TProps): TCollectionBinding<TAdapterState<C>, TProps>;
|
|
66
|
+
/**
|
|
67
|
+
* The binding of a component with its facades — one, for the markup: the
|
|
68
|
+
* state of all of them as one view (`joinState`), the attributes of the last
|
|
69
|
+
* facade (each takes its own from the rest of the previous one, the first —
|
|
70
|
+
* from the component's), the rest — the component's.
|
|
71
|
+
*/
|
|
72
|
+
export declare function joinBindings<TProps extends object, TOwner extends TJoinable<TProps>, TFacade extends object>(owner: TOwner, facade: TCollectionBinding<TFacade, TProps>): TJoinedBinding<TOwner, TFacade, TProps>;
|
|
73
|
+
export declare function joinBindings<TProps extends object, TOwner extends TJoinable<TProps>, TFacade extends object, TOwnerFacade extends object>(owner: TOwner, facade: TCollectionBinding<TFacade, TProps>, ownerFacade: TCollectionBinding<TOwnerFacade, TProps>): TJoinedBinding<TJoinedBinding<TOwner, TFacade, TProps>, TOwnerFacade, TProps>;
|
|
74
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { SolidProfile } from "../common/profile.js";
|
|
2
|
+
import { createShallowState, joinState } from "./state.js";
|
|
3
|
+
import { toInstanceState } from "@soxa-ui/setup";
|
|
4
|
+
import { createComputed, createEffect, createMemo, createSignal, getOwner, onCleanup, onMount, runWithOwner } from "solid-js";
|
|
5
|
+
//#region src/adapter/runtime/useAdapter.ts
|
|
6
|
+
/**
|
|
7
|
+
* useAdapter — binds an adapter context to Solid, the counterpart of Vue's
|
|
8
|
+
* `useAdapter`.
|
|
9
|
+
*
|
|
10
|
+
* - state is shallow, a signal per property read (`createShallowState`),
|
|
11
|
+
* filled by the subscription to the binding;
|
|
12
|
+
* - inputs: an effect over all props, the binding writes the changed ones;
|
|
13
|
+
* - the component body runs once, on the server too: that is the acceptance
|
|
14
|
+
* (`attach()`), and the cleanup is `onCleanup`;
|
|
15
|
+
* - events go to the `onXxx` callback props, after the acceptance, until
|
|
16
|
+
* `detach`.
|
|
17
|
+
*
|
|
18
|
+
* The adapter's `ref` binds the root to `TElementPlugin` and hands the same
|
|
19
|
+
* node to the consumer's `ref`. A collection has two contexts: the facade is
|
|
20
|
+
* bound by `useCollectionAdapter`, before the component, and `joinBindings`
|
|
21
|
+
* joins it with the component's binding. AGENTS.md (Solid), «Связка».
|
|
22
|
+
*/
|
|
23
|
+
/** What the component and a facade share: exchange, state, inputs, acceptance, events, cleanup. */
|
|
24
|
+
function useExchange(adapter, props) {
|
|
25
|
+
const binding = adapter.connect(SolidProfile);
|
|
26
|
+
const [state, write, updates] = createShallowState();
|
|
27
|
+
onCleanup(binding.updates.listen(updates));
|
|
28
|
+
onCleanup(binding.state.subscribe(write));
|
|
29
|
+
createEffect(() => binding.inputs.full(props));
|
|
30
|
+
adapter.attach();
|
|
31
|
+
const stop = binding.events.listen((exportName, args) => {
|
|
32
|
+
const callback = Reflect.get(props, exportName);
|
|
33
|
+
if (typeof callback === "function") callback(...args);
|
|
34
|
+
});
|
|
35
|
+
adapter.events.on("detach", stop);
|
|
36
|
+
onCleanup(stop);
|
|
37
|
+
detachFirst(adapter);
|
|
38
|
+
onCleanup(() => adapter.destroy());
|
|
39
|
+
return {
|
|
40
|
+
binding,
|
|
41
|
+
state
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Sends `detach` at the teardown's first moment: the consumer hears nothing
|
|
46
|
+
* from then on, as in the other adapters (benchmarks/parity/README.md). Solid
|
|
47
|
+
* cleans an owner's computations first, the last made first, and its cleanups
|
|
48
|
+
* after them, so the children (markup items leaving the collection with an
|
|
49
|
+
* ever shorter list, the root's unbinding) went before `onCleanup` of the
|
|
50
|
+
* component's body. A computation made on mount, when the children already
|
|
51
|
+
* exist, is the owner's last one, and its cleanup is the first of the
|
|
52
|
+
* teardown. Before the mount, and on the server, where effects do not run,
|
|
53
|
+
* `onCleanup(stop)` unsubscribes and `destroy` detaches.
|
|
54
|
+
*/
|
|
55
|
+
function detachFirst(adapter) {
|
|
56
|
+
const owner = getOwner();
|
|
57
|
+
onMount(() => runWithOwner(owner, () => createComputed(() => onCleanup(() => adapter.detach()))));
|
|
58
|
+
}
|
|
59
|
+
function useAdapter(adapter, props) {
|
|
60
|
+
const { binding, state } = useExchange(adapter, props);
|
|
61
|
+
const forwardProps = createMemo(() => binding.forward(props));
|
|
62
|
+
const [rootElement, setRootElement] = createSignal(null);
|
|
63
|
+
const bindRef = (el) => {
|
|
64
|
+
adapter.bindElement(el);
|
|
65
|
+
setRootElement(el);
|
|
66
|
+
onCleanup(() => {
|
|
67
|
+
adapter.bindElement(null);
|
|
68
|
+
setRootElement(null);
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
const consumerRef = (el) => {
|
|
72
|
+
const consumer = Reflect.get(props, "ref");
|
|
73
|
+
if (typeof consumer === "function") consumer(el);
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
ctrl: adapter.instance,
|
|
77
|
+
state: toInstanceState(state),
|
|
78
|
+
forwardProps,
|
|
79
|
+
rootElement,
|
|
80
|
+
bindRef,
|
|
81
|
+
consumerRef,
|
|
82
|
+
ref(el) {
|
|
83
|
+
bindRef(el);
|
|
84
|
+
consumerRef(el);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The adapter of a collection facade: the facade takes its inputs and events
|
|
90
|
+
* from `props` and leaves the attributes that are not its own (`forward`).
|
|
91
|
+
* No `ctrl` and no `ref`: `joinBindings` joins the facade with the
|
|
92
|
+
* component's binding. Bound before the component: the facade, accepted,
|
|
93
|
+
* writes into it, and that is its starting state.
|
|
94
|
+
*/
|
|
95
|
+
function useCollectionAdapter(adapter, props) {
|
|
96
|
+
const { binding, state } = useExchange(adapter, props);
|
|
97
|
+
return {
|
|
98
|
+
state: toInstanceState(state),
|
|
99
|
+
forward: (rest) => binding.forward(rest)
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function joinBindings(owner, ...facades) {
|
|
103
|
+
return {
|
|
104
|
+
...owner,
|
|
105
|
+
state: facades.reduce((state, facade) => joinState(state, facade.state), owner.state),
|
|
106
|
+
forwardProps: createMemo(() => facades.reduce((rest, facade) => facade.forward(rest), owner.forwardProps()))
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { joinBindings, useAdapter, useCollectionAdapter };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IToastsApi } from '@soxa-ui/core';
|
|
2
|
+
import type { TToastRender } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* API тостов ближайшего `<Toasts>`: `const { show } = useToasts()`. Берётся
|
|
5
|
+
* лифтом из слоя, который компонент видит в теле, — поэтому зовётся в теле
|
|
6
|
+
* компонента под менеджером. Менеджера нет — ошибка, а не молчаливый `show`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useToasts(): IToastsApi<TToastRender>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useElevator } from "../elevator/useElevator.js";
|
|
2
|
+
import { TOASTS_ELEVATOR } from "@soxa-ui/setup";
|
|
3
|
+
//#region src/adapter/toasts/useToasts.ts
|
|
4
|
+
/**
|
|
5
|
+
* API тостов ближайшего `<Toasts>`: `const { show } = useToasts()`. Берётся
|
|
6
|
+
* лифтом из слоя, который компонент видит в теле, — поэтому зовётся в теле
|
|
7
|
+
* компонента под менеджером. Менеджера нет — ошибка, а не молчаливый `show`.
|
|
8
|
+
*/
|
|
9
|
+
function useToasts() {
|
|
10
|
+
const api = useElevator().elevator(TOASTS_ELEVATOR).up();
|
|
11
|
+
if (!api) throw new Error("useToasts(): выше по дереву нет <Toasts>. Оберните приложение менеджером: <Toasts><App /></Toasts>");
|
|
12
|
+
return api;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { useToasts };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { relaySlot, renderSlot } from "../../adapter/common/slots.js";
|
|
2
|
+
import { For, Show } from "../../adapter/runtime/flow.js";
|
|
3
|
+
import { ResolvedSlot } from "../../adapter/common/ResolvedSlot.js";
|
|
4
|
+
import { createRootProps } from "../../adapter/common/root.js";
|
|
5
|
+
import { Elevate } from "../../adapter/elevator/Elevate.js";
|
|
6
|
+
import { AccordionItem } from "./item/Item.js";
|
|
7
|
+
import { setupAccordion } from "./setup.component.js";
|
|
8
|
+
import { createComponent, insert, mergeProps, spread, template, use } from "solid-js/web";
|
|
9
|
+
//#region src/components/accordion/Accordion.tsx
|
|
10
|
+
var _tmpl$ = /*#__PURE__*/ template(`<div>`);
|
|
11
|
+
/** Набор раскрывающихся секций: секции — содержимое или `shown`. */
|
|
12
|
+
function Accordion(props) {
|
|
13
|
+
const binding = setupAccordion(props);
|
|
14
|
+
const state = binding.state;
|
|
15
|
+
const root = createRootProps(() => ({
|
|
16
|
+
state,
|
|
17
|
+
sets: [state.attrs],
|
|
18
|
+
forward: binding.forwardProps()
|
|
19
|
+
}));
|
|
20
|
+
return createComponent(Show, {
|
|
21
|
+
get when() {
|
|
22
|
+
return state.rendered;
|
|
23
|
+
},
|
|
24
|
+
get children() {
|
|
25
|
+
var _el$ = _tmpl$();
|
|
26
|
+
var _ref$ = binding.ref;
|
|
27
|
+
typeof _ref$ === "function" ? use(_ref$, _el$) : binding.ref = _el$;
|
|
28
|
+
spread(_el$, mergeProps(root), false, true);
|
|
29
|
+
insert(_el$, createComponent(Elevate, {
|
|
30
|
+
get layer() {
|
|
31
|
+
return binding.layer;
|
|
32
|
+
},
|
|
33
|
+
get children() {
|
|
34
|
+
return createComponent(ResolvedSlot, {
|
|
35
|
+
get content() {
|
|
36
|
+
return props.children;
|
|
37
|
+
},
|
|
38
|
+
get fallback() {
|
|
39
|
+
return createComponent(For, {
|
|
40
|
+
get each() {
|
|
41
|
+
return state.shown;
|
|
42
|
+
},
|
|
43
|
+
children: (item) => createComponent(AccordionItem, {
|
|
44
|
+
ctrl: item,
|
|
45
|
+
get ["arrow-icon"]() {
|
|
46
|
+
return renderSlot(props["item-arrow-icon"], { item });
|
|
47
|
+
},
|
|
48
|
+
get leading() {
|
|
49
|
+
return renderSlot(props["item-leading"], { item });
|
|
50
|
+
},
|
|
51
|
+
get header() {
|
|
52
|
+
return relaySlot(props.item, { item });
|
|
53
|
+
},
|
|
54
|
+
get trailing() {
|
|
55
|
+
return renderSlot(props["item-trailing"], { item });
|
|
56
|
+
},
|
|
57
|
+
get children() {
|
|
58
|
+
return renderSlot(props["item-content"], { item });
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
return _el$;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { Accordion };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IAccordion } from '@soxa-ui/core';
|
|
2
|
+
import type { AccordionCollectionDescriptor, AccordionDescriptor } from '@soxa-ui/setup';
|
|
3
|
+
import type { EventProps, UseDomProps } from '../../types';
|
|
4
|
+
/** События Accordion — свои и фасада коллекции. */
|
|
5
|
+
export type AccordionEventProps = EventProps<typeof AccordionDescriptor> & EventProps<typeof AccordionCollectionDescriptor>;
|
|
6
|
+
/** Пропсы Accordion; входы коллекции (`engine`, `items`, `mode`, `trackBy`) — в ядре. */
|
|
7
|
+
export type AccordionProps = UseDomProps<typeof AccordionDescriptor, IAccordion, AccordionEventProps>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Accordion as AccordionComponent } from './Accordion';
|
|
2
|
+
import { AccordionItem } from './item';
|
|
3
|
+
export * from './base.component';
|
|
4
|
+
export { setupAccordion } from './setup.component';
|
|
5
|
+
export * from './item';
|
|
6
|
+
export declare const Accordion: typeof AccordionComponent & {
|
|
7
|
+
Item: typeof AccordionItem;
|
|
8
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./item/setup.component.js";
|
|
2
|
+
import { AccordionItem } from "./item/Item.js";
|
|
3
|
+
import "./setup.component.js";
|
|
4
|
+
import { Accordion as Accordion$1 } from "./Accordion.js";
|
|
5
|
+
import { withParts } from "@soxa-ui/setup";
|
|
6
|
+
//#region src/components/accordion/index.ts
|
|
7
|
+
var Accordion = withParts(Accordion$1, { Item: AccordionItem });
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Accordion };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { JSX } from 'solid-js';
|
|
2
|
+
import type { AccordionItemProps } from './base.component';
|
|
3
|
+
/**
|
|
4
|
+
* Секция: заголовок — Button с `aria`, панель — узел с набором `contentAria`. Класс
|
|
5
|
+
* стрелки — на обёртке, а не на иконке: тема поворачивает и подменённую слотом.
|
|
6
|
+
*/
|
|
7
|
+
export declare function AccordionItem(props: AccordionItemProps): JSX.Element;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { renderSlot, resolveSlot } from "../../../adapter/common/slots.js";
|
|
2
|
+
import { Show } from "../../../adapter/runtime/flow.js";
|
|
3
|
+
import { clickAction } from "../../../adapter/common/click-action.js";
|
|
4
|
+
import { createPartProps, createRootProps, toControlAttrs, toRootForward } from "../../../adapter/common/root.js";
|
|
5
|
+
import { roleIcon } from "../../../adapter/common/icon.js";
|
|
6
|
+
import { Root } from "../../../adapter/runtime/Root.js";
|
|
7
|
+
import { Button } from "../../button/Button.js";
|
|
8
|
+
import { Icon } from "../../icon/Icon.js";
|
|
9
|
+
import { setupAccordionItem } from "./setup.component.js";
|
|
10
|
+
import { createComponent, insert, memo, mergeProps, spread, template } from "solid-js/web";
|
|
11
|
+
//#region src/components/accordion/item/Item.tsx
|
|
12
|
+
var _tmpl$ = /*#__PURE__*/ template(`<span class=so-accordion-item__arrow>`);
|
|
13
|
+
var _tmpl$2 = /*#__PURE__*/ template(`<div class=so-accordion-item__body><div class=so-accordion-item__content>`);
|
|
14
|
+
/** Стрелка без слота — иконка по роли. */
|
|
15
|
+
var ARROW = roleIcon("arrowRight");
|
|
16
|
+
/**
|
|
17
|
+
* Секция: заголовок — Button с `aria`, панель — узел с набором `contentAria`. Класс
|
|
18
|
+
* стрелки — на обёртке, а не на иконке: тема поворачивает и подменённую слотом.
|
|
19
|
+
*/
|
|
20
|
+
function AccordionItem(props) {
|
|
21
|
+
const binding = setupAccordionItem(props);
|
|
22
|
+
const state = binding.state;
|
|
23
|
+
const context = binding.context;
|
|
24
|
+
const root = createRootProps(() => ({
|
|
25
|
+
state,
|
|
26
|
+
sets: [state.dataset, state.attrs],
|
|
27
|
+
forward: toRootForward(binding.forwardProps())
|
|
28
|
+
}));
|
|
29
|
+
const contentAria = createPartProps(() => state.contentAria);
|
|
30
|
+
const title = resolveSlot(() => props.header, () => ({
|
|
31
|
+
item: binding.ctrl,
|
|
32
|
+
text: state.text ?? "",
|
|
33
|
+
selected: state.selected ?? false
|
|
34
|
+
}));
|
|
35
|
+
const arrowIcon = resolveSlot(() => props["arrow-icon"], () => ({ item: binding.ctrl }));
|
|
36
|
+
/** The header's attributes: all of the consumer's but the class and the style. */
|
|
37
|
+
const header = () => toControlAttrs(binding.forwardProps());
|
|
38
|
+
const toggle = clickAction(() => context?.adapters.selection.toggle());
|
|
39
|
+
/** Стрелка стороны: слот, а без него — иконка, если стрелка на этой стороне. */
|
|
40
|
+
const arrow = (side, icon) => createComponent(Show, {
|
|
41
|
+
get when() {
|
|
42
|
+
return state.arrowPlacement === side;
|
|
43
|
+
},
|
|
44
|
+
get children() {
|
|
45
|
+
var _el$ = _tmpl$();
|
|
46
|
+
insert(_el$, () => icon() ?? createComponent(Icon, {
|
|
47
|
+
embedded: "accordion.arrow",
|
|
48
|
+
tag: ARROW,
|
|
49
|
+
get size() {
|
|
50
|
+
return state.size;
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
return _el$;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return createComponent(Show, {
|
|
57
|
+
get when() {
|
|
58
|
+
return state.rendered;
|
|
59
|
+
},
|
|
60
|
+
get children() {
|
|
61
|
+
return createComponent(Root, {
|
|
62
|
+
get tag() {
|
|
63
|
+
return state.tag;
|
|
64
|
+
},
|
|
65
|
+
attributes: root,
|
|
66
|
+
ref(r$) {
|
|
67
|
+
var _ref$ = binding.ref;
|
|
68
|
+
typeof _ref$ === "function" ? _ref$(r$) : binding.ref = r$;
|
|
69
|
+
},
|
|
70
|
+
get children() {
|
|
71
|
+
return [createComponent(Button, mergeProps({
|
|
72
|
+
embedded: "accordion.header",
|
|
73
|
+
type: "button",
|
|
74
|
+
"class": "so-accordion-item__header",
|
|
75
|
+
get view() {
|
|
76
|
+
return state.view;
|
|
77
|
+
},
|
|
78
|
+
get disabled() {
|
|
79
|
+
return state.disabled;
|
|
80
|
+
},
|
|
81
|
+
get size() {
|
|
82
|
+
return state.size;
|
|
83
|
+
},
|
|
84
|
+
get variant() {
|
|
85
|
+
return state.variant;
|
|
86
|
+
}
|
|
87
|
+
}, () => state.aria, header, {
|
|
88
|
+
ref: toggle,
|
|
89
|
+
get leading() {
|
|
90
|
+
return [memo(() => arrow("start", arrowIcon)), memo(() => renderSlot(props.leading, { item: binding.ctrl }))];
|
|
91
|
+
},
|
|
92
|
+
get trailing() {
|
|
93
|
+
return [memo(() => renderSlot(props.trailing, { item: binding.ctrl })), memo(() => arrow("end", arrowIcon))];
|
|
94
|
+
},
|
|
95
|
+
get children() {
|
|
96
|
+
return title() ?? state.text;
|
|
97
|
+
}
|
|
98
|
+
})), (() => {
|
|
99
|
+
var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
|
|
100
|
+
spread(_el$3, mergeProps(contentAria), false, true);
|
|
101
|
+
insert(_el$3, () => renderSlot(props.children, { item: binding.ctrl }));
|
|
102
|
+
return _el$2;
|
|
103
|
+
})()];
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { AccordionItem };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IAccordionItem } from '@soxa-ui/core';
|
|
2
|
+
import type { AccordionCollectionItemDescriptor, AccordionItemDescriptor } from '@soxa-ui/setup';
|
|
3
|
+
import type { EventProps, TDomAttributes, UseDomProps } from '../../../types';
|
|
4
|
+
/** События секции — свои и фасада: раскрытость, порядок, вид. */
|
|
5
|
+
export type AccordionItemEventProps = EventProps<typeof AccordionItemDescriptor> & EventProps<typeof AccordionCollectionItemDescriptor>;
|
|
6
|
+
/** Атрибуты секции: класс и стиль — корню, остальное — заголовку. */
|
|
7
|
+
export type AccordionItemAttributes = TDomAttributes<typeof AccordionItemDescriptor, AccordionItemEventProps>;
|
|
8
|
+
/** Пропсы секции; членство в коллекции (`selected` — раскрыта) — в `IAccordionItemProps`. */
|
|
9
|
+
export type AccordionItemProps = UseDomProps<typeof AccordionItemDescriptor, IAccordionItem, AccordionItemEventProps>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { AccordionItemProps } from './base.component';
|
|
2
|
+
export declare function setupAccordionItem(props: AccordionItemProps): {
|
|
3
|
+
context: import("@soxa-ui/core").TItemContext<import("@soxa-ui/core").IAccordionItem<import("@soxa-ui/core").IAccordionItemProps, import("@soxa-ui/core").TAccordionItemEvents>, import("@soxa-ui/core").TAccordionCollectionExtensions> | undefined;
|
|
4
|
+
ref: (el: Element) => void;
|
|
5
|
+
rootElement: import("solid-js").Accessor<Element | null>;
|
|
6
|
+
ctrl: object & import("@soxa-ui/core").IAccordionItem<import("@soxa-ui/core").IAccordionItemProps, import("@soxa-ui/core").TAccordionItemEvents>;
|
|
7
|
+
bindRef: (el: Element) => void;
|
|
8
|
+
consumerRef: (el: Element) => void;
|
|
9
|
+
state: import("../../../adapter").TJoinedState<import("@soxa-ui/setup").TAdapterState<import("@soxa-ui/setup").TContextContract<import("@soxa-ui/core").IAccordionItem<import("@soxa-ui/core").IAccordionItemProps, import("@soxa-ui/core").TAccordionItemEvents>, {
|
|
10
|
+
props: object & {} & {} & {} & {
|
|
11
|
+
aria_label?: string | undefined;
|
|
12
|
+
aria_labelledBy?: string | undefined;
|
|
13
|
+
aria_describedBy?: string | undefined;
|
|
14
|
+
} & {} & {
|
|
15
|
+
id?: string | undefined;
|
|
16
|
+
} & {};
|
|
17
|
+
events: object & {
|
|
18
|
+
"element:ready": (element: Element) => void;
|
|
19
|
+
"element:removed": () => void;
|
|
20
|
+
} & {} & {
|
|
21
|
+
"action:click": (event: MouseEvent) => void;
|
|
22
|
+
"action:press": (event: MouseEvent) => void;
|
|
23
|
+
"action:focus": (event: FocusEvent) => void;
|
|
24
|
+
"action:blur": (event: FocusEvent) => void;
|
|
25
|
+
} & {
|
|
26
|
+
"aria:change:label": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
27
|
+
"aria:change:labelledBy": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
28
|
+
"aria:change:describedBy": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
29
|
+
} & {
|
|
30
|
+
"change:id": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
31
|
+
} & {};
|
|
32
|
+
outputs: object & {} & {} & {} & {} & {} & {} & {};
|
|
33
|
+
}>>, import("@soxa-ui/setup").TAdapterState<import("@soxa-ui/setup").TContextContract<import("@soxa-ui/core").TAccordionItemCollectionFacade, {
|
|
34
|
+
props: object;
|
|
35
|
+
events: object;
|
|
36
|
+
outputs: object;
|
|
37
|
+
}>>>;
|
|
38
|
+
forwardProps: () => Partial<AccordionItemProps>;
|
|
39
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createSolidAdapterContext } from "../../../adapter/common/createSolidAdapterContext.js";
|
|
2
|
+
import { joinBindings, useAdapter, useCollectionAdapter } from "../../../adapter/runtime/useAdapter.js";
|
|
3
|
+
import { useElevator } from "../../../adapter/elevator/useElevator.js";
|
|
4
|
+
import { AccordionCollectionItemDescriptor, AccordionItemDescriptor, TCollectionItemExtension } from "@soxa-ui/setup";
|
|
5
|
+
//#region src/components/accordion/item/setup.component.ts
|
|
6
|
+
function setupAccordionItem(props) {
|
|
7
|
+
const { elevator } = useElevator();
|
|
8
|
+
const adapter = createSolidAdapterContext(AccordionItemDescriptor(), {
|
|
9
|
+
ctrl: props.ctrl,
|
|
10
|
+
props
|
|
11
|
+
});
|
|
12
|
+
const item = createSolidAdapterContext(AccordionCollectionItemDescriptor(), { props }, { bundle: adapter.bundle }).use(TCollectionItemExtension, {
|
|
13
|
+
adapter,
|
|
14
|
+
elevator
|
|
15
|
+
});
|
|
16
|
+
const itemBinding = useCollectionAdapter(item, props);
|
|
17
|
+
const owner = useAdapter(adapter, props);
|
|
18
|
+
return {
|
|
19
|
+
...joinBindings(owner, itemBinding),
|
|
20
|
+
context: item.instance.context
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { setupAccordionItem };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { AccordionProps } from './base.component';
|
|
2
|
+
export declare function setupAccordion(props: AccordionProps): {
|
|
3
|
+
layer: import("../../adapter").TElevatorLayer;
|
|
4
|
+
ref: (el: Element) => void;
|
|
5
|
+
rootElement: import("solid-js").Accessor<Element | null>;
|
|
6
|
+
ctrl: object & import("@soxa-ui/core").IAccordion;
|
|
7
|
+
bindRef: (el: Element) => void;
|
|
8
|
+
consumerRef: (el: Element) => void;
|
|
9
|
+
state: import("../../adapter").TJoinedState<import("@soxa-ui/setup").TAdapterState<import("@soxa-ui/setup").TContextContract<import("@soxa-ui/core").IAccordion, {
|
|
10
|
+
props: object & {} & {} & {} & {
|
|
11
|
+
aria_label?: string | undefined;
|
|
12
|
+
aria_labelledBy?: string | undefined;
|
|
13
|
+
aria_describedBy?: string | undefined;
|
|
14
|
+
} & {} & {} & {} & {};
|
|
15
|
+
events: object & {
|
|
16
|
+
"element:ready": (element: Element) => void;
|
|
17
|
+
"element:removed": () => void;
|
|
18
|
+
} & {} & {
|
|
19
|
+
"action:click": (event: MouseEvent) => void;
|
|
20
|
+
"action:press": (event: MouseEvent) => void;
|
|
21
|
+
"action:focus": (event: FocusEvent) => void;
|
|
22
|
+
"action:blur": (event: FocusEvent) => void;
|
|
23
|
+
} & {
|
|
24
|
+
"aria:change:label": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
25
|
+
"aria:change:labelledBy": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
26
|
+
"aria:change:describedBy": (payload: import("@soxa-ui/core").TValuePayload<string | undefined>) => void;
|
|
27
|
+
} & {} & {} & {};
|
|
28
|
+
outputs: object & {} & {} & {} & {} & {} & {} & {} & {};
|
|
29
|
+
}>>, import("@soxa-ui/setup").TAdapterState<import("@soxa-ui/setup").TContextContract<import("@soxa-ui/core").TAccordionCollectionFacade, {
|
|
30
|
+
props: object;
|
|
31
|
+
events: object;
|
|
32
|
+
outputs: object;
|
|
33
|
+
}>>>;
|
|
34
|
+
forwardProps: () => Partial<AccordionProps>;
|
|
35
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createSolidAdapterContext } from "../../adapter/common/createSolidAdapterContext.js";
|
|
2
|
+
import { joinBindings, useAdapter, useCollectionAdapter } from "../../adapter/runtime/useAdapter.js";
|
|
3
|
+
import { useElevator } from "../../adapter/elevator/useElevator.js";
|
|
4
|
+
import { AccordionCollectionDescriptor, AccordionDescriptor, TCollectionExtension, TDragAndDropCollectionExtension } from "@soxa-ui/setup";
|
|
5
|
+
//#region src/components/accordion/setup.component.ts
|
|
6
|
+
function setupAccordion(props) {
|
|
7
|
+
const { elevator, layer } = useElevator();
|
|
8
|
+
const adapter = createSolidAdapterContext(AccordionDescriptor(), {
|
|
9
|
+
ctrl: props.ctrl,
|
|
10
|
+
props
|
|
11
|
+
});
|
|
12
|
+
const collectionAdapter = createSolidAdapterContext(AccordionCollectionDescriptor(), {
|
|
13
|
+
props,
|
|
14
|
+
options: {
|
|
15
|
+
owner: adapter.instance,
|
|
16
|
+
engine: props.engine
|
|
17
|
+
}
|
|
18
|
+
}, { bundle: adapter.bundle }).use(TCollectionExtension, { elevator }).use(TDragAndDropCollectionExtension, { elevator });
|
|
19
|
+
const collectionBinding = useCollectionAdapter(collectionAdapter, props);
|
|
20
|
+
const owner = useAdapter(adapter, props);
|
|
21
|
+
return {
|
|
22
|
+
...joinBindings(owner, collectionBinding),
|
|
23
|
+
layer
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { setupAccordion };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { JSX } from 'solid-js';
|
|
2
|
+
import { setupButton } from './setup.component';
|
|
3
|
+
import type { ButtonProps } from './base.component';
|
|
4
|
+
/** Кнопка: на месте незаданного `children` — текст из ядра. */
|
|
5
|
+
export declare function Button(props: ButtonProps): JSX.Element;
|
|
6
|
+
/** Что разметке кнопки нужно от её связки. */
|
|
7
|
+
export type TButtonBinding = Pick<ReturnType<typeof setupButton>, 'ref' | 'forwardProps' | 'state'>;
|
|
8
|
+
/**
|
|
9
|
+
* Разметка кнопки по её связке. Одна на Button и строку элемента коллекции
|
|
10
|
+
* (`ItemRow`): у них разная сборка, а разметка та же.
|
|
11
|
+
*/
|
|
12
|
+
export declare function renderButton(binding: TButtonBinding, props: ButtonProps): JSX.Element;
|