@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
package/dist/index.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { roleIcon } from "./adapter/common/icon.js";
|
|
2
|
+
import { LocaleProvider } from "./adapter/locale/LocaleProvider.js";
|
|
3
|
+
import { useToasts } from "./adapter/toasts/useToasts.js";
|
|
4
|
+
import { ComponentView } from "./components/component-view/ComponentView.js";
|
|
5
|
+
import { Button } from "./components/button/Button.js";
|
|
6
|
+
import { Icon } from "./components/icon/Icon.js";
|
|
7
|
+
import { Label } from "./components/label/Label.js";
|
|
8
|
+
import { Field } from "./components/field/Field.js";
|
|
9
|
+
import { Frame } from "./components/frame/Frame.js";
|
|
10
|
+
import { Popover } from "./components/popover/Popover.js";
|
|
11
|
+
import { Tooltip } from "./components/tooltip/Tooltip.js";
|
|
12
|
+
import { Dialog } from "./components/dialog/Dialog.js";
|
|
13
|
+
import { Drawer } from "./components/drawer/Drawer.js";
|
|
14
|
+
import { ProgressSpinner } from "./components/progress-spinner/ProgressSpinner.js";
|
|
15
|
+
import { Toasts } from "./components/toasts/Toasts.js";
|
|
16
|
+
import { MenuGroup } from "./components/menu/group/Group.js";
|
|
17
|
+
import { MenuItem } from "./components/menu/item/Item.js";
|
|
18
|
+
import { MenuSeparator } from "./components/menu/separator/Separator.js";
|
|
19
|
+
import { MenuSubmenu } from "./components/menu/submenu/Submenu.js";
|
|
20
|
+
import { MenuCheckboxItem } from "./components/menu/checkbox-item/CheckboxItem.js";
|
|
21
|
+
import { MenuRadioItem } from "./components/menu/radio-item/RadioItem.js";
|
|
22
|
+
import { MenuPopoverItem } from "./components/menu/popover-item/PopoverItem.js";
|
|
23
|
+
import { MenuRadioGroup } from "./components/menu/radio-group/RadioGroup.js";
|
|
24
|
+
import { Menu } from "./components/menu/index.js";
|
|
25
|
+
import { ProgressLinear } from "./components/progress-linear/ProgressLinear.js";
|
|
26
|
+
import { Skeleton } from "./components/skeleton/Skeleton.js";
|
|
27
|
+
import { Input } from "./components/input/Input.js";
|
|
28
|
+
import { NumberInput } from "./components/number-input/NumberInput.js";
|
|
29
|
+
import { DateInput } from "./components/date-input/DateInput.js";
|
|
30
|
+
import { Textarea } from "./components/textarea/Textarea.js";
|
|
31
|
+
import { CheckBox } from "./components/check-box/CheckBox.js";
|
|
32
|
+
import { Switch } from "./components/switch/Switch.js";
|
|
33
|
+
import { Slider } from "./components/slider/Slider.js";
|
|
34
|
+
import { Rating } from "./components/rating/Rating.js";
|
|
35
|
+
import { RadioGroupItem } from "./components/radio-group/item/Item.js";
|
|
36
|
+
import { RadioGroup } from "./components/radio-group/index.js";
|
|
37
|
+
import { ListBoxItem } from "./components/list-box/item/Item.js";
|
|
38
|
+
import { ListBoxGroup } from "./components/list-box/group/Group.js";
|
|
39
|
+
import { ListBox } from "./components/list-box/index.js";
|
|
40
|
+
import { TabsItem } from "./components/tabs/item/Item.js";
|
|
41
|
+
import { TabsContent } from "./components/tabs/content/Content.js";
|
|
42
|
+
import { Tabs } from "./components/tabs/index.js";
|
|
43
|
+
import { TagsItem } from "./components/tags/item/Item.js";
|
|
44
|
+
import { Tags } from "./components/tags/index.js";
|
|
45
|
+
import { SelectItem } from "./components/select/item/Item.js";
|
|
46
|
+
import { SelectGroup } from "./components/select/group/Group.js";
|
|
47
|
+
import { Select } from "./components/select/index.js";
|
|
48
|
+
import { CalendarItem } from "./components/calendar/item/Item.js";
|
|
49
|
+
import { Calendar } from "./components/calendar/index.js";
|
|
50
|
+
import { DatePicker } from "./components/date-picker/DatePicker.js";
|
|
51
|
+
import { AccordionItem } from "./components/accordion/item/Item.js";
|
|
52
|
+
import { Accordion } from "./components/accordion/index.js";
|
|
53
|
+
import { Pagination } from "./components/pagination/Pagination.js";
|
|
54
|
+
import { Scroller } from "./components/scroller/Scroller.js";
|
|
55
|
+
import { TableColumn } from "./components/table/column/Column.js";
|
|
56
|
+
import { TableRow } from "./components/table/row/Row.js";
|
|
57
|
+
import { Table } from "./components/table/index.js";
|
|
58
|
+
import { Virtual } from "./components/virtual/Virtual.js";
|
|
59
|
+
import { DragAndDrop } from "./components/drag-and-drop/DragAndDrop.js";
|
|
60
|
+
export { Accordion, AccordionItem, Button, Calendar, CalendarItem, CheckBox, ComponentView, DateInput, DatePicker, Dialog, DragAndDrop, Drawer, Field, Frame, Icon, Input, Label, ListBox, ListBoxGroup, ListBoxItem, LocaleProvider, Menu, MenuCheckboxItem, MenuGroup, MenuItem, MenuPopoverItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, NumberInput, Pagination, Popover, ProgressLinear, ProgressSpinner, RadioGroup, RadioGroupItem, Rating, Scroller, Select, SelectGroup, SelectItem, Skeleton, Slider, Switch, Table, TableColumn, TableRow, Tabs, TabsContent, TabsItem, Tags, TagsItem, Textarea, Toasts, Tooltip, Virtual, roleIcon, useToasts };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Слот, развёрнутый там, где стоит в разметке: под `Elevate` владельца
|
|
3
|
+
* коллекции, чтобы элементы в слоте видели его слой. Задан ли слот, решает
|
|
4
|
+
* его значение, а не узлы: компонент в слоте — содержимое, что бы он ни
|
|
5
|
+
* нарисовал. AGENTS.md (Solid), «Слоты».
|
|
6
|
+
*
|
|
7
|
+
* - незаданный — `fallback` (у владельца коллекции — элементы из данных);
|
|
8
|
+
* - заданный — узлы, а с `children` — обёртка вокруг них;
|
|
9
|
+
* - со `scope` — функция слота получает его живым и зовётся один раз.
|
|
10
|
+
*/
|
|
11
|
+
import { children, createMemo } from 'solid-js';
|
|
12
|
+
import { Show } from '../runtime/flow';
|
|
13
|
+
import { hasSlot, slotValue } from './slots';
|
|
14
|
+
export function ResolvedSlot(props) {
|
|
15
|
+
const value = valueOf(props);
|
|
16
|
+
const nodes = children(value);
|
|
17
|
+
const wrap = props.children;
|
|
18
|
+
return (<Show when={hasSlot(value())} fallback={props.fallback}>
|
|
19
|
+
{wrap ? wrap(nodes) : nodes()}
|
|
20
|
+
</Show>);
|
|
21
|
+
}
|
|
22
|
+
/** Значение слота мемо; есть ли у слота scope, за жизнь компонента не меняется. */
|
|
23
|
+
function valueOf(props) {
|
|
24
|
+
if (props.scope === undefined)
|
|
25
|
+
return createMemo(() => slotValue(() => props.content, noScope));
|
|
26
|
+
const scope = props.scope;
|
|
27
|
+
return createMemo(() => slotValue(() => props.content, scope));
|
|
28
|
+
}
|
|
29
|
+
function noScope() {
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The action of a part on a click (activate a tab, choose an option, close a
|
|
3
|
+
* panel) — a native listener on the part's node, given as its `ref`.
|
|
4
|
+
* AGENTS.md (Solid), «Клик части».
|
|
5
|
+
*/
|
|
6
|
+
export function clickAction(action) {
|
|
7
|
+
return (node) => node.addEventListener('click', action);
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createUniqueId } from 'solid-js';
|
|
2
|
+
import { createAdapterContext } from '@soxa-ui/setup';
|
|
3
|
+
import { nearestLocale } from '../locale/context';
|
|
4
|
+
/**
|
|
5
|
+
* Сборка компонента Solid поверх `createAdapterContext`: id монтирования —
|
|
6
|
+
* `createUniqueId()` (совпадает на сервере и при гидратации), локаль —
|
|
7
|
+
* ближайшего `LocaleProvider`. Контекст на чужом наборе (фасад коллекции) их
|
|
8
|
+
* не берёт: они у того, кто набор собрал. Зовётся в теле компонента.
|
|
9
|
+
*/
|
|
10
|
+
export const createSolidAdapterContext = (descriptor, options, config) => {
|
|
11
|
+
if (config?.bundle !== undefined)
|
|
12
|
+
return createAdapterContext(descriptor, options, config);
|
|
13
|
+
return createAdapterContext(descriptor, {
|
|
14
|
+
...options,
|
|
15
|
+
mountId: options.mountId ?? createUniqueId(),
|
|
16
|
+
locale: options.locale ?? nearestLocale(),
|
|
17
|
+
}, config);
|
|
18
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Своё, затем обработчик потребителя — на одном событии разметки: в Solid
|
|
3
|
+
* событие — проп, и обработчик потребителя занял бы место своего.
|
|
4
|
+
*/
|
|
5
|
+
export function chainHandler(own, consumer) {
|
|
6
|
+
return (event) => {
|
|
7
|
+
own(event);
|
|
8
|
+
if (typeof consumer === 'function')
|
|
9
|
+
consumer(event);
|
|
10
|
+
else
|
|
11
|
+
consumer?.[0](consumer[1], event);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Окна гидратации и мемо, которое их переживает: раскладка корня и частей
|
|
3
|
+
* (`root.ts`), ветки и петли (`../runtime/flow.ts`, `KeyedFor`).
|
|
4
|
+
* AGENTS.md (Solid), «Окна гидратации».
|
|
5
|
+
*/
|
|
6
|
+
import { createEffect, createMemo, createSignal, sharedConfig } from 'solid-js';
|
|
7
|
+
import { isServer } from 'solid-js/web';
|
|
8
|
+
/**
|
|
9
|
+
* Открыто ли окно гидратации — условие `isHydrating` из `solid-js/web` без
|
|
10
|
+
* узла (сам он не экспортирован). `done` — гидратацию сорвало расхождение или
|
|
11
|
+
* первое делегированное событие, и Solid снова пишет в узлы.
|
|
12
|
+
*/
|
|
13
|
+
export function hydrating() {
|
|
14
|
+
return !isServer && Boolean(sharedConfig.context) && !sharedConfig.done;
|
|
15
|
+
}
|
|
16
|
+
/** Метка «ещё не считали»: значение мемо бывает и пустым. */
|
|
17
|
+
const UNCOMPUTED = Symbol('uncomputed');
|
|
18
|
+
/** Конец окна — один сигнал на документ, как `sharedConfig` у Solid. */
|
|
19
|
+
const [hydrationEnd, endHydration] = createSignal(undefined, { equals: false });
|
|
20
|
+
function announceHydrationEnd() {
|
|
21
|
+
endHydration();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Мемо, которое переживает окна гидратации: первое значение — `live`, а
|
|
25
|
+
* пересчёт в любом окне читает источники (`track`) и до конца окна отдаёт
|
|
26
|
+
* прежнее. Конец объявляет эффект, заведённый в этом пересчёте: Solid
|
|
27
|
+
* выполняет его, уже сняв контекст гидратации.
|
|
28
|
+
*
|
|
29
|
+
* `track` по умолчанию — сам `live`; петля только читает список, чтобы в окне
|
|
30
|
+
* не строить строк. Вычисление — функция над `source`, а не замыкание: мемо
|
|
31
|
+
* раскладки стоит у каждой строки таблицы.
|
|
32
|
+
*/
|
|
33
|
+
export function createHeldMemo(source, live, track = live) {
|
|
34
|
+
return createMemo((previous) => {
|
|
35
|
+
if (previous === UNCOMPUTED || !hydrating())
|
|
36
|
+
return live(source);
|
|
37
|
+
track(source);
|
|
38
|
+
hydrationEnd();
|
|
39
|
+
createEffect(announceHydrationEnd);
|
|
40
|
+
return previous;
|
|
41
|
+
}, UNCOMPUTED);
|
|
42
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Иконка по роли — тег для `Icon`, аналог `roleIcon` у Vue. Атрибуты корня и
|
|
3
|
+
* `ref` ложатся на `<svg>`, тело иконки — `innerHTML` из доверенного пакета.
|
|
4
|
+
* Роль резолвится на отрисовке: `useIcons()` может прийти позже. Компонент на
|
|
5
|
+
* роль один, и `tag` с той же ролью корень не пересоздаёт.
|
|
6
|
+
*/
|
|
7
|
+
import { getIcon } from '@soxa-ui/setup';
|
|
8
|
+
const icons = new Map();
|
|
9
|
+
export function roleIcon(role) {
|
|
10
|
+
const known = icons.get(role);
|
|
11
|
+
if (known)
|
|
12
|
+
return known;
|
|
13
|
+
function RoleIcon(props) {
|
|
14
|
+
const icon = getIcon(role);
|
|
15
|
+
return <svg {...props} viewBox={icon.viewBox} innerHTML={icon.body}/>;
|
|
16
|
+
}
|
|
17
|
+
icons.set(role, RoleIcon);
|
|
18
|
+
return RoleIcon;
|
|
19
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SolidProfile } from './profile';
|
|
2
|
+
export { SolidNaming } from './naming';
|
|
3
|
+
export { createSolidAdapterContext } from './createSolidAdapterContext';
|
|
4
|
+
export { renderSlot, hasSlot, resolveSlot, liveScope, relaySlot } from './slots';
|
|
5
|
+
export { ResolvedSlot } from './ResolvedSlot';
|
|
6
|
+
export { chainHandler } from './handlers';
|
|
7
|
+
export { clickAction } from './click-action';
|
|
8
|
+
export { createPartProps, createRootProps, createWrappedRootProps, toControlAttrs, toPartClass, toRootForward, toRootLayout, toRootProps, toWrappedRootProps, } from './root';
|
|
9
|
+
export { roleIcon } from './icon';
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Раскладка корня: наборы ядра, атрибуты потребителя, класс и стиль — одна на
|
|
3
|
+
* все компоненты, как `toRootProps` у React и Svelte. `ref` в раскладку не
|
|
4
|
+
* входит: компонент ставит `ref` адаптера последним.
|
|
5
|
+
* AGENTS.md (Solid), «Раскладка корня» и «Окна гидратации».
|
|
6
|
+
*/
|
|
7
|
+
import { createHeldMemo, hydrating } from './hydration';
|
|
8
|
+
const HIDDEN = { display: 'none' };
|
|
9
|
+
/** Свойства слоя стиля без пустых: `''` свойства не задаёт. */
|
|
10
|
+
function declarationsOf(styles) {
|
|
11
|
+
const declarations = [];
|
|
12
|
+
for (const [name, value] of Object.entries(styles ?? {})) {
|
|
13
|
+
if (typeof value === 'number' || (typeof value === 'string' && value !== '')) {
|
|
14
|
+
declarations.push([name, value]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return declarations;
|
|
18
|
+
}
|
|
19
|
+
function toCssText(declarations) {
|
|
20
|
+
return declarations.map(([name, value]) => `${name}: ${value}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Класс и стиль корня. Стиль по слоям: раскладка, стиль-выход, `order`, затем
|
|
24
|
+
* потребитель, поверх всего — `display: none` скрытого. Строку потребителя
|
|
25
|
+
* разобрать негде (на сервере нет документа), и слои тогда склеиваются текстом.
|
|
26
|
+
*/
|
|
27
|
+
export function toRootLayout(state, forward, style) {
|
|
28
|
+
const below = [
|
|
29
|
+
...declarationsOf(state.layout_styles),
|
|
30
|
+
...declarationsOf(style),
|
|
31
|
+
...declarationsOf(state.order !== undefined ? { order: state.order } : undefined),
|
|
32
|
+
];
|
|
33
|
+
const above = declarationsOf(state.visible === false ? HIDDEN : undefined);
|
|
34
|
+
const className = [...(state.classes ?? []), forward.class].filter(Boolean).join(' ');
|
|
35
|
+
const consumer = forward.style;
|
|
36
|
+
if (typeof consumer === 'string' && consumer !== '') {
|
|
37
|
+
return {
|
|
38
|
+
class: className,
|
|
39
|
+
style: [...toCssText(below), consumer, ...toCssText(above)].join('; '),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const own = typeof consumer === 'object' ? declarationsOf(consumer) : [];
|
|
43
|
+
return { class: className, style: Object.fromEntries([...below, ...own, ...above]) };
|
|
44
|
+
}
|
|
45
|
+
/** Наборы ядра, поверх — атрибуты потребителя без `ref`, затем класс и стиль. */
|
|
46
|
+
export function toRootProps(state, sets, forward, style) {
|
|
47
|
+
const attributes = {};
|
|
48
|
+
for (const set of sets)
|
|
49
|
+
Object.assign(attributes, set);
|
|
50
|
+
const { ref: _ref, ...consumer } = forward;
|
|
51
|
+
return { ...attributes, ...consumer, ...toRootLayout(state, forward, style) };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Атрибуты корня мемо — спред на корень:
|
|
55
|
+
* `<Root tag={state.tag} attributes={root} ref={binding.ref}>`.
|
|
56
|
+
*/
|
|
57
|
+
export function createRootProps(read) {
|
|
58
|
+
return createHeldMemo(read, rootPropsOf);
|
|
59
|
+
}
|
|
60
|
+
function rootPropsOf(read) {
|
|
61
|
+
const { state, sets, forward, style } = read();
|
|
62
|
+
return toRootProps(state, sets, forward, style);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Атрибуты делятся, как у поля: обёртке — её класс, класс и стиль
|
|
66
|
+
* потребителя, скрытие; корню — остальное поверх наборов ядра. Состояние —
|
|
67
|
+
* поимённо: остаток деструктуризации прокси-состояния пуст.
|
|
68
|
+
*/
|
|
69
|
+
export function toWrappedRootProps(state, sets, forward, wrapper, style) {
|
|
70
|
+
return {
|
|
71
|
+
wrapper: toRootProps({ classes: [wrapper], visible: state.visible }, [], toRootForward(forward)),
|
|
72
|
+
root: toRootProps({ classes: state.classes, layout_styles: state.layout_styles, order: state.order }, sets, toControlAttrs(forward), style),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Обёртка и корень мемо: `<div {...layout().wrapper} ref={binding.consumerRef}>`,
|
|
77
|
+
* внутри `<Root tag={state.tag} attributes={() => layout().root} ref={binding.bindRef}>`.
|
|
78
|
+
*/
|
|
79
|
+
export function createWrappedRootProps(read) {
|
|
80
|
+
return createHeldMemo(read, wrappedRootPropsOf);
|
|
81
|
+
}
|
|
82
|
+
function wrappedRootPropsOf(read) {
|
|
83
|
+
const { state, sets, forward, wrapper, style } = read();
|
|
84
|
+
return toWrappedRootProps(state, sets, forward, wrapper, style);
|
|
85
|
+
}
|
|
86
|
+
/** Класс и стиль потребителя — корню поля и окну таблицы. */
|
|
87
|
+
export function toRootForward(forward) {
|
|
88
|
+
return { class: forward.class, style: forward.style };
|
|
89
|
+
}
|
|
90
|
+
/** Классы части без своего экземпляра — строкой для `class` (панель Menu на Frame). */
|
|
91
|
+
export function toPartClass(classes) {
|
|
92
|
+
return classes?.join(' ') ?? '';
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Атрибуты внутреннего узла — набор части или атрибуты контролу: вне
|
|
96
|
+
* гидратации само чтение, в ней — мемо, которое держит окна. Зовётся там, где
|
|
97
|
+
* узел рисуется, а не в выражении спреда; вызов на каждый набор.
|
|
98
|
+
*/
|
|
99
|
+
export function createPartProps(read) {
|
|
100
|
+
return hydrating() ? createHeldMemo(read, partPropsOf) : read;
|
|
101
|
+
}
|
|
102
|
+
function partPropsOf(read) {
|
|
103
|
+
return read();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Атрибуты вложенного контрола: то, что не съела связка, без класса, стиля и
|
|
107
|
+
* `ref` — аналог `useSplitAttrs` у Vue. Параметр типа — атрибуты компонента:
|
|
108
|
+
* остаток сверяется с атрибутами узла, на который ложится.
|
|
109
|
+
*/
|
|
110
|
+
export function toControlAttrs(forward) {
|
|
111
|
+
const { class: _class, style: _style, ref: _ref, ...control } = forward;
|
|
112
|
+
return control;
|
|
113
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Слоты: готовые узлы или функция со scope. Функцию слота отличает арность:
|
|
3
|
+
* ленивое мемо компилятора — тоже функция, но без параметров. Scope функция
|
|
4
|
+
* получает живым (`liveScope`). AGENTS.md (Solid), «Слоты».
|
|
5
|
+
*/
|
|
6
|
+
import { children, untrack } from 'solid-js';
|
|
7
|
+
function isSlotFunction(content) {
|
|
8
|
+
return typeof content === 'function' && content.length > 0;
|
|
9
|
+
}
|
|
10
|
+
export function renderSlot(content, scope) {
|
|
11
|
+
if (isSlotFunction(content))
|
|
12
|
+
return content((scope ?? {}));
|
|
13
|
+
return content;
|
|
14
|
+
}
|
|
15
|
+
/** Передан ли слот: `undefined`, `null` и булево Solid не рисует. */
|
|
16
|
+
export function hasSlot(content) {
|
|
17
|
+
return content !== undefined && content !== null && typeof content !== 'boolean';
|
|
18
|
+
}
|
|
19
|
+
/** Значение слота: геттер пропа прочитан, функция слота вызвана с живым scope. */
|
|
20
|
+
export function slotValue(content, scope) {
|
|
21
|
+
const value = content();
|
|
22
|
+
return isSlotFunction(value) ? value(liveScope(scope)) : value;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Слот, развёрнутый один раз, — аксессором; пустой по узлам — `undefined`.
|
|
26
|
+
* Так разметка выбирает запасное: `content() ?? state.text`. Геттер слота
|
|
27
|
+
* Solid на каждое чтение создаёт узлы заново, поэтому читают его один раз.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveSlot(content, scope) {
|
|
30
|
+
const resolved = children(() => slotValue(content, scope));
|
|
31
|
+
return () => {
|
|
32
|
+
const nodes = resolved();
|
|
33
|
+
return hasSlot(nodes) ? nodes : undefined;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Живой scope — геттеры по ключам первого чтения: прочитанное в разметке слота
|
|
38
|
+
* следует за scope на месте, и функция слота не перезапускается на каждую
|
|
39
|
+
* смену (фокус и состояние внутри слота сохраняются).
|
|
40
|
+
*/
|
|
41
|
+
export function liveScope(scope) {
|
|
42
|
+
const first = untrack(scope);
|
|
43
|
+
const live = { ...first };
|
|
44
|
+
for (const key of Object.keys(first)) {
|
|
45
|
+
Object.defineProperty(live, key, {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: () => Reflect.get(scope(), key),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return live;
|
|
51
|
+
}
|
|
52
|
+
/** Scope элемента живыми полями, поверх — `extra`, как `{ ...scope, ...extra }`. */
|
|
53
|
+
function joinScope(scope, extra) {
|
|
54
|
+
const joined = untrack(() => ({ ...scope, ...extra }));
|
|
55
|
+
for (const key of Object.keys(scope)) {
|
|
56
|
+
if (Object.hasOwn(extra, key))
|
|
57
|
+
continue;
|
|
58
|
+
Object.defineProperty(joined, key, {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: () => Reflect.get(scope, key),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return joined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Проброс слота владельца коллекции в слот элемента: scope элемента плюс сам
|
|
67
|
+
* элемент (`extra`). Не задан — `undefined`, и элемент рисует своё. Scope
|
|
68
|
+
* выводится из слота элемента: `NoInfer` не даёт смотреть в слот владельца.
|
|
69
|
+
*/
|
|
70
|
+
export function relaySlot(content, extra) {
|
|
71
|
+
if (!hasSlot(content))
|
|
72
|
+
return undefined;
|
|
73
|
+
return (scope) => renderSlot(content, joinScope(scope, extra));
|
|
74
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Elevate — отдаёт детям слой лифта компонента, аналог `provide` у Vue.
|
|
3
|
+
* Пустой слой провайдера не ставит: `Provider` — эффект и мемо на узел, а
|
|
4
|
+
* флажок в каждой строке таблицы своего не опускает. AGENTS.md (Solid), «Лифт».
|
|
5
|
+
*/
|
|
6
|
+
import { ElevatorContext } from './layer';
|
|
7
|
+
export function Elevate(props) {
|
|
8
|
+
if (props.layer.empty)
|
|
9
|
+
return props.children;
|
|
10
|
+
return <ElevatorContext.Provider value={props.layer}>{props.children}</ElevatorContext.Provider>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Лифт одного ключа поверх слоёв сборки: `up()` читает слой предка, `down()`
|
|
3
|
+
* пишет в слой компонента. AGENTS.md (Solid), «Лифт».
|
|
4
|
+
*/
|
|
5
|
+
import { TElevator } from '@soxa-ui/setup';
|
|
6
|
+
export class TSolidElevator extends TElevator {
|
|
7
|
+
_parent;
|
|
8
|
+
_own;
|
|
9
|
+
/**
|
|
10
|
+
* @param _parent слой предка; вне владельцев — `undefined`
|
|
11
|
+
* @param _own слой компонента
|
|
12
|
+
*/
|
|
13
|
+
constructor(key, _parent, _own) {
|
|
14
|
+
super(key);
|
|
15
|
+
this._parent = _parent;
|
|
16
|
+
this._own = _own;
|
|
17
|
+
}
|
|
18
|
+
down(value) {
|
|
19
|
+
this._own.write(this._key, value);
|
|
20
|
+
}
|
|
21
|
+
up() {
|
|
22
|
+
// Тип значения задаёт ключ лифта: под этим ключом кладут только `T`
|
|
23
|
+
return this._parent?.read(this._key);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Слой лифта — значения владельца его поддереву, свои поверх слоя предка.
|
|
3
|
+
* Контекст Solid один на все ключи, как у React и Angular. AGENTS.md (Solid), «Лифт».
|
|
4
|
+
*/
|
|
5
|
+
import { createContext } from 'solid-js';
|
|
6
|
+
export class TElevatorLayer {
|
|
7
|
+
_parent;
|
|
8
|
+
_own = new Map();
|
|
9
|
+
/** @param _parent слой ближайшего владельца выше; нет его — `undefined` */
|
|
10
|
+
constructor(_parent) {
|
|
11
|
+
this._parent = _parent;
|
|
12
|
+
}
|
|
13
|
+
/** Своё значение, а нет его — слоя предка. Опущенный `null` — тоже значение. */
|
|
14
|
+
read(key) {
|
|
15
|
+
return this._own.has(key) ? this._own.get(key) : this._parent?.read(key);
|
|
16
|
+
}
|
|
17
|
+
write(key, value) {
|
|
18
|
+
this._own.set(key, value);
|
|
19
|
+
}
|
|
20
|
+
/** Своих значений нет: `Elevate` детям слой не отдаёт. */
|
|
21
|
+
get empty() {
|
|
22
|
+
return this._own.size === 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export const ElevatorContext = createContext(undefined);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Лифт сборки: фабрика лифтов для расширений и слой компонента, который детям
|
|
3
|
+
* отдаёт `Elevate`. Зовётся в теле компонента — контекст Solid читается только
|
|
4
|
+
* тогда. AGENTS.md (Solid), «Лифт».
|
|
5
|
+
*/
|
|
6
|
+
import { useContext } from 'solid-js';
|
|
7
|
+
import { TSolidElevator } from './elevator.class';
|
|
8
|
+
import { ElevatorContext, TElevatorLayer } from './layer';
|
|
9
|
+
export function useElevator() {
|
|
10
|
+
const parent = useContext(ElevatorContext);
|
|
11
|
+
const layer = new TElevatorLayer(parent);
|
|
12
|
+
return {
|
|
13
|
+
elevator: (key) => new TSolidElevator(key.name, parent, layer),
|
|
14
|
+
layer,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createRenderEffect, untrack } from 'solid-js';
|
|
2
|
+
import { TLocaleSource } from '@soxa-ui/plugins';
|
|
3
|
+
import { LocaleContext } from './context';
|
|
4
|
+
/**
|
|
5
|
+
* LocaleProvider — локаль поддерева: язык и строки библиотеки компонентам
|
|
6
|
+
* внутри.
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <LocaleProvider locale={current()}>
|
|
10
|
+
* <App />
|
|
11
|
+
* </LocaleProvider>
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* Источник свой на провайдер (сервер рисует запросы каждый на своём языке) и
|
|
15
|
+
* создаётся с локалью первой отрисовки; смена пропа идёт в тот же источник,
|
|
16
|
+
* компоненты не перемонтируются.
|
|
17
|
+
*/
|
|
18
|
+
export function LocaleProvider(props) {
|
|
19
|
+
const source = new TLocaleSource(untrack(() => props.locale));
|
|
20
|
+
createRenderEffect(() => {
|
|
21
|
+
source.locale = props.locale;
|
|
22
|
+
});
|
|
23
|
+
return <LocaleContext.Provider value={source}>{props.children}</LocaleContext.Provider>;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LocaleProvider } from './LocaleProvider';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Петля по ключу записи: узел живёт, пока в списке есть запись с его ключом,
|
|
3
|
+
* а новую запись получает аксессором. `drawn` коллекции — новые записи на
|
|
4
|
+
* каждую смену, и `<For>` по ссылке пересоздавал бы строки вместе с фокусом.
|
|
5
|
+
* Окна гидратации переживает, как `flow.ts`. AGENTS.md (Solid), «Ветки и петли».
|
|
6
|
+
*/
|
|
7
|
+
import { createRoot, createSignal, onCleanup, untrack, } from 'solid-js';
|
|
8
|
+
import { createHeldMemo } from '../common/hydration';
|
|
9
|
+
/** Строка петли — объект, а не замыкание на строку: строк тысячи (ячейки таблицы). */
|
|
10
|
+
class TRow {
|
|
11
|
+
node;
|
|
12
|
+
_write;
|
|
13
|
+
dispose;
|
|
14
|
+
constructor(node, _write, dispose) {
|
|
15
|
+
this.node = node;
|
|
16
|
+
this._write = _write;
|
|
17
|
+
this.dispose = dispose;
|
|
18
|
+
}
|
|
19
|
+
update(entry) {
|
|
20
|
+
// Запись-функцию сеттер сигнала счёл бы updater'ом
|
|
21
|
+
this._write(() => entry);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function KeyedFor(props) {
|
|
25
|
+
const rows = new Map();
|
|
26
|
+
// Строка — в своём корне под владельцем петли: контекст места тот же
|
|
27
|
+
const createRow = (entry) => createRoot((dispose) => {
|
|
28
|
+
const [current, write] = createSignal(entry);
|
|
29
|
+
return new TRow(props.children(current), write, dispose);
|
|
30
|
+
});
|
|
31
|
+
onCleanup(() => {
|
|
32
|
+
for (const row of rows.values())
|
|
33
|
+
row.dispose();
|
|
34
|
+
rows.clear();
|
|
35
|
+
});
|
|
36
|
+
// Узлы и ключи — не зависимости петли: она идёт только за списком
|
|
37
|
+
const reconcile = (entries) => untrack(() => {
|
|
38
|
+
const seen = new Set();
|
|
39
|
+
const result = entries.map((entry) => {
|
|
40
|
+
const key = props.by(entry);
|
|
41
|
+
let row = rows.get(key);
|
|
42
|
+
if (row)
|
|
43
|
+
row.update(entry);
|
|
44
|
+
else
|
|
45
|
+
rows.set(key, (row = createRow(entry)));
|
|
46
|
+
seen.add(key);
|
|
47
|
+
return row.node;
|
|
48
|
+
});
|
|
49
|
+
for (const [key, row] of rows) {
|
|
50
|
+
if (seen.has(key))
|
|
51
|
+
continue;
|
|
52
|
+
row.dispose();
|
|
53
|
+
rows.delete(key);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
});
|
|
57
|
+
const nodes = createHeldMemo(props, (source) => reconcile(source.each ?? []), (source) => source.each);
|
|
58
|
+
// Само мемо, а не фрагмент: фрагмент над ним — ещё мемо на каждую петлю
|
|
59
|
+
return nodes;
|
|
60
|
+
}
|