@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +483 -0
- package/README.md +10 -2
- package/_adapters/collection.d.ts +160 -0
- package/_adapters/collection.js +235 -0
- package/_adapters/collections.d.ts +325 -0
- package/_adapters/collections.js +934 -0
- package/_adapters/dom-collection.d.ts +42 -0
- package/_adapters/dom-collection.js +228 -0
- package/_adapters/grid-selection.d.ts +115 -0
- package/_adapters/grid-selection.js +436 -0
- package/_adapters/interactions.d.ts +19 -0
- package/_adapters/interactions.js +45 -0
- package/_adapters/intl.d.ts +8 -0
- package/_adapters/intl.js +106 -0
- package/_adapters/press.d.ts +22 -0
- package/_adapters/press.js +34 -0
- package/_adapters/selectable.d.ts +132 -0
- package/_adapters/selectable.js +599 -0
- package/_adapters/selection.d.ts +109 -0
- package/_adapters/selection.js +685 -0
- package/_adapters/type-select.d.ts +8 -0
- package/_adapters/type-select.js +59 -0
- package/a11y/aria-describer.d.ts +46 -0
- package/a11y/aria-describer.js +169 -0
- package/a11y/focus-monitor.d.ts +98 -0
- package/a11y/focus-monitor.js +321 -0
- package/a11y/focus-trap.d.ts +137 -0
- package/a11y/focus-trap.js +378 -0
- package/a11y/high-contrast.d.ts +26 -0
- package/a11y/high-contrast.js +84 -0
- package/a11y/index.d.ts +37 -0
- package/a11y/index.js +97 -0
- package/a11y/interactivity-checker.d.ts +18 -0
- package/a11y/interactivity-checker.js +126 -0
- package/a11y/key-manager.d.ts +152 -0
- package/a11y/key-manager.js +397 -0
- package/a11y/live-announcer.d.ts +53 -0
- package/a11y/live-announcer.js +143 -0
- package/accordion/index.d.ts +2 -0
- package/accordion/index.jsx +10 -0
- package/announcer/index.d.ts +8 -0
- package/announcer/index.jsx +22 -0
- package/announcer/live-announcer.d.ts +15 -0
- package/announcer/live-announcer.js +123 -0
- package/autocomplete/behaviour.d.ts +94 -0
- package/autocomplete/behaviour.jsx +423 -0
- package/autocomplete/contexts.d.ts +54 -0
- package/autocomplete/contexts.js +28 -0
- package/autocomplete/index.d.ts +12 -0
- package/autocomplete/index.jsx +31 -0
- package/autocomplete/intl.d.ts +2 -0
- package/autocomplete/intl.js +36 -0
- package/bidi/bidi-dir.d.ts +23 -0
- package/bidi/bidi-dir.jsx +36 -0
- package/bidi/index.d.ts +58 -0
- package/bidi/index.js +84 -0
- package/breadcrumbs/behaviour.d.ts +6 -0
- package/breadcrumbs/behaviour.js +17 -0
- package/breadcrumbs/index.d.ts +68 -0
- package/breadcrumbs/index.jsx +224 -0
- package/breadcrumbs/intl.d.ts +3 -0
- package/breadcrumbs/intl.js +104 -0
- package/button/behaviour.d.ts +61 -0
- package/button/behaviour.js +90 -0
- package/button/index.d.ts +38 -0
- package/button/index.jsx +374 -0
- package/button/press.d.ts +25 -0
- package/button/press.js +54 -0
- package/calendar/behaviour.d.ts +250 -0
- package/calendar/behaviour.jsx +939 -0
- package/calendar/index.d.ts +157 -0
- package/calendar/index.jsx +484 -0
- package/calendar/intl.d.ts +3 -0
- package/calendar/intl.js +36 -0
- package/carousel/behaviour.d.ts +50 -0
- package/carousel/behaviour.jsx +365 -0
- package/carousel/engine/Alignment.d.ts +5 -0
- package/carousel/engine/Alignment.js +24 -0
- package/carousel/engine/Animations.d.ts +13 -0
- package/carousel/engine/Animations.js +28 -0
- package/carousel/engine/Axis.d.ts +14 -0
- package/carousel/engine/Axis.js +35 -0
- package/carousel/engine/Counter.d.ts +7 -0
- package/carousel/engine/Counter.js +32 -0
- package/carousel/engine/DragHandler.d.ts +22 -0
- package/carousel/engine/DragHandler.js +141 -0
- package/carousel/engine/DragTracker.d.ts +10 -0
- package/carousel/engine/DragTracker.js +29 -0
- package/carousel/engine/EmblaCarousel.d.ts +32 -0
- package/carousel/engine/EmblaCarousel.js +177 -0
- package/carousel/engine/Engine.d.ts +64 -0
- package/carousel/engine/Engine.js +137 -0
- package/carousel/engine/EventHandler.d.ts +27 -0
- package/carousel/engine/EventHandler.js +33 -0
- package/carousel/engine/EventStore.d.ts +9 -0
- package/carousel/engine/EventStore.js +25 -0
- package/carousel/engine/NodeRects.d.ts +12 -0
- package/carousel/engine/NodeRects.js +18 -0
- package/carousel/engine/Options.d.ts +40 -0
- package/carousel/engine/Options.js +22 -0
- package/carousel/engine/OptionsHandler.d.ts +10 -0
- package/carousel/engine/OptionsHandler.js +26 -0
- package/carousel/engine/PercentOfView.d.ts +4 -0
- package/carousel/engine/PercentOfView.js +9 -0
- package/carousel/engine/Plugins.d.ts +16 -0
- package/carousel/engine/Plugins.js +1 -0
- package/carousel/engine/PluginsHandler.d.ts +8 -0
- package/carousel/engine/PluginsHandler.js +16 -0
- package/carousel/engine/ResizeHandler.d.ts +13 -0
- package/carousel/engine/ResizeHandler.js +51 -0
- package/carousel/engine/ScrollBounds.d.ts +10 -0
- package/carousel/engine/ScrollBounds.js +41 -0
- package/carousel/engine/ScrollContain.d.ts +7 -0
- package/carousel/engine/ScrollContain.js +52 -0
- package/carousel/engine/ScrollLimit.d.ts +5 -0
- package/carousel/engine/ScrollLimit.js +13 -0
- package/carousel/engine/ScrollLooper.d.ts +6 -0
- package/carousel/engine/ScrollLooper.js +26 -0
- package/carousel/engine/ScrollProgress.d.ts +5 -0
- package/carousel/engine/ScrollProgress.js +11 -0
- package/carousel/engine/ScrollSnaps.d.ts +9 -0
- package/carousel/engine/ScrollSnaps.js +26 -0
- package/carousel/engine/ScrollTarget.d.ts +12 -0
- package/carousel/engine/ScrollTarget.js +47 -0
- package/carousel/engine/ScrollTo.d.ts +11 -0
- package/carousel/engine/ScrollTo.js +36 -0
- package/carousel/engine/SlideFocus.d.ts +13 -0
- package/carousel/engine/SlideFocus.js +39 -0
- package/carousel/engine/SlideLooper.d.ts +18 -0
- package/carousel/engine/SlideLooper.js +78 -0
- package/carousel/engine/SlideRegistry.d.ts +7 -0
- package/carousel/engine/SlideRegistry.js +31 -0
- package/carousel/engine/SlideSizes.d.ts +10 -0
- package/carousel/engine/SlideSizes.js +41 -0
- package/carousel/engine/SlidesHandler.d.ts +10 -0
- package/carousel/engine/SlidesHandler.js +36 -0
- package/carousel/engine/SlidesInView.d.ts +8 -0
- package/carousel/engine/SlidesInView.js +59 -0
- package/carousel/engine/SlidesToScroll.d.ts +7 -0
- package/carousel/engine/SlidesToScroll.js +41 -0
- package/carousel/engine/Translate.d.ts +7 -0
- package/carousel/engine/Translate.js +38 -0
- package/carousel/engine/index.d.ts +11 -0
- package/carousel/engine/index.js +1 -0
- package/carousel/engine/utils.d.ts +15 -0
- package/carousel/engine/utils.js +45 -0
- package/carousel/index.d.ts +202 -0
- package/carousel/index.jsx +469 -0
- package/carousel/plugins/auto-height/AutoHeight.d.ts +14 -0
- package/carousel/plugins/auto-height/AutoHeight.js +43 -0
- package/carousel/plugins/auto-height/Options.d.ts +2 -0
- package/carousel/plugins/auto-height/Options.js +1 -0
- package/carousel/plugins/auto-height/index.d.ts +2 -0
- package/carousel/plugins/auto-height/index.js +1 -0
- package/carousel/plugins/auto-scroll/AutoScroll.d.ts +25 -0
- package/carousel/plugins/auto-scroll/AutoScroll.js +185 -0
- package/carousel/plugins/auto-scroll/Options.d.ts +13 -0
- package/carousel/plugins/auto-scroll/Options.js +12 -0
- package/carousel/plugins/auto-scroll/index.d.ts +2 -0
- package/carousel/plugins/auto-scroll/index.js +1 -0
- package/carousel/plugins/auto-scroll/utils.d.ts +3 -0
- package/carousel/plugins/auto-scroll/utils.js +4 -0
- package/carousel/plugins/autoplay/Autoplay.d.ts +29 -0
- package/carousel/plugins/autoplay/Autoplay.js +173 -0
- package/carousel/plugins/autoplay/Options.d.ts +14 -0
- package/carousel/plugins/autoplay/Options.js +12 -0
- package/carousel/plugins/autoplay/index.d.ts +2 -0
- package/carousel/plugins/autoplay/index.js +1 -0
- package/carousel/plugins/autoplay/utils.d.ts +4 -0
- package/carousel/plugins/autoplay/utils.js +11 -0
- package/carousel/plugins/class-names/ClassNames.d.ts +14 -0
- package/carousel/plugins/class-names/ClassNames.js +98 -0
- package/carousel/plugins/class-names/Options.d.ts +13 -0
- package/carousel/plugins/class-names/Options.js +9 -0
- package/carousel/plugins/class-names/index.d.ts +2 -0
- package/carousel/plugins/class-names/index.js +1 -0
- package/carousel/plugins/class-names/utils.d.ts +4 -0
- package/carousel/plugins/class-names/utils.js +14 -0
- package/carousel/plugins/fade/Fade.d.ts +14 -0
- package/carousel/plugins/fade/Fade.js +199 -0
- package/carousel/plugins/fade/Options.d.ts +2 -0
- package/carousel/plugins/fade/Options.js +1 -0
- package/carousel/plugins/fade/index.d.ts +2 -0
- package/carousel/plugins/fade/index.js +1 -0
- package/carousel/plugins/fade/utils.d.ts +2 -0
- package/carousel/plugins/fade/utils.js +8 -0
- package/carousel/state.d.ts +81 -0
- package/carousel/state.js +71 -0
- package/chat/index.d.ts +83 -0
- package/chat/index.jsx +287 -0
- package/checkbox/behaviour.d.ts +172 -0
- package/checkbox/behaviour.jsx +412 -0
- package/checkbox/index.d.ts +168 -0
- package/checkbox/index.jsx +310 -0
- package/clipboard/index.d.ts +49 -0
- package/clipboard/index.js +136 -0
- package/coercion/index.d.ts +36 -0
- package/coercion/index.js +58 -0
- package/collections/base.d.ts +115 -0
- package/collections/base.js +346 -0
- package/collections/builder.d.ts +44 -0
- package/collections/builder.js +283 -0
- package/collections/components.d.ts +217 -0
- package/collections/components.jsx +537 -0
- package/collections/data-source.d.ts +26 -0
- package/collections/data-source.js +27 -0
- package/collections/dom.d.ts +34 -0
- package/collections/dom.js +127 -0
- package/collections/grid.d.ts +45 -0
- package/collections/grid.js +125 -0
- package/collections/hidden.d.ts +4 -0
- package/collections/hidden.js +12 -0
- package/collections/index.d.ts +45 -0
- package/collections/index.js +105 -0
- package/collections/list-state.d.ts +99 -0
- package/collections/list-state.js +156 -0
- package/collections/list.d.ts +20 -0
- package/collections/list.js +77 -0
- package/collections/nodes.d.ts +9 -0
- package/collections/nodes.js +81 -0
- package/collections/selection-model.d.ts +93 -0
- package/collections/selection-model.js +192 -0
- package/collections/server-dev.d.ts +5 -0
- package/collections/server-dev.js +16 -0
- package/collections/server-off.d.ts +5 -0
- package/collections/server-off.js +7 -0
- package/collections/server-on.d.ts +28 -0
- package/collections/server-on.jsx +76 -0
- package/collections/table.d.ts +114 -0
- package/collections/table.js +439 -0
- package/collections/tree-state.d.ts +47 -0
- package/collections/tree-state.js +73 -0
- package/collections/tree.d.ts +20 -0
- package/collections/tree.js +66 -0
- package/collections/types.d.ts +229 -0
- package/collections/types.js +4 -0
- package/collections/unique-selection-dispatcher.d.ts +10 -0
- package/collections/unique-selection-dispatcher.js +25 -0
- package/color/area-state.d.ts +99 -0
- package/color/area-state.js +160 -0
- package/color/aria-intl.d.ts +3 -0
- package/color/aria-intl.js +274 -0
- package/color/channel-field-state.d.ts +50 -0
- package/color/channel-field-state.jsx +87 -0
- package/color/color.d.ts +78 -0
- package/color/color.js +738 -0
- package/color/field-state.d.ts +66 -0
- package/color/field-state.jsx +159 -0
- package/color/index.d.ts +58 -0
- package/color/index.js +88 -0
- package/color/intl.d.ts +3 -0
- package/color/intl.js +1328 -0
- package/color/picker-state.d.ts +20 -0
- package/color/picker-state.js +19 -0
- package/color/slider-state.d.ts +78 -0
- package/color/slider-state.jsx +98 -0
- package/color/value.d.ts +27 -0
- package/color/value.js +36 -0
- package/color/wheel-state.d.ts +77 -0
- package/color/wheel-state.js +152 -0
- package/color-area/behaviour.d.ts +161 -0
- package/color-area/behaviour.jsx +454 -0
- package/color-area/index.d.ts +34 -0
- package/color-area/index.jsx +187 -0
- package/color-field/behaviour.d.ts +112 -0
- package/color-field/behaviour.jsx +262 -0
- package/color-field/index.d.ts +72 -0
- package/color-field/index.jsx +309 -0
- package/color-picker/index.d.ts +19 -0
- package/color-picker/index.jsx +49 -0
- package/color-slider/behaviour.d.ts +103 -0
- package/color-slider/behaviour.jsx +234 -0
- package/color-slider/index.d.ts +40 -0
- package/color-slider/index.jsx +162 -0
- package/color-swatch/behaviour.d.ts +40 -0
- package/color-swatch/behaviour.js +36 -0
- package/color-swatch/index.d.ts +29 -0
- package/color-swatch/index.jsx +82 -0
- package/color-swatch-picker/index.d.ts +62 -0
- package/color-swatch-picker/index.jsx +95 -0
- package/color-swatch-picker/intl.d.ts +3 -0
- package/color-swatch-picker/intl.js +104 -0
- package/color-thumb/index.d.ts +85 -0
- package/color-thumb/index.jsx +93 -0
- package/color-wheel/behaviour.d.ts +123 -0
- package/color-wheel/behaviour.jsx +301 -0
- package/color-wheel/index.d.ts +50 -0
- package/color-wheel/index.jsx +166 -0
- package/combobox/behaviour.d.ts +120 -0
- package/combobox/behaviour.jsx +588 -0
- package/combobox/index.d.ts +101 -0
- package/combobox/index.jsx +365 -0
- package/combobox/intl.d.ts +2 -0
- package/combobox/intl.js +240 -0
- package/compare/behaviour.d.ts +101 -0
- package/compare/behaviour.js +288 -0
- package/compare/index.d.ts +58 -0
- package/compare/index.jsx +129 -0
- package/data/async-list.d.ts +78 -0
- package/data/async-list.jsx +257 -0
- package/data/index.d.ts +3 -0
- package/data/index.jsx +6 -0
- package/data/list-data.d.ts +88 -0
- package/data/list-data.jsx +210 -0
- package/data/tree-data.d.ts +59 -0
- package/data/tree-data.jsx +278 -0
- package/data-grid/behaviour.d.ts +95 -0
- package/data-grid/behaviour.js +725 -0
- package/data-grid/index.d.ts +138 -0
- package/data-grid/index.jsx +452 -0
- package/data-grid/state.d.ts +131 -0
- package/data-grid/state.js +288 -0
- package/date/CalendarDate.d.ts +207 -0
- package/date/CalendarDate.js +374 -0
- package/date/DateFormatter.d.ts +24 -0
- package/date/DateFormatter.js +175 -0
- package/date/calendars/BuddhistCalendar.d.ts +16 -0
- package/date/calendars/BuddhistCalendar.js +46 -0
- package/date/calendars/EthiopicCalendar.d.ts +45 -0
- package/date/calendars/EthiopicCalendar.js +178 -0
- package/date/calendars/GregorianCalendar.d.ts +26 -0
- package/date/calendars/GregorianCalendar.js +122 -0
- package/date/calendars/HebrewCalendar.d.ts +21 -0
- package/date/calendars/HebrewCalendar.js +174 -0
- package/date/calendars/IndianCalendar.d.ts +17 -0
- package/date/calendars/IndianCalendar.js +111 -0
- package/date/calendars/IslamicCalendar.d.ts +51 -0
- package/date/calendars/IslamicCalendar.js +205 -0
- package/date/calendars/JapaneseCalendar.d.ts +22 -0
- package/date/calendars/JapaneseCalendar.js +148 -0
- package/date/calendars/PersianCalendar.d.ts +19 -0
- package/date/calendars/PersianCalendar.js +85 -0
- package/date/calendars/TaiwanCalendar.d.ts +19 -0
- package/date/calendars/TaiwanCalendar.js +70 -0
- package/date/conversion.d.ts +45 -0
- package/date/conversion.js +269 -0
- package/date/createCalendar.d.ts +3 -0
- package/date/createCalendar.js +55 -0
- package/date/index.d.ts +20 -0
- package/date/index.js +30 -0
- package/date/manipulation.d.ts +25 -0
- package/date/manipulation.js +399 -0
- package/date/queries.d.ts +93 -0
- package/date/queries.js +303 -0
- package/date/serialize.d.ts +18 -0
- package/date/serialize.js +55 -0
- package/date/string.d.ts +36 -0
- package/date/string.js +223 -0
- package/date/types.d.ts +136 -0
- package/date/types.js +14 -0
- package/date/utils.d.ts +4 -0
- package/date/utils.js +16 -0
- package/date/weekStartData.d.ts +1 -0
- package/date/weekStartData.js +112 -0
- package/date-field/behaviour.d.ts +188 -0
- package/date-field/behaviour.jsx +1025 -0
- package/date-field/index.d.ts +150 -0
- package/date-field/index.jsx +354 -0
- package/date-field/intl.d.ts +3 -0
- package/date-field/intl.js +36 -0
- package/date-field/live-value.d.ts +22 -0
- package/date-field/live-value.jsx +44 -0
- package/date-picker/behaviour.d.ts +95 -0
- package/date-picker/behaviour.jsx +343 -0
- package/date-picker/index.d.ts +66 -0
- package/date-picker/index.jsx +243 -0
- package/dialog/behaviour.d.ts +63 -0
- package/dialog/behaviour.jsx +90 -0
- package/dialog/contexts.d.ts +12 -0
- package/dialog/contexts.js +8 -0
- package/dialog/index.d.ts +48 -0
- package/dialog/index.jsx +301 -0
- package/disclosure/behaviour.d.ts +50 -0
- package/disclosure/behaviour.jsx +128 -0
- package/disclosure/details.d.ts +21 -0
- package/disclosure/details.jsx +14 -0
- package/disclosure/index.d.ts +92 -0
- package/disclosure/index.jsx +300 -0
- package/drag-drop/cdk-index.d.ts +22 -0
- package/drag-drop/cdk-index.jsx +25 -0
- package/drag-drop/directives/assertions.d.ts +6 -0
- package/drag-drop/directives/assertions.js +13 -0
- package/drag-drop/directives/config.d.ts +30 -0
- package/drag-drop/directives/config.js +7 -0
- package/drag-drop/directives/drag-handle.d.ts +10 -0
- package/drag-drop/directives/drag-handle.js +29 -0
- package/drag-drop/directives/drag.d.ts +194 -0
- package/drag-drop/directives/drag.js +522 -0
- package/drag-drop/directives/drop-list-group.d.ts +25 -0
- package/drag-drop/directives/drop-list-group.js +55 -0
- package/drag-drop/directives/drop-list.d.ts +163 -0
- package/drag-drop/directives/drop-list.js +396 -0
- package/drag-drop/directives/registry.d.ts +32 -0
- package/drag-drop/directives/registry.js +61 -0
- package/drag-drop/dom/clone-node.d.ts +2 -0
- package/drag-drop/dom/clone-node.js +58 -0
- package/drag-drop/dom/coerce.d.ts +6 -0
- package/drag-drop/dom/coerce.js +8 -0
- package/drag-drop/dom/dom-rect.d.ts +37 -0
- package/drag-drop/dom/dom-rect.js +71 -0
- package/drag-drop/dom/fake-event.d.ts +4 -0
- package/drag-drop/dom/fake-event.js +22 -0
- package/drag-drop/dom/inherited-text.d.ts +4 -0
- package/drag-drop/dom/inherited-text.js +44 -0
- package/drag-drop/dom/layout-shift.d.ts +8 -0
- package/drag-drop/dom/layout-shift.js +87 -0
- package/drag-drop/dom/mount-content.d.ts +2 -0
- package/drag-drop/dom/mount-content.js +7 -0
- package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
- package/drag-drop/dom/parent-position-tracker.js +71 -0
- package/drag-drop/dom/root-node.d.ts +21 -0
- package/drag-drop/dom/root-node.js +41 -0
- package/drag-drop/dom/shadow-dom.d.ts +4 -0
- package/drag-drop/dom/shadow-dom.js +18 -0
- package/drag-drop/dom/styling.d.ts +52 -0
- package/drag-drop/dom/styling.js +86 -0
- package/drag-drop/dom/transition-duration.d.ts +2 -0
- package/drag-drop/dom/transition-duration.js +29 -0
- package/drag-drop/drag-drop-registry.d.ts +69 -0
- package/drag-drop/drag-drop-registry.js +224 -0
- package/drag-drop/drag-drop.d.ts +19 -0
- package/drag-drop/drag-drop.js +10 -0
- package/drag-drop/drag-events.d.ts +117 -0
- package/drag-drop/drag-events.js +1 -0
- package/drag-drop/drag-handle.d.ts +18 -0
- package/drag-drop/drag-handle.jsx +53 -0
- package/drag-drop/drag-placeholder.d.ts +8 -0
- package/drag-drop/drag-placeholder.jsx +25 -0
- package/drag-drop/drag-preview.d.ts +10 -0
- package/drag-drop/drag-preview.jsx +31 -0
- package/drag-drop/drag-ref.d.ts +476 -0
- package/drag-drop/drag-ref.js +1306 -0
- package/drag-drop/drag-utils.d.ts +25 -0
- package/drag-drop/drag-utils.js +53 -0
- package/drag-drop/drag.d.ts +23 -0
- package/drag-drop/drag.jsx +126 -0
- package/drag-drop/drop-list-group.d.ts +22 -0
- package/drag-drop/drop-list-group.jsx +19 -0
- package/drag-drop/drop-list-ref.d.ts +295 -0
- package/drag-drop/drop-list-ref.js +707 -0
- package/drag-drop/drop-list.d.ts +19 -0
- package/drag-drop/drop-list.jsx +87 -0
- package/drag-drop/index.d.ts +1 -0
- package/drag-drop/index.jsx +4 -0
- package/drag-drop/lazy-refs.d.ts +28 -0
- package/drag-drop/lazy-refs.js +133 -0
- package/drag-drop/preview-ref.d.ts +38 -0
- package/drag-drop/preview-ref.js +132 -0
- package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
- package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
- package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
- package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
- package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
- package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
- package/file-trigger/index.d.ts +24 -0
- package/file-trigger/index.jsx +41 -0
- package/flip/index.d.ts +59 -0
- package/flip/index.js +124 -0
- package/focus/focus-ring.d.ts +42 -0
- package/focus/focus-ring.jsx +77 -0
- package/focus/focus-scope.d.ts +51 -0
- package/focus/focus-scope.jsx +431 -0
- package/focus/focusable.d.ts +33 -0
- package/focus/focusable.jsx +93 -0
- package/focus/index.d.ts +74 -0
- package/focus/index.js +274 -0
- package/form/behaviour.d.ts +29 -0
- package/form/behaviour.js +145 -0
- package/form/field-error.d.ts +38 -0
- package/form/field-error.jsx +67 -0
- package/form/index.d.ts +77 -0
- package/form/index.jsx +116 -0
- package/grid/behaviour.d.ts +290 -0
- package/grid/behaviour.js +683 -0
- package/grid/intl.d.ts +2 -0
- package/grid/intl.js +36 -0
- package/grid/keyboard-delegate.d.ts +56 -0
- package/grid/keyboard-delegate.js +316 -0
- package/grid-list/behaviour.d.ts +242 -0
- package/grid-list/behaviour.js +598 -0
- package/grid-list/index.d.ts +202 -0
- package/grid-list/index.jsx +685 -0
- package/grid-list/row.d.ts +24 -0
- package/grid-list/row.js +57 -0
- package/group/index.d.ts +48 -0
- package/group/index.jsx +126 -0
- package/header/index.d.ts +13 -0
- package/header/index.jsx +34 -0
- package/heading/index.d.ts +19 -0
- package/heading/index.jsx +55 -0
- package/highlight/index.d.ts +12 -0
- package/highlight/index.jsx +357 -0
- package/i18n/filter.d.ts +16 -0
- package/i18n/filter.js +66 -0
- package/i18n/i18n-provider.d.ts +10 -0
- package/i18n/i18n-provider.jsx +15 -0
- package/i18n/index.d.ts +27 -0
- package/i18n/index.js +115 -0
- package/i18n/intl-cache.d.ts +4 -0
- package/i18n/intl-cache.js +40 -0
- package/i18n/list-formatter.d.ts +2 -0
- package/i18n/list-formatter.js +11 -0
- package/input/index.d.ts +51 -0
- package/input/index.jsx +95 -0
- package/interactions/controllable.d.ts +42 -0
- package/interactions/controllable.js +67 -0
- package/interactions/focus-visible.d.ts +68 -0
- package/interactions/focus-visible.jsx +291 -0
- package/interactions/focus.d.ts +58 -0
- package/interactions/focus.jsx +152 -0
- package/interactions/hover.d.ts +54 -0
- package/interactions/hover.jsx +139 -0
- package/interactions/index.d.ts +1 -0
- package/interactions/index.js +3 -0
- package/interactions/interact-outside.d.ts +24 -0
- package/interactions/interact-outside.jsx +57 -0
- package/interactions/keyboard.d.ts +28 -0
- package/interactions/keyboard.jsx +51 -0
- package/interactions/long-press.d.ts +41 -0
- package/interactions/long-press.jsx +79 -0
- package/interactions/merge-props.d.ts +54 -0
- package/interactions/merge-props.jsx +257 -0
- package/interactions/move.d.ts +48 -0
- package/interactions/move.jsx +96 -0
- package/interactions/press.d.ts +129 -0
- package/interactions/press.jsx +538 -0
- package/interactions/pressable.d.ts +22 -0
- package/interactions/pressable.jsx +93 -0
- package/interactions/scroll-wheel.d.ts +20 -0
- package/interactions/scroll-wheel.jsx +40 -0
- package/interactions/utils.d.ts +53 -0
- package/interactions/utils.js +252 -0
- package/keyboard/index.d.ts +12 -0
- package/keyboard/index.jsx +34 -0
- package/keys/index.d.ts +68 -0
- package/keys/index.js +199 -0
- package/label/behaviour.d.ts +54 -0
- package/label/behaviour.js +60 -0
- package/label/index.d.ts +35 -0
- package/label/index.jsx +85 -0
- package/landmark/index.d.ts +10 -0
- package/landmark/index.jsx +35 -0
- package/landmark/manager.d.ts +50 -0
- package/landmark/manager.js +364 -0
- package/layout/index.d.ts +90 -0
- package/layout/index.js +207 -0
- package/lightbox/behaviour.d.ts +82 -0
- package/lightbox/behaviour.js +490 -0
- package/lightbox/captions/index.d.ts +39 -0
- package/lightbox/captions/index.jsx +44 -0
- package/lightbox/counter/index.d.ts +10 -0
- package/lightbox/counter/index.jsx +10 -0
- package/lightbox/download/index.d.ts +32 -0
- package/lightbox/download/index.jsx +89 -0
- package/lightbox/embed/index.d.ts +15 -0
- package/lightbox/embed/index.jsx +58 -0
- package/lightbox/fullscreen/index.d.ts +24 -0
- package/lightbox/fullscreen/index.jsx +80 -0
- package/lightbox/index.d.ts +129 -0
- package/lightbox/index.jsx +284 -0
- package/lightbox/inline/index.d.ts +18 -0
- package/lightbox/inline/index.jsx +15 -0
- package/lightbox/pdf/index.d.ts +18 -0
- package/lightbox/pdf/index.jsx +31 -0
- package/lightbox/share/index.d.ts +29 -0
- package/lightbox/share/index.jsx +43 -0
- package/lightbox/slideshow/index.d.ts +24 -0
- package/lightbox/slideshow/index.jsx +118 -0
- package/lightbox/state.d.ts +334 -0
- package/lightbox/state.js +192 -0
- package/lightbox/thumbnails/index.d.ts +54 -0
- package/lightbox/thumbnails/index.jsx +96 -0
- package/lightbox/video/index.d.ts +13 -0
- package/lightbox/video/index.jsx +42 -0
- package/lightbox/zoom/index.d.ts +67 -0
- package/lightbox/zoom/index.jsx +456 -0
- package/link/behaviour.d.ts +41 -0
- package/link/behaviour.js +58 -0
- package/link/index.d.ts +30 -0
- package/link/index.jsx +179 -0
- package/link/router.d.ts +1 -0
- package/link/router.js +5 -0
- package/listbox/behaviour.d.ts +175 -0
- package/listbox/behaviour.jsx +492 -0
- package/listbox/index.d.ts +129 -0
- package/listbox/index.jsx +596 -0
- package/markdown/index.d.ts +82 -0
- package/markdown/index.jsx +654 -0
- package/masonry/behaviour.d.ts +121 -0
- package/masonry/behaviour.js +676 -0
- package/masonry/flip.d.ts +27 -0
- package/masonry/flip.js +61 -0
- package/masonry/geometry.d.ts +44 -0
- package/masonry/geometry.js +184 -0
- package/masonry/index.d.ts +153 -0
- package/masonry/index.jsx +833 -0
- package/masonry/justified.d.ts +49 -0
- package/masonry/justified.js +250 -0
- package/masonry/layout.d.ts +200 -0
- package/masonry/layout.js +668 -0
- package/masonry/masonry-layout.d.ts +57 -0
- package/masonry/masonry-layout.js +159 -0
- package/masonry/masonry.css +29 -0
- package/menu/behaviour.d.ts +205 -0
- package/menu/behaviour.jsx +847 -0
- package/menu/index.d.ts +171 -0
- package/menu/index.jsx +671 -0
- package/menu/intl.d.ts +2 -0
- package/menu/intl.js +36 -0
- package/menu/safely-mouse-to-submenu.d.ts +12 -0
- package/menu/safely-mouse-to-submenu.js +128 -0
- package/meter/behaviour.d.ts +18 -0
- package/meter/behaviour.jsx +17 -0
- package/meter/index.d.ts +30 -0
- package/meter/index.jsx +85 -0
- package/modal/index.d.ts +79 -0
- package/modal/index.jsx +359 -0
- package/modal/provider.d.ts +47 -0
- package/modal/provider.jsx +105 -0
- package/morph/index.d.ts +91 -0
- package/morph/index.jsx +372 -0
- package/morph/item.d.ts +89 -0
- package/morph/item.jsx +546 -0
- package/motion/Animations.d.ts +17 -0
- package/motion/Animations.js +56 -0
- package/motion/DragRelease.d.ts +22 -0
- package/motion/DragRelease.js +26 -0
- package/motion/DragTracker.d.ts +7 -0
- package/motion/DragTracker.js +43 -0
- package/motion/Limit.d.ts +12 -0
- package/motion/Limit.js +37 -0
- package/motion/Motion1D.d.ts +38 -0
- package/motion/Motion1D.js +72 -0
- package/motion/ScrollBody.d.ts +13 -0
- package/motion/ScrollBody.js +75 -0
- package/motion/Vector1d.d.ts +8 -0
- package/motion/Vector1d.js +29 -0
- package/motion/index.d.ts +8 -0
- package/motion/index.js +12 -0
- package/motion/utils.d.ts +5 -0
- package/motion/utils.js +23 -0
- package/native-select/index.d.ts +46 -0
- package/native-select/index.jsx +99 -0
- package/navigation-tree/index.d.ts +43 -0
- package/navigation-tree/index.jsx +110 -0
- package/number/NumberFormatter.d.ts +28 -0
- package/number/NumberFormatter.js +144 -0
- package/number/NumberParser.d.ts +27 -0
- package/number/NumberParser.js +316 -0
- package/number/index.d.ts +5 -0
- package/number/index.jsx +17 -0
- package/number/number-field-state.d.ts +132 -0
- package/number/number-field-state.jsx +364 -0
- package/number-field/behaviour.d.ts +165 -0
- package/number-field/behaviour.jsx +512 -0
- package/number-field/index.d.ts +52 -0
- package/number-field/index.jsx +207 -0
- package/number-field/intl.d.ts +2 -0
- package/number-field/intl.js +36 -0
- package/observers/index.d.ts +70 -0
- package/observers/index.js +279 -0
- package/overflow/index.d.ts +93 -0
- package/overflow/index.jsx +267 -0
- package/overlay/aria-hide-outside.d.ts +12 -0
- package/overlay/aria-hide-outside.js +141 -0
- package/overlay/close-on-scroll.d.ts +1 -0
- package/overlay/close-on-scroll.js +6 -0
- package/overlay/contexts.d.ts +34 -0
- package/overlay/contexts.js +21 -0
- package/overlay/dismiss-button.d.ts +10 -0
- package/overlay/dismiss-button.jsx +18 -0
- package/overlay/hover-trigger.d.ts +54 -0
- package/overlay/hover-trigger.jsx +221 -0
- package/overlay/index.d.ts +40 -0
- package/overlay/index.js +139 -0
- package/overlay/modal-overlay.d.ts +16 -0
- package/overlay/modal-overlay.js +38 -0
- package/overlay/overlay-strings.d.ts +4 -0
- package/overlay/overlay-strings.js +52 -0
- package/overlay/overlay-trigger-state.d.ts +1 -0
- package/overlay/overlay-trigger-state.js +3 -0
- package/overlay/overlay-trigger.d.ts +27 -0
- package/overlay/overlay-trigger.jsx +50 -0
- package/overlay/position.d.ts +160 -0
- package/overlay/position.js +559 -0
- package/overlay/prevent-scroll-ios.d.ts +17 -0
- package/overlay/prevent-scroll-ios.js +331 -0
- package/overlay/prevent-scroll.d.ts +18 -0
- package/overlay/prevent-scroll.js +122 -0
- package/overlay/safe-area.d.ts +28 -0
- package/overlay/safe-area.js +108 -0
- package/overlay-arrow/index.d.ts +23 -0
- package/overlay-arrow/index.jsx +59 -0
- package/overlay-service/connected-position.d.ts +163 -0
- package/overlay-service/connected-position.js +661 -0
- package/overlay-service/global-position.d.ts +34 -0
- package/overlay-service/global-position.js +154 -0
- package/overlay-service/index.d.ts +15 -0
- package/overlay-service/index.js +27 -0
- package/overlay-service/overlay-container.d.ts +27 -0
- package/overlay-service/overlay-container.js +93 -0
- package/overlay-service/overlay-dispatchers.d.ts +44 -0
- package/overlay-service/overlay-dispatchers.js +149 -0
- package/overlay-service/overlay-position-builder.d.ts +8 -0
- package/overlay-service/overlay-position-builder.js +15 -0
- package/overlay-service/overlay-ref.d.ts +155 -0
- package/overlay-service/overlay-ref.js +436 -0
- package/overlay-service/overlay-strategy.d.ts +48 -0
- package/overlay-service/overlay-strategy.js +3 -0
- package/overlay-service/overlay-viewport.d.ts +85 -0
- package/overlay-service/overlay-viewport.js +192 -0
- package/overlay-service/overlay.css +94 -0
- package/overlay-service/scroll-strategies.d.ts +71 -0
- package/overlay-service/scroll-strategies.js +185 -0
- package/package.json +754 -4
- package/platform/index.d.ts +100 -0
- package/platform/index.js +304 -0
- package/popover/behaviour.d.ts +23 -0
- package/popover/behaviour.js +39 -0
- package/popover/index.d.ts +60 -0
- package/popover/index.jsx +285 -0
- package/popover/popover-overlay.d.ts +27 -0
- package/popover/popover-overlay.jsx +60 -0
- package/popover/use-popover.d.ts +57 -0
- package/popover/use-popover.js +92 -0
- package/portal/index.d.ts +47 -0
- package/portal/index.jsx +76 -0
- package/portal/portal-mount.d.ts +8 -0
- package/portal/portal-mount.js +7 -0
- package/portal/portal-outlet.d.ts +88 -0
- package/portal/portal-outlet.js +222 -0
- package/preview-trigger/behaviour.d.ts +70 -0
- package/preview-trigger/behaviour.jsx +258 -0
- package/preview-trigger/index.d.ts +12 -0
- package/preview-trigger/index.jsx +82 -0
- package/progress-bar/behaviour.d.ts +77 -0
- package/progress-bar/behaviour.jsx +75 -0
- package/progress-bar/context.d.ts +4 -0
- package/progress-bar/context.js +7 -0
- package/progress-bar/index.d.ts +38 -0
- package/progress-bar/index.jsx +90 -0
- package/radio-group/behaviour.d.ts +11 -0
- package/radio-group/behaviour.js +85 -0
- package/radio-group/index.d.ts +82 -0
- package/radio-group/index.jsx +139 -0
- package/radio-group/parts.d.ts +223 -0
- package/radio-group/parts.jsx +425 -0
- package/range-calendar/behaviour.d.ts +2 -0
- package/range-calendar/behaviour.jsx +5 -0
- package/range-calendar/index.d.ts +2 -0
- package/range-calendar/index.jsx +4 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
- package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
- package/resizable/engine/components/group/readLegacyLayout.js +48 -0
- package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
- package/resizable/engine/components/group/sortByElementOffset.js +28 -0
- package/resizable/engine/components/group/types.d.ts +50 -0
- package/resizable/engine/components/group/types.js +1 -0
- package/resizable/engine/components/panel/types.d.ts +90 -0
- package/resizable/engine/components/panel/types.js +4 -0
- package/resizable/engine/constants.d.ts +15 -0
- package/resizable/engine/constants.js +27 -0
- package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
- package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
- package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
- package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
- package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
- package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
- package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
- package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
- package/resizable/engine/global/mountAxis.d.ts +2 -0
- package/resizable/engine/global/mountAxis.js +187 -0
- package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
- package/resizable/engine/global/mutable-state/axes.js +52 -0
- package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
- package/resizable/engine/global/mutable-state/interactions.js +92 -0
- package/resizable/engine/global/mutable-state/types.d.ts +32 -0
- package/resizable/engine/global/mutable-state/types.js +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
- package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
- package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
- package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
- package/resizable/engine/global/types.d.ts +120 -0
- package/resizable/engine/global/types.js +1 -0
- package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
- package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
- package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
- package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
- package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
- package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
- package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
- package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
- package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
- package/resizable/engine/global/utils/expandHitTarget.js +19 -0
- package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
- package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
- package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
- package/resizable/engine/global/utils/findClosestRect.js +22 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
- package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
- package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
- package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
- package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
- package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
- package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
- package/resizable/engine/global/utils/isModal.d.ts +1 -0
- package/resizable/engine/global/utils/isModal.js +11 -0
- package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
- package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
- package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/layoutsEqual.js +15 -0
- package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
- package/resizable/engine/global/utils/normalizeLayout.js +21 -0
- package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
- package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
- package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
- package/resizable/engine/global/utils/objectsEqual.js +14 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
- package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
- package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
- package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
- package/resizable/engine/global/utils/validateItemSize.js +31 -0
- package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
- package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
- package/resizable/engine/types.d.ts +13 -0
- package/resizable/engine/types.js +1 -0
- package/resizable/engine/utils/EventEmitter.d.ts +11 -0
- package/resizable/engine/utils/EventEmitter.js +60 -0
- package/resizable/engine/utils/assert.d.ts +1 -0
- package/resizable/engine/utils/assert.js +7 -0
- package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
- package/resizable/engine/utils/isArrayEqual.js +15 -0
- package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
- package/resizable/engine/utils/isHTMLElement.js +6 -0
- package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
- package/resizable/engine/utils/isShadowRoot.js +6 -0
- package/resizable/engine/vendor/stacking-order.d.ts +7 -0
- package/resizable/engine/vendor/stacking-order.js +122 -0
- package/resizable/index.d.ts +263 -0
- package/resizable/index.jsx +537 -0
- package/resizable/mount.d.ts +115 -0
- package/resizable/mount.js +540 -0
- package/scheduler/behaviour.d.ts +71 -0
- package/scheduler/behaviour.js +243 -0
- package/scheduler/context.d.ts +100 -0
- package/scheduler/context.jsx +7 -0
- package/scheduler/dates.d.ts +53 -0
- package/scheduler/dates.js +183 -0
- package/scheduler/drag.d.ts +20 -0
- package/scheduler/drag.js +361 -0
- package/scheduler/event.d.ts +26 -0
- package/scheduler/event.jsx +93 -0
- package/scheduler/index.d.ts +57 -0
- package/scheduler/index.jsx +303 -0
- package/scheduler/intl.d.ts +16 -0
- package/scheduler/intl.js +529 -0
- package/scheduler/keys-month.d.ts +7 -0
- package/scheduler/keys-month.js +110 -0
- package/scheduler/keys-time-grid.d.ts +9 -0
- package/scheduler/keys-time-grid.js +115 -0
- package/scheduler/keys.d.ts +103 -0
- package/scheduler/keys.js +527 -0
- package/scheduler/layout-index.d.ts +3 -0
- package/scheduler/layout-index.js +6 -0
- package/scheduler/layout.d.ts +285 -0
- package/scheduler/layout.js +378 -0
- package/scheduler/menus.d.ts +66 -0
- package/scheduler/menus.jsx +88 -0
- package/scheduler/month.d.ts +26 -0
- package/scheduler/month.jsx +215 -0
- package/scheduler/pointer.d.ts +64 -0
- package/scheduler/pointer.js +203 -0
- package/scheduler/select.d.ts +11 -0
- package/scheduler/select.js +64 -0
- package/scheduler/selection.d.ts +34 -0
- package/scheduler/selection.js +39 -0
- package/scheduler/state.d.ts +296 -0
- package/scheduler/state.js +496 -0
- package/scheduler/time-grid-client.d.ts +32 -0
- package/scheduler/time-grid-client.jsx +133 -0
- package/scheduler/time-grid.d.ts +26 -0
- package/scheduler/time-grid.jsx +266 -0
- package/scheduler/time.d.ts +35 -0
- package/scheduler/time.js +56 -0
- package/scheduler/toolbar.d.ts +43 -0
- package/scheduler/toolbar.jsx +38 -0
- package/scroll-area/dom.d.ts +11 -0
- package/scroll-area/dom.js +55 -0
- package/scroll-area/index.d.ts +96 -0
- package/scroll-area/index.jsx +884 -0
- package/scroll-area/presence.d.ts +12 -0
- package/scroll-area/presence.jsx +131 -0
- package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
- package/scrolling/auto-size-virtual-scroll.js +213 -0
- package/scrolling/behaviour.d.ts +3 -0
- package/scrolling/behaviour.js +5 -0
- package/scrolling/emitter.d.ts +34 -0
- package/scrolling/emitter.js +144 -0
- package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
- package/scrolling/fixed-size-virtual-scroll.js +107 -0
- package/scrolling/index.d.ts +11 -0
- package/scrolling/index.jsx +13 -0
- package/scrolling/rtl.d.ts +16 -0
- package/scrolling/rtl.js +64 -0
- package/scrolling/scroll-dispatcher.d.ts +49 -0
- package/scrolling/scroll-dispatcher.js +107 -0
- package/scrolling/scrollable.d.ts +75 -0
- package/scrolling/scrollable.js +149 -0
- package/scrolling/scrolling.css +11 -0
- package/scrolling/state.d.ts +92 -0
- package/scrolling/state.js +94 -0
- package/scrolling/viewport-ruler.d.ts +47 -0
- package/scrolling/viewport-ruler.js +100 -0
- package/scrolling/viewport.d.ts +54 -0
- package/scrolling/viewport.jsx +105 -0
- package/scrolling/virtual-scroll-strategy.d.ts +41 -0
- package/scrolling/virtual-scroll-strategy.js +2 -0
- package/scrolling/virtual-scroll-viewport.d.ts +95 -0
- package/scrolling/virtual-scroll-viewport.js +370 -0
- package/search-field/behaviour.d.ts +62 -0
- package/search-field/behaviour.jsx +116 -0
- package/search-field/index.d.ts +57 -0
- package/search-field/index.jsx +158 -0
- package/search-field/intl.d.ts +2 -0
- package/search-field/intl.js +36 -0
- package/select/behaviour.d.ts +188 -0
- package/select/behaviour.jsx +445 -0
- package/select/hidden-select.d.ts +44 -0
- package/select/hidden-select.jsx +68 -0
- package/select/index.d.ts +123 -0
- package/select/index.jsx +255 -0
- package/select/intl.d.ts +2 -0
- package/select/intl.js +36 -0
- package/select/parts.d.ts +11 -0
- package/select/parts.jsx +12 -0
- package/select/select-parts.d.ts +73 -0
- package/select/select-parts.jsx +293 -0
- package/select/select-value.d.ts +58 -0
- package/select/select-value.jsx +142 -0
- package/selection/dom-utils.d.ts +25 -0
- package/selection/dom-utils.js +77 -0
- package/selection/keyed.d.ts +19 -0
- package/selection/keyed.js +76 -0
- package/selection/list-keyboard-delegate.d.ts +67 -0
- package/selection/list-keyboard-delegate.js +274 -0
- package/selection/manager.d.ts +112 -0
- package/selection/manager.js +340 -0
- package/selection/selectable-collection.d.ts +123 -0
- package/selection/selectable-collection.js +535 -0
- package/selection/selectable-item.d.ts +128 -0
- package/selection/selectable-item.js +486 -0
- package/selection/selectable-list.d.ts +42 -0
- package/selection/selectable-list.js +34 -0
- package/selection/state.d.ts +96 -0
- package/selection/state.js +131 -0
- package/selection/type-select.d.ts +37 -0
- package/selection/type-select.js +114 -0
- package/selection/utils.d.ts +23 -0
- package/selection/utils.js +38 -0
- package/selection-indicator/context.d.ts +10 -0
- package/selection-indicator/context.js +7 -0
- package/selection-indicator/index.d.ts +20 -0
- package/selection-indicator/index.jsx +25 -0
- package/separator/behaviour.d.ts +17 -0
- package/separator/behaviour.js +17 -0
- package/separator/index.d.ts +23 -0
- package/separator/index.jsx +64 -0
- package/shared-element-transition/index.d.ts +36 -0
- package/shared-element-transition/index.jsx +182 -0
- package/shared-element-transition/transition.d.ts +19 -0
- package/shared-element-transition/transition.jsx +20 -0
- package/sheet-motion/index.d.ts +82 -0
- package/sheet-motion/index.js +386 -0
- package/sidebar/index.d.ts +257 -0
- package/sidebar/index.jsx +624 -0
- package/sidebar/pages.d.ts +71 -0
- package/sidebar/pages.jsx +177 -0
- package/sidebar/resize.d.ts +69 -0
- package/sidebar/resize.js +237 -0
- package/sidebar/sheet-motion.d.ts +15 -0
- package/sidebar/sheet-motion.js +170 -0
- package/sidebar/state.d.ts +126 -0
- package/sidebar/state.js +204 -0
- package/slider/behaviour.d.ts +141 -0
- package/slider/behaviour.jsx +492 -0
- package/slider/index.d.ts +171 -0
- package/slider/index.jsx +392 -0
- package/slider/state.d.ts +203 -0
- package/slider/state.js +377 -0
- package/slots/index.d.ts +248 -0
- package/slots/index.jsx +473 -0
- package/spinbutton/behaviour.d.ts +66 -0
- package/spinbutton/behaviour.jsx +312 -0
- package/spinbutton/intl.d.ts +2 -0
- package/spinbutton/intl.js +36 -0
- package/state/autocomplete.d.ts +26 -0
- package/state/autocomplete.js +32 -0
- package/state/calendar.d.ts +284 -0
- package/state/calendar.js +755 -0
- package/state/checkbox-group.d.ts +67 -0
- package/state/checkbox-group.js +76 -0
- package/state/combobox.d.ts +238 -0
- package/state/combobox.js +708 -0
- package/state/date-field.d.ts +407 -0
- package/state/date-field.js +1117 -0
- package/state/date-intl.d.ts +3 -0
- package/state/date-intl.js +36 -0
- package/state/date-picker.d.ts +144 -0
- package/state/date-picker.js +387 -0
- package/state/disclosure.d.ts +90 -0
- package/state/disclosure.js +148 -0
- package/state/form-validation.d.ts +89 -0
- package/state/form-validation.js +158 -0
- package/state/grid.d.ts +62 -0
- package/state/grid.js +127 -0
- package/state/list.d.ts +58 -0
- package/state/list.js +124 -0
- package/state/menu.d.ts +159 -0
- package/state/menu.js +184 -0
- package/state/overlays.d.ts +35 -0
- package/state/overlays.js +29 -0
- package/state/radio-group.d.ts +58 -0
- package/state/radio-group.js +68 -0
- package/state/search-field.d.ts +20 -0
- package/state/search-field.js +21 -0
- package/state/select.d.ts +150 -0
- package/state/select.js +187 -0
- package/state/selection.d.ts +3 -0
- package/state/selection.js +5 -0
- package/state/table-column-resize.d.ts +58 -0
- package/state/table-column-resize.js +76 -0
- package/state/table.d.ts +81 -0
- package/state/table.js +114 -0
- package/state/tabs.d.ts +85 -0
- package/state/tabs.js +161 -0
- package/state/time-field.d.ts +32 -0
- package/state/time-field.js +34 -0
- package/state/toast.d.ts +80 -0
- package/state/toast.js +146 -0
- package/state/toggle-group.d.ts +70 -0
- package/state/toggle-group.js +110 -0
- package/state/toggle.d.ts +40 -0
- package/state/toggle.js +39 -0
- package/state/tooltip.d.ts +53 -0
- package/state/tooltip.js +153 -0
- package/stepper/index.d.ts +117 -0
- package/stepper/index.jsx +405 -0
- package/stepper/state.d.ts +200 -0
- package/stepper/state.js +325 -0
- package/switch/behaviour.d.ts +12 -0
- package/switch/behaviour.jsx +9 -0
- package/switch/index.d.ts +150 -0
- package/switch/index.jsx +186 -0
- package/table/behaviour.d.ts +181 -0
- package/table/behaviour.js +334 -0
- package/table/collection.d.ts +49 -0
- package/table/collection.js +259 -0
- package/table/column-resize.d.ts +48 -0
- package/table/column-resize.jsx +247 -0
- package/table/index.d.ts +339 -0
- package/table/index.jsx +982 -0
- package/table/intl.d.ts +2 -0
- package/table/intl.js +36 -0
- package/table/keyboard-delegate.d.ts +21 -0
- package/table/keyboard-delegate.js +166 -0
- package/table/rac-intl.d.ts +2 -0
- package/table/rac-intl.js +36 -0
- package/tabs/behaviour.d.ts +49 -0
- package/tabs/behaviour.js +173 -0
- package/tabs/index.d.ts +248 -0
- package/tabs/index.jsx +577 -0
- package/tabs/keyboard-delegate.d.ts +17 -0
- package/tabs/keyboard-delegate.js +64 -0
- package/tag-group/behaviour.d.ts +59 -0
- package/tag-group/behaviour.js +112 -0
- package/tag-group/index.d.ts +138 -0
- package/tag-group/index.jsx +565 -0
- package/tag-group/intl.d.ts +2 -0
- package/tag-group/intl.js +36 -0
- package/tailwind.css +12 -0
- package/tests-components/app/src/routes/index.d.ts +4 -0
- package/tests-components/app/src/routes/index.jsx +7 -0
- package/text/index.d.ts +15 -0
- package/text/index.jsx +61 -0
- package/text-area/index.d.ts +19 -0
- package/text-area/index.jsx +76 -0
- package/text-field/autosize.d.ts +70 -0
- package/text-field/autosize.js +355 -0
- package/text-field/behaviour.d.ts +140 -0
- package/text-field/behaviour.jsx +260 -0
- package/text-field/fields.d.ts +12 -0
- package/text-field/fields.js +20 -0
- package/text-field/index.d.ts +50 -0
- package/text-field/index.jsx +174 -0
- package/text-field/text-field.css +45 -0
- package/theme.css +1006 -0
- package/time-wheels/behaviour.d.ts +29 -0
- package/time-wheels/behaviour.js +156 -0
- package/time-wheels/index.d.ts +27 -0
- package/time-wheels/index.jsx +91 -0
- package/toast/behaviour.d.ts +51 -0
- package/toast/behaviour.jsx +273 -0
- package/toast/index.d.ts +94 -0
- package/toast/index.jsx +256 -0
- package/toast/intl.d.ts +2 -0
- package/toast/intl.js +36 -0
- package/toggle-button/behaviour.d.ts +15 -0
- package/toggle-button/behaviour.js +37 -0
- package/toggle-button/index.d.ts +59 -0
- package/toggle-button/index.jsx +206 -0
- package/toggle-button-group/behaviour.d.ts +19 -0
- package/toggle-button-group/behaviour.jsx +13 -0
- package/toggle-button-group/context.d.ts +7 -0
- package/toggle-button-group/context.js +9 -0
- package/toggle-button-group/index.d.ts +39 -0
- package/toggle-button-group/index.jsx +85 -0
- package/toggle-button-group/item.d.ts +30 -0
- package/toggle-button-group/item.jsx +37 -0
- package/toolbar/behaviour.d.ts +22 -0
- package/toolbar/behaviour.js +89 -0
- package/toolbar/index.d.ts +16 -0
- package/toolbar/index.jsx +67 -0
- package/tooltip/behaviour.d.ts +93 -0
- package/tooltip/behaviour.jsx +299 -0
- package/tooltip/index.d.ts +59 -0
- package/tooltip/index.jsx +193 -0
- package/tree/behaviour.d.ts +51 -0
- package/tree/behaviour.jsx +51 -0
- package/tree/cdk-index.d.ts +2 -0
- package/tree/cdk-index.js +6 -0
- package/tree/collection.d.ts +16 -0
- package/tree/collection.js +138 -0
- package/tree/control.d.ts +125 -0
- package/tree/control.js +166 -0
- package/tree/index.d.ts +154 -0
- package/tree/index.jsx +815 -0
- package/tree/intl.d.ts +2 -0
- package/tree/intl.js +36 -0
- package/tree/navigation-context.d.ts +44 -0
- package/tree/navigation-context.jsx +63 -0
- package/tree/tree-key-manager.d.ts +149 -0
- package/tree/tree-key-manager.js +336 -0
- package/utils/animation.d.ts +32 -0
- package/utils/animation.jsx +236 -0
- package/utils/data-attrs.d.ts +71 -0
- package/utils/data-attrs.jsx +193 -0
- package/utils/dev-off.d.ts +3 -0
- package/utils/dev-off.js +7 -0
- package/utils/dev-on.d.ts +3 -0
- package/utils/dev-on.js +17 -0
- package/utils/dom-props.d.ts +44 -0
- package/utils/dom-props.js +73 -0
- package/utils/dom.d.ts +85 -0
- package/utils/dom.js +402 -0
- package/utils/id.d.ts +23 -0
- package/utils/id.js +100 -0
- package/utils/index.d.ts +57 -0
- package/utils/index.js +257 -0
- package/utils/links.d.ts +87 -0
- package/utils/links.jsx +152 -0
- package/utils/live-element.d.ts +8 -0
- package/utils/live-element.jsx +76 -0
- package/utils/live.d.ts +53 -0
- package/utils/live.jsx +169 -0
- package/utils/load-more-sentinel.d.ts +28 -0
- package/utils/load-more-sentinel.jsx +52 -0
- package/utils/motion-token.d.ts +4 -0
- package/utils/motion-token.js +48 -0
- package/utils/render.d.ts +19 -0
- package/utils/render.js +18 -0
- package/utils/types.d.ts +111 -0
- package/utils/types.js +1 -0
- package/virtualizer/behaviour.d.ts +98 -0
- package/virtualizer/behaviour.js +315 -0
- package/virtualizer/collection.d.ts +103 -0
- package/virtualizer/collection.js +155 -0
- package/virtualizer/dom.d.ts +50 -0
- package/virtualizer/dom.js +233 -0
- package/virtualizer/engine.d.ts +21 -0
- package/virtualizer/engine.js +21 -0
- package/virtualizer/grid-layout.d.ts +50 -0
- package/virtualizer/grid-layout.js +247 -0
- package/virtualizer/index.d.ts +2 -0
- package/virtualizer/index.jsx +4 -0
- package/virtualizer/layout-info.d.ts +33 -0
- package/virtualizer/layout-info.js +54 -0
- package/virtualizer/layout.d.ts +44 -0
- package/virtualizer/layout.js +30 -0
- package/virtualizer/list-layout.d.ts +103 -0
- package/virtualizer/list-layout.js +508 -0
- package/virtualizer/overscan-manager.d.ts +9 -0
- package/virtualizer/overscan-manager.js +32 -0
- package/virtualizer/point.d.ts +13 -0
- package/virtualizer/point.js +23 -0
- package/virtualizer/rect.d.ts +49 -0
- package/virtualizer/rect.js +105 -0
- package/virtualizer/reusable-view.d.ts +29 -0
- package/virtualizer/reusable-view.js +56 -0
- package/virtualizer/scroll-anchor.d.ts +62 -0
- package/virtualizer/scroll-anchor.js +130 -0
- package/virtualizer/size.d.ts +11 -0
- package/virtualizer/size.js +21 -0
- package/virtualizer/state.d.ts +35 -0
- package/virtualizer/state.js +79 -0
- package/virtualizer/table-collection.d.ts +45 -0
- package/virtualizer/table-collection.js +80 -0
- package/virtualizer/table-column-layout.d.ts +44 -0
- package/virtualizer/table-column-layout.js +210 -0
- package/virtualizer/table-layout.d.ts +55 -0
- package/virtualizer/table-layout.js +482 -0
- package/virtualizer/types.d.ts +63 -0
- package/virtualizer/types.js +1 -0
- package/virtualizer/utils.d.ts +2 -0
- package/virtualizer/utils.js +12 -0
- package/virtualizer/virtualizer-core.d.ts +61 -0
- package/virtualizer/virtualizer-core.js +304 -0
- package/virtualizer/virtualizer.d.ts +62 -0
- package/virtualizer/virtualizer.jsx +88 -0
- package/virtualizer/waterfall-layout.d.ts +41 -0
- package/virtualizer/waterfall-layout.js +227 -0
- package/wheel-picker/behaviour.d.ts +94 -0
- package/wheel-picker/behaviour.js +482 -0
- package/wheel-picker/index.d.ts +33 -0
- package/wheel-picker/index.jsx +66 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type MaybeAccessor } from "../interactions/utils.js";
|
|
2
|
+
import { type Router, type RouterOptions } from "../utils/links.jsx";
|
|
3
|
+
import type { AriaLabelingProps, FocusableProps, LinkDOMProps, PressEvents } from "../utils/types.js";
|
|
4
|
+
import { type PressOptions } from "../button/press.js";
|
|
5
|
+
export type { PressEvent, PressEvents, PressOptions, PointerType } from "../button/press.js";
|
|
6
|
+
/** RA `LinkProps` (link/useLink). */
|
|
7
|
+
export interface AriaLinkBaseProps extends PressEvents, FocusableProps {
|
|
8
|
+
}
|
|
9
|
+
/** RA `AriaLinkProps`. */
|
|
10
|
+
export interface AriaLinkProps extends AriaLinkBaseProps, LinkDOMProps, Omit<AriaLabelingProps, "aria-label" | "aria-labelledby"> {
|
|
11
|
+
"aria-label"?: MaybeAccessor<string | undefined>;
|
|
12
|
+
"aria-labelledby"?: MaybeAccessor<string | undefined>;
|
|
13
|
+
/** Indicates whether this element represents the current item within a container or set of related elements. */
|
|
14
|
+
"aria-current"?: MaybeAccessor<boolean | "true" | "false" | "page" | "step" | "location" | "date" | "time" | undefined>;
|
|
15
|
+
}
|
|
16
|
+
/** RA `AriaLinkOptions`. */
|
|
17
|
+
export interface AriaLinkOptions extends AriaLinkProps {
|
|
18
|
+
/** Whether the link is disabled. */
|
|
19
|
+
isDisabled?: MaybeAccessor<boolean | undefined>;
|
|
20
|
+
/**
|
|
21
|
+
* The HTML element used to render the link, e.g. 'a', or 'span'.
|
|
22
|
+
* @default 'a'
|
|
23
|
+
*/
|
|
24
|
+
elementType?: string;
|
|
25
|
+
id?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Attribute value of an `aria-current` value (`false` / nullish → no attribute). */
|
|
28
|
+
export declare const ariaCurrentAttr: (v: unknown) => string | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* RA `useLink` attributes (without handlers: wire `linkPointerDown` / `linkKeyDown` / `linkClick` / … as inline
|
|
31
|
+
* arrows): `role="link"` + tab stop for a non-anchor, the link DOM props (`href` mapped by the router's
|
|
32
|
+
* `useHref`), `aria-disabled`, `aria-current`, labelable props.
|
|
33
|
+
*/
|
|
34
|
+
export declare function linkProps(props: AriaLinkOptions, router?: Router): Record<string, unknown>;
|
|
35
|
+
/** click: the press click (virtual clicks, `onClick`) then RA `handleLinkClick` (client router navigation). */
|
|
36
|
+
export declare function linkClick(e: MouseEvent, o: PressOptions, router: Router | undefined, href: LinkDOMProps["href"], routerOptions?: RouterOptions): void;
|
|
37
|
+
export declare const linkKeyDown: (e: KeyboardEvent, o: PressOptions) => void;
|
|
38
|
+
export declare const linkPointerDown: (e: PointerEvent, o: PressOptions) => void;
|
|
39
|
+
export declare const linkPointerUp: (e: PointerEvent, o: PressOptions) => void;
|
|
40
|
+
export declare const linkMouseDown: (e: MouseEvent, o: PressOptions) => void;
|
|
41
|
+
export declare const linkDragStart: (e: DragEvent, o: PressOptions) => void;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Ported from react-aria `useLink` (packages/react-aria/src/link/useLink.ts), Apache-2.0, © Adobe.
|
|
2
|
+
// Rivet (naming convention): `useLink(props, ref)` → `linkProps(props, router)` (the attribute bag, no
|
|
3
|
+
// closures, so a `.ts` module); the handlers are free functions `link<Event>(event, options, …)` called from
|
|
4
|
+
// inline arrows (resumable) over THE press port (`../button/press.ts` → `../interactions/press.tsx`).
|
|
5
|
+
// `isPressed` is not returned: the press handlers write `data-pressed` on the element.
|
|
6
|
+
// - accessor rule: `aria-current` / `aria-label` / `aria-labelledby` may be accessors (kept as accessors in the
|
|
7
|
+
// bag: read them in bindings); `isDisabled` is read once (it picks the element: `<a>` vs `<span role=link>`).
|
|
8
|
+
import { read } from "../interactions/utils.js";
|
|
9
|
+
import { handleLinkClick, routerHref } from "../utils/links.jsx";
|
|
10
|
+
import { pressClick, pressDragStart, pressKeyDown, pressMouseDown, pressPointerDown, pressPointerUp } from "../button/press.js";
|
|
11
|
+
/** Attribute value of an `aria-current` value (`false` / nullish → no attribute). */
|
|
12
|
+
export const ariaCurrentAttr = (v) => (v == null || v === false ? undefined : String(v));
|
|
13
|
+
// An accessor stays the SAME function (a wrapper made in this `.ts` module would not resume): read it in a binding.
|
|
14
|
+
const str = (v) => (typeof v === "function" ? v : ariaCurrentAttr(v));
|
|
15
|
+
/**
|
|
16
|
+
* RA `useLink` attributes (without handlers: wire `linkPointerDown` / `linkKeyDown` / `linkClick` / … as inline
|
|
17
|
+
* arrows): `role="link"` + tab stop for a non-anchor, the link DOM props (`href` mapped by the router's
|
|
18
|
+
* `useHref`), `aria-disabled`, `aria-current`, labelable props.
|
|
19
|
+
*/
|
|
20
|
+
export function linkProps(props, router) {
|
|
21
|
+
const { elementType = "a" } = props;
|
|
22
|
+
const isDisabled = read(props.isDisabled);
|
|
23
|
+
const out = {};
|
|
24
|
+
if (elementType !== "a") {
|
|
25
|
+
out.role = "link";
|
|
26
|
+
out.tabIndex = !isDisabled ? 0 : undefined;
|
|
27
|
+
}
|
|
28
|
+
out.id = props.id;
|
|
29
|
+
out["aria-label"] = props["aria-label"];
|
|
30
|
+
out["aria-labelledby"] = props["aria-labelledby"];
|
|
31
|
+
out["aria-describedby"] = props["aria-describedby"];
|
|
32
|
+
out["aria-details"] = props["aria-details"];
|
|
33
|
+
// RA useLinkProps: the href stays on a disabled link's <span>.
|
|
34
|
+
if (props.href !== undefined)
|
|
35
|
+
out.href = routerHref(router, props.href);
|
|
36
|
+
out.hrefLang = props.hrefLang;
|
|
37
|
+
out.target = props.target;
|
|
38
|
+
out.rel = props.rel;
|
|
39
|
+
out.download = props.download === true ? "" : props.download || undefined;
|
|
40
|
+
out.ping = props.ping;
|
|
41
|
+
out.referrerPolicy = props.referrerPolicy;
|
|
42
|
+
if (props.autoFocus)
|
|
43
|
+
out.autoFocus = true;
|
|
44
|
+
out["aria-disabled"] = isDisabled ? "true" : undefined;
|
|
45
|
+
out["aria-current"] = str(props["aria-current"]);
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
/** click: the press click (virtual clicks, `onClick`) then RA `handleLinkClick` (client router navigation). */
|
|
49
|
+
export function linkClick(e, o, router, href, routerOptions) {
|
|
50
|
+
pressClick(o, e);
|
|
51
|
+
if (router)
|
|
52
|
+
handleLinkClick(e, router, href, routerOptions);
|
|
53
|
+
}
|
|
54
|
+
export const linkKeyDown = (e, o) => pressKeyDown(o, e);
|
|
55
|
+
export const linkPointerDown = (e, o) => pressPointerDown(o, e);
|
|
56
|
+
export const linkPointerUp = (e, o) => pressPointerUp(o, e);
|
|
57
|
+
export const linkMouseDown = (e, o) => pressMouseDown(o, e);
|
|
58
|
+
export const linkDragStart = (e, o) => pressDragStart(o, e);
|
package/link/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type DOMRenderProps } from "../utils/render.js";
|
|
2
|
+
import { type GlobalDOMAttributes } from "../utils/dom-props.js";
|
|
3
|
+
import { type ContextValue, type RefValue, type RenderProps, type SlotProps } from "../slots/index.jsx";
|
|
4
|
+
import type { HoverEvents } from "../utils/types.js";
|
|
5
|
+
import { type AriaLinkOptions } from "./behaviour.js";
|
|
6
|
+
export { createRouter, openLink, routerHref, RouterContext, RouterProvider, shouldClientNavigate, useRouter, type Href, type LinkDOMProps, type Router, type RouterOptions, type RouterProviderProps, } from "./router.js";
|
|
7
|
+
export type { PressEvent } from "./behaviour.js";
|
|
8
|
+
export interface LinkRenderProps {
|
|
9
|
+
/** Whether the link is the current item within a list. `[data-current]` */
|
|
10
|
+
isCurrent: () => boolean;
|
|
11
|
+
/** Whether the link is currently hovered with a mouse. `[data-hovered]` */
|
|
12
|
+
isHovered: () => boolean;
|
|
13
|
+
/** Whether the link is currently in a pressed state. `[data-pressed]` */
|
|
14
|
+
isPressed: () => boolean;
|
|
15
|
+
/** Whether the link is focused, either via a mouse or keyboard. `[data-focused]` */
|
|
16
|
+
isFocused: () => boolean;
|
|
17
|
+
/** Whether the link is keyboard focused. `[data-focus-visible]` */
|
|
18
|
+
isFocusVisible: () => boolean;
|
|
19
|
+
/** Whether the link is disabled. `[data-disabled]` */
|
|
20
|
+
isDisabled: () => boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface LinkProps extends Omit<AriaLinkOptions, "elementType">, HoverEvents, RenderProps<LinkRenderProps>, DOMRenderProps<"a", LinkRenderProps>, SlotProps, Omit<GlobalDOMAttributes<HTMLAnchorElement>, "onClick" | "style"> {
|
|
23
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
|
24
|
+
onKeyUp?: (e: KeyboardEvent) => void;
|
|
25
|
+
ref?: RefValue<HTMLAnchorElement | HTMLSpanElement>;
|
|
26
|
+
}
|
|
27
|
+
/** RAC `LinkContext` (Breadcrumb gives its Link `aria-current` / `isDisabled`). */
|
|
28
|
+
export declare const LinkContext: import("@rivetjs/reactivity").Context<ContextValue<LinkProps, HTMLAnchorElement>>;
|
|
29
|
+
/** A link to another page or resource (RAC `Link`). */
|
|
30
|
+
export declare function Link(inProps: LinkProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
|
package/link/index.jsx
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// Ported from react-aria-components `Link` (packages/react-aria-components/src/Link.tsx), Apache-2.0, © Adobe.
|
|
2
|
+
// A link to another page or resource: `<a href>`, or `<span role="link">` without `href` / when disabled; THE
|
|
3
|
+
// usePress port (press.ts), hover / focus ring (`../utils/data-attrs.tsx`), client routing through
|
|
4
|
+
// `RouterProvider` (re-exported from `./router.ts` = `../utils/links.tsx`, one router for `@rivetjs/cdk/link`
|
|
5
|
+
// and `@rivetjs/cdk/links`).
|
|
6
|
+
// Rivet:
|
|
7
|
+
// - render props are accessors (`class={({ isPressed }) => (isPressed() ? "on" : "")}`); the interaction states
|
|
8
|
+
// are signals only when a `class` / `style` / `children` function asks for them. `data-hovered` /
|
|
9
|
+
// `data-pressed` / `data-focused` / `data-focus-visible` are written by the handlers on the element (zero
|
|
10
|
+
// cost before interaction; a plain link loads no JS until it is hovered, focused or pressed).
|
|
11
|
+
// - accessor rule: `aria-current`, `aria-label`, `aria-labelledby` may be accessors (read in bindings);
|
|
12
|
+
// an accessor `isDisabled` re-creates the link when it flips (it picks `<a>` vs `<span>`, like RAC re-render).
|
|
13
|
+
// - `class` = RAC `className` (default `rv-Link`).
|
|
14
|
+
// `render` (RAC DOMRenderProps): given, the attributes object goes to `render(attrs, LinkRenderProps)` instead of the default `<a>` / `<span role="link">`.
|
|
15
|
+
import { createContext, signal, untrack, useContext } from "@rivetjs/reactivity";
|
|
16
|
+
import {} from "../utils/render.js";
|
|
17
|
+
import { globalDOMProps } from "../utils/dom-props.js";
|
|
18
|
+
import { dataBool, mergeFocusableContext, readAttrs, focusStateIn, hoverStateOver } from "../utils/data-attrs.jsx";
|
|
19
|
+
import { keyboardKeyDown, keyboardKeyUp } from "../interactions/keyboard.jsx";
|
|
20
|
+
import { read } from "../interactions/utils.js";
|
|
21
|
+
import { contextProps, mergeRefValues, renderProps as resolveRenderProps, resumableContext, } from "../slots/index.jsx";
|
|
22
|
+
import { FocusableContext } from "../focus/focusable.jsx";
|
|
23
|
+
import { useRouter } from "./router.js";
|
|
24
|
+
import { linkClick, linkKeyDown, linkMouseDown, linkPointerDown, linkPointerUp, linkProps as ariaLinkProps, ariaCurrentAttr, } from "./behaviour.js";
|
|
25
|
+
import { hasLive, liveOptions } from "../utils/live.jsx";
|
|
26
|
+
import { liveRenderProps } from "../slots/index.jsx";
|
|
27
|
+
export { createRouter, openLink, routerHref, RouterContext, RouterProvider, shouldClientNavigate, useRouter, } from "./router.js";
|
|
28
|
+
/** Global DOM events / props the link handles itself (`onClick` is a press option, called by usePress). */
|
|
29
|
+
const OWNED = ["onClick", "onPointerDown", "onPointerUp", "onMouseDown", "onPointerEnter", "onPointerLeave", "onPointerOver", "style"];
|
|
30
|
+
/** RAC `LinkContext` (Breadcrumb gives its Link `aria-current` / `isDisabled`). */
|
|
31
|
+
export const LinkContext = resumableContext(createContext(null, { id: "rv-link" }));
|
|
32
|
+
const isFn = (v) => typeof v === "function";
|
|
33
|
+
const isCurrentValue = (v) => !!v && v !== "false";
|
|
34
|
+
/** A link to another page or resource (RAC `Link`). */
|
|
35
|
+
export function Link(inProps) {
|
|
36
|
+
// Live props (P5): `isDisabled` becomes an accessor (the element switch below), class / style / children from a live
|
|
37
|
+
// view; the rest of the body is read once (untracked).
|
|
38
|
+
return untrack(() => link(inProps));
|
|
39
|
+
}
|
|
40
|
+
function link(inProps) {
|
|
41
|
+
let [props, ref] = contextProps(inProps, inProps.ref, LinkContext);
|
|
42
|
+
if (hasLive(props))
|
|
43
|
+
props = liveOptions(props, ["isDisabled"]);
|
|
44
|
+
// RA useLink → useFocusable: FocusableContext (TooltipTrigger) props / handlers / ref reach the link element.
|
|
45
|
+
const [focusableMerged, focusableRef, focusAttrs] = mergeFocusableContext(props, useContext(FocusableContext), !!read(props.isDisabled));
|
|
46
|
+
props = focusableMerged;
|
|
47
|
+
ref = mergeRefValues(ref, focusableRef);
|
|
48
|
+
const isDisabled = props.isDisabled;
|
|
49
|
+
// An accessor `isDisabled` switches the element: re-create the link when it flips (RAC re-renders).
|
|
50
|
+
if (isFn(isDisabled))
|
|
51
|
+
return <>{() => relink(props, ref, focusAttrs, isDisabled)}</>;
|
|
52
|
+
return renderLink(props, ref, focusAttrs, !!isDisabled);
|
|
53
|
+
}
|
|
54
|
+
// Tracks only the accessor; the link itself renders untracked (a component body).
|
|
55
|
+
function relink(props, ref, focusAttrs, isDisabled) {
|
|
56
|
+
const disabled = !!isDisabled();
|
|
57
|
+
return untrack(() => renderLink(props, ref, focusAttrs, disabled));
|
|
58
|
+
}
|
|
59
|
+
function renderLink(props, ref, focusAttrs, isDisabled) {
|
|
60
|
+
const router = useRouter();
|
|
61
|
+
const isAnchor = !!props.href && !isDisabled;
|
|
62
|
+
const { onPointerDown, onPointerUp, onMouseDown, onKeyDown, onKeyUp, onPointerEnter, onPointerLeave, onPointerOver, href, routerOptions } = props;
|
|
63
|
+
const wantsStates = isFn(props.class) || isFn(props.style) || isFn(props.children);
|
|
64
|
+
const hovered = wantsStates ? signal(false) : undefined;
|
|
65
|
+
const pressed = wantsStates ? signal(false) : undefined;
|
|
66
|
+
const focused = wantsStates ? signal(false) : undefined;
|
|
67
|
+
const focusVisible = wantsStates ? signal(false) : undefined;
|
|
68
|
+
const userPressChange = props.onPressChange;
|
|
69
|
+
// An object literal of this module (R2): its arrow resumes; the press callbacks are the caller's.
|
|
70
|
+
// Locals first: a closure / literal capturing `props` would serialize the whole props object (children included).
|
|
71
|
+
const { onPress, onPressStart, onPressEnd, onPressUp, onClick } = props;
|
|
72
|
+
const press = {
|
|
73
|
+
onPress,
|
|
74
|
+
onPressStart,
|
|
75
|
+
onPressEnd,
|
|
76
|
+
onPressUp,
|
|
77
|
+
onClick,
|
|
78
|
+
isDisabled,
|
|
79
|
+
onPressChange: (isPressed) => {
|
|
80
|
+
pressed?.set(isPressed);
|
|
81
|
+
userPressChange?.(isPressed);
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
const interaction = {
|
|
85
|
+
isDisabled,
|
|
86
|
+
onHoverStart: props.onHoverStart,
|
|
87
|
+
onHoverEnd: props.onHoverEnd,
|
|
88
|
+
onHoverChange: props.onHoverChange,
|
|
89
|
+
onFocus: props.onFocus,
|
|
90
|
+
onBlur: props.onBlur,
|
|
91
|
+
onFocusChange: props.onFocusChange,
|
|
92
|
+
states: wantsStates ? { isHovered: hovered, isFocused: focused, isFocusVisible: focusVisible } : undefined,
|
|
93
|
+
};
|
|
94
|
+
const current = props["aria-current"];
|
|
95
|
+
const values = {
|
|
96
|
+
isCurrent: () => isCurrentValue(read(current)),
|
|
97
|
+
isDisabled: () => isDisabled,
|
|
98
|
+
isPressed: () => !!pressed?.(),
|
|
99
|
+
isHovered: () => !!hovered?.(),
|
|
100
|
+
isFocused: () => !!focused?.(),
|
|
101
|
+
isFocusVisible: () => !!focusVisible?.(),
|
|
102
|
+
};
|
|
103
|
+
const rp = resolveRenderProps({ class: props.class, style: props.style, children: props.children, values, defaultClassName: "rv-Link" }, hasLive(props) ? liveRenderProps(props) : undefined);
|
|
104
|
+
const aria = ariaLinkProps({ ...props, isDisabled, elementType: isAnchor ? "a" : "span" }, router);
|
|
105
|
+
const slot = props.slot || undefined;
|
|
106
|
+
const label = aria["aria-label"];
|
|
107
|
+
const labelledBy = aria["aria-labelledby"];
|
|
108
|
+
const ariaCurrent = aria["aria-current"];
|
|
109
|
+
// Read every prop up front: an element with a spread resumes as one binding over all its attributes.
|
|
110
|
+
const dom = globalDOMProps(props, OWNED);
|
|
111
|
+
for (const key of ["href", "hrefLang", "target", "rel", "download", "ping", "referrerPolicy", "autoFocus"])
|
|
112
|
+
if (aria[key] !== undefined)
|
|
113
|
+
dom[key.toLowerCase()] = aria[key];
|
|
114
|
+
const handlers = {
|
|
115
|
+
onPointerDown: (event) => {
|
|
116
|
+
linkPointerDown(event, press);
|
|
117
|
+
onPointerDown?.(event);
|
|
118
|
+
},
|
|
119
|
+
onPointerUp: (event) => {
|
|
120
|
+
linkPointerUp(event, press);
|
|
121
|
+
onPointerUp?.(event);
|
|
122
|
+
},
|
|
123
|
+
onMouseDown: (event) => {
|
|
124
|
+
linkMouseDown(event, press);
|
|
125
|
+
onMouseDown?.(event);
|
|
126
|
+
},
|
|
127
|
+
onKeyDown: (event) => {
|
|
128
|
+
linkKeyDown(event, press);
|
|
129
|
+
if (onKeyDown)
|
|
130
|
+
keyboardKeyDown({ onKeyDown }, event);
|
|
131
|
+
},
|
|
132
|
+
onKeyUp: (event) => (onKeyUp ? keyboardKeyUp({ onKeyUp }, event) : undefined),
|
|
133
|
+
onClick: (event) => linkClick(event, press, router, href, routerOptions),
|
|
134
|
+
onPointerOver: (event) => {
|
|
135
|
+
// The user's pointerover first: React Aria starts the hover on pointerenter, after it.
|
|
136
|
+
onPointerOver?.(event);
|
|
137
|
+
hoverStateOver(interaction, event);
|
|
138
|
+
},
|
|
139
|
+
// A user enter / leave binds natively (conditional object literals: resumable inline arrows).
|
|
140
|
+
...(onPointerEnter ? { onPointerEnter: (event) => onPointerEnter(event) } : {}),
|
|
141
|
+
...(onPointerLeave ? { onPointerLeave: (event) => onPointerLeave(event) } : {}),
|
|
142
|
+
onFocusIn: (event) => focusStateIn(interaction, event),
|
|
143
|
+
};
|
|
144
|
+
if (props.render) {
|
|
145
|
+
// Reactive attributes are accessors: the spread reads them inside its one effect.
|
|
146
|
+
const common = {
|
|
147
|
+
...dom,
|
|
148
|
+
...focusAttrs,
|
|
149
|
+
...handlers,
|
|
150
|
+
ref: ref,
|
|
151
|
+
id: aria.id,
|
|
152
|
+
slot,
|
|
153
|
+
class: () => rp.class(),
|
|
154
|
+
style: () => rp.style(),
|
|
155
|
+
"aria-label": () => read(label),
|
|
156
|
+
"aria-labelledby": () => read(labelledBy),
|
|
157
|
+
"aria-describedby": aria["aria-describedby"],
|
|
158
|
+
"aria-details": aria["aria-details"],
|
|
159
|
+
"aria-current": () => ariaCurrentAttr(read(ariaCurrent)),
|
|
160
|
+
"data-current": () => dataBool(values.isCurrent()),
|
|
161
|
+
children: () => rp.children(),
|
|
162
|
+
};
|
|
163
|
+
const attrs = isAnchor
|
|
164
|
+
? common
|
|
165
|
+
: {
|
|
166
|
+
...common,
|
|
167
|
+
role: "link",
|
|
168
|
+
tabindex: aria.tabIndex,
|
|
169
|
+
"aria-disabled": aria["aria-disabled"],
|
|
170
|
+
"data-disabled": dataBool(isDisabled),
|
|
171
|
+
};
|
|
172
|
+
return props.render(attrs, values);
|
|
173
|
+
}
|
|
174
|
+
return isAnchor ? (<a {...dom} {...readAttrs(focusAttrs)} {...handlers} ref={ref} id={aria.id} slot={slot} class={rp.class()} style={rp.style()} aria-label={read(label)} aria-labelledby={read(labelledBy)} aria-describedby={aria["aria-describedby"]} aria-details={aria["aria-details"]} aria-current={ariaCurrentAttr(read(ariaCurrent))} data-current={dataBool(values.isCurrent())}>
|
|
175
|
+
{rp.children()}
|
|
176
|
+
</a>) : (<span {...dom} {...readAttrs(focusAttrs)} {...handlers} ref={ref} id={aria.id} role="link" tabIndex={aria.tabIndex} slot={slot} class={rp.class()} style={rp.style()} aria-label={read(label)} aria-labelledby={read(labelledBy)} aria-describedby={aria["aria-describedby"]} aria-details={aria["aria-details"]} aria-disabled={aria["aria-disabled"]} aria-current={ariaCurrentAttr(read(ariaCurrent))} data-current={dataBool(values.isCurrent())} data-disabled={dataBool(isDisabled)}>
|
|
177
|
+
{rp.children()}
|
|
178
|
+
</span>);
|
|
179
|
+
}
|
package/link/router.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createRouter, getSyntheticLinkProps, handleLinkClick, isOpeningLink, linkState, openLink, openSyntheticLink, routerHref, routerOpen, RouterContext, RouterProvider, shouldClientNavigate, syntheticLinkAttrs, useLinkProps, useRouter, useSyntheticLinkProps, type Href, type LinkDOMProps, type Modifiers, type Router, type RouterOptions, type RouterProviderProps, } from "../utils/links.jsx";
|
package/link/router.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Client-side routing for links and link items. The implementation lives in `../utils/links.tsx`
|
|
2
|
+
// (`@rivetjs/cdk/links`, ported from react-aria utils/openLink.tsx); this module only re-exports it so
|
|
3
|
+
// `@rivetjs/cdk/link` and `@rivetjs/cdk/links` share ONE `RouterContext` / `RouterProvider` / `openLink`
|
|
4
|
+
// and one `linkState.isOpening` flag (read by usePress and focus-visible).
|
|
5
|
+
export { createRouter, getSyntheticLinkProps, handleLinkClick, isOpeningLink, linkState, openLink, openSyntheticLink, routerHref, routerOpen, RouterContext, RouterProvider, shouldClientNavigate, syntheticLinkAttrs, useLinkProps, useRouter, useSyntheticLinkProps, } from "../utils/links.jsx";
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { type Signal } from "@rivetjs/reactivity";
|
|
2
|
+
import type { Collection, FocusStrategy, Key, KeyboardDelegate, Node, Orientation, SelectionBehavior } from "../collections/types.js";
|
|
3
|
+
import { type ListState } from "../collections/list-state.js";
|
|
4
|
+
import { SelectionManager } from "../selection/manager.js";
|
|
5
|
+
import { type AriaSelectableCollectionOptions, type LinkBehavior } from "../selection/selectable-collection.js";
|
|
6
|
+
import { type MaybeAccessor } from "../interactions/utils.js";
|
|
7
|
+
import type { Router } from "../utils/links.jsx";
|
|
8
|
+
export type { LinkBehavior };
|
|
9
|
+
/** Data a listbox shares with its options (react-aria `listData`). Plain data + signals + resumable functions. */
|
|
10
|
+
export interface ListData {
|
|
11
|
+
id: string;
|
|
12
|
+
shouldSelectOnPressUp?: boolean | undefined;
|
|
13
|
+
shouldFocusOnHover?: boolean | undefined;
|
|
14
|
+
/** May be an accessor (Autocomplete): read at event time / in bindings. */
|
|
15
|
+
shouldUseVirtualFocus?: MaybeAccessor<boolean | undefined>;
|
|
16
|
+
isVirtualized?: boolean | undefined;
|
|
17
|
+
onAction?: ((key: Key) => void) | undefined;
|
|
18
|
+
linkBehavior: LinkBehavior;
|
|
19
|
+
/** useListBox listData `UNSTABLE_itemBehavior` ("action": items with an action never select). */
|
|
20
|
+
UNSTABLE_itemBehavior?: "action" | undefined;
|
|
21
|
+
/** Rivet: the option under a mouse pointer (`data-hovered`). */
|
|
22
|
+
hoveredKey: Signal<Key | null>;
|
|
23
|
+
/** Rivet: the pressed option (`data-pressed`). */
|
|
24
|
+
pressedKey: Signal<Key | null>;
|
|
25
|
+
/** Rivet: whether focus is keyboard-visible (useFocusRing's `isFocusVisible`). */
|
|
26
|
+
focusVisible: Signal<boolean>;
|
|
27
|
+
/** Rivet: whether the listbox element itself has focus (root useFocusRing). */
|
|
28
|
+
isFocused: Signal<boolean>;
|
|
29
|
+
/** The router link options open through (react-aria `useRouter()`, `RouterContext`). */
|
|
30
|
+
router?: Router | undefined;
|
|
31
|
+
/** Rivet (RAC SelectableCollectionContext `filter`): live options hide themselves when it rejects them. */
|
|
32
|
+
filter?: ((textValue: string, node: Node<unknown>) => boolean) | undefined;
|
|
33
|
+
}
|
|
34
|
+
/** react-aria `getItemId`: the option element id. */
|
|
35
|
+
export declare function getItemId(listId: string, itemKey: Key): string;
|
|
36
|
+
/** react-aria `AriaListBoxOptions` (labeling, selection behaviour, focus and keyboard options). */
|
|
37
|
+
export interface AriaListBoxOptions {
|
|
38
|
+
id?: string | undefined;
|
|
39
|
+
"aria-label"?: string | undefined;
|
|
40
|
+
"aria-labelledby"?: string | undefined;
|
|
41
|
+
"aria-describedby"?: string | undefined;
|
|
42
|
+
"aria-details"?: string | undefined;
|
|
43
|
+
/** Whether the listbox (or the first / last option) receives focus on mount (may be an accessor). */
|
|
44
|
+
autoFocus?: MaybeAccessor<boolean | FocusStrategy | undefined>;
|
|
45
|
+
/** Whether focus wraps around at the ends. */
|
|
46
|
+
shouldFocusWrap?: boolean | undefined;
|
|
47
|
+
/** Whether Escape clears the selection. @default "clearSelection" */
|
|
48
|
+
escapeKeyBehavior?: "clearSelection" | "none" | undefined;
|
|
49
|
+
/** How multiple selection behaves. @default "toggle" */
|
|
50
|
+
selectionBehavior?: SelectionBehavior | undefined;
|
|
51
|
+
/** Select on press up instead of press down. */
|
|
52
|
+
shouldSelectOnPressUp?: boolean | undefined;
|
|
53
|
+
/** Whether options receive focus on hover. */
|
|
54
|
+
shouldFocusOnHover?: boolean | undefined;
|
|
55
|
+
/** Handler that is called when a user performs an action on an option. */
|
|
56
|
+
onAction?: ((key: Key) => void) | undefined;
|
|
57
|
+
/** Whether the listbox uses virtual focus (aria-activedescendant); may be an accessor. */
|
|
58
|
+
shouldUseVirtualFocus?: MaybeAccessor<boolean | undefined>;
|
|
59
|
+
/** Whether typeahead is disabled (may be an accessor). */
|
|
60
|
+
disallowTypeAhead?: MaybeAccessor<boolean | undefined>;
|
|
61
|
+
/** The behavior of links in the collection. */
|
|
62
|
+
linkBehavior?: LinkBehavior | undefined;
|
|
63
|
+
/** @private RAC: items with an action are actions only (ComboBox). */
|
|
64
|
+
UNSTABLE_itemBehavior?: "action" | undefined;
|
|
65
|
+
/** The primary orientation of the options. @default "vertical" */
|
|
66
|
+
orientation?: Orientation | undefined;
|
|
67
|
+
/** Layout of the options. @default "stack" */
|
|
68
|
+
layout?: "stack" | "grid" | undefined;
|
|
69
|
+
/** Whether the options are contained in a virtual scroller. */
|
|
70
|
+
isVirtualized?: boolean | undefined;
|
|
71
|
+
/** An optional keyboard delegate (default: a ListKeyboardDelegate over the collection). */
|
|
72
|
+
keyboardDelegate?: KeyboardDelegate | undefined;
|
|
73
|
+
/** Focus events of the listbox (useFocusWithin). */
|
|
74
|
+
onFocus?: ((e: FocusEvent) => void) | undefined;
|
|
75
|
+
onBlur?: ((e: FocusEvent) => void) | undefined;
|
|
76
|
+
onFocusChange?: ((isFocused: boolean) => void) | undefined;
|
|
77
|
+
}
|
|
78
|
+
/** What the delegated handlers read: the options + the shared list data + the collection accessor. */
|
|
79
|
+
export interface ListBoxBehaviourProps extends AriaListBoxOptions {
|
|
80
|
+
data: ListData;
|
|
81
|
+
/** A built collection (Select / ComboBox / filtered); default: the rendered options. */
|
|
82
|
+
collection?: (() => Collection<Node<unknown>>) | null | undefined;
|
|
83
|
+
}
|
|
84
|
+
/** react-aria useListBox's `linkBehavior` default: "action" with replace, "override" otherwise (toggle cannot be "action"). */
|
|
85
|
+
export declare function listBoxLinkBehavior(selectionBehavior: SelectionBehavior | undefined, linkBehavior?: LinkBehavior): LinkBehavior;
|
|
86
|
+
/** Creates the shared list data (react-aria `listData.set(state, …)`). */
|
|
87
|
+
export declare function createListData(props: AriaListBoxOptions, id: string, filter?: ListData["filter"], router?: Router): ListData;
|
|
88
|
+
/**
|
|
89
|
+
* react-aria `useListBox` attributes (`listBoxProps` without handlers: wire `listBox<Event>` on the element) and
|
|
90
|
+
* `labelProps` (for a visible label element: `<span id>`). `tabIndex` and `aria-multiselectable` are accessors.
|
|
91
|
+
*/
|
|
92
|
+
export declare function listBoxProps(props: AriaListBoxOptions & {
|
|
93
|
+
label?: unknown;
|
|
94
|
+
}, state: ListState, data: ListData): {
|
|
95
|
+
listBoxProps: Record<string, unknown>;
|
|
96
|
+
labelProps: Record<string, unknown>;
|
|
97
|
+
};
|
|
98
|
+
/** react-aria `useListBoxSection`: props for the section's `<section>` (groupProps) and its heading. */
|
|
99
|
+
export declare function listBoxSectionProps(props: {
|
|
100
|
+
heading?: string | undefined;
|
|
101
|
+
"aria-label"?: string | undefined;
|
|
102
|
+
}): {
|
|
103
|
+
itemProps: Record<string, unknown>;
|
|
104
|
+
headingProps: Record<string, unknown>;
|
|
105
|
+
groupProps: Record<string, unknown>;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* A selection manager reading only one option (option bindings: no collection walk per binding). Takes plain data
|
|
109
|
+
* (a resumable binding must not capture the node instance). Memoized per selection state, key and `isDisabled`.
|
|
110
|
+
*/
|
|
111
|
+
export declare function nodeSelectionManager(state: ListState, key: Key, isDisabled?: boolean): SelectionManager;
|
|
112
|
+
/** react-aria `useOption` attributes and states (accessors: read inside bindings). */
|
|
113
|
+
export declare function optionProps(props: {
|
|
114
|
+
key: Key;
|
|
115
|
+
isDisabled?: boolean | undefined;
|
|
116
|
+
/** The item's `isDisabled` prop (an accessor stays live: read at use, live props P5). */
|
|
117
|
+
itemIsDisabled?: boolean | (() => boolean | undefined) | undefined;
|
|
118
|
+
hasAction?: boolean | undefined;
|
|
119
|
+
"aria-label"?: string | undefined;
|
|
120
|
+
labelId?: () => string | undefined;
|
|
121
|
+
descriptionId?: () => string | undefined;
|
|
122
|
+
}, state: ListState, data: ListData): {
|
|
123
|
+
optionProps: Record<string, unknown>;
|
|
124
|
+
isSelected: () => boolean;
|
|
125
|
+
isDisabled: () => boolean;
|
|
126
|
+
isFocused: () => boolean;
|
|
127
|
+
isFocusVisible: () => boolean;
|
|
128
|
+
isPressed: () => boolean;
|
|
129
|
+
isHovered: () => boolean;
|
|
130
|
+
allowsSelection: () => boolean;
|
|
131
|
+
hasAction: () => boolean;
|
|
132
|
+
};
|
|
133
|
+
type Ev<E extends Event = Event> = E & {
|
|
134
|
+
currentTarget: EventTarget | null;
|
|
135
|
+
};
|
|
136
|
+
/** react-aria useSelectableList options for this listbox (per event: manager + keyboard delegate over the current collection). */
|
|
137
|
+
export declare function listBoxCollectionOptions(props: ListBoxBehaviourProps, state: ListState, root: HTMLElement): AriaSelectableCollectionOptions;
|
|
138
|
+
/** keydown (capture) on the listbox element: typeahead Space (useTypeSelect). */
|
|
139
|
+
export declare function listBoxKeyDownCapture(e: Ev<KeyboardEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
140
|
+
/** keydown on the listbox element: option Space / Enter press (useSelectableItem), then navigation (useSelectableCollection). */
|
|
141
|
+
export declare function listBoxKeyDown(e: Ev<KeyboardEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
142
|
+
/** keyup on the listbox element: option keyboard press end. */
|
|
143
|
+
export declare function listBoxKeyUp(e: Ev<KeyboardEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
144
|
+
/** pointerdown on the listbox element: option press start. */
|
|
145
|
+
export declare function listBoxPointerDown(e: Ev<PointerEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
146
|
+
/** pointerup on the listbox element: option press up. */
|
|
147
|
+
export declare function listBoxPointerUp(e: Ev<PointerEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
148
|
+
/** pointercancel on the listbox element. */
|
|
149
|
+
export declare function listBoxPointerCancel(e: Ev<PointerEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
150
|
+
/** click on the listbox element: the option press (pointer and virtual clicks). */
|
|
151
|
+
export declare function listBoxClick(e: Ev<MouseEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
152
|
+
/** dblclick on the listbox element: secondary action with `selectionBehavior="replace"`. */
|
|
153
|
+
export declare function listBoxDoubleClick(e: Ev<MouseEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
154
|
+
/** dragstart on the listbox element. */
|
|
155
|
+
export declare function listBoxDragStart(e: Ev<DragEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
156
|
+
/** mousedown on the listbox element (scrollbar clicks do not focus). */
|
|
157
|
+
export declare function listBoxMouseDown(e: Ev<MouseEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
158
|
+
/** focusin on the listbox element: option focus (useSelectableItem), collection focus, focus-within, root focus ring. */
|
|
159
|
+
export declare function listBoxFocusIn(e: Ev<FocusEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
160
|
+
/** focusout on the listbox element. */
|
|
161
|
+
export declare function listBoxFocusOut(e: Ev<FocusEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
162
|
+
/** `react-aria-focus` (virtual focus from an Autocomplete input). */
|
|
163
|
+
export declare function listBoxVirtualFocus(e: Ev<CustomEvent<{
|
|
164
|
+
focusStrategy?: FocusStrategy;
|
|
165
|
+
}>>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
166
|
+
/** `react-aria-clear-focus` (virtual focus cleared by an Autocomplete input). */
|
|
167
|
+
export declare function listBoxClearVirtualFocus(e: Ev<CustomEvent<{
|
|
168
|
+
clearFocusKey?: boolean;
|
|
169
|
+
}>>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
170
|
+
/** pointerover on the listbox element: option hover start (useHover; `shouldFocusOnHover` focuses it). */
|
|
171
|
+
export declare function listBoxPointerOver(e: Ev<PointerEvent>, props: ListBoxBehaviourProps, state: ListState): void;
|
|
172
|
+
/** pointerout on the listbox element: option hover end when the pointer leaves it. */
|
|
173
|
+
export declare function listBoxPointerOut(e: Ev<PointerEvent>, props: ListBoxBehaviourProps, _state: ListState): void;
|
|
174
|
+
/** Auto focus once the listbox element is connected (react-aria useSelectableCollection's mount effect). */
|
|
175
|
+
export declare function listBoxAutoFocus(root: HTMLElement, props: ListBoxBehaviourProps, state: ListState): void;
|