@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +483 -0
- package/README.md +10 -2
- package/_adapters/collection.d.ts +160 -0
- package/_adapters/collection.js +235 -0
- package/_adapters/collections.d.ts +325 -0
- package/_adapters/collections.js +934 -0
- package/_adapters/dom-collection.d.ts +42 -0
- package/_adapters/dom-collection.js +228 -0
- package/_adapters/grid-selection.d.ts +115 -0
- package/_adapters/grid-selection.js +436 -0
- package/_adapters/interactions.d.ts +19 -0
- package/_adapters/interactions.js +45 -0
- package/_adapters/intl.d.ts +8 -0
- package/_adapters/intl.js +106 -0
- package/_adapters/press.d.ts +22 -0
- package/_adapters/press.js +34 -0
- package/_adapters/selectable.d.ts +132 -0
- package/_adapters/selectable.js +599 -0
- package/_adapters/selection.d.ts +120 -0
- package/_adapters/selection.js +709 -0
- package/_adapters/type-select.d.ts +8 -0
- package/_adapters/type-select.js +59 -0
- package/a11y/aria-describer.d.ts +46 -0
- package/a11y/aria-describer.js +169 -0
- package/a11y/focus-monitor.d.ts +98 -0
- package/a11y/focus-monitor.js +321 -0
- package/a11y/focus-trap.d.ts +137 -0
- package/a11y/focus-trap.js +378 -0
- package/a11y/high-contrast.d.ts +26 -0
- package/a11y/high-contrast.js +84 -0
- package/a11y/index.d.ts +37 -0
- package/a11y/index.js +97 -0
- package/a11y/interactivity-checker.d.ts +18 -0
- package/a11y/interactivity-checker.js +126 -0
- package/a11y/key-manager.d.ts +152 -0
- package/a11y/key-manager.js +397 -0
- package/a11y/live-announcer.d.ts +53 -0
- package/a11y/live-announcer.js +143 -0
- package/accordion/index.d.ts +2 -0
- package/accordion/index.jsx +10 -0
- package/announcer/index.d.ts +8 -0
- package/announcer/index.jsx +22 -0
- package/announcer/live-announcer.d.ts +15 -0
- package/announcer/live-announcer.js +123 -0
- package/autocomplete/behaviour.d.ts +94 -0
- package/autocomplete/behaviour.jsx +423 -0
- package/autocomplete/contexts.d.ts +54 -0
- package/autocomplete/contexts.js +28 -0
- package/autocomplete/index.d.ts +12 -0
- package/autocomplete/index.jsx +31 -0
- package/autocomplete/intl.d.ts +2 -0
- package/autocomplete/intl.js +36 -0
- package/bidi/bidi-dir.d.ts +23 -0
- package/bidi/bidi-dir.jsx +36 -0
- package/bidi/index.d.ts +58 -0
- package/bidi/index.js +84 -0
- package/breadcrumbs/behaviour.d.ts +6 -0
- package/breadcrumbs/behaviour.js +17 -0
- package/breadcrumbs/index.d.ts +68 -0
- package/breadcrumbs/index.jsx +224 -0
- package/breadcrumbs/intl.d.ts +3 -0
- package/breadcrumbs/intl.js +104 -0
- package/button/behaviour.d.ts +61 -0
- package/button/behaviour.js +90 -0
- package/button/index.d.ts +38 -0
- package/button/index.jsx +376 -0
- package/button/press.d.ts +25 -0
- package/button/press.js +54 -0
- package/calendar/behaviour.d.ts +250 -0
- package/calendar/behaviour.jsx +939 -0
- package/calendar/index.d.ts +157 -0
- package/calendar/index.jsx +484 -0
- package/calendar/intl.d.ts +3 -0
- package/calendar/intl.js +36 -0
- package/carousel/behaviour.d.ts +50 -0
- package/carousel/behaviour.jsx +365 -0
- package/carousel/engine/Alignment.d.ts +5 -0
- package/carousel/engine/Alignment.js +24 -0
- package/carousel/engine/Animations.d.ts +13 -0
- package/carousel/engine/Animations.js +28 -0
- package/carousel/engine/Axis.d.ts +14 -0
- package/carousel/engine/Axis.js +35 -0
- package/carousel/engine/Counter.d.ts +7 -0
- package/carousel/engine/Counter.js +32 -0
- package/carousel/engine/DragHandler.d.ts +22 -0
- package/carousel/engine/DragHandler.js +141 -0
- package/carousel/engine/DragTracker.d.ts +10 -0
- package/carousel/engine/DragTracker.js +29 -0
- package/carousel/engine/EmblaCarousel.d.ts +32 -0
- package/carousel/engine/EmblaCarousel.js +177 -0
- package/carousel/engine/Engine.d.ts +64 -0
- package/carousel/engine/Engine.js +137 -0
- package/carousel/engine/EventHandler.d.ts +27 -0
- package/carousel/engine/EventHandler.js +33 -0
- package/carousel/engine/EventStore.d.ts +9 -0
- package/carousel/engine/EventStore.js +25 -0
- package/carousel/engine/NodeRects.d.ts +12 -0
- package/carousel/engine/NodeRects.js +18 -0
- package/carousel/engine/Options.d.ts +40 -0
- package/carousel/engine/Options.js +22 -0
- package/carousel/engine/OptionsHandler.d.ts +10 -0
- package/carousel/engine/OptionsHandler.js +26 -0
- package/carousel/engine/PercentOfView.d.ts +4 -0
- package/carousel/engine/PercentOfView.js +9 -0
- package/carousel/engine/Plugins.d.ts +16 -0
- package/carousel/engine/Plugins.js +1 -0
- package/carousel/engine/PluginsHandler.d.ts +8 -0
- package/carousel/engine/PluginsHandler.js +16 -0
- package/carousel/engine/ResizeHandler.d.ts +13 -0
- package/carousel/engine/ResizeHandler.js +51 -0
- package/carousel/engine/ScrollBounds.d.ts +10 -0
- package/carousel/engine/ScrollBounds.js +41 -0
- package/carousel/engine/ScrollContain.d.ts +7 -0
- package/carousel/engine/ScrollContain.js +52 -0
- package/carousel/engine/ScrollLimit.d.ts +5 -0
- package/carousel/engine/ScrollLimit.js +13 -0
- package/carousel/engine/ScrollLooper.d.ts +6 -0
- package/carousel/engine/ScrollLooper.js +26 -0
- package/carousel/engine/ScrollProgress.d.ts +5 -0
- package/carousel/engine/ScrollProgress.js +11 -0
- package/carousel/engine/ScrollSnaps.d.ts +9 -0
- package/carousel/engine/ScrollSnaps.js +26 -0
- package/carousel/engine/ScrollTarget.d.ts +12 -0
- package/carousel/engine/ScrollTarget.js +47 -0
- package/carousel/engine/ScrollTo.d.ts +11 -0
- package/carousel/engine/ScrollTo.js +36 -0
- package/carousel/engine/SlideFocus.d.ts +13 -0
- package/carousel/engine/SlideFocus.js +39 -0
- package/carousel/engine/SlideLooper.d.ts +18 -0
- package/carousel/engine/SlideLooper.js +78 -0
- package/carousel/engine/SlideRegistry.d.ts +7 -0
- package/carousel/engine/SlideRegistry.js +31 -0
- package/carousel/engine/SlideSizes.d.ts +10 -0
- package/carousel/engine/SlideSizes.js +41 -0
- package/carousel/engine/SlidesHandler.d.ts +10 -0
- package/carousel/engine/SlidesHandler.js +36 -0
- package/carousel/engine/SlidesInView.d.ts +8 -0
- package/carousel/engine/SlidesInView.js +59 -0
- package/carousel/engine/SlidesToScroll.d.ts +7 -0
- package/carousel/engine/SlidesToScroll.js +41 -0
- package/carousel/engine/Translate.d.ts +7 -0
- package/carousel/engine/Translate.js +38 -0
- package/carousel/engine/index.d.ts +11 -0
- package/carousel/engine/index.js +1 -0
- package/carousel/engine/utils.d.ts +15 -0
- package/carousel/engine/utils.js +45 -0
- package/carousel/index.d.ts +202 -0
- package/carousel/index.jsx +469 -0
- package/carousel/plugins/auto-height/AutoHeight.d.ts +14 -0
- package/carousel/plugins/auto-height/AutoHeight.js +43 -0
- package/carousel/plugins/auto-height/Options.d.ts +2 -0
- package/carousel/plugins/auto-height/Options.js +1 -0
- package/carousel/plugins/auto-height/index.d.ts +2 -0
- package/carousel/plugins/auto-height/index.js +1 -0
- package/carousel/plugins/auto-scroll/AutoScroll.d.ts +25 -0
- package/carousel/plugins/auto-scroll/AutoScroll.js +185 -0
- package/carousel/plugins/auto-scroll/Options.d.ts +13 -0
- package/carousel/plugins/auto-scroll/Options.js +12 -0
- package/carousel/plugins/auto-scroll/index.d.ts +2 -0
- package/carousel/plugins/auto-scroll/index.js +1 -0
- package/carousel/plugins/auto-scroll/utils.d.ts +3 -0
- package/carousel/plugins/auto-scroll/utils.js +4 -0
- package/carousel/plugins/autoplay/Autoplay.d.ts +29 -0
- package/carousel/plugins/autoplay/Autoplay.js +173 -0
- package/carousel/plugins/autoplay/Options.d.ts +14 -0
- package/carousel/plugins/autoplay/Options.js +12 -0
- package/carousel/plugins/autoplay/index.d.ts +2 -0
- package/carousel/plugins/autoplay/index.js +1 -0
- package/carousel/plugins/autoplay/utils.d.ts +4 -0
- package/carousel/plugins/autoplay/utils.js +11 -0
- package/carousel/plugins/class-names/ClassNames.d.ts +14 -0
- package/carousel/plugins/class-names/ClassNames.js +98 -0
- package/carousel/plugins/class-names/Options.d.ts +13 -0
- package/carousel/plugins/class-names/Options.js +9 -0
- package/carousel/plugins/class-names/index.d.ts +2 -0
- package/carousel/plugins/class-names/index.js +1 -0
- package/carousel/plugins/class-names/utils.d.ts +4 -0
- package/carousel/plugins/class-names/utils.js +14 -0
- package/carousel/plugins/fade/Fade.d.ts +14 -0
- package/carousel/plugins/fade/Fade.js +199 -0
- package/carousel/plugins/fade/Options.d.ts +2 -0
- package/carousel/plugins/fade/Options.js +1 -0
- package/carousel/plugins/fade/index.d.ts +2 -0
- package/carousel/plugins/fade/index.js +1 -0
- package/carousel/plugins/fade/utils.d.ts +2 -0
- package/carousel/plugins/fade/utils.js +8 -0
- package/carousel/state.d.ts +81 -0
- package/carousel/state.js +71 -0
- package/chat/index.d.ts +83 -0
- package/chat/index.jsx +287 -0
- package/checkbox/behaviour.d.ts +172 -0
- package/checkbox/behaviour.jsx +412 -0
- package/checkbox/index.d.ts +168 -0
- package/checkbox/index.jsx +310 -0
- package/clipboard/index.d.ts +49 -0
- package/clipboard/index.js +136 -0
- package/coercion/index.d.ts +36 -0
- package/coercion/index.js +58 -0
- package/collections/base.d.ts +115 -0
- package/collections/base.js +346 -0
- package/collections/builder.d.ts +44 -0
- package/collections/builder.js +283 -0
- package/collections/components.d.ts +252 -0
- package/collections/components.jsx +745 -0
- package/collections/data-source.d.ts +26 -0
- package/collections/data-source.js +27 -0
- package/collections/dom.d.ts +34 -0
- package/collections/dom.js +127 -0
- package/collections/grid.d.ts +45 -0
- package/collections/grid.js +125 -0
- package/collections/hidden.d.ts +4 -0
- package/collections/hidden.js +12 -0
- package/collections/index.d.ts +45 -0
- package/collections/index.js +105 -0
- package/collections/list-state.d.ts +99 -0
- package/collections/list-state.js +156 -0
- package/collections/list.d.ts +20 -0
- package/collections/list.js +77 -0
- package/collections/nodes.d.ts +17 -0
- package/collections/nodes.js +107 -0
- package/collections/row-stamps.d.ts +17 -0
- package/collections/row-stamps.js +108 -0
- package/collections/selection-model.d.ts +93 -0
- package/collections/selection-model.js +192 -0
- package/collections/server-dev.d.ts +6 -0
- package/collections/server-dev.js +18 -0
- package/collections/server-off.d.ts +6 -0
- package/collections/server-off.js +9 -0
- package/collections/server-on.d.ts +29 -0
- package/collections/server-on.jsx +86 -0
- package/collections/table.d.ts +114 -0
- package/collections/table.js +439 -0
- package/collections/tree-state.d.ts +47 -0
- package/collections/tree-state.js +73 -0
- package/collections/tree.d.ts +20 -0
- package/collections/tree.js +66 -0
- package/collections/types.d.ts +229 -0
- package/collections/types.js +4 -0
- package/collections/unique-selection-dispatcher.d.ts +10 -0
- package/collections/unique-selection-dispatcher.js +25 -0
- package/color/area-state.d.ts +99 -0
- package/color/area-state.js +160 -0
- package/color/aria-intl.d.ts +3 -0
- package/color/aria-intl.js +274 -0
- package/color/channel-field-state.d.ts +50 -0
- package/color/channel-field-state.jsx +87 -0
- package/color/color.d.ts +78 -0
- package/color/color.js +738 -0
- package/color/field-state.d.ts +66 -0
- package/color/field-state.jsx +159 -0
- package/color/index.d.ts +58 -0
- package/color/index.js +88 -0
- package/color/intl.d.ts +3 -0
- package/color/intl.js +1328 -0
- package/color/picker-state.d.ts +20 -0
- package/color/picker-state.js +19 -0
- package/color/slider-state.d.ts +78 -0
- package/color/slider-state.jsx +98 -0
- package/color/value.d.ts +27 -0
- package/color/value.js +36 -0
- package/color/wheel-state.d.ts +77 -0
- package/color/wheel-state.js +152 -0
- package/color-area/behaviour.d.ts +161 -0
- package/color-area/behaviour.jsx +454 -0
- package/color-area/index.d.ts +34 -0
- package/color-area/index.jsx +187 -0
- package/color-field/behaviour.d.ts +112 -0
- package/color-field/behaviour.jsx +262 -0
- package/color-field/index.d.ts +72 -0
- package/color-field/index.jsx +309 -0
- package/color-picker/index.d.ts +19 -0
- package/color-picker/index.jsx +49 -0
- package/color-slider/behaviour.d.ts +103 -0
- package/color-slider/behaviour.jsx +234 -0
- package/color-slider/index.d.ts +40 -0
- package/color-slider/index.jsx +162 -0
- package/color-swatch/behaviour.d.ts +40 -0
- package/color-swatch/behaviour.js +36 -0
- package/color-swatch/index.d.ts +29 -0
- package/color-swatch/index.jsx +82 -0
- package/color-swatch-picker/index.d.ts +62 -0
- package/color-swatch-picker/index.jsx +95 -0
- package/color-swatch-picker/intl.d.ts +3 -0
- package/color-swatch-picker/intl.js +104 -0
- package/color-thumb/index.d.ts +85 -0
- package/color-thumb/index.jsx +93 -0
- package/color-wheel/behaviour.d.ts +123 -0
- package/color-wheel/behaviour.jsx +301 -0
- package/color-wheel/index.d.ts +50 -0
- package/color-wheel/index.jsx +166 -0
- package/combobox/behaviour.d.ts +120 -0
- package/combobox/behaviour.jsx +588 -0
- package/combobox/index.d.ts +101 -0
- package/combobox/index.jsx +365 -0
- package/combobox/intl.d.ts +2 -0
- package/combobox/intl.js +240 -0
- package/compare/behaviour.d.ts +101 -0
- package/compare/behaviour.js +288 -0
- package/compare/index.d.ts +58 -0
- package/compare/index.jsx +129 -0
- package/data/async-list.d.ts +78 -0
- package/data/async-list.jsx +257 -0
- package/data/index.d.ts +3 -0
- package/data/index.jsx +6 -0
- package/data/list-data.d.ts +88 -0
- package/data/list-data.jsx +210 -0
- package/data/tree-data.d.ts +59 -0
- package/data/tree-data.jsx +278 -0
- package/data-grid/behaviour.d.ts +95 -0
- package/data-grid/behaviour.js +725 -0
- package/data-grid/index.d.ts +138 -0
- package/data-grid/index.jsx +452 -0
- package/data-grid/state.d.ts +131 -0
- package/data-grid/state.js +288 -0
- package/date/CalendarDate.d.ts +207 -0
- package/date/CalendarDate.js +374 -0
- package/date/DateFormatter.d.ts +24 -0
- package/date/DateFormatter.js +175 -0
- package/date/calendars/BuddhistCalendar.d.ts +16 -0
- package/date/calendars/BuddhistCalendar.js +46 -0
- package/date/calendars/EthiopicCalendar.d.ts +45 -0
- package/date/calendars/EthiopicCalendar.js +178 -0
- package/date/calendars/GregorianCalendar.d.ts +26 -0
- package/date/calendars/GregorianCalendar.js +122 -0
- package/date/calendars/HebrewCalendar.d.ts +21 -0
- package/date/calendars/HebrewCalendar.js +174 -0
- package/date/calendars/IndianCalendar.d.ts +17 -0
- package/date/calendars/IndianCalendar.js +111 -0
- package/date/calendars/IslamicCalendar.d.ts +51 -0
- package/date/calendars/IslamicCalendar.js +205 -0
- package/date/calendars/JapaneseCalendar.d.ts +22 -0
- package/date/calendars/JapaneseCalendar.js +148 -0
- package/date/calendars/PersianCalendar.d.ts +19 -0
- package/date/calendars/PersianCalendar.js +85 -0
- package/date/calendars/TaiwanCalendar.d.ts +19 -0
- package/date/calendars/TaiwanCalendar.js +70 -0
- package/date/conversion.d.ts +45 -0
- package/date/conversion.js +269 -0
- package/date/createCalendar.d.ts +3 -0
- package/date/createCalendar.js +55 -0
- package/date/index.d.ts +20 -0
- package/date/index.js +30 -0
- package/date/manipulation.d.ts +25 -0
- package/date/manipulation.js +399 -0
- package/date/queries.d.ts +93 -0
- package/date/queries.js +303 -0
- package/date/serialize.d.ts +18 -0
- package/date/serialize.js +55 -0
- package/date/string.d.ts +36 -0
- package/date/string.js +223 -0
- package/date/types.d.ts +136 -0
- package/date/types.js +14 -0
- package/date/utils.d.ts +4 -0
- package/date/utils.js +16 -0
- package/date/weekStartData.d.ts +1 -0
- package/date/weekStartData.js +112 -0
- package/date-field/behaviour.d.ts +188 -0
- package/date-field/behaviour.jsx +1025 -0
- package/date-field/index.d.ts +150 -0
- package/date-field/index.jsx +354 -0
- package/date-field/intl.d.ts +3 -0
- package/date-field/intl.js +36 -0
- package/date-field/live-value.d.ts +22 -0
- package/date-field/live-value.jsx +44 -0
- package/date-picker/behaviour.d.ts +95 -0
- package/date-picker/behaviour.jsx +343 -0
- package/date-picker/index.d.ts +66 -0
- package/date-picker/index.jsx +243 -0
- package/dialog/behaviour.d.ts +63 -0
- package/dialog/behaviour.jsx +90 -0
- package/dialog/contexts.d.ts +12 -0
- package/dialog/contexts.js +8 -0
- package/dialog/index.d.ts +48 -0
- package/dialog/index.jsx +301 -0
- package/disclosure/behaviour.d.ts +50 -0
- package/disclosure/behaviour.jsx +128 -0
- package/disclosure/details.d.ts +21 -0
- package/disclosure/details.jsx +14 -0
- package/disclosure/index.d.ts +92 -0
- package/disclosure/index.jsx +300 -0
- package/drag-drop/cdk-index.d.ts +22 -0
- package/drag-drop/cdk-index.jsx +25 -0
- package/drag-drop/directives/assertions.d.ts +6 -0
- package/drag-drop/directives/assertions.js +13 -0
- package/drag-drop/directives/config.d.ts +30 -0
- package/drag-drop/directives/config.js +7 -0
- package/drag-drop/directives/drag-handle.d.ts +10 -0
- package/drag-drop/directives/drag-handle.js +29 -0
- package/drag-drop/directives/drag.d.ts +210 -0
- package/drag-drop/directives/drag.js +550 -0
- package/drag-drop/directives/drop-list-group.d.ts +25 -0
- package/drag-drop/directives/drop-list-group.js +55 -0
- package/drag-drop/directives/drop-list.d.ts +163 -0
- package/drag-drop/directives/drop-list.js +396 -0
- package/drag-drop/directives/registry.d.ts +32 -0
- package/drag-drop/directives/registry.js +61 -0
- package/drag-drop/dom/clone-node.d.ts +2 -0
- package/drag-drop/dom/clone-node.js +58 -0
- package/drag-drop/dom/coerce.d.ts +6 -0
- package/drag-drop/dom/coerce.js +8 -0
- package/drag-drop/dom/dom-rect.d.ts +37 -0
- package/drag-drop/dom/dom-rect.js +71 -0
- package/drag-drop/dom/fake-event.d.ts +4 -0
- package/drag-drop/dom/fake-event.js +22 -0
- package/drag-drop/dom/inherited-text.d.ts +4 -0
- package/drag-drop/dom/inherited-text.js +44 -0
- package/drag-drop/dom/layout-shift.d.ts +8 -0
- package/drag-drop/dom/layout-shift.js +87 -0
- package/drag-drop/dom/mount-content.d.ts +2 -0
- package/drag-drop/dom/mount-content.js +7 -0
- package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
- package/drag-drop/dom/parent-position-tracker.js +71 -0
- package/drag-drop/dom/root-node.d.ts +21 -0
- package/drag-drop/dom/root-node.js +41 -0
- package/drag-drop/dom/shadow-dom.d.ts +4 -0
- package/drag-drop/dom/shadow-dom.js +18 -0
- package/drag-drop/dom/styling.d.ts +52 -0
- package/drag-drop/dom/styling.js +86 -0
- package/drag-drop/dom/transition-duration.d.ts +2 -0
- package/drag-drop/dom/transition-duration.js +29 -0
- package/drag-drop/drag-drop-registry.d.ts +69 -0
- package/drag-drop/drag-drop-registry.js +224 -0
- package/drag-drop/drag-drop.d.ts +19 -0
- package/drag-drop/drag-drop.js +10 -0
- package/drag-drop/drag-events.d.ts +117 -0
- package/drag-drop/drag-events.js +1 -0
- package/drag-drop/drag-handle.d.ts +18 -0
- package/drag-drop/drag-handle.jsx +53 -0
- package/drag-drop/drag-placeholder.d.ts +8 -0
- package/drag-drop/drag-placeholder.jsx +25 -0
- package/drag-drop/drag-preview.d.ts +10 -0
- package/drag-drop/drag-preview.jsx +31 -0
- package/drag-drop/drag-ref.d.ts +476 -0
- package/drag-drop/drag-ref.js +1306 -0
- package/drag-drop/drag-utils.d.ts +25 -0
- package/drag-drop/drag-utils.js +53 -0
- package/drag-drop/drag.d.ts +23 -0
- package/drag-drop/drag.jsx +128 -0
- package/drag-drop/drop-list-group.d.ts +22 -0
- package/drag-drop/drop-list-group.jsx +19 -0
- package/drag-drop/drop-list-ref.d.ts +295 -0
- package/drag-drop/drop-list-ref.js +707 -0
- package/drag-drop/drop-list.d.ts +19 -0
- package/drag-drop/drop-list.jsx +87 -0
- package/drag-drop/index.d.ts +1 -0
- package/drag-drop/index.jsx +4 -0
- package/drag-drop/lazy-refs.d.ts +28 -0
- package/drag-drop/lazy-refs.js +144 -0
- package/drag-drop/preview-ref.d.ts +38 -0
- package/drag-drop/preview-ref.js +132 -0
- package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
- package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
- package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
- package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
- package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
- package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
- package/file-trigger/index.d.ts +24 -0
- package/file-trigger/index.jsx +41 -0
- package/flip/index.d.ts +59 -0
- package/flip/index.js +124 -0
- package/focus/focus-ring.d.ts +42 -0
- package/focus/focus-ring.jsx +77 -0
- package/focus/focus-scope.d.ts +51 -0
- package/focus/focus-scope.jsx +431 -0
- package/focus/focusable.d.ts +33 -0
- package/focus/focusable.jsx +93 -0
- package/focus/index.d.ts +74 -0
- package/focus/index.js +274 -0
- package/form/behaviour.d.ts +29 -0
- package/form/behaviour.js +145 -0
- package/form/field-error.d.ts +38 -0
- package/form/field-error.jsx +67 -0
- package/form/index.d.ts +77 -0
- package/form/index.jsx +116 -0
- package/grid/behaviour.d.ts +290 -0
- package/grid/behaviour.js +683 -0
- package/grid/intl.d.ts +2 -0
- package/grid/intl.js +36 -0
- package/grid/keyboard-delegate.d.ts +56 -0
- package/grid/keyboard-delegate.js +316 -0
- package/grid-list/behaviour.d.ts +248 -0
- package/grid-list/behaviour.js +616 -0
- package/grid-list/index.d.ts +204 -0
- package/grid-list/index.jsx +721 -0
- package/grid-list/row.d.ts +24 -0
- package/grid-list/row.js +57 -0
- package/group/index.d.ts +48 -0
- package/group/index.jsx +126 -0
- package/header/index.d.ts +13 -0
- package/header/index.jsx +34 -0
- package/heading/index.d.ts +19 -0
- package/heading/index.jsx +55 -0
- package/highlight/index.d.ts +12 -0
- package/highlight/index.jsx +357 -0
- package/i18n/filter.d.ts +16 -0
- package/i18n/filter.js +66 -0
- package/i18n/i18n-provider.d.ts +10 -0
- package/i18n/i18n-provider.jsx +15 -0
- package/i18n/index.d.ts +27 -0
- package/i18n/index.js +115 -0
- package/i18n/intl-cache.d.ts +4 -0
- package/i18n/intl-cache.js +40 -0
- package/i18n/list-formatter.d.ts +2 -0
- package/i18n/list-formatter.js +11 -0
- package/input/index.d.ts +51 -0
- package/input/index.jsx +95 -0
- package/interactions/controllable.d.ts +42 -0
- package/interactions/controllable.js +67 -0
- package/interactions/focus-visible.d.ts +68 -0
- package/interactions/focus-visible.jsx +291 -0
- package/interactions/focus.d.ts +58 -0
- package/interactions/focus.jsx +152 -0
- package/interactions/hover.d.ts +54 -0
- package/interactions/hover.jsx +139 -0
- package/interactions/index.d.ts +1 -0
- package/interactions/index.js +3 -0
- package/interactions/interact-outside.d.ts +24 -0
- package/interactions/interact-outside.jsx +57 -0
- package/interactions/keyboard.d.ts +28 -0
- package/interactions/keyboard.jsx +51 -0
- package/interactions/long-press.d.ts +41 -0
- package/interactions/long-press.jsx +79 -0
- package/interactions/merge-props.d.ts +54 -0
- package/interactions/merge-props.jsx +257 -0
- package/interactions/move.d.ts +48 -0
- package/interactions/move.jsx +96 -0
- package/interactions/press.d.ts +129 -0
- package/interactions/press.jsx +539 -0
- package/interactions/pressable.d.ts +22 -0
- package/interactions/pressable.jsx +93 -0
- package/interactions/scroll-wheel.d.ts +20 -0
- package/interactions/scroll-wheel.jsx +40 -0
- package/interactions/utils.d.ts +52 -0
- package/interactions/utils.js +253 -0
- package/keyboard/index.d.ts +12 -0
- package/keyboard/index.jsx +34 -0
- package/keys/index.d.ts +68 -0
- package/keys/index.js +199 -0
- package/label/behaviour.d.ts +54 -0
- package/label/behaviour.js +60 -0
- package/label/index.d.ts +35 -0
- package/label/index.jsx +85 -0
- package/landmark/index.d.ts +10 -0
- package/landmark/index.jsx +35 -0
- package/landmark/manager.d.ts +50 -0
- package/landmark/manager.js +364 -0
- package/layout/index.d.ts +90 -0
- package/layout/index.js +207 -0
- package/lightbox/behaviour.d.ts +82 -0
- package/lightbox/behaviour.js +490 -0
- package/lightbox/captions/index.d.ts +39 -0
- package/lightbox/captions/index.jsx +44 -0
- package/lightbox/counter/index.d.ts +10 -0
- package/lightbox/counter/index.jsx +10 -0
- package/lightbox/download/index.d.ts +32 -0
- package/lightbox/download/index.jsx +89 -0
- package/lightbox/embed/index.d.ts +15 -0
- package/lightbox/embed/index.jsx +58 -0
- package/lightbox/fullscreen/index.d.ts +24 -0
- package/lightbox/fullscreen/index.jsx +80 -0
- package/lightbox/index.d.ts +129 -0
- package/lightbox/index.jsx +284 -0
- package/lightbox/inline/index.d.ts +18 -0
- package/lightbox/inline/index.jsx +15 -0
- package/lightbox/pdf/index.d.ts +18 -0
- package/lightbox/pdf/index.jsx +31 -0
- package/lightbox/share/index.d.ts +29 -0
- package/lightbox/share/index.jsx +43 -0
- package/lightbox/slideshow/index.d.ts +24 -0
- package/lightbox/slideshow/index.jsx +118 -0
- package/lightbox/state.d.ts +334 -0
- package/lightbox/state.js +192 -0
- package/lightbox/thumbnails/index.d.ts +54 -0
- package/lightbox/thumbnails/index.jsx +96 -0
- package/lightbox/video/index.d.ts +13 -0
- package/lightbox/video/index.jsx +42 -0
- package/lightbox/zoom/index.d.ts +67 -0
- package/lightbox/zoom/index.jsx +456 -0
- package/link/behaviour.d.ts +41 -0
- package/link/behaviour.js +58 -0
- package/link/index.d.ts +30 -0
- package/link/index.jsx +179 -0
- package/link/router.d.ts +1 -0
- package/link/router.js +5 -0
- package/listbox/behaviour.d.ts +175 -0
- package/listbox/behaviour.jsx +515 -0
- package/listbox/index.d.ts +129 -0
- package/listbox/index.jsx +632 -0
- package/markdown/index.d.ts +82 -0
- package/markdown/index.jsx +654 -0
- package/masonry/behaviour.d.ts +121 -0
- package/masonry/behaviour.js +676 -0
- package/masonry/flip.d.ts +27 -0
- package/masonry/flip.js +61 -0
- package/masonry/geometry.d.ts +44 -0
- package/masonry/geometry.js +184 -0
- package/masonry/index.d.ts +153 -0
- package/masonry/index.jsx +833 -0
- package/masonry/justified.d.ts +49 -0
- package/masonry/justified.js +250 -0
- package/masonry/layout.d.ts +200 -0
- package/masonry/layout.js +668 -0
- package/masonry/masonry-layout.d.ts +57 -0
- package/masonry/masonry-layout.js +159 -0
- package/masonry/masonry.css +29 -0
- package/menu/behaviour.d.ts +205 -0
- package/menu/behaviour.jsx +847 -0
- package/menu/index.d.ts +171 -0
- package/menu/index.jsx +702 -0
- package/menu/intl.d.ts +2 -0
- package/menu/intl.js +36 -0
- package/menu/safely-mouse-to-submenu.d.ts +12 -0
- package/menu/safely-mouse-to-submenu.js +128 -0
- package/meter/behaviour.d.ts +18 -0
- package/meter/behaviour.jsx +17 -0
- package/meter/index.d.ts +30 -0
- package/meter/index.jsx +85 -0
- package/modal/index.d.ts +79 -0
- package/modal/index.jsx +359 -0
- package/modal/provider.d.ts +47 -0
- package/modal/provider.jsx +105 -0
- package/morph/index.d.ts +91 -0
- package/morph/index.jsx +372 -0
- package/morph/item.d.ts +89 -0
- package/morph/item.jsx +546 -0
- package/motion/Animations.d.ts +17 -0
- package/motion/Animations.js +56 -0
- package/motion/DragRelease.d.ts +22 -0
- package/motion/DragRelease.js +26 -0
- package/motion/DragTracker.d.ts +7 -0
- package/motion/DragTracker.js +43 -0
- package/motion/Limit.d.ts +12 -0
- package/motion/Limit.js +37 -0
- package/motion/Motion1D.d.ts +38 -0
- package/motion/Motion1D.js +72 -0
- package/motion/ScrollBody.d.ts +13 -0
- package/motion/ScrollBody.js +75 -0
- package/motion/Vector1d.d.ts +8 -0
- package/motion/Vector1d.js +29 -0
- package/motion/index.d.ts +8 -0
- package/motion/index.js +12 -0
- package/motion/utils.d.ts +5 -0
- package/motion/utils.js +23 -0
- package/native-select/index.d.ts +46 -0
- package/native-select/index.jsx +99 -0
- package/navigation-tree/index.d.ts +43 -0
- package/navigation-tree/index.jsx +110 -0
- package/number/NumberFormatter.d.ts +28 -0
- package/number/NumberFormatter.js +144 -0
- package/number/NumberParser.d.ts +27 -0
- package/number/NumberParser.js +316 -0
- package/number/index.d.ts +5 -0
- package/number/index.jsx +17 -0
- package/number/number-field-state.d.ts +132 -0
- package/number/number-field-state.jsx +364 -0
- package/number-field/behaviour.d.ts +165 -0
- package/number-field/behaviour.jsx +512 -0
- package/number-field/index.d.ts +52 -0
- package/number-field/index.jsx +207 -0
- package/number-field/intl.d.ts +2 -0
- package/number-field/intl.js +36 -0
- package/observers/index.d.ts +70 -0
- package/observers/index.js +279 -0
- package/overflow/index.d.ts +93 -0
- package/overflow/index.jsx +267 -0
- package/overlay/aria-hide-outside.d.ts +12 -0
- package/overlay/aria-hide-outside.js +141 -0
- package/overlay/close-on-scroll.d.ts +1 -0
- package/overlay/close-on-scroll.js +6 -0
- package/overlay/contexts.d.ts +34 -0
- package/overlay/contexts.js +21 -0
- package/overlay/dismiss-button.d.ts +10 -0
- package/overlay/dismiss-button.jsx +18 -0
- package/overlay/hover-trigger.d.ts +54 -0
- package/overlay/hover-trigger.jsx +221 -0
- package/overlay/index.d.ts +40 -0
- package/overlay/index.js +139 -0
- package/overlay/modal-overlay.d.ts +16 -0
- package/overlay/modal-overlay.js +38 -0
- package/overlay/overlay-strings.d.ts +4 -0
- package/overlay/overlay-strings.js +52 -0
- package/overlay/overlay-trigger-state.d.ts +1 -0
- package/overlay/overlay-trigger-state.js +3 -0
- package/overlay/overlay-trigger.d.ts +27 -0
- package/overlay/overlay-trigger.jsx +50 -0
- package/overlay/position.d.ts +160 -0
- package/overlay/position.js +559 -0
- package/overlay/prevent-scroll-ios.d.ts +17 -0
- package/overlay/prevent-scroll-ios.js +331 -0
- package/overlay/prevent-scroll.d.ts +18 -0
- package/overlay/prevent-scroll.js +122 -0
- package/overlay/safe-area.d.ts +28 -0
- package/overlay/safe-area.js +108 -0
- package/overlay-arrow/index.d.ts +23 -0
- package/overlay-arrow/index.jsx +59 -0
- package/overlay-service/connected-position.d.ts +163 -0
- package/overlay-service/connected-position.js +661 -0
- package/overlay-service/global-position.d.ts +34 -0
- package/overlay-service/global-position.js +154 -0
- package/overlay-service/index.d.ts +15 -0
- package/overlay-service/index.js +27 -0
- package/overlay-service/overlay-container.d.ts +27 -0
- package/overlay-service/overlay-container.js +93 -0
- package/overlay-service/overlay-dispatchers.d.ts +44 -0
- package/overlay-service/overlay-dispatchers.js +149 -0
- package/overlay-service/overlay-position-builder.d.ts +8 -0
- package/overlay-service/overlay-position-builder.js +15 -0
- package/overlay-service/overlay-ref.d.ts +155 -0
- package/overlay-service/overlay-ref.js +436 -0
- package/overlay-service/overlay-strategy.d.ts +48 -0
- package/overlay-service/overlay-strategy.js +3 -0
- package/overlay-service/overlay-viewport.d.ts +85 -0
- package/overlay-service/overlay-viewport.js +192 -0
- package/overlay-service/overlay.css +94 -0
- package/overlay-service/scroll-strategies.d.ts +71 -0
- package/overlay-service/scroll-strategies.js +185 -0
- package/package.json +754 -4
- package/platform/index.d.ts +100 -0
- package/platform/index.js +304 -0
- package/popover/behaviour.d.ts +23 -0
- package/popover/behaviour.js +39 -0
- package/popover/index.d.ts +60 -0
- package/popover/index.jsx +285 -0
- package/popover/popover-overlay.d.ts +27 -0
- package/popover/popover-overlay.jsx +60 -0
- package/popover/use-popover.d.ts +57 -0
- package/popover/use-popover.js +92 -0
- package/portal/index.d.ts +55 -0
- package/portal/index.jsx +83 -0
- package/portal/portal-mount.d.ts +8 -0
- package/portal/portal-mount.js +7 -0
- package/portal/portal-outlet.d.ts +88 -0
- package/portal/portal-outlet.js +222 -0
- package/preview-trigger/behaviour.d.ts +70 -0
- package/preview-trigger/behaviour.jsx +258 -0
- package/preview-trigger/index.d.ts +12 -0
- package/preview-trigger/index.jsx +82 -0
- package/progress-bar/behaviour.d.ts +77 -0
- package/progress-bar/behaviour.jsx +75 -0
- package/progress-bar/context.d.ts +4 -0
- package/progress-bar/context.js +7 -0
- package/progress-bar/index.d.ts +38 -0
- package/progress-bar/index.jsx +90 -0
- package/radio-group/behaviour.d.ts +11 -0
- package/radio-group/behaviour.js +85 -0
- package/radio-group/index.d.ts +82 -0
- package/radio-group/index.jsx +142 -0
- package/radio-group/parts.d.ts +223 -0
- package/radio-group/parts.jsx +425 -0
- package/range-calendar/behaviour.d.ts +2 -0
- package/range-calendar/behaviour.jsx +5 -0
- package/range-calendar/index.d.ts +2 -0
- package/range-calendar/index.jsx +4 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
- package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
- package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
- package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
- package/resizable/engine/components/group/readLegacyLayout.js +48 -0
- package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
- package/resizable/engine/components/group/sortByElementOffset.js +28 -0
- package/resizable/engine/components/group/types.d.ts +50 -0
- package/resizable/engine/components/group/types.js +1 -0
- package/resizable/engine/components/panel/types.d.ts +90 -0
- package/resizable/engine/components/panel/types.js +4 -0
- package/resizable/engine/constants.d.ts +15 -0
- package/resizable/engine/constants.js +27 -0
- package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
- package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
- package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
- package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
- package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
- package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
- package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
- package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
- package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
- package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
- package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
- package/resizable/engine/global/mountAxis.d.ts +2 -0
- package/resizable/engine/global/mountAxis.js +187 -0
- package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
- package/resizable/engine/global/mutable-state/axes.js +52 -0
- package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
- package/resizable/engine/global/mutable-state/interactions.js +92 -0
- package/resizable/engine/global/mutable-state/types.d.ts +32 -0
- package/resizable/engine/global/mutable-state/types.js +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
- package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
- package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
- package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
- package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
- package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
- package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
- package/resizable/engine/global/types.d.ts +120 -0
- package/resizable/engine/global/types.js +1 -0
- package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
- package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
- package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
- package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
- package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
- package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
- package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
- package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
- package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
- package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
- package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
- package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
- package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
- package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
- package/resizable/engine/global/utils/expandHitTarget.js +19 -0
- package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
- package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
- package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
- package/resizable/engine/global/utils/findClosestRect.js +22 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
- package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
- package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
- package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
- package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
- package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
- package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
- package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
- package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
- package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
- package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
- package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
- package/resizable/engine/global/utils/isModal.d.ts +1 -0
- package/resizable/engine/global/utils/isModal.js +11 -0
- package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
- package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
- package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
- package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
- package/resizable/engine/global/utils/layoutsEqual.js +15 -0
- package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
- package/resizable/engine/global/utils/normalizeLayout.js +21 -0
- package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
- package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
- package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
- package/resizable/engine/global/utils/objectsEqual.js +14 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
- package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
- package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
- package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
- package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
- package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
- package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
- package/resizable/engine/global/utils/validateItemSize.js +31 -0
- package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
- package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
- package/resizable/engine/types.d.ts +13 -0
- package/resizable/engine/types.js +1 -0
- package/resizable/engine/utils/EventEmitter.d.ts +11 -0
- package/resizable/engine/utils/EventEmitter.js +60 -0
- package/resizable/engine/utils/assert.d.ts +1 -0
- package/resizable/engine/utils/assert.js +7 -0
- package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
- package/resizable/engine/utils/isArrayEqual.js +15 -0
- package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
- package/resizable/engine/utils/isHTMLElement.js +6 -0
- package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
- package/resizable/engine/utils/isShadowRoot.js +6 -0
- package/resizable/engine/vendor/stacking-order.d.ts +7 -0
- package/resizable/engine/vendor/stacking-order.js +122 -0
- package/resizable/index.d.ts +263 -0
- package/resizable/index.jsx +537 -0
- package/resizable/mount.d.ts +115 -0
- package/resizable/mount.js +540 -0
- package/scheduler/behaviour.d.ts +71 -0
- package/scheduler/behaviour.js +243 -0
- package/scheduler/context.d.ts +100 -0
- package/scheduler/context.jsx +7 -0
- package/scheduler/dates.d.ts +53 -0
- package/scheduler/dates.js +183 -0
- package/scheduler/drag.d.ts +20 -0
- package/scheduler/drag.js +361 -0
- package/scheduler/event.d.ts +26 -0
- package/scheduler/event.jsx +93 -0
- package/scheduler/index.d.ts +57 -0
- package/scheduler/index.jsx +303 -0
- package/scheduler/intl.d.ts +16 -0
- package/scheduler/intl.js +529 -0
- package/scheduler/keys-month.d.ts +7 -0
- package/scheduler/keys-month.js +110 -0
- package/scheduler/keys-time-grid.d.ts +9 -0
- package/scheduler/keys-time-grid.js +115 -0
- package/scheduler/keys.d.ts +103 -0
- package/scheduler/keys.js +527 -0
- package/scheduler/layout-index.d.ts +3 -0
- package/scheduler/layout-index.js +6 -0
- package/scheduler/layout.d.ts +285 -0
- package/scheduler/layout.js +378 -0
- package/scheduler/menus.d.ts +66 -0
- package/scheduler/menus.jsx +88 -0
- package/scheduler/month.d.ts +26 -0
- package/scheduler/month.jsx +215 -0
- package/scheduler/pointer.d.ts +64 -0
- package/scheduler/pointer.js +203 -0
- package/scheduler/select.d.ts +11 -0
- package/scheduler/select.js +64 -0
- package/scheduler/selection.d.ts +34 -0
- package/scheduler/selection.js +39 -0
- package/scheduler/state.d.ts +296 -0
- package/scheduler/state.js +496 -0
- package/scheduler/time-grid-client.d.ts +32 -0
- package/scheduler/time-grid-client.jsx +133 -0
- package/scheduler/time-grid.d.ts +26 -0
- package/scheduler/time-grid.jsx +266 -0
- package/scheduler/time.d.ts +35 -0
- package/scheduler/time.js +56 -0
- package/scheduler/toolbar.d.ts +43 -0
- package/scheduler/toolbar.jsx +38 -0
- package/scroll-area/dom.d.ts +11 -0
- package/scroll-area/dom.js +55 -0
- package/scroll-area/index.d.ts +96 -0
- package/scroll-area/index.jsx +884 -0
- package/scroll-area/presence.d.ts +12 -0
- package/scroll-area/presence.jsx +131 -0
- package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
- package/scrolling/auto-size-virtual-scroll.js +213 -0
- package/scrolling/behaviour.d.ts +3 -0
- package/scrolling/behaviour.js +5 -0
- package/scrolling/emitter.d.ts +34 -0
- package/scrolling/emitter.js +144 -0
- package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
- package/scrolling/fixed-size-virtual-scroll.js +107 -0
- package/scrolling/index.d.ts +11 -0
- package/scrolling/index.jsx +13 -0
- package/scrolling/rtl.d.ts +16 -0
- package/scrolling/rtl.js +64 -0
- package/scrolling/scroll-dispatcher.d.ts +49 -0
- package/scrolling/scroll-dispatcher.js +107 -0
- package/scrolling/scrollable.d.ts +75 -0
- package/scrolling/scrollable.js +149 -0
- package/scrolling/scrolling.css +11 -0
- package/scrolling/state.d.ts +92 -0
- package/scrolling/state.js +94 -0
- package/scrolling/viewport-ruler.d.ts +47 -0
- package/scrolling/viewport-ruler.js +100 -0
- package/scrolling/viewport.d.ts +54 -0
- package/scrolling/viewport.jsx +105 -0
- package/scrolling/virtual-scroll-strategy.d.ts +41 -0
- package/scrolling/virtual-scroll-strategy.js +2 -0
- package/scrolling/virtual-scroll-viewport.d.ts +95 -0
- package/scrolling/virtual-scroll-viewport.js +370 -0
- package/search-field/behaviour.d.ts +62 -0
- package/search-field/behaviour.jsx +116 -0
- package/search-field/index.d.ts +57 -0
- package/search-field/index.jsx +158 -0
- package/search-field/intl.d.ts +2 -0
- package/search-field/intl.js +36 -0
- package/select/behaviour.d.ts +188 -0
- package/select/behaviour.jsx +445 -0
- package/select/hidden-select.d.ts +44 -0
- package/select/hidden-select.jsx +68 -0
- package/select/index.d.ts +123 -0
- package/select/index.jsx +255 -0
- package/select/intl.d.ts +2 -0
- package/select/intl.js +36 -0
- package/select/parts.d.ts +11 -0
- package/select/parts.jsx +12 -0
- package/select/select-parts.d.ts +73 -0
- package/select/select-parts.jsx +293 -0
- package/select/select-value.d.ts +58 -0
- package/select/select-value.jsx +142 -0
- package/selection/dom-utils.d.ts +25 -0
- package/selection/dom-utils.js +77 -0
- package/selection/keyed.d.ts +19 -0
- package/selection/keyed.js +66 -0
- package/selection/list-keyboard-delegate.d.ts +67 -0
- package/selection/list-keyboard-delegate.js +274 -0
- package/selection/manager.d.ts +112 -0
- package/selection/manager.js +340 -0
- package/selection/selectable-collection.d.ts +123 -0
- package/selection/selectable-collection.js +560 -0
- package/selection/selectable-item.d.ts +128 -0
- package/selection/selectable-item.js +486 -0
- package/selection/selectable-list.d.ts +42 -0
- package/selection/selectable-list.js +34 -0
- package/selection/state.d.ts +96 -0
- package/selection/state.js +131 -0
- package/selection/type-select.d.ts +37 -0
- package/selection/type-select.js +114 -0
- package/selection/utils.d.ts +23 -0
- package/selection/utils.js +38 -0
- package/selection-indicator/context.d.ts +10 -0
- package/selection-indicator/context.js +7 -0
- package/selection-indicator/index.d.ts +20 -0
- package/selection-indicator/index.jsx +25 -0
- package/separator/behaviour.d.ts +17 -0
- package/separator/behaviour.js +17 -0
- package/separator/index.d.ts +23 -0
- package/separator/index.jsx +64 -0
- package/shared-element-transition/index.d.ts +36 -0
- package/shared-element-transition/index.jsx +182 -0
- package/shared-element-transition/transition.d.ts +19 -0
- package/shared-element-transition/transition.jsx +20 -0
- package/sheet-motion/index.d.ts +82 -0
- package/sheet-motion/index.js +386 -0
- package/sidebar/index.d.ts +257 -0
- package/sidebar/index.jsx +625 -0
- package/sidebar/pages.d.ts +71 -0
- package/sidebar/pages.jsx +177 -0
- package/sidebar/resize.d.ts +69 -0
- package/sidebar/resize.js +237 -0
- package/sidebar/sheet-motion.d.ts +15 -0
- package/sidebar/sheet-motion.js +170 -0
- package/sidebar/state.d.ts +126 -0
- package/sidebar/state.js +204 -0
- package/slider/behaviour.d.ts +141 -0
- package/slider/behaviour.jsx +492 -0
- package/slider/index.d.ts +171 -0
- package/slider/index.jsx +392 -0
- package/slider/state.d.ts +203 -0
- package/slider/state.js +377 -0
- package/slots/index.d.ts +248 -0
- package/slots/index.jsx +473 -0
- package/spinbutton/behaviour.d.ts +66 -0
- package/spinbutton/behaviour.jsx +312 -0
- package/spinbutton/intl.d.ts +2 -0
- package/spinbutton/intl.js +36 -0
- package/state/autocomplete.d.ts +26 -0
- package/state/autocomplete.js +32 -0
- package/state/calendar.d.ts +284 -0
- package/state/calendar.js +755 -0
- package/state/checkbox-group.d.ts +67 -0
- package/state/checkbox-group.js +76 -0
- package/state/combobox.d.ts +238 -0
- package/state/combobox.js +708 -0
- package/state/date-field.d.ts +407 -0
- package/state/date-field.js +1117 -0
- package/state/date-intl.d.ts +3 -0
- package/state/date-intl.js +36 -0
- package/state/date-picker.d.ts +144 -0
- package/state/date-picker.js +387 -0
- package/state/disclosure.d.ts +90 -0
- package/state/disclosure.js +148 -0
- package/state/form-validation.d.ts +89 -0
- package/state/form-validation.js +158 -0
- package/state/grid.d.ts +62 -0
- package/state/grid.js +127 -0
- package/state/list.d.ts +58 -0
- package/state/list.js +124 -0
- package/state/menu.d.ts +162 -0
- package/state/menu.js +185 -0
- package/state/overlays.d.ts +35 -0
- package/state/overlays.js +29 -0
- package/state/radio-group.d.ts +58 -0
- package/state/radio-group.js +68 -0
- package/state/search-field.d.ts +20 -0
- package/state/search-field.js +21 -0
- package/state/select.d.ts +150 -0
- package/state/select.js +187 -0
- package/state/selection.d.ts +3 -0
- package/state/selection.js +5 -0
- package/state/table-column-resize.d.ts +58 -0
- package/state/table-column-resize.js +76 -0
- package/state/table.d.ts +81 -0
- package/state/table.js +114 -0
- package/state/tabs.d.ts +85 -0
- package/state/tabs.js +161 -0
- package/state/time-field.d.ts +32 -0
- package/state/time-field.js +34 -0
- package/state/toast.d.ts +80 -0
- package/state/toast.js +146 -0
- package/state/toggle-group.d.ts +70 -0
- package/state/toggle-group.js +110 -0
- package/state/toggle.d.ts +40 -0
- package/state/toggle.js +39 -0
- package/state/tooltip.d.ts +53 -0
- package/state/tooltip.js +153 -0
- package/stepper/index.d.ts +117 -0
- package/stepper/index.jsx +405 -0
- package/stepper/state.d.ts +200 -0
- package/stepper/state.js +325 -0
- package/switch/behaviour.d.ts +12 -0
- package/switch/behaviour.jsx +9 -0
- package/switch/index.d.ts +150 -0
- package/switch/index.jsx +186 -0
- package/table/behaviour.d.ts +181 -0
- package/table/behaviour.js +334 -0
- package/table/collection.d.ts +49 -0
- package/table/collection.js +259 -0
- package/table/column-resize.d.ts +48 -0
- package/table/column-resize.jsx +247 -0
- package/table/index.d.ts +339 -0
- package/table/index.jsx +1326 -0
- package/table/intl.d.ts +2 -0
- package/table/intl.js +36 -0
- package/table/keyboard-delegate.d.ts +21 -0
- package/table/keyboard-delegate.js +166 -0
- package/table/rac-intl.d.ts +2 -0
- package/table/rac-intl.js +36 -0
- package/tabs/behaviour.d.ts +49 -0
- package/tabs/behaviour.js +173 -0
- package/tabs/index.d.ts +248 -0
- package/tabs/index.jsx +577 -0
- package/tabs/keyboard-delegate.d.ts +17 -0
- package/tabs/keyboard-delegate.js +64 -0
- package/tag-group/behaviour.d.ts +59 -0
- package/tag-group/behaviour.js +112 -0
- package/tag-group/index.d.ts +138 -0
- package/tag-group/index.jsx +565 -0
- package/tag-group/intl.d.ts +2 -0
- package/tag-group/intl.js +36 -0
- package/tailwind.css +12 -0
- package/tests-components/app/src/routes/index.d.ts +4 -0
- package/tests-components/app/src/routes/index.jsx +7 -0
- package/text/index.d.ts +15 -0
- package/text/index.jsx +61 -0
- package/text-area/index.d.ts +19 -0
- package/text-area/index.jsx +76 -0
- package/text-field/autosize.d.ts +70 -0
- package/text-field/autosize.js +355 -0
- package/text-field/behaviour.d.ts +140 -0
- package/text-field/behaviour.jsx +260 -0
- package/text-field/fields.d.ts +12 -0
- package/text-field/fields.js +20 -0
- package/text-field/index.d.ts +50 -0
- package/text-field/index.jsx +174 -0
- package/text-field/text-field.css +45 -0
- package/theme.css +1006 -0
- package/time-wheels/behaviour.d.ts +29 -0
- package/time-wheels/behaviour.js +156 -0
- package/time-wheels/index.d.ts +27 -0
- package/time-wheels/index.jsx +91 -0
- package/toast/behaviour.d.ts +51 -0
- package/toast/behaviour.jsx +273 -0
- package/toast/index.d.ts +94 -0
- package/toast/index.jsx +256 -0
- package/toast/intl.d.ts +2 -0
- package/toast/intl.js +36 -0
- package/toggle-button/behaviour.d.ts +15 -0
- package/toggle-button/behaviour.js +37 -0
- package/toggle-button/index.d.ts +59 -0
- package/toggle-button/index.jsx +206 -0
- package/toggle-button-group/behaviour.d.ts +19 -0
- package/toggle-button-group/behaviour.jsx +13 -0
- package/toggle-button-group/context.d.ts +7 -0
- package/toggle-button-group/context.js +9 -0
- package/toggle-button-group/index.d.ts +39 -0
- package/toggle-button-group/index.jsx +85 -0
- package/toggle-button-group/item.d.ts +30 -0
- package/toggle-button-group/item.jsx +37 -0
- package/toolbar/behaviour.d.ts +22 -0
- package/toolbar/behaviour.js +89 -0
- package/toolbar/index.d.ts +16 -0
- package/toolbar/index.jsx +67 -0
- package/tooltip/behaviour.d.ts +93 -0
- package/tooltip/behaviour.jsx +299 -0
- package/tooltip/index.d.ts +59 -0
- package/tooltip/index.jsx +193 -0
- package/tree/behaviour.d.ts +51 -0
- package/tree/behaviour.jsx +51 -0
- package/tree/cdk-index.d.ts +2 -0
- package/tree/cdk-index.js +6 -0
- package/tree/collection.d.ts +16 -0
- package/tree/collection.js +138 -0
- package/tree/control.d.ts +125 -0
- package/tree/control.js +166 -0
- package/tree/index.d.ts +154 -0
- package/tree/index.jsx +837 -0
- package/tree/intl.d.ts +2 -0
- package/tree/intl.js +36 -0
- package/tree/navigation-context.d.ts +44 -0
- package/tree/navigation-context.jsx +63 -0
- package/tree/tree-key-manager.d.ts +149 -0
- package/tree/tree-key-manager.js +336 -0
- package/utils/animation.d.ts +32 -0
- package/utils/animation.jsx +236 -0
- package/utils/data-attrs.d.ts +73 -0
- package/utils/data-attrs.jsx +217 -0
- package/utils/dev-off.d.ts +3 -0
- package/utils/dev-off.js +7 -0
- package/utils/dev-on.d.ts +3 -0
- package/utils/dev-on.js +17 -0
- package/utils/dom-props.d.ts +44 -0
- package/utils/dom-props.js +73 -0
- package/utils/dom.d.ts +85 -0
- package/utils/dom.js +402 -0
- package/utils/id.d.ts +23 -0
- package/utils/id.js +100 -0
- package/utils/index.d.ts +43 -0
- package/utils/index.js +160 -0
- package/utils/link-state.d.ts +6 -0
- package/utils/link-state.js +6 -0
- package/utils/links.d.ts +82 -0
- package/utils/links.jsx +150 -0
- package/utils/live-element.d.ts +8 -0
- package/utils/live-element.jsx +76 -0
- package/utils/live.d.ts +53 -0
- package/utils/live.jsx +169 -0
- package/utils/load-more-sentinel.d.ts +28 -0
- package/utils/load-more-sentinel.jsx +52 -0
- package/utils/motion-token.d.ts +4 -0
- package/utils/motion-token.js +48 -0
- package/utils/render.d.ts +19 -0
- package/utils/render.js +18 -0
- package/utils/transitions.d.ts +15 -0
- package/utils/transitions.js +104 -0
- package/utils/types.d.ts +111 -0
- package/utils/types.js +1 -0
- package/virtualizer/behaviour.d.ts +129 -0
- package/virtualizer/behaviour.js +437 -0
- package/virtualizer/collection-renderer.d.ts +62 -0
- package/virtualizer/collection-renderer.jsx +190 -0
- package/virtualizer/collection.d.ts +103 -0
- package/virtualizer/collection.js +155 -0
- package/virtualizer/dom.d.ts +50 -0
- package/virtualizer/dom.js +233 -0
- package/virtualizer/engine.d.ts +21 -0
- package/virtualizer/engine.js +21 -0
- package/virtualizer/grid-layout.d.ts +50 -0
- package/virtualizer/grid-layout.js +247 -0
- package/virtualizer/index.d.ts +3 -0
- package/virtualizer/index.jsx +5 -0
- package/virtualizer/layout-info.d.ts +33 -0
- package/virtualizer/layout-info.js +54 -0
- package/virtualizer/layout.d.ts +44 -0
- package/virtualizer/layout.js +30 -0
- package/virtualizer/list-layout.d.ts +103 -0
- package/virtualizer/list-layout.js +510 -0
- package/virtualizer/overscan-manager.d.ts +9 -0
- package/virtualizer/overscan-manager.js +32 -0
- package/virtualizer/point.d.ts +13 -0
- package/virtualizer/point.js +23 -0
- package/virtualizer/rect.d.ts +49 -0
- package/virtualizer/rect.js +105 -0
- package/virtualizer/reusable-view.d.ts +29 -0
- package/virtualizer/reusable-view.js +56 -0
- package/virtualizer/scroll-anchor.d.ts +62 -0
- package/virtualizer/scroll-anchor.js +130 -0
- package/virtualizer/size.d.ts +11 -0
- package/virtualizer/size.js +21 -0
- package/virtualizer/state.d.ts +35 -0
- package/virtualizer/state.js +89 -0
- package/virtualizer/table-collection.d.ts +45 -0
- package/virtualizer/table-collection.js +80 -0
- package/virtualizer/table-column-layout.d.ts +44 -0
- package/virtualizer/table-column-layout.js +210 -0
- package/virtualizer/table-layout.d.ts +55 -0
- package/virtualizer/table-layout.js +482 -0
- package/virtualizer/types.d.ts +63 -0
- package/virtualizer/types.js +1 -0
- package/virtualizer/utils.d.ts +2 -0
- package/virtualizer/utils.js +12 -0
- package/virtualizer/virtualizer-core.d.ts +61 -0
- package/virtualizer/virtualizer-core.js +304 -0
- package/virtualizer/virtualizer.d.ts +64 -0
- package/virtualizer/virtualizer.jsx +91 -0
- package/virtualizer/waterfall-layout.d.ts +41 -0
- package/virtualizer/waterfall-layout.js +227 -0
- package/wheel-picker/behaviour.d.ts +94 -0
- package/wheel-picker/behaviour.js +482 -0
- package/wheel-picker/index.d.ts +33 -0
- package/wheel-picker/index.jsx +66 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type Signal } from "@rivetjs/reactivity";
|
|
2
|
+
import type { Content } from "@rivetjs/runtime/jsx-runtime";
|
|
3
|
+
import type { SchedulerEvent, SchedulerRange, SchedulerView } from "./layout.js";
|
|
4
|
+
import type { SchedulerAxis } from "./context.jsx";
|
|
5
|
+
import type { SchedulerLayoutRange } from "./layout.js";
|
|
6
|
+
/** Second argument of `renderSlotMenu` (malva `MlvSchedulerSlotMenuContext` minus `$implicit`). */
|
|
7
|
+
export interface SchedulerSlotMenuContext {
|
|
8
|
+
/** The range is the pending keyboard selection the cell lies in (not the cell's own day / slot). */
|
|
9
|
+
readonly selection: boolean;
|
|
10
|
+
/** The view the menu opened in. */
|
|
11
|
+
readonly view: SchedulerView;
|
|
12
|
+
/** Closes the menu. */
|
|
13
|
+
readonly close: () => void;
|
|
14
|
+
}
|
|
15
|
+
/** Second argument of `renderEventMenu` (malva `MlvSchedulerEventMenuContext` minus `$implicit`). */
|
|
16
|
+
export interface SchedulerEventMenuContext {
|
|
17
|
+
readonly view: SchedulerView;
|
|
18
|
+
readonly close: () => void;
|
|
19
|
+
}
|
|
20
|
+
/** `renderSlotMenu` (read once at mount): items of the menu over an empty month cell, all-day cell or time slot. */
|
|
21
|
+
export type SchedulerRenderSlotMenu = (range: SchedulerRange, context: SchedulerSlotMenuContext) => Content;
|
|
22
|
+
/** `renderEventMenu` (read once at mount): items of the menu over an event chip. */
|
|
23
|
+
export type SchedulerRenderEventMenu<T = unknown> = (event: SchedulerEvent<T>, context: SchedulerEventMenuContext) => Content;
|
|
24
|
+
/** The open context menu (browser only). */
|
|
25
|
+
export interface SchedulerMenuOpen<T = unknown> {
|
|
26
|
+
readonly kind: "slot" | "event";
|
|
27
|
+
readonly event: SchedulerEvent<T> | null;
|
|
28
|
+
readonly range: SchedulerRange | null;
|
|
29
|
+
readonly selection: boolean;
|
|
30
|
+
/** Sticky across re-targets: some open of this panel took the pending selection (released on close). */
|
|
31
|
+
readonly holds: boolean;
|
|
32
|
+
/** Panel `aria-label` (`eventMenu` / `slotMenu`). */
|
|
33
|
+
readonly label: string;
|
|
34
|
+
readonly view: SchedulerView;
|
|
35
|
+
/** The cell / chip: keyboard anchor, direction scope. */
|
|
36
|
+
readonly anchor: HTMLElement;
|
|
37
|
+
/** Client point of a pointer open, `null` for a keyboard one. */
|
|
38
|
+
readonly point: {
|
|
39
|
+
readonly x: number;
|
|
40
|
+
readonly y: number;
|
|
41
|
+
} | null;
|
|
42
|
+
/** Bumped per open (a re-target re-renders the items and re-positions). */
|
|
43
|
+
readonly sequence: number;
|
|
44
|
+
}
|
|
45
|
+
/** What the root passes when an interaction opens a menu. */
|
|
46
|
+
export type SchedulerMenuRequest<T> = Omit<SchedulerMenuOpen<T>, "holds" | "point" | "sequence">;
|
|
47
|
+
/**
|
|
48
|
+
* Opens (or re-targets) the menu from `native` (malva `openFromEvent`): a `contextmenu` mouse event is prevented (the
|
|
49
|
+
* consumer's `onEventContextMenu` / `onSlotContextMenu` then sees `defaultPrevented`), the key was claimed already.
|
|
50
|
+
*/
|
|
51
|
+
export declare function openSchedulerMenu<T>(menu: Signal<SchedulerMenuOpen<T> | null>, request: SchedulerMenuRequest<T>, native: MouseEvent | KeyboardEvent): void;
|
|
52
|
+
/**
|
|
53
|
+
* The range a slot menu is about without a selection (malva `_slotRange`): a month / all-day cell = its day; a slot =
|
|
54
|
+
* its own duration, clamped to `maxTime` (24:00 = the next midnight: wall minutes roll over by themselves).
|
|
55
|
+
*/
|
|
56
|
+
export declare function slotMenuRange(day: number, minutes: number | null, axis: SchedulerAxis): SchedulerLayoutRange;
|
|
57
|
+
/**
|
|
58
|
+
* The scheduler's one context-menu panel (rendered only when `renderSlotMenu` or `renderEventMenu` is given):
|
|
59
|
+
* `Popover.rv-SchedulerMenu-popover` (standalone, non-modal) > `Menu.rv-SchedulerMenu[aria-label]` > the items.
|
|
60
|
+
*/
|
|
61
|
+
export declare function SchedulerMenu<T>(props: {
|
|
62
|
+
menu: Signal<SchedulerMenuOpen<T> | null>;
|
|
63
|
+
close: () => void;
|
|
64
|
+
renderSlotMenu: SchedulerRenderSlotMenu | undefined;
|
|
65
|
+
renderEventMenu: SchedulerRenderEventMenu<T> | undefined;
|
|
66
|
+
}): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Ported from @malva-ui/scheduler (src/lib/scheduler/scheduler.ts `_hasContextMenu` / `_contextMenu` /
|
|
2
|
+
// `_menuHoldsSelection` / `_openContextMenu` / `_onContextMenuClosed` / `_slotRange`, scheduler.html context menu,
|
|
3
|
+
// scheduler-defs.ts `MlvSchedulerSlotMenuDef` / `MlvSchedulerEventMenuDef`) and @malva-ui/core/menu
|
|
4
|
+
// (context-menu-trigger.ts `openFromEvent` / `_isKeyboardInitiated`), MIT, © 2026 Malva UI.
|
|
5
|
+
// Rivet:
|
|
6
|
+
// - the two menu defs → `renderSlotMenu(range, { selection, view, close })` / `renderEventMenu(event, { view, close })`
|
|
7
|
+
// (read once at mount; their output is reactive): the items are cdk `MenuItem`s (and sections / separators) inside
|
|
8
|
+
// one cdk `Menu` in one standalone, non-modal cdk `Popover` per scheduler (R4: cdk has no context-menu trigger).
|
|
9
|
+
// - the open menu is one root signal (`SchedulerMenuOpen`, written only in the browser: element + event values):
|
|
10
|
+
// a pointer open positions at the pointer (`getTargetRect`), a keyboard one (ContextMenu key / `Shift+F10`, or a
|
|
11
|
+
// `contextmenu` an assistive technology synthesised) against the cell / chip and focuses the first item; a second
|
|
12
|
+
// right-click re-targets the open panel (the content re-renders, the position follows the anchor); the overlay's
|
|
13
|
+
// focus scope returns focus to the element focused before the open.
|
|
14
|
+
// - the pending keyboard selection a slot menu took is cleared when the menu closes (malva bumps `selectionRelease`
|
|
15
|
+
// for the views to clear their own selection; here the selection is the one root signal).
|
|
16
|
+
// - non-modal: no underlay, nothing outside goes inert, so a right-click elsewhere reaches the scheduler and re-targets
|
|
17
|
+
// (malva: overlay without a backdrop); Escape, an item action and focus leaving the panel close it.
|
|
18
|
+
import { untrack } from "@rivetjs/reactivity";
|
|
19
|
+
import { Menu } from "../menu/index.jsx";
|
|
20
|
+
import { Popover } from "../popover/index.jsx";
|
|
21
|
+
/**
|
|
22
|
+
* A keyboard-initiated `contextmenu` (malva `_isKeyboardInitiated`): Firefox names its source, other browsers send a
|
|
23
|
+
* synthesised event with `detail` 0 at the client origin.
|
|
24
|
+
*/
|
|
25
|
+
function keyboardInitiated(event) {
|
|
26
|
+
const source = event.mozInputSource;
|
|
27
|
+
if (source !== undefined)
|
|
28
|
+
return source === 6;
|
|
29
|
+
return event.detail === 0 && event.clientX === 0 && event.clientY === 0;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Opens (or re-targets) the menu from `native` (malva `openFromEvent`): a `contextmenu` mouse event is prevented (the
|
|
33
|
+
* consumer's `onEventContextMenu` / `onSlotContextMenu` then sees `defaultPrevented`), the key was claimed already.
|
|
34
|
+
*/
|
|
35
|
+
export function openSchedulerMenu(menu, request, native) {
|
|
36
|
+
const pointer = native instanceof MouseEvent && native.type === "contextmenu" && !keyboardInitiated(native);
|
|
37
|
+
if (native instanceof MouseEvent)
|
|
38
|
+
native.preventDefault();
|
|
39
|
+
const previous = untrack(menu);
|
|
40
|
+
menu.set({
|
|
41
|
+
...request,
|
|
42
|
+
point: pointer ? { x: native.clientX, y: native.clientY } : null,
|
|
43
|
+
holds: !!previous?.holds || request.selection,
|
|
44
|
+
sequence: (previous?.sequence ?? 0) + 1,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The range a slot menu is about without a selection (malva `_slotRange`): a month / all-day cell = its day; a slot =
|
|
49
|
+
* its own duration, clamped to `maxTime` (24:00 = the next midnight: wall minutes roll over by themselves).
|
|
50
|
+
*/
|
|
51
|
+
export function slotMenuRange(day, minutes, axis) {
|
|
52
|
+
if (minutes === null)
|
|
53
|
+
return { start: day * 1440, end: (day + 1) * 1440, allDay: true };
|
|
54
|
+
return { start: day * 1440 + minutes, end: day * 1440 + Math.min(minutes + axis.slot, axis.max), allDay: false };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The scheduler's one context-menu panel (rendered only when `renderSlotMenu` or `renderEventMenu` is given):
|
|
58
|
+
* `Popover.rv-SchedulerMenu-popover` (standalone, non-modal) > `Menu.rv-SchedulerMenu[aria-label]` > the items.
|
|
59
|
+
*/
|
|
60
|
+
export function SchedulerMenu(props) {
|
|
61
|
+
const menu = props.menu;
|
|
62
|
+
const close = props.close;
|
|
63
|
+
const renderSlotMenu = props.renderSlotMenu;
|
|
64
|
+
const renderEventMenu = props.renderEventMenu;
|
|
65
|
+
return (<Popover triggerRef={() => {
|
|
66
|
+
// Tracks the open: a re-target re-positions against the new anchor / point.
|
|
67
|
+
const open = menu();
|
|
68
|
+
return open ? open.anchor : null;
|
|
69
|
+
}} getTargetRect={() => {
|
|
70
|
+
const point = untrack(menu)?.point;
|
|
71
|
+
return point ? new DOMRect(point.x, point.y, 0, 0) : null;
|
|
72
|
+
}} isOpen={() => menu() !== null} onOpenChange={(open) => {
|
|
73
|
+
if (!open)
|
|
74
|
+
close();
|
|
75
|
+
}} isNonModal placement="bottom start" offset={4} class="rv-SchedulerMenu-popover">
|
|
76
|
+
{() => {
|
|
77
|
+
const open = menu();
|
|
78
|
+
// Re-rendered per open: a re-target renders the new items and focuses again.
|
|
79
|
+
if (!open)
|
|
80
|
+
return null;
|
|
81
|
+
return (<Menu class="rv-SchedulerMenu" aria-label={open.label} autoFocus={open.point ? true : "first"} onClose={() => close()}>
|
|
82
|
+
{open.kind === "event"
|
|
83
|
+
? renderEventMenu(open.event, { view: open.view, close: () => close() })
|
|
84
|
+
: renderSlotMenu(open.range, { selection: open.selection, view: open.view, close: () => close() })}
|
|
85
|
+
</Menu>);
|
|
86
|
+
}}
|
|
87
|
+
</Popover>);
|
|
88
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type DOMValue } from "@rivetjs/runtime/dom";
|
|
2
|
+
import type { SchedulerEvent, SchedulerLaneSegment } from "./layout.js";
|
|
3
|
+
/** One rendered day cell (malva `MlvSchedulerMonthCell`, day numbers instead of dates). */
|
|
4
|
+
export interface SchedulerMonthCell<T = unknown> {
|
|
5
|
+
readonly dayIndex: number;
|
|
6
|
+
readonly day: number;
|
|
7
|
+
/** Localized day of month (decorative: the cell carries the name). */
|
|
8
|
+
readonly dayNumber: string;
|
|
9
|
+
/** Accessible name: the full date, `", today"` suffixed when it is. */
|
|
10
|
+
readonly label: string;
|
|
11
|
+
/** The full date without the today suffix (`+N more` names, panel title). */
|
|
12
|
+
readonly dateLabel: string;
|
|
13
|
+
readonly outside: boolean;
|
|
14
|
+
readonly today: boolean;
|
|
15
|
+
readonly weekend: boolean;
|
|
16
|
+
/** Visible segments starting in this cell (spanning bars live in their start cell). */
|
|
17
|
+
readonly segments: readonly SchedulerLaneSegment<T>[];
|
|
18
|
+
/** Hidden events of this day. */
|
|
19
|
+
readonly hidden: readonly SchedulerEvent<T>[];
|
|
20
|
+
/** `"+3 more"`, empty when nothing overflows. */
|
|
21
|
+
readonly moreText: string;
|
|
22
|
+
/** Accessible name of the `+N more` button; starts with `moreText` (WCAG 2.5.3). */
|
|
23
|
+
readonly moreLabel: string;
|
|
24
|
+
}
|
|
25
|
+
/** Month view (internal part of `Scheduler`). */
|
|
26
|
+
export declare function SchedulerMonth<T>(): DOMValue;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
// Ported from @malva-ui/scheduler (src/lib/month/scheduler-month.ts + .html: rows / cells model, labels, `+N more`
|
|
2
|
+
// overflow + toggling popover, roving tab stop default), MIT, © 2026 Malva UI.
|
|
3
|
+
// Rivet:
|
|
4
|
+
// - lanes per row = `visibleLanes` (live prop, server-exact) instead of malva's row-height measurement (no layout read,
|
|
5
|
+
// spec F4 / R3): the server HTML is final (chips, `+N more` counts, geometry custom properties).
|
|
6
|
+
// - roving tab stop: the focused DAY (region signal, a day number) instead of a `linkedSignal` index — it falls back
|
|
7
|
+
// to the default (today, else the 1st of the anchor month, else the first cell) whenever the range moves.
|
|
8
|
+
// - popover = cdk `Popover` (standalone, `triggerRef` = the open day's `+N more` button, non-modal, no underlay: drag
|
|
9
|
+
// hit-testing reaches the grid); the panel is derived from the day index, never a snapshot (malva rule).
|
|
10
|
+
// - Rivet additions: `showWeekNumbers` (row headers, ISO weeks), `data-weekend` (Pro Weekend Highlighting).
|
|
11
|
+
// - Chip drag / resize: delegated `schedulerPress` on the grid + the panel (T6); the panel stays mounted but hidden
|
|
12
|
+
// (`visibility: hidden`) while a gesture runs, so the grid under it is the drop target (malva rule).
|
|
13
|
+
// - Range selection (T7): the pointerdown of `schedulerPress` hands empty-cell presses to the lazy `select.ts`; cells
|
|
14
|
+
// paint `state.selection` (`aria-selected` / `data-selected`).
|
|
15
|
+
// - Keyboard, clicks, focus hand-off (T8): delegated on the grid + the panel (`keys-month.ts` / `keys.ts`, leaf
|
|
16
|
+
// chunks); `data-rk` holds the navigation keys while a cold handler chunk loads.
|
|
17
|
+
import { _regionState, computed, signal, useContext } from "@rivetjs/reactivity";
|
|
18
|
+
import { For, ref as elementRef } from "@rivetjs/runtime/dom";
|
|
19
|
+
import { Popover } from "../popover/index.jsx";
|
|
20
|
+
import { SchedulerContext } from "./context.jsx";
|
|
21
|
+
import { SchedulerEventChip } from "./event.jsx";
|
|
22
|
+
import { closeMorePanel, moreButtonOf, monthFocusIn, monthMoreClick, schedulerPress } from "./behaviour.js";
|
|
23
|
+
import { SCHEDULER_KEYS, chipFocusIn, chipFocusOut, schedulerInteraction } from "./keys.js";
|
|
24
|
+
import { monthKeyDown } from "./keys-month.js";
|
|
25
|
+
import { civilFromDay, dayFromCivil, formatDay } from "./dates.js";
|
|
26
|
+
import { dateLabel, isCellSelected, isoWeekNumber, schedulerMonthLayout, schedulerSelectionBounds } from "./state.js";
|
|
27
|
+
const keep = (previous, next) => previous === next || next == null;
|
|
28
|
+
const NO_SEGMENTS = Object.freeze([]);
|
|
29
|
+
const sameNumbers = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]);
|
|
30
|
+
/** Month view (internal part of `Scheduler`). */
|
|
31
|
+
export function SchedulerMonth() {
|
|
32
|
+
const ctx = useContext(SchedulerContext);
|
|
33
|
+
const state = ctx.state;
|
|
34
|
+
const popoverId = ctx.popoverId;
|
|
35
|
+
const onMoreAction = ctx.onMoreAction;
|
|
36
|
+
const grid = elementRef();
|
|
37
|
+
const focusDay = _regionState(() => signal(null));
|
|
38
|
+
const rows = computed(() => schedulerMonthLayout(ctx.events(), ctx.days(), ctx.rowLength(), ctx.visibleLanes()));
|
|
39
|
+
const selection = computed(() => schedulerSelectionBounds(state.selection(), ctx.days()));
|
|
40
|
+
const rowKeys = computed(() => rows().map((row) => row.index), { equals: sameNumbers });
|
|
41
|
+
const cells = computed(() => {
|
|
42
|
+
const days = ctx.days();
|
|
43
|
+
const locale = ctx.locale();
|
|
44
|
+
const today = ctx.today();
|
|
45
|
+
const weekend = ctx.weekend();
|
|
46
|
+
const anchorMonth = civilFromDay(ctx.anchorDay())[1];
|
|
47
|
+
const out = [];
|
|
48
|
+
for (const row of rows()) {
|
|
49
|
+
for (let dayIndex = row.startIndex; dayIndex <= row.endIndex; dayIndex++) {
|
|
50
|
+
const day = days[dayIndex];
|
|
51
|
+
const plain = dateLabel(day, locale);
|
|
52
|
+
const isToday = today === day;
|
|
53
|
+
const hidden = (row.layout.hiddenByDay.get(dayIndex) ?? []).map((segment) => segment.normalized.event);
|
|
54
|
+
const moreText = hidden.length ? ctx.t("moreEvents", { count: hidden.length }) : "";
|
|
55
|
+
const segments = row.layout.visible.filter((segment) => segment.startIndex === dayIndex);
|
|
56
|
+
out.push({
|
|
57
|
+
dayIndex,
|
|
58
|
+
day,
|
|
59
|
+
dayNumber: formatDay(day, locale, { day: "numeric" }),
|
|
60
|
+
label: isToday ? ctx.t("dayLabelToday", { date: plain }) : plain,
|
|
61
|
+
dateLabel: plain,
|
|
62
|
+
outside: civilFromDay(day)[1] !== anchorMonth,
|
|
63
|
+
today: isToday,
|
|
64
|
+
weekend: weekend.includes((day + 4) % 7),
|
|
65
|
+
segments: segments.length ? segments : NO_SEGMENTS,
|
|
66
|
+
hidden,
|
|
67
|
+
moreText,
|
|
68
|
+
moreLabel: hidden.length ? moreText + ", " + ctx.t("moreEventsLabel", { count: hidden.length, date: plain }) : "",
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return out;
|
|
73
|
+
});
|
|
74
|
+
// Today when visible, else the first day of the anchor month, else the first cell (malva `_defaultFocus`).
|
|
75
|
+
const tabStop = computed(() => {
|
|
76
|
+
const days = ctx.days();
|
|
77
|
+
const focused = focusDay();
|
|
78
|
+
if (focused !== null) {
|
|
79
|
+
const index = days.indexOf(focused);
|
|
80
|
+
if (index >= 0)
|
|
81
|
+
return index;
|
|
82
|
+
}
|
|
83
|
+
const today = ctx.today();
|
|
84
|
+
const todayIndex = today === null ? -1 : days.indexOf(today);
|
|
85
|
+
if (todayIndex >= 0)
|
|
86
|
+
return todayIndex;
|
|
87
|
+
const [year, month] = civilFromDay(ctx.anchorDay());
|
|
88
|
+
const first = dayFromCivil(year, month, 1);
|
|
89
|
+
return Math.max(0, days.findIndex((day) => day >= first));
|
|
90
|
+
});
|
|
91
|
+
const weekdays = computed(() => {
|
|
92
|
+
const locale = ctx.locale();
|
|
93
|
+
const weekend = ctx.weekend();
|
|
94
|
+
return ctx
|
|
95
|
+
.days()
|
|
96
|
+
.slice(0, ctx.rowLength())
|
|
97
|
+
.map((day) => ({ name: formatDay(day, locale, { weekday: "short" }), weekend: weekend.includes((day + 4) % 7) }));
|
|
98
|
+
});
|
|
99
|
+
const gridLabel = () => ctx.t("gridLabel.month", { period: formatDay(ctx.anchorDay(), ctx.locale(), { month: "long", year: "numeric" }) });
|
|
100
|
+
const openDay = () => state.popoverDay();
|
|
101
|
+
// Every segment touching the open day, visible or not (the panel list), re-derived from the live layout.
|
|
102
|
+
const panel = computed(() => {
|
|
103
|
+
const dayIndex = openDay();
|
|
104
|
+
if (dayIndex === null)
|
|
105
|
+
return null;
|
|
106
|
+
const cell = cells()[dayIndex];
|
|
107
|
+
const row = rows()[Math.floor(dayIndex / ctx.rowLength())];
|
|
108
|
+
if (!cell || !row || cell.hidden.length === 0)
|
|
109
|
+
return null;
|
|
110
|
+
const all = row.segments.filter((segment) => segment.startIndex <= dayIndex && segment.endIndex >= dayIndex && !segment.normalized.ghost);
|
|
111
|
+
return { dayIndex, label: cell.dateLabel, all };
|
|
112
|
+
});
|
|
113
|
+
const panelKeys = computed(() => panel()?.all.map((segment) => segment.key) ?? [], {
|
|
114
|
+
equals: (a, b) => a.length === b.length && a.every((k, i) => k === b[i]),
|
|
115
|
+
});
|
|
116
|
+
const mctx = {
|
|
117
|
+
state,
|
|
118
|
+
popoverId,
|
|
119
|
+
cell: (dayIndex) => cells()[dayIndex] ?? null,
|
|
120
|
+
moreDate: (day) => ctx.dateOf(day),
|
|
121
|
+
onMoreAction: (event) => onMoreAction?.(event),
|
|
122
|
+
focusDay,
|
|
123
|
+
};
|
|
124
|
+
return (<div class="rv-SchedulerMonth" style={{
|
|
125
|
+
"--rv-scheduler-row-length": String(ctx.rowLength()),
|
|
126
|
+
"--rv-scheduler-rows": String(rowKeys().length),
|
|
127
|
+
"--rv-scheduler-visible-lanes": String(ctx.visibleLanes()),
|
|
128
|
+
}} data-week-numbers={ctx.showWeekNumbers() ? "true" : undefined}>
|
|
129
|
+
<div ref={grid} class="rv-SchedulerMonth-grid" role="grid" aria-label={gridLabel()} aria-multiselectable={ctx.selectable() ? "true" : undefined} style={{ "user-select": "none", "-webkit-user-select": "none" }} data-rk={SCHEDULER_KEYS} onKeyDown={(e) => monthKeyDown(e, ctx)} onClick={(e) => {
|
|
130
|
+
monthMoreClick(e, mctx);
|
|
131
|
+
schedulerInteraction("click", e, ctx);
|
|
132
|
+
}} onDblClick={(e) => schedulerInteraction("dblclick", e, ctx)} onContextMenu={(e) => schedulerInteraction("contextmenu", e, ctx)} onFocusIn={(e) => {
|
|
133
|
+
monthFocusIn(e, mctx);
|
|
134
|
+
chipFocusIn(e, ctx);
|
|
135
|
+
}} onFocusOut={(e) => chipFocusOut(e, ctx)} onMouseDown={(e) => schedulerPress(e, state)} onTouchStart={(e) => schedulerPress(e, state)} onPointerDown={(e) => schedulerPress(e, state)}>
|
|
136
|
+
<div class="rv-SchedulerMonth-weekdays" role="row">
|
|
137
|
+
{ctx.showWeekNumbers() ? (<div class="rv-SchedulerMonth-weekday rv-SchedulerMonth-week-header" role="columnheader">
|
|
138
|
+
{ctx.t("weekNumber", { week: "" }).trim()}
|
|
139
|
+
</div>) : null}
|
|
140
|
+
<For each={weekdays} by={(_w, i) => i}>
|
|
141
|
+
{(weekday) => (<div class="rv-SchedulerMonth-weekday" role="columnheader" data-weekend={weekday().weekend ? "true" : undefined}>
|
|
142
|
+
{weekday().name}
|
|
143
|
+
</div>)}
|
|
144
|
+
</For>
|
|
145
|
+
</div>
|
|
146
|
+
<div class="rv-SchedulerMonth-rows" role="rowgroup">
|
|
147
|
+
<For each={rowKeys} by={(k) => k}>
|
|
148
|
+
{(rowKey) => {
|
|
149
|
+
const rowIndex = rowKey();
|
|
150
|
+
const dayIndices = computed(() => {
|
|
151
|
+
const row = rows()[rowIndex];
|
|
152
|
+
const out = [];
|
|
153
|
+
if (row)
|
|
154
|
+
for (let i = row.startIndex; i <= row.endIndex; i++)
|
|
155
|
+
out.push(i);
|
|
156
|
+
return out;
|
|
157
|
+
}, { equals: sameNumbers });
|
|
158
|
+
const weekNumber = () => {
|
|
159
|
+
const row = rows()[rowIndex];
|
|
160
|
+
return row ? isoWeekNumber(ctx.days()[row.startIndex]) : 0;
|
|
161
|
+
};
|
|
162
|
+
return (<div class="rv-SchedulerMonth-row" role="row">
|
|
163
|
+
{ctx.showWeekNumbers() ? (<div class="rv-SchedulerMonth-week-number" role="rowheader" aria-label={ctx.t("weekNumber", { week: weekNumber() })}>
|
|
164
|
+
{String(weekNumber())}
|
|
165
|
+
</div>) : null}
|
|
166
|
+
<For each={dayIndices} by={(i) => i}>
|
|
167
|
+
{(indexOf) => {
|
|
168
|
+
const dayIndex = indexOf();
|
|
169
|
+
const cell = computed(() => cells()[dayIndex], { equals: keep });
|
|
170
|
+
const segments = () => cell().segments;
|
|
171
|
+
return (<div class="rv-SchedulerMonth-cell" role="gridcell" aria-label={cell().label} tabIndex={tabStop() === dayIndex ? 0 : -1} data-rv-day-index={String(dayIndex)} data-rv-minutes="all-day" data-outside={cell().outside ? "true" : undefined} data-today={cell().today ? "true" : undefined} data-weekend={cell().weekend ? "true" : undefined} aria-selected={isCellSelected(selection(), dayIndex, null) ? "true" : undefined} data-selected={isCellSelected(selection(), dayIndex, null) ? "true" : undefined}>
|
|
172
|
+
<span class="rv-SchedulerMonth-day-number" aria-hidden="true">
|
|
173
|
+
{cell().dayNumber}
|
|
174
|
+
</span>
|
|
175
|
+
<div class="rv-SchedulerMonth-lanes">
|
|
176
|
+
<For each={segments} by={(segment) => segment.key}>
|
|
177
|
+
{(segment) => (<SchedulerEventChip segment={() => segment()} lane={true} spanning={() => segment().endIndex > segment().startIndex} geometry={() => ({
|
|
178
|
+
"--rv-scheduler-lane": String(segment().lane + 1),
|
|
179
|
+
"--rv-scheduler-span": String(segment().endIndex - segment().startIndex + 1),
|
|
180
|
+
})}/>)}
|
|
181
|
+
</For>
|
|
182
|
+
{cell().hidden.length ? (<button type="button" class="rv-SchedulerMonth-more" data-rv-more="" tabIndex={-1} aria-haspopup="dialog" aria-label={cell().moreLabel} aria-expanded={openDay() === dayIndex ? "true" : "false"} aria-controls={openDay() === dayIndex && panel() ? popoverId : undefined} style={{ "--rv-scheduler-lane": String(ctx.visibleLanes()) }}>
|
|
183
|
+
{cell().moreText}
|
|
184
|
+
</button>) : null}
|
|
185
|
+
</div>
|
|
186
|
+
</div>);
|
|
187
|
+
}}
|
|
188
|
+
</For>
|
|
189
|
+
</div>);
|
|
190
|
+
}}
|
|
191
|
+
</For>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
<Popover triggerRef={() => {
|
|
195
|
+
const dayIndex = openDay();
|
|
196
|
+
const element = grid();
|
|
197
|
+
return dayIndex === null || !element ? null : moreButtonOf(element, dayIndex);
|
|
198
|
+
}} isOpen={() => panel() !== null} onOpenChange={(open) => {
|
|
199
|
+
if (!open)
|
|
200
|
+
closeMorePanel(mctx, grid());
|
|
201
|
+
}} isNonModal placement="bottom start" shouldCloseOnInteractOutside={(element) => !element.closest("[data-rv-more]")} aria-label={panel()?.label} class="rv-SchedulerMonth-popover-overlay">
|
|
202
|
+
{() => (<div class="rv-SchedulerMonth-popover" role="group" id={popoverId} aria-label={panel()?.label} tabIndex={-1} data-dragging={state.dragging() ? "true" : undefined} style={{ visibility: state.dragging() ? "hidden" : undefined }} data-rk={SCHEDULER_KEYS} onKeyDown={(e) => monthKeyDown(e, ctx)} onClick={(e) => schedulerInteraction("click", e, ctx)} onDblClick={(e) => schedulerInteraction("dblclick", e, ctx)} onContextMenu={(e) => schedulerInteraction("contextmenu", e, ctx)} onFocusIn={(e) => chipFocusIn(e, ctx)} onFocusOut={(e) => chipFocusOut(e, ctx)} onMouseDown={(e) => schedulerPress(e, state)} onTouchStart={(e) => schedulerPress(e, state)}>
|
|
203
|
+
<div class="rv-SchedulerMonth-popover-title">{panel()?.label}</div>
|
|
204
|
+
<For each={panelKeys} by={(k) => k}>
|
|
205
|
+
{(keyOf) => {
|
|
206
|
+
const key = keyOf();
|
|
207
|
+
// Keeps the last segment while the list drops this key (the row is removed in the same flush).
|
|
208
|
+
const segment = computed(() => (panel()?.all.find((candidate) => candidate.key === key) ?? null), { equals: keep });
|
|
209
|
+
return <SchedulerEventChip segment={() => segment()} lane={true} tabIndex={0} handles={false}/>;
|
|
210
|
+
}}
|
|
211
|
+
</For>
|
|
212
|
+
</div>)}
|
|
213
|
+
</Popover>
|
|
214
|
+
</div>);
|
|
215
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** Screen position of a pointer. */
|
|
2
|
+
export interface SchedulerPointerPosition {
|
|
3
|
+
readonly x: number;
|
|
4
|
+
readonly y: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Milliseconds a touch must rest before a scheduler pointer gesture arms (range selection, chip resize and the chip
|
|
8
|
+
* drag-move's `dragStartDelay`): every touch gesture has the same "press, then drag" feel and a swipe scrolls.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TOUCH_GESTURE_DELAY = 200;
|
|
11
|
+
/**
|
|
12
|
+
* The element under a pointer position, falling back to `fallback`. A touch pointer is implicitly captured by the
|
|
13
|
+
* element its `pointerdown` landed on, so a gesture that hit-tests cells must not read `event.target` on moves;
|
|
14
|
+
* `elementFromPoint` returns `null` outside the viewport, so the caller's own target is the fallback.
|
|
15
|
+
*/
|
|
16
|
+
export declare function elementAt(doc: Document, at: SchedulerPointerPosition, fallback: EventTarget | null): EventTarget | null;
|
|
17
|
+
/** Milliseconds a gesture's trailing click is swallowed for (malva `suppressNextClick` window). */
|
|
18
|
+
export declare const CLICK_SWALLOW_WINDOW = 300;
|
|
19
|
+
/**
|
|
20
|
+
* Swallows the click the release of a gesture produces (malva `suppressNextClick`): once, within
|
|
21
|
+
* `CLICK_SWALLOW_WINDOW` ms, only when the click lands inside one of `scope` (the scheduler root, the dragged chip),
|
|
22
|
+
* and never after a touch gesture (a prevented `touchmove` leaves no trailing click, so the user's next tap would be
|
|
23
|
+
* eaten). The next `pointerdown` drops it: a click after a new press belongs to that press.
|
|
24
|
+
*/
|
|
25
|
+
export declare function swallowNextClick(doc: Document, press: Event, scope: readonly (Element | null | undefined)[]): void;
|
|
26
|
+
/** Callbacks of `attachPointerDrag` / `startPointerDrag`. */
|
|
27
|
+
export interface SchedulerPointerDragHandlers {
|
|
28
|
+
/** Fires once, when the pointer first crosses the threshold. `point` is where the pointer went down. */
|
|
29
|
+
onStart?(point: SchedulerPointerPosition, event: Event): void;
|
|
30
|
+
/** Fires on every pointermove after the threshold. */
|
|
31
|
+
onMove(point: SchedulerPointerPosition, event: Event): void;
|
|
32
|
+
/** Fires on pointerup. `moved` is `false` for a plain click that never crossed the threshold. */
|
|
33
|
+
onEnd(point: SchedulerPointerPosition, moved: boolean, event: Event | null): void;
|
|
34
|
+
/** Fires on Escape or pointercancel; `onEnd` is not called afterwards. */
|
|
35
|
+
onCancel?(): void;
|
|
36
|
+
}
|
|
37
|
+
/** Options of `attachPointerDrag` / `startPointerDrag`. */
|
|
38
|
+
export interface SchedulerPointerDragOptions {
|
|
39
|
+
/** Distance in px before a press becomes a drag. Default `5`. */
|
|
40
|
+
readonly threshold?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Capture the pointer on the element so the compatibility mouse events and the trailing `click` retarget to it.
|
|
43
|
+
* Default `true`; range selections pass `false` (their cells own the click handlers a press still has to reach).
|
|
44
|
+
*/
|
|
45
|
+
readonly capture?: boolean;
|
|
46
|
+
/** Return `true` for targets that must not start a drag (chips, buttons). */
|
|
47
|
+
ignore?(target: Element): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Milliseconds a TOUCH pointer must stay still before the gesture arms. Default `0`. A touch that moves before
|
|
50
|
+
* the timer fires abandons the gesture silently (the browser pans); once armed, the pointer is captured and
|
|
51
|
+
* `touchmove` is prevented. Mouse and pen keep the movement threshold.
|
|
52
|
+
*/
|
|
53
|
+
readonly touchDelay?: number;
|
|
54
|
+
/** The press was released before the gesture started (lazy chunk): ends at once as a click. */
|
|
55
|
+
readonly released?: () => boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Press-drag-release tracker on Pointer Events, started from an already dispatched `pointerdown`. Handles button
|
|
59
|
+
* filtering, threshold, capture, touch delay, foreign pointers, Escape / pointercancel and cleanup. Returns the
|
|
60
|
+
* teardown (also run when the gesture ends).
|
|
61
|
+
*/
|
|
62
|
+
export declare function startPointerDrag(down: Event, element: HTMLElement, handlers: SchedulerPointerDragHandlers, options?: SchedulerPointerDragOptions): () => void;
|
|
63
|
+
/** malva `attachPointerDrag`: tracks every press on `element` (one gesture at a time). Returns the detach. */
|
|
64
|
+
export declare function attachPointerDrag(element: HTMLElement, handlers: SchedulerPointerDragHandlers, options?: SchedulerPointerDragOptions): () => void;
|