@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,58 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/dom/clone-node.ts), MIT, © Google LLC.
|
|
2
|
+
/** Creates a deep clone of an element. */
|
|
3
|
+
export function deepCloneNode(node) {
|
|
4
|
+
const clone = node.cloneNode(true);
|
|
5
|
+
const descendantsWithId = clone.querySelectorAll('[id]');
|
|
6
|
+
const nodeName = node.nodeName.toLowerCase();
|
|
7
|
+
// Remove the `id` to avoid having multiple elements with the same id on the page.
|
|
8
|
+
clone.removeAttribute('id');
|
|
9
|
+
for (let i = 0; i < descendantsWithId.length; i++) {
|
|
10
|
+
descendantsWithId[i].removeAttribute('id');
|
|
11
|
+
}
|
|
12
|
+
if (nodeName === 'canvas') {
|
|
13
|
+
transferCanvasData(node, clone);
|
|
14
|
+
}
|
|
15
|
+
else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {
|
|
16
|
+
transferInputData(node, clone);
|
|
17
|
+
}
|
|
18
|
+
transferData('canvas', node, clone, transferCanvasData);
|
|
19
|
+
transferData('input, textarea, select', node, clone, transferInputData);
|
|
20
|
+
return clone;
|
|
21
|
+
}
|
|
22
|
+
/** Matches elements between an element and its clone and allows for their data to be cloned. */
|
|
23
|
+
function transferData(selector, node, clone, callback) {
|
|
24
|
+
const descendantElements = node.querySelectorAll(selector);
|
|
25
|
+
if (descendantElements.length) {
|
|
26
|
+
const cloneElements = clone.querySelectorAll(selector);
|
|
27
|
+
for (let i = 0; i < descendantElements.length; i++) {
|
|
28
|
+
callback(descendantElements[i], cloneElements[i]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Counter for unique cloned radio button names.
|
|
33
|
+
let cloneUniqueId = 0;
|
|
34
|
+
/** Transfers the data of one input element to another. */
|
|
35
|
+
function transferInputData(source, clone) {
|
|
36
|
+
// Browsers throw an error when assigning the value of a file input programmatically.
|
|
37
|
+
if (clone.type !== 'file') {
|
|
38
|
+
clone.value = source.value;
|
|
39
|
+
}
|
|
40
|
+
// Radio button `name` attributes must be unique for radio button groups
|
|
41
|
+
// otherwise original radio buttons can lose their checked state
|
|
42
|
+
// once the clone is inserted in the DOM.
|
|
43
|
+
if (clone.type === 'radio' && clone.name) {
|
|
44
|
+
clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Transfers the data of one canvas element to another. */
|
|
48
|
+
function transferCanvasData(source, clone) {
|
|
49
|
+
const context = clone.getContext('2d');
|
|
50
|
+
if (context) {
|
|
51
|
+
// In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).
|
|
52
|
+
// We can't do much about it so just ignore the error.
|
|
53
|
+
try {
|
|
54
|
+
context.drawImage(source, 0, 0);
|
|
55
|
+
}
|
|
56
|
+
catch { }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** An element or an `ElementRef`-like wrapper. */
|
|
2
|
+
export type ElementLike<T extends Element = HTMLElement> = T | {
|
|
3
|
+
nativeElement: T;
|
|
4
|
+
};
|
|
5
|
+
/** Coerces an `ElementRef`-like or an element into an element. */
|
|
6
|
+
export declare function coerceElement<T extends Element = HTMLElement>(elementOrRef: ElementLike<T>): T;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/coercion/element.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: no `ElementRef` class — any `{nativeElement}` object is accepted.
|
|
3
|
+
/** Coerces an `ElementRef`-like or an element into an element. */
|
|
4
|
+
export function coerceElement(elementOrRef) {
|
|
5
|
+
return elementOrRef && typeof elementOrRef === 'object' && 'nativeElement' in elementOrRef
|
|
6
|
+
? elementOrRef.nativeElement
|
|
7
|
+
: elementOrRef;
|
|
8
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Gets a mutable version of an element's bounding `DOMRect`. */
|
|
2
|
+
export declare function getMutableClientRect(element: Element): DOMRect;
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether some coordinates are within a `DOMRect`.
|
|
5
|
+
* @param clientRect DOMRect that is being checked.
|
|
6
|
+
* @param x Coordinates along the X axis.
|
|
7
|
+
* @param y Coordinates along the Y axis.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isInsideClientRect(clientRect: DOMRect, x: number, y: number): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Checks if the child element is overflowing from its parent.
|
|
12
|
+
* @param parentRect - The bounding rect of the parent element.
|
|
13
|
+
* @param childRect - The bounding rect of the child element.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isOverflowingParent(parentRect: DOMRect, childRect: DOMRect): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Updates the top/left positions of a `DOMRect`, as well as their bottom/right counterparts.
|
|
18
|
+
* @param domRect `DOMRect` that should be updated.
|
|
19
|
+
* @param top Amount to add to the `top` position.
|
|
20
|
+
* @param left Amount to add to the `left` position.
|
|
21
|
+
*/
|
|
22
|
+
export declare function adjustDomRect(domRect: {
|
|
23
|
+
top: number;
|
|
24
|
+
bottom: number;
|
|
25
|
+
left: number;
|
|
26
|
+
right: number;
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
}, top: number, left: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Checks whether the pointer coordinates are close to a DOMRect.
|
|
32
|
+
* @param rect DOMRect to check against.
|
|
33
|
+
* @param threshold Threshold around the DOMRect.
|
|
34
|
+
* @param pointerX Coordinates along the X axis.
|
|
35
|
+
* @param pointerY Coordinates along the Y axis.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isPointerNearDomRect(rect: DOMRect, threshold: number, pointerX: number, pointerY: number): boolean;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/dom/dom-rect.ts), MIT, © Google LLC.
|
|
2
|
+
/** Gets a mutable version of an element's bounding `DOMRect`. */
|
|
3
|
+
export function getMutableClientRect(element) {
|
|
4
|
+
const rect = element.getBoundingClientRect();
|
|
5
|
+
// We need to clone the `clientRect` here, because all the values on it are readonly
|
|
6
|
+
// and we need to be able to update them. Also we can't use a spread here, because
|
|
7
|
+
// the values on a `DOMRect` aren't own properties. See:
|
|
8
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes
|
|
9
|
+
return {
|
|
10
|
+
top: rect.top,
|
|
11
|
+
right: rect.right,
|
|
12
|
+
bottom: rect.bottom,
|
|
13
|
+
left: rect.left,
|
|
14
|
+
width: rect.width,
|
|
15
|
+
height: rect.height,
|
|
16
|
+
x: rect.x,
|
|
17
|
+
y: rect.y,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Checks whether some coordinates are within a `DOMRect`.
|
|
22
|
+
* @param clientRect DOMRect that is being checked.
|
|
23
|
+
* @param x Coordinates along the X axis.
|
|
24
|
+
* @param y Coordinates along the Y axis.
|
|
25
|
+
*/
|
|
26
|
+
export function isInsideClientRect(clientRect, x, y) {
|
|
27
|
+
const { top, bottom, left, right } = clientRect;
|
|
28
|
+
return y >= top && y <= bottom && x >= left && x <= right;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Checks if the child element is overflowing from its parent.
|
|
32
|
+
* @param parentRect - The bounding rect of the parent element.
|
|
33
|
+
* @param childRect - The bounding rect of the child element.
|
|
34
|
+
*/
|
|
35
|
+
export function isOverflowingParent(parentRect, childRect) {
|
|
36
|
+
// check for horizontal overflow (left and right)
|
|
37
|
+
const isLeftOverflowing = childRect.left < parentRect.left;
|
|
38
|
+
const isRightOverflowing = childRect.left + childRect.width > parentRect.right;
|
|
39
|
+
// check for vertical overflow (top and bottom)
|
|
40
|
+
const isTopOverflowing = childRect.top < parentRect.top;
|
|
41
|
+
const isBottomOverflowing = childRect.top + childRect.height > parentRect.bottom;
|
|
42
|
+
return isLeftOverflowing || isRightOverflowing || isTopOverflowing || isBottomOverflowing;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Updates the top/left positions of a `DOMRect`, as well as their bottom/right counterparts.
|
|
46
|
+
* @param domRect `DOMRect` that should be updated.
|
|
47
|
+
* @param top Amount to add to the `top` position.
|
|
48
|
+
* @param left Amount to add to the `left` position.
|
|
49
|
+
*/
|
|
50
|
+
export function adjustDomRect(domRect, top, left) {
|
|
51
|
+
domRect.top += top;
|
|
52
|
+
domRect.bottom = domRect.top + domRect.height;
|
|
53
|
+
domRect.left += left;
|
|
54
|
+
domRect.right = domRect.left + domRect.width;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Checks whether the pointer coordinates are close to a DOMRect.
|
|
58
|
+
* @param rect DOMRect to check against.
|
|
59
|
+
* @param threshold Threshold around the DOMRect.
|
|
60
|
+
* @param pointerX Coordinates along the X axis.
|
|
61
|
+
* @param pointerY Coordinates along the Y axis.
|
|
62
|
+
*/
|
|
63
|
+
export function isPointerNearDomRect(rect, threshold, pointerX, pointerY) {
|
|
64
|
+
const { top, right, bottom, left, width, height } = rect;
|
|
65
|
+
const xThreshold = width * threshold;
|
|
66
|
+
const yThreshold = height * threshold;
|
|
67
|
+
return (pointerY > top - yThreshold &&
|
|
68
|
+
pointerY < bottom + yThreshold &&
|
|
69
|
+
pointerX > left - xThreshold &&
|
|
70
|
+
pointerX < right + xThreshold);
|
|
71
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */
|
|
2
|
+
export declare function isFakeMousedownFromScreenReader(event: MouseEvent): boolean;
|
|
3
|
+
/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
|
|
4
|
+
export declare function isFakeTouchstartFromScreenReader(event: TouchEvent): boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/a11y/fake-event-detection.ts), MIT, © Google LLC.
|
|
2
|
+
/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */
|
|
3
|
+
export function isFakeMousedownFromScreenReader(event) {
|
|
4
|
+
// Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on
|
|
5
|
+
// a clickable element. We can distinguish these events when `event.buttons` is zero, or
|
|
6
|
+
// `event.detail` is zero depending on the browser:
|
|
7
|
+
// - `event.buttons` works on Firefox, but fails on Chrome.
|
|
8
|
+
// - `detail` works on Chrome, but fails on Firefox.
|
|
9
|
+
return event.buttons === 0 || event.detail === 0;
|
|
10
|
+
}
|
|
11
|
+
/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
|
|
12
|
+
export function isFakeTouchstartFromScreenReader(event) {
|
|
13
|
+
const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);
|
|
14
|
+
// A fake `touchstart` can be distinguished from a real one by looking at the `identifier`
|
|
15
|
+
// which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,
|
|
16
|
+
// we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10
|
|
17
|
+
// device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.
|
|
18
|
+
return (!!touch &&
|
|
19
|
+
touch.identifier === -1 &&
|
|
20
|
+
(touch.radiusX == null || touch.radiusX === 1) &&
|
|
21
|
+
(touch.radiusY == null || touch.radiusY === 1));
|
|
22
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The `.cdk-drag-preview` declarations of the resets layer: the carried values, else plain inheritance. */
|
|
2
|
+
export declare const INHERITED_TEXT_RESETS: string;
|
|
3
|
+
/** Copies `source`'s computed inherited text properties onto `preview` (as the resets layer's custom properties). */
|
|
4
|
+
export declare function carryInheritedText(preview: HTMLElement, source: Element): void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Rivet-authored (no upstream file). Keeps a body-level drag preview's inherited typography.
|
|
2
|
+
//
|
|
3
|
+
// Angular CDK inserts the preview at the end of `<body>` (`previewContainer: "global"`), so it inherits
|
|
4
|
+
// the body's text styles instead of the ones the dragged element got from its ancestors: a card in a
|
|
5
|
+
// `text-sm` board grows to the body's 16px while its `text-xs` parts stay the same (user bug 2026-10-09,
|
|
6
|
+
// "kanban - dragged item has different font sizes"). The preview root carries the source parent's
|
|
7
|
+
// computed inherited text properties as custom properties; the resets layer (`drag-drop-registry.ts`,
|
|
8
|
+
// the lowest-priority layer) applies them, so any class or rule the app gives the element or
|
|
9
|
+
// `.cdk-drag-preview` still wins, as inheritance would let it.
|
|
10
|
+
/** Inherited text properties a global preview takes from the dragged element's parent. */
|
|
11
|
+
const INHERITED_TEXT = [
|
|
12
|
+
"color",
|
|
13
|
+
"font-family",
|
|
14
|
+
"font-size",
|
|
15
|
+
"font-style",
|
|
16
|
+
"font-weight",
|
|
17
|
+
"font-variant-numeric",
|
|
18
|
+
"font-feature-settings",
|
|
19
|
+
"line-height",
|
|
20
|
+
"letter-spacing",
|
|
21
|
+
"word-spacing",
|
|
22
|
+
"text-align",
|
|
23
|
+
"text-transform",
|
|
24
|
+
"white-space",
|
|
25
|
+
];
|
|
26
|
+
const variable = (property) => `--rv-drag-${property}`;
|
|
27
|
+
/** The `.cdk-drag-preview` declarations of the resets layer: the carried values, else plain inheritance. */
|
|
28
|
+
export const INHERITED_TEXT_RESETS = INHERITED_TEXT.map((property) => `${property}:var(${variable(property)},inherit)`).join(";");
|
|
29
|
+
/** Copies `source`'s computed inherited text properties onto `preview` (as the resets layer's custom properties). */
|
|
30
|
+
export function carryInheritedText(preview, source) {
|
|
31
|
+
const computed = getComputedStyle(source);
|
|
32
|
+
const style = preview.style;
|
|
33
|
+
for (const property of INHERITED_TEXT) {
|
|
34
|
+
const value = computed.getPropertyValue(property);
|
|
35
|
+
if (value)
|
|
36
|
+
style.setProperty(variable(property), value);
|
|
37
|
+
}
|
|
38
|
+
// A unitless line height inherits as the factor (each descendant multiplies its own font size);
|
|
39
|
+
// the computed style string is the resolved px value, so keep the number where Typed OM exposes it.
|
|
40
|
+
const lineHeight = source.computedStyleMap?.().get("line-height");
|
|
41
|
+
if (lineHeight && lineHeight.unit === "number") {
|
|
42
|
+
style.setProperty(variable("line-height"), String(lineHeight.value));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Cancels the running layout-shift animations of `elements`. */
|
|
2
|
+
export declare function cancelLayoutShift(elements: readonly HTMLElement[]): void;
|
|
3
|
+
/**
|
|
4
|
+
* Reads the visual rects of `elements` now (including running transforms / shift animations), cancels
|
|
5
|
+
* their running shift animations and returns a function that, once called, animates every element that
|
|
6
|
+
* moved from its old position to its new one (measured in a microtask, after the caller's DOM work).
|
|
7
|
+
*/
|
|
8
|
+
export declare function captureLayoutShift(elements: readonly HTMLElement[]): () => void;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Rivet-authored (no upstream file). Animates the layout shift of a drop list's items when a dragged
|
|
2
|
+
// item enters or leaves the list.
|
|
3
|
+
//
|
|
4
|
+
// Angular CDK moves the placeholder between lists with a plain DOM insert, so the receiving list's items
|
|
5
|
+
// (and the source list's items, once the placeholder leaves) jump to their new layout position: only
|
|
6
|
+
// the sorting inside a list animates, through the user's `transform` transition on the items. Here the
|
|
7
|
+
// jump is replaced by a FLIP: the items' visual rects are read before the change, then (in a microtask,
|
|
8
|
+
// after the drag engine finished the pointer move) each moved item plays a Web Animation from its old
|
|
9
|
+
// position back to zero. The animation is additive (`composite: "add"`), so the sort strategy's inline
|
|
10
|
+
// transforms and their CSS transitions keep working on top, and the inline style never sees it.
|
|
11
|
+
// The duration / easing are the item's own `transform` transition (the CSS the upstream docs ask for)
|
|
12
|
+
// after the change, else before it (the source list drops its `cdk-drop-list-dragging` transition on
|
|
13
|
+
// exit), so an item without a transform transition still jumps, as upstream.
|
|
14
|
+
/** `Animation.id` of the layout-shift animations (lets the drop list cancel them before it measures). */
|
|
15
|
+
const SHIFT_ID = "rv-drop-list-shift";
|
|
16
|
+
/** Cancels the running layout-shift animations of `elements`. */
|
|
17
|
+
export function cancelLayoutShift(elements) {
|
|
18
|
+
for (const element of elements) {
|
|
19
|
+
if (typeof element.getAnimations !== "function")
|
|
20
|
+
return;
|
|
21
|
+
for (const animation of element.getAnimations()) {
|
|
22
|
+
if (animation.id === SHIFT_ID)
|
|
23
|
+
animation.cancel();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reads the visual rects of `elements` now (including running transforms / shift animations), cancels
|
|
29
|
+
* their running shift animations and returns a function that, once called, animates every element that
|
|
30
|
+
* moved from its old position to its new one (measured in a microtask, after the caller's DOM work).
|
|
31
|
+
*/
|
|
32
|
+
export function captureLayoutShift(elements) {
|
|
33
|
+
if (!elements.length || typeof elements[0].animate !== "function")
|
|
34
|
+
return () => { };
|
|
35
|
+
const first = elements.map((element) => element.getBoundingClientRect());
|
|
36
|
+
// A list that stops sorting (exit) loses its `cdk-drop-list-dragging` transition with the change.
|
|
37
|
+
const before = elements.map(transformTransition);
|
|
38
|
+
cancelLayoutShift(elements);
|
|
39
|
+
return () => queueMicrotask(() => {
|
|
40
|
+
for (let i = 0; i < elements.length; i++) {
|
|
41
|
+
const element = elements[i];
|
|
42
|
+
if (!element.isConnected)
|
|
43
|
+
continue;
|
|
44
|
+
const timing = transformTransition(element) || before[i];
|
|
45
|
+
if (!timing)
|
|
46
|
+
continue;
|
|
47
|
+
const last = element.getBoundingClientRect();
|
|
48
|
+
const x = first[i].left - last.left;
|
|
49
|
+
const y = first[i].top - last.top;
|
|
50
|
+
if (!x && !y)
|
|
51
|
+
continue;
|
|
52
|
+
element.animate([{ transform: `translate3d(${x}px, ${y}px, 0)` }, { transform: "translate3d(0, 0, 0)" }], {
|
|
53
|
+
...timing,
|
|
54
|
+
composite: "add",
|
|
55
|
+
id: SHIFT_ID,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/** The element's computed `transform` transition (`transform` or `all`), or null when it has none. */
|
|
61
|
+
function transformTransition(element) {
|
|
62
|
+
const style = getComputedStyle(element);
|
|
63
|
+
const properties = list(style, "transition-property");
|
|
64
|
+
const index = properties.findIndex((property) => property === "transform" || property === "all");
|
|
65
|
+
if (index < 0)
|
|
66
|
+
return null;
|
|
67
|
+
const duration = timeAt(list(style, "transition-duration"), index);
|
|
68
|
+
if (!duration)
|
|
69
|
+
return null;
|
|
70
|
+
const easings = style.getPropertyValue("transition-timing-function").split(/,(?![^(]*\))/);
|
|
71
|
+
return {
|
|
72
|
+
duration,
|
|
73
|
+
delay: timeAt(list(style, "transition-delay"), index),
|
|
74
|
+
easing: (easings[index % easings.length] || "ease").trim(),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function list(style, name) {
|
|
78
|
+
return style
|
|
79
|
+
.getPropertyValue(name)
|
|
80
|
+
.split(",")
|
|
81
|
+
.map((part) => part.trim());
|
|
82
|
+
}
|
|
83
|
+
/** CSS repeats a shorter time list to the property count. */
|
|
84
|
+
function timeAt(values, index) {
|
|
85
|
+
const value = values[index % values.length] || "0s";
|
|
86
|
+
return parseFloat(value) * (value.toLowerCase().indexOf("ms") > -1 ? 1 : 1000) || 0;
|
|
87
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Rivet: client-side mount of `<DragPreview>` / `<DragPlaceholder>` content into their `<template>`'s
|
|
2
|
+
// fragment (a `.ts` module so the component's server build keeps no `mount` import).
|
|
3
|
+
import { mount } from "@rivetjs/runtime/dom";
|
|
4
|
+
/** Mounts `content` into `template.content`; returns the disposer. */
|
|
5
|
+
export function mountTemplateContent(template, content) {
|
|
6
|
+
return mount(() => content, template.content);
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Object holding the scroll position of something. */
|
|
2
|
+
interface ScrollPosition {
|
|
3
|
+
top: number;
|
|
4
|
+
left: number;
|
|
5
|
+
}
|
|
6
|
+
/** Keeps track of the scroll position and dimensions of the parents of an element. */
|
|
7
|
+
export declare class ParentPositionTracker {
|
|
8
|
+
/** Cached positions of the scrollable parent elements. */
|
|
9
|
+
readonly positions: Map<Document | HTMLElement, {
|
|
10
|
+
scrollPosition: ScrollPosition;
|
|
11
|
+
clientRect?: DOMRect;
|
|
12
|
+
}>;
|
|
13
|
+
private _document;
|
|
14
|
+
constructor(_document: Document);
|
|
15
|
+
/** Clears the cached positions. */
|
|
16
|
+
clear(): void;
|
|
17
|
+
/** Caches the positions. Should be called at the beginning of a drag sequence. */
|
|
18
|
+
cache(elements: readonly HTMLElement[]): void;
|
|
19
|
+
/** Handles scrolling while a drag is taking place. */
|
|
20
|
+
handleScroll(event: Event): ScrollPosition | null;
|
|
21
|
+
/**
|
|
22
|
+
* Gets the scroll position of the viewport. Note that we use the scrollX and scrollY directly,
|
|
23
|
+
* instead of going through the `ViewportRuler`, because the first value the ruler looks at is
|
|
24
|
+
* the top/left offset of the `document.documentElement` which works for most cases, but breaks
|
|
25
|
+
* if the element is offset by something like the `BlockScrollStrategy`.
|
|
26
|
+
*/
|
|
27
|
+
getViewportScrollPosition(): {
|
|
28
|
+
top: number;
|
|
29
|
+
left: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/dom/parent-position-tracker.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: imports the local _getEventTarget helper.
|
|
3
|
+
import { _getEventTarget } from "./shadow-dom.js";
|
|
4
|
+
import { getMutableClientRect, adjustDomRect } from "./dom-rect.js";
|
|
5
|
+
/** Keeps track of the scroll position and dimensions of the parents of an element. */
|
|
6
|
+
export class ParentPositionTracker {
|
|
7
|
+
/** Cached positions of the scrollable parent elements. */
|
|
8
|
+
positions = new Map();
|
|
9
|
+
_document;
|
|
10
|
+
constructor(_document) {
|
|
11
|
+
this._document = _document;
|
|
12
|
+
}
|
|
13
|
+
/** Clears the cached positions. */
|
|
14
|
+
clear() {
|
|
15
|
+
this.positions.clear();
|
|
16
|
+
}
|
|
17
|
+
/** Caches the positions. Should be called at the beginning of a drag sequence. */
|
|
18
|
+
cache(elements) {
|
|
19
|
+
this.clear();
|
|
20
|
+
this.positions.set(this._document, {
|
|
21
|
+
scrollPosition: this.getViewportScrollPosition(),
|
|
22
|
+
});
|
|
23
|
+
elements.forEach(element => {
|
|
24
|
+
this.positions.set(element, {
|
|
25
|
+
scrollPosition: { top: element.scrollTop, left: element.scrollLeft },
|
|
26
|
+
clientRect: getMutableClientRect(element),
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/** Handles scrolling while a drag is taking place. */
|
|
31
|
+
handleScroll(event) {
|
|
32
|
+
const target = _getEventTarget(event);
|
|
33
|
+
const cachedPosition = this.positions.get(target);
|
|
34
|
+
if (!cachedPosition) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const scrollPosition = cachedPosition.scrollPosition;
|
|
38
|
+
let newTop;
|
|
39
|
+
let newLeft;
|
|
40
|
+
if (target === this._document) {
|
|
41
|
+
const viewportScrollPosition = this.getViewportScrollPosition();
|
|
42
|
+
newTop = viewportScrollPosition.top;
|
|
43
|
+
newLeft = viewportScrollPosition.left;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
newTop = target.scrollTop;
|
|
47
|
+
newLeft = target.scrollLeft;
|
|
48
|
+
}
|
|
49
|
+
const topDifference = scrollPosition.top - newTop;
|
|
50
|
+
const leftDifference = scrollPosition.left - newLeft;
|
|
51
|
+
// Go through and update the cached positions of the scroll
|
|
52
|
+
// parents that are inside the element that was scrolled.
|
|
53
|
+
this.positions.forEach((position, node) => {
|
|
54
|
+
if (position.clientRect && target !== node && target.contains(node)) {
|
|
55
|
+
adjustDomRect(position.clientRect, topDifference, leftDifference);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
scrollPosition.top = newTop;
|
|
59
|
+
scrollPosition.left = newLeft;
|
|
60
|
+
return { top: topDifference, left: leftDifference };
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Gets the scroll position of the viewport. Note that we use the scrollX and scrollY directly,
|
|
64
|
+
* instead of going through the `ViewportRuler`, because the first value the ruler looks at is
|
|
65
|
+
* the top/left offset of the `document.documentElement` which works for most cases, but breaks
|
|
66
|
+
* if the element is offset by something like the `BlockScrollStrategy`.
|
|
67
|
+
*/
|
|
68
|
+
getViewportScrollPosition() {
|
|
69
|
+
return { top: window.scrollY, left: window.scrollX };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** A stamped-out view of a helper template (Angular: `EmbeddedViewRef`). */
|
|
2
|
+
export interface StampedView {
|
|
3
|
+
rootNodes: Node[];
|
|
4
|
+
destroy(): void;
|
|
5
|
+
}
|
|
6
|
+
/** Creates a view (Angular: `viewContainer.createEmbeddedView(templateRef, context)`). */
|
|
7
|
+
export type DragTemplateFactory = () => StampedView;
|
|
8
|
+
/** Template that can be used to create a drag helper element (e.g. a preview or a placeholder). */
|
|
9
|
+
export interface DragHelperTemplate<T = any> {
|
|
10
|
+
/** View factory, or a host element whose children are cloned (Angular: `TemplateRef`). */
|
|
11
|
+
template: DragTemplateFactory | HTMLElement | null;
|
|
12
|
+
/** Data of the drag item (Angular: template context). */
|
|
13
|
+
context?: T;
|
|
14
|
+
}
|
|
15
|
+
/** Stamps out a helper template (Angular: `createEmbeddedView`). */
|
|
16
|
+
export declare function stampTemplate(template: DragTemplateFactory | HTMLElement): StampedView;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the root HTML element of an embedded view.
|
|
19
|
+
* If the root is not an HTML element it gets wrapped in one.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getRootNode(viewRef: StampedView, _document: Document): HTMLElement;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/drag-drop/dom/root-node.ts), MIT, © Google LLC.
|
|
2
|
+
// Rivet: there are no embedded views. A helper "template" is either a factory returning a stamped view
|
|
3
|
+
// (the `<DragPreview>` / `<DragPlaceholder>` components: their `<template>` content is moved out for the
|
|
4
|
+
// drag and back afterwards, so its bindings stay live — Angular's embedded view), or a host element
|
|
5
|
+
// whose current content is cloned (imperative use: `withPreviewTemplate({ template: element })`).
|
|
6
|
+
// `view.destroy()` stands in for `EmbeddedViewRef.destroy()`.
|
|
7
|
+
import { deepCloneNode } from "./clone-node.js";
|
|
8
|
+
/** Stamps out a helper template (Angular: `createEmbeddedView`). */
|
|
9
|
+
export function stampTemplate(template) {
|
|
10
|
+
if (typeof template === "function")
|
|
11
|
+
return template();
|
|
12
|
+
const source = template instanceof HTMLTemplateElement ? template.content : template;
|
|
13
|
+
const rootNodes = [];
|
|
14
|
+
source.childNodes.forEach((node) => {
|
|
15
|
+
// Skip whitespace and framework comment markers.
|
|
16
|
+
if (node.nodeType === 3 && !node.textContent.trim())
|
|
17
|
+
return;
|
|
18
|
+
if (node.nodeType === 8)
|
|
19
|
+
return;
|
|
20
|
+
rootNodes.push(node.nodeType === 1 ? deepCloneNode(node) : node.cloneNode(true));
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
rootNodes,
|
|
24
|
+
destroy() {
|
|
25
|
+
rootNodes.forEach((node) => node.remove?.());
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Gets the root HTML element of an embedded view.
|
|
31
|
+
* If the root is not an HTML element it gets wrapped in one.
|
|
32
|
+
*/
|
|
33
|
+
export function getRootNode(viewRef, _document) {
|
|
34
|
+
const rootNodes = viewRef.rootNodes;
|
|
35
|
+
if (rootNodes.length === 1 && rootNodes[0].nodeType === _document.ELEMENT_NODE) {
|
|
36
|
+
return rootNodes[0];
|
|
37
|
+
}
|
|
38
|
+
const wrapper = _document.createElement("div");
|
|
39
|
+
rootNodes.forEach((node) => wrapper.appendChild(node));
|
|
40
|
+
return wrapper;
|
|
41
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */
|
|
2
|
+
export declare function _getShadowRoot(element: HTMLElement): ShadowRoot | null;
|
|
3
|
+
/** Gets the event target of an event while accounting for Shadow DOM. */
|
|
4
|
+
export declare function _getEventTarget<T extends EventTarget>(event: Event): T | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Ported from Angular Components (src/cdk/platform/features/shadow-dom.ts), MIT, © Google LLC.
|
|
2
|
+
/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */
|
|
3
|
+
export function _getShadowRoot(element) {
|
|
4
|
+
if (typeof element.attachShadow === "function") {
|
|
5
|
+
const rootNode = element.getRootNode ? element.getRootNode() : null;
|
|
6
|
+
// Note that this should be caught by `_supportsShadowDom`, but some
|
|
7
|
+
// teams have been able to hit this code path on unsupported browsers.
|
|
8
|
+
if (typeof ShadowRoot !== "undefined" && ShadowRoot && rootNode instanceof ShadowRoot)
|
|
9
|
+
return rootNode;
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
/** Gets the event target of an event while accounting for Shadow DOM. */
|
|
14
|
+
export function _getEventTarget(event) {
|
|
15
|
+
// If an event is bound outside the Shadow DOM, the `event.target` will
|
|
16
|
+
// point to the shadow root so we have to use `composedPath` instead.
|
|
17
|
+
return (event.composedPath ? event.composedPath()[0] : event.target);
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended CSSStyleDeclaration that includes a couple of drag-related
|
|
3
|
+
* properties that aren't in the built-in TS typings.
|
|
4
|
+
*/
|
|
5
|
+
export interface DragCSSStyleDeclaration extends CSSStyleDeclaration {
|
|
6
|
+
msScrollSnapType: string;
|
|
7
|
+
scrollSnapType: string;
|
|
8
|
+
webkitTapHighlightColor: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Shallow-extends a stylesheet object with another stylesheet-like object.
|
|
12
|
+
* Note that the keys in `source` have to be dash-cased.
|
|
13
|
+
* @docs-private
|
|
14
|
+
*/
|
|
15
|
+
export declare function extendStyles(dest: CSSStyleDeclaration, source: Record<string, string>, importantProperties?: Set<string>): CSSStyleDeclaration;
|
|
16
|
+
/**
|
|
17
|
+
* Toggles whether the native drag interactions should be enabled for an element.
|
|
18
|
+
* @param element Element on which to toggle the drag interactions.
|
|
19
|
+
* @param enable Whether the drag interactions should be enabled.
|
|
20
|
+
* @docs-private
|
|
21
|
+
*/
|
|
22
|
+
export declare function toggleNativeDragInteractions(element: HTMLElement, enable: boolean): void;
|
|
23
|
+
/**
|
|
24
|
+
* Rivet: the styles `toggleNativeDragInteractions` applies (split out so server-rendered handles carry
|
|
25
|
+
* the same declarations before any code runs).
|
|
26
|
+
*/
|
|
27
|
+
export declare function nativeDragInteractionStyles(enable: boolean): Record<string, string>;
|
|
28
|
+
/**
|
|
29
|
+
* Toggles whether an element is visible while preserving its dimensions.
|
|
30
|
+
* @param element Element whose visibility to toggle
|
|
31
|
+
* @param enable Whether the element should be visible.
|
|
32
|
+
* @param importantProperties Properties to be set as `!important`.
|
|
33
|
+
* @docs-private
|
|
34
|
+
*/
|
|
35
|
+
export declare function toggleVisibility(element: HTMLElement, enable: boolean, importantProperties?: Set<string>): void;
|
|
36
|
+
/**
|
|
37
|
+
* Combines a transform string with an optional other transform
|
|
38
|
+
* that exited before the base transform was applied.
|
|
39
|
+
*/
|
|
40
|
+
export declare function combineTransforms(transform: string, initialTransform?: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Matches the target element's size to the source's size.
|
|
43
|
+
* @param target Element that needs to be resized.
|
|
44
|
+
* @param sourceRect Dimensions of the source element.
|
|
45
|
+
*/
|
|
46
|
+
export declare function matchElementSize(target: HTMLElement, sourceRect: DOMRect): void;
|
|
47
|
+
/**
|
|
48
|
+
* Gets a 3d `transform` that can be applied to an element.
|
|
49
|
+
* @param x Desired position of the element along the X axis.
|
|
50
|
+
* @param y Desired position of the element along the Y axis.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTransform(x: number, y: number): string;
|