@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +483 -0
- package/README.md +10 -2
- package/_adapters/collection.d.ts +160 -0
- package/_adapters/collection.js +235 -0
- package/_adapters/collections.d.ts +325 -0
- package/_adapters/collections.js +934 -0
- package/_adapters/dom-collection.d.ts +42 -0
- package/_adapters/dom-collection.js +228 -0
- package/_adapters/grid-selection.d.ts +115 -0
- package/_adapters/grid-selection.js +436 -0
- package/_adapters/interactions.d.ts +19 -0
- package/_adapters/interactions.js +45 -0
- package/_adapters/intl.d.ts +8 -0
- package/_adapters/intl.js +106 -0
- package/_adapters/press.d.ts +22 -0
- package/_adapters/press.js +34 -0
- package/_adapters/selectable.d.ts +132 -0
- package/_adapters/selectable.js +599 -0
- package/_adapters/selection.d.ts +109 -0
- package/_adapters/selection.js +685 -0
- package/_adapters/type-select.d.ts +8 -0
- package/_adapters/type-select.js +59 -0
- package/a11y/aria-describer.d.ts +46 -0
- package/a11y/aria-describer.js +169 -0
- package/a11y/focus-monitor.d.ts +98 -0
- package/a11y/focus-monitor.js +321 -0
- package/a11y/focus-trap.d.ts +137 -0
- package/a11y/focus-trap.js +378 -0
- package/a11y/high-contrast.d.ts +26 -0
- package/a11y/high-contrast.js +84 -0
- package/a11y/index.d.ts +37 -0
- package/a11y/index.js +97 -0
- package/a11y/interactivity-checker.d.ts +18 -0
- package/a11y/interactivity-checker.js +126 -0
- package/a11y/key-manager.d.ts +152 -0
- package/a11y/key-manager.js +397 -0
- package/a11y/live-announcer.d.ts +53 -0
- package/a11y/live-announcer.js +143 -0
- package/accordion/index.d.ts +2 -0
- package/accordion/index.jsx +10 -0
- package/announcer/index.d.ts +8 -0
- package/announcer/index.jsx +22 -0
- package/announcer/live-announcer.d.ts +15 -0
- package/announcer/live-announcer.js +123 -0
- package/autocomplete/behaviour.d.ts +94 -0
- package/autocomplete/behaviour.jsx +423 -0
- package/autocomplete/contexts.d.ts +54 -0
- package/autocomplete/contexts.js +28 -0
- package/autocomplete/index.d.ts +12 -0
- package/autocomplete/index.jsx +31 -0
- package/autocomplete/intl.d.ts +2 -0
- package/autocomplete/intl.js +36 -0
- package/bidi/bidi-dir.d.ts +23 -0
- package/bidi/bidi-dir.jsx +36 -0
- package/bidi/index.d.ts +58 -0
- package/bidi/index.js +84 -0
- package/breadcrumbs/behaviour.d.ts +6 -0
- package/breadcrumbs/behaviour.js +17 -0
- package/breadcrumbs/index.d.ts +68 -0
- package/breadcrumbs/index.jsx +224 -0
- package/breadcrumbs/intl.d.ts +3 -0
- package/breadcrumbs/intl.js +104 -0
- package/button/behaviour.d.ts +61 -0
- package/button/behaviour.js +90 -0
- package/button/index.d.ts +38 -0
- package/button/index.jsx +374 -0
- package/button/press.d.ts +25 -0
- package/button/press.js +54 -0
- package/calendar/behaviour.d.ts +250 -0
- package/calendar/behaviour.jsx +939 -0
- package/calendar/index.d.ts +157 -0
- package/calendar/index.jsx +484 -0
- package/calendar/intl.d.ts +3 -0
- package/calendar/intl.js +36 -0
- package/carousel/behaviour.d.ts +50 -0
- package/carousel/behaviour.jsx +365 -0
- package/carousel/engine/Alignment.d.ts +5 -0
- package/carousel/engine/Alignment.js +24 -0
- package/carousel/engine/Animations.d.ts +13 -0
- package/carousel/engine/Animations.js +28 -0
- package/carousel/engine/Axis.d.ts +14 -0
- package/carousel/engine/Axis.js +35 -0
- package/carousel/engine/Counter.d.ts +7 -0
- package/carousel/engine/Counter.js +32 -0
- package/carousel/engine/DragHandler.d.ts +22 -0
- package/carousel/engine/DragHandler.js +141 -0
- package/carousel/engine/DragTracker.d.ts +10 -0
- package/carousel/engine/DragTracker.js +29 -0
- package/carousel/engine/EmblaCarousel.d.ts +32 -0
- package/carousel/engine/EmblaCarousel.js +177 -0
- package/carousel/engine/Engine.d.ts +64 -0
- package/carousel/engine/Engine.js +137 -0
- package/carousel/engine/EventHandler.d.ts +27 -0
- package/carousel/engine/EventHandler.js +33 -0
- package/carousel/engine/EventStore.d.ts +9 -0
- package/carousel/engine/EventStore.js +25 -0
- package/carousel/engine/NodeRects.d.ts +12 -0
- package/carousel/engine/NodeRects.js +18 -0
- package/carousel/engine/Options.d.ts +40 -0
- package/carousel/engine/Options.js +22 -0
- package/carousel/engine/OptionsHandler.d.ts +10 -0
- package/carousel/engine/OptionsHandler.js +26 -0
- package/carousel/engine/PercentOfView.d.ts +4 -0
- package/carousel/engine/PercentOfView.js +9 -0
- package/carousel/engine/Plugins.d.ts +16 -0
- package/carousel/engine/Plugins.js +1 -0
- package/carousel/engine/PluginsHandler.d.ts +8 -0
- package/carousel/engine/PluginsHandler.js +16 -0
- package/carousel/engine/ResizeHandler.d.ts +13 -0
- package/carousel/engine/ResizeHandler.js +51 -0
- package/carousel/engine/ScrollBounds.d.ts +10 -0
- package/carousel/engine/ScrollBounds.js +41 -0
- package/carousel/engine/ScrollContain.d.ts +7 -0
- package/carousel/engine/ScrollContain.js +52 -0
- package/carousel/engine/ScrollLimit.d.ts +5 -0
- package/carousel/engine/ScrollLimit.js +13 -0
- package/carousel/engine/ScrollLooper.d.ts +6 -0
- package/carousel/engine/ScrollLooper.js +26 -0
- package/carousel/engine/ScrollProgress.d.ts +5 -0
- package/carousel/engine/ScrollProgress.js +11 -0
- package/carousel/engine/ScrollSnaps.d.ts +9 -0
- package/carousel/engine/ScrollSnaps.js +26 -0
- package/carousel/engine/ScrollTarget.d.ts +12 -0
- package/carousel/engine/ScrollTarget.js +47 -0
- package/carousel/engine/ScrollTo.d.ts +11 -0
- package/carousel/engine/ScrollTo.js +36 -0
- package/carousel/engine/SlideFocus.d.ts +13 -0
- package/carousel/engine/SlideFocus.js +39 -0
- package/carousel/engine/SlideLooper.d.ts +18 -0
- package/carousel/engine/SlideLooper.js +78 -0
- package/carousel/engine/SlideRegistry.d.ts +7 -0
- package/carousel/engine/SlideRegistry.js +31 -0
- package/carousel/engine/SlideSizes.d.ts +10 -0
- package/carousel/engine/SlideSizes.js +41 -0
- package/carousel/engine/SlidesHandler.d.ts +10 -0
- package/carousel/engine/SlidesHandler.js +36 -0
- package/carousel/engine/SlidesInView.d.ts +8 -0
- package/carousel/engine/SlidesInView.js +59 -0
- package/carousel/engine/SlidesToScroll.d.ts +7 -0
- package/carousel/engine/SlidesToScroll.js +41 -0
- package/carousel/engine/Translate.d.ts +7 -0
- package/carousel/engine/Translate.js +38 -0
- package/carousel/engine/index.d.ts +11 -0
- package/carousel/engine/index.js +1 -0
- package/carousel/engine/utils.d.ts +15 -0
- package/carousel/engine/utils.js +45 -0
- package/carousel/index.d.ts +202 -0
- package/carousel/index.jsx +469 -0
- package/carousel/plugins/auto-height/AutoHeight.d.ts +14 -0
- package/carousel/plugins/auto-height/AutoHeight.js +43 -0
- package/carousel/plugins/auto-height/Options.d.ts +2 -0
- package/carousel/plugins/auto-height/Options.js +1 -0
- package/carousel/plugins/auto-height/index.d.ts +2 -0
- package/carousel/plugins/auto-height/index.js +1 -0
- package/carousel/plugins/auto-scroll/AutoScroll.d.ts +25 -0
- package/carousel/plugins/auto-scroll/AutoScroll.js +185 -0
- package/carousel/plugins/auto-scroll/Options.d.ts +13 -0
- package/carousel/plugins/auto-scroll/Options.js +12 -0
- package/carousel/plugins/auto-scroll/index.d.ts +2 -0
- package/carousel/plugins/auto-scroll/index.js +1 -0
- package/carousel/plugins/auto-scroll/utils.d.ts +3 -0
- package/carousel/plugins/auto-scroll/utils.js +4 -0
- package/carousel/plugins/autoplay/Autoplay.d.ts +29 -0
- package/carousel/plugins/autoplay/Autoplay.js +173 -0
- package/carousel/plugins/autoplay/Options.d.ts +14 -0
- package/carousel/plugins/autoplay/Options.js +12 -0
- package/carousel/plugins/autoplay/index.d.ts +2 -0
- package/carousel/plugins/autoplay/index.js +1 -0
- package/carousel/plugins/autoplay/utils.d.ts +4 -0
- package/carousel/plugins/autoplay/utils.js +11 -0
- package/carousel/plugins/class-names/ClassNames.d.ts +14 -0
- package/carousel/plugins/class-names/ClassNames.js +98 -0
- package/carousel/plugins/class-names/Options.d.ts +13 -0
- package/carousel/plugins/class-names/Options.js +9 -0
- package/carousel/plugins/class-names/index.d.ts +2 -0
- package/carousel/plugins/class-names/index.js +1 -0
- package/carousel/plugins/class-names/utils.d.ts +4 -0
- package/carousel/plugins/class-names/utils.js +14 -0
- package/carousel/plugins/fade/Fade.d.ts +14 -0
- package/carousel/plugins/fade/Fade.js +199 -0
- package/carousel/plugins/fade/Options.d.ts +2 -0
- package/carousel/plugins/fade/Options.js +1 -0
- package/carousel/plugins/fade/index.d.ts +2 -0
- package/carousel/plugins/fade/index.js +1 -0
- package/carousel/plugins/fade/utils.d.ts +2 -0
- package/carousel/plugins/fade/utils.js +8 -0
- package/carousel/state.d.ts +81 -0
- package/carousel/state.js +71 -0
- package/chat/index.d.ts +83 -0
- package/chat/index.jsx +287 -0
- package/checkbox/behaviour.d.ts +172 -0
- package/checkbox/behaviour.jsx +412 -0
- package/checkbox/index.d.ts +168 -0
- package/checkbox/index.jsx +310 -0
- package/clipboard/index.d.ts +49 -0
- package/clipboard/index.js +136 -0
- package/coercion/index.d.ts +36 -0
- package/coercion/index.js +58 -0
- package/collections/base.d.ts +115 -0
- package/collections/base.js +346 -0
- package/collections/builder.d.ts +44 -0
- package/collections/builder.js +283 -0
- package/collections/components.d.ts +217 -0
- package/collections/components.jsx +537 -0
- package/collections/data-source.d.ts +26 -0
- package/collections/data-source.js +27 -0
- package/collections/dom.d.ts +34 -0
- package/collections/dom.js +127 -0
- package/collections/grid.d.ts +45 -0
- package/collections/grid.js +125 -0
- package/collections/hidden.d.ts +4 -0
- package/collections/hidden.js +12 -0
- package/collections/index.d.ts +45 -0
- package/collections/index.js +105 -0
- package/collections/list-state.d.ts +99 -0
- package/collections/list-state.js +156 -0
- package/collections/list.d.ts +20 -0
- package/collections/list.js +77 -0
- package/collections/nodes.d.ts +9 -0
- package/collections/nodes.js +81 -0
- package/collections/selection-model.d.ts +93 -0
- package/collections/selection-model.js +192 -0
- package/collections/server-dev.d.ts +5 -0
- package/collections/server-dev.js +16 -0
- package/collections/server-off.d.ts +5 -0
- package/collections/server-off.js +7 -0
- package/collections/server-on.d.ts +28 -0
- package/collections/server-on.jsx +76 -0
- package/collections/table.d.ts +114 -0
- package/collections/table.js +439 -0
- package/collections/tree-state.d.ts +47 -0
- package/collections/tree-state.js +73 -0
- package/collections/tree.d.ts +20 -0
- package/collections/tree.js +66 -0
- package/collections/types.d.ts +229 -0
- package/collections/types.js +4 -0
- package/collections/unique-selection-dispatcher.d.ts +10 -0
- package/collections/unique-selection-dispatcher.js +25 -0
- package/color/area-state.d.ts +99 -0
- package/color/area-state.js +160 -0
- package/color/aria-intl.d.ts +3 -0
- package/color/aria-intl.js +274 -0
- package/color/channel-field-state.d.ts +50 -0
- package/color/channel-field-state.jsx +87 -0
- package/color/color.d.ts +78 -0
- package/color/color.js +738 -0
- package/color/field-state.d.ts +66 -0
- package/color/field-state.jsx +159 -0
- package/color/index.d.ts +58 -0
- package/color/index.js +88 -0
- package/color/intl.d.ts +3 -0
- package/color/intl.js +1328 -0
- package/color/picker-state.d.ts +20 -0
- package/color/picker-state.js +19 -0
- package/color/slider-state.d.ts +78 -0
- package/color/slider-state.jsx +98 -0
- package/color/value.d.ts +27 -0
- package/color/value.js +36 -0
- package/color/wheel-state.d.ts +77 -0
- package/color/wheel-state.js +152 -0
- package/color-area/behaviour.d.ts +161 -0
- package/color-area/behaviour.jsx +454 -0
- package/color-area/index.d.ts +34 -0
- package/color-area/index.jsx +187 -0
- package/color-field/behaviour.d.ts +112 -0
- package/color-field/behaviour.jsx +262 -0
- package/color-field/index.d.ts +72 -0
- package/color-field/index.jsx +309 -0
- package/color-picker/index.d.ts +19 -0
- package/color-picker/index.jsx +49 -0
- package/color-slider/behaviour.d.ts +103 -0
- package/color-slider/behaviour.jsx +234 -0
- package/color-slider/index.d.ts +40 -0
- package/color-slider/index.jsx +162 -0
- package/color-swatch/behaviour.d.ts +40 -0
- package/color-swatch/behaviour.js +36 -0
- package/color-swatch/index.d.ts +29 -0
- package/color-swatch/index.jsx +82 -0
- package/color-swatch-picker/index.d.ts +62 -0
- package/color-swatch-picker/index.jsx +95 -0
- package/color-swatch-picker/intl.d.ts +3 -0
- package/color-swatch-picker/intl.js +104 -0
- package/color-thumb/index.d.ts +85 -0
- package/color-thumb/index.jsx +93 -0
- package/color-wheel/behaviour.d.ts +123 -0
- package/color-wheel/behaviour.jsx +301 -0
- package/color-wheel/index.d.ts +50 -0
- package/color-wheel/index.jsx +166 -0
- package/combobox/behaviour.d.ts +120 -0
- package/combobox/behaviour.jsx +588 -0
- package/combobox/index.d.ts +101 -0
- package/combobox/index.jsx +365 -0
- package/combobox/intl.d.ts +2 -0
- package/combobox/intl.js +240 -0
- package/compare/behaviour.d.ts +101 -0
- package/compare/behaviour.js +288 -0
- package/compare/index.d.ts +58 -0
- package/compare/index.jsx +129 -0
- package/data/async-list.d.ts +78 -0
- package/data/async-list.jsx +257 -0
- package/data/index.d.ts +3 -0
- package/data/index.jsx +6 -0
- package/data/list-data.d.ts +88 -0
- package/data/list-data.jsx +210 -0
- package/data/tree-data.d.ts +59 -0
- package/data/tree-data.jsx +278 -0
- package/data-grid/behaviour.d.ts +95 -0
- package/data-grid/behaviour.js +725 -0
- package/data-grid/index.d.ts +138 -0
- package/data-grid/index.jsx +452 -0
- package/data-grid/state.d.ts +131 -0
- package/data-grid/state.js +288 -0
- package/date/CalendarDate.d.ts +207 -0
- package/date/CalendarDate.js +374 -0
- package/date/DateFormatter.d.ts +24 -0
- package/date/DateFormatter.js +175 -0
- package/date/calendars/BuddhistCalendar.d.ts +16 -0
- package/date/calendars/BuddhistCalendar.js +46 -0
- package/date/calendars/EthiopicCalendar.d.ts +45 -0
- package/date/calendars/EthiopicCalendar.js +178 -0
- package/date/calendars/GregorianCalendar.d.ts +26 -0
- package/date/calendars/GregorianCalendar.js +122 -0
- package/date/calendars/HebrewCalendar.d.ts +21 -0
- package/date/calendars/HebrewCalendar.js +174 -0
- package/date/calendars/IndianCalendar.d.ts +17 -0
- package/date/calendars/IndianCalendar.js +111 -0
- package/date/calendars/IslamicCalendar.d.ts +51 -0
- package/date/calendars/IslamicCalendar.js +205 -0
- package/date/calendars/JapaneseCalendar.d.ts +22 -0
- package/date/calendars/JapaneseCalendar.js +148 -0
- package/date/calendars/PersianCalendar.d.ts +19 -0
- package/date/calendars/PersianCalendar.js +85 -0
- package/date/calendars/TaiwanCalendar.d.ts +19 -0
- package/date/calendars/TaiwanCalendar.js +70 -0
- package/date/conversion.d.ts +45 -0
- package/date/conversion.js +269 -0
- package/date/createCalendar.d.ts +3 -0
- package/date/createCalendar.js +55 -0
- package/date/index.d.ts +20 -0
- package/date/index.js +30 -0
- package/date/manipulation.d.ts +25 -0
- package/date/manipulation.js +399 -0
- package/date/queries.d.ts +93 -0
- package/date/queries.js +303 -0
- package/date/serialize.d.ts +18 -0
- package/date/serialize.js +55 -0
- package/date/string.d.ts +36 -0
- package/date/string.js +223 -0
- package/date/types.d.ts +136 -0
- package/date/types.js +14 -0
- package/date/utils.d.ts +4 -0
- package/date/utils.js +16 -0
- package/date/weekStartData.d.ts +1 -0
- package/date/weekStartData.js +112 -0
- package/date-field/behaviour.d.ts +188 -0
- package/date-field/behaviour.jsx +1025 -0
- package/date-field/index.d.ts +150 -0
- package/date-field/index.jsx +354 -0
- package/date-field/intl.d.ts +3 -0
- package/date-field/intl.js +36 -0
- package/date-field/live-value.d.ts +22 -0
- package/date-field/live-value.jsx +44 -0
- package/date-picker/behaviour.d.ts +95 -0
- package/date-picker/behaviour.jsx +343 -0
- package/date-picker/index.d.ts +66 -0
- package/date-picker/index.jsx +243 -0
- package/dialog/behaviour.d.ts +63 -0
- package/dialog/behaviour.jsx +90 -0
- package/dialog/contexts.d.ts +12 -0
- package/dialog/contexts.js +8 -0
- package/dialog/index.d.ts +48 -0
- package/dialog/index.jsx +301 -0
- package/disclosure/behaviour.d.ts +50 -0
- package/disclosure/behaviour.jsx +128 -0
- package/disclosure/details.d.ts +21 -0
- package/disclosure/details.jsx +14 -0
- package/disclosure/index.d.ts +92 -0
- package/disclosure/index.jsx +300 -0
- package/drag-drop/cdk-index.d.ts +22 -0
- package/drag-drop/cdk-index.jsx +25 -0
- package/drag-drop/directives/assertions.d.ts +6 -0
- package/drag-drop/directives/assertions.js +13 -0
- package/drag-drop/directives/config.d.ts +30 -0
- package/drag-drop/directives/config.js +7 -0
- package/drag-drop/directives/drag-handle.d.ts +10 -0
- package/drag-drop/directives/drag-handle.js +29 -0
- package/drag-drop/directives/drag.d.ts +194 -0
- package/drag-drop/directives/drag.js +522 -0
- package/drag-drop/directives/drop-list-group.d.ts +25 -0
- package/drag-drop/directives/drop-list-group.js +55 -0
- package/drag-drop/directives/drop-list.d.ts +163 -0
- package/drag-drop/directives/drop-list.js +396 -0
- package/drag-drop/directives/registry.d.ts +32 -0
- package/drag-drop/directives/registry.js +61 -0
- package/drag-drop/dom/clone-node.d.ts +2 -0
- package/drag-drop/dom/clone-node.js +58 -0
- package/drag-drop/dom/coerce.d.ts +6 -0
- package/drag-drop/dom/coerce.js +8 -0
- package/drag-drop/dom/dom-rect.d.ts +37 -0
- package/drag-drop/dom/dom-rect.js +71 -0
- package/drag-drop/dom/fake-event.d.ts +4 -0
- package/drag-drop/dom/fake-event.js +22 -0
- package/drag-drop/dom/inherited-text.d.ts +4 -0
- package/drag-drop/dom/inherited-text.js +44 -0
- package/drag-drop/dom/layout-shift.d.ts +8 -0
- package/drag-drop/dom/layout-shift.js +87 -0
- package/drag-drop/dom/mount-content.d.ts +2 -0
- package/drag-drop/dom/mount-content.js +7 -0
- package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
- package/drag-drop/dom/parent-position-tracker.js +71 -0
- package/drag-drop/dom/root-node.d.ts +21 -0
- package/drag-drop/dom/root-node.js +41 -0
- package/drag-drop/dom/shadow-dom.d.ts +4 -0
- package/drag-drop/dom/shadow-dom.js +18 -0
- package/drag-drop/dom/styling.d.ts +52 -0
- package/drag-drop/dom/styling.js +86 -0
- package/drag-drop/dom/transition-duration.d.ts +2 -0
- package/drag-drop/dom/transition-duration.js +29 -0
- package/drag-drop/drag-drop-registry.d.ts +69 -0
- package/drag-drop/drag-drop-registry.js +224 -0
- package/drag-drop/drag-drop.d.ts +19 -0
- package/drag-drop/drag-drop.js +10 -0
- package/drag-drop/drag-events.d.ts +117 -0
- package/drag-drop/drag-events.js +1 -0
- package/drag-drop/drag-handle.d.ts +18 -0
- package/drag-drop/drag-handle.jsx +53 -0
- package/drag-drop/drag-placeholder.d.ts +8 -0
- package/drag-drop/drag-placeholder.jsx +25 -0
- package/drag-drop/drag-preview.d.ts +10 -0
- package/drag-drop/drag-preview.jsx +31 -0
- package/drag-drop/drag-ref.d.ts +476 -0
- package/drag-drop/drag-ref.js +1306 -0
- package/drag-drop/drag-utils.d.ts +25 -0
- package/drag-drop/drag-utils.js +53 -0
- package/drag-drop/drag.d.ts +23 -0
- package/drag-drop/drag.jsx +126 -0
- package/drag-drop/drop-list-group.d.ts +22 -0
- package/drag-drop/drop-list-group.jsx +19 -0
- package/drag-drop/drop-list-ref.d.ts +295 -0
- package/drag-drop/drop-list-ref.js +707 -0
- package/drag-drop/drop-list.d.ts +19 -0
- package/drag-drop/drop-list.jsx +87 -0
- package/drag-drop/index.d.ts +1 -0
- package/drag-drop/index.jsx +4 -0
- package/drag-drop/lazy-refs.d.ts +28 -0
- package/drag-drop/lazy-refs.js +133 -0
- package/drag-drop/preview-ref.d.ts +38 -0
- package/drag-drop/preview-ref.js +132 -0
- package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
- package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
- package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
- package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
- package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
- package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
- package/file-trigger/index.d.ts +24 -0
- package/file-trigger/index.jsx +41 -0
- package/flip/index.d.ts +59 -0
- package/flip/index.js +124 -0
- package/focus/focus-ring.d.ts +42 -0
- package/focus/focus-ring.jsx +77 -0
- package/focus/focus-scope.d.ts +51 -0
- package/focus/focus-scope.jsx +431 -0
- package/focus/focusable.d.ts +33 -0
- package/focus/focusable.jsx +93 -0
- package/focus/index.d.ts +74 -0
- package/focus/index.js +274 -0
- package/form/behaviour.d.ts +29 -0
- package/form/behaviour.js +145 -0
- package/form/field-error.d.ts +38 -0
- package/form/field-error.jsx +67 -0
- package/form/index.d.ts +77 -0
- package/form/index.jsx +116 -0
- package/grid/behaviour.d.ts +290 -0
- package/grid/behaviour.js +683 -0
- package/grid/intl.d.ts +2 -0
- package/grid/intl.js +36 -0
- package/grid/keyboard-delegate.d.ts +56 -0
- package/grid/keyboard-delegate.js +316 -0
- package/grid-list/behaviour.d.ts +242 -0
- package/grid-list/behaviour.js +598 -0
- package/grid-list/index.d.ts +202 -0
- package/grid-list/index.jsx +685 -0
- package/grid-list/row.d.ts +24 -0
- package/grid-list/row.js +57 -0
- package/group/index.d.ts +48 -0
- package/group/index.jsx +126 -0
- package/header/index.d.ts +13 -0
- package/header/index.jsx +34 -0
- package/heading/index.d.ts +19 -0
- package/heading/index.jsx +55 -0
- package/highlight/index.d.ts +12 -0
- package/highlight/index.jsx +357 -0
- package/i18n/filter.d.ts +16 -0
- package/i18n/filter.js +66 -0
- package/i18n/i18n-provider.d.ts +10 -0
- package/i18n/i18n-provider.jsx +15 -0
- package/i18n/index.d.ts +27 -0
- package/i18n/index.js +115 -0
- package/i18n/intl-cache.d.ts +4 -0
- package/i18n/intl-cache.js +40 -0
- package/i18n/list-formatter.d.ts +2 -0
- package/i18n/list-formatter.js +11 -0
- package/input/index.d.ts +51 -0
- package/input/index.jsx +95 -0
- package/interactions/controllable.d.ts +42 -0
- package/interactions/controllable.js +67 -0
- package/interactions/focus-visible.d.ts +68 -0
- package/interactions/focus-visible.jsx +291 -0
- package/interactions/focus.d.ts +58 -0
- package/interactions/focus.jsx +152 -0
- package/interactions/hover.d.ts +54 -0
- package/interactions/hover.jsx +139 -0
- package/interactions/index.d.ts +1 -0
- package/interactions/index.js +3 -0
- package/interactions/interact-outside.d.ts +24 -0
- package/interactions/interact-outside.jsx +57 -0
- package/interactions/keyboard.d.ts +28 -0
- package/interactions/keyboard.jsx +51 -0
- package/interactions/long-press.d.ts +41 -0
- package/interactions/long-press.jsx +79 -0
- package/interactions/merge-props.d.ts +54 -0
- package/interactions/merge-props.jsx +257 -0
- package/interactions/move.d.ts +48 -0
- package/interactions/move.jsx +96 -0
- package/interactions/press.d.ts +129 -0
- package/interactions/press.jsx +538 -0
- package/interactions/pressable.d.ts +22 -0
- package/interactions/pressable.jsx +93 -0
- package/interactions/scroll-wheel.d.ts +20 -0
- package/interactions/scroll-wheel.jsx +40 -0
- package/interactions/utils.d.ts +53 -0
- package/interactions/utils.js +252 -0
- package/keyboard/index.d.ts +12 -0
- package/keyboard/index.jsx +34 -0
- package/keys/index.d.ts +68 -0
- package/keys/index.js +199 -0
- package/label/behaviour.d.ts +54 -0
- package/label/behaviour.js +60 -0
- package/label/index.d.ts +35 -0
- package/label/index.jsx +85 -0
- package/landmark/index.d.ts +10 -0
- package/landmark/index.jsx +35 -0
- package/landmark/manager.d.ts +50 -0
- package/landmark/manager.js +364 -0
- package/layout/index.d.ts +90 -0
- package/layout/index.js +207 -0
- package/lightbox/behaviour.d.ts +82 -0
- package/lightbox/behaviour.js +490 -0
- package/lightbox/captions/index.d.ts +39 -0
- package/lightbox/captions/index.jsx +44 -0
- package/lightbox/counter/index.d.ts +10 -0
- package/lightbox/counter/index.jsx +10 -0
- package/lightbox/download/index.d.ts +32 -0
- package/lightbox/download/index.jsx +89 -0
- package/lightbox/embed/index.d.ts +15 -0
- package/lightbox/embed/index.jsx +58 -0
- package/lightbox/fullscreen/index.d.ts +24 -0
- package/lightbox/fullscreen/index.jsx +80 -0
- package/lightbox/index.d.ts +129 -0
- package/lightbox/index.jsx +284 -0
- package/lightbox/inline/index.d.ts +18 -0
- package/lightbox/inline/index.jsx +15 -0
- package/lightbox/pdf/index.d.ts +18 -0
- package/lightbox/pdf/index.jsx +31 -0
- package/lightbox/share/index.d.ts +29 -0
- package/lightbox/share/index.jsx +43 -0
- package/lightbox/slideshow/index.d.ts +24 -0
- package/lightbox/slideshow/index.jsx +118 -0
- package/lightbox/state.d.ts +334 -0
- package/lightbox/state.js +192 -0
- package/lightbox/thumbnails/index.d.ts +54 -0
- package/lightbox/thumbnails/index.jsx +96 -0
- package/lightbox/video/index.d.ts +13 -0
- package/lightbox/video/index.jsx +42 -0
- package/lightbox/zoom/index.d.ts +67 -0
- package/lightbox/zoom/index.jsx +456 -0
- package/link/behaviour.d.ts +41 -0
- package/link/behaviour.js +58 -0
- package/link/index.d.ts +30 -0
- package/link/index.jsx +179 -0
- package/link/router.d.ts +1 -0
- package/link/router.js +5 -0
- package/listbox/behaviour.d.ts +175 -0
- package/listbox/behaviour.jsx +492 -0
- package/listbox/index.d.ts +129 -0
- package/listbox/index.jsx +596 -0
- package/markdown/index.d.ts +82 -0
- package/markdown/index.jsx +654 -0
- package/masonry/behaviour.d.ts +121 -0
- package/masonry/behaviour.js +676 -0
- package/masonry/flip.d.ts +27 -0
- package/masonry/flip.js +61 -0
- package/masonry/geometry.d.ts +44 -0
- package/masonry/geometry.js +184 -0
- package/masonry/index.d.ts +153 -0
- package/masonry/index.jsx +833 -0
- package/masonry/justified.d.ts +49 -0
- package/masonry/justified.js +250 -0
- package/masonry/layout.d.ts +200 -0
- package/masonry/layout.js +668 -0
- package/masonry/masonry-layout.d.ts +57 -0
- package/masonry/masonry-layout.js +159 -0
- package/masonry/masonry.css +29 -0
- package/menu/behaviour.d.ts +205 -0
- package/menu/behaviour.jsx +847 -0
- package/menu/index.d.ts +171 -0
- package/menu/index.jsx +671 -0
- package/menu/intl.d.ts +2 -0
- package/menu/intl.js +36 -0
- package/menu/safely-mouse-to-submenu.d.ts +12 -0
- package/menu/safely-mouse-to-submenu.js +128 -0
- package/meter/behaviour.d.ts +18 -0
- package/meter/behaviour.jsx +17 -0
- package/meter/index.d.ts +30 -0
- package/meter/index.jsx +85 -0
- package/modal/index.d.ts +79 -0
- package/modal/index.jsx +359 -0
- package/modal/provider.d.ts +47 -0
- package/modal/provider.jsx +105 -0
- package/morph/index.d.ts +91 -0
- package/morph/index.jsx +372 -0
- package/morph/item.d.ts +89 -0
- package/morph/item.jsx +546 -0
- package/motion/Animations.d.ts +17 -0
- package/motion/Animations.js +56 -0
- package/motion/DragRelease.d.ts +22 -0
- package/motion/DragRelease.js +26 -0
- package/motion/DragTracker.d.ts +7 -0
- package/motion/DragTracker.js +43 -0
- package/motion/Limit.d.ts +12 -0
- package/motion/Limit.js +37 -0
- package/motion/Motion1D.d.ts +38 -0
- package/motion/Motion1D.js +72 -0
- package/motion/ScrollBody.d.ts +13 -0
- package/motion/ScrollBody.js +75 -0
- package/motion/Vector1d.d.ts +8 -0
- package/motion/Vector1d.js +29 -0
- package/motion/index.d.ts +8 -0
- package/motion/index.js +12 -0
- package/motion/utils.d.ts +5 -0
- package/motion/utils.js +23 -0
- package/native-select/index.d.ts +46 -0
- package/native-select/index.jsx +99 -0
- package/navigation-tree/index.d.ts +43 -0
- package/navigation-tree/index.jsx +110 -0
- package/number/NumberFormatter.d.ts +28 -0
- package/number/NumberFormatter.js +144 -0
- package/number/NumberParser.d.ts +27 -0
- package/number/NumberParser.js +316 -0
- package/number/index.d.ts +5 -0
- package/number/index.jsx +17 -0
- package/number/number-field-state.d.ts +132 -0
- package/number/number-field-state.jsx +364 -0
- package/number-field/behaviour.d.ts +165 -0
- package/number-field/behaviour.jsx +512 -0
- package/number-field/index.d.ts +52 -0
- package/number-field/index.jsx +207 -0
- package/number-field/intl.d.ts +2 -0
- package/number-field/intl.js +36 -0
- package/observers/index.d.ts +70 -0
- package/observers/index.js +279 -0
- package/overflow/index.d.ts +93 -0
- package/overflow/index.jsx +267 -0
- package/overlay/aria-hide-outside.d.ts +12 -0
- package/overlay/aria-hide-outside.js +141 -0
- package/overlay/close-on-scroll.d.ts +1 -0
- package/overlay/close-on-scroll.js +6 -0
- package/overlay/contexts.d.ts +34 -0
- package/overlay/contexts.js +21 -0
- package/overlay/dismiss-button.d.ts +10 -0
- package/overlay/dismiss-button.jsx +18 -0
- package/overlay/hover-trigger.d.ts +54 -0
- package/overlay/hover-trigger.jsx +221 -0
- package/overlay/index.d.ts +40 -0
- package/overlay/index.js +139 -0
- package/overlay/modal-overlay.d.ts +16 -0
- package/overlay/modal-overlay.js +38 -0
- package/overlay/overlay-strings.d.ts +4 -0
- package/overlay/overlay-strings.js +52 -0
- package/overlay/overlay-trigger-state.d.ts +1 -0
- package/overlay/overlay-trigger-state.js +3 -0
- package/overlay/overlay-trigger.d.ts +27 -0
- package/overlay/overlay-trigger.jsx +50 -0
- package/overlay/position.d.ts +160 -0
- package/overlay/position.js +559 -0
- package/overlay/prevent-scroll-ios.d.ts +17 -0
- package/overlay/prevent-scroll-ios.js +331 -0
- package/overlay/prevent-scroll.d.ts +18 -0
- package/overlay/prevent-scroll.js +122 -0
- package/overlay/safe-area.d.ts +28 -0
- package/overlay/safe-area.js +108 -0
- package/overlay-arrow/index.d.ts +23 -0
- package/overlay-arrow/index.jsx +59 -0
- package/overlay-service/connected-position.d.ts +163 -0
- package/overlay-service/connected-position.js +661 -0
- package/overlay-service/global-position.d.ts +34 -0
- package/overlay-service/global-position.js +154 -0
- package/overlay-service/index.d.ts +15 -0
- package/overlay-service/index.js +27 -0
- package/overlay-service/overlay-container.d.ts +27 -0
- package/overlay-service/overlay-container.js +93 -0
- package/overlay-service/overlay-dispatchers.d.ts +44 -0
- package/overlay-service/overlay-dispatchers.js +149 -0
- package/overlay-service/overlay-position-builder.d.ts +8 -0
- package/overlay-service/overlay-position-builder.js +15 -0
- package/overlay-service/overlay-ref.d.ts +155 -0
- package/overlay-service/overlay-ref.js +436 -0
- package/overlay-service/overlay-strategy.d.ts +48 -0
- package/overlay-service/overlay-strategy.js +3 -0
- package/overlay-service/overlay-viewport.d.ts +85 -0
- package/overlay-service/overlay-viewport.js +192 -0
- package/overlay-service/overlay.css +94 -0
- package/overlay-service/scroll-strategies.d.ts +71 -0
- package/overlay-service/scroll-strategies.js +185 -0
- package/package.json +754 -4
- package/platform/index.d.ts +100 -0
- package/platform/index.js +304 -0
- package/popover/behaviour.d.ts +23 -0
- package/popover/behaviour.js +39 -0
- package/popover/index.d.ts +60 -0
- package/popover/index.jsx +285 -0
- package/popover/popover-overlay.d.ts +27 -0
- package/popover/popover-overlay.jsx +60 -0
- package/popover/use-popover.d.ts +57 -0
- package/popover/use-popover.js +92 -0
- package/portal/index.d.ts +47 -0
- package/portal/index.jsx +76 -0
- package/portal/portal-mount.d.ts +8 -0
- package/portal/portal-mount.js +7 -0
- package/portal/portal-outlet.d.ts +88 -0
- package/portal/portal-outlet.js +222 -0
- package/preview-trigger/behaviour.d.ts +70 -0
- package/preview-trigger/behaviour.jsx +258 -0
- package/preview-trigger/index.d.ts +12 -0
- package/preview-trigger/index.jsx +82 -0
- package/progress-bar/behaviour.d.ts +77 -0
- package/progress-bar/behaviour.jsx +75 -0
- package/progress-bar/context.d.ts +4 -0
- package/progress-bar/context.js +7 -0
- package/progress-bar/index.d.ts +38 -0
- package/progress-bar/index.jsx +90 -0
- package/radio-group/behaviour.d.ts +11 -0
- package/radio-group/behaviour.js +85 -0
- package/radio-group/index.d.ts +82 -0
- package/radio-group/index.jsx +139 -0
- package/radio-group/parts.d.ts +223 -0
- package/radio-group/parts.jsx +425 -0
- package/range-calendar/behaviour.d.ts +2 -0
- package/range-calendar/behaviour.jsx +5 -0
- package/range-calendar/index.d.ts +2 -0
- package/range-calendar/index.jsx +4 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
- package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
- package/resizable/engine/components/group/readLegacyLayout.js +48 -0
- package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
- package/resizable/engine/components/group/sortByElementOffset.js +28 -0
- package/resizable/engine/components/group/types.d.ts +50 -0
- package/resizable/engine/components/group/types.js +1 -0
- package/resizable/engine/components/panel/types.d.ts +90 -0
- package/resizable/engine/components/panel/types.js +4 -0
- package/resizable/engine/constants.d.ts +15 -0
- package/resizable/engine/constants.js +27 -0
- package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
- package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
- package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
- package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
- package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
- package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
- package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
- package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
- package/resizable/engine/global/mountAxis.d.ts +2 -0
- package/resizable/engine/global/mountAxis.js +187 -0
- package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
- package/resizable/engine/global/mutable-state/axes.js +52 -0
- package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
- package/resizable/engine/global/mutable-state/interactions.js +92 -0
- package/resizable/engine/global/mutable-state/types.d.ts +32 -0
- package/resizable/engine/global/mutable-state/types.js +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
- package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
- package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
- package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
- package/resizable/engine/global/types.d.ts +120 -0
- package/resizable/engine/global/types.js +1 -0
- package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
- package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
- package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
- package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
- package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
- package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
- package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
- package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
- package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
- package/resizable/engine/global/utils/expandHitTarget.js +19 -0
- package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
- package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
- package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
- package/resizable/engine/global/utils/findClosestRect.js +22 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
- package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
- package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
- package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
- package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
- package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
- package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
- package/resizable/engine/global/utils/isModal.d.ts +1 -0
- package/resizable/engine/global/utils/isModal.js +11 -0
- package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
- package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
- package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/layoutsEqual.js +15 -0
- package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
- package/resizable/engine/global/utils/normalizeLayout.js +21 -0
- package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
- package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
- package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
- package/resizable/engine/global/utils/objectsEqual.js +14 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
- package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
- package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
- package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
- package/resizable/engine/global/utils/validateItemSize.js +31 -0
- package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
- package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
- package/resizable/engine/types.d.ts +13 -0
- package/resizable/engine/types.js +1 -0
- package/resizable/engine/utils/EventEmitter.d.ts +11 -0
- package/resizable/engine/utils/EventEmitter.js +60 -0
- package/resizable/engine/utils/assert.d.ts +1 -0
- package/resizable/engine/utils/assert.js +7 -0
- package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
- package/resizable/engine/utils/isArrayEqual.js +15 -0
- package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
- package/resizable/engine/utils/isHTMLElement.js +6 -0
- package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
- package/resizable/engine/utils/isShadowRoot.js +6 -0
- package/resizable/engine/vendor/stacking-order.d.ts +7 -0
- package/resizable/engine/vendor/stacking-order.js +122 -0
- package/resizable/index.d.ts +263 -0
- package/resizable/index.jsx +537 -0
- package/resizable/mount.d.ts +115 -0
- package/resizable/mount.js +540 -0
- package/scheduler/behaviour.d.ts +71 -0
- package/scheduler/behaviour.js +243 -0
- package/scheduler/context.d.ts +100 -0
- package/scheduler/context.jsx +7 -0
- package/scheduler/dates.d.ts +53 -0
- package/scheduler/dates.js +183 -0
- package/scheduler/drag.d.ts +20 -0
- package/scheduler/drag.js +361 -0
- package/scheduler/event.d.ts +26 -0
- package/scheduler/event.jsx +93 -0
- package/scheduler/index.d.ts +57 -0
- package/scheduler/index.jsx +303 -0
- package/scheduler/intl.d.ts +16 -0
- package/scheduler/intl.js +529 -0
- package/scheduler/keys-month.d.ts +7 -0
- package/scheduler/keys-month.js +110 -0
- package/scheduler/keys-time-grid.d.ts +9 -0
- package/scheduler/keys-time-grid.js +115 -0
- package/scheduler/keys.d.ts +103 -0
- package/scheduler/keys.js +527 -0
- package/scheduler/layout-index.d.ts +3 -0
- package/scheduler/layout-index.js +6 -0
- package/scheduler/layout.d.ts +285 -0
- package/scheduler/layout.js +378 -0
- package/scheduler/menus.d.ts +66 -0
- package/scheduler/menus.jsx +88 -0
- package/scheduler/month.d.ts +26 -0
- package/scheduler/month.jsx +215 -0
- package/scheduler/pointer.d.ts +64 -0
- package/scheduler/pointer.js +203 -0
- package/scheduler/select.d.ts +11 -0
- package/scheduler/select.js +64 -0
- package/scheduler/selection.d.ts +34 -0
- package/scheduler/selection.js +39 -0
- package/scheduler/state.d.ts +296 -0
- package/scheduler/state.js +496 -0
- package/scheduler/time-grid-client.d.ts +32 -0
- package/scheduler/time-grid-client.jsx +133 -0
- package/scheduler/time-grid.d.ts +26 -0
- package/scheduler/time-grid.jsx +266 -0
- package/scheduler/time.d.ts +35 -0
- package/scheduler/time.js +56 -0
- package/scheduler/toolbar.d.ts +43 -0
- package/scheduler/toolbar.jsx +38 -0
- package/scroll-area/dom.d.ts +11 -0
- package/scroll-area/dom.js +55 -0
- package/scroll-area/index.d.ts +96 -0
- package/scroll-area/index.jsx +884 -0
- package/scroll-area/presence.d.ts +12 -0
- package/scroll-area/presence.jsx +131 -0
- package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
- package/scrolling/auto-size-virtual-scroll.js +213 -0
- package/scrolling/behaviour.d.ts +3 -0
- package/scrolling/behaviour.js +5 -0
- package/scrolling/emitter.d.ts +34 -0
- package/scrolling/emitter.js +144 -0
- package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
- package/scrolling/fixed-size-virtual-scroll.js +107 -0
- package/scrolling/index.d.ts +11 -0
- package/scrolling/index.jsx +13 -0
- package/scrolling/rtl.d.ts +16 -0
- package/scrolling/rtl.js +64 -0
- package/scrolling/scroll-dispatcher.d.ts +49 -0
- package/scrolling/scroll-dispatcher.js +107 -0
- package/scrolling/scrollable.d.ts +75 -0
- package/scrolling/scrollable.js +149 -0
- package/scrolling/scrolling.css +11 -0
- package/scrolling/state.d.ts +92 -0
- package/scrolling/state.js +94 -0
- package/scrolling/viewport-ruler.d.ts +47 -0
- package/scrolling/viewport-ruler.js +100 -0
- package/scrolling/viewport.d.ts +54 -0
- package/scrolling/viewport.jsx +105 -0
- package/scrolling/virtual-scroll-strategy.d.ts +41 -0
- package/scrolling/virtual-scroll-strategy.js +2 -0
- package/scrolling/virtual-scroll-viewport.d.ts +95 -0
- package/scrolling/virtual-scroll-viewport.js +370 -0
- package/search-field/behaviour.d.ts +62 -0
- package/search-field/behaviour.jsx +116 -0
- package/search-field/index.d.ts +57 -0
- package/search-field/index.jsx +158 -0
- package/search-field/intl.d.ts +2 -0
- package/search-field/intl.js +36 -0
- package/select/behaviour.d.ts +188 -0
- package/select/behaviour.jsx +445 -0
- package/select/hidden-select.d.ts +44 -0
- package/select/hidden-select.jsx +68 -0
- package/select/index.d.ts +123 -0
- package/select/index.jsx +255 -0
- package/select/intl.d.ts +2 -0
- package/select/intl.js +36 -0
- package/select/parts.d.ts +11 -0
- package/select/parts.jsx +12 -0
- package/select/select-parts.d.ts +73 -0
- package/select/select-parts.jsx +293 -0
- package/select/select-value.d.ts +58 -0
- package/select/select-value.jsx +142 -0
- package/selection/dom-utils.d.ts +25 -0
- package/selection/dom-utils.js +77 -0
- package/selection/keyed.d.ts +19 -0
- package/selection/keyed.js +76 -0
- package/selection/list-keyboard-delegate.d.ts +67 -0
- package/selection/list-keyboard-delegate.js +274 -0
- package/selection/manager.d.ts +112 -0
- package/selection/manager.js +340 -0
- package/selection/selectable-collection.d.ts +123 -0
- package/selection/selectable-collection.js +535 -0
- package/selection/selectable-item.d.ts +128 -0
- package/selection/selectable-item.js +486 -0
- package/selection/selectable-list.d.ts +42 -0
- package/selection/selectable-list.js +34 -0
- package/selection/state.d.ts +96 -0
- package/selection/state.js +131 -0
- package/selection/type-select.d.ts +37 -0
- package/selection/type-select.js +114 -0
- package/selection/utils.d.ts +23 -0
- package/selection/utils.js +38 -0
- package/selection-indicator/context.d.ts +10 -0
- package/selection-indicator/context.js +7 -0
- package/selection-indicator/index.d.ts +20 -0
- package/selection-indicator/index.jsx +25 -0
- package/separator/behaviour.d.ts +17 -0
- package/separator/behaviour.js +17 -0
- package/separator/index.d.ts +23 -0
- package/separator/index.jsx +64 -0
- package/shared-element-transition/index.d.ts +36 -0
- package/shared-element-transition/index.jsx +182 -0
- package/shared-element-transition/transition.d.ts +19 -0
- package/shared-element-transition/transition.jsx +20 -0
- package/sheet-motion/index.d.ts +82 -0
- package/sheet-motion/index.js +386 -0
- package/sidebar/index.d.ts +257 -0
- package/sidebar/index.jsx +624 -0
- package/sidebar/pages.d.ts +71 -0
- package/sidebar/pages.jsx +177 -0
- package/sidebar/resize.d.ts +69 -0
- package/sidebar/resize.js +237 -0
- package/sidebar/sheet-motion.d.ts +15 -0
- package/sidebar/sheet-motion.js +170 -0
- package/sidebar/state.d.ts +126 -0
- package/sidebar/state.js +204 -0
- package/slider/behaviour.d.ts +141 -0
- package/slider/behaviour.jsx +492 -0
- package/slider/index.d.ts +171 -0
- package/slider/index.jsx +392 -0
- package/slider/state.d.ts +203 -0
- package/slider/state.js +377 -0
- package/slots/index.d.ts +248 -0
- package/slots/index.jsx +473 -0
- package/spinbutton/behaviour.d.ts +66 -0
- package/spinbutton/behaviour.jsx +312 -0
- package/spinbutton/intl.d.ts +2 -0
- package/spinbutton/intl.js +36 -0
- package/state/autocomplete.d.ts +26 -0
- package/state/autocomplete.js +32 -0
- package/state/calendar.d.ts +284 -0
- package/state/calendar.js +755 -0
- package/state/checkbox-group.d.ts +67 -0
- package/state/checkbox-group.js +76 -0
- package/state/combobox.d.ts +238 -0
- package/state/combobox.js +708 -0
- package/state/date-field.d.ts +407 -0
- package/state/date-field.js +1117 -0
- package/state/date-intl.d.ts +3 -0
- package/state/date-intl.js +36 -0
- package/state/date-picker.d.ts +144 -0
- package/state/date-picker.js +387 -0
- package/state/disclosure.d.ts +90 -0
- package/state/disclosure.js +148 -0
- package/state/form-validation.d.ts +89 -0
- package/state/form-validation.js +158 -0
- package/state/grid.d.ts +62 -0
- package/state/grid.js +127 -0
- package/state/list.d.ts +58 -0
- package/state/list.js +124 -0
- package/state/menu.d.ts +159 -0
- package/state/menu.js +184 -0
- package/state/overlays.d.ts +35 -0
- package/state/overlays.js +29 -0
- package/state/radio-group.d.ts +58 -0
- package/state/radio-group.js +68 -0
- package/state/search-field.d.ts +20 -0
- package/state/search-field.js +21 -0
- package/state/select.d.ts +150 -0
- package/state/select.js +187 -0
- package/state/selection.d.ts +3 -0
- package/state/selection.js +5 -0
- package/state/table-column-resize.d.ts +58 -0
- package/state/table-column-resize.js +76 -0
- package/state/table.d.ts +81 -0
- package/state/table.js +114 -0
- package/state/tabs.d.ts +85 -0
- package/state/tabs.js +161 -0
- package/state/time-field.d.ts +32 -0
- package/state/time-field.js +34 -0
- package/state/toast.d.ts +80 -0
- package/state/toast.js +146 -0
- package/state/toggle-group.d.ts +70 -0
- package/state/toggle-group.js +110 -0
- package/state/toggle.d.ts +40 -0
- package/state/toggle.js +39 -0
- package/state/tooltip.d.ts +53 -0
- package/state/tooltip.js +153 -0
- package/stepper/index.d.ts +117 -0
- package/stepper/index.jsx +405 -0
- package/stepper/state.d.ts +200 -0
- package/stepper/state.js +325 -0
- package/switch/behaviour.d.ts +12 -0
- package/switch/behaviour.jsx +9 -0
- package/switch/index.d.ts +150 -0
- package/switch/index.jsx +186 -0
- package/table/behaviour.d.ts +181 -0
- package/table/behaviour.js +334 -0
- package/table/collection.d.ts +49 -0
- package/table/collection.js +259 -0
- package/table/column-resize.d.ts +48 -0
- package/table/column-resize.jsx +247 -0
- package/table/index.d.ts +339 -0
- package/table/index.jsx +982 -0
- package/table/intl.d.ts +2 -0
- package/table/intl.js +36 -0
- package/table/keyboard-delegate.d.ts +21 -0
- package/table/keyboard-delegate.js +166 -0
- package/table/rac-intl.d.ts +2 -0
- package/table/rac-intl.js +36 -0
- package/tabs/behaviour.d.ts +49 -0
- package/tabs/behaviour.js +173 -0
- package/tabs/index.d.ts +248 -0
- package/tabs/index.jsx +577 -0
- package/tabs/keyboard-delegate.d.ts +17 -0
- package/tabs/keyboard-delegate.js +64 -0
- package/tag-group/behaviour.d.ts +59 -0
- package/tag-group/behaviour.js +112 -0
- package/tag-group/index.d.ts +138 -0
- package/tag-group/index.jsx +565 -0
- package/tag-group/intl.d.ts +2 -0
- package/tag-group/intl.js +36 -0
- package/tailwind.css +12 -0
- package/tests-components/app/src/routes/index.d.ts +4 -0
- package/tests-components/app/src/routes/index.jsx +7 -0
- package/text/index.d.ts +15 -0
- package/text/index.jsx +61 -0
- package/text-area/index.d.ts +19 -0
- package/text-area/index.jsx +76 -0
- package/text-field/autosize.d.ts +70 -0
- package/text-field/autosize.js +355 -0
- package/text-field/behaviour.d.ts +140 -0
- package/text-field/behaviour.jsx +260 -0
- package/text-field/fields.d.ts +12 -0
- package/text-field/fields.js +20 -0
- package/text-field/index.d.ts +50 -0
- package/text-field/index.jsx +174 -0
- package/text-field/text-field.css +45 -0
- package/theme.css +1006 -0
- package/time-wheels/behaviour.d.ts +29 -0
- package/time-wheels/behaviour.js +156 -0
- package/time-wheels/index.d.ts +27 -0
- package/time-wheels/index.jsx +91 -0
- package/toast/behaviour.d.ts +51 -0
- package/toast/behaviour.jsx +273 -0
- package/toast/index.d.ts +94 -0
- package/toast/index.jsx +256 -0
- package/toast/intl.d.ts +2 -0
- package/toast/intl.js +36 -0
- package/toggle-button/behaviour.d.ts +15 -0
- package/toggle-button/behaviour.js +37 -0
- package/toggle-button/index.d.ts +59 -0
- package/toggle-button/index.jsx +206 -0
- package/toggle-button-group/behaviour.d.ts +19 -0
- package/toggle-button-group/behaviour.jsx +13 -0
- package/toggle-button-group/context.d.ts +7 -0
- package/toggle-button-group/context.js +9 -0
- package/toggle-button-group/index.d.ts +39 -0
- package/toggle-button-group/index.jsx +85 -0
- package/toggle-button-group/item.d.ts +30 -0
- package/toggle-button-group/item.jsx +37 -0
- package/toolbar/behaviour.d.ts +22 -0
- package/toolbar/behaviour.js +89 -0
- package/toolbar/index.d.ts +16 -0
- package/toolbar/index.jsx +67 -0
- package/tooltip/behaviour.d.ts +93 -0
- package/tooltip/behaviour.jsx +299 -0
- package/tooltip/index.d.ts +59 -0
- package/tooltip/index.jsx +193 -0
- package/tree/behaviour.d.ts +51 -0
- package/tree/behaviour.jsx +51 -0
- package/tree/cdk-index.d.ts +2 -0
- package/tree/cdk-index.js +6 -0
- package/tree/collection.d.ts +16 -0
- package/tree/collection.js +138 -0
- package/tree/control.d.ts +125 -0
- package/tree/control.js +166 -0
- package/tree/index.d.ts +154 -0
- package/tree/index.jsx +815 -0
- package/tree/intl.d.ts +2 -0
- package/tree/intl.js +36 -0
- package/tree/navigation-context.d.ts +44 -0
- package/tree/navigation-context.jsx +63 -0
- package/tree/tree-key-manager.d.ts +149 -0
- package/tree/tree-key-manager.js +336 -0
- package/utils/animation.d.ts +32 -0
- package/utils/animation.jsx +236 -0
- package/utils/data-attrs.d.ts +71 -0
- package/utils/data-attrs.jsx +193 -0
- package/utils/dev-off.d.ts +3 -0
- package/utils/dev-off.js +7 -0
- package/utils/dev-on.d.ts +3 -0
- package/utils/dev-on.js +17 -0
- package/utils/dom-props.d.ts +44 -0
- package/utils/dom-props.js +73 -0
- package/utils/dom.d.ts +85 -0
- package/utils/dom.js +402 -0
- package/utils/id.d.ts +23 -0
- package/utils/id.js +100 -0
- package/utils/index.d.ts +57 -0
- package/utils/index.js +257 -0
- package/utils/links.d.ts +87 -0
- package/utils/links.jsx +152 -0
- package/utils/live-element.d.ts +8 -0
- package/utils/live-element.jsx +76 -0
- package/utils/live.d.ts +53 -0
- package/utils/live.jsx +169 -0
- package/utils/load-more-sentinel.d.ts +28 -0
- package/utils/load-more-sentinel.jsx +52 -0
- package/utils/motion-token.d.ts +4 -0
- package/utils/motion-token.js +48 -0
- package/utils/render.d.ts +19 -0
- package/utils/render.js +18 -0
- package/utils/types.d.ts +111 -0
- package/utils/types.js +1 -0
- package/virtualizer/behaviour.d.ts +98 -0
- package/virtualizer/behaviour.js +315 -0
- package/virtualizer/collection.d.ts +103 -0
- package/virtualizer/collection.js +155 -0
- package/virtualizer/dom.d.ts +50 -0
- package/virtualizer/dom.js +233 -0
- package/virtualizer/engine.d.ts +21 -0
- package/virtualizer/engine.js +21 -0
- package/virtualizer/grid-layout.d.ts +50 -0
- package/virtualizer/grid-layout.js +247 -0
- package/virtualizer/index.d.ts +2 -0
- package/virtualizer/index.jsx +4 -0
- package/virtualizer/layout-info.d.ts +33 -0
- package/virtualizer/layout-info.js +54 -0
- package/virtualizer/layout.d.ts +44 -0
- package/virtualizer/layout.js +30 -0
- package/virtualizer/list-layout.d.ts +103 -0
- package/virtualizer/list-layout.js +508 -0
- package/virtualizer/overscan-manager.d.ts +9 -0
- package/virtualizer/overscan-manager.js +32 -0
- package/virtualizer/point.d.ts +13 -0
- package/virtualizer/point.js +23 -0
- package/virtualizer/rect.d.ts +49 -0
- package/virtualizer/rect.js +105 -0
- package/virtualizer/reusable-view.d.ts +29 -0
- package/virtualizer/reusable-view.js +56 -0
- package/virtualizer/scroll-anchor.d.ts +62 -0
- package/virtualizer/scroll-anchor.js +130 -0
- package/virtualizer/size.d.ts +11 -0
- package/virtualizer/size.js +21 -0
- package/virtualizer/state.d.ts +35 -0
- package/virtualizer/state.js +79 -0
- package/virtualizer/table-collection.d.ts +45 -0
- package/virtualizer/table-collection.js +80 -0
- package/virtualizer/table-column-layout.d.ts +44 -0
- package/virtualizer/table-column-layout.js +210 -0
- package/virtualizer/table-layout.d.ts +55 -0
- package/virtualizer/table-layout.js +482 -0
- package/virtualizer/types.d.ts +63 -0
- package/virtualizer/types.js +1 -0
- package/virtualizer/utils.d.ts +2 -0
- package/virtualizer/utils.js +12 -0
- package/virtualizer/virtualizer-core.d.ts +61 -0
- package/virtualizer/virtualizer-core.js +304 -0
- package/virtualizer/virtualizer.d.ts +62 -0
- package/virtualizer/virtualizer.jsx +88 -0
- package/virtualizer/waterfall-layout.d.ts +41 -0
- package/virtualizer/waterfall-layout.js +227 -0
- package/wheel-picker/behaviour.d.ts +94 -0
- package/wheel-picker/behaviour.js +482 -0
- package/wheel-picker/index.d.ts +33 -0
- package/wheel-picker/index.jsx +66 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { stopFlip, type FlipDriver } from "../flip/index.js";
|
|
2
|
+
import type { Key, Rect } from "./layout.js";
|
|
3
|
+
export { stopFlip };
|
|
4
|
+
export interface MotionOptions {
|
|
5
|
+
/** Motion1D base duration (embla units, default 25). */
|
|
6
|
+
duration?: number;
|
|
7
|
+
/** Motion1D friction (default 0.68). */
|
|
8
|
+
friction?: number;
|
|
9
|
+
}
|
|
10
|
+
/** Item boxes (start-edge x) relative to the grid, by key. */
|
|
11
|
+
export type Boxes = Map<Key, Rect>;
|
|
12
|
+
/** Whether relayouts animate here (`motion` prop, reduced-motion preference). */
|
|
13
|
+
export declare const motionAllowed: (motion: boolean | MotionOptions | FlipDriver | undefined) => boolean;
|
|
14
|
+
/** The grid's direct items. */
|
|
15
|
+
export declare function gridItems(grid: HTMLElement): HTMLElement[];
|
|
16
|
+
/** Visual boxes of the items whose relayout animation is still running (start-edge x, grid-relative); empty otherwise. */
|
|
17
|
+
export declare function animatingBoxes(grid: HTMLElement, rtl: boolean): Boxes;
|
|
18
|
+
/** Read phase: the current (visual) boxes of every item, start-edge x, relative to the grid. */
|
|
19
|
+
export declare function captureBoxes(grid: HTMLElement, rtl: boolean): {
|
|
20
|
+
boxes: Boxes;
|
|
21
|
+
width: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Write phase: animate every item from `before` to `after` (start-edge boxes relative to the grid). `viewport` = the
|
|
25
|
+
* visible band of the grid in grid coordinates (items outside it before and after jump).
|
|
26
|
+
*/
|
|
27
|
+
export declare function playFlip(grid: HTMLElement, before: Boxes, after: Boxes, rtl: boolean, viewport: [number, number], options?: MotionOptions | FlipDriver, finalOf?: (key: Key) => Readonly<Record<string, string>> | undefined): void;
|
package/masonry/flip.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Rivet-authored (not a port): animated relayout of `@rivetjs/cdk/masonry` over the shared FLIP core (`../flip`). When
|
|
2
|
+
// the layout changes on the client (an item grows / shrinks, items reorder), the items that moved start at their old
|
|
3
|
+
// box and travel to the new one on the house motion (or the `motion` prop's `FlipDriver`):
|
|
4
|
+
// - First: BEFORE the new styles land; server-placed grids take it from the previous geometry (one grid rect read,
|
|
5
|
+
// `animatingBoxes` for items still moving), measured grids read every item once (`captureBoxes`);
|
|
6
|
+
// - Last: the new boxes come from the pure geometry (no read after the writes);
|
|
7
|
+
// - Invert + Play: `../flip` `playFlip` (the grown item animates its size, neighbours slide); on settle the overrides
|
|
8
|
+
// go away and the CSS geometry stays.
|
|
9
|
+
// This adapter maps item keys (`data-key`) to elements. `prefers-reduced-motion: reduce` or `motion={false}` skip it.
|
|
10
|
+
import { animatingBoxes as boxesOf, flipAllowed, motion1dDriver, playFlip as play, stopFlip } from "../flip/index.js";
|
|
11
|
+
export { stopFlip };
|
|
12
|
+
const keyOf = (el) => {
|
|
13
|
+
const raw = el.getAttribute("data-key");
|
|
14
|
+
return el.getAttribute("data-key-type") === "number" ? Number(raw) : raw;
|
|
15
|
+
};
|
|
16
|
+
/** Whether relayouts animate here (`motion` prop, reduced-motion preference). */
|
|
17
|
+
export const motionAllowed = flipAllowed;
|
|
18
|
+
/** The grid's direct items. */
|
|
19
|
+
export function gridItems(grid) {
|
|
20
|
+
const out = [];
|
|
21
|
+
for (const el of grid.children)
|
|
22
|
+
if (el.hasAttribute?.("data-rv-item"))
|
|
23
|
+
out.push(el);
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
const byKey = (boxes) => {
|
|
27
|
+
const out = new Map();
|
|
28
|
+
for (const [el, box] of boxes)
|
|
29
|
+
out.set(keyOf(el), box);
|
|
30
|
+
return out;
|
|
31
|
+
};
|
|
32
|
+
/** Visual boxes of the items whose relayout animation is still running (start-edge x, grid-relative); empty otherwise. */
|
|
33
|
+
export function animatingBoxes(grid, rtl) {
|
|
34
|
+
return byKey(boxesOf(grid, rtl));
|
|
35
|
+
}
|
|
36
|
+
/** Read phase: the current (visual) boxes of every item, start-edge x, relative to the grid. */
|
|
37
|
+
export function captureBoxes(grid, rtl) {
|
|
38
|
+
const g = grid.getBoundingClientRect();
|
|
39
|
+
const boxes = new Map();
|
|
40
|
+
for (const el of gridItems(grid)) {
|
|
41
|
+
const r = el.getBoundingClientRect();
|
|
42
|
+
boxes.set(keyOf(el), { x: rtl ? g.right - r.right : r.left - g.left, y: r.top - g.top, width: r.width, height: r.height });
|
|
43
|
+
}
|
|
44
|
+
return { boxes, width: g.width };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Write phase: animate every item from `before` to `after` (start-edge boxes relative to the grid). `viewport` = the
|
|
48
|
+
* visible band of the grid in grid coordinates (items outside it before and after jump).
|
|
49
|
+
*/
|
|
50
|
+
export function playFlip(grid, before, after, rtl, viewport, options, finalOf) {
|
|
51
|
+
const items = [];
|
|
52
|
+
for (const el of gridItems(grid)) {
|
|
53
|
+
const key = keyOf(el);
|
|
54
|
+
const from = before.get(key);
|
|
55
|
+
const to = after.get(key);
|
|
56
|
+
if (from && to)
|
|
57
|
+
items.push({ el, from, to, final: finalOf && (() => finalOf(key)) });
|
|
58
|
+
}
|
|
59
|
+
const driver = options && "play" in options ? options : motion1dDriver(options);
|
|
60
|
+
play(grid, items, { viewport, rtl, driver });
|
|
61
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Number → shortest CSS form (4 decimals). */
|
|
2
|
+
export declare const num: (x: number) => string;
|
|
3
|
+
/**
|
|
4
|
+
* Item boxes of one breakpoint. Item i: start edge `x[2i]·u + x[2i+1]`, width / height / top likewise; `topMore[i]` /
|
|
5
|
+
* `heightMore[i]` hold extra `[k, c, k, c, …]` terms (the value is the max of all its terms); `ratio[i] > 0` means
|
|
6
|
+
* height = width / ratio exactly (written as CSS `aspect-ratio`); `extent` = content height terms (max).
|
|
7
|
+
*/
|
|
8
|
+
export interface Geometry {
|
|
9
|
+
count: number;
|
|
10
|
+
x: Float64Array;
|
|
11
|
+
width: Float64Array;
|
|
12
|
+
height: Float64Array;
|
|
13
|
+
top: Float64Array;
|
|
14
|
+
topMore: (Float64Array | null)[] | null;
|
|
15
|
+
heightMore: (Float64Array | null)[] | null;
|
|
16
|
+
ratio: Float64Array;
|
|
17
|
+
extent: Float64Array;
|
|
18
|
+
}
|
|
19
|
+
export declare function emptyGeometry(count: number): Geometry;
|
|
20
|
+
export interface Rect {
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
}
|
|
26
|
+
/** Pixel rects (x from the start edge) of a geometry at unit `u`. */
|
|
27
|
+
export declare function rectsAt(g: Geometry, u: number): Rect[];
|
|
28
|
+
/** Content height of a geometry at unit `u`. */
|
|
29
|
+
export declare function extentAt(g: Geometry, u: number): number;
|
|
30
|
+
/**
|
|
31
|
+
* Union of term sets `[k, c, …]` without the terms dominated over `[lo, hi]` (≤ another term at both ends: then ≤ it on
|
|
32
|
+
* the whole range). The max of what is left equals the max of the inputs on the range.
|
|
33
|
+
*/
|
|
34
|
+
export declare function pruneTerms(terms: readonly number[], lo: number, hi: number): number[];
|
|
35
|
+
/** `k·u + c` px at breakpoint b as a CSS term (several breakpoints: masked, so it is ≈ −1e9 px outside b's range). */
|
|
36
|
+
export declare function linear(k: number, c: number, b: number, single: boolean): string;
|
|
37
|
+
/**
|
|
38
|
+
* Inline style of item i placed by `geometries` (one per breakpoint): absolute `top` / `inset-inline-start`, `width`
|
|
39
|
+
* (`var(--rv-mw)` when it is one column everywhere) and `height` (CSS `aspect-ratio` when it is width / ratio in every
|
|
40
|
+
* breakpoint). Frozen: the runtime writes a frozen style object as one validated `cssText`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function geometryStyle(geometries: readonly Geometry[], i: number): Record<string, string>;
|
|
43
|
+
/** Grid height (content extent) across breakpoints. */
|
|
44
|
+
export declare function geometryHeight(geometries: readonly Geometry[]): string;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// Rivet-authored (not a port): the shared geometry of `@rivetjs/cdk/masonry` — every layout (masonry columns, justified
|
|
2
|
+
// rows, Bento tiles) produces, per breakpoint, item boxes whose edges are LINEAR in the breakpoint's unit `u` (the
|
|
3
|
+
// column width; justified rows: the container width), `k·u + c` px. A top can be the max of several such terms (an
|
|
4
|
+
// item spanning columns sits under the lowest of them; a stretched last tile reaches the tallest column). That is what
|
|
5
|
+
// makes the server CSS exact at any container width of a breakpoint (`max()` of masked terms, see `gridVars`), and what
|
|
6
|
+
// the client evaluates at a width (`rectsAt`) for keyboard geometry, FLIP animation and tests. Pure, DOM-free.
|
|
7
|
+
/** Number → shortest CSS form (4 decimals). */
|
|
8
|
+
export const num = (x) => String(Math.round(x * 1e4) / 1e4);
|
|
9
|
+
export function emptyGeometry(count) {
|
|
10
|
+
return {
|
|
11
|
+
count,
|
|
12
|
+
x: new Float64Array(count * 2),
|
|
13
|
+
width: new Float64Array(count * 2),
|
|
14
|
+
height: new Float64Array(count * 2),
|
|
15
|
+
top: new Float64Array(count * 2),
|
|
16
|
+
topMore: null,
|
|
17
|
+
heightMore: null,
|
|
18
|
+
ratio: new Float64Array(count),
|
|
19
|
+
extent: new Float64Array(0),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const maxAt = (base, i, more, u) => {
|
|
23
|
+
let v = base[2 * i] * u + base[2 * i + 1];
|
|
24
|
+
if (more)
|
|
25
|
+
for (let t = 0; t < more.length; t += 2)
|
|
26
|
+
v = Math.max(v, more[t] * u + more[t + 1]);
|
|
27
|
+
return v;
|
|
28
|
+
};
|
|
29
|
+
/** Pixel rects (x from the start edge) of a geometry at unit `u`. */
|
|
30
|
+
export function rectsAt(g, u) {
|
|
31
|
+
const out = new Array(g.count);
|
|
32
|
+
for (let i = 0; i < g.count; i++)
|
|
33
|
+
out[i] = {
|
|
34
|
+
x: g.x[2 * i] * u + g.x[2 * i + 1],
|
|
35
|
+
y: maxAt(g.top, i, g.topMore?.[i], u),
|
|
36
|
+
width: g.width[2 * i] * u + g.width[2 * i + 1],
|
|
37
|
+
height: maxAt(g.height, i, g.heightMore?.[i], u),
|
|
38
|
+
};
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
/** Content height of a geometry at unit `u`. */
|
|
42
|
+
export function extentAt(g, u) {
|
|
43
|
+
let h = 0;
|
|
44
|
+
for (let t = 0; t < g.extent.length; t += 2)
|
|
45
|
+
h = Math.max(h, g.extent[t] * u + g.extent[t + 1]);
|
|
46
|
+
return h;
|
|
47
|
+
}
|
|
48
|
+
// ---------------------------------------------------------------------------------------------------------------
|
|
49
|
+
// Term sets (max of linear functions over a unit range)
|
|
50
|
+
// ---------------------------------------------------------------------------------------------------------------
|
|
51
|
+
/**
|
|
52
|
+
* Union of term sets `[k, c, …]` without the terms dominated over `[lo, hi]` (≤ another term at both ends: then ≤ it on
|
|
53
|
+
* the whole range). The max of what is left equals the max of the inputs on the range.
|
|
54
|
+
*/
|
|
55
|
+
export function pruneTerms(terms, lo, hi) {
|
|
56
|
+
const n = terms.length / 2;
|
|
57
|
+
if (n <= 1)
|
|
58
|
+
return terms.slice();
|
|
59
|
+
const keep = [];
|
|
60
|
+
for (let a = 0; a < n; a++) {
|
|
61
|
+
const ka = terms[2 * a];
|
|
62
|
+
const ca = terms[2 * a + 1];
|
|
63
|
+
const la = ka * lo + ca;
|
|
64
|
+
const ha = ka * hi + ca;
|
|
65
|
+
let dominated = false;
|
|
66
|
+
for (let b = 0; b < n && !dominated; b++) {
|
|
67
|
+
if (b === a)
|
|
68
|
+
continue;
|
|
69
|
+
const kb = terms[2 * b];
|
|
70
|
+
const cb = terms[2 * b + 1];
|
|
71
|
+
const lb = kb * lo + cb;
|
|
72
|
+
const hb = kb * hi + cb;
|
|
73
|
+
// Strictly below somewhere and not above anywhere; exact duplicates keep the first.
|
|
74
|
+
if (lb >= la - 1e-9 && hb >= ha - 1e-9 && (lb > la + 1e-9 || hb > ha + 1e-9 || b < a))
|
|
75
|
+
dominated = true;
|
|
76
|
+
}
|
|
77
|
+
if (!dominated)
|
|
78
|
+
keep.push(ka, ca);
|
|
79
|
+
}
|
|
80
|
+
return keep;
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------------------------------------------
|
|
83
|
+
// CSS (inline, exact at any container width)
|
|
84
|
+
// ---------------------------------------------------------------------------------------------------------------
|
|
85
|
+
/** `k·u + c` px at breakpoint b as a CSS term (several breakpoints: masked, so it is ≈ −1e9 px outside b's range). */
|
|
86
|
+
export function linear(k, c, b, single) {
|
|
87
|
+
if (Math.abs(k) < 1e-12) {
|
|
88
|
+
// Geometry is never negative: an unmasked 0 is a lower bound in every breakpoint.
|
|
89
|
+
if (Math.abs(c) < 1e-9)
|
|
90
|
+
return "0px";
|
|
91
|
+
return single ? `${num(c)}px` : `calc(${num(c)}px - var(--rv-m${b}))`;
|
|
92
|
+
}
|
|
93
|
+
// Negative slope: the masked unit (≈ −1e9 px outside b) would turn the term huge and positive; use the unmasked
|
|
94
|
+
// unit (`--rv-w + --rv-m`) and subtract the mask from the constant instead.
|
|
95
|
+
if (k < 0 && !single)
|
|
96
|
+
return `calc(${num(k)} * (var(--rv-w${b}) + var(--rv-m${b})) ${c < 0 ? "-" : "+"} ${num(Math.abs(c))}px - var(--rv-m${b}))`;
|
|
97
|
+
const kw = Math.abs(k - 1) < 1e-12 ? `var(--rv-w${b})` : `${num(k)} * var(--rv-w${b})`;
|
|
98
|
+
if (Math.abs(c) < 1e-9)
|
|
99
|
+
return single && Math.abs(k - 1) < 1e-12 ? `var(--rv-w${b})` : `calc(${kw})`;
|
|
100
|
+
return `calc(${kw} ${c < 0 ? "-" : "+"} ${num(Math.abs(c))}px)`;
|
|
101
|
+
}
|
|
102
|
+
/** One value across breakpoints from per-breakpoint term lists: a term, or `max()` of every (masked) term. */
|
|
103
|
+
function across(perBreakpoint) {
|
|
104
|
+
const all = [];
|
|
105
|
+
for (const terms of perBreakpoint)
|
|
106
|
+
for (const t of terms)
|
|
107
|
+
all.push(t);
|
|
108
|
+
if (all.length === 1)
|
|
109
|
+
return all[0];
|
|
110
|
+
if (all.every((t) => t === "0px"))
|
|
111
|
+
return "0px";
|
|
112
|
+
return `max(${all.join(", ")})`;
|
|
113
|
+
}
|
|
114
|
+
const termsOf = (base, i, more, b, single) => {
|
|
115
|
+
const out = [linear(base[2 * i], base[2 * i + 1], b, single)];
|
|
116
|
+
if (more)
|
|
117
|
+
for (let t = 0; t < more.length; t += 2)
|
|
118
|
+
out.push(linear(more[t], more[t + 1], b, single));
|
|
119
|
+
return out;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Inline style of item i placed by `geometries` (one per breakpoint): absolute `top` / `inset-inline-start`, `width`
|
|
123
|
+
* (`var(--rv-mw)` when it is one column everywhere) and `height` (CSS `aspect-ratio` when it is width / ratio in every
|
|
124
|
+
* breakpoint). Frozen: the runtime writes a frozen style object as one validated `cssText`.
|
|
125
|
+
*/
|
|
126
|
+
export function geometryStyle(geometries, i) {
|
|
127
|
+
const single = geometries.length === 1;
|
|
128
|
+
const top = [];
|
|
129
|
+
const left = [];
|
|
130
|
+
const width = [];
|
|
131
|
+
const height = [];
|
|
132
|
+
let unitWidth = true;
|
|
133
|
+
let ratio = geometries[0].ratio[i];
|
|
134
|
+
for (let b = 0; b < geometries.length; b++) {
|
|
135
|
+
const g = geometries[b];
|
|
136
|
+
top.push(termsOf(g.top, i, g.topMore?.[i], b, single));
|
|
137
|
+
left.push([linear(g.x[2 * i], g.x[2 * i + 1], b, single)]);
|
|
138
|
+
const wk = g.width[2 * i];
|
|
139
|
+
const wc = g.width[2 * i + 1];
|
|
140
|
+
if (Math.abs(wk - 1) > 1e-12 || Math.abs(wc) > 1e-9)
|
|
141
|
+
unitWidth = false;
|
|
142
|
+
width.push([linear(wk, wc, b, single)]);
|
|
143
|
+
height.push(termsOf(g.height, i, g.heightMore?.[i], b, single));
|
|
144
|
+
if (!(g.ratio[i] > 0) || Math.abs(g.ratio[i] - ratio) > 1e-9)
|
|
145
|
+
ratio = 0;
|
|
146
|
+
}
|
|
147
|
+
const style = {
|
|
148
|
+
position: "absolute",
|
|
149
|
+
"box-sizing": "border-box",
|
|
150
|
+
top: across(top),
|
|
151
|
+
"inset-inline-start": across(left),
|
|
152
|
+
width: unitWidth ? "var(--rv-mw)" : across(width),
|
|
153
|
+
};
|
|
154
|
+
if (ratio > 0)
|
|
155
|
+
style["aspect-ratio"] = num(ratio);
|
|
156
|
+
else {
|
|
157
|
+
// One column everywhere with the same `k·u + c` height in every breakpoint: one term over the active width.
|
|
158
|
+
const g0 = geometries[0];
|
|
159
|
+
const hk = g0.height[2 * i];
|
|
160
|
+
const hc = g0.height[2 * i + 1];
|
|
161
|
+
const same = unitWidth && geometries.every((g) => !g.heightMore?.[i] && Math.abs(g.height[2 * i] - hk) < 1e-12 && Math.abs(g.height[2 * i + 1] - hc) < 1e-9);
|
|
162
|
+
if (same && geometries.length > 1 && Math.abs(hk) > 1e-12) {
|
|
163
|
+
const kw = Math.abs(hk - 1) < 1e-12 ? "var(--rv-mw)" : `${num(hk)} * var(--rv-mw)`;
|
|
164
|
+
style.height = Math.abs(hc) < 1e-9 ? `calc(${kw})` : `calc(${kw} ${hc < 0 ? "-" : "+"} ${num(Math.abs(hc))}px)`;
|
|
165
|
+
}
|
|
166
|
+
else
|
|
167
|
+
style.height = across(height);
|
|
168
|
+
}
|
|
169
|
+
return Object.freeze(style);
|
|
170
|
+
}
|
|
171
|
+
/** Grid height (content extent) across breakpoints. */
|
|
172
|
+
export function geometryHeight(geometries) {
|
|
173
|
+
const single = geometries.length === 1;
|
|
174
|
+
const terms = [];
|
|
175
|
+
geometries.forEach((g, b) => {
|
|
176
|
+
for (let t = 0; t < g.extent.length; t += 2)
|
|
177
|
+
terms.push(linear(g.extent[t], g.extent[t + 1], b, single));
|
|
178
|
+
});
|
|
179
|
+
if (!terms.length)
|
|
180
|
+
return "0px";
|
|
181
|
+
if (terms.length === 1)
|
|
182
|
+
return terms[0];
|
|
183
|
+
return `max(0px, ${terms.join(", ")})`;
|
|
184
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type Signal } from "@rivetjs/reactivity";
|
|
2
|
+
import { type DOMValue } from "@rivetjs/runtime/dom";
|
|
3
|
+
import type { Content } from "@rivetjs/runtime/jsx-runtime";
|
|
4
|
+
import { type GlobalDOMAttributes } from "../utils/dom-props.js";
|
|
5
|
+
import { type MotionOptions } from "./flip.js";
|
|
6
|
+
import type { FlipDriver } from "../flip/index.js";
|
|
7
|
+
import { type JustifiedLastRow } from "./justified.js";
|
|
8
|
+
import { type MasonryHandle, type Selection, type SelectionBehavior, type SelectionMode } from "./behaviour.js";
|
|
9
|
+
import { type BentoPack, type BentoRowHeight, type Columns, type Gap, type Key, type Responsive } from "./layout.js";
|
|
10
|
+
export * from "./layout.js";
|
|
11
|
+
export * from "./geometry.js";
|
|
12
|
+
export { placeJustified, placeJustifiedRun, type JustifiedLastRow, type JustifiedOptions, type JustifiedRun } from "./justified.js";
|
|
13
|
+
export { captureBoxes, playFlip, stopFlip, motionAllowed, type Boxes, type MotionOptions } from "./flip.js";
|
|
14
|
+
export type { FlipDriver } from "../flip/index.js";
|
|
15
|
+
export { masonryPosition, masonryRelayout, masonryScrollTo, reflowMeasured, relayoutMeasured, watchMeasured, type MasonryHandle, type MeasureOptions, } from "./behaviour.js";
|
|
16
|
+
export { MasonryLayout, type MasonryLayoutOptions } from "./masonry-layout.js";
|
|
17
|
+
export type { MasonryContext, Selection, SelectionBehavior, SelectionMode } from "./behaviour.js";
|
|
18
|
+
type MaybeAccessor<T> = T | (() => T);
|
|
19
|
+
/** A `{ current }` holder or a callback (like resizable's `groupRef`). */
|
|
20
|
+
export type ImperativeRef<H> = {
|
|
21
|
+
current: H | null;
|
|
22
|
+
} | ((handle: H | null) => void);
|
|
23
|
+
/** What the item renderer and `itemClass` functions get (accessors: read them in bindings). */
|
|
24
|
+
export interface MasonryItemState {
|
|
25
|
+
key: Key;
|
|
26
|
+
/** Position in `items` (reading order). */
|
|
27
|
+
index: () => number;
|
|
28
|
+
isSelected: () => boolean;
|
|
29
|
+
isDisabled: () => boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Props shared by `Masonry` and `Bento`. Global DOM attributes go to the root element. */
|
|
32
|
+
export interface MasonryBaseProps<T> extends GlobalDOMAttributes<HTMLDivElement> {
|
|
33
|
+
/** The items (reading order). A Signal / accessor updates the layout in place. */
|
|
34
|
+
items: MaybeAccessor<readonly T[]>;
|
|
35
|
+
/** Item content: `(item, state) => …` (rendered inside the item element; read `state` accessors in bindings). */
|
|
36
|
+
children: (item: T, state: MasonryItemState) => Content;
|
|
37
|
+
/** Unique item key (default `item.id`, then `item.key`, then the index). Read once at mount: keys identify the rendered rows; a new reader would re-key every row. */
|
|
38
|
+
getKey?: ((item: T, index: number) => Key) | undefined;
|
|
39
|
+
/** Column count: a number or a container-width map (`{ 0: 2, 640: 3, 1024: 4 }`, the default). Live. */
|
|
40
|
+
columns?: Columns | undefined;
|
|
41
|
+
/** Derive the columns from a minimum item width instead (`n·min + (n − 1)·gap` px per column count). Live. */
|
|
42
|
+
minItemWidth?: number | undefined;
|
|
43
|
+
/** Upper bound of the column count with `minItemWidth`. Default 4. Live. */
|
|
44
|
+
maxColumns?: number | undefined;
|
|
45
|
+
/** Gap between items in px: one value or `[column, row]`, or a container-width map of those. Default 16. Live. */
|
|
46
|
+
/**
|
|
47
|
+
* Root max width in px (`max-width` on the root). Bounds the last breakpoint's width range, so justified / mixed geometry terms stay exact
|
|
48
|
+
* up to it (and `masonrySizes` can cap image widths). Live.
|
|
49
|
+
*/
|
|
50
|
+
maxWidth?: number | undefined;
|
|
51
|
+
gap?: Responsive<Gap> | undefined;
|
|
52
|
+
/** Animated relayout when items move on the client (span / size / order changes): house motion (embla), or a `FlipDriver` (`@rivetjs/cdk/flip`). `false` = jump; reduced motion always jumps. Live (read when a relayout plays). */
|
|
53
|
+
motion?: boolean | MotionOptions | FlipDriver | undefined;
|
|
54
|
+
/** Imperative handle: `relayout()`, `scrollToItem(key)`, `getPosition(key)` (also available as DOM functions for resumed handlers). */
|
|
55
|
+
handleRef?: ImperativeRef<MasonryHandle> | undefined;
|
|
56
|
+
selectionMode?: SelectionMode | undefined;
|
|
57
|
+
/** `"toggle"` (default): clicks toggle; `"replace"`: clicks replace, Ctrl / Cmd toggles, double click = action. Read once at mount: picks the pointer handlers wired at mount. */
|
|
58
|
+
selectionBehavior?: SelectionBehavior | undefined;
|
|
59
|
+
/** Selected keys: value, two-way Signal or accessor. */
|
|
60
|
+
selectedKeys?: Selection | Signal<Selection> | (() => Selection) | undefined;
|
|
61
|
+
defaultSelectedKeys?: Selection | undefined;
|
|
62
|
+
onSelectionChange?: ((keys: Selection) => void) | undefined;
|
|
63
|
+
/** Keys that cannot be focused by arrow keys, selected or actioned. */
|
|
64
|
+
disabledKeys?: MaybeAccessor<Iterable<Key> | undefined>;
|
|
65
|
+
disallowEmptySelection?: boolean | undefined;
|
|
66
|
+
/** Item action (Enter, click when nothing is selectable / selected, double click with `replace`). */
|
|
67
|
+
onAction?: ((key: Key) => void) | undefined;
|
|
68
|
+
/** Called when the end of the items scrolls into view (IntersectionObserver sentinel / virtualizer). */
|
|
69
|
+
onLoadMore?: (() => void) | undefined;
|
|
70
|
+
/** Whether more items are loading (shows `renderLoader`). */
|
|
71
|
+
isLoading?: MaybeAccessor<boolean | undefined>;
|
|
72
|
+
/** Loader content under the items while `isLoading`. */
|
|
73
|
+
renderLoader?: (() => Content) | undefined;
|
|
74
|
+
/** Content when there are no items. */
|
|
75
|
+
renderEmptyState?: (() => Content) | undefined;
|
|
76
|
+
/** `"grid"` (default: arrow keys, selection) or `"list"` (`role="list"`, tab through item content only). Read once at mount: structural (roles + keyboard model of the rendered tree). */
|
|
77
|
+
semantics?: "grid" | "list" | undefined;
|
|
78
|
+
id?: string | undefined;
|
|
79
|
+
"aria-label"?: string | undefined;
|
|
80
|
+
"aria-labelledby"?: string | undefined;
|
|
81
|
+
"aria-describedby"?: string | undefined;
|
|
82
|
+
/** Root class (default `rv-Masonry` / `rv-Bento`). */
|
|
83
|
+
class?: string | undefined;
|
|
84
|
+
style?: Record<string, string | number | undefined> | undefined;
|
|
85
|
+
/** Grid element class (default `rv-Masonry-grid` / `rv-Bento-grid`). */
|
|
86
|
+
gridClass?: string | undefined;
|
|
87
|
+
/** Item element class (default `rv-Masonry-item` / `rv-Bento-item`; a value replaces it), or a function of the item state. */
|
|
88
|
+
itemClass?: string | ((state: MasonryItemState) => string | undefined) | undefined;
|
|
89
|
+
/** Loader element class (default `rv-Masonry-loader` / `rv-Bento-loader`). */
|
|
90
|
+
loaderClass?: string | undefined;
|
|
91
|
+
/** Empty-state row class (default `rv-<Masonry|Bento>-empty`). */
|
|
92
|
+
emptyClass?: string | undefined;
|
|
93
|
+
}
|
|
94
|
+
export interface MasonryProps<T> extends MasonryBaseProps<T> {
|
|
95
|
+
/** Aspect ratio (width / height) of an item; `null` = unknown (default: `item.aspectRatio`, else `width / height` — `?image` results qualify). May return a Signal / accessor (live). */
|
|
96
|
+
getAspectRatio?: ((item: T) => MaybeAccessor<number | null | undefined>) | undefined;
|
|
97
|
+
/** Fixed height in px of an item that has no ratio (text cards; default `item.height` when the item has no `width` / `aspectRatio`). Live like `getAspectRatio`. */
|
|
98
|
+
getItemHeight?: ((item: T) => MaybeAccessor<number | null | undefined>) | undefined;
|
|
99
|
+
/** Columns an item spans (number or breakpoint map; justified rows: a width weight). Default `item.span`, 1. Live: a Signal / accessor relayouts (animated). */
|
|
100
|
+
getSpan?: ((item: T) => MaybeAccessor<Responsive<number> | null | undefined>) | undefined;
|
|
101
|
+
/** px added to every item's ratio height (a caption row under each image). Live. */
|
|
102
|
+
extraItemHeight?: number | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* `"auto"` (default): server-placed when every item's size is known, a known leading run server-placed + the rest
|
|
105
|
+
* measured, else measured; `"exact"`; `"measure"`; `"justified"` (rows that fill the width, Flickr justified-layout).
|
|
106
|
+
* Read once at mount: structural (server-placed vs measured DOM, observers); switching would re-create every row.
|
|
107
|
+
*/
|
|
108
|
+
layout?: "auto" | "exact" | "measure" | "justified" | undefined;
|
|
109
|
+
/** Columns: `"both"` stretches each column's last item to the tallest column (flush bottom; images `object-fit: cover`). Live. */
|
|
110
|
+
fit?: "none" | "both" | undefined;
|
|
111
|
+
/** Justified: target row height in px (number or container-width map; keys split breakpoints). Default 240. Live. */
|
|
112
|
+
rowHeight?: Responsive<number> | undefined;
|
|
113
|
+
/** Justified: rows may vary ± rowHeight · tolerance. Default 0.25 (also spaces the width splits: geometric ratio (1 + t) / (1 − t)). Live. */
|
|
114
|
+
rowHeightTolerance?: number | undefined;
|
|
115
|
+
/** Justified: edge-case bounds (default 0.5× / 2× rowHeight; beyond them items crop). Live. */
|
|
116
|
+
minRowHeight?: number | undefined;
|
|
117
|
+
maxRowHeight?: number | undefined;
|
|
118
|
+
/** Justified: last row `"fill"` (default: rebalanced, flush on both axes), `"justify"`, `"left"`, `"center"`. `"fill"` falls back to `"left"` when no rebalance fits the height bounds. Live. */
|
|
119
|
+
lastRow?: JustifiedLastRow | undefined;
|
|
120
|
+
/** Container width the greedy compares columns at (default: the middle of each breakpoint's range). Live. */
|
|
121
|
+
referenceWidth?: number | undefined;
|
|
122
|
+
/** Render only the items in view (cdk `Virtualizer` + `MasonryLayout`). Read once at mount (structural), and so are the layout options of the virtual layout object. */
|
|
123
|
+
virtualize?: boolean | undefined;
|
|
124
|
+
/** Scroller height when virtualized (CSS length or px). Default 600. */
|
|
125
|
+
height?: number | string | undefined;
|
|
126
|
+
/** Viewport size of the server-rendered window when virtualized (match the scroller). Default 800 × 600. */
|
|
127
|
+
initialSize?: {
|
|
128
|
+
width: number;
|
|
129
|
+
height: number;
|
|
130
|
+
} | undefined;
|
|
131
|
+
}
|
|
132
|
+
export interface BentoProps<T> extends MasonryBaseProps<T> {
|
|
133
|
+
/** Columns a tile spans: number or breakpoint map (default `item.colSpan`, 1); clamped to the column count. */
|
|
134
|
+
getColSpan?: ((item: T) => Responsive<number> | null | undefined) | undefined;
|
|
135
|
+
/** Rows a tile spans: number or breakpoint map (default `item.rowSpan`, 1). */
|
|
136
|
+
getRowSpan?: ((item: T) => Responsive<number> | null | undefined) | undefined;
|
|
137
|
+
/** Row height: px (default 160), `{ aspectRatio }` (column width / ratio), or `"auto"` (native CSS grid rows). Live, except switching to / from `"auto"` (read once at mount: native grid vs placed tiles). */
|
|
138
|
+
rowHeight?: BentoRowHeight | undefined;
|
|
139
|
+
/** `"dense"` (default: first fit, fills holes) or `"skyline"` (lowest drop, no backfill). Live. */
|
|
140
|
+
pack?: BentoPack | undefined;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Masonry: items flow into the shortest column (Pinterest-style), or into justified rows (`layout="justified"`). Sizes
|
|
144
|
+
* known (aspect ratios, `?image` width / height, fixed heights) → the server lays out (exact inline CSS at any width,
|
|
145
|
+
* zero CLS, no client JS); unknown sizes → measured in the browser (a known leading run stays server-placed).
|
|
146
|
+
*/
|
|
147
|
+
export declare function Masonry<T>(props: MasonryProps<T>): DOMValue;
|
|
148
|
+
/**
|
|
149
|
+
* Bento: tiles with column / row spans on a uniform grid, packed on the server (`dense` fills holes like CSS
|
|
150
|
+
* `grid-auto-flow: dense`; `skyline` keeps rows in reading order). Fixed or aspect row heights are exact inline CSS at
|
|
151
|
+
* any width; `rowHeight="auto"` uses the browser's own CSS grid (content-sized rows).
|
|
152
|
+
*/
|
|
153
|
+
export declare function Bento<T>(props: BentoProps<T>): DOMValue;
|