@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/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 +120 -0
- package/_adapters/selection.js +709 -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 +376 -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 +252 -0
- package/collections/components.jsx +745 -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 +17 -0
- package/collections/nodes.js +107 -0
- package/collections/row-stamps.d.ts +17 -0
- package/collections/row-stamps.js +108 -0
- package/collections/selection-model.d.ts +93 -0
- package/collections/selection-model.js +192 -0
- package/collections/server-dev.d.ts +6 -0
- package/collections/server-dev.js +18 -0
- package/collections/server-off.d.ts +6 -0
- package/collections/server-off.js +9 -0
- package/collections/server-on.d.ts +29 -0
- package/collections/server-on.jsx +86 -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 +210 -0
- package/drag-drop/directives/drag.js +550 -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 +128 -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 +144 -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 +248 -0
- package/grid-list/behaviour.js +616 -0
- package/grid-list/index.d.ts +204 -0
- package/grid-list/index.jsx +721 -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 +539 -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 +52 -0
- package/interactions/utils.js +253 -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 +515 -0
- package/listbox/index.d.ts +129 -0
- package/listbox/index.jsx +632 -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 +702 -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 +55 -0
- package/portal/index.jsx +83 -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 +142 -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 +66 -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 +560 -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 +625 -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 +162 -0
- package/state/menu.js +185 -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 +1326 -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 +837 -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 +73 -0
- package/utils/data-attrs.jsx +217 -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 +43 -0
- package/utils/index.js +160 -0
- package/utils/link-state.d.ts +6 -0
- package/utils/link-state.js +6 -0
- package/utils/links.d.ts +82 -0
- package/utils/links.jsx +150 -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/transitions.d.ts +15 -0
- package/utils/transitions.js +104 -0
- package/utils/types.d.ts +111 -0
- package/utils/types.js +1 -0
- package/virtualizer/behaviour.d.ts +129 -0
- package/virtualizer/behaviour.js +437 -0
- package/virtualizer/collection-renderer.d.ts +62 -0
- package/virtualizer/collection-renderer.jsx +190 -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 +3 -0
- package/virtualizer/index.jsx +5 -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 +510 -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 +89 -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 +64 -0
- package/virtualizer/virtualizer.jsx +91 -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,107 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/scrolling/fixed-size-virtual-scroll.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: `CdkFixedSizeVirtualScroll` directive inputs (itemSize 20, minBufferPx 100, maxBufferPx 200)
|
|
3
|
+
// are `createVirtualScroll` options; the strategy class is unchanged.
|
|
4
|
+
import { distinct, Emitter } from "./emitter.js";
|
|
5
|
+
/** Virtual scrolling strategy for lists with items of known fixed size. */
|
|
6
|
+
export class FixedSizeVirtualScrollStrategy {
|
|
7
|
+
_scrolledIndexChange = new Emitter();
|
|
8
|
+
scrolledIndexChange = distinct(this._scrolledIndexChange);
|
|
9
|
+
_viewport = null;
|
|
10
|
+
_itemSize;
|
|
11
|
+
_minBufferPx;
|
|
12
|
+
_maxBufferPx;
|
|
13
|
+
/**
|
|
14
|
+
* @param itemSize The size of the items in the virtually scrolling list.
|
|
15
|
+
* @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more
|
|
16
|
+
* @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.
|
|
17
|
+
*/
|
|
18
|
+
constructor(itemSize, minBufferPx, maxBufferPx) {
|
|
19
|
+
this._itemSize = itemSize;
|
|
20
|
+
this._minBufferPx = minBufferPx;
|
|
21
|
+
this._maxBufferPx = maxBufferPx;
|
|
22
|
+
}
|
|
23
|
+
attach(viewport) {
|
|
24
|
+
this._viewport = viewport;
|
|
25
|
+
this._updateTotalContentSize();
|
|
26
|
+
this._updateRenderedRange();
|
|
27
|
+
}
|
|
28
|
+
detach() {
|
|
29
|
+
this._scrolledIndexChange.complete();
|
|
30
|
+
this._viewport = null;
|
|
31
|
+
}
|
|
32
|
+
/** Update the item size and buffer size. */
|
|
33
|
+
updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {
|
|
34
|
+
if (maxBufferPx < minBufferPx)
|
|
35
|
+
throw Error("CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx");
|
|
36
|
+
this._itemSize = itemSize;
|
|
37
|
+
this._minBufferPx = minBufferPx;
|
|
38
|
+
this._maxBufferPx = maxBufferPx;
|
|
39
|
+
this._updateTotalContentSize();
|
|
40
|
+
this._updateRenderedRange();
|
|
41
|
+
}
|
|
42
|
+
onContentScrolled() {
|
|
43
|
+
this._updateRenderedRange();
|
|
44
|
+
}
|
|
45
|
+
onDataLengthChanged() {
|
|
46
|
+
this._updateTotalContentSize();
|
|
47
|
+
this._updateRenderedRange();
|
|
48
|
+
}
|
|
49
|
+
onContentRendered() {
|
|
50
|
+
/* no-op */
|
|
51
|
+
}
|
|
52
|
+
onRenderedOffsetChanged() {
|
|
53
|
+
/* no-op */
|
|
54
|
+
}
|
|
55
|
+
scrollToIndex(index, behavior) {
|
|
56
|
+
if (this._viewport)
|
|
57
|
+
this._viewport.scrollToOffset(index * this._itemSize, behavior);
|
|
58
|
+
}
|
|
59
|
+
_updateTotalContentSize() {
|
|
60
|
+
if (!this._viewport)
|
|
61
|
+
return;
|
|
62
|
+
this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);
|
|
63
|
+
}
|
|
64
|
+
_updateRenderedRange() {
|
|
65
|
+
if (!this._viewport)
|
|
66
|
+
return;
|
|
67
|
+
const renderedRange = this._viewport.getRenderedRange();
|
|
68
|
+
const newRange = { start: renderedRange.start, end: renderedRange.end };
|
|
69
|
+
const viewportSize = this._viewport.getViewportSize();
|
|
70
|
+
const dataLength = this._viewport.getDataLength();
|
|
71
|
+
let scrollOffset = this._viewport.measureScrollOffset();
|
|
72
|
+
// Prevent NaN as result when dividing by zero.
|
|
73
|
+
let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;
|
|
74
|
+
// Scrolled to the bottom and the data shrank: recalculate the first visible index.
|
|
75
|
+
if (newRange.end > dataLength) {
|
|
76
|
+
const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);
|
|
77
|
+
const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));
|
|
78
|
+
// The first visible index changed: update the offset for the start / end buffers, and adjust
|
|
79
|
+
// the range to cover the new position (bottom of the new list).
|
|
80
|
+
if (firstVisibleIndex != newVisibleIndex) {
|
|
81
|
+
firstVisibleIndex = newVisibleIndex;
|
|
82
|
+
scrollOffset = newVisibleIndex * this._itemSize;
|
|
83
|
+
newRange.start = Math.floor(firstVisibleIndex);
|
|
84
|
+
}
|
|
85
|
+
newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));
|
|
86
|
+
}
|
|
87
|
+
const startBuffer = scrollOffset - newRange.start * this._itemSize;
|
|
88
|
+
if (startBuffer < this._minBufferPx && newRange.start != 0) {
|
|
89
|
+
const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);
|
|
90
|
+
newRange.start = Math.max(0, newRange.start - expandStart);
|
|
91
|
+
newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);
|
|
95
|
+
if (endBuffer < this._minBufferPx && newRange.end != dataLength) {
|
|
96
|
+
const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);
|
|
97
|
+
if (expandEnd > 0) {
|
|
98
|
+
newRange.end = Math.min(dataLength, newRange.end + expandEnd);
|
|
99
|
+
newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
this._viewport.setRenderedRange(newRange);
|
|
104
|
+
this._viewport.setRenderedContentOffset(Math.round(this._itemSize * newRange.start));
|
|
105
|
+
this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Emitter, auditTime, distinct, filter, stream, type Stream, type Subscription, type Observer } from "./emitter.js";
|
|
2
|
+
export { RtlScrollAxisType, getRtlScrollAxisType, supportsScrollBehavior, _setRtlScrollAxisType } from "./rtl.js";
|
|
3
|
+
export { ViewportRuler, viewportRuler, DEFAULT_RESIZE_TIME, type ViewportScrollPosition } from "./viewport-ruler.js";
|
|
4
|
+
export { ScrollDispatcher, scrollDispatcher, DEFAULT_SCROLL_TIME, type ScrollDispatcherTarget } from "./scroll-dispatcher.js";
|
|
5
|
+
export { CdkScrollable, CdkVirtualScrollable, CdkVirtualScrollableElement as CdkVirtualScrollableElementRef, CdkVirtualScrollableWindow, type ExtendedScrollToOptions, type ScrollableOptions, type ScrollEdge, } from "./scrollable.js";
|
|
6
|
+
export { rangesEqual, type ListRange, type VirtualScrollStrategy, type VirtualScrollStrategyViewport } from "./virtual-scroll-strategy.js";
|
|
7
|
+
export { FixedSizeVirtualScrollStrategy } from "./fixed-size-virtual-scroll.js";
|
|
8
|
+
export { AutoSizeVirtualScrollStrategy, ItemSizeAverager } from "./auto-size-virtual-scroll.js";
|
|
9
|
+
export { createVirtualScroll, createStrategy, contentTransform, VirtualScrollModel, type VirtualScrollOptions, type VirtualScrollState, type VirtualScrollCallbacks, type Orientation } from "./state.js";
|
|
10
|
+
export { VirtualScrollViewport, virtualScrollViewport, scrollToIndex, scrollToOffset } from "./virtual-scroll-viewport.js";
|
|
11
|
+
export { CdkVirtualScrollViewport, CdkVirtualForOf, CdkVirtualScrollableElement, type CdkVirtualForOfContext, type CdkVirtualForOfProps, type CdkVirtualScrollViewportProps } from "./viewport.jsx";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// @rivetjs/cdk/scrolling — Angular CDK scrolling (virtual scroll, ScrollDispatcher, ViewportRuler,
|
|
2
|
+
// CdkScrollable) ported to Rivet. Styles: `@rivetjs/cdk/scrolling.css`.
|
|
3
|
+
export { Emitter, auditTime, distinct, filter, stream } from "./emitter.js";
|
|
4
|
+
export { RtlScrollAxisType, getRtlScrollAxisType, supportsScrollBehavior, _setRtlScrollAxisType } from "./rtl.js";
|
|
5
|
+
export { ViewportRuler, viewportRuler, DEFAULT_RESIZE_TIME } from "./viewport-ruler.js";
|
|
6
|
+
export { ScrollDispatcher, scrollDispatcher, DEFAULT_SCROLL_TIME } from "./scroll-dispatcher.js";
|
|
7
|
+
export { CdkScrollable, CdkVirtualScrollable, CdkVirtualScrollableElement as CdkVirtualScrollableElementRef, CdkVirtualScrollableWindow, } from "./scrollable.js";
|
|
8
|
+
export { rangesEqual } from "./virtual-scroll-strategy.js";
|
|
9
|
+
export { FixedSizeVirtualScrollStrategy } from "./fixed-size-virtual-scroll.js";
|
|
10
|
+
export { AutoSizeVirtualScrollStrategy, ItemSizeAverager } from "./auto-size-virtual-scroll.js";
|
|
11
|
+
export { createVirtualScroll, createStrategy, contentTransform, VirtualScrollModel } from "./state.js";
|
|
12
|
+
export { VirtualScrollViewport, virtualScrollViewport, scrollToIndex, scrollToOffset } from "./virtual-scroll-viewport.js";
|
|
13
|
+
export { CdkVirtualScrollViewport, CdkVirtualForOf, CdkVirtualScrollableElement } from "./viewport.jsx";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** How `scrollLeft` behaves in right-to-left scroll containers (browser-dependent). */
|
|
2
|
+
export declare const RtlScrollAxisType: {
|
|
3
|
+
/** scrollLeft is 0 when scrolled all the way left and (scrollWidth - clientWidth) all the way right. */
|
|
4
|
+
readonly NORMAL: 0;
|
|
5
|
+
/** scrollLeft is -(scrollWidth - clientWidth) all the way left and 0 all the way right. */
|
|
6
|
+
readonly NEGATED: 1;
|
|
7
|
+
/** scrollLeft is (scrollWidth - clientWidth) all the way left and 0 all the way right. */
|
|
8
|
+
readonly INVERTED: 2;
|
|
9
|
+
};
|
|
10
|
+
export type RtlScrollAxisType = (typeof RtlScrollAxisType)[keyof typeof RtlScrollAxisType];
|
|
11
|
+
/** Whether `element.scrollTo({behavior})` is supported (smooth scrolling). */
|
|
12
|
+
export declare function supportsScrollBehavior(): boolean;
|
|
13
|
+
/** The RTL scrollLeft behaviour of this browser (measured once with a 1px probe). Server: NORMAL. */
|
|
14
|
+
export declare function getRtlScrollAxisType(): RtlScrollAxisType;
|
|
15
|
+
/** Test hook: force the RTL axis type / scroll-behavior support (`undefined` re-detects). */
|
|
16
|
+
export declare function _setRtlScrollAxisType(type: RtlScrollAxisType | undefined, behavior?: boolean): void;
|
package/scrolling/rtl.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/platform/features/scrolling.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: test hook `_setRtlScrollAxisType`; server → NORMAL.
|
|
3
|
+
/** How `scrollLeft` behaves in right-to-left scroll containers (browser-dependent). */
|
|
4
|
+
// (A const object instead of Angular's `enum`: Node type stripping has no enums.)
|
|
5
|
+
export const RtlScrollAxisType = {
|
|
6
|
+
/** scrollLeft is 0 when scrolled all the way left and (scrollWidth - clientWidth) all the way right. */
|
|
7
|
+
NORMAL: 0,
|
|
8
|
+
/** scrollLeft is -(scrollWidth - clientWidth) all the way left and 0 all the way right. */
|
|
9
|
+
NEGATED: 1,
|
|
10
|
+
/** scrollLeft is (scrollWidth - clientWidth) all the way left and 0 all the way right. */
|
|
11
|
+
INVERTED: 2,
|
|
12
|
+
};
|
|
13
|
+
let rtlScrollAxisType;
|
|
14
|
+
let scrollBehaviorSupported;
|
|
15
|
+
/** Whether `element.scrollTo({behavior})` is supported (smooth scrolling). */
|
|
16
|
+
export function supportsScrollBehavior() {
|
|
17
|
+
if (scrollBehaviorSupported == null) {
|
|
18
|
+
if (typeof document !== "object" || !document || typeof Element !== "function" || !Element)
|
|
19
|
+
return (scrollBehaviorSupported = false);
|
|
20
|
+
if (document.documentElement?.style && "scrollBehavior" in document.documentElement.style)
|
|
21
|
+
scrollBehaviorSupported = true;
|
|
22
|
+
else {
|
|
23
|
+
const scrollToFunction = Element.prototype.scrollTo;
|
|
24
|
+
// Polyfills (e.g. smoothscroll) patch scrollTo: the native one is "[native code]".
|
|
25
|
+
scrollBehaviorSupported = !!scrollToFunction && !/\{\s*\[native code\]\s*\}/.test(scrollToFunction.toString());
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return scrollBehaviorSupported;
|
|
29
|
+
}
|
|
30
|
+
/** The RTL scrollLeft behaviour of this browser (measured once with a 1px probe). Server: NORMAL. */
|
|
31
|
+
export function getRtlScrollAxisType() {
|
|
32
|
+
if (typeof document !== "object" || !document)
|
|
33
|
+
return RtlScrollAxisType.NORMAL;
|
|
34
|
+
if (rtlScrollAxisType == null) {
|
|
35
|
+
const scrollContainer = document.createElement("div");
|
|
36
|
+
const containerStyle = scrollContainer.style;
|
|
37
|
+
scrollContainer.dir = "rtl";
|
|
38
|
+
containerStyle.width = "1px";
|
|
39
|
+
containerStyle.overflow = "auto";
|
|
40
|
+
containerStyle.visibility = "hidden";
|
|
41
|
+
containerStyle.pointerEvents = "none";
|
|
42
|
+
containerStyle.position = "absolute";
|
|
43
|
+
const content = document.createElement("div");
|
|
44
|
+
const contentStyle = content.style;
|
|
45
|
+
contentStyle.width = "2px";
|
|
46
|
+
contentStyle.height = "1px";
|
|
47
|
+
scrollContainer.appendChild(content);
|
|
48
|
+
document.body.appendChild(scrollContainer);
|
|
49
|
+
rtlScrollAxisType = RtlScrollAxisType.NORMAL;
|
|
50
|
+
// NORMAL browsers start an RTL container scrolled to the right (scrollLeft 1). Otherwise set 1:
|
|
51
|
+
// past the max for NEGATED (reads back 0), valid for INVERTED.
|
|
52
|
+
if (scrollContainer.scrollLeft === 0) {
|
|
53
|
+
scrollContainer.scrollLeft = 1;
|
|
54
|
+
rtlScrollAxisType = scrollContainer.scrollLeft === 0 ? RtlScrollAxisType.NEGATED : RtlScrollAxisType.INVERTED;
|
|
55
|
+
}
|
|
56
|
+
scrollContainer.remove();
|
|
57
|
+
}
|
|
58
|
+
return rtlScrollAxisType;
|
|
59
|
+
}
|
|
60
|
+
/** Test hook: force the RTL axis type / scroll-behavior support (`undefined` re-detects). */
|
|
61
|
+
export function _setRtlScrollAxisType(type, behavior) {
|
|
62
|
+
rtlScrollAxisType = type;
|
|
63
|
+
scrollBehaviorSupported = behavior;
|
|
64
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type Stream, type Subscription } from "./emitter.js";
|
|
2
|
+
/** Time in ms to throttle the scrolling events by default. */
|
|
3
|
+
export declare const DEFAULT_SCROLL_TIME = 20;
|
|
4
|
+
/** Scrollable instance that can be registered with the `ScrollDispatcher`. */
|
|
5
|
+
export interface ScrollDispatcherTarget {
|
|
6
|
+
/** Stream that emits when the element is scrolled. */
|
|
7
|
+
elementScrolled(): Stream<Event>;
|
|
8
|
+
/** The scrollable element (Angular `getElementRef().nativeElement`). */
|
|
9
|
+
getElementRef(): {
|
|
10
|
+
nativeElement: HTMLElement;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
type ElementLike = HTMLElement | {
|
|
14
|
+
nativeElement: HTMLElement;
|
|
15
|
+
};
|
|
16
|
+
/** Registry of scroll targets; emits when any of them (or the document) scrolls. */
|
|
17
|
+
export declare class ScrollDispatcher {
|
|
18
|
+
private _document;
|
|
19
|
+
private _cleanupGlobalListener;
|
|
20
|
+
/** Notifies that a registered element (or the document: `undefined`) scrolled. */
|
|
21
|
+
private readonly _scrolled;
|
|
22
|
+
/** Number of `scrolled()` subscriptions, for cleaning up the global listener. */
|
|
23
|
+
private _scrolledCount;
|
|
24
|
+
/** Registered targets and their scroll subscriptions. */
|
|
25
|
+
readonly scrollContainers: Map<ScrollDispatcherTarget, Subscription>;
|
|
26
|
+
constructor(doc?: Document);
|
|
27
|
+
/** Registers a scrollable; its scroll events are re-emitted by `scrolled()`. */
|
|
28
|
+
register(target: ScrollDispatcherTarget): void;
|
|
29
|
+
/** De-registers a scrollable and unsubscribes from its scroll stream. */
|
|
30
|
+
deregister(target: ScrollDispatcherTarget): void;
|
|
31
|
+
/**
|
|
32
|
+
* Emits whenever a registered scrollable, or the document, scrolls; throttled by `auditTimeInMs`
|
|
33
|
+
* (0: no throttle). Server: completes at once.
|
|
34
|
+
*/
|
|
35
|
+
scrolled(auditTimeInMs?: number): Stream<ScrollDispatcherTarget | void>;
|
|
36
|
+
/** Remove the global listener, deregister everything, complete `scrolled()` (Angular `ngOnDestroy`). */
|
|
37
|
+
destroy(): void;
|
|
38
|
+
/** Emits whenever a scrollable ancestor of `element` (or the document) scrolls. */
|
|
39
|
+
ancestorScrolled(element: ElementLike, auditTimeInMs?: number): Stream<ScrollDispatcherTarget | void>;
|
|
40
|
+
/** All registered containers that contain `element`. */
|
|
41
|
+
getAncestorScrollContainers(element: ElementLike): ScrollDispatcherTarget[];
|
|
42
|
+
/** Whether the scrollable's element is `element` or one of its ancestors. */
|
|
43
|
+
private _targetContainsElement;
|
|
44
|
+
/** Test hook (Angular specs read `_cleanupGlobalListener`). */
|
|
45
|
+
get _hasGlobalListener(): boolean;
|
|
46
|
+
}
|
|
47
|
+
/** The shared ScrollDispatcher of `doc` (Angular root service), created on first use. */
|
|
48
|
+
export declare function scrollDispatcher(doc?: Document): ScrollDispatcher;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/scrolling/scroll-dispatcher.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: no DI / NgZone — `scrollDispatcher(document?)` returns the lazily created per-document
|
|
3
|
+
// instance; streams are `Stream`s (emitter.ts). Same lazy global `document` scroll listener: added
|
|
4
|
+
// with the first `scrolled()` subscriber, removed with the last.
|
|
5
|
+
import { auditTime, EMPTY_STREAM, Emitter, filter, stream } from "./emitter.js";
|
|
6
|
+
/** Time in ms to throttle the scrolling events by default. */
|
|
7
|
+
export const DEFAULT_SCROLL_TIME = 20;
|
|
8
|
+
const coerceElement = (value) => ("nativeElement" in value ? value.nativeElement : value);
|
|
9
|
+
/** Registry of scroll targets; emits when any of them (or the document) scrolls. */
|
|
10
|
+
export class ScrollDispatcher {
|
|
11
|
+
_document;
|
|
12
|
+
_cleanupGlobalListener;
|
|
13
|
+
/** Notifies that a registered element (or the document: `undefined`) scrolled. */
|
|
14
|
+
_scrolled = new Emitter();
|
|
15
|
+
/** Number of `scrolled()` subscriptions, for cleaning up the global listener. */
|
|
16
|
+
_scrolledCount = 0;
|
|
17
|
+
/** Registered targets and their scroll subscriptions. */
|
|
18
|
+
scrollContainers = new Map();
|
|
19
|
+
constructor(doc) {
|
|
20
|
+
this._document = doc ?? (typeof document === "object" && document ? document : undefined);
|
|
21
|
+
}
|
|
22
|
+
/** Registers a scrollable; its scroll events are re-emitted by `scrolled()`. */
|
|
23
|
+
register(target) {
|
|
24
|
+
if (!this.scrollContainers.has(target))
|
|
25
|
+
this.scrollContainers.set(target, target.elementScrolled().subscribe(() => this._scrolled.next(target)));
|
|
26
|
+
}
|
|
27
|
+
/** De-registers a scrollable and unsubscribes from its scroll stream. */
|
|
28
|
+
deregister(target) {
|
|
29
|
+
const ref = this.scrollContainers.get(target);
|
|
30
|
+
if (ref) {
|
|
31
|
+
ref.unsubscribe();
|
|
32
|
+
this.scrollContainers.delete(target);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Emits whenever a registered scrollable, or the document, scrolls; throttled by `auditTimeInMs`
|
|
37
|
+
* (0: no throttle). Server: completes at once.
|
|
38
|
+
*/
|
|
39
|
+
scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {
|
|
40
|
+
if (!this._document || typeof window !== "object")
|
|
41
|
+
return EMPTY_STREAM;
|
|
42
|
+
return stream((out) => {
|
|
43
|
+
if (!this._cleanupGlobalListener) {
|
|
44
|
+
const doc = this._document;
|
|
45
|
+
const listener = () => this._scrolled.next();
|
|
46
|
+
doc.addEventListener("scroll", listener);
|
|
47
|
+
this._cleanupGlobalListener = () => doc.removeEventListener("scroll", listener);
|
|
48
|
+
}
|
|
49
|
+
// 0 ms: no audit (it adds perceptible delay).
|
|
50
|
+
const subscription = (auditTimeInMs > 0 ? auditTime(this._scrolled, auditTimeInMs) : this._scrolled).subscribe(out);
|
|
51
|
+
this._scrolledCount++;
|
|
52
|
+
return () => {
|
|
53
|
+
subscription.unsubscribe();
|
|
54
|
+
this._scrolledCount--;
|
|
55
|
+
if (!this._scrolledCount) {
|
|
56
|
+
this._cleanupGlobalListener?.();
|
|
57
|
+
this._cleanupGlobalListener = undefined;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** Remove the global listener, deregister everything, complete `scrolled()` (Angular `ngOnDestroy`). */
|
|
63
|
+
destroy() {
|
|
64
|
+
this._cleanupGlobalListener?.();
|
|
65
|
+
this._cleanupGlobalListener = undefined;
|
|
66
|
+
this.scrollContainers.forEach((_, container) => this.deregister(container));
|
|
67
|
+
this._scrolled.complete();
|
|
68
|
+
}
|
|
69
|
+
/** Emits whenever a scrollable ancestor of `element` (or the document) scrolls. */
|
|
70
|
+
ancestorScrolled(element, auditTimeInMs) {
|
|
71
|
+
const ancestors = this.getAncestorScrollContainers(element);
|
|
72
|
+
return filter(this.scrolled(auditTimeInMs), (target) => !target || ancestors.indexOf(target) > -1);
|
|
73
|
+
}
|
|
74
|
+
/** All registered containers that contain `element`. */
|
|
75
|
+
getAncestorScrollContainers(element) {
|
|
76
|
+
const scrollingContainers = [];
|
|
77
|
+
this.scrollContainers.forEach((_, target) => {
|
|
78
|
+
if (this._targetContainsElement(target, element))
|
|
79
|
+
scrollingContainers.push(target);
|
|
80
|
+
});
|
|
81
|
+
return scrollingContainers;
|
|
82
|
+
}
|
|
83
|
+
/** Whether the scrollable's element is `element` or one of its ancestors. */
|
|
84
|
+
_targetContainsElement(scrollable, elementOrRef) {
|
|
85
|
+
let element = coerceElement(elementOrRef);
|
|
86
|
+
const targetElement = scrollable.getElementRef().nativeElement;
|
|
87
|
+
do {
|
|
88
|
+
if (element == targetElement)
|
|
89
|
+
return true;
|
|
90
|
+
} while ((element = element.parentElement));
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
/** Test hook (Angular specs read `_cleanupGlobalListener`). */
|
|
94
|
+
get _hasGlobalListener() {
|
|
95
|
+
return !!this._cleanupGlobalListener;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const dispatchers = new WeakMap();
|
|
99
|
+
const serverKey = {};
|
|
100
|
+
/** The shared ScrollDispatcher of `doc` (Angular root service), created on first use. */
|
|
101
|
+
export function scrollDispatcher(doc) {
|
|
102
|
+
const key = doc ?? (typeof document === "object" && document ? document : serverKey);
|
|
103
|
+
let dispatcher = dispatchers.get(key);
|
|
104
|
+
if (!dispatcher)
|
|
105
|
+
dispatchers.set(key, (dispatcher = new ScrollDispatcher(doc)));
|
|
106
|
+
return dispatcher;
|
|
107
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type Direction } from "../bidi/index.js";
|
|
2
|
+
import { Emitter, type Stream } from "./emitter.js";
|
|
3
|
+
import { type ScrollDispatcher, type ScrollDispatcherTarget } from "./scroll-dispatcher.js";
|
|
4
|
+
/**
|
|
5
|
+
* ScrollToOptions with offsets relative to top / bottom / left / right / start / end.
|
|
6
|
+
* top and bottom are mutually exclusive, as are left, right, start and end.
|
|
7
|
+
*/
|
|
8
|
+
export interface ExtendedScrollToOptions extends ScrollOptions {
|
|
9
|
+
top?: number;
|
|
10
|
+
bottom?: number;
|
|
11
|
+
left?: number;
|
|
12
|
+
right?: number;
|
|
13
|
+
start?: number;
|
|
14
|
+
end?: number;
|
|
15
|
+
}
|
|
16
|
+
export type ScrollEdge = "top" | "left" | "right" | "bottom" | "start" | "end";
|
|
17
|
+
export interface ScrollableOptions {
|
|
18
|
+
/** Layout direction (Angular `Directionality`); default: read from the element's `dir` ancestry. */
|
|
19
|
+
dir?: Direction | (() => Direction);
|
|
20
|
+
/** Dispatcher to register with (default: the document's shared one). */
|
|
21
|
+
dispatcher?: ScrollDispatcher;
|
|
22
|
+
}
|
|
23
|
+
/** A scroll container: emits its scroll events, registers with the ScrollDispatcher, normalizes RTL offsets. */
|
|
24
|
+
export declare class CdkScrollable implements ScrollDispatcherTarget {
|
|
25
|
+
protected elementRef: {
|
|
26
|
+
nativeElement: HTMLElement;
|
|
27
|
+
};
|
|
28
|
+
protected scrollDispatcher: ScrollDispatcher;
|
|
29
|
+
protected _scrollElement: EventTarget;
|
|
30
|
+
private _dir;
|
|
31
|
+
private _cleanupScroll;
|
|
32
|
+
private _elementScrolled;
|
|
33
|
+
protected readonly _destroyed: Emitter<void>;
|
|
34
|
+
constructor(element: HTMLElement, options?: ScrollableOptions);
|
|
35
|
+
/** Current layout direction. */
|
|
36
|
+
get dir(): {
|
|
37
|
+
value: Direction;
|
|
38
|
+
};
|
|
39
|
+
/** Start listening and register with the dispatcher (Angular `ngOnInit`). */
|
|
40
|
+
init(): this;
|
|
41
|
+
/** Stop listening, complete streams, deregister (Angular `ngOnDestroy`). */
|
|
42
|
+
destroy(): void;
|
|
43
|
+
/** Emits when the host element scrolls. */
|
|
44
|
+
elementScrolled(): Stream<Event>;
|
|
45
|
+
getElementRef(): {
|
|
46
|
+
nativeElement: HTMLElement;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Normalized `scrollTo`: left / right always mean the container's physical sides; start / end
|
|
50
|
+
* mean left / right in LTR and vice versa in RTL; bottom is rewritten as top.
|
|
51
|
+
*/
|
|
52
|
+
scrollTo(options: ExtendedScrollToOptions): void;
|
|
53
|
+
private _applyScrollToOptions;
|
|
54
|
+
/**
|
|
55
|
+
* Scroll offset from `from`, normalized like `scrollTo` (left / right physical, start / end logical).
|
|
56
|
+
*/
|
|
57
|
+
measureScrollOffset(from: ScrollEdge): number;
|
|
58
|
+
}
|
|
59
|
+
/** A CdkScrollable usable as the scroll container of a virtual scroll viewport. */
|
|
60
|
+
export declare abstract class CdkVirtualScrollable extends CdkScrollable {
|
|
61
|
+
/** Viewport size along `orientation`. */
|
|
62
|
+
measureViewportSize(orientation: "horizontal" | "vertical"): number;
|
|
63
|
+
/** Bounding client rect edge including the scroll offset. */
|
|
64
|
+
abstract measureBoundingClientRectWithScrollOffset(from: "left" | "top" | "right" | "bottom"): number;
|
|
65
|
+
}
|
|
66
|
+
/** Virtual scrollable for an arbitrary scrolling ancestor element (`cdkVirtualScrollingElement`). */
|
|
67
|
+
export declare class CdkVirtualScrollableElement extends CdkVirtualScrollable {
|
|
68
|
+
constructor(element: HTMLElement, options?: ScrollableOptions);
|
|
69
|
+
measureBoundingClientRectWithScrollOffset(from: "left" | "top" | "right" | "bottom"): number;
|
|
70
|
+
}
|
|
71
|
+
/** Virtual scrollable for the window scrollbar (`scrollWindow`). */
|
|
72
|
+
export declare class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
|
|
73
|
+
constructor(doc?: Document, options?: ScrollableOptions);
|
|
74
|
+
measureBoundingClientRectWithScrollOffset(from: "left" | "top" | "right" | "bottom"): number;
|
|
75
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/scrolling/{scrollable,virtual-scrollable,
|
|
2
|
+
// virtual-scrollable-element,virtual-scrollable-window}.ts), MIT, © Google LLC.
|
|
3
|
+
// Rivet: plain classes over an element (no directive / DI): `new CdkScrollable(element)` + `init()`
|
|
4
|
+
// (Angular ngOnInit) / `destroy()`; direction from `dir` attributes (cdk/bidi) unless `dir` is given.
|
|
5
|
+
import { direction } from "../bidi/index.js";
|
|
6
|
+
import { Emitter } from "./emitter.js";
|
|
7
|
+
import { getRtlScrollAxisType, RtlScrollAxisType, supportsScrollBehavior } from "./rtl.js";
|
|
8
|
+
import { scrollDispatcher } from "./scroll-dispatcher.js";
|
|
9
|
+
/** A scroll container: emits its scroll events, registers with the ScrollDispatcher, normalizes RTL offsets. */
|
|
10
|
+
export class CdkScrollable {
|
|
11
|
+
elementRef;
|
|
12
|
+
scrollDispatcher;
|
|
13
|
+
_scrollElement;
|
|
14
|
+
_dir;
|
|
15
|
+
_cleanupScroll;
|
|
16
|
+
_elementScrolled = new Emitter();
|
|
17
|
+
_destroyed = new Emitter();
|
|
18
|
+
constructor(element, options = {}) {
|
|
19
|
+
this.elementRef = { nativeElement: element };
|
|
20
|
+
this._scrollElement = element;
|
|
21
|
+
this._dir = options.dir;
|
|
22
|
+
this.scrollDispatcher = options.dispatcher ?? scrollDispatcher(element.ownerDocument);
|
|
23
|
+
}
|
|
24
|
+
/** Current layout direction. */
|
|
25
|
+
get dir() {
|
|
26
|
+
const dir = this._dir;
|
|
27
|
+
return { value: typeof dir === "function" ? dir() : (dir ?? direction(this.elementRef.nativeElement)) };
|
|
28
|
+
}
|
|
29
|
+
/** Start listening and register with the dispatcher (Angular `ngOnInit`). */
|
|
30
|
+
init() {
|
|
31
|
+
if (!this._cleanupScroll) {
|
|
32
|
+
const target = this._scrollElement;
|
|
33
|
+
const listener = (event) => this._elementScrolled.next(event);
|
|
34
|
+
target.addEventListener("scroll", listener);
|
|
35
|
+
this._cleanupScroll = () => target.removeEventListener("scroll", listener);
|
|
36
|
+
}
|
|
37
|
+
this.scrollDispatcher.register(this);
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/** Stop listening, complete streams, deregister (Angular `ngOnDestroy`). */
|
|
41
|
+
destroy() {
|
|
42
|
+
this._cleanupScroll?.();
|
|
43
|
+
this._cleanupScroll = undefined;
|
|
44
|
+
this._elementScrolled.complete();
|
|
45
|
+
this.scrollDispatcher.deregister(this);
|
|
46
|
+
this._destroyed.next();
|
|
47
|
+
this._destroyed.complete();
|
|
48
|
+
}
|
|
49
|
+
/** Emits when the host element scrolls. */
|
|
50
|
+
elementScrolled() {
|
|
51
|
+
return this._elementScrolled;
|
|
52
|
+
}
|
|
53
|
+
getElementRef() {
|
|
54
|
+
return this.elementRef;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Normalized `scrollTo`: left / right always mean the container's physical sides; start / end
|
|
58
|
+
* mean left / right in LTR and vice versa in RTL; bottom is rewritten as top.
|
|
59
|
+
*/
|
|
60
|
+
scrollTo(options) {
|
|
61
|
+
const el = this.elementRef.nativeElement;
|
|
62
|
+
const isRtl = this.dir.value == "rtl";
|
|
63
|
+
options = { ...options };
|
|
64
|
+
if (options.left == null)
|
|
65
|
+
options.left = isRtl ? options.end : options.start;
|
|
66
|
+
if (options.right == null)
|
|
67
|
+
options.right = isRtl ? options.start : options.end;
|
|
68
|
+
if (options.bottom != null)
|
|
69
|
+
options.top = el.scrollHeight - el.clientHeight - options.bottom;
|
|
70
|
+
if (isRtl && getRtlScrollAxisType() != RtlScrollAxisType.NORMAL) {
|
|
71
|
+
if (options.left != null)
|
|
72
|
+
options.right = el.scrollWidth - el.clientWidth - options.left;
|
|
73
|
+
if (getRtlScrollAxisType() == RtlScrollAxisType.INVERTED)
|
|
74
|
+
options.left = options.right;
|
|
75
|
+
else if (getRtlScrollAxisType() == RtlScrollAxisType.NEGATED)
|
|
76
|
+
options.left = options.right ? -options.right : options.right;
|
|
77
|
+
}
|
|
78
|
+
else if (options.right != null)
|
|
79
|
+
options.left = el.scrollWidth - el.clientWidth - options.right;
|
|
80
|
+
this._applyScrollToOptions(options);
|
|
81
|
+
}
|
|
82
|
+
_applyScrollToOptions(options) {
|
|
83
|
+
const el = this.elementRef.nativeElement;
|
|
84
|
+
const { top, left, behavior } = options;
|
|
85
|
+
if (supportsScrollBehavior())
|
|
86
|
+
el.scrollTo({ top, left, behavior });
|
|
87
|
+
else {
|
|
88
|
+
if (top != null)
|
|
89
|
+
el.scrollTop = top;
|
|
90
|
+
if (left != null)
|
|
91
|
+
el.scrollLeft = left;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Scroll offset from `from`, normalized like `scrollTo` (left / right physical, start / end logical).
|
|
96
|
+
*/
|
|
97
|
+
measureScrollOffset(from) {
|
|
98
|
+
const LEFT = "left";
|
|
99
|
+
const RIGHT = "right";
|
|
100
|
+
const el = this.elementRef.nativeElement;
|
|
101
|
+
if (from == "top")
|
|
102
|
+
return el.scrollTop;
|
|
103
|
+
if (from == "bottom")
|
|
104
|
+
return el.scrollHeight - el.clientHeight - el.scrollTop;
|
|
105
|
+
const isRtl = this.dir.value == "rtl";
|
|
106
|
+
if (from == "start")
|
|
107
|
+
from = isRtl ? RIGHT : LEFT;
|
|
108
|
+
else if (from == "end")
|
|
109
|
+
from = isRtl ? LEFT : RIGHT;
|
|
110
|
+
if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.INVERTED) {
|
|
111
|
+
// INVERTED: scrollLeft is (scrollWidth - clientWidth) all the way left, 0 all the way right.
|
|
112
|
+
return from == LEFT ? el.scrollWidth - el.clientWidth - el.scrollLeft : el.scrollLeft;
|
|
113
|
+
}
|
|
114
|
+
else if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.NEGATED) {
|
|
115
|
+
// NEGATED: scrollLeft is -(scrollWidth - clientWidth) all the way left, 0 all the way right.
|
|
116
|
+
return from == LEFT ? el.scrollLeft + el.scrollWidth - el.clientWidth : -el.scrollLeft;
|
|
117
|
+
}
|
|
118
|
+
// NORMAL (and LTR): 0 all the way left, (scrollWidth - clientWidth) all the way right.
|
|
119
|
+
return from == LEFT ? el.scrollLeft : el.scrollWidth - el.clientWidth - el.scrollLeft;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/** A CdkScrollable usable as the scroll container of a virtual scroll viewport. */
|
|
123
|
+
export class CdkVirtualScrollable extends CdkScrollable {
|
|
124
|
+
/** Viewport size along `orientation`. */
|
|
125
|
+
measureViewportSize(orientation) {
|
|
126
|
+
const viewportEl = this.elementRef.nativeElement;
|
|
127
|
+
return orientation === "horizontal" ? viewportEl.clientWidth : viewportEl.clientHeight;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/** Virtual scrollable for an arbitrary scrolling ancestor element (`cdkVirtualScrollingElement`). */
|
|
131
|
+
export class CdkVirtualScrollableElement extends CdkVirtualScrollable {
|
|
132
|
+
constructor(element, options) {
|
|
133
|
+
super(element, options);
|
|
134
|
+
element.classList.add("cdk-virtual-scrollable");
|
|
135
|
+
}
|
|
136
|
+
measureBoundingClientRectWithScrollOffset(from) {
|
|
137
|
+
return this.getElementRef().nativeElement.getBoundingClientRect()[from] - this.measureScrollOffset(from);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Virtual scrollable for the window scrollbar (`scrollWindow`). */
|
|
141
|
+
export class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
|
|
142
|
+
constructor(doc = document, options) {
|
|
143
|
+
super(doc.documentElement, options);
|
|
144
|
+
this._scrollElement = doc;
|
|
145
|
+
}
|
|
146
|
+
measureBoundingClientRectWithScrollOffset(from) {
|
|
147
|
+
return this.getElementRef().nativeElement.getBoundingClientRect()[from];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* Ported from Angular Components (src/cdk/scrolling/virtual-scroll-viewport.scss), MIT, © Google LLC. */
|
|
2
|
+
.cdk-virtual-scroll-viewport { display: block; position: relative; transform: translateZ(0); }
|
|
3
|
+
.cdk-virtual-scrollable { overflow: auto; will-change: scroll-position; contain: strict; overflow-anchor: none; scroll-behavior: auto; }
|
|
4
|
+
.cdk-virtual-scroll-content-wrapper { position: absolute; top: 0; left: 0; contain: content; }
|
|
5
|
+
[dir="rtl"] .cdk-virtual-scroll-content-wrapper { right: 0; left: auto; }
|
|
6
|
+
.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper { min-height: 100%; }
|
|
7
|
+
.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper { min-width: 100%; }
|
|
8
|
+
.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper > :is(dl, ol, table, ul) { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; border-left-width: 0; border-right-width: 0; outline: none; }
|
|
9
|
+
.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper > :is(dl, ol, table, ul) { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; border-top-width: 0; border-bottom-width: 0; outline: none; }
|
|
10
|
+
.cdk-virtual-scroll-spacer { height: 1px; transform-origin: 0 0; flex: 0 0 auto; }
|
|
11
|
+
[dir="rtl"] .cdk-virtual-scroll-spacer { transform-origin: 100% 0; }
|