@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,484 @@
|
|
|
1
|
+
// Ported from react-aria-components (react-spectrum) src/Calendar.tsx, Apache-2.0, © Adobe.
|
|
2
|
+
// Rivet:
|
|
3
|
+
// - RAC parts 1:1: Calendar / RangeCalendar provide `ButtonContext` (slots `previous` / `next`),
|
|
4
|
+
// `HeadingContext` (`children: () => title`), `TextContext` (slot `errorMessage`) and the state
|
|
5
|
+
// contexts; CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody, CalendarCell,
|
|
6
|
+
// CalendarHeading, CalendarMonthPicker, CalendarYearPicker read them.
|
|
7
|
+
// - Preset: a Calendar without children renders RAC's documented anatomy (header with the previous
|
|
8
|
+
// button, heading and next button, then one CalendarGrid per visible month). The buttons have no
|
|
9
|
+
// icon (headless: pass `<Button slot="previous"><ChevronLeft /></Button>` children for icons).
|
|
10
|
+
// - Dates live in signals as strings; cells capture date keys only (resumable). Each grid body
|
|
11
|
+
// re-renders when its first date moves (a computed key), cells patch attributes otherwise.
|
|
12
|
+
// - Grid interaction is delegated: one keydown / focus / pointer handler per `<table>` finds the
|
|
13
|
+
// cell from `data-date`; RAC's per-cell useHover / usePress / useFocusRing states are signals of
|
|
14
|
+
// the hovered / pressed / focus-visible cell key in the state.
|
|
15
|
+
// - Render props are accessors (`class={({ isSelected }) => isSelected() ? … }`); CalendarCell's
|
|
16
|
+
// `date` render prop is an accessor too (date objects are not serializable).
|
|
17
|
+
// `render` (RAC DOMRenderProps): given, the attributes object (reactive entries are accessors) goes to `render(attrs, renderProps)` instead of the default element. Parts: Calendar, RangeCalendar, CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody, CalendarCell
|
|
18
|
+
// (the `<td>` stays; `render` replaces its inner `<div>`).
|
|
19
|
+
// Deviations: CalendarCell takes no HoverEvents (`isHovered` render prop only);
|
|
20
|
+
// no `locale` prop (I18nProvider); CalendarContext provides `{ firstDayOfWeek }` only (RAC: all props).
|
|
21
|
+
import { computed, createContext, untrack, useContext } from "@rivetjs/reactivity";
|
|
22
|
+
import { clientEffect } from "@rivetjs/runtime/dom";
|
|
23
|
+
import { isSlot } from "@rivetjs/runtime/slot";
|
|
24
|
+
import { visuallyHidden } from "@rivetjs/cdk/a11y";
|
|
25
|
+
import { globalDOMProps } from "@rivetjs/cdk/dom-props";
|
|
26
|
+
import {} from "../utils/render.js";
|
|
27
|
+
import { ButtonContext, Button } from "../button/index.jsx";
|
|
28
|
+
import { Heading, HeadingContext } from "../heading/index.jsx";
|
|
29
|
+
import { TextContext } from "../text/index.jsx";
|
|
30
|
+
import { Provider, contextProps, renderProps, renderPropsOf, resumableContext, } from "../slots/index.jsx";
|
|
31
|
+
import { createCalendarState, createRangeCalendarState, getDatesInWeek, isCalendarDisabled, isValueInvalid, message, readDate, visibleRange, } from "../state/calendar.js";
|
|
32
|
+
import { GRID_KEYS, calendarCellProps, calendarGridClick, calendarGridContextMenu, calendarGridFocusIn, calendarGridFocusOut, calendarGridKeyDown, calendarGridMouseDown, calendarGridPointerDown, calendarGridPointerOut, calendarGridPointerOver, calendarGridPointerUp, calendarGridProps, calendarHeadingProps, calendarMonthPickerProps, calendarNextPress, calendarPreviousPress, calendarProps, calendarYearPickerProps, calendarFlagAttr, cellKey, focusCell, isOutsideMonthOf, promptId, rangeCalendarFocusOut, rangeCalendarProps, visibleStartKey, } from "./behaviour.jsx";
|
|
33
|
+
import { liveDateProps } from "../date-field/live-value.jsx";
|
|
34
|
+
import { hasLive, isLive, liveOptions } from "../utils/live.jsx";
|
|
35
|
+
export const CalendarContext = resumableContext(createContext({}, { id: "rv-calendar" }));
|
|
36
|
+
export const RangeCalendarContext = resumableContext(createContext({}, { id: "rv-range-calendar" }));
|
|
37
|
+
export const CalendarStateContext = resumableContext(createContext(null, { id: "rv-calendar-state" }));
|
|
38
|
+
export const RangeCalendarStateContext = resumableContext(createContext(null, { id: "rv-range-calendar-state" }));
|
|
39
|
+
/** Handlers the Calendar root / CalendarGrid own (the user's run after them). */
|
|
40
|
+
const ROOT_OWNED = ["onFocusOut", "style", "render"];
|
|
41
|
+
const GRID_OWNED = [
|
|
42
|
+
"onKeyDown",
|
|
43
|
+
"onFocusIn",
|
|
44
|
+
"onFocusOut",
|
|
45
|
+
"onMouseDown",
|
|
46
|
+
"onPointerDown",
|
|
47
|
+
"onPointerUp",
|
|
48
|
+
"onPointerOver",
|
|
49
|
+
"onPointerOut",
|
|
50
|
+
"onClick",
|
|
51
|
+
"onContextMenu",
|
|
52
|
+
"style",
|
|
53
|
+
"render",
|
|
54
|
+
];
|
|
55
|
+
/** Number of month grids of a visible duration (preset). */
|
|
56
|
+
const monthCount = (duration) => (duration.months && !duration.days && !duration.weeks && !duration.years ? duration.months : 1);
|
|
57
|
+
/** The preset anatomy (no children): header (previous, heading, next) + one grid per visible month. */
|
|
58
|
+
function defaultChildren(state) {
|
|
59
|
+
const months = [...Array(monthCount(state.visibleDuration)).keys()];
|
|
60
|
+
return (<>
|
|
61
|
+
<header>
|
|
62
|
+
<Button slot="previous"/>
|
|
63
|
+
<Heading />
|
|
64
|
+
<Button slot="next"/>
|
|
65
|
+
</header>
|
|
66
|
+
{months.map((offset) => (<CalendarGrid offset={offset ? { months: offset } : undefined}>{(date) => <CalendarCell date={date}/>}</CalendarGrid>))}
|
|
67
|
+
</>);
|
|
68
|
+
}
|
|
69
|
+
/** Shared Calendar / RangeCalendar root (RAC: two copies of the same markup). */
|
|
70
|
+
function calendarRoot(props, ref, state) {
|
|
71
|
+
const isRange = state.mode === "range";
|
|
72
|
+
const aria = isRange ? rangeCalendarProps(props, state) : calendarProps(props, state);
|
|
73
|
+
const values = {
|
|
74
|
+
state,
|
|
75
|
+
isDisabled: () => isCalendarDisabled(state),
|
|
76
|
+
isInvalid: () => isValueInvalid(state),
|
|
77
|
+
};
|
|
78
|
+
// Lazy: the preset renders inside the Provider; an object-literal
|
|
79
|
+
// function value (resumable wherever the children accessor is encoded).
|
|
80
|
+
const preset = { content: () => defaultChildren(state) };
|
|
81
|
+
const childrenUnset = untrack(() => props.children) === undefined;
|
|
82
|
+
// Options hoisted: no function in the `rp` initializer (spread sites capture `rp.class` / `rp.style`, not the
|
|
83
|
+
// children accessor: per-key live views).
|
|
84
|
+
const rpOptions = {
|
|
85
|
+
values,
|
|
86
|
+
defaultClassName: isRange ? "rv-RangeCalendar" : "rv-Calendar",
|
|
87
|
+
defaultChildren: childrenUnset ? preset.content : undefined,
|
|
88
|
+
};
|
|
89
|
+
const rp = renderPropsOf(props, rpOptions);
|
|
90
|
+
// Live props (P5): a live `isDisabled` is an accessor in the spread bag `dom` (default element and
|
|
91
|
+
// `render` attrs); a static one is the plain value.
|
|
92
|
+
const isDisabled = calendarFlagAttr(state, 0);
|
|
93
|
+
const dom = globalDOMProps(props, ROOT_OWNED);
|
|
94
|
+
// Only in the spread bag (a plain JSX attribute after a spread takes the key out of it).
|
|
95
|
+
dom["data-disabled"] = isDisabled;
|
|
96
|
+
const userFocusOut = props.onFocusOut;
|
|
97
|
+
const commitBehavior = isRange ? (props.commitBehavior ?? "select") : undefined;
|
|
98
|
+
const slot = props.slot || undefined;
|
|
99
|
+
const { calendarProps: rootProps, prevButtonProps, nextButtonProps, errorMessageProps, title } = aria;
|
|
100
|
+
const ariaLabel = rootProps["aria-label"];
|
|
101
|
+
const firstDayOfWeek = props.firstDayOfWeek;
|
|
102
|
+
if (props.render) {
|
|
103
|
+
const attrs = {
|
|
104
|
+
...dom,
|
|
105
|
+
...rootProps,
|
|
106
|
+
ref: ref,
|
|
107
|
+
class: () => rp.class(),
|
|
108
|
+
style: () => rp.style(),
|
|
109
|
+
slot,
|
|
110
|
+
"data-rv-calendar": state.id,
|
|
111
|
+
"data-commit-behavior": commitBehavior,
|
|
112
|
+
"data-invalid": () => (isValueInvalid(state) ? "true" : undefined),
|
|
113
|
+
onFocusOut: (event) => {
|
|
114
|
+
rangeCalendarFocusOut(event, state);
|
|
115
|
+
userFocusOut?.(event);
|
|
116
|
+
},
|
|
117
|
+
children: () => (<Provider values={[
|
|
118
|
+
[
|
|
119
|
+
ButtonContext,
|
|
120
|
+
{
|
|
121
|
+
slots: {
|
|
122
|
+
previous: {
|
|
123
|
+
"aria-label": prevButtonProps["aria-label"](),
|
|
124
|
+
isDisabled: prevButtonProps.isDisabled,
|
|
125
|
+
onPress: (event) => calendarPreviousPress(event, state),
|
|
126
|
+
},
|
|
127
|
+
next: {
|
|
128
|
+
"aria-label": nextButtonProps["aria-label"](),
|
|
129
|
+
isDisabled: nextButtonProps.isDisabled,
|
|
130
|
+
onPress: (event) => calendarNextPress(event, state),
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
[HeadingContext, { "aria-hidden": "true", level: 2, children: title }],
|
|
136
|
+
isRange ? [RangeCalendarStateContext, state] : [CalendarStateContext, state],
|
|
137
|
+
isRange ? [RangeCalendarContext, { firstDayOfWeek }] : [CalendarContext, { firstDayOfWeek }],
|
|
138
|
+
[TextContext, { slots: { errorMessage: errorMessageProps } }],
|
|
139
|
+
]}>
|
|
140
|
+
<div style={visuallyHidden}>
|
|
141
|
+
<h2>{ariaLabel()}</h2>
|
|
142
|
+
</div>
|
|
143
|
+
{rp.children()}
|
|
144
|
+
{isRange ? (<>
|
|
145
|
+
<span id={promptId(state, "start")} hidden>
|
|
146
|
+
{message(state, "startRangeSelectionPrompt")}
|
|
147
|
+
</span>
|
|
148
|
+
<span id={promptId(state, "finish")} hidden>
|
|
149
|
+
{message(state, "finishRangeSelectionPrompt")}
|
|
150
|
+
</span>
|
|
151
|
+
</>) : null}
|
|
152
|
+
<div style={visuallyHidden}>
|
|
153
|
+
<button type="button" aria-label={nextButtonProps["aria-label"]()} disabled={nextButtonProps.isDisabled()} onClick={() => calendarNextPress(null, state)} tabIndex={-1}></button>
|
|
154
|
+
</div>
|
|
155
|
+
</Provider>),
|
|
156
|
+
};
|
|
157
|
+
return props.render(attrs, values);
|
|
158
|
+
}
|
|
159
|
+
return (<div {...dom} {...rootProps} ref={ref} class={rp.class()} style={rp.style()} slot={slot} data-rv-calendar={state.id} data-commit-behavior={commitBehavior} data-invalid={isValueInvalid(state) ? "true" : undefined} onFocusOut={(event) => {
|
|
160
|
+
rangeCalendarFocusOut(event, state);
|
|
161
|
+
userFocusOut?.(event);
|
|
162
|
+
}}>
|
|
163
|
+
<Provider values={[
|
|
164
|
+
[
|
|
165
|
+
ButtonContext,
|
|
166
|
+
{
|
|
167
|
+
slots: {
|
|
168
|
+
previous: {
|
|
169
|
+
"aria-label": prevButtonProps["aria-label"](),
|
|
170
|
+
isDisabled: prevButtonProps.isDisabled,
|
|
171
|
+
onPress: (event) => calendarPreviousPress(event, state),
|
|
172
|
+
},
|
|
173
|
+
next: {
|
|
174
|
+
"aria-label": nextButtonProps["aria-label"](),
|
|
175
|
+
isDisabled: nextButtonProps.isDisabled,
|
|
176
|
+
onPress: (event) => calendarNextPress(event, state),
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
[HeadingContext, { "aria-hidden": "true", level: 2, children: title }],
|
|
182
|
+
isRange ? [RangeCalendarStateContext, state] : [CalendarStateContext, state],
|
|
183
|
+
isRange ? [RangeCalendarContext, { firstDayOfWeek }] : [CalendarContext, { firstDayOfWeek }],
|
|
184
|
+
[TextContext, { slots: { errorMessage: errorMessageProps } }],
|
|
185
|
+
]}>
|
|
186
|
+
{/* A screen reader only description of the entire visible range rather than a separate heading above each grid. */}
|
|
187
|
+
<div style={visuallyHidden}>
|
|
188
|
+
<h2>{ariaLabel()}</h2>
|
|
189
|
+
</div>
|
|
190
|
+
{rp.children()}
|
|
191
|
+
{isRange ? (<>
|
|
192
|
+
<span id={promptId(state, "start")} hidden>
|
|
193
|
+
{message(state, "startRangeSelectionPrompt")}
|
|
194
|
+
</span>
|
|
195
|
+
<span id={promptId(state, "finish")} hidden>
|
|
196
|
+
{message(state, "finishRangeSelectionPrompt")}
|
|
197
|
+
</span>
|
|
198
|
+
</>) : null}
|
|
199
|
+
{/* For touch screen readers, a visually hidden next button after the month grid so it's easy to navigate after reaching the end without going all the way to the top. */}
|
|
200
|
+
<div style={visuallyHidden}>
|
|
201
|
+
<button type="button" aria-label={nextButtonProps["aria-label"]()} disabled={nextButtonProps.isDisabled()} onClick={() => calendarNextPress(null, state)} tabIndex={-1}></button>
|
|
202
|
+
</div>
|
|
203
|
+
</Provider>
|
|
204
|
+
</div>);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Rivet: a picker provides `defaultValue` / `defaultFocusedValue` / `isInvalid` as accessors through
|
|
208
|
+
* CalendarContext (read when the popover creates the calendar, ACCESSOR RULE); resolve them once.
|
|
209
|
+
*/
|
|
210
|
+
function resolveAccessors(props, liveInvalid) {
|
|
211
|
+
// Live props: a controlled `value={date()}` stays live (string-form accessor; read, never written); so does a live
|
|
212
|
+
// `isInvalid={x()}` (an accessor from `liveOptions`).
|
|
213
|
+
const out = { ...liveDateProps(props) };
|
|
214
|
+
for (const key of liveInvalid ? ["defaultValue", "defaultFocusedValue"] : ["defaultValue", "defaultFocusedValue", "isInvalid"]) {
|
|
215
|
+
const value = out[key];
|
|
216
|
+
// These options are never signals, so any function is an accessor.
|
|
217
|
+
if (typeof value === "function")
|
|
218
|
+
out[key] = untrack(value);
|
|
219
|
+
}
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
/** Shared state setup: `autoFocus` focuses the focused cell once mounted (RAC useCalendarCell `autoFocus`). */
|
|
223
|
+
function autoFocusCell(props, state) {
|
|
224
|
+
if (props.autoFocus)
|
|
225
|
+
clientEffect(() => focusCell(state, document.querySelector(`[data-rv-calendar="${state.id}"]`)), { when: "load" });
|
|
226
|
+
}
|
|
227
|
+
/** A calendar displays one or more date grids and allows users to select a single date. */
|
|
228
|
+
export function Calendar(inProps) {
|
|
229
|
+
// Live props (P5): `isDisabled` / `isReadOnly` / `isInvalid` and a controlled `value` stay live (accessors into the
|
|
230
|
+
// state); the rest of the body is read once (untracked: a prop change never re-creates the calendar).
|
|
231
|
+
return untrack(() => calendarPart(inProps));
|
|
232
|
+
}
|
|
233
|
+
/** Calendar flags that stay live (accessors the state reads at use). */
|
|
234
|
+
const CALENDAR_LIVE = ["isDisabled", "isReadOnly", "isInvalid"];
|
|
235
|
+
function calendarPart(inProps) {
|
|
236
|
+
const [ctxProps, ref] = contextProps(inProps, inProps.ref, CalendarContext);
|
|
237
|
+
const props = hasLive(ctxProps) ? liveOptions(ctxProps, CALENDAR_LIVE) : ctxProps;
|
|
238
|
+
const state = createCalendarState(resolveAccessors(props, isLive(ctxProps, "isInvalid")));
|
|
239
|
+
autoFocusCell(props, state);
|
|
240
|
+
return calendarRoot(props, ref, state);
|
|
241
|
+
}
|
|
242
|
+
/** A range calendar displays one or more date grids and allows users to select a contiguous range of dates. */
|
|
243
|
+
export function RangeCalendar(inProps) {
|
|
244
|
+
// Live props (P5): as Calendar.
|
|
245
|
+
return untrack(() => rangeCalendarPart(inProps));
|
|
246
|
+
}
|
|
247
|
+
function rangeCalendarPart(inProps) {
|
|
248
|
+
const [ctxProps, ref] = contextProps(inProps, inProps.ref, RangeCalendarContext);
|
|
249
|
+
const props = hasLive(ctxProps) ? liveOptions(ctxProps, CALENDAR_LIVE) : ctxProps;
|
|
250
|
+
const state = createRangeCalendarState(resolveAccessors(props, isLive(ctxProps, "isInvalid")));
|
|
251
|
+
autoFocusCell(props, state);
|
|
252
|
+
return calendarRoot(props, ref, state);
|
|
253
|
+
}
|
|
254
|
+
/** The calendar state of the enclosing Calendar / RangeCalendar. */
|
|
255
|
+
const calendarStateOf = () => (useContext(CalendarStateContext) ?? useContext(RangeCalendarStateContext));
|
|
256
|
+
const InternalCalendarGridContext = resumableContext(createContext(null, { id: "rv-calendar-grid" }));
|
|
257
|
+
/** A render function (not lazy JSX children, which are functions too). */
|
|
258
|
+
const isRenderFunction = (children) => typeof children === "function" && !isSlot(children);
|
|
259
|
+
/** A calendar grid displays a single grid of days within a calendar or range calendar (a month by default). */
|
|
260
|
+
export function CalendarGrid(props) {
|
|
261
|
+
const state = calendarStateOf();
|
|
262
|
+
const offset = props.offset;
|
|
263
|
+
// The first date: re-renders the body only when it moves (an outside `focusedValue` write included).
|
|
264
|
+
const startDate = computed(() => (offset ? cellKey(visibleRange(state).start.add(offset)) : visibleStartKey(state)));
|
|
265
|
+
const grid = calendarGridProps({ startDate, weekdayStyle: props.weekdayStyle }, state);
|
|
266
|
+
const dom = globalDOMProps(props, GRID_OWNED);
|
|
267
|
+
// Locals: a resumable closure reading `props.x` would capture the whole props object.
|
|
268
|
+
const { onKeyDown: userKeyDown, onFocusIn: userFocusIn, onFocusOut: userFocusOut, onMouseDown: userMouseDown, onPointerDown: userPointerDown, onPointerUp: userPointerUp, onPointerOver: userPointerOver, onPointerOut: userPointerOut, onClick: userClick, onContextMenu: userContextMenu, } = props;
|
|
269
|
+
const children = props.children;
|
|
270
|
+
const className = props.class ?? "rv-CalendarGrid";
|
|
271
|
+
const style = props.style;
|
|
272
|
+
const ref = props.ref;
|
|
273
|
+
if (props.render) {
|
|
274
|
+
const attrs = {
|
|
275
|
+
...dom,
|
|
276
|
+
...grid.gridProps,
|
|
277
|
+
ref: ref,
|
|
278
|
+
style,
|
|
279
|
+
class: className,
|
|
280
|
+
"data-rk": GRID_KEYS,
|
|
281
|
+
onKeyDown: (event) => {
|
|
282
|
+
calendarGridKeyDown(event, state);
|
|
283
|
+
userKeyDown?.(event);
|
|
284
|
+
},
|
|
285
|
+
onFocusIn: (event) => {
|
|
286
|
+
calendarGridFocusIn(event, state);
|
|
287
|
+
userFocusIn?.(event);
|
|
288
|
+
},
|
|
289
|
+
onFocusOut: (event) => {
|
|
290
|
+
calendarGridFocusOut(event, state);
|
|
291
|
+
userFocusOut?.(event);
|
|
292
|
+
},
|
|
293
|
+
onMouseDown: (event) => {
|
|
294
|
+
calendarGridMouseDown(event);
|
|
295
|
+
userMouseDown?.(event);
|
|
296
|
+
},
|
|
297
|
+
onPointerDown: (event) => {
|
|
298
|
+
calendarGridPointerDown(event, state);
|
|
299
|
+
userPointerDown?.(event);
|
|
300
|
+
},
|
|
301
|
+
onPointerUp: (event) => {
|
|
302
|
+
calendarGridPointerUp(event);
|
|
303
|
+
userPointerUp?.(event);
|
|
304
|
+
},
|
|
305
|
+
onPointerOver: (event) => {
|
|
306
|
+
calendarGridPointerOver(event, state);
|
|
307
|
+
userPointerOver?.(event);
|
|
308
|
+
},
|
|
309
|
+
onPointerOut: (event) => {
|
|
310
|
+
calendarGridPointerOut(event, state);
|
|
311
|
+
userPointerOut?.(event);
|
|
312
|
+
},
|
|
313
|
+
onClick: (event) => {
|
|
314
|
+
calendarGridClick(event, state);
|
|
315
|
+
userClick?.(event);
|
|
316
|
+
},
|
|
317
|
+
onContextMenu: (event) => {
|
|
318
|
+
calendarGridContextMenu(event);
|
|
319
|
+
userContextMenu?.(event);
|
|
320
|
+
},
|
|
321
|
+
children: () => isRenderFunction(children) ? (<>
|
|
322
|
+
<CalendarGridHeader>{(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}</CalendarGridHeader>
|
|
323
|
+
<CalendarGridBody>{children}</CalendarGridBody>
|
|
324
|
+
</>) : (children),
|
|
325
|
+
};
|
|
326
|
+
return (<Provider values={[[InternalCalendarGridContext, { headerProps: grid.headerProps, weekDays: grid.weekDays, startDate, weeksInMonth: grid.weeksInMonth }]]}>
|
|
327
|
+
{props.render(attrs, {})}
|
|
328
|
+
</Provider>);
|
|
329
|
+
}
|
|
330
|
+
return (<Provider values={[[InternalCalendarGridContext, { headerProps: grid.headerProps, weekDays: grid.weekDays, startDate, weeksInMonth: grid.weeksInMonth }]]}>
|
|
331
|
+
<table {...dom} {...grid.gridProps} ref={ref} style={style} class={className} data-rk={GRID_KEYS} onKeyDown={(event) => {
|
|
332
|
+
calendarGridKeyDown(event, state);
|
|
333
|
+
userKeyDown?.(event);
|
|
334
|
+
}} onFocusIn={(event) => {
|
|
335
|
+
calendarGridFocusIn(event, state);
|
|
336
|
+
userFocusIn?.(event);
|
|
337
|
+
}} onFocusOut={(event) => {
|
|
338
|
+
calendarGridFocusOut(event, state);
|
|
339
|
+
userFocusOut?.(event);
|
|
340
|
+
}} onMouseDown={(event) => {
|
|
341
|
+
calendarGridMouseDown(event);
|
|
342
|
+
userMouseDown?.(event);
|
|
343
|
+
}} onPointerDown={(event) => {
|
|
344
|
+
calendarGridPointerDown(event, state);
|
|
345
|
+
userPointerDown?.(event);
|
|
346
|
+
}} onPointerUp={(event) => {
|
|
347
|
+
calendarGridPointerUp(event);
|
|
348
|
+
userPointerUp?.(event);
|
|
349
|
+
}} onPointerOver={(event) => {
|
|
350
|
+
calendarGridPointerOver(event, state);
|
|
351
|
+
userPointerOver?.(event);
|
|
352
|
+
}} onPointerOut={(event) => {
|
|
353
|
+
calendarGridPointerOut(event, state);
|
|
354
|
+
userPointerOut?.(event);
|
|
355
|
+
}} onClick={(event) => {
|
|
356
|
+
calendarGridClick(event, state);
|
|
357
|
+
userClick?.(event);
|
|
358
|
+
}} onContextMenu={(event) => {
|
|
359
|
+
calendarGridContextMenu(event);
|
|
360
|
+
userContextMenu?.(event);
|
|
361
|
+
}}>
|
|
362
|
+
{isRenderFunction(children) ? (<>
|
|
363
|
+
<CalendarGridHeader>{(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}</CalendarGridHeader>
|
|
364
|
+
<CalendarGridBody>{children}</CalendarGridBody>
|
|
365
|
+
</>) : (children)}
|
|
366
|
+
</table>
|
|
367
|
+
</Provider>);
|
|
368
|
+
}
|
|
369
|
+
/** A calendar grid header displays a row of week day names at the top of a month. */
|
|
370
|
+
export function CalendarGridHeader(props) {
|
|
371
|
+
const { headerProps, weekDays } = useContext(InternalCalendarGridContext);
|
|
372
|
+
const dom = globalDOMProps(props, ["style", "render"]);
|
|
373
|
+
const render = props.children;
|
|
374
|
+
const { ref, style } = props;
|
|
375
|
+
const className = props.class ?? "rv-CalendarGridHeader";
|
|
376
|
+
if (props.render) {
|
|
377
|
+
const attrs = { ...dom, ...headerProps, ref: ref, style, class: className, children: () => <tr>{weekDays().map((day) => render(day))}</tr> };
|
|
378
|
+
return props.render(attrs, undefined);
|
|
379
|
+
}
|
|
380
|
+
return (<thead {...dom} {...headerProps} ref={ref} style={style} class={className}>
|
|
381
|
+
<tr>{weekDays().map((day) => render(day))}</tr>
|
|
382
|
+
</thead>);
|
|
383
|
+
}
|
|
384
|
+
/** A calendar header cell displays a week day name at the top of a column within a calendar. */
|
|
385
|
+
export function CalendarHeaderCell(props) {
|
|
386
|
+
const dom = globalDOMProps(props, ["style", "render"]);
|
|
387
|
+
const { id, ref, style, children } = props;
|
|
388
|
+
const className = props.class || "rv-CalendarHeaderCell";
|
|
389
|
+
if (props.render)
|
|
390
|
+
return props.render({ ...dom, id, ref: ref, style, class: className, children }, undefined);
|
|
391
|
+
return (<th {...dom} id={id} ref={ref} style={style} class={className}>
|
|
392
|
+
{children}
|
|
393
|
+
</th>);
|
|
394
|
+
}
|
|
395
|
+
/** The body rows of the grid starting at `key` (re-rendered only when it moves: reads `start` only, see `visibleStart`). */
|
|
396
|
+
function gridRows(state, key, weeksInMonth, render) {
|
|
397
|
+
return untrack(() => {
|
|
398
|
+
const start = readDate(state, key);
|
|
399
|
+
return [...new Array(weeksInMonth()).keys()].map((weekIndex) => (<tr>{getDatesInWeek(state, weekIndex, start).map((date) => (date ? render(date) : <td></td>))}</tr>));
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
/** A calendar grid body displays a grid of calendar cells within a month. */
|
|
403
|
+
export function CalendarGridBody(props) {
|
|
404
|
+
const state = calendarStateOf();
|
|
405
|
+
const { startDate, weeksInMonth } = useContext(InternalCalendarGridContext);
|
|
406
|
+
const dom = globalDOMProps(props, ["style", "render"]);
|
|
407
|
+
const render = props.children;
|
|
408
|
+
const { ref, style } = props;
|
|
409
|
+
const className = props.class ?? "rv-CalendarGridBody";
|
|
410
|
+
if (props.render) {
|
|
411
|
+
return props.render({ ...dom, ref: ref, style, class: className, children: () => gridRows(state, startDate(), weeksInMonth, render) }, undefined);
|
|
412
|
+
}
|
|
413
|
+
return (<tbody {...dom} ref={ref} style={style} class={className}>
|
|
414
|
+
{gridRows(state, startDate(), weeksInMonth, render)}
|
|
415
|
+
</tbody>);
|
|
416
|
+
}
|
|
417
|
+
/** A calendar cell displays a date cell within a calendar grid which can be selected by the user. */
|
|
418
|
+
export function CalendarCell(props) {
|
|
419
|
+
const state = calendarStateOf();
|
|
420
|
+
const grid = useContext(InternalCalendarGridContext);
|
|
421
|
+
const date = props.date;
|
|
422
|
+
const cellRef = props.ref;
|
|
423
|
+
const key = cellKey(date);
|
|
424
|
+
// The cell is re-created when its grid's first date moves: the month is read once.
|
|
425
|
+
const monthStart = untrack(() => readDate(state, grid ? grid.startDate() : visibleStartKey(state)));
|
|
426
|
+
const isOutsideMonth = isOutsideMonthOf(state, date, monthStart);
|
|
427
|
+
const cell = calendarCellProps({ date: key, isOutsideMonth }, state);
|
|
428
|
+
const formattedDate = untrack(cell.formattedDate);
|
|
429
|
+
const values = {
|
|
430
|
+
date: () => readDate(state, key),
|
|
431
|
+
formattedDate,
|
|
432
|
+
isHovered: cell.isHovered,
|
|
433
|
+
isPressed: cell.isPressed,
|
|
434
|
+
isSelected: cell.isSelected,
|
|
435
|
+
isSelectionStart: cell.isSelectionStart,
|
|
436
|
+
isSelectionEnd: cell.isSelectionEnd,
|
|
437
|
+
isFocused: cell.isFocused,
|
|
438
|
+
isFocusVisible: cell.isFocusVisible,
|
|
439
|
+
isDisabled: cell.isDisabled,
|
|
440
|
+
isOutsideVisibleRange: cell.isOutsideVisibleRange,
|
|
441
|
+
isOutsideMonth: () => isOutsideMonth,
|
|
442
|
+
isUnavailable: cell.isUnavailable,
|
|
443
|
+
isInvalid: cell.isInvalid,
|
|
444
|
+
isToday: cell.isToday,
|
|
445
|
+
};
|
|
446
|
+
// Live props (P5): class / style / children through a live view when one is live (`renderPropsOf`). On a resumed page
|
|
447
|
+
// the view's forwards narrow to those keys when the cell's props do not serialize (its `date`, a CalendarDate).
|
|
448
|
+
const rp = renderPropsOf(props, { values, defaultChildren: formattedDate, defaultClassName: "rv-CalendarCell" });
|
|
449
|
+
const dom = globalDOMProps(props, ["style", "render"]);
|
|
450
|
+
// `tabindex` keyed as rendered: on a resumed page the spread binding diffs the server's attribute
|
|
451
|
+
// names against the object's keys, so a `tabIndex` key drops `tabindex` for a moment on activation —
|
|
452
|
+
// Chrome then blurs the focused cell (a range calendar commits on that blur).
|
|
453
|
+
const { tabIndex: tabindex, ...buttonAttrs } = cell.buttonProps;
|
|
454
|
+
const button = { ...buttonAttrs, tabindex };
|
|
455
|
+
const { cellProps } = cell;
|
|
456
|
+
if (props.render) {
|
|
457
|
+
const attrs = { ...dom, ...button, class: () => rp.class(), style: () => rp.style(), children: () => rp.children() };
|
|
458
|
+
return (<td {...cellProps} ref={cellRef}>
|
|
459
|
+
{props.render(attrs, values)}
|
|
460
|
+
</td>);
|
|
461
|
+
}
|
|
462
|
+
return (<td {...cellProps} ref={cellRef}>
|
|
463
|
+
<div {...dom} {...button} class={rp.class()} style={rp.style()}>
|
|
464
|
+
{rp.children()}
|
|
465
|
+
</div>
|
|
466
|
+
</td>);
|
|
467
|
+
}
|
|
468
|
+
/** The heading of a calendar month (RAC CalendarHeading: the visible month at `offset`). */
|
|
469
|
+
export function CalendarHeading(props) {
|
|
470
|
+
const { offset, format, class: className = "rv-CalendarHeading", ...headingProps } = props;
|
|
471
|
+
const state = calendarStateOf();
|
|
472
|
+
const options = { offset, format };
|
|
473
|
+
return <Heading {...headingProps} class={className} children={() => calendarHeadingProps(options, state)}/>;
|
|
474
|
+
}
|
|
475
|
+
/** Provides the months of the focused year to a picker (e.g. a Select). */
|
|
476
|
+
export function CalendarMonthPicker(props) {
|
|
477
|
+
const { children, ...options } = props;
|
|
478
|
+
return children(calendarMonthPickerProps(options, calendarStateOf()));
|
|
479
|
+
}
|
|
480
|
+
/** Provides the years around the focused date to a picker (e.g. a Select). */
|
|
481
|
+
export function CalendarYearPicker(props) {
|
|
482
|
+
const { children, ...options } = props;
|
|
483
|
+
return children(calendarYearPickerProps(options, calendarStateOf()));
|
|
484
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LocalizedStrings } from "@rivetjs/cdk/i18n";
|
|
2
|
+
export type CalendarMessageKey = "previous" | "next" | "selectedDateDescription" | "selectedRangeDescription" | "todayDate" | "todayDateSelected" | "dateSelected" | "startRangeSelectionPrompt" | "finishRangeSelectionPrompt" | "minimumDate" | "maximumDate" | "dateRange";
|
|
3
|
+
export declare const calendarMessages: LocalizedStrings<CalendarMessageKey>;
|
package/calendar/intl.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const calendarMessages = {
|
|
2
|
+
"ar-AE": { "dateRange": "{startDate} إلى {endDate}", "dateSelected": "{date} المحدد", "finishRangeSelectionPrompt": "انقر لإنهاء عملية تحديد نطاق التاريخ", "maximumDate": "آخر تاريخ متاح", "minimumDate": "أول تاريخ متاح", "next": "التالي", "previous": "السابق", "selectedDateDescription": "تاريخ محدد: {date}", "selectedRangeDescription": "المدى الزمني المحدد: {dateRange}", "startRangeSelectionPrompt": "انقر لبدء عملية تحديد نطاق التاريخ", "todayDate": "اليوم، {date}", "todayDateSelected": "اليوم، {date} محدد" },
|
|
3
|
+
"bg-BG": { "dateRange": "{startDate} до {endDate}", "dateSelected": "Избрано е {date}", "finishRangeSelectionPrompt": "Натиснете, за да довършите избора на времеви интервал", "maximumDate": "Последна налична дата", "minimumDate": "Първа налична дата", "next": "Напред", "previous": "Назад", "selectedDateDescription": "Избрана дата: {date}", "selectedRangeDescription": "Избран диапазон: {dateRange}", "startRangeSelectionPrompt": "Натиснете, за да пристъпите към избора на времеви интервал", "todayDate": "Днес, {date}", "todayDateSelected": "Днес, {date} са избрани" },
|
|
4
|
+
"cs-CZ": { "dateRange": "{startDate} až {endDate}", "dateSelected": "Vybráno {date}", "finishRangeSelectionPrompt": "Kliknutím dokončíte výběr rozsahu dat", "maximumDate": "Poslední dostupné datum", "minimumDate": "První dostupné datum", "next": "Další", "previous": "Předchozí", "selectedDateDescription": "Vybrané datum: {date}", "selectedRangeDescription": "Vybrané období: {dateRange}", "startRangeSelectionPrompt": "Kliknutím zahájíte výběr rozsahu dat", "todayDate": "Dnes, {date}", "todayDateSelected": "Dnes, vybráno {date}" },
|
|
5
|
+
"da-DK": { "dateRange": "{startDate} til {endDate}", "dateSelected": "{date} valgt", "finishRangeSelectionPrompt": "Klik for at fuldføre valg af datoområde", "maximumDate": "Sidste ledige dato", "minimumDate": "Første ledige dato", "next": "Næste", "previous": "Forrige", "selectedDateDescription": "Valgt dato: {date}", "selectedRangeDescription": "Valgt interval: {dateRange}", "startRangeSelectionPrompt": "Klik for at starte valg af datoområde", "todayDate": "I dag, {date}", "todayDateSelected": "I dag, {date} valgt" },
|
|
6
|
+
"de-DE": { "dateRange": "{startDate} bis {endDate}", "dateSelected": "{date} ausgewählt", "finishRangeSelectionPrompt": "Klicken, um die Auswahl des Datumsbereichs zu beenden", "maximumDate": "Letztes verfügbares Datum", "minimumDate": "Erstes verfügbares Datum", "next": "Weiter", "previous": "Zurück", "selectedDateDescription": "Ausgewähltes Datum: {date}", "selectedRangeDescription": "Ausgewählter Bereich: {dateRange}", "startRangeSelectionPrompt": "Klicken, um die Auswahl des Datumsbereichs zu beginnen", "todayDate": "Heute, {date}", "todayDateSelected": "Heute, {date} ausgewählt" },
|
|
7
|
+
"el-GR": { "dateRange": "{startDate} έως {endDate}", "dateSelected": "Επιλέχθηκε {date}", "finishRangeSelectionPrompt": "Κάντε κλικ για να ολοκληρώσετε την επιλογή εύρους ημερομηνιών", "maximumDate": "Τελευταία διαθέσιμη ημερομηνία", "minimumDate": "Πρώτη διαθέσιμη ημερομηνία", "next": "Επόμενο", "previous": "Προηγούμενο", "selectedDateDescription": "Επιλεγμένη ημερομηνία: {date}", "selectedRangeDescription": "Επιλεγμένο εύρος: {dateRange}", "startRangeSelectionPrompt": "Κάντε κλικ για να ξεκινήσετε την επιλογή εύρους ημερομηνιών", "todayDate": "Σήμερα, {date}", "todayDateSelected": "Σήμερα, επιλέχτηκε {date}" },
|
|
8
|
+
"en-US": { "previous": "Previous", "next": "Next", "selectedDateDescription": "Selected Date: {date}", "selectedRangeDescription": "Selected Range: {dateRange}", "todayDate": "Today, {date}", "todayDateSelected": "Today, {date} selected", "dateSelected": "{date} selected", "startRangeSelectionPrompt": "Click to start selecting date range", "finishRangeSelectionPrompt": "Click to finish selecting date range", "minimumDate": "First available date", "maximumDate": "Last available date", "dateRange": "{startDate} to {endDate}" },
|
|
9
|
+
"es-ES": { "dateRange": "{startDate} a {endDate}", "dateSelected": "{date} seleccionado", "finishRangeSelectionPrompt": "Haga clic para terminar de seleccionar rango de fechas", "maximumDate": "Última fecha disponible", "minimumDate": "Primera fecha disponible", "next": "Siguiente", "previous": "Anterior", "selectedDateDescription": "Fecha seleccionada: {date}", "selectedRangeDescription": "Intervalo seleccionado: {dateRange}", "startRangeSelectionPrompt": "Haga clic para comenzar a seleccionar un rango de fechas", "todayDate": "Hoy, {date}", "todayDateSelected": "Hoy, {date} seleccionado" },
|
|
10
|
+
"et-EE": { "dateRange": "{startDate} kuni {endDate}", "dateSelected": "{date} valitud", "finishRangeSelectionPrompt": "Klõpsake kuupäevavahemiku valimise lõpetamiseks", "maximumDate": "Viimane saadaolev kuupäev", "minimumDate": "Esimene saadaolev kuupäev", "next": "Järgmine", "previous": "Eelmine", "selectedDateDescription": "Valitud kuupäev: {date}", "selectedRangeDescription": "Valitud vahemik: {dateRange}", "startRangeSelectionPrompt": "Klõpsake kuupäevavahemiku valimiseks", "todayDate": "Täna, {date}", "todayDateSelected": "Täna, {date} valitud" },
|
|
11
|
+
"fi-FI": { "dateRange": "{startDate} – {endDate}", "dateSelected": "{date} valittu", "finishRangeSelectionPrompt": "Lopeta päivämääräalueen valinta napsauttamalla tätä.", "maximumDate": "Viimeinen varattavissa oleva päivämäärä", "minimumDate": "Ensimmäinen varattavissa oleva päivämäärä", "next": "Seuraava", "previous": "Edellinen", "selectedDateDescription": "Valittu päivämäärä: {date}", "selectedRangeDescription": "Valittu aikaväli: {dateRange}", "startRangeSelectionPrompt": "Aloita päivämääräalueen valinta napsauttamalla tätä.", "todayDate": "Tänään, {date}", "todayDateSelected": "Tänään, {date} valittu" },
|
|
12
|
+
"fr-FR": { "dateRange": "{startDate} à {endDate}", "dateSelected": "{date} sélectionné", "finishRangeSelectionPrompt": "Cliquer pour finir de sélectionner la plage de dates", "maximumDate": "Dernière date disponible", "minimumDate": "Première date disponible", "next": "Suivant", "previous": "Précédent", "selectedDateDescription": "Date sélectionnée : {date}", "selectedRangeDescription": "Plage sélectionnée : {dateRange}", "startRangeSelectionPrompt": "Cliquer pour commencer à sélectionner la plage de dates", "todayDate": "Aujourd'hui, {date}", "todayDateSelected": "Aujourd’hui, {date} sélectionné" },
|
|
13
|
+
"he-IL": { "dateRange": "{startDate} עד {endDate}", "dateSelected": "{date} נבחר", "finishRangeSelectionPrompt": "חץ כדי לסיים את בחירת טווח התאריכים", "maximumDate": "תאריך פנוי אחרון", "minimumDate": "תאריך פנוי ראשון", "next": "הבא", "previous": "הקודם", "selectedDateDescription": "תאריך נבחר: {date}", "selectedRangeDescription": "טווח נבחר: {dateRange}", "startRangeSelectionPrompt": "לחץ כדי להתחיל בבחירת טווח התאריכים", "todayDate": "היום, {date}", "todayDateSelected": "היום, {date} נבחר" },
|
|
14
|
+
"hr-HR": { "dateRange": "{startDate} do {endDate}", "dateSelected": "{date} odabran", "finishRangeSelectionPrompt": "Kliknite da dovršite raspon odabranih datuma", "maximumDate": "Posljednji raspoloživi datum", "minimumDate": "Prvi raspoloživi datum", "next": "Sljedeći", "previous": "Prethodni", "selectedDateDescription": "Odabrani datum: {date}", "selectedRangeDescription": "Odabrani raspon: {dateRange}", "startRangeSelectionPrompt": "Kliknite da započnete raspon odabranih datuma", "todayDate": "Danas, {date}", "todayDateSelected": "Danas, odabran {date}" },
|
|
15
|
+
"hu-HU": { "dateRange": "{startDate}–{endDate}", "dateSelected": "{date} kiválasztva", "finishRangeSelectionPrompt": "Kattintson a dátumtartomány kijelölésének befejezéséhez", "maximumDate": "Utolsó elérhető dátum", "minimumDate": "Az első elérhető dátum", "next": "Következő", "previous": "Előző", "selectedDateDescription": "Kijelölt dátum: {date}", "selectedRangeDescription": "Kijelölt tartomány: {dateRange}", "startRangeSelectionPrompt": "Kattintson a dátumtartomány kijelölésének indításához", "todayDate": "Ma, {date}", "todayDateSelected": "Ma, {date} kijelölve" },
|
|
16
|
+
"it-IT": { "dateRange": "Da {startDate} a {endDate}", "dateSelected": "{date} selezionata", "finishRangeSelectionPrompt": "Fai clic per completare la selezione dell’intervallo di date", "maximumDate": "Ultima data disponibile", "minimumDate": "Prima data disponibile", "next": "Successivo", "previous": "Precedente", "selectedDateDescription": "Data selezionata: {date}", "selectedRangeDescription": "Intervallo selezionato: {dateRange}", "startRangeSelectionPrompt": "Fai clic per selezionare l’intervallo di date", "todayDate": "Oggi, {date}", "todayDateSelected": "Oggi, {date} selezionata" },
|
|
17
|
+
"ja-JP": { "dateRange": "{startDate} から {endDate}", "dateSelected": "{date} を選択", "finishRangeSelectionPrompt": "クリックして日付範囲の選択を終了", "maximumDate": "最終利用可能日", "minimumDate": "最初の利用可能日", "next": "次へ", "previous": "前へ", "selectedDateDescription": "選択した日付 : {date}", "selectedRangeDescription": "選択範囲 : {dateRange}", "startRangeSelectionPrompt": "クリックして日付範囲の選択を開始", "todayDate": "本日、{date}", "todayDateSelected": "本日、{date} を選択" },
|
|
18
|
+
"ko-KR": { "dateRange": "{startDate} ~ {endDate}", "dateSelected": "{date} 선택됨", "finishRangeSelectionPrompt": "날짜 범위 선택을 완료하려면 클릭하십시오.", "maximumDate": "마지막으로 사용 가능한 일자", "minimumDate": "처음으로 사용 가능한 일자", "next": "다음", "previous": "이전", "selectedDateDescription": "선택 일자: {date}", "selectedRangeDescription": "선택 범위: {dateRange}", "startRangeSelectionPrompt": "날짜 범위 선택을 시작하려면 클릭하십시오.", "todayDate": "오늘, {date}", "todayDateSelected": "오늘, {date} 선택됨" },
|
|
19
|
+
"lt-LT": { "dateRange": "Nuo {startDate} iki {endDate}", "dateSelected": "Pasirinkta {date}", "finishRangeSelectionPrompt": "Spustelėkite, kad baigtumėte pasirinkti datų intervalą", "maximumDate": "Paskutinė galima data", "minimumDate": "Pirmoji galima data", "next": "Paskesnis", "previous": "Ankstesnis", "selectedDateDescription": "Pasirinkta data: {date}", "selectedRangeDescription": "Pasirinktas intervalas: {dateRange}", "startRangeSelectionPrompt": "Spustelėkite, kad pradėtumėte pasirinkti datų intervalą", "todayDate": "Šiandien, {date}", "todayDateSelected": "Šiandien, pasirinkta {date}" },
|
|
20
|
+
"lv-LV": { "dateRange": "No {startDate} līdz {endDate}", "dateSelected": "Atlasīts: {date}", "finishRangeSelectionPrompt": "Noklikšķiniet, lai pabeigtu datumu diapazona atlasi", "maximumDate": "Pēdējais pieejamais datums", "minimumDate": "Pirmais pieejamais datums", "next": "Tālāk", "previous": "Atpakaļ", "selectedDateDescription": "Atlasītais datums: {date}", "selectedRangeDescription": "Atlasītais diapazons: {dateRange}", "startRangeSelectionPrompt": "Noklikšķiniet, lai sāktu datumu diapazona atlasi", "todayDate": "Šodien, {date}", "todayDateSelected": "Atlasīta šodiena, {date}" },
|
|
21
|
+
"nb-NO": { "dateRange": "{startDate} til {endDate}", "dateSelected": "{date} valgt", "finishRangeSelectionPrompt": "Klikk for å fullføre valg av datoområde", "maximumDate": "Siste tilgjengelige dato", "minimumDate": "Første tilgjengelige dato", "next": "Neste", "previous": "Forrige", "selectedDateDescription": "Valgt dato: {date}", "selectedRangeDescription": "Valgt område: {dateRange}", "startRangeSelectionPrompt": "Klikk for å starte valg av datoområde", "todayDate": "I dag, {date}", "todayDateSelected": "I dag, {date} valgt" },
|
|
22
|
+
"nl-NL": { "dateRange": "{startDate} tot {endDate}", "dateSelected": "{date} geselecteerd", "finishRangeSelectionPrompt": "Klik om de selectie van het datumbereik te voltooien", "maximumDate": "Laatste beschikbare datum", "minimumDate": "Eerste beschikbare datum", "next": "Volgende", "previous": "Vorige", "selectedDateDescription": "Geselecteerde datum: {date}", "selectedRangeDescription": "Geselecteerd bereik: {dateRange}", "startRangeSelectionPrompt": "Klik om het datumbereik te selecteren", "todayDate": "Vandaag, {date}", "todayDateSelected": "Vandaag, {date} geselecteerd" },
|
|
23
|
+
"pl-PL": { "dateRange": "{startDate} do {endDate}", "dateSelected": "Wybrano {date}", "finishRangeSelectionPrompt": "Kliknij, aby zakończyć wybór zakresu dat", "maximumDate": "Ostatnia dostępna data", "minimumDate": "Pierwsza dostępna data", "next": "Dalej", "previous": "Wstecz", "selectedDateDescription": "Wybrana data: {date}", "selectedRangeDescription": "Wybrany zakres: {dateRange}", "startRangeSelectionPrompt": "Kliknij, aby rozpocząć wybór zakresu dat", "todayDate": "Dzisiaj, {date}", "todayDateSelected": "Dzisiaj wybrano {date}" },
|
|
24
|
+
"pt-BR": { "dateRange": "{startDate} a {endDate}", "dateSelected": "{date} selecionado", "finishRangeSelectionPrompt": "Clique para concluir a seleção do intervalo de datas", "maximumDate": "Última data disponível", "minimumDate": "Primeira data disponível", "next": "Próximo", "previous": "Anterior", "selectedDateDescription": "Data selecionada: {date}", "selectedRangeDescription": "Intervalo selecionado: {dateRange}", "startRangeSelectionPrompt": "Clique para iniciar a seleção do intervalo de datas", "todayDate": "Hoje, {date}", "todayDateSelected": "Hoje, {date} selecionado" },
|
|
25
|
+
"pt-PT": { "dateRange": "{startDate} a {endDate}", "dateSelected": "{date} selecionado", "finishRangeSelectionPrompt": "Clique para terminar de selecionar o intervalo de datas", "maximumDate": "Última data disponível", "minimumDate": "Primeira data disponível", "next": "Próximo", "previous": "Anterior", "selectedDateDescription": "Data selecionada: {date}", "selectedRangeDescription": "Intervalo selecionado: {dateRange}", "startRangeSelectionPrompt": "Clique para começar a selecionar o intervalo de datas", "todayDate": "Hoje, {date}", "todayDateSelected": "Hoje, {date} selecionado" },
|
|
26
|
+
"ro-RO": { "dateRange": "De la {startDate} până la {endDate}", "dateSelected": "{date} selectată", "finishRangeSelectionPrompt": "Apăsaţi pentru a finaliza selecţia razei pentru dată", "maximumDate": "Ultima dată disponibilă", "minimumDate": "Prima dată disponibilă", "next": "Următorul", "previous": "Înainte", "selectedDateDescription": "Dată selectată: {date}", "selectedRangeDescription": "Interval selectat: {dateRange}", "startRangeSelectionPrompt": "Apăsaţi pentru a începe selecţia razei pentru dată", "todayDate": "Astăzi, {date}", "todayDateSelected": "Azi, {date} selectată" },
|
|
27
|
+
"ru-RU": { "dateRange": "С {startDate} по {endDate}", "dateSelected": "Выбрано {date}", "finishRangeSelectionPrompt": "Щелкните, чтобы завершить выбор диапазона дат", "maximumDate": "Последняя доступная дата", "minimumDate": "Первая доступная дата", "next": "Далее", "previous": "Назад", "selectedDateDescription": "Выбранная дата: {date}", "selectedRangeDescription": "Выбранный диапазон: {dateRange}", "startRangeSelectionPrompt": "Щелкните, чтобы начать выбор диапазона дат", "todayDate": "Сегодня, {date}", "todayDateSelected": "Сегодня, выбрано {date}" },
|
|
28
|
+
"sk-SK": { "dateRange": "Od {startDate} do {endDate}", "dateSelected": "Vybratý dátum {date}", "finishRangeSelectionPrompt": "Kliknutím dokončíte výber rozsahu dátumov", "maximumDate": "Posledný dostupný dátum", "minimumDate": "Prvý dostupný dátum", "next": "Nasledujúce", "previous": "Predchádzajúce", "selectedDateDescription": "Vybratý dátum: {date}", "selectedRangeDescription": "Vybratý rozsah: {dateRange}", "startRangeSelectionPrompt": "Kliknutím spustíte výber rozsahu dátumov", "todayDate": "Dnes {date}", "todayDateSelected": "Vybratý dnešný dátum {date}" },
|
|
29
|
+
"sl-SI": { "dateRange": "{startDate} do {endDate}", "dateSelected": "{date} izbrano", "finishRangeSelectionPrompt": "Kliknite za dokončanje izbire datumskega obsega", "maximumDate": "Zadnji razpoložljivi datum", "minimumDate": "Prvi razpoložljivi datum", "next": "Naprej", "previous": "Nazaj", "selectedDateDescription": "Izbrani datum: {date}", "selectedRangeDescription": "Izbrano območje: {dateRange}", "startRangeSelectionPrompt": "Kliknite za začetek izbire datumskega obsega", "todayDate": "Danes, {date}", "todayDateSelected": "Danes, {date} izbrano" },
|
|
30
|
+
"sr-SP": { "dateRange": "{startDate} do {endDate}", "dateSelected": "{date} izabran", "finishRangeSelectionPrompt": "Kliknite da dovršite opseg izabranih datuma", "maximumDate": "Zadnji raspoloživi datum", "minimumDate": "Prvi raspoloživi datum", "next": "Sledeći", "previous": "Prethodni", "selectedDateDescription": "Izabrani datum: {date}", "selectedRangeDescription": "Izabrani period: {dateRange}", "startRangeSelectionPrompt": "Kliknite da započnete opseg izabranih datuma", "todayDate": "Danas, {date}", "todayDateSelected": "Danas, izabran {date}" },
|
|
31
|
+
"sv-SE": { "dateRange": "{startDate} till {endDate}", "dateSelected": "{date} har valts", "finishRangeSelectionPrompt": "Klicka för att avsluta val av datumintervall", "maximumDate": "Sista tillgängliga datum", "minimumDate": "Första tillgängliga datum", "next": "Nästa", "previous": "Föregående", "selectedDateDescription": "Valt datum: {date}", "selectedRangeDescription": "Valt intervall: {dateRange}", "startRangeSelectionPrompt": "Klicka för att välja datumintervall", "todayDate": "Idag, {date}", "todayDateSelected": "Idag, {date} har valts" },
|
|
32
|
+
"tr-TR": { "dateRange": "{startDate} - {endDate}", "dateSelected": "{date} seçildi", "finishRangeSelectionPrompt": "Tarih aralığı seçimini tamamlamak için tıklayın", "maximumDate": "Son müsait tarih", "minimumDate": "İlk müsait tarih", "next": "Sonraki", "previous": "Önceki", "selectedDateDescription": "Seçilen Tarih: {date}", "selectedRangeDescription": "Seçilen Aralık: {dateRange}", "startRangeSelectionPrompt": "Tarih aralığı seçimini başlatmak için tıklayın", "todayDate": "Bugün, {date}", "todayDateSelected": "Bugün, {date} seçildi" },
|
|
33
|
+
"uk-UA": { "dateRange": "{startDate} — {endDate}", "dateSelected": "Вибрано {date}", "finishRangeSelectionPrompt": "Натисніть, щоб завершити вибір діапазону дат", "maximumDate": "Остання доступна дата", "minimumDate": "Перша доступна дата", "next": "Наступний", "previous": "Попередній", "selectedDateDescription": "Вибрана дата: {date}", "selectedRangeDescription": "Вибраний діапазон: {dateRange}", "startRangeSelectionPrompt": "Натисніть, щоб почати вибір діапазону дат", "todayDate": "Сьогодні, {date}", "todayDateSelected": "Сьогодні, вибрано {date}" },
|
|
34
|
+
"zh-CN": { "dateRange": "{startDate} 至 {endDate}", "dateSelected": "已选择 {date}", "finishRangeSelectionPrompt": "单击以完成选择日期范围", "maximumDate": "最后一个可用日期", "minimumDate": "第一个可用日期", "next": "下一页", "previous": "上一页", "selectedDateDescription": "选定的日期:{date}", "selectedRangeDescription": "选定的范围:{dateRange}", "startRangeSelectionPrompt": "单击以开始选择日期范围", "todayDate": "今天,即 {date}", "todayDateSelected": "已选择今天,即 {date}" },
|
|
35
|
+
"zh-TW": { "dateRange": "{startDate} 至 {endDate}", "dateSelected": "已選取 {date}", "finishRangeSelectionPrompt": "按一下以完成選取日期範圍", "maximumDate": "最後一個可用日期", "minimumDate": "第一個可用日期", "next": "下一頁", "previous": "上一頁", "selectedDateDescription": "選定的日期:{date}", "selectedRangeDescription": "選定的範圍:{dateRange}", "startRangeSelectionPrompt": "按一下以開始選取日期範圍", "todayDate": "今天,{date}", "todayDateSelected": "已選取今天,{date}" },
|
|
36
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type EmblaCarouselType } from "./engine/EmblaCarousel.js";
|
|
2
|
+
import { type CarouselState } from "./state.js";
|
|
3
|
+
/** Id of the viewport element (embla root). */
|
|
4
|
+
export declare const carouselViewportId: (state: CarouselState) => string;
|
|
5
|
+
/** Id of slide `index`. */
|
|
6
|
+
export declare const carouselSlideId: (state: CarouselState, index: number) => string;
|
|
7
|
+
/** Id of the tab (dot) of snap `index`. */
|
|
8
|
+
export declare const carouselTabId: (state: CarouselState, index: number) => string;
|
|
9
|
+
/** The running engine of the carousel, if started. */
|
|
10
|
+
export declare function carouselApi(state: CarouselState): EmblaCarouselType | undefined;
|
|
11
|
+
/** Starts the engine on `viewport` (no-op when it runs). Rotation plugins join once their modules loaded. */
|
|
12
|
+
export declare function startCarousel(state: CarouselState, viewport: HTMLElement): EmblaCarouselType;
|
|
13
|
+
/** Destroys the engine on `viewport` (embla `destroy`: transforms cleared, listeners removed). */
|
|
14
|
+
export declare function stopCarousel(viewport: HTMLElement): void;
|
|
15
|
+
/** The running engine, started now when it was not (handlers on a resumed page). Undefined on the server / without a viewport. */
|
|
16
|
+
export declare function ensureCarousel(state: CarouselState): EmblaCarouselType | undefined;
|
|
17
|
+
/** Effect body of the Carousel's `clientEffect`: start on the viewport, destroy on cleanup. */
|
|
18
|
+
export declare function carouselEffect(state: CarouselState, viewport: HTMLElement | undefined): (() => void) | undefined;
|
|
19
|
+
/** embla `scrollPrev(jump)`. */
|
|
20
|
+
export declare function carouselScrollPrev(state: CarouselState, jump?: boolean): void;
|
|
21
|
+
/** embla `scrollNext(jump)`. */
|
|
22
|
+
export declare function carouselScrollNext(state: CarouselState, jump?: boolean): void;
|
|
23
|
+
/** embla `scrollTo(index, jump)`. */
|
|
24
|
+
export declare function carouselScrollTo(state: CarouselState, index: number, jump?: boolean): void;
|
|
25
|
+
/** Stops rotation (rotation control, keyboard focus): plugins stopped and removed until `startRotation`. */
|
|
26
|
+
export declare function stopRotation(state: CarouselState): void;
|
|
27
|
+
/** Starts rotation again (rotation control): rotation plugins added back and played. */
|
|
28
|
+
export declare function startRotation(state: CarouselState): void;
|
|
29
|
+
/** Rotation control press: stop when rotation is on (also while a hover pauses it), else start. */
|
|
30
|
+
export declare function toggleRotation(state: CarouselState): void;
|
|
31
|
+
/** Keys of the carousel root, `data-rk` (held while a cold handler loads). */
|
|
32
|
+
export declare function carouselKeys(state: CarouselState): string;
|
|
33
|
+
/** Root keydown: arrows scroll to the previous / next snap (RTL mirrored; vertical: up / down). Not in editable fields / the tab list. */
|
|
34
|
+
export declare function carouselKeyDown(event: KeyboardEvent, state: CarouselState): void;
|
|
35
|
+
/**
|
|
36
|
+
* Root focusin: keyboard focus stops rotation (W3C APG); starts the engine; when it starts here and the focus
|
|
37
|
+
* landed in a slide, scrolls to that slide's snap at once (embla SlideFocus, whose listener could not see this focus).
|
|
38
|
+
*/
|
|
39
|
+
export declare function carouselFocusIn(event: FocusEvent, state: CarouselState): void;
|
|
40
|
+
/** Viewport pointerdown: starts the engine before the `mousedown` / `touchstart` embla listens to. */
|
|
41
|
+
export declare function carouselPointerDown(_event: PointerEvent, state: CarouselState): void;
|
|
42
|
+
/**
|
|
43
|
+
* Viewport mousedown / touchstart: when the event's dispatch is over (`eventPhase` 0 — a cold page replays it after
|
|
44
|
+
* its chunk loaded), the engine's own listener missed it: hand it over (embla `downIfAllowed`).
|
|
45
|
+
*/
|
|
46
|
+
export declare function carouselDragStart(event: MouseEvent | TouchEvent, state: CarouselState): void;
|
|
47
|
+
/** Tab list keydown (W3C APG tabs, automatic activation): arrows / Home / End move focus between tabs and select. */
|
|
48
|
+
export declare function carouselTabsKeyDown(event: KeyboardEvent, state: CarouselState): void;
|
|
49
|
+
/** Keys of the tab list, `data-rk`. */
|
|
50
|
+
export declare function carouselTabsKeys(state: CarouselState): string;
|