@soxa-ui/setup 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 +63 -2
- package/dist/content/descriptors/components/accordion/accordion.descriptor.d.ts +205 -0
- package/dist/content/descriptors/components/accordion/accordion.descriptor.js +80 -0
- package/dist/content/descriptors/components/accordion/collection.descriptor.d.ts +76 -0
- package/dist/content/descriptors/components/accordion/collection.descriptor.js +60 -0
- package/dist/content/descriptors/components/accordion/index.d.ts +3 -0
- package/dist/content/descriptors/components/accordion/item.descriptor.d.ts +244 -0
- package/dist/content/descriptors/components/accordion/item.descriptor.js +93 -0
- package/dist/content/descriptors/components/button.descriptor.d.ts +192 -0
- package/dist/content/descriptors/components/button.descriptor.js +39 -0
- package/dist/content/descriptors/components/calendar/calendar.descriptor.d.ts +261 -0
- package/dist/content/descriptors/components/calendar/calendar.descriptor.js +142 -0
- package/dist/content/descriptors/components/calendar/collection.descriptor.d.ts +85 -0
- package/dist/content/descriptors/components/calendar/collection.descriptor.js +88 -0
- package/dist/content/descriptors/components/calendar/index.d.ts +3 -0
- package/dist/content/descriptors/components/calendar/item.descriptor.d.ts +154 -0
- package/dist/content/descriptors/components/calendar/item.descriptor.js +65 -0
- package/dist/content/descriptors/components/check-box.descriptor.d.ts +227 -0
- package/dist/content/descriptors/components/check-box.descriptor.js +65 -0
- package/dist/content/descriptors/components/clearable.descriptor.d.ts +213 -0
- package/dist/content/descriptors/components/clearable.descriptor.js +51 -0
- package/dist/content/descriptors/components/collection/collection.descriptor.d.ts +47 -0
- package/dist/content/descriptors/components/collection/collection.descriptor.js +67 -0
- package/dist/content/descriptors/components/collection/index.d.ts +1 -0
- package/dist/content/descriptors/components/component-view.descriptor.d.ts +110 -0
- package/dist/content/descriptors/components/component-view.descriptor.js +103 -0
- package/dist/content/descriptors/components/component.descriptor.d.ts +31 -0
- package/dist/content/descriptors/components/component.descriptor.js +22 -0
- package/dist/content/descriptors/components/control.descriptor.d.ts +135 -0
- package/dist/content/descriptors/components/control.descriptor.js +33 -0
- package/dist/content/descriptors/components/date-input.descriptor.d.ts +319 -0
- package/dist/content/descriptors/components/date-input.descriptor.js +171 -0
- package/dist/content/descriptors/components/date-picker.descriptor.d.ts +445 -0
- package/dist/content/descriptors/components/date-picker.descriptor.js +255 -0
- package/dist/content/descriptors/components/dialog.descriptor.d.ts +256 -0
- package/dist/content/descriptors/components/dialog.descriptor.js +94 -0
- package/dist/content/descriptors/components/drag-and-drop.descriptor.d.ts +49 -0
- package/dist/content/descriptors/components/drag-and-drop.descriptor.js +32 -0
- package/dist/content/descriptors/components/drawer.descriptor.d.ts +244 -0
- package/dist/content/descriptors/components/drawer.descriptor.js +83 -0
- package/dist/content/descriptors/components/entity.descriptor.d.ts +39 -0
- package/dist/content/descriptors/components/entity.descriptor.js +37 -0
- package/dist/content/descriptors/components/field.descriptor.d.ts +192 -0
- package/dist/content/descriptors/components/field.descriptor.js +109 -0
- package/dist/content/descriptors/components/frame.descriptor.d.ts +191 -0
- package/dist/content/descriptors/components/frame.descriptor.js +66 -0
- package/dist/content/descriptors/components/icon.descriptor.d.ts +129 -0
- package/dist/content/descriptors/components/icon.descriptor.js +41 -0
- package/dist/content/descriptors/components/index.d.ts +50 -0
- package/dist/content/descriptors/components/input-control.descriptor.d.ts +176 -0
- package/dist/content/descriptors/components/input-control.descriptor.js +32 -0
- package/dist/content/descriptors/components/input.descriptor.d.ts +241 -0
- package/dist/content/descriptors/components/input.descriptor.js +62 -0
- package/dist/content/descriptors/components/interactive.descriptor.d.ts +100 -0
- package/dist/content/descriptors/components/interactive.descriptor.js +30 -0
- package/dist/content/descriptors/components/item-group.descriptor.d.ts +113 -0
- package/dist/content/descriptors/components/item-group.descriptor.js +44 -0
- package/dist/content/descriptors/components/item-row.descriptor.d.ts +199 -0
- package/dist/content/descriptors/components/item-row.descriptor.js +25 -0
- package/dist/content/descriptors/components/label.descriptor.d.ts +130 -0
- package/dist/content/descriptors/components/label.descriptor.js +41 -0
- package/dist/content/descriptors/components/layer.descriptor.d.ts +99 -0
- package/dist/content/descriptors/components/layer.descriptor.js +27 -0
- package/dist/content/descriptors/components/list-box/collection.descriptor.d.ts +113 -0
- package/dist/content/descriptors/components/list-box/collection.descriptor.js +96 -0
- package/dist/content/descriptors/components/list-box/group.descriptor.d.ts +115 -0
- package/dist/content/descriptors/components/list-box/group.descriptor.js +21 -0
- package/dist/content/descriptors/components/list-box/index.d.ts +4 -0
- package/dist/content/descriptors/components/list-box/item.descriptor.d.ts +219 -0
- package/dist/content/descriptors/components/list-box/item.descriptor.js +66 -0
- package/dist/content/descriptors/components/list-box/list-box.descriptor.d.ts +253 -0
- package/dist/content/descriptors/components/list-box/list-box.descriptor.js +106 -0
- package/dist/content/descriptors/components/list.d.ts +40 -0
- package/dist/content/descriptors/components/list.js +38 -0
- package/dist/content/descriptors/components/menu/checkbox-item.descriptor.d.ts +226 -0
- package/dist/content/descriptors/components/menu/checkbox-item.descriptor.js +43 -0
- package/dist/content/descriptors/components/menu/collection.descriptor.d.ts +201 -0
- package/dist/content/descriptors/components/menu/collection.descriptor.js +101 -0
- package/dist/content/descriptors/components/menu/group.descriptor.d.ts +112 -0
- package/dist/content/descriptors/components/menu/group.descriptor.js +18 -0
- package/dist/content/descriptors/components/menu/index.d.ts +10 -0
- package/dist/content/descriptors/components/menu/item.descriptor.d.ts +195 -0
- package/dist/content/descriptors/components/menu/item.descriptor.js +45 -0
- package/dist/content/descriptors/components/menu/menu.descriptor.d.ts +262 -0
- package/dist/content/descriptors/components/menu/menu.descriptor.js +177 -0
- package/dist/content/descriptors/components/menu/popover-item.descriptor.d.ts +278 -0
- package/dist/content/descriptors/components/menu/popover-item.descriptor.js +87 -0
- package/dist/content/descriptors/components/menu/radio-group.descriptor.d.ts +134 -0
- package/dist/content/descriptors/components/menu/radio-group.descriptor.js +30 -0
- package/dist/content/descriptors/components/menu/radio-item.descriptor.d.ts +236 -0
- package/dist/content/descriptors/components/menu/radio-item.descriptor.js +51 -0
- package/dist/content/descriptors/components/menu/separator.descriptor.d.ts +87 -0
- package/dist/content/descriptors/components/menu/separator.descriptor.js +17 -0
- package/dist/content/descriptors/components/menu/submenu.descriptor.d.ts +336 -0
- package/dist/content/descriptors/components/menu/submenu.descriptor.js +144 -0
- package/dist/content/descriptors/components/modal-layer.descriptor.d.ts +197 -0
- package/dist/content/descriptors/components/modal-layer.descriptor.js +101 -0
- package/dist/content/descriptors/components/number-input.descriptor.d.ts +353 -0
- package/dist/content/descriptors/components/number-input.descriptor.js +209 -0
- package/dist/content/descriptors/components/pagination/collection.descriptor.d.ts +54 -0
- package/dist/content/descriptors/components/pagination/collection.descriptor.js +55 -0
- package/dist/content/descriptors/components/pagination/index.d.ts +3 -0
- package/dist/content/descriptors/components/pagination/item.descriptor.d.ts +156 -0
- package/dist/content/descriptors/components/pagination/item.descriptor.js +68 -0
- package/dist/content/descriptors/components/pagination/pagination.descriptor.d.ts +265 -0
- package/dist/content/descriptors/components/pagination/pagination.descriptor.js +152 -0
- package/dist/content/descriptors/components/popover.descriptor.d.ts +231 -0
- package/dist/content/descriptors/components/popover.descriptor.js +156 -0
- package/dist/content/descriptors/components/progress-linear.descriptor.d.ts +165 -0
- package/dist/content/descriptors/components/progress-linear.descriptor.js +43 -0
- package/dist/content/descriptors/components/progress-spinner.descriptor.d.ts +161 -0
- package/dist/content/descriptors/components/progress-spinner.descriptor.js +36 -0
- package/dist/content/descriptors/components/progress.descriptor.d.ts +149 -0
- package/dist/content/descriptors/components/progress.descriptor.js +53 -0
- package/dist/content/descriptors/components/radio-group/collection.descriptor.d.ts +70 -0
- package/dist/content/descriptors/components/radio-group/collection.descriptor.js +56 -0
- package/dist/content/descriptors/components/radio-group/index.d.ts +3 -0
- package/dist/content/descriptors/components/radio-group/item.descriptor.d.ts +193 -0
- package/dist/content/descriptors/components/radio-group/item.descriptor.js +47 -0
- package/dist/content/descriptors/components/radio-group/radio-group.descriptor.d.ts +197 -0
- package/dist/content/descriptors/components/radio-group/radio-group.descriptor.js +66 -0
- package/dist/content/descriptors/components/rating.descriptor.d.ts +233 -0
- package/dist/content/descriptors/components/rating.descriptor.js +89 -0
- package/dist/content/descriptors/components/scroller.descriptor.d.ts +208 -0
- package/dist/content/descriptors/components/scroller.descriptor.js +91 -0
- package/dist/content/descriptors/components/select/collection.descriptor.d.ts +135 -0
- package/dist/content/descriptors/components/select/collection.descriptor.js +119 -0
- package/dist/content/descriptors/components/select/group.descriptor.d.ts +115 -0
- package/dist/content/descriptors/components/select/group.descriptor.js +21 -0
- package/dist/content/descriptors/components/select/index.d.ts +4 -0
- package/dist/content/descriptors/components/select/item.descriptor.d.ts +210 -0
- package/dist/content/descriptors/components/select/item.descriptor.js +56 -0
- package/dist/content/descriptors/components/select/select.descriptor.d.ts +454 -0
- package/dist/content/descriptors/components/select/select.descriptor.js +267 -0
- package/dist/content/descriptors/components/skeleton.descriptor.d.ts +127 -0
- package/dist/content/descriptors/components/skeleton.descriptor.js +53 -0
- package/dist/content/descriptors/components/slider.descriptor.d.ts +298 -0
- package/dist/content/descriptors/components/slider.descriptor.js +205 -0
- package/dist/content/descriptors/components/stylable.descriptor.d.ts +126 -0
- package/dist/content/descriptors/components/stylable.descriptor.js +52 -0
- package/dist/content/descriptors/components/switch.descriptor.d.ts +217 -0
- package/dist/content/descriptors/components/switch.descriptor.js +53 -0
- package/dist/content/descriptors/components/table/collection.descriptor.d.ts +183 -0
- package/dist/content/descriptors/components/table/collection.descriptor.js +178 -0
- package/dist/content/descriptors/components/table/column.descriptor.d.ts +237 -0
- package/dist/content/descriptors/components/table/column.descriptor.js +173 -0
- package/dist/content/descriptors/components/table/index.d.ts +4 -0
- package/dist/content/descriptors/components/table/row.descriptor.d.ts +166 -0
- package/dist/content/descriptors/components/table/row.descriptor.js +75 -0
- package/dist/content/descriptors/components/table/table.descriptor.d.ts +271 -0
- package/dist/content/descriptors/components/table/table.descriptor.js +164 -0
- package/dist/content/descriptors/components/tabs/collection.descriptor.d.ts +72 -0
- package/dist/content/descriptors/components/tabs/collection.descriptor.js +59 -0
- package/dist/content/descriptors/components/tabs/content.descriptor.d.ts +136 -0
- package/dist/content/descriptors/components/tabs/content.descriptor.js +52 -0
- package/dist/content/descriptors/components/tabs/index.d.ts +4 -0
- package/dist/content/descriptors/components/tabs/item.descriptor.d.ts +213 -0
- package/dist/content/descriptors/components/tabs/item.descriptor.js +67 -0
- package/dist/content/descriptors/components/tabs/tabs.descriptor.d.ts +220 -0
- package/dist/content/descriptors/components/tabs/tabs.descriptor.js +105 -0
- package/dist/content/descriptors/components/tags/collection.descriptor.d.ts +79 -0
- package/dist/content/descriptors/components/tags/collection.descriptor.js +63 -0
- package/dist/content/descriptors/components/tags/index.d.ts +3 -0
- package/dist/content/descriptors/components/tags/item.descriptor.d.ts +216 -0
- package/dist/content/descriptors/components/tags/item.descriptor.js +73 -0
- package/dist/content/descriptors/components/tags/tags.descriptor.d.ts +240 -0
- package/dist/content/descriptors/components/tags/tags.descriptor.js +109 -0
- package/dist/content/descriptors/components/textable.descriptor.d.ts +147 -0
- package/dist/content/descriptors/components/textable.descriptor.js +24 -0
- package/dist/content/descriptors/components/textarea.descriptor.d.ts +249 -0
- package/dist/content/descriptors/components/textarea.descriptor.js +95 -0
- package/dist/content/descriptors/components/toasts/collection.descriptor.d.ts +59 -0
- package/dist/content/descriptors/components/toasts/collection.descriptor.js +39 -0
- package/dist/content/descriptors/components/toasts/index.d.ts +3 -0
- package/dist/content/descriptors/components/toasts/item.descriptor.d.ts +173 -0
- package/dist/content/descriptors/components/toasts/item.descriptor.js +106 -0
- package/dist/content/descriptors/components/toasts/toasts.descriptor.d.ts +167 -0
- package/dist/content/descriptors/components/toasts/toasts.descriptor.js +94 -0
- package/dist/content/descriptors/components/tooltip.descriptor.d.ts +156 -0
- package/dist/content/descriptors/components/tooltip.descriptor.js +83 -0
- package/dist/content/descriptors/components/value-control.descriptor.d.ts +151 -0
- package/dist/content/descriptors/components/value-control.descriptor.js +36 -0
- package/dist/content/descriptors/components/virtual.descriptor.d.ts +55 -0
- package/dist/content/descriptors/components/virtual.descriptor.js +37 -0
- package/dist/content/descriptors/index.d.ts +2 -0
- package/dist/content/descriptors/plugins/accordion-item-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/accordion-item-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/action.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/action.plugin.js +27 -0
- package/dist/content/descriptors/plugins/anchor.plugin.d.ts +47 -0
- package/dist/content/descriptors/plugins/anchor.plugin.js +73 -0
- package/dist/content/descriptors/plugins/aria.plugin.d.ts +34 -0
- package/dist/content/descriptors/plugins/aria.plugin.js +55 -0
- package/dist/content/descriptors/plugins/calendar-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/calendar-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/calendar-keyboard.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/calendar-keyboard.plugin.js +18 -0
- package/dist/content/descriptors/plugins/calendar-names.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/calendar-names.plugin.js +17 -0
- package/dist/content/descriptors/plugins/calendar-pointer.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/calendar-pointer.plugin.js +18 -0
- package/dist/content/descriptors/plugins/clearable-names.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/clearable-names.plugin.js +17 -0
- package/dist/content/descriptors/plugins/collection-bundles.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/collection-bundles.plugin.js +14 -0
- package/dist/content/descriptors/plugins/collection-elements.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/collection-elements.plugin.js +14 -0
- package/dist/content/descriptors/plugins/date-input-clipboard.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/date-input-clipboard.plugin.js +16 -0
- package/dist/content/descriptors/plugins/date-input-ids.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/date-input-ids.plugin.js +15 -0
- package/dist/content/descriptors/plugins/date-input-keyboard.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/date-input-keyboard.plugin.js +18 -0
- package/dist/content/descriptors/plugins/date-input-pointer.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/date-input-pointer.plugin.js +17 -0
- package/dist/content/descriptors/plugins/date-input-touch.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/date-input-touch.plugin.js +19 -0
- package/dist/content/descriptors/plugins/date-picker-focus.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/date-picker-focus.plugin.js +25 -0
- package/dist/content/descriptors/plugins/date-picker-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/date-picker-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/date-picker-names.plugin.d.ts +32 -0
- package/dist/content/descriptors/plugins/date-picker-names.plugin.js +38 -0
- package/dist/content/descriptors/plugins/date-picker-trigger.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/date-picker-trigger.plugin.js +20 -0
- package/dist/content/descriptors/plugins/dialog-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/dialog-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/dialog-layout.plugin.d.ts +26 -0
- package/dist/content/descriptors/plugins/dialog-layout.plugin.js +34 -0
- package/dist/content/descriptors/plugins/dialog-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/dialog-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/dismiss.plugin.d.ts +34 -0
- package/dist/content/descriptors/plugins/dismiss.plugin.js +51 -0
- package/dist/content/descriptors/plugins/drag.plugin.d.ts +5 -0
- package/dist/content/descriptors/plugins/drag.plugin.js +12 -0
- package/dist/content/descriptors/plugins/drawer-layout.plugin.d.ts +22 -0
- package/dist/content/descriptors/plugins/drawer-layout.plugin.js +28 -0
- package/dist/content/descriptors/plugins/element.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/element.plugin.js +15 -0
- package/dist/content/descriptors/plugins/field-ids.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/field-ids.plugin.js +19 -0
- package/dist/content/descriptors/plugins/frame-layout.plugin.d.ts +14 -0
- package/dist/content/descriptors/plugins/frame-layout.plugin.js +18 -0
- package/dist/content/descriptors/plugins/hide-outside.plugin.d.ts +19 -0
- package/dist/content/descriptors/plugins/hide-outside.plugin.js +29 -0
- package/dist/content/descriptors/plugins/icon-layout.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/icon-layout.plugin.js +19 -0
- package/dist/content/descriptors/plugins/id.plugin.d.ts +26 -0
- package/dist/content/descriptors/plugins/id.plugin.js +31 -0
- package/dist/content/descriptors/plugins/index.d.ts +114 -0
- package/dist/content/descriptors/plugins/input-bool.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/input-bool.plugin.js +14 -0
- package/dist/content/descriptors/plugins/input-control.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/input-control.plugin.js +14 -0
- package/dist/content/descriptors/plugins/input.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/input.plugin.js +16 -0
- package/dist/content/descriptors/plugins/item-group-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/item-group-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/label-nested-warn.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/label-nested-warn.plugin.js +15 -0
- package/dist/content/descriptors/plugins/list-height.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/list-height.plugin.js +15 -0
- package/dist/content/descriptors/plugins/list-item.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/list-item.plugin.js +19 -0
- package/dist/content/descriptors/plugins/list-keyboard.plugin.d.ts +5 -0
- package/dist/content/descriptors/plugins/list-keyboard.plugin.js +12 -0
- package/dist/content/descriptors/plugins/list-scroll.plugin.d.ts +16 -0
- package/dist/content/descriptors/plugins/list-scroll.plugin.js +23 -0
- package/dist/content/descriptors/plugins/locale.plugin.d.ts +13 -0
- package/dist/content/descriptors/plugins/locale.plugin.js +20 -0
- package/dist/content/descriptors/plugins/menu-focus.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/menu-focus.plugin.js +18 -0
- package/dist/content/descriptors/plugins/menu-hover.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/menu-hover.plugin.js +19 -0
- package/dist/content/descriptors/plugins/menu-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/menu-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/menu-keyboard.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/menu-keyboard.plugin.js +22 -0
- package/dist/content/descriptors/plugins/menu-pointer.plugin.d.ts +13 -0
- package/dist/content/descriptors/plugins/menu-pointer.plugin.js +20 -0
- package/dist/content/descriptors/plugins/menu-popover-item-focus.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/menu-popover-item-focus.plugin.js +22 -0
- package/dist/content/descriptors/plugins/menu-popover-item-keyboard.plugin.d.ts +13 -0
- package/dist/content/descriptors/plugins/menu-popover-item-keyboard.plugin.js +20 -0
- package/dist/content/descriptors/plugins/menu-popup-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/menu-popup-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/menu-submenu-focus.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/menu-submenu-focus.plugin.js +19 -0
- package/dist/content/descriptors/plugins/menu-submenu-keyboard.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/menu-submenu-keyboard.plugin.js +22 -0
- package/dist/content/descriptors/plugins/modal-focus.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/modal-focus.plugin.js +24 -0
- package/dist/content/descriptors/plugins/modal-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/modal-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/modal-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/modal-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/number-input-keyboard.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/number-input-keyboard.plugin.js +17 -0
- package/dist/content/descriptors/plugins/number-input-names.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/number-input-names.plugin.js +17 -0
- package/dist/content/descriptors/plugins/number-input-stepper.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/number-input-stepper.plugin.js +19 -0
- package/dist/content/descriptors/plugins/number-input-touch.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/number-input-touch.plugin.js +17 -0
- package/dist/content/descriptors/plugins/number-input-typing.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/number-input-typing.plugin.js +18 -0
- package/dist/content/descriptors/plugins/option-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/option-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/pagination-focus.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/pagination-focus.plugin.js +17 -0
- package/dist/content/descriptors/plugins/pagination-names.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/pagination-names.plugin.js +17 -0
- package/dist/content/descriptors/plugins/popover-focus.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/popover-focus.plugin.js +23 -0
- package/dist/content/descriptors/plugins/popover-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/popover-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/popover-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/popover-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/popover-pointer.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/popover-pointer.plugin.js +21 -0
- package/dist/content/descriptors/plugins/radio-group-checked.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/radio-group-checked.plugin.js +16 -0
- package/dist/content/descriptors/plugins/radio-group-name.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/radio-group-name.plugin.js +16 -0
- package/dist/content/descriptors/plugins/rating-hover.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/rating-hover.plugin.js +17 -0
- package/dist/content/descriptors/plugins/rating-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/rating-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/rating-validity.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/rating-validity.plugin.js +17 -0
- package/dist/content/descriptors/plugins/ready.plugin.d.ts +7 -0
- package/dist/content/descriptors/plugins/ready.plugin.js +14 -0
- package/dist/content/descriptors/plugins/scroll-lock.plugin.d.ts +18 -0
- package/dist/content/descriptors/plugins/scroll-lock.plugin.js +29 -0
- package/dist/content/descriptors/plugins/scroller-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/scroller-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/scroller-viewport.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/scroller-viewport.plugin.js +16 -0
- package/dist/content/descriptors/plugins/select-backspace.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/select-backspace.plugin.js +25 -0
- package/dist/content/descriptors/plugins/select-editable.plugin.d.ts +18 -0
- package/dist/content/descriptors/plugins/select-editable.plugin.js +31 -0
- package/dist/content/descriptors/plugins/select-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/select-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/select-keyboard.plugin.d.ts +21 -0
- package/dist/content/descriptors/plugins/select-keyboard.plugin.js +33 -0
- package/dist/content/descriptors/plugins/select-pointer.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/select-pointer.plugin.js +24 -0
- package/dist/content/descriptors/plugins/skeleton-layout.plugin.d.ts +14 -0
- package/dist/content/descriptors/plugins/skeleton-layout.plugin.js +18 -0
- package/dist/content/descriptors/plugins/slide-keyboard.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/slide-keyboard.plugin.js +16 -0
- package/dist/content/descriptors/plugins/slide-pointer.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/slide-pointer.plugin.js +19 -0
- package/dist/content/descriptors/plugins/swipe.plugin.d.ts +13 -0
- package/dist/content/descriptors/plugins/swipe.plugin.js +20 -0
- package/dist/content/descriptors/plugins/table-column-ids.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/table-column-ids.plugin.js +17 -0
- package/dist/content/descriptors/plugins/table-column-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/table-column-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/table-column-reorder.plugin.d.ts +13 -0
- package/dist/content/descriptors/plugins/table-column-reorder.plugin.js +20 -0
- package/dist/content/descriptors/plugins/table-column-resize.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/table-column-resize.plugin.js +19 -0
- package/dist/content/descriptors/plugins/table-grid.plugin.d.ts +15 -0
- package/dist/content/descriptors/plugins/table-grid.plugin.js +22 -0
- package/dist/content/descriptors/plugins/table-layout.plugin.d.ts +12 -0
- package/dist/content/descriptors/plugins/table-layout.plugin.js +19 -0
- package/dist/content/descriptors/plugins/table-names.plugin.d.ts +16 -0
- package/dist/content/descriptors/plugins/table-names.plugin.js +20 -0
- package/dist/content/descriptors/plugins/table-row-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/table-row-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tabs-active-tab.plugin.d.ts +5 -0
- package/dist/content/descriptors/plugins/tabs-active-tab.plugin.js +12 -0
- package/dist/content/descriptors/plugins/tabs-content-warn.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/tabs-content-warn.plugin.js +15 -0
- package/dist/content/descriptors/plugins/tabs-item-ids.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/tabs-item-ids.plugin.js +15 -0
- package/dist/content/descriptors/plugins/tabs-item-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/tabs-item-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tabs-keyboard.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/tabs-keyboard.plugin.js +15 -0
- package/dist/content/descriptors/plugins/tabs-layout.plugin.d.ts +5 -0
- package/dist/content/descriptors/plugins/tabs-layout.plugin.js +12 -0
- package/dist/content/descriptors/plugins/tags-item-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/tags-item-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tags-keyboard.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/tags-keyboard.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tags-scroll.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/tags-scroll.plugin.js +17 -0
- package/dist/content/descriptors/plugins/textarea-autoresize.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/textarea-autoresize.plugin.js +17 -0
- package/dist/content/descriptors/plugins/textarea-ids.plugin.d.ts +11 -0
- package/dist/content/descriptors/plugins/textarea-ids.plugin.js +18 -0
- package/dist/content/descriptors/plugins/textarea-names.plugin.d.ts +17 -0
- package/dist/content/descriptors/plugins/textarea-names.plugin.js +21 -0
- package/dist/content/descriptors/plugins/toasts-cascade.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/toasts-cascade.plugin.js +17 -0
- package/dist/content/descriptors/plugins/toasts-item-names.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/toasts-item-names.plugin.js +16 -0
- package/dist/content/descriptors/plugins/toasts-keyboard.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/toasts-keyboard.plugin.js +16 -0
- package/dist/content/descriptors/plugins/toasts-layout.plugin.d.ts +16 -0
- package/dist/content/descriptors/plugins/toasts-layout.plugin.js +20 -0
- package/dist/content/descriptors/plugins/toasts-names.plugin.d.ts +8 -0
- package/dist/content/descriptors/plugins/toasts-names.plugin.js +15 -0
- package/dist/content/descriptors/plugins/toasts-removal.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/toasts-removal.plugin.js +16 -0
- package/dist/content/descriptors/plugins/toasts-timer.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/toasts-timer.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tooltip-ids.plugin.d.ts +9 -0
- package/dist/content/descriptors/plugins/tooltip-ids.plugin.js +16 -0
- package/dist/content/descriptors/plugins/tooltip-trigger.plugin.d.ts +10 -0
- package/dist/content/descriptors/plugins/tooltip-trigger.plugin.js +23 -0
- package/dist/content/extensions/collection/collection-item.extension.class.d.ts +64 -0
- package/dist/content/extensions/collection/collection-item.extension.class.js +111 -0
- package/dist/content/extensions/collection/collection.extension.class.d.ts +21 -0
- package/dist/content/extensions/collection/collection.extension.class.js +57 -0
- package/dist/content/extensions/collection/index.d.ts +3 -0
- package/dist/content/extensions/collection/item-props.d.ts +13 -0
- package/dist/content/extensions/collection/item-props.js +20 -0
- package/dist/content/extensions/collection/keys.d.ts +23 -0
- package/dist/content/extensions/collection/keys.js +17 -0
- package/dist/content/extensions/collection/members.class.d.ts +24 -0
- package/dist/content/extensions/collection/members.class.js +18 -0
- package/dist/content/extensions/collection/types.d.ts +41 -0
- package/dist/content/extensions/drag-and-drop/drag-and-drop-collection.extension.class.d.ts +26 -0
- package/dist/content/extensions/drag-and-drop/drag-and-drop-collection.extension.class.js +34 -0
- package/dist/content/extensions/drag-and-drop/drag-and-drop.extension.class.d.ts +21 -0
- package/dist/content/extensions/drag-and-drop/drag-and-drop.extension.class.js +9 -0
- package/dist/content/extensions/drag-and-drop/index.d.ts +3 -0
- package/dist/content/extensions/drag-and-drop/keys.d.ts +15 -0
- package/dist/content/extensions/drag-and-drop/keys.js +9 -0
- package/dist/content/extensions/drag-and-drop/types.d.ts +10 -0
- package/dist/content/extensions/field/field-control.extension.class.d.ts +63 -0
- package/dist/content/extensions/field/field-control.extension.class.js +172 -0
- package/dist/content/extensions/field/field.extension.class.d.ts +21 -0
- package/dist/content/extensions/field/field.extension.class.js +14 -0
- package/dist/content/extensions/field/index.d.ts +3 -0
- package/dist/content/extensions/field/keys.d.ts +14 -0
- package/dist/content/extensions/field/keys.js +8 -0
- package/dist/content/extensions/field/types.d.ts +36 -0
- package/dist/content/extensions/index.d.ts +8 -0
- package/dist/content/extensions/item-group/index.d.ts +2 -0
- package/dist/content/extensions/item-group/item-group.extension.class.d.ts +49 -0
- package/dist/content/extensions/item-group/item-group.extension.class.js +91 -0
- package/dist/content/extensions/item-group/keys.d.ts +15 -0
- package/dist/content/extensions/item-group/keys.js +9 -0
- package/dist/content/extensions/item-group/types.d.ts +34 -0
- package/dist/content/extensions/menu/index.d.ts +3 -0
- package/dist/content/extensions/menu/keys.d.ts +10 -0
- package/dist/content/extensions/menu/keys.js +5 -0
- package/dist/content/extensions/menu/radio-group.extension.class.d.ts +22 -0
- package/dist/content/extensions/menu/radio-group.extension.class.js +9 -0
- package/dist/content/extensions/menu/radio-item.extension.class.d.ts +20 -0
- package/dist/content/extensions/menu/radio-item.extension.class.js +10 -0
- package/dist/content/extensions/menu/types.d.ts +10 -0
- package/dist/content/extensions/tabs/index.d.ts +2 -0
- package/dist/content/extensions/tabs/tabs-content-binding.extension.class.d.ts +69 -0
- package/dist/content/extensions/tabs/tabs-content-binding.extension.class.js +184 -0
- package/dist/content/extensions/tabs/types.d.ts +11 -0
- package/dist/content/extensions/toasts/index.d.ts +3 -0
- package/dist/content/extensions/toasts/keys.d.ts +11 -0
- package/dist/content/extensions/toasts/keys.js +5 -0
- package/dist/content/extensions/toasts/toasts-api.extension.class.d.ts +23 -0
- package/dist/content/extensions/toasts/toasts-api.extension.class.js +9 -0
- package/dist/content/extensions/toasts/types.d.ts +19 -0
- package/dist/content/extensions/virtual/index.d.ts +3 -0
- package/dist/content/extensions/virtual/keys.d.ts +15 -0
- package/dist/content/extensions/virtual/keys.js +8 -0
- package/dist/content/extensions/virtual/types.d.ts +40 -0
- package/dist/content/extensions/virtual/virtual-collection.extension.class.d.ts +33 -0
- package/dist/content/extensions/virtual/virtual-collection.extension.class.js +15 -0
- package/dist/content/extensions/virtual/virtual.extension.class.d.ts +36 -0
- package/dist/content/extensions/virtual/virtual.extension.class.js +74 -0
- package/dist/content/icons/index.d.ts +2 -0
- package/dist/content/icons/roles.d.ts +29 -0
- package/dist/content/icons/roles.js +36 -0
- package/dist/content/index.d.ts +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +236 -0
- package/dist/protected/adapter/common/index.d.ts +6 -0
- package/dist/protected/adapter/common/parts.d.ts +30 -0
- package/dist/protected/adapter/common/parts.js +35 -0
- package/dist/protected/adapter/common/props.types.d.ts +48 -0
- package/dist/protected/adapter/common/slots.d.ts +25 -0
- package/dist/protected/adapter/common/slots.js +25 -0
- package/dist/protected/adapter/common/slots.types.d.ts +37 -0
- package/dist/protected/adapter/common/state.d.ts +14 -0
- package/dist/protected/adapter/common/state.js +14 -0
- package/dist/protected/adapter/common/state.types.d.ts +39 -0
- package/dist/protected/adapter/context/adapter-context.class.d.ts +68 -0
- package/dist/protected/adapter/context/adapter-context.class.js +118 -0
- package/dist/protected/adapter/context/create-adapter-context.d.ts +34 -0
- package/dist/protected/adapter/context/create-adapter-context.js +91 -0
- package/dist/protected/adapter/context/external-plugins.class.d.ts +51 -0
- package/dist/protected/adapter/context/external-plugins.class.js +80 -0
- package/dist/protected/adapter/context/index.d.ts +2 -0
- package/dist/protected/adapter/context/own-bundle.class.d.ts +25 -0
- package/dist/protected/adapter/context/own-bundle.class.js +86 -0
- package/dist/protected/adapter/context/shared-bundle.class.d.ts +25 -0
- package/dist/protected/adapter/context/shared-bundle.class.js +24 -0
- package/dist/protected/adapter/context/types.d.ts +184 -0
- package/dist/protected/adapter/elevator/elevator.class.d.ts +21 -0
- package/dist/protected/adapter/elevator/elevator.class.js +19 -0
- package/dist/protected/adapter/elevator/index.d.ts +3 -0
- package/dist/protected/adapter/elevator/keys.d.ts +12 -0
- package/dist/protected/adapter/elevator/keys.js +7 -0
- package/dist/protected/adapter/elevator/types.d.ts +31 -0
- package/dist/protected/adapter/exchange/assembling.class.d.ts +39 -0
- package/dist/protected/adapter/exchange/assembling.class.js +55 -0
- package/dist/protected/adapter/exchange/cell.class.d.ts +31 -0
- package/dist/protected/adapter/exchange/cell.class.js +37 -0
- package/dist/protected/adapter/exchange/event-relay.class.d.ts +29 -0
- package/dist/protected/adapter/exchange/event-relay.class.js +53 -0
- package/dist/protected/adapter/exchange/exchange.class.d.ts +78 -0
- package/dist/protected/adapter/exchange/exchange.class.js +129 -0
- package/dist/protected/adapter/exchange/index.d.ts +8 -0
- package/dist/protected/adapter/exchange/input-port.class.d.ts +64 -0
- package/dist/protected/adapter/exchange/input-port.class.js +68 -0
- package/dist/protected/adapter/exchange/line.class.d.ts +53 -0
- package/dist/protected/adapter/exchange/line.class.js +39 -0
- package/dist/protected/adapter/exchange/member.class.d.ts +20 -0
- package/dist/protected/adapter/exchange/member.class.js +11 -0
- package/dist/protected/adapter/exchange/routing.class.d.ts +25 -0
- package/dist/protected/adapter/exchange/routing.class.js +94 -0
- package/dist/protected/adapter/exchange/state-store.class.d.ts +57 -0
- package/dist/protected/adapter/exchange/state-store.class.js +76 -0
- package/dist/protected/adapter/exchange/tap.class.d.ts +54 -0
- package/dist/protected/adapter/exchange/tap.class.js +51 -0
- package/dist/protected/adapter/exchange/types.d.ts +55 -0
- package/dist/protected/adapter/exchange/update-port.class.d.ts +25 -0
- package/dist/protected/adapter/exchange/update-port.class.js +26 -0
- package/dist/protected/adapter/exchange/value.d.ts +17 -0
- package/dist/protected/adapter/exchange/value.js +31 -0
- package/dist/protected/adapter/index.d.ts +5 -0
- package/dist/protected/adapter/surface/index.d.ts +2 -0
- package/dist/protected/adapter/surface/surface.class.d.ts +34 -0
- package/dist/protected/adapter/surface/surface.class.js +87 -0
- package/dist/protected/adapter/surface/types.d.ts +29 -0
- package/dist/protected/define/component-descriptor.class.d.ts +55 -0
- package/dist/protected/define/component-descriptor.class.js +112 -0
- package/dist/protected/define/component.d.ts +14 -0
- package/dist/protected/define/component.js +12 -0
- package/dist/protected/define/contribution.d.ts +20 -0
- package/dist/protected/define/contribution.js +18 -0
- package/dist/protected/define/contribution.types.d.ts +66 -0
- package/dist/protected/define/descriptor.d.ts +21 -0
- package/dist/protected/define/descriptor.js +27 -0
- package/dist/protected/define/index.d.ts +11 -0
- package/dist/protected/define/inference.types.d.ts +247 -0
- package/dist/protected/define/inherit.d.ts +21 -0
- package/dist/protected/define/inherit.js +11 -0
- package/dist/protected/define/name.class.d.ts +21 -0
- package/dist/protected/define/name.class.js +31 -0
- package/dist/protected/define/plugin-definition.class.d.ts +45 -0
- package/dist/protected/define/plugin-definition.class.js +49 -0
- package/dist/protected/define/plugin.d.ts +18 -0
- package/dist/protected/define/plugin.js +20 -0
- package/dist/protected/define/prop-spec.class.d.ts +70 -0
- package/dist/protected/define/prop-spec.class.js +79 -0
- package/dist/protected/define/prop-type.d.ts +12 -0
- package/dist/protected/define/prop-type.js +6 -0
- package/dist/protected/define/slot-declaration.class.d.ts +20 -0
- package/dist/protected/define/slot-declaration.class.js +14 -0
- package/dist/protected/define/types.d.ts +235 -0
- package/dist/protected/index.d.ts +4 -0
- package/dist/protected/naming/common-profile.d.ts +10 -0
- package/dist/protected/naming/common-profile.js +16 -0
- package/dist/protected/naming/index.d.ts +4 -0
- package/dist/protected/naming/naming.d.ts +33 -0
- package/dist/protected/naming/naming.js +34 -0
- package/dist/protected/naming/naming.types.d.ts +49 -0
- package/dist/protected/naming/strategy.types.d.ts +27 -0
- package/dist/protected/registry/extensions.d.ts +29 -0
- package/dist/protected/registry/extensions.js +28 -0
- package/dist/protected/registry/icons.d.ts +44 -0
- package/dist/protected/registry/icons.js +59 -0
- package/dist/protected/registry/index.d.ts +5 -0
- package/dist/protected/registry/plugins.d.ts +40 -0
- package/dist/protected/registry/plugins.js +29 -0
- package/dist/protected/registry/registrations.d.ts +15 -0
- package/dist/protected/registry/registrations.js +30 -0
- package/dist/protected/registry/theme.d.ts +29 -0
- package/dist/protected/registry/theme.js +40 -0
- package/dist/protected/registry/types.d.ts +85 -0
- package/package.json +44 -4
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Определение TTooltipTriggerPlugin (namespace `trigger`) — когда подсказка
|
|
3
|
+
* показывается и когда прячется.
|
|
4
|
+
*
|
|
5
|
+
* Наведение с задержкой, фокус с клавиатуры, нажатие и Escape ведут `open`
|
|
6
|
+
* владельца, см. `TTooltipTriggerPlugin`. Ставится после `TDismissPlugin`:
|
|
7
|
+
* берёт у него панель.
|
|
8
|
+
*/
|
|
9
|
+
import { TTooltipTriggerPlugin } from '@soxa-ui/plugins';
|
|
10
|
+
export declare const TooltipTriggerPluginDescriptor: import("../../..").IPluginDefinition<import("../../../protected/define/inference.types").TPluginContractFrom<TTooltipTriggerPlugin, "trigger", {}>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { definePlugin } from "../../../protected/define/plugin.js";
|
|
2
|
+
import { TTooltipTriggerPlugin } from "@soxa-ui/plugins";
|
|
3
|
+
//#region content/descriptors/plugins/tooltip-trigger.plugin.ts
|
|
4
|
+
/**
|
|
5
|
+
* Определение TTooltipTriggerPlugin (namespace `trigger`) — когда подсказка
|
|
6
|
+
* показывается и когда прячется.
|
|
7
|
+
*
|
|
8
|
+
* Наведение с задержкой, фокус с клавиатуры, нажатие и Escape ведут `open`
|
|
9
|
+
* владельца, см. `TTooltipTriggerPlugin`. Ставится после `TDismissPlugin`:
|
|
10
|
+
* берёт у него панель.
|
|
11
|
+
*/
|
|
12
|
+
var TooltipTriggerPluginDescriptor = definePlugin({
|
|
13
|
+
ctor: TTooltipTriggerPlugin,
|
|
14
|
+
namespace: "trigger",
|
|
15
|
+
/**
|
|
16
|
+
* Ничего не отдаёт наружу: открытость (`open`) и задержки — пропсы
|
|
17
|
+
* владельца. Контрибуция нужна лишь для того, чтобы `create` попал в
|
|
18
|
+
* события, как у любого плагина.
|
|
19
|
+
*/
|
|
20
|
+
contribution: {}
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { TooltipTriggerPluginDescriptor };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCollectionItemExtension — an item of a collection: its assembly on mount
|
|
3
|
+
* and its entry into the collection.
|
|
4
|
+
*
|
|
5
|
+
* The work follows the context's phases; when each comes is the adapter
|
|
6
|
+
* runtime's call:
|
|
7
|
+
*
|
|
8
|
+
* - **assembly** (constructor) — through the lift: the own collection's
|
|
9
|
+
* engine, its registrar and the markup group above the item; the item
|
|
10
|
+
* context goes into the facade, `meta` is taken from the props. Nothing is
|
|
11
|
+
* written into the owner's storage. The context releases the assembly props
|
|
12
|
+
* on `connect()`, so the extension is installed right after the context is
|
|
13
|
+
* created;
|
|
14
|
+
* - **entry** (`attach`) — registration in the owner's collection and
|
|
15
|
+
* `meta.apply`. This writes into someone else's storage, so it waits until
|
|
16
|
+
* the framework accepts the component: React assembles on render, and a
|
|
17
|
+
* discarded render would leave a phantom in the engine, while an item added
|
|
18
|
+
* after the mount would update its owner in the middle of a child's render.
|
|
19
|
+
* From entry to teardown the item's own context (`adapter`, its instance is
|
|
20
|
+
* the item) and the facade's are members of the collection
|
|
21
|
+
* (`TCollectionMembers`): when the whole
|
|
22
|
+
* collection comes down, the owner's `detach` detaches them, and an item
|
|
23
|
+
* does not hear its siblings leave;
|
|
24
|
+
* - **teardown** (`destroy`) — leaving the collection and releasing the item
|
|
25
|
+
* context.
|
|
26
|
+
*
|
|
27
|
+
* The own collection is the nearest one above, if the item is of it. The lift
|
|
28
|
+
* gives the nearest engine, and it may be foreign: a tag outside Tags under an
|
|
29
|
+
* app-wide `<Toasts>`, a tag or a radio in a Tabs panel. Whose an item is, the
|
|
30
|
+
* engine's factory knows (`factoryOf(...).isSource`): anything else it turns
|
|
31
|
+
* into an item of its own class — a radio entering Tabs became a tab — and the
|
|
32
|
+
* facade, lacking its own collection's extensions, failed to assemble. A
|
|
33
|
+
* foreign collection is treated as absent: no item context, no entry, no
|
|
34
|
+
* `meta`, the item renders on its own. There is no warning: under `<Toasts>`
|
|
35
|
+
* almost any single item stands under a foreign collection, legitimately.
|
|
36
|
+
*
|
|
37
|
+
* The item context (`TItemContext`) belongs to this mount. Its item adapters
|
|
38
|
+
* subscribe to the engine's extensions, and the engine outlives the mount: a
|
|
39
|
+
* data item hidden by a filter or a page stays in the collection and mounts
|
|
40
|
+
* again, React reassembles without unmounting (StrictMode, `<Activity>`). So
|
|
41
|
+
* teardown releases the context, or every show would leave subscribers on the
|
|
42
|
+
* engine, and clears the facade, since React rereads the state of a destroyed
|
|
43
|
+
* assembly and the facade would recreate the adapters. One context per item
|
|
44
|
+
* for all mounts would not do: a tab and its panel take the same item's
|
|
45
|
+
* context, and one releasing it would break the other.
|
|
46
|
+
*
|
|
47
|
+
* An item removed from the collection while mounted destroys its context
|
|
48
|
+
* (`TItemContext.destroy`). A markup item leaving on teardown is not a
|
|
49
|
+
* removal: `rendered` of an external `ctrl` stays as it is, and mounted again
|
|
50
|
+
* the item renders.
|
|
51
|
+
*
|
|
52
|
+
* An item inside a markup group (`Menu.Group`, `ListBox.Group` and the like)
|
|
53
|
+
* joins that group: the key lowered by `TItemGroupExtension` goes into the
|
|
54
|
+
* item's `meta` as `group`, the channel `_.group` takes in data. Only an item
|
|
55
|
+
* the entry adds to the list takes the key — a data item keeps the group of
|
|
56
|
+
* its data, even when the owner renders it inside a section — and only from
|
|
57
|
+
* its own collection: submenu items inside a menu group are the submenu's.
|
|
58
|
+
*/
|
|
59
|
+
import type { TInstanceContext } from '../../../protected/adapter/context';
|
|
60
|
+
import type { ICollectionItemExtensionOptions, TCollectionItemFacade } from './types';
|
|
61
|
+
export declare class TCollectionItemExtension {
|
|
62
|
+
private _leave;
|
|
63
|
+
constructor(context: TInstanceContext<TCollectionItemFacade>, options: ICollectionItemExtensionOptions);
|
|
64
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { COLLECTION_ENGINE_ELEVATOR, ITEM_CONTEXT_ELEVATOR } from "../../../protected/adapter/elevator/keys.js";
|
|
2
|
+
import { COLLECTION_MEMBERS_ELEVATOR } from "./keys.js";
|
|
3
|
+
import { ITEM_GROUP_ELEVATOR } from "../item-group/keys.js";
|
|
4
|
+
import { collectItemProps } from "./item-props.js";
|
|
5
|
+
import { TItemContext, batchOf, factoryOf, metaOf, plainOf } from "@soxa-ui/core";
|
|
6
|
+
//#region content/extensions/collection/collection-item.extension.class.ts
|
|
7
|
+
/**
|
|
8
|
+
* TCollectionItemExtension — an item of a collection: its assembly on mount
|
|
9
|
+
* and its entry into the collection.
|
|
10
|
+
*
|
|
11
|
+
* The work follows the context's phases; when each comes is the adapter
|
|
12
|
+
* runtime's call:
|
|
13
|
+
*
|
|
14
|
+
* - **assembly** (constructor) — through the lift: the own collection's
|
|
15
|
+
* engine, its registrar and the markup group above the item; the item
|
|
16
|
+
* context goes into the facade, `meta` is taken from the props. Nothing is
|
|
17
|
+
* written into the owner's storage. The context releases the assembly props
|
|
18
|
+
* on `connect()`, so the extension is installed right after the context is
|
|
19
|
+
* created;
|
|
20
|
+
* - **entry** (`attach`) — registration in the owner's collection and
|
|
21
|
+
* `meta.apply`. This writes into someone else's storage, so it waits until
|
|
22
|
+
* the framework accepts the component: React assembles on render, and a
|
|
23
|
+
* discarded render would leave a phantom in the engine, while an item added
|
|
24
|
+
* after the mount would update its owner in the middle of a child's render.
|
|
25
|
+
* From entry to teardown the item's own context (`adapter`, its instance is
|
|
26
|
+
* the item) and the facade's are members of the collection
|
|
27
|
+
* (`TCollectionMembers`): when the whole
|
|
28
|
+
* collection comes down, the owner's `detach` detaches them, and an item
|
|
29
|
+
* does not hear its siblings leave;
|
|
30
|
+
* - **teardown** (`destroy`) — leaving the collection and releasing the item
|
|
31
|
+
* context.
|
|
32
|
+
*
|
|
33
|
+
* The own collection is the nearest one above, if the item is of it. The lift
|
|
34
|
+
* gives the nearest engine, and it may be foreign: a tag outside Tags under an
|
|
35
|
+
* app-wide `<Toasts>`, a tag or a radio in a Tabs panel. Whose an item is, the
|
|
36
|
+
* engine's factory knows (`factoryOf(...).isSource`): anything else it turns
|
|
37
|
+
* into an item of its own class — a radio entering Tabs became a tab — and the
|
|
38
|
+
* facade, lacking its own collection's extensions, failed to assemble. A
|
|
39
|
+
* foreign collection is treated as absent: no item context, no entry, no
|
|
40
|
+
* `meta`, the item renders on its own. There is no warning: under `<Toasts>`
|
|
41
|
+
* almost any single item stands under a foreign collection, legitimately.
|
|
42
|
+
*
|
|
43
|
+
* The item context (`TItemContext`) belongs to this mount. Its item adapters
|
|
44
|
+
* subscribe to the engine's extensions, and the engine outlives the mount: a
|
|
45
|
+
* data item hidden by a filter or a page stays in the collection and mounts
|
|
46
|
+
* again, React reassembles without unmounting (StrictMode, `<Activity>`). So
|
|
47
|
+
* teardown releases the context, or every show would leave subscribers on the
|
|
48
|
+
* engine, and clears the facade, since React rereads the state of a destroyed
|
|
49
|
+
* assembly and the facade would recreate the adapters. One context per item
|
|
50
|
+
* for all mounts would not do: a tab and its panel take the same item's
|
|
51
|
+
* context, and one releasing it would break the other.
|
|
52
|
+
*
|
|
53
|
+
* An item removed from the collection while mounted destroys its context
|
|
54
|
+
* (`TItemContext.destroy`). A markup item leaving on teardown is not a
|
|
55
|
+
* removal: `rendered` of an external `ctrl` stays as it is, and mounted again
|
|
56
|
+
* the item renders.
|
|
57
|
+
*
|
|
58
|
+
* An item inside a markup group (`Menu.Group`, `ListBox.Group` and the like)
|
|
59
|
+
* joins that group: the key lowered by `TItemGroupExtension` goes into the
|
|
60
|
+
* item's `meta` as `group`, the channel `_.group` takes in data. Only an item
|
|
61
|
+
* the entry adds to the list takes the key — a data item keeps the group of
|
|
62
|
+
* its data, even when the owner renders it inside a section — and only from
|
|
63
|
+
* its own collection: submenu items inside a menu group are the submenu's.
|
|
64
|
+
*/
|
|
65
|
+
/** The nearest collection's engine, if the item is of it: its factory takes the item as its own. */
|
|
66
|
+
function ownEngine(engine, item) {
|
|
67
|
+
const factory = factoryOf(engine);
|
|
68
|
+
return factory && !factory.isSource(item) ? engine : void 0;
|
|
69
|
+
}
|
|
70
|
+
var TCollectionItemExtension = class {
|
|
71
|
+
_leave;
|
|
72
|
+
constructor(context, options) {
|
|
73
|
+
const { adapter, elevator } = options;
|
|
74
|
+
const item = adapter.instance;
|
|
75
|
+
const { props } = context;
|
|
76
|
+
if (!props) throw new Error("TCollectionItemExtension ставится до connect(): пропсы сборки, из которых берётся meta элемента, контекст уже отпустил");
|
|
77
|
+
const engine = ownEngine(elevator(ITEM_CONTEXT_ELEVATOR).up(), item);
|
|
78
|
+
const register = engine ? elevator(COLLECTION_ENGINE_ELEVATOR).up() : void 0;
|
|
79
|
+
const members = engine ? elevator(COLLECTION_MEMBERS_ELEVATOR).up() : void 0;
|
|
80
|
+
const link = engine ? elevator(ITEM_GROUP_ELEVATOR).up() : void 0;
|
|
81
|
+
const groupKey = link && link.engine === engine ? link.key : void 0;
|
|
82
|
+
const meta = collectItemProps(context.descriptor.props, props);
|
|
83
|
+
const itemContext = engine ? new TItemContext(item, engine.extensions) : void 0;
|
|
84
|
+
const plain = plainOf(engine);
|
|
85
|
+
if (itemContext) context.instance.setContext(itemContext);
|
|
86
|
+
const removed = (e) => {
|
|
87
|
+
if (e.item === item) itemContext?.destroy();
|
|
88
|
+
};
|
|
89
|
+
context.events.on("attach", () => {
|
|
90
|
+
plain?.events.on("item:removed", removed);
|
|
91
|
+
const grouped = groupKey !== void 0 && !batchOf(engine)?.items.includes(item);
|
|
92
|
+
if (grouped) link?.enter();
|
|
93
|
+
if (register) this._leave = register(item, context.bundle);
|
|
94
|
+
members?.add(adapter, context);
|
|
95
|
+
metaOf(engine)?.apply(item, grouped ? {
|
|
96
|
+
...meta,
|
|
97
|
+
group: groupKey
|
|
98
|
+
} : meta);
|
|
99
|
+
});
|
|
100
|
+
context.events.on("destroy", () => {
|
|
101
|
+
plain?.events.off("item:removed", removed);
|
|
102
|
+
members?.delete(adapter, context);
|
|
103
|
+
this._leave?.();
|
|
104
|
+
this._leave = void 0;
|
|
105
|
+
context.instance.clearContext();
|
|
106
|
+
itemContext?.release();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
//#endregion
|
|
111
|
+
export { TCollectionItemExtension };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCollectionExtension — the single entry point that sets up a collection. The
|
|
3
|
+
* facade owns the `engine`.
|
|
4
|
+
*
|
|
5
|
+
* It binds the engine to the bundle registry and lowers to the children,
|
|
6
|
+
* through the lift: the engine (`ITEM_CONTEXT_ELEVATOR`), the item registrar
|
|
7
|
+
* (`COLLECTION_ENGINE_ELEVATOR`), the bundle registry
|
|
8
|
+
* (`COLLECTION_BUNDLES_ELEVATOR`) and the members (`COLLECTION_MEMBERS_ELEVATOR`).
|
|
9
|
+
*
|
|
10
|
+
* The registry is for children that do not enter the collection but are tied
|
|
11
|
+
* to its items: a `Tabs.Content` panel hands its `id` to its tab's link plugin
|
|
12
|
+
* and finds the bundle of the tab's current mount in the registry. The
|
|
13
|
+
* members are detached by the owner's `detach` (`TCollectionMembers`).
|
|
14
|
+
*/
|
|
15
|
+
import type { TInstanceContext } from '../../../protected/adapter/context';
|
|
16
|
+
import type { ICollectionExtensionOptions, TCollectionOwner } from './types';
|
|
17
|
+
export declare class TCollectionExtension {
|
|
18
|
+
constructor(context: TInstanceContext<TCollectionOwner>, options: ICollectionExtensionOptions);
|
|
19
|
+
/** Binds the engine to the plugins and lowers the item registrar through the lift. */
|
|
20
|
+
private _wire;
|
|
21
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { applyRegisteredExtensions } from "../../../protected/registry/extensions.js";
|
|
2
|
+
import { COLLECTION_ENGINE_ELEVATOR, ITEM_CONTEXT_ELEVATOR } from "../../../protected/adapter/elevator/keys.js";
|
|
3
|
+
import { COLLECTION_BUNDLES_ELEVATOR, COLLECTION_MEMBERS_ELEVATOR } from "./keys.js";
|
|
4
|
+
import { TCollectionMembers } from "./members.class.js";
|
|
5
|
+
import { batchOf, plainOf } from "@soxa-ui/core";
|
|
6
|
+
import { TCollectionBundlesPlugin } from "@soxa-ui/plugins";
|
|
7
|
+
//#region content/extensions/collection/collection.extension.class.ts
|
|
8
|
+
/**
|
|
9
|
+
* TCollectionExtension — the single entry point that sets up a collection. The
|
|
10
|
+
* facade owns the `engine`.
|
|
11
|
+
*
|
|
12
|
+
* It binds the engine to the bundle registry and lowers to the children,
|
|
13
|
+
* through the lift: the engine (`ITEM_CONTEXT_ELEVATOR`), the item registrar
|
|
14
|
+
* (`COLLECTION_ENGINE_ELEVATOR`), the bundle registry
|
|
15
|
+
* (`COLLECTION_BUNDLES_ELEVATOR`) and the members (`COLLECTION_MEMBERS_ELEVATOR`).
|
|
16
|
+
*
|
|
17
|
+
* The registry is for children that do not enter the collection but are tied
|
|
18
|
+
* to its items: a `Tabs.Content` panel hands its `id` to its tab's link plugin
|
|
19
|
+
* and finds the bundle of the tab's current mount in the registry. The
|
|
20
|
+
* members are detached by the owner's `detach` (`TCollectionMembers`).
|
|
21
|
+
*/
|
|
22
|
+
var TCollectionExtension = class {
|
|
23
|
+
constructor(context, options) {
|
|
24
|
+
const { elevator } = options;
|
|
25
|
+
const engine = context.instance.engine;
|
|
26
|
+
if (!engine) throw new Error("Engine is not available in the engine instance.");
|
|
27
|
+
elevator(ITEM_CONTEXT_ELEVATOR).down(engine);
|
|
28
|
+
this._wire(context, elevator, engine);
|
|
29
|
+
const members = new TCollectionMembers();
|
|
30
|
+
elevator(COLLECTION_MEMBERS_ELEVATOR).down(members);
|
|
31
|
+
context.events.on("detach", () => members.detach());
|
|
32
|
+
context.events.on("attach", () => context.instance.bindOwner());
|
|
33
|
+
context.events.on("destroy", () => context.instance.releaseOwner());
|
|
34
|
+
}
|
|
35
|
+
/** Binds the engine to the plugins and lowers the item registrar through the lift. */
|
|
36
|
+
_wire(context, elevator, engine) {
|
|
37
|
+
const bundles = context.bundle?.get(TCollectionBundlesPlugin);
|
|
38
|
+
if (bundles) bundles.bindEngine(engine);
|
|
39
|
+
elevator(COLLECTION_BUNDLES_ELEVATOR).down(bundles ?? null);
|
|
40
|
+
const owner = context.bundle?.getInstance();
|
|
41
|
+
if (owner) applyRegisteredExtensions(owner, engine, { embedded: context.embedded });
|
|
42
|
+
elevator(COLLECTION_ENGINE_ELEVATOR).down((instance, bundle) => {
|
|
43
|
+
const batch = batchOf(engine);
|
|
44
|
+
const owned = !batch?.items.includes(instance);
|
|
45
|
+
if (owned) plainOf(engine)?.push(instance);
|
|
46
|
+
const release = owned ? batch?.hold(instance) : void 0;
|
|
47
|
+
if (bundle) bundles?.register(bundle, instance);
|
|
48
|
+
return () => {
|
|
49
|
+
release?.();
|
|
50
|
+
if (owned) plainOf(engine)?.remove(instance);
|
|
51
|
+
else if (bundle) bundles?.release(bundle, instance);
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
export { TCollectionExtension };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TCollectionExtension } from './collection.extension.class';
|
|
2
|
+
export { TCollectionItemExtension } from './collection-item.extension.class';
|
|
3
|
+
export type { ICollectionExtensionOptions, ICollectionItemExtensionOptions, TCollectionItemFacade, TCollectionOwner, TMemberAdapter, } from './types';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Входные пропсы элемента коллекции, объявленные его дескриптором, — для `meta` движка.
|
|
3
|
+
*/
|
|
4
|
+
import type { TPropSpec } from '../../../protected/define';
|
|
5
|
+
/**
|
|
6
|
+
* Собрать значения входных (не protected) пропсов, объявленных в `decls`,
|
|
7
|
+
* из набора `props`. Ключ результата — сырое имя пропса (`decl.name.name`).
|
|
8
|
+
*
|
|
9
|
+
* Потребитель один — `TCollectionItemExtension`, поэтому наружу пакета функция
|
|
10
|
+
* не выходит: разметка передала элементу `active`/`selected`, и расширение
|
|
11
|
+
* кладёт их в `meta` движка, где состав элемента и живёт.
|
|
12
|
+
*/
|
|
13
|
+
export declare function collectItemProps(decls: readonly TPropSpec[], props: object): Record<string, unknown>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region content/extensions/collection/item-props.ts
|
|
2
|
+
/**
|
|
3
|
+
* Собрать значения входных (не protected) пропсов, объявленных в `decls`,
|
|
4
|
+
* из набора `props`. Ключ результата — сырое имя пропса (`decl.name.name`).
|
|
5
|
+
*
|
|
6
|
+
* Потребитель один — `TCollectionItemExtension`, поэтому наружу пакета функция
|
|
7
|
+
* не выходит: разметка передала элементу `active`/`selected`, и расширение
|
|
8
|
+
* кладёт их в `meta` движка, где состав элемента и живёт.
|
|
9
|
+
*/
|
|
10
|
+
function collectItemProps(decls, props) {
|
|
11
|
+
const result = {};
|
|
12
|
+
for (const decl of decls) {
|
|
13
|
+
if (decl.protected) continue;
|
|
14
|
+
const value = Reflect.get(props, decl.name.name);
|
|
15
|
+
if (value !== void 0) result[decl.name.name] = value;
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { collectItemProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lift keys of the collection, lowered by its owner beside the engine. They
|
|
3
|
+
* live apart from the wiring, as the group key (`ITEM_GROUP_ELEVATOR`) does:
|
|
4
|
+
* the lift takes any key, so keys belong to the content, not to the lift's
|
|
5
|
+
* mechanics.
|
|
6
|
+
*/
|
|
7
|
+
import type { TCollectionBundlesPlugin } from '@soxa-ui/plugins';
|
|
8
|
+
import type { IElevatorKey } from '../../../protected/adapter/elevator';
|
|
9
|
+
import type { TCollectionMembers } from './members.class';
|
|
10
|
+
/**
|
|
11
|
+
* The registry of the nearest collection's item bundles
|
|
12
|
+
* (`TCollectionBundlesPlugin`), of the same owner as the engine under
|
|
13
|
+
* `ITEM_CONTEXT_ELEVATOR`; an item's bundle in it is of its current mount. An
|
|
14
|
+
* owner without a registry lowers `null`, so that a collection's registry
|
|
15
|
+
* above does not reach its subtree.
|
|
16
|
+
*/
|
|
17
|
+
export declare const COLLECTION_BUNDLES_ELEVATOR: IElevatorKey<TCollectionBundlesPlugin | null>;
|
|
18
|
+
/**
|
|
19
|
+
* The members of the nearest collection, of the same owner as the engine: an
|
|
20
|
+
* item and a part bound to an item join on entry and leave when their mount
|
|
21
|
+
* ends.
|
|
22
|
+
*/
|
|
23
|
+
export declare const COLLECTION_MEMBERS_ELEVATOR: IElevatorKey<TCollectionMembers>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region content/extensions/collection/keys.ts
|
|
2
|
+
/**
|
|
3
|
+
* The registry of the nearest collection's item bundles
|
|
4
|
+
* (`TCollectionBundlesPlugin`), of the same owner as the engine under
|
|
5
|
+
* `ITEM_CONTEXT_ELEVATOR`; an item's bundle in it is of its current mount. An
|
|
6
|
+
* owner without a registry lowers `null`, so that a collection's registry
|
|
7
|
+
* above does not reach its subtree.
|
|
8
|
+
*/
|
|
9
|
+
var COLLECTION_BUNDLES_ELEVATOR = { name: "soxa:collection-bundles" };
|
|
10
|
+
/**
|
|
11
|
+
* The members of the nearest collection, of the same owner as the engine: an
|
|
12
|
+
* item and a part bound to an item join on entry and leave when their mount
|
|
13
|
+
* ends.
|
|
14
|
+
*/
|
|
15
|
+
var COLLECTION_MEMBERS_ELEVATOR = { name: "soxa:collection-members" };
|
|
16
|
+
//#endregion
|
|
17
|
+
export { COLLECTION_BUNDLES_ELEVATOR, COLLECTION_MEMBERS_ELEVATOR };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCollectionMembers — the contexts of a collection's members mounted now:
|
|
3
|
+
* its items and the parts bound to them (a panel of Tabs). The collection
|
|
4
|
+
* detaches them with itself.
|
|
5
|
+
*
|
|
6
|
+
* A framework that removes a subtree in one pass (Svelte, Solid, Angular)
|
|
7
|
+
* destroys the members one by one: the first to go leaves the collection, and
|
|
8
|
+
* the others — still mounted — hear their order and the activation move. Two
|
|
9
|
+
* passes (Vue, React) end every subscription before anything is destroyed.
|
|
10
|
+
* The owner's `detach` is the first moment of its teardown in every adapter,
|
|
11
|
+
* before its children go, so the collection reports it to its members as
|
|
12
|
+
* their own (`IAdapterContext.detach`), and what follows is up to the
|
|
13
|
+
* adapter: the consumer hears nothing from then on.
|
|
14
|
+
*/
|
|
15
|
+
import type { IDetachable } from './types';
|
|
16
|
+
export declare class TCollectionMembers {
|
|
17
|
+
private readonly _contexts;
|
|
18
|
+
/** A member joined the collection: its contexts. */
|
|
19
|
+
add(...contexts: readonly IDetachable[]): void;
|
|
20
|
+
/** A member's mount ended. */
|
|
21
|
+
delete(...contexts: readonly IDetachable[]): void;
|
|
22
|
+
/** The collection began coming down: its members did too. */
|
|
23
|
+
detach(): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region content/extensions/collection/members.class.ts
|
|
2
|
+
var TCollectionMembers = class {
|
|
3
|
+
_contexts = /* @__PURE__ */ new Set();
|
|
4
|
+
/** A member joined the collection: its contexts. */
|
|
5
|
+
add(...contexts) {
|
|
6
|
+
for (const context of contexts) this._contexts.add(context);
|
|
7
|
+
}
|
|
8
|
+
/** A member's mount ended. */
|
|
9
|
+
delete(...contexts) {
|
|
10
|
+
for (const context of contexts) this._contexts.delete(context);
|
|
11
|
+
}
|
|
12
|
+
/** The collection began coming down: its members did too. */
|
|
13
|
+
detach() {
|
|
14
|
+
for (const context of this._contexts) context.detach();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { TCollectionMembers };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contracts of the collection extensions: the instance each is installed on, and its options.
|
|
3
|
+
*/
|
|
4
|
+
import type { TCollectionEngine, TItemContext } from '@soxa-ui/core';
|
|
5
|
+
import type { TInstanceContext } from '../../../protected/adapter/context';
|
|
6
|
+
import type { TElevatorFactory } from '../../../protected/adapter/elevator';
|
|
7
|
+
/**
|
|
8
|
+
* The instance `TCollectionExtension` is installed on: the facade that owns
|
|
9
|
+
* the collection. Acceptance binds the owner to the engine, destruction
|
|
10
|
+
* releases it.
|
|
11
|
+
*/
|
|
12
|
+
export type TCollectionOwner = {
|
|
13
|
+
readonly engine: TCollectionEngine<any, any>;
|
|
14
|
+
bindOwner(): void;
|
|
15
|
+
releaseOwner(): void;
|
|
16
|
+
};
|
|
17
|
+
export interface ICollectionExtensionOptions {
|
|
18
|
+
elevator: TElevatorFactory;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The instance `TCollectionItemExtension` is installed on: the item facade,
|
|
22
|
+
* which takes the item context for the mount and lets it go at the end.
|
|
23
|
+
*/
|
|
24
|
+
export type TCollectionItemFacade = {
|
|
25
|
+
setContext(context: TItemContext<any, any>): void;
|
|
26
|
+
clearContext(): void;
|
|
27
|
+
};
|
|
28
|
+
/** A context the collection detaches with itself (`TCollectionMembers`). */
|
|
29
|
+
export interface IDetachable {
|
|
30
|
+
detach(): void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The own adapter context of a collection member, of its own descriptor, not
|
|
34
|
+
* of the facade: its instance is the collection's item, and the collection
|
|
35
|
+
* detaches it with itself.
|
|
36
|
+
*/
|
|
37
|
+
export type TMemberAdapter<TInstance extends object = object> = Pick<TInstanceContext<TInstance>, 'instance' | 'detach'>;
|
|
38
|
+
export interface ICollectionItemExtensionOptions {
|
|
39
|
+
adapter: TMemberAdapter;
|
|
40
|
+
elevator: TElevatorFactory;
|
|
41
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDragAndDropCollectionExtension — коллекция подхватывает обёртку `DragAndDrop` над собой.
|
|
3
|
+
*
|
|
4
|
+
* Обёртку опускает по лифту её проводка (`TDragAndDropExtension`). Коллекция
|
|
5
|
+
* берёт её при сборке и включает плагин перетаскивания своего набора
|
|
6
|
+
* (`TDragPlugin`) — своим движком и обёрткой: жест плагин переводит в команду
|
|
7
|
+
* обёртки (`IDragAndDrop.move`), и о перестановке сообщают её события.
|
|
8
|
+
*
|
|
9
|
+
* Обёртки выше нет — коллекция не перетаскивается.
|
|
10
|
+
*
|
|
11
|
+
* Своему поддереву коллекция опускает пустое значение: списки в её элементах
|
|
12
|
+
* (ListBox в секции Accordion) перестановку не наследуют.
|
|
13
|
+
*
|
|
14
|
+
* Фаз контекста у подхвата нет: на шину обёртки коллекция не подписывается,
|
|
15
|
+
* а плагин уходит вместе с её набором.
|
|
16
|
+
*
|
|
17
|
+
* Использование:
|
|
18
|
+
* adapter.use(TCollectionExtension, { elevator: VueElevatorFactory })
|
|
19
|
+
* .use(TDragAndDropCollectionExtension, { elevator: VueElevatorFactory })
|
|
20
|
+
*/
|
|
21
|
+
import type { TInstanceContext } from '../../../protected/adapter/context';
|
|
22
|
+
import type { TCollectionOwner } from '../collection';
|
|
23
|
+
import type { IDragAndDropCollectionExtensionOptions } from './types';
|
|
24
|
+
export declare class TDragAndDropCollectionExtension {
|
|
25
|
+
constructor(context: TInstanceContext<TCollectionOwner>, options: IDragAndDropCollectionExtensionOptions);
|
|
26
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DRAG_AND_DROP_ELEVATOR } from "./keys.js";
|
|
2
|
+
import { TDragPlugin } from "@soxa-ui/plugins";
|
|
3
|
+
//#region content/extensions/drag-and-drop/drag-and-drop-collection.extension.class.ts
|
|
4
|
+
/**
|
|
5
|
+
* TDragAndDropCollectionExtension — коллекция подхватывает обёртку `DragAndDrop` над собой.
|
|
6
|
+
*
|
|
7
|
+
* Обёртку опускает по лифту её проводка (`TDragAndDropExtension`). Коллекция
|
|
8
|
+
* берёт её при сборке и включает плагин перетаскивания своего набора
|
|
9
|
+
* (`TDragPlugin`) — своим движком и обёрткой: жест плагин переводит в команду
|
|
10
|
+
* обёртки (`IDragAndDrop.move`), и о перестановке сообщают её события.
|
|
11
|
+
*
|
|
12
|
+
* Обёртки выше нет — коллекция не перетаскивается.
|
|
13
|
+
*
|
|
14
|
+
* Своему поддереву коллекция опускает пустое значение: списки в её элементах
|
|
15
|
+
* (ListBox в секции Accordion) перестановку не наследуют.
|
|
16
|
+
*
|
|
17
|
+
* Фаз контекста у подхвата нет: на шину обёртки коллекция не подписывается,
|
|
18
|
+
* а плагин уходит вместе с её набором.
|
|
19
|
+
*
|
|
20
|
+
* Использование:
|
|
21
|
+
* adapter.use(TCollectionExtension, { elevator: VueElevatorFactory })
|
|
22
|
+
* .use(TDragAndDropCollectionExtension, { elevator: VueElevatorFactory })
|
|
23
|
+
*/
|
|
24
|
+
var TDragAndDropCollectionExtension = class {
|
|
25
|
+
constructor(context, options) {
|
|
26
|
+
const elevator = options.elevator(DRAG_AND_DROP_ELEVATOR);
|
|
27
|
+
const dragAndDrop = elevator.up();
|
|
28
|
+
elevator.down(null);
|
|
29
|
+
if (!dragAndDrop) return;
|
|
30
|
+
context.bundle?.get(TDragPlugin)?.activate(context.instance.engine, dragAndDrop);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { TDragAndDropCollectionExtension };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDragAndDropExtension — проводка обёртки `DragAndDrop`: перестановка коллекциям внутри неё.
|
|
3
|
+
*
|
|
4
|
+
* Обёртка опускает по лифту свой экземпляр, а коллекция внутри подхватывает
|
|
5
|
+
* его при сборке (`TDragAndDropCollectionExtension`) и включает им свой плагин
|
|
6
|
+
* перетаскивания: жест коллекции становится командой обёртки
|
|
7
|
+
* (`IDragAndDrop.move`), со своими событиями.
|
|
8
|
+
*
|
|
9
|
+
* Фаз контекста у проводки нет, в отличие от окна (`TVirtualExtension`): на
|
|
10
|
+
* шину обёртки никто не подписан — плагин коллекции только зовёт её команду и
|
|
11
|
+
* уходит вместе с набором коллекции.
|
|
12
|
+
*
|
|
13
|
+
* Использование:
|
|
14
|
+
* adapter.use(TDragAndDropExtension, { elevator: VueElevatorFactory })
|
|
15
|
+
*/
|
|
16
|
+
import type { IDragAndDrop } from '@soxa-ui/core';
|
|
17
|
+
import type { TInstanceContext } from '../../../protected/adapter/context';
|
|
18
|
+
import type { IDragAndDropExtensionOptions } from './types';
|
|
19
|
+
export declare class TDragAndDropExtension {
|
|
20
|
+
constructor(context: TInstanceContext<IDragAndDrop>, options: IDragAndDropExtensionOptions);
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DRAG_AND_DROP_ELEVATOR } from "./keys.js";
|
|
2
|
+
//#region content/extensions/drag-and-drop/drag-and-drop.extension.class.ts
|
|
3
|
+
var TDragAndDropExtension = class {
|
|
4
|
+
constructor(context, options) {
|
|
5
|
+
options.elevator(DRAG_AND_DROP_ELEVATOR).down(context.instance);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { TDragAndDropExtension };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ключ лифта перестановки: обёртка `DragAndDrop` опускает по нему коллекциям внутри себя свой экземпляр.
|
|
3
|
+
*
|
|
4
|
+
* Лежит отдельно от проводки обёртки, как ключ окна (`virtual/keys.ts`):
|
|
5
|
+
* коллекция импортирует ключ и типы, а не проводку обёртки. Лифт берёт любой
|
|
6
|
+
* ключ, поэтому ключ — в наполнении, а не в механике лифта.
|
|
7
|
+
*/
|
|
8
|
+
import type { IDragAndDrop } from '@soxa-ui/core';
|
|
9
|
+
import type { IElevatorKey } from '../../../protected/adapter/elevator';
|
|
10
|
+
/**
|
|
11
|
+
* Обёртка, командой которой коллекция переставляет свои элементы. Пустое
|
|
12
|
+
* значение опускает своему поддереву сама коллекция: списки в её элементах
|
|
13
|
+
* перестановку не наследуют.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DRAG_AND_DROP_ELEVATOR: IElevatorKey<IDragAndDrop | null>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region content/extensions/drag-and-drop/keys.ts
|
|
2
|
+
/**
|
|
3
|
+
* Обёртка, командой которой коллекция переставляет свои элементы. Пустое
|
|
4
|
+
* значение опускает своему поддереву сама коллекция: списки в её элементах
|
|
5
|
+
* перестановку не наследуют.
|
|
6
|
+
*/
|
|
7
|
+
var DRAG_AND_DROP_ELEVATOR = { name: "soxa:drag-and-drop" };
|
|
8
|
+
//#endregion
|
|
9
|
+
export { DRAG_AND_DROP_ELEVATOR };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Опции расширений drag-and-drop: лифт, по которому обёртка идёт к коллекциям.
|
|
3
|
+
*/
|
|
4
|
+
import type { TElevatorFactory } from '../../../protected/adapter/elevator';
|
|
5
|
+
export interface IDragAndDropExtensionOptions {
|
|
6
|
+
elevator: TElevatorFactory;
|
|
7
|
+
}
|
|
8
|
+
export interface IDragAndDropCollectionExtensionOptions {
|
|
9
|
+
elevator: TElevatorFactory;
|
|
10
|
+
}
|