@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,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shallow-extends a stylesheet object with another stylesheet-like object.
|
|
3
|
+
* Note that the keys in `source` have to be dash-cased.
|
|
4
|
+
* @docs-private
|
|
5
|
+
*/
|
|
6
|
+
export function extendStyles(dest, source, importantProperties) {
|
|
7
|
+
for (let key in source) {
|
|
8
|
+
if (Object.hasOwn(source, key)) {
|
|
9
|
+
const value = source[key];
|
|
10
|
+
if (value) {
|
|
11
|
+
dest.setProperty(key, value, importantProperties?.has(key) ? "important" : "");
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
dest.removeProperty(key);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return dest;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Toggles whether the native drag interactions should be enabled for an element.
|
|
22
|
+
* @param element Element on which to toggle the drag interactions.
|
|
23
|
+
* @param enable Whether the drag interactions should be enabled.
|
|
24
|
+
* @docs-private
|
|
25
|
+
*/
|
|
26
|
+
export function toggleNativeDragInteractions(element, enable) {
|
|
27
|
+
extendStyles(element.style, nativeDragInteractionStyles(enable));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Rivet: the styles `toggleNativeDragInteractions` applies (split out so server-rendered handles carry
|
|
31
|
+
* the same declarations before any code runs).
|
|
32
|
+
*/
|
|
33
|
+
export function nativeDragInteractionStyles(enable) {
|
|
34
|
+
const userSelect = enable ? "" : "none";
|
|
35
|
+
return {
|
|
36
|
+
"touch-action": enable ? "" : "none",
|
|
37
|
+
"-webkit-user-drag": enable ? "" : "none",
|
|
38
|
+
"-webkit-tap-highlight-color": enable ? "" : "transparent",
|
|
39
|
+
"user-select": userSelect,
|
|
40
|
+
"-ms-user-select": userSelect,
|
|
41
|
+
"-webkit-user-select": userSelect,
|
|
42
|
+
"-moz-user-select": userSelect,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Toggles whether an element is visible while preserving its dimensions.
|
|
47
|
+
* @param element Element whose visibility to toggle
|
|
48
|
+
* @param enable Whether the element should be visible.
|
|
49
|
+
* @param importantProperties Properties to be set as `!important`.
|
|
50
|
+
* @docs-private
|
|
51
|
+
*/
|
|
52
|
+
export function toggleVisibility(element, enable, importantProperties) {
|
|
53
|
+
extendStyles(element.style, {
|
|
54
|
+
position: enable ? "" : "fixed",
|
|
55
|
+
top: enable ? "" : "0",
|
|
56
|
+
opacity: enable ? "" : "0",
|
|
57
|
+
left: enable ? "" : "-999em",
|
|
58
|
+
}, importantProperties);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Combines a transform string with an optional other transform
|
|
62
|
+
* that exited before the base transform was applied.
|
|
63
|
+
*/
|
|
64
|
+
export function combineTransforms(transform, initialTransform) {
|
|
65
|
+
return initialTransform && initialTransform != "none" ? transform + " " + initialTransform : transform;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Matches the target element's size to the source's size.
|
|
69
|
+
* @param target Element that needs to be resized.
|
|
70
|
+
* @param sourceRect Dimensions of the source element.
|
|
71
|
+
*/
|
|
72
|
+
export function matchElementSize(target, sourceRect) {
|
|
73
|
+
target.style.width = `${sourceRect.width}px`;
|
|
74
|
+
target.style.height = `${sourceRect.height}px`;
|
|
75
|
+
target.style.transform = getTransform(sourceRect.left, sourceRect.top);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Gets a 3d `transform` that can be applied to an element.
|
|
79
|
+
* @param x Desired position of the element along the X axis.
|
|
80
|
+
* @param y Desired position of the element along the Y axis.
|
|
81
|
+
*/
|
|
82
|
+
export function getTransform(x, y) {
|
|
83
|
+
// Round the transforms since some browsers will
|
|
84
|
+
// blur the elements for sub-pixel transforms.
|
|
85
|
+
return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
|
|
86
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/dom/transition-duration.ts), MIT, © Google LLC.
|
|
2
|
+
/** Parses a CSS time value to milliseconds. */
|
|
3
|
+
function parseCssTimeUnitsToMs(value) {
|
|
4
|
+
// Some browsers will return it in seconds, whereas others will return milliseconds.
|
|
5
|
+
const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;
|
|
6
|
+
return parseFloat(value) * multiplier;
|
|
7
|
+
}
|
|
8
|
+
/** Gets the transform transition duration, including the delay, of an element in milliseconds. */
|
|
9
|
+
export function getTransformTransitionDurationInMs(element) {
|
|
10
|
+
const computedStyle = getComputedStyle(element);
|
|
11
|
+
const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');
|
|
12
|
+
const property = transitionedProperties.find(prop => prop === 'transform' || prop === 'all');
|
|
13
|
+
// If there's no transition for `all` or `transform`, we shouldn't do anything.
|
|
14
|
+
if (!property) {
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
// Get the index of the property that we're interested in and match
|
|
18
|
+
// it up to the same index in `transition-delay` and `transition-duration`.
|
|
19
|
+
const propertyIndex = transitionedProperties.indexOf(property);
|
|
20
|
+
const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');
|
|
21
|
+
const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');
|
|
22
|
+
return (parseCssTimeUnitsToMs(rawDurations[propertyIndex]) +
|
|
23
|
+
parseCssTimeUnitsToMs(rawDelays[propertyIndex]));
|
|
24
|
+
}
|
|
25
|
+
/** Parses out multiple values from a computed style into an array. */
|
|
26
|
+
function parseCssPropertyValue(computedStyle, name) {
|
|
27
|
+
const value = computedStyle.getPropertyValue(name);
|
|
28
|
+
return value.split(',').map(part => part.trim());
|
|
29
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Emitter, type Stream } from "../scrolling/emitter.js";
|
|
2
|
+
import type { DropListRef } from "./drop-list-ref.js";
|
|
3
|
+
import type { DragRef } from "./drag-ref.js";
|
|
4
|
+
/**
|
|
5
|
+
* Service that keeps track of all the drag item and drop container
|
|
6
|
+
* instances, and manages global event listeners on the `document`.
|
|
7
|
+
* @docs-private
|
|
8
|
+
*/
|
|
9
|
+
export declare class DragDropRegistry {
|
|
10
|
+
private _document;
|
|
11
|
+
private _cleanupDocumentTouchmove;
|
|
12
|
+
private _scroll;
|
|
13
|
+
/** Registered drop container instances. */
|
|
14
|
+
private _dropInstances;
|
|
15
|
+
/** Registered drag item instances. */
|
|
16
|
+
private _dragInstances;
|
|
17
|
+
/** Drag item instances that are currently being dragged. */
|
|
18
|
+
private _activeDragInstances;
|
|
19
|
+
/** Keeps track of the event listeners that we've bound to the `document`. */
|
|
20
|
+
private _globalListeners;
|
|
21
|
+
/** Predicate function to check if an item is being dragged. */
|
|
22
|
+
private _draggingPredicate;
|
|
23
|
+
/** Map tracking DOM nodes and their corresponding drag directives. */
|
|
24
|
+
private _domNodesToDirectives;
|
|
25
|
+
/** Emits the `touchmove` or `mousemove` events that are dispatched while the user is dragging a drag item instance. */
|
|
26
|
+
readonly pointerMove: Emitter<MouseEvent | TouchEvent>;
|
|
27
|
+
/** Emits the `touchend` or `mouseup` events that are dispatched while the user is dragging a drag item instance. */
|
|
28
|
+
readonly pointerUp: Emitter<MouseEvent | TouchEvent>;
|
|
29
|
+
constructor(doc?: Document);
|
|
30
|
+
/** Adds a drop container to the registry. */
|
|
31
|
+
registerDropContainer(drop: DropListRef): void;
|
|
32
|
+
/** Adds a drag item instance to the registry. */
|
|
33
|
+
registerDragItem(drag: DragRef): void;
|
|
34
|
+
/** Removes a drop container from the registry. */
|
|
35
|
+
removeDropContainer(drop: DropListRef): void;
|
|
36
|
+
/** Removes a drag item instance from the registry. */
|
|
37
|
+
removeDragItem(drag: DragRef): void;
|
|
38
|
+
/**
|
|
39
|
+
* Starts the dragging sequence for a drag instance.
|
|
40
|
+
* @param drag Drag instance which is being dragged.
|
|
41
|
+
* @param event Event that initiated the dragging.
|
|
42
|
+
*/
|
|
43
|
+
startDragging(drag: DragRef, event: TouchEvent | MouseEvent): void;
|
|
44
|
+
/** Stops dragging a drag item instance. */
|
|
45
|
+
stopDragging(drag: DragRef): void;
|
|
46
|
+
/** Gets whether a drag item instance is currently being dragged. */
|
|
47
|
+
isDragging(drag: DragRef): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Gets a stream that will emit when any element on the page is scrolled while an item is being dragged.
|
|
50
|
+
* @param shadowRoot Optional shadow root that the current dragging sequence started from.
|
|
51
|
+
*/
|
|
52
|
+
scrolled(shadowRoot?: DocumentOrShadowRoot | null): Stream<Event>;
|
|
53
|
+
/** Tracks the DOM node which has a draggable directive. */
|
|
54
|
+
registerDirectiveNode(node: Node, dragRef: unknown): void;
|
|
55
|
+
/** Stops tracking a draggable directive node. */
|
|
56
|
+
removeDirectiveNode(node: Node): void;
|
|
57
|
+
/** Gets the drag directive corresponding to a specific DOM node, if any. */
|
|
58
|
+
getDragDirectiveForNode<T = unknown>(node: Node): T | null;
|
|
59
|
+
/** Angular `ngOnDestroy`. */
|
|
60
|
+
destroy(): void;
|
|
61
|
+
/** Event listener that will prevent the default browser action while the user is dragging. */
|
|
62
|
+
private _preventDefaultWhileDragging;
|
|
63
|
+
/** Event listener for `touchmove` that is bound even if no dragging is happening. */
|
|
64
|
+
private _persistentTouchmoveListener;
|
|
65
|
+
/** Clears out the global event listeners from the `document`. */
|
|
66
|
+
private _clearGlobalListeners;
|
|
67
|
+
}
|
|
68
|
+
/** The per-document registry, created on first use (Angular: root-provided service). */
|
|
69
|
+
export declare function dragDropRegistry(doc?: Document): DragDropRegistry;
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/drag-drop-registry.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: no DI / NgZone / Renderer2 — `dragDropRegistry(document?)` returns the lazily created per-document
|
|
3
|
+
// instance (nothing at import time); Subjects are `Emitter`s; the reset styles (resets.scss) are injected
|
|
4
|
+
// as one <style> on the first drag (Angular: `_CdkPrivateStyleLoader`); the directive-node map stores
|
|
5
|
+
// any value (the Rivet `CdkDrag` handle).
|
|
6
|
+
// Deviation (2026-10-08, kanban preview lost its padding): the resets `<style>` goes FIRST in `<head>`, so
|
|
7
|
+
// `@layer cdk-resets` is the first declared layer = the lowest-priority one. Appended (upstream), it comes
|
|
8
|
+
// after an app's own layers (Tailwind v4 `@layer theme, base, components, utilities`) and outranks them:
|
|
9
|
+
// the preview clone's `p-*` / `bg-*` / `border` utilities lost to `padding: 0` / `background: none`.
|
|
10
|
+
// The resets are meant as defaults any app style overrides (unlayered CSS beats them either way).
|
|
11
|
+
// Deviation (2026-10-09, kanban preview font sizes): the preview's inherited text properties read the
|
|
12
|
+
// custom properties a global preview carries from the dragged element's parent (dom/inherited-text.ts),
|
|
13
|
+
// falling back to `inherit` (upstream: `color: inherit`, the rest inherited from `<body>`).
|
|
14
|
+
import { INHERITED_TEXT_RESETS } from "./dom/inherited-text.js";
|
|
15
|
+
import { Emitter, stream } from "../scrolling/emitter.js";
|
|
16
|
+
/** Event options that can be used to bind a capturing event. */
|
|
17
|
+
const capturingEventOptions = { capture: true };
|
|
18
|
+
/** Event options that can be used to bind an active, capturing event. */
|
|
19
|
+
const activeCapturingEventOptions = { passive: false, capture: true };
|
|
20
|
+
/** resets.scss */
|
|
21
|
+
const RESETS = `@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;overflow:visible;inset:auto;${INHERITED_TEXT_RESETS}}}
|
|
22
|
+
.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none!important}`;
|
|
23
|
+
function loadResets(doc) {
|
|
24
|
+
if (doc.querySelector("style[data-cdk-drag-resets]"))
|
|
25
|
+
return;
|
|
26
|
+
const style = doc.createElement("style");
|
|
27
|
+
style.setAttribute("data-cdk-drag-resets", "");
|
|
28
|
+
style.textContent = RESETS;
|
|
29
|
+
const parent = doc.head || doc.documentElement;
|
|
30
|
+
parent.insertBefore(style, parent.firstChild);
|
|
31
|
+
}
|
|
32
|
+
function listen(target, name, handler, options) {
|
|
33
|
+
target.addEventListener(name, handler, options);
|
|
34
|
+
return () => target.removeEventListener(name, handler, options);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Service that keeps track of all the drag item and drop container
|
|
38
|
+
* instances, and manages global event listeners on the `document`.
|
|
39
|
+
* @docs-private
|
|
40
|
+
*/
|
|
41
|
+
export class DragDropRegistry {
|
|
42
|
+
_document;
|
|
43
|
+
_cleanupDocumentTouchmove;
|
|
44
|
+
_scroll = new Emitter();
|
|
45
|
+
/** Registered drop container instances. */
|
|
46
|
+
_dropInstances = new Set();
|
|
47
|
+
/** Registered drag item instances. */
|
|
48
|
+
_dragInstances = new Set();
|
|
49
|
+
/** Drag item instances that are currently being dragged. */
|
|
50
|
+
_activeDragInstances = [];
|
|
51
|
+
/** Keeps track of the event listeners that we've bound to the `document`. */
|
|
52
|
+
_globalListeners;
|
|
53
|
+
/** Predicate function to check if an item is being dragged. */
|
|
54
|
+
_draggingPredicate = (item) => item.isDragging();
|
|
55
|
+
/** Map tracking DOM nodes and their corresponding drag directives. */
|
|
56
|
+
_domNodesToDirectives = null;
|
|
57
|
+
/** Emits the `touchmove` or `mousemove` events that are dispatched while the user is dragging a drag item instance. */
|
|
58
|
+
pointerMove = new Emitter();
|
|
59
|
+
/** Emits the `touchend` or `mouseup` events that are dispatched while the user is dragging a drag item instance. */
|
|
60
|
+
pointerUp = new Emitter();
|
|
61
|
+
constructor(doc) {
|
|
62
|
+
this._document = doc ?? document;
|
|
63
|
+
}
|
|
64
|
+
/** Adds a drop container to the registry. */
|
|
65
|
+
registerDropContainer(drop) {
|
|
66
|
+
if (!this._dropInstances.has(drop)) {
|
|
67
|
+
this._dropInstances.add(drop);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Adds a drag item instance to the registry. */
|
|
71
|
+
registerDragItem(drag) {
|
|
72
|
+
this._dragInstances.add(drag);
|
|
73
|
+
// The `touchmove` event gets bound once, ahead of time, because WebKit
|
|
74
|
+
// won't preventDefault on a dynamically-added `touchmove` listener.
|
|
75
|
+
// See https://bugs.webkit.org/show_bug.cgi?id=184250.
|
|
76
|
+
if (this._dragInstances.size === 1) {
|
|
77
|
+
// The event handler has to be explicitly active, because newer browsers make it passive by default.
|
|
78
|
+
this._cleanupDocumentTouchmove?.();
|
|
79
|
+
this._cleanupDocumentTouchmove = listen(this._document, "touchmove", this._persistentTouchmoveListener, activeCapturingEventOptions);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Removes a drop container from the registry. */
|
|
83
|
+
removeDropContainer(drop) {
|
|
84
|
+
this._dropInstances.delete(drop);
|
|
85
|
+
}
|
|
86
|
+
/** Removes a drag item instance from the registry. */
|
|
87
|
+
removeDragItem(drag) {
|
|
88
|
+
this._dragInstances.delete(drag);
|
|
89
|
+
this.stopDragging(drag);
|
|
90
|
+
if (this._dragInstances.size === 0) {
|
|
91
|
+
this._cleanupDocumentTouchmove?.();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Starts the dragging sequence for a drag instance.
|
|
96
|
+
* @param drag Drag instance which is being dragged.
|
|
97
|
+
* @param event Event that initiated the dragging.
|
|
98
|
+
*/
|
|
99
|
+
startDragging(drag, event) {
|
|
100
|
+
// Do not process the same drag twice to avoid memory leaks and redundant listeners
|
|
101
|
+
if (this._activeDragInstances.indexOf(drag) > -1) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
loadResets(this._document);
|
|
105
|
+
this._activeDragInstances = [...this._activeDragInstances, drag];
|
|
106
|
+
if (this._activeDragInstances.length === 1) {
|
|
107
|
+
// We explicitly bind __active__ listeners here, because newer browsers will default to
|
|
108
|
+
// passive ones for `mousemove` and `touchmove`. The events need to be active, because we
|
|
109
|
+
// use `preventDefault` to prevent the page from scrolling while the user is dragging.
|
|
110
|
+
const isTouchEvent = event.type.startsWith("touch");
|
|
111
|
+
const endEventHandler = (e) => this.pointerUp.next(e);
|
|
112
|
+
const toBind = [
|
|
113
|
+
// Use capturing so that we pick up scroll changes in any scrollable nodes that aren't
|
|
114
|
+
// the document. See https://github.com/angular/components/issues/17144.
|
|
115
|
+
["scroll", (e) => this._scroll.next(e), capturingEventOptions],
|
|
116
|
+
// Preventing the default action on `mousemove` isn't enough to disable text selection
|
|
117
|
+
// on Safari so we need to prevent the selection event as well.
|
|
118
|
+
["selectstart", this._preventDefaultWhileDragging, activeCapturingEventOptions],
|
|
119
|
+
];
|
|
120
|
+
if (isTouchEvent) {
|
|
121
|
+
toBind.push(["touchend", endEventHandler, capturingEventOptions], ["touchcancel", endEventHandler, capturingEventOptions]);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
toBind.push(["mouseup", endEventHandler, capturingEventOptions]);
|
|
125
|
+
}
|
|
126
|
+
// We don't have to bind a move event for touch drag sequences, because
|
|
127
|
+
// we already have a persistent global one bound from `registerDragItem`.
|
|
128
|
+
if (!isTouchEvent) {
|
|
129
|
+
toBind.push(["mousemove", (e) => this.pointerMove.next(e), activeCapturingEventOptions]);
|
|
130
|
+
}
|
|
131
|
+
this._globalListeners = toBind.map(([name, handler, options]) => listen(this._document, name, handler, options));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** Stops dragging a drag item instance. */
|
|
135
|
+
stopDragging(drag) {
|
|
136
|
+
const index = this._activeDragInstances.indexOf(drag);
|
|
137
|
+
if (index > -1) {
|
|
138
|
+
this._activeDragInstances.splice(index, 1);
|
|
139
|
+
this._activeDragInstances = [...this._activeDragInstances];
|
|
140
|
+
}
|
|
141
|
+
if (this._activeDragInstances.length === 0) {
|
|
142
|
+
this._clearGlobalListeners();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** Gets whether a drag item instance is currently being dragged. */
|
|
146
|
+
isDragging(drag) {
|
|
147
|
+
return this._activeDragInstances.indexOf(drag) > -1;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Gets a stream that will emit when any element on the page is scrolled while an item is being dragged.
|
|
151
|
+
* @param shadowRoot Optional shadow root that the current dragging sequence started from.
|
|
152
|
+
*/
|
|
153
|
+
scrolled(shadowRoot) {
|
|
154
|
+
if (!shadowRoot || shadowRoot === this._document)
|
|
155
|
+
return this._scroll;
|
|
156
|
+
return stream((observer) => {
|
|
157
|
+
const sub = this._scroll.subscribe(observer.next);
|
|
158
|
+
const cleanup = listen(shadowRoot, "scroll", (event) => {
|
|
159
|
+
if (this._activeDragInstances.length)
|
|
160
|
+
observer.next(event);
|
|
161
|
+
}, capturingEventOptions);
|
|
162
|
+
return () => {
|
|
163
|
+
sub.unsubscribe();
|
|
164
|
+
cleanup();
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/** Tracks the DOM node which has a draggable directive. */
|
|
169
|
+
registerDirectiveNode(node, dragRef) {
|
|
170
|
+
this._domNodesToDirectives ??= new WeakMap();
|
|
171
|
+
this._domNodesToDirectives.set(node, dragRef);
|
|
172
|
+
}
|
|
173
|
+
/** Stops tracking a draggable directive node. */
|
|
174
|
+
removeDirectiveNode(node) {
|
|
175
|
+
this._domNodesToDirectives?.delete(node);
|
|
176
|
+
}
|
|
177
|
+
/** Gets the drag directive corresponding to a specific DOM node, if any. */
|
|
178
|
+
getDragDirectiveForNode(node) {
|
|
179
|
+
return this._domNodesToDirectives?.get(node) || null;
|
|
180
|
+
}
|
|
181
|
+
/** Angular `ngOnDestroy`. */
|
|
182
|
+
destroy() {
|
|
183
|
+
this._dragInstances.forEach((instance) => this.removeDragItem(instance));
|
|
184
|
+
this._dropInstances.forEach((instance) => this.removeDropContainer(instance));
|
|
185
|
+
this._domNodesToDirectives = null;
|
|
186
|
+
this._clearGlobalListeners();
|
|
187
|
+
this.pointerMove.complete();
|
|
188
|
+
this.pointerUp.complete();
|
|
189
|
+
if (registries?.get(this._document) === this)
|
|
190
|
+
registries.delete(this._document);
|
|
191
|
+
}
|
|
192
|
+
/** Event listener that will prevent the default browser action while the user is dragging. */
|
|
193
|
+
_preventDefaultWhileDragging = (event) => {
|
|
194
|
+
if (this._activeDragInstances.length > 0) {
|
|
195
|
+
event.preventDefault();
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
/** Event listener for `touchmove` that is bound even if no dragging is happening. */
|
|
199
|
+
_persistentTouchmoveListener = (event) => {
|
|
200
|
+
if (this._activeDragInstances.length > 0) {
|
|
201
|
+
// Note that we only want to prevent the default action after dragging has actually started.
|
|
202
|
+
// Usually this is the same time at which the item is added to the `_activeDragInstances`,
|
|
203
|
+
// but it could be pushed back if the user has set up a drag delay or threshold.
|
|
204
|
+
if (this._activeDragInstances.some(this._draggingPredicate)) {
|
|
205
|
+
event.preventDefault();
|
|
206
|
+
}
|
|
207
|
+
this.pointerMove.next(event);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
/** Clears out the global event listeners from the `document`. */
|
|
211
|
+
_clearGlobalListeners() {
|
|
212
|
+
this._globalListeners?.forEach((cleanup) => cleanup());
|
|
213
|
+
this._globalListeners = undefined;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
let registries;
|
|
217
|
+
/** The per-document registry, created on first use (Angular: root-provided service). */
|
|
218
|
+
export function dragDropRegistry(doc = document) {
|
|
219
|
+
registries ??= new WeakMap();
|
|
220
|
+
let registry = registries.get(doc);
|
|
221
|
+
if (!registry)
|
|
222
|
+
registries.set(doc, (registry = new DragDropRegistry(doc)));
|
|
223
|
+
return registry;
|
|
224
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type DragRef, type DragRefConfig } from "./drag-ref.js";
|
|
2
|
+
import { type DropListRef } from "./drop-list-ref.js";
|
|
3
|
+
import type { ElementLike } from "./dom/coerce.js";
|
|
4
|
+
/** Service that allows for drag-and-drop functionality to be attached to DOM elements (Angular `DragDrop`). */
|
|
5
|
+
export interface DragDropService {
|
|
6
|
+
/**
|
|
7
|
+
* Turns an element into a draggable item.
|
|
8
|
+
* @param element Element to which to attach the dragging functionality.
|
|
9
|
+
* @param config Object used to configure the dragging behavior.
|
|
10
|
+
*/
|
|
11
|
+
createDrag<T = any>(element: ElementLike, config?: DragRefConfig): DragRef<T>;
|
|
12
|
+
/**
|
|
13
|
+
* Turns an element into a drop list.
|
|
14
|
+
* @param element Element to which to attach the drop list functionality.
|
|
15
|
+
*/
|
|
16
|
+
createDropList<T = any>(element: ElementLike): DropListRef<T>;
|
|
17
|
+
}
|
|
18
|
+
/** Angular `inject(DragDrop)`. */
|
|
19
|
+
export declare const dragDrop: DragDropService;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/drag-drop.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: the `DragDrop` service is the `dragDrop` object (no DI; the name `DragDrop` is the drop event
|
|
3
|
+
// type); prefer `createDragRef` / `createDropListRef` (better tree shaking, like upstream).
|
|
4
|
+
import { createDragRef } from "./drag-ref.js";
|
|
5
|
+
import { createDropListRef } from "./drop-list-ref.js";
|
|
6
|
+
/** Angular `inject(DragDrop)`. */
|
|
7
|
+
export const dragDrop = {
|
|
8
|
+
createDrag: (element, config) => createDragRef(element, config),
|
|
9
|
+
createDropList: (element) => createDropListRef(element),
|
|
10
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { DragInstance } from "./directives/drag.js";
|
|
2
|
+
import type { DropListInstance } from "./directives/drop-list.js";
|
|
3
|
+
/** Event emitted when the user starts dragging a draggable. */
|
|
4
|
+
export interface DragStart<T = any> {
|
|
5
|
+
/** Draggable that emitted the event. */
|
|
6
|
+
source: DragInstance<T>;
|
|
7
|
+
/** Native event that started the drag sequence. */
|
|
8
|
+
event: MouseEvent | TouchEvent;
|
|
9
|
+
}
|
|
10
|
+
/** Event emitted when the user releases an item, before any animations have started. */
|
|
11
|
+
export interface DragRelease<T = any> {
|
|
12
|
+
/** Draggable that emitted the event. */
|
|
13
|
+
source: DragInstance<T>;
|
|
14
|
+
/** Native event that caused the release event. */
|
|
15
|
+
event: MouseEvent | TouchEvent;
|
|
16
|
+
}
|
|
17
|
+
/** Event emitted when the user stops dragging a draggable. */
|
|
18
|
+
export interface DragEnd<T = any> {
|
|
19
|
+
/** Draggable that emitted the event. */
|
|
20
|
+
source: DragInstance<T>;
|
|
21
|
+
/** Distance in pixels that the user has dragged since the drag sequence started. */
|
|
22
|
+
distance: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
};
|
|
26
|
+
/** Position where the pointer was when the item was dropped */
|
|
27
|
+
dropPoint: {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
};
|
|
31
|
+
/** Native event that caused the dragging to stop. */
|
|
32
|
+
event: MouseEvent | TouchEvent;
|
|
33
|
+
}
|
|
34
|
+
/** Event emitted when the user moves an item into a new drop container. */
|
|
35
|
+
export interface DragEnter<T = any, I = T> {
|
|
36
|
+
/** Container into which the user has moved the item. */
|
|
37
|
+
container: DropListInstance<T>;
|
|
38
|
+
/** Item that was moved into the container. */
|
|
39
|
+
item: DragInstance<I>;
|
|
40
|
+
/** Index at which the item has entered the container. */
|
|
41
|
+
currentIndex: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Event emitted when the user removes an item from a
|
|
45
|
+
* drop container by moving it into another one.
|
|
46
|
+
*/
|
|
47
|
+
export interface DragExit<T = any, I = T> {
|
|
48
|
+
/** Container from which the user has a removed an item. */
|
|
49
|
+
container: DropListInstance<T>;
|
|
50
|
+
/** Item that was removed from the container. */
|
|
51
|
+
item: DragInstance<I>;
|
|
52
|
+
}
|
|
53
|
+
/** Event emitted when the user drops a draggable item inside a drop container. */
|
|
54
|
+
export interface DragDrop<T, O = T, I = any> {
|
|
55
|
+
/** Index of the item when it was picked up. */
|
|
56
|
+
previousIndex: number;
|
|
57
|
+
/** Current index of the item. */
|
|
58
|
+
currentIndex: number;
|
|
59
|
+
/** Item that is being dropped. */
|
|
60
|
+
item: DragInstance<I>;
|
|
61
|
+
/** Container in which the item was dropped. */
|
|
62
|
+
container: DropListInstance<T>;
|
|
63
|
+
/** Container from which the item was picked up. Can be the same as the `container`. */
|
|
64
|
+
previousContainer: DropListInstance<O>;
|
|
65
|
+
/** Whether the user's pointer was over the container when the item was dropped. */
|
|
66
|
+
isPointerOverContainer: boolean;
|
|
67
|
+
/** Distance in pixels that the user has dragged since the drag sequence started. */
|
|
68
|
+
distance: {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
};
|
|
72
|
+
/** Position where the pointer was when the item was dropped */
|
|
73
|
+
dropPoint: {
|
|
74
|
+
x: number;
|
|
75
|
+
y: number;
|
|
76
|
+
};
|
|
77
|
+
/** Native event that caused the drop event. */
|
|
78
|
+
event: MouseEvent | TouchEvent;
|
|
79
|
+
}
|
|
80
|
+
/** Event emitted as the user is dragging a draggable item. */
|
|
81
|
+
export interface DragMove<T = any> {
|
|
82
|
+
/** Item that is being dragged. */
|
|
83
|
+
source: DragInstance<T>;
|
|
84
|
+
/** Position of the user's pointer on the page. */
|
|
85
|
+
pointerPosition: {
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
};
|
|
89
|
+
/** Native event that is causing the dragging. */
|
|
90
|
+
event: MouseEvent | TouchEvent;
|
|
91
|
+
/** Distance in pixels that the user has dragged since the drag sequence started. */
|
|
92
|
+
distance: {
|
|
93
|
+
x: number;
|
|
94
|
+
y: number;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Indicates the direction in which the user is dragging the element along each axis.
|
|
98
|
+
* `1` means that the position is increasing (e.g. the user is moving to the right or downwards),
|
|
99
|
+
* whereas `-1` means that it's decreasing (they're moving to the left or upwards). `0` means
|
|
100
|
+
* that the position hasn't changed.
|
|
101
|
+
*/
|
|
102
|
+
delta: {
|
|
103
|
+
x: -1 | 0 | 1;
|
|
104
|
+
y: -1 | 0 | 1;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/** Event emitted when the user swaps the position of two drag items. */
|
|
108
|
+
export interface DragSortEvent<T = any, I = T> {
|
|
109
|
+
/** Index from which the item was sorted previously. */
|
|
110
|
+
previousIndex: number;
|
|
111
|
+
/** Index that the item is currently in. */
|
|
112
|
+
currentIndex: number;
|
|
113
|
+
/** Container that the item belongs to. */
|
|
114
|
+
container: DropListInstance<T>;
|
|
115
|
+
/** Item that is being sorted. */
|
|
116
|
+
item: DragInstance<I>;
|
|
117
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Content } from "@rivetjs/runtime/jsx-runtime";
|
|
2
|
+
import type { StyleObject } from "@rivetjs/runtime/style";
|
|
3
|
+
import { type GlobalDOMAttributes } from "@rivetjs/cdk/dom-props";
|
|
4
|
+
import { type MaybeAccessor } from "./directives/registry.js";
|
|
5
|
+
export interface DragHandleProps extends GlobalDOMAttributes<HTMLElement> {
|
|
6
|
+
/** Whether starting to drag through this handle is disabled (Angular `cdkDragHandleDisabled`). */
|
|
7
|
+
disabled?: MaybeAccessor<boolean | undefined>;
|
|
8
|
+
/** Element to render. @default "div" */
|
|
9
|
+
elementType?: "div" | "span" | "button";
|
|
10
|
+
id?: string;
|
|
11
|
+
/** @default "rv-DragHandle" (always with Angular's `cdk-drag-handle`) */
|
|
12
|
+
class?: string;
|
|
13
|
+
/** Inline style of the element (the native-interaction styles are added while enabled). */
|
|
14
|
+
style?: StyleObject;
|
|
15
|
+
children?: Content;
|
|
16
|
+
}
|
|
17
|
+
/** Handle that can be used to drag a `Drag` instance (Angular `cdkDragHandle`). */
|
|
18
|
+
export declare function DragHandle(props: DragHandleProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/directives/drag-handle.ts — host bindings), MIT, © Google LLC.
|
|
2
|
+
// Rivet: `cdkDragHandle` as a component rendering its element (`elementType`, default `div`) with
|
|
3
|
+
// `class="cdk-drag-handle"` (+ `rv-DragHandle` when `class` is omitted), `data-rv-drag-handle` and, while
|
|
4
|
+
// enabled, the native-interaction styles `DragRef.withHandles` applies (`touch-action: none`, …,
|
|
5
|
+
// byte-identical to `toggleNativeDragInteractions(handle, false)`), so a cold touch on a server-rendered
|
|
6
|
+
// handle never scrolls. `disabled` (`cdkDragHandleDisabled`) renders `data-disabled`; the owning
|
|
7
|
+
// `DragInstance` reads handles from the DOM (directives/drag-handle.ts), so a handle ships no code.
|
|
8
|
+
// Merged name (spec): the React Aria drag button (`dragButtonProps`) attaches to this same component
|
|
9
|
+
// when a react-aria draggable is around (later phase): it will merge its attributes / press handlers
|
|
10
|
+
// into `dom` below.
|
|
11
|
+
import { effect, onCleanup } from "@rivetjs/reactivity";
|
|
12
|
+
import { ref } from "@rivetjs/runtime/dom";
|
|
13
|
+
import { globalDOMProps } from "@rivetjs/cdk/dom-props";
|
|
14
|
+
import { read } from "./directives/registry.js";
|
|
15
|
+
import { handleChanged, handleOwner } from "./lazy-refs.js";
|
|
16
|
+
import { nativeDragInteractionStyles } from "./dom/styling.js";
|
|
17
|
+
/** Handle that can be used to drag a `Drag` instance (Angular `cdkDragHandle`). */
|
|
18
|
+
export function DragHandle(props) {
|
|
19
|
+
// Read every prop up front: an element with a spread resumes as one binding over all its
|
|
20
|
+
// attributes, and reading `props` there would capture the whole props object (children included).
|
|
21
|
+
const dom = globalDOMProps(props);
|
|
22
|
+
const { id, elementType, children } = props;
|
|
23
|
+
const userStyle = props.style;
|
|
24
|
+
const disabled = props.disabled;
|
|
25
|
+
const className = "cdk-drag-handle " + (props.class ?? "rv-DragHandle");
|
|
26
|
+
const isDisabled = () => !!read(disabled);
|
|
27
|
+
// `toggleNativeDragInteractions(handle, false)` (dom/styling.ts) as the inline style of an enabled handle.
|
|
28
|
+
const styles = nativeDragInteractionStyles(false);
|
|
29
|
+
const style = () => (isDisabled() ? userStyle : { ...userStyle, ...styles });
|
|
30
|
+
// Client render only: on the server the ref stays empty.
|
|
31
|
+
const element = ref();
|
|
32
|
+
const node = elementType === "span" ? (<span {...dom} ref={element} id={id} class={className} data-rv-drag-handle="" data-disabled={isDisabled() ? "true" : undefined} style={style()}>
|
|
33
|
+
{children}
|
|
34
|
+
</span>) : elementType === "button" ? (<button {...dom} ref={element} type="button" id={id} class={className} data-rv-drag-handle="" data-disabled={isDisabled() ? "true" : undefined} style={style()}>
|
|
35
|
+
{children}
|
|
36
|
+
</button>) : (<div {...dom} ref={element} id={id} class={className} data-rv-drag-handle="" data-disabled={isDisabled() ? "true" : undefined} style={style()}>
|
|
37
|
+
{children}
|
|
38
|
+
</div>);
|
|
39
|
+
// Client-rendered: a handle added / removed / toggled after its drag item was created re-syncs the
|
|
40
|
+
// item's handles (Angular `_addHandle` / `_removeHandle` / `_stateChanges`).
|
|
41
|
+
// (`getOwner()` is set on the server too: the element ref is what tells a client render apart.)
|
|
42
|
+
let owner = null;
|
|
43
|
+
effect(() => {
|
|
44
|
+
isDisabled();
|
|
45
|
+
queueMicrotask(() => {
|
|
46
|
+
const el = element();
|
|
47
|
+
if (el)
|
|
48
|
+
handleChanged((owner = handleOwner(el) ?? owner));
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
onCleanup(() => queueMicrotask(() => handleChanged(owner)));
|
|
52
|
+
return node;
|
|
53
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Content } from "@rivetjs/runtime/jsx-runtime";
|
|
2
|
+
export interface DragPlaceholderProps<T = any> {
|
|
3
|
+
/** Context data to be added to the placeholder template instance. */
|
|
4
|
+
data?: T;
|
|
5
|
+
children?: Content;
|
|
6
|
+
}
|
|
7
|
+
/** Element that will be used as a template for the placeholder of a `Drag` when it is being dragged (Angular `cdkDragPlaceholder`). */
|
|
8
|
+
export declare function DragPlaceholder<T = any>(props: DragPlaceholderProps<T>): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
|