@windmorph/react 0.0.0-stage → 0.1.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 +23 -0
- package/README.md +149 -2
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +112 -0
- package/dist/cli.js.map +1 -0
- package/dist/components/app-bar/AppBarItems.js +23 -0
- package/dist/components/app-bar/AppBarItems.js.map +1 -0
- package/dist/components/app-bar/TopAppBar.d.ts +89 -0
- package/dist/components/app-bar/TopAppBar.js +103 -0
- package/dist/components/app-bar/TopAppBar.js.map +1 -0
- package/dist/components/app-bar/app-bar-styles.d.ts +280 -0
- package/dist/components/app-bar/app-bar-styles.js +142 -0
- package/dist/components/app-bar/app-bar-styles.js.map +1 -0
- package/dist/components/app-bar/app-bar-tokens.d.ts +7 -0
- package/dist/components/app-bar/app-bar-tokens.js +64 -0
- package/dist/components/app-bar/app-bar-tokens.js.map +1 -0
- package/dist/components/app-bar/use-app-bar-scroll.d.ts +6 -0
- package/dist/components/app-bar/use-app-bar-scroll.js +139 -0
- package/dist/components/app-bar/use-app-bar-scroll.js.map +1 -0
- package/dist/components/autocomplete/Autocomplete.d.ts +142 -0
- package/dist/components/autocomplete/Autocomplete.js +284 -0
- package/dist/components/autocomplete/Autocomplete.js.map +1 -0
- package/dist/components/badge/Badge.d.ts +71 -0
- package/dist/components/badge/Badge.js +72 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/components/badge/badge-styles.d.ts +100 -0
- package/dist/components/badge/badge-styles.js +43 -0
- package/dist/components/badge/badge-styles.js.map +1 -0
- package/dist/components/badge/badge-tokens.d.ts +7 -0
- package/dist/components/badge/badge-tokens.js +40 -0
- package/dist/components/badge/badge-tokens.js.map +1 -0
- package/dist/components/button/Button.d.ts +91 -0
- package/dist/components/button/Button.js +96 -0
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/button/ButtonContext.d.ts +30 -0
- package/dist/components/button/ButtonContext.js +18 -0
- package/dist/components/button/ButtonContext.js.map +1 -0
- package/dist/components/button/DensityZeroButtons.js +25 -0
- package/dist/components/button/DensityZeroButtons.js.map +1 -0
- package/dist/components/button/button-pending.d.ts +10 -0
- package/dist/components/button/button-pending.js +166 -0
- package/dist/components/button/button-pending.js.map +1 -0
- package/dist/components/button/button-styles.d.ts +216 -0
- package/dist/components/button/button-styles.js +199 -0
- package/dist/components/button/button-styles.js.map +1 -0
- package/dist/components/button/button-tokens.d.ts +10 -0
- package/dist/components/button/button-tokens.js +257 -0
- package/dist/components/button/button-tokens.js.map +1 -0
- package/dist/components/button/connected-shapes.js +152 -0
- package/dist/components/button/connected-shapes.js.map +1 -0
- package/dist/components/card/Card.d.ts +60 -0
- package/dist/components/card/Card.js +69 -0
- package/dist/components/card/Card.js.map +1 -0
- package/dist/components/card/card-styles.d.ts +42 -0
- package/dist/components/card/card-styles.js +64 -0
- package/dist/components/card/card-styles.js.map +1 -0
- package/dist/components/card/card-tokens.d.ts +7 -0
- package/dist/components/card/card-tokens.js +84 -0
- package/dist/components/card/card-tokens.js.map +1 -0
- package/dist/components/carousel/Carousel.d.ts +124 -0
- package/dist/components/carousel/Carousel.js +387 -0
- package/dist/components/carousel/Carousel.js.map +1 -0
- package/dist/components/carousel/carousel-keylines.js +486 -0
- package/dist/components/carousel/carousel-keylines.js.map +1 -0
- package/dist/components/carousel/carousel-press-area.js +35 -0
- package/dist/components/carousel/carousel-press-area.js.map +1 -0
- package/dist/components/carousel/carousel-styles.d.ts +188 -0
- package/dist/components/carousel/carousel-styles.js +116 -0
- package/dist/components/carousel/carousel-styles.js.map +1 -0
- package/dist/components/carousel/carousel-tokens.d.ts +7 -0
- package/dist/components/carousel/carousel-tokens.js +18 -0
- package/dist/components/carousel/carousel-tokens.js.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +78 -0
- package/dist/components/checkbox/Checkbox.js +77 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox-box.js +34 -0
- package/dist/components/checkbox/checkbox-box.js.map +1 -0
- package/dist/components/checkbox/checkbox-styles.d.ts +100 -0
- package/dist/components/checkbox/checkbox-styles.js +54 -0
- package/dist/components/checkbox/checkbox-styles.js.map +1 -0
- package/dist/components/checkbox/checkbox-tokens.d.ts +7 -0
- package/dist/components/checkbox/checkbox-tokens.js +41 -0
- package/dist/components/checkbox/checkbox-tokens.js.map +1 -0
- package/dist/components/chip/Chip.d.ts +171 -0
- package/dist/components/chip/Chip.js +348 -0
- package/dist/components/chip/Chip.js.map +1 -0
- package/dist/components/chip/ChipSet.d.ts +70 -0
- package/dist/components/chip/ChipSet.js +198 -0
- package/dist/components/chip/ChipSet.js.map +1 -0
- package/dist/components/chip/chip-styles.d.ts +263 -0
- package/dist/components/chip/chip-styles.js +360 -0
- package/dist/components/chip/chip-styles.js.map +1 -0
- package/dist/components/chip/chip-tokens.d.ts +13 -0
- package/dist/components/chip/chip-tokens.js +185 -0
- package/dist/components/chip/chip-tokens.js.map +1 -0
- package/dist/components/date-picker/CalendarGrid.js +94 -0
- package/dist/components/date-picker/CalendarGrid.js.map +1 -0
- package/dist/components/date-picker/CompactDateDialog.js +63 -0
- package/dist/components/date-picker/CompactDateDialog.js.map +1 -0
- package/dist/components/date-picker/DateField.d.ts +161 -0
- package/dist/components/date-picker/DateField.js +393 -0
- package/dist/components/date-picker/DateField.js.map +1 -0
- package/dist/components/date-picker/DateInput.d.ts +20 -0
- package/dist/components/date-picker/DateInput.js +99 -0
- package/dist/components/date-picker/DateInput.js.map +1 -0
- package/dist/components/date-picker/DatePicker.d.ts +165 -0
- package/dist/components/date-picker/DatePicker.js +492 -0
- package/dist/components/date-picker/DatePicker.js.map +1 -0
- package/dist/components/date-picker/PickerDialog.d.ts +121 -0
- package/dist/components/date-picker/PickerDialog.js +161 -0
- package/dist/components/date-picker/PickerDialog.js.map +1 -0
- package/dist/components/date-picker/calendar-parts.js +141 -0
- package/dist/components/date-picker/calendar-parts.js.map +1 -0
- package/dist/components/date-picker/date-format.js +72 -0
- package/dist/components/date-picker/date-format.js.map +1 -0
- package/dist/components/date-picker/date-picker-styles.d.ts +247 -0
- package/dist/components/date-picker/date-picker-styles.js +163 -0
- package/dist/components/date-picker/date-picker-styles.js.map +1 -0
- package/dist/components/date-picker/date-picker-tokens.d.ts +7 -0
- package/dist/components/date-picker/date-picker-tokens.js +104 -0
- package/dist/components/date-picker/date-picker-tokens.js.map +1 -0
- package/dist/components/date-picker/picker-dialog-context.js +8 -0
- package/dist/components/date-picker/picker-dialog-context.js.map +1 -0
- package/dist/components/date-picker/picker-dialog-styles.d.ts +95 -0
- package/dist/components/date-picker/picker-dialog-styles.js +57 -0
- package/dist/components/date-picker/picker-dialog-styles.js.map +1 -0
- package/dist/components/date-picker/picker-icons.js +24 -0
- package/dist/components/date-picker/picker-icons.js.map +1 -0
- package/dist/components/date-picker/use-media-query.js +21 -0
- package/dist/components/date-picker/use-media-query.js.map +1 -0
- package/dist/components/date-picker/use-size-transform.js +62 -0
- package/dist/components/date-picker/use-size-transform.js.map +1 -0
- package/dist/components/date-picker/use-view-exit.js +68 -0
- package/dist/components/date-picker/use-view-exit.js.map +1 -0
- package/dist/components/dialog/Dialog.d.ts +267 -0
- package/dist/components/dialog/Dialog.js +521 -0
- package/dist/components/dialog/Dialog.js.map +1 -0
- package/dist/components/dialog/dialog-styles.d.ts +335 -0
- package/dist/components/dialog/dialog-styles.js +377 -0
- package/dist/components/dialog/dialog-styles.js.map +1 -0
- package/dist/components/dialog/dialog-tokens.d.ts +7 -0
- package/dist/components/dialog/dialog-tokens.js +57 -0
- package/dist/components/dialog/dialog-tokens.js.map +1 -0
- package/dist/components/divider/Divider.d.ts +59 -0
- package/dist/components/divider/Divider.js +53 -0
- package/dist/components/divider/Divider.js.map +1 -0
- package/dist/components/divider/divider-styles.d.ts +90 -0
- package/dist/components/divider/divider-styles.js +66 -0
- package/dist/components/divider/divider-styles.js.map +1 -0
- package/dist/components/divider/divider-tokens.d.ts +7 -0
- package/dist/components/divider/divider-tokens.js +16 -0
- package/dist/components/divider/divider-tokens.js.map +1 -0
- package/dist/components/fab/Fab.d.ts +130 -0
- package/dist/components/fab/Fab.js +137 -0
- package/dist/components/fab/Fab.js.map +1 -0
- package/dist/components/fab/FabTooltip.js +36 -0
- package/dist/components/fab/FabTooltip.js.map +1 -0
- package/dist/components/fab/fab-styles.d.ts +286 -0
- package/dist/components/fab/fab-styles.js +131 -0
- package/dist/components/fab/fab-styles.js.map +1 -0
- package/dist/components/fab/fab-tokens.d.ts +12 -0
- package/dist/components/fab/fab-tokens.js +105 -0
- package/dist/components/fab/fab-tokens.js.map +1 -0
- package/dist/components/fab-menu/FabMenu.d.ts +156 -0
- package/dist/components/fab-menu/FabMenu.js +291 -0
- package/dist/components/fab-menu/FabMenu.js.map +1 -0
- package/dist/components/fab-menu/fab-menu-stagger.js +51 -0
- package/dist/components/fab-menu/fab-menu-stagger.js.map +1 -0
- package/dist/components/fab-menu/fab-menu-styles.d.ts +166 -0
- package/dist/components/fab-menu/fab-menu-styles.js +107 -0
- package/dist/components/fab-menu/fab-menu-styles.js.map +1 -0
- package/dist/components/fab-menu/fab-menu-tokens.d.ts +7 -0
- package/dist/components/fab-menu/fab-menu-tokens.js +120 -0
- package/dist/components/fab-menu/fab-menu-tokens.js.map +1 -0
- package/dist/components/icon-button/IconButton.d.ts +125 -0
- package/dist/components/icon-button/IconButton.js +112 -0
- package/dist/components/icon-button/IconButton.js.map +1 -0
- package/dist/components/icon-button/icon-button-styles.d.ts +217 -0
- package/dist/components/icon-button/icon-button-styles.js +244 -0
- package/dist/components/icon-button/icon-button-styles.js.map +1 -0
- package/dist/components/icon-button/icon-button-tokens.d.ts +11 -0
- package/dist/components/icon-button/icon-button-tokens.js +215 -0
- package/dist/components/icon-button/icon-button-tokens.js.map +1 -0
- package/dist/components/list/List.d.ts +265 -0
- package/dist/components/list/List.js +1386 -0
- package/dist/components/list/List.js.map +1 -0
- package/dist/components/list/ListMedia.d.ts +88 -0
- package/dist/components/list/ListMedia.js +132 -0
- package/dist/components/list/ListMedia.js.map +1 -0
- package/dist/components/list/list-styles.d.ts +375 -0
- package/dist/components/list/list-styles.js +220 -0
- package/dist/components/list/list-styles.js.map +1 -0
- package/dist/components/list/list-tokens.d.ts +7 -0
- package/dist/components/list/list-tokens.js +92 -0
- package/dist/components/list/list-tokens.js.map +1 -0
- package/dist/components/loading-indicator/LoadingIndicator.d.ts +65 -0
- package/dist/components/loading-indicator/LoadingIndicator.js +92 -0
- package/dist/components/loading-indicator/LoadingIndicator.js.map +1 -0
- package/dist/components/loading-indicator/lazy-loading-indicator.js +25 -0
- package/dist/components/loading-indicator/lazy-loading-indicator.js.map +1 -0
- package/dist/components/loading-indicator/loading-indicator-frames.js +149 -0
- package/dist/components/loading-indicator/loading-indicator-frames.js.map +1 -0
- package/dist/components/loading-indicator/loading-indicator-styles.d.ts +36 -0
- package/dist/components/loading-indicator/loading-indicator-styles.js +22 -0
- package/dist/components/loading-indicator/loading-indicator-styles.js.map +1 -0
- package/dist/components/loading-indicator/loading-indicator-tokens.d.ts +7 -0
- package/dist/components/loading-indicator/loading-indicator-tokens.js +44 -0
- package/dist/components/loading-indicator/loading-indicator-tokens.js.map +1 -0
- package/dist/components/menu/Menu.d.ts +215 -0
- package/dist/components/menu/Menu.js +715 -0
- package/dist/components/menu/Menu.js.map +1 -0
- package/dist/components/menu/menu-styles.d.ts +354 -0
- package/dist/components/menu/menu-styles.js +219 -0
- package/dist/components/menu/menu-styles.js.map +1 -0
- package/dist/components/menu/menu-tokens.d.ts +7 -0
- package/dist/components/menu/menu-tokens.js +93 -0
- package/dist/components/menu/menu-tokens.js.map +1 -0
- package/dist/components/menu/menu-trigger.d.ts +51 -0
- package/dist/components/menu/menu-trigger.js +100 -0
- package/dist/components/menu/menu-trigger.js.map +1 -0
- package/dist/components/menu/use-reveal-entering.js +42 -0
- package/dist/components/menu/use-reveal-entering.js.map +1 -0
- package/dist/components/navigation/NavItem.d.ts +54 -0
- package/dist/components/navigation/NavItem.js +182 -0
- package/dist/components/navigation/NavItem.js.map +1 -0
- package/dist/components/navigation/NavigationBar.d.ts +64 -0
- package/dist/components/navigation/NavigationBar.js +121 -0
- package/dist/components/navigation/NavigationBar.js.map +1 -0
- package/dist/components/navigation/NavigationRail.d.ts +91 -0
- package/dist/components/navigation/NavigationRail.js +285 -0
- package/dist/components/navigation/NavigationRail.js.map +1 -0
- package/dist/components/navigation/nav-item-styles.d.ts +190 -0
- package/dist/components/navigation/nav-item-styles.js +123 -0
- package/dist/components/navigation/nav-item-styles.js.map +1 -0
- package/dist/components/navigation/navigation-styles.d.ts +239 -0
- package/dist/components/navigation/navigation-styles.js +134 -0
- package/dist/components/navigation/navigation-styles.js.map +1 -0
- package/dist/components/navigation/navigation-tokens.d.ts +9 -0
- package/dist/components/navigation/navigation-tokens.js +114 -0
- package/dist/components/navigation/navigation-tokens.js.map +1 -0
- package/dist/components/navigation/use-hide-on-scroll.js +115 -0
- package/dist/components/navigation/use-hide-on-scroll.js.map +1 -0
- package/dist/components/navigation/use-item-arrow-keys.js +37 -0
- package/dist/components/navigation/use-item-arrow-keys.js.map +1 -0
- package/dist/components/navigation/use-rail-item-morph.js +61 -0
- package/dist/components/navigation/use-rail-item-morph.js.map +1 -0
- package/dist/components/progress/ProgressIndicator.d.ts +95 -0
- package/dist/components/progress/ProgressIndicator.js +426 -0
- package/dist/components/progress/ProgressIndicator.js.map +1 -0
- package/dist/components/progress/progress-geometry.js +285 -0
- package/dist/components/progress/progress-geometry.js.map +1 -0
- package/dist/components/progress/progress-styles.d.ts +81 -0
- package/dist/components/progress/progress-styles.js +43 -0
- package/dist/components/progress/progress-styles.js.map +1 -0
- package/dist/components/progress/progress-tokens.d.ts +7 -0
- package/dist/components/progress/progress-tokens.js +39 -0
- package/dist/components/progress/progress-tokens.js.map +1 -0
- package/dist/components/pull-to-refresh/PullToRefresh.d.ts +94 -0
- package/dist/components/pull-to-refresh/PullToRefresh.js +395 -0
- package/dist/components/pull-to-refresh/PullToRefresh.js.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-math.js +37 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-math.js.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-styles.d.ts +53 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-styles.js +14 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-styles.js.map +1 -0
- package/dist/components/radio/RadioGroup.d.ts +121 -0
- package/dist/components/radio/RadioGroup.js +163 -0
- package/dist/components/radio/RadioGroup.js.map +1 -0
- package/dist/components/radio/radio-ring.js +21 -0
- package/dist/components/radio/radio-ring.js.map +1 -0
- package/dist/components/radio/radio-styles.d.ts +155 -0
- package/dist/components/radio/radio-styles.js +60 -0
- package/dist/components/radio/radio-styles.js.map +1 -0
- package/dist/components/radio/radio-tokens.d.ts +7 -0
- package/dist/components/radio/radio-tokens.js +31 -0
- package/dist/components/radio/radio-tokens.js.map +1 -0
- package/dist/components/search/SearchAppBar.d.ts +45 -0
- package/dist/components/search/SearchAppBar.js +61 -0
- package/dist/components/search/SearchAppBar.js.map +1 -0
- package/dist/components/search/SearchBar.d.ts +147 -0
- package/dist/components/search/SearchBar.js +412 -0
- package/dist/components/search/SearchBar.js.map +1 -0
- package/dist/components/search/search-styles.d.ts +243 -0
- package/dist/components/search/search-styles.js +143 -0
- package/dist/components/search/search-styles.js.map +1 -0
- package/dist/components/search/search-tokens.d.ts +9 -0
- package/dist/components/search/search-tokens.js +70 -0
- package/dist/components/search/search-tokens.js.map +1 -0
- package/dist/components/select/Select.d.ts +187 -0
- package/dist/components/select/Select.js +319 -0
- package/dist/components/select/Select.js.map +1 -0
- package/dist/components/select/field-shell.d.ts +29 -0
- package/dist/components/select/field-shell.js +135 -0
- package/dist/components/select/field-shell.js.map +1 -0
- package/dist/components/select/option-list.d.ts +81 -0
- package/dist/components/select/option-list.js +291 -0
- package/dist/components/select/option-list.js.map +1 -0
- package/dist/components/select/search-list.js +135 -0
- package/dist/components/select/search-list.js.map +1 -0
- package/dist/components/select/selection-cap.js +30 -0
- package/dist/components/select/selection-cap.js.map +1 -0
- package/dist/components/sheet/BottomSheet.d.ts +154 -0
- package/dist/components/sheet/BottomSheet.js +442 -0
- package/dist/components/sheet/BottomSheet.js.map +1 -0
- package/dist/components/sheet/SheetTrigger.d.ts +25 -0
- package/dist/components/sheet/SheetTrigger.js +46 -0
- package/dist/components/sheet/SheetTrigger.js.map +1 -0
- package/dist/components/sheet/SideSheet.d.ts +139 -0
- package/dist/components/sheet/SideSheet.js +289 -0
- package/dist/components/sheet/SideSheet.js.map +1 -0
- package/dist/components/sheet/bottom-sheet-gesture.js +30 -0
- package/dist/components/sheet/bottom-sheet-gesture.js.map +1 -0
- package/dist/components/sheet/lazy-bottom-sheet.js +33 -0
- package/dist/components/sheet/lazy-bottom-sheet.js.map +1 -0
- package/dist/components/sheet/sheet-gesture.js +48 -0
- package/dist/components/sheet/sheet-gesture.js.map +1 -0
- package/dist/components/sheet/sheet-icons.js +31 -0
- package/dist/components/sheet/sheet-icons.js.map +1 -0
- package/dist/components/sheet/sheet-settle.js +58 -0
- package/dist/components/sheet/sheet-settle.js.map +1 -0
- package/dist/components/sheet/sheet-styles.d.ts +312 -0
- package/dist/components/sheet/sheet-styles.js +229 -0
- package/dist/components/sheet/sheet-styles.js.map +1 -0
- package/dist/components/sheet/sheet-tokens.d.ts +12 -0
- package/dist/components/sheet/sheet-tokens.js +115 -0
- package/dist/components/sheet/sheet-tokens.js.map +1 -0
- package/dist/components/sheet/side-swipe-gesture.js +22 -0
- package/dist/components/sheet/side-swipe-gesture.js.map +1 -0
- package/dist/components/sheet/use-peek-inert.js +32 -0
- package/dist/components/sheet/use-peek-inert.js.map +1 -0
- package/dist/components/sheet/use-side-swipe.js +174 -0
- package/dist/components/sheet/use-side-swipe.js.map +1 -0
- package/dist/components/slider/Slider.d.ts +129 -0
- package/dist/components/slider/Slider.js +295 -0
- package/dist/components/slider/Slider.js.map +1 -0
- package/dist/components/slider/slider-geometry.js +138 -0
- package/dist/components/slider/slider-geometry.js.map +1 -0
- package/dist/components/slider/slider-styles.d.ts +133 -0
- package/dist/components/slider/slider-styles.js +97 -0
- package/dist/components/slider/slider-styles.js.map +1 -0
- package/dist/components/slider/slider-tokens.d.ts +7 -0
- package/dist/components/slider/slider-tokens.js +66 -0
- package/dist/components/slider/slider-tokens.js.map +1 -0
- package/dist/components/slider/use-touch-track.js +138 -0
- package/dist/components/slider/use-touch-track.js.map +1 -0
- package/dist/components/snackbar/Snackbar.d.ts +96 -0
- package/dist/components/snackbar/Snackbar.js +253 -0
- package/dist/components/snackbar/Snackbar.js.map +1 -0
- package/dist/components/snackbar/snackbar-state.d.ts +58 -0
- package/dist/components/snackbar/snackbar-state.js +73 -0
- package/dist/components/snackbar/snackbar-state.js.map +1 -0
- package/dist/components/snackbar/snackbar-styles.d.ts +109 -0
- package/dist/components/snackbar/snackbar-styles.js +67 -0
- package/dist/components/snackbar/snackbar-styles.js.map +1 -0
- package/dist/components/snackbar/snackbar-tokens.d.ts +7 -0
- package/dist/components/snackbar/snackbar-tokens.js +54 -0
- package/dist/components/snackbar/snackbar-tokens.js.map +1 -0
- package/dist/components/split-button/SplitButton.d.ts +109 -0
- package/dist/components/split-button/SplitButton.js +195 -0
- package/dist/components/split-button/SplitButton.js.map +1 -0
- package/dist/components/split-button/split-button-styles.d.ts +214 -0
- package/dist/components/split-button/split-button-styles.js +164 -0
- package/dist/components/split-button/split-button-styles.js.map +1 -0
- package/dist/components/split-button/split-button-tokens.d.ts +7 -0
- package/dist/components/split-button/split-button-tokens.js +36 -0
- package/dist/components/split-button/split-button-tokens.js.map +1 -0
- package/dist/components/switch/Switch.d.ts +82 -0
- package/dist/components/switch/Switch.js +165 -0
- package/dist/components/switch/Switch.js.map +1 -0
- package/dist/components/switch/switch-styles.d.ts +96 -0
- package/dist/components/switch/switch-styles.js +68 -0
- package/dist/components/switch/switch-styles.js.map +1 -0
- package/dist/components/switch/switch-thumb.js +41 -0
- package/dist/components/switch/switch-thumb.js.map +1 -0
- package/dist/components/switch/switch-tokens.d.ts +7 -0
- package/dist/components/switch/switch-tokens.js +78 -0
- package/dist/components/switch/switch-tokens.js.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +120 -0
- package/dist/components/tabs/Tabs.js +346 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/tabs/tabs-styles.d.ts +198 -0
- package/dist/components/tabs/tabs-styles.js +99 -0
- package/dist/components/tabs/tabs-styles.js.map +1 -0
- package/dist/components/tabs/tabs-tokens.d.ts +7 -0
- package/dist/components/tabs/tabs-tokens.js +121 -0
- package/dist/components/tabs/tabs-tokens.js.map +1 -0
- package/dist/components/text-field/TextField.d.ts +175 -0
- package/dist/components/text-field/TextField.js +250 -0
- package/dist/components/text-field/TextField.js.map +1 -0
- package/dist/components/text-field/text-field-styles.d.ts +252 -0
- package/dist/components/text-field/text-field-styles.js +209 -0
- package/dist/components/text-field/text-field-styles.js.map +1 -0
- package/dist/components/text-field/text-field-tokens.d.ts +7 -0
- package/dist/components/text-field/text-field-tokens.js +177 -0
- package/dist/components/text-field/text-field-tokens.js.map +1 -0
- package/dist/components/time-picker/TimePicker.d.ts +142 -0
- package/dist/components/time-picker/TimePicker.js +700 -0
- package/dist/components/time-picker/TimePicker.js.map +1 -0
- package/dist/components/time-picker/time-picker-styles.d.ts +175 -0
- package/dist/components/time-picker/time-picker-styles.js +112 -0
- package/dist/components/time-picker/time-picker-styles.js.map +1 -0
- package/dist/components/time-picker/time-picker-tokens.d.ts +7 -0
- package/dist/components/time-picker/time-picker-tokens.js +86 -0
- package/dist/components/time-picker/time-picker-tokens.js.map +1 -0
- package/dist/components/toolbar/Toolbar.d.ts +209 -0
- package/dist/components/toolbar/Toolbar.js +282 -0
- package/dist/components/toolbar/Toolbar.js.map +1 -0
- package/dist/components/toolbar/toolbar-styles.d.ts +403 -0
- package/dist/components/toolbar/toolbar-styles.js +253 -0
- package/dist/components/toolbar/toolbar-styles.js.map +1 -0
- package/dist/components/toolbar/toolbar-tokens.d.ts +27 -0
- package/dist/components/toolbar/toolbar-tokens.js +117 -0
- package/dist/components/toolbar/toolbar-tokens.js.map +1 -0
- package/dist/components/toolbar/use-toolbar-scroll-expansion.d.ts +56 -0
- package/dist/components/toolbar/use-toolbar-scroll-expansion.js +86 -0
- package/dist/components/toolbar/use-toolbar-scroll-expansion.js.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +131 -0
- package/dist/components/tooltip/Tooltip.js +388 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/components/tooltip/lazy-tooltip.js +35 -0
- package/dist/components/tooltip/lazy-tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip-placement.d.ts +16 -0
- package/dist/components/tooltip/tooltip-placement.js +14 -0
- package/dist/components/tooltip/tooltip-placement.js.map +1 -0
- package/dist/components/tooltip/tooltip-styles.d.ts +142 -0
- package/dist/components/tooltip/tooltip-styles.js +81 -0
- package/dist/components/tooltip/tooltip-styles.js.map +1 -0
- package/dist/components/tooltip/tooltip-tokens.d.ts +9 -0
- package/dist/components/tooltip/tooltip-tokens.js +72 -0
- package/dist/components/tooltip/tooltip-tokens.js.map +1 -0
- package/dist/components/tooltip/tooltip-trigger.d.ts +42 -0
- package/dist/components/tooltip/tooltip-trigger.js +115 -0
- package/dist/components/tooltip/tooltip-trigger.js.map +1 -0
- package/dist/composites/button-group/ButtonGroup.d.ts +116 -0
- package/dist/composites/button-group/ButtonGroup.js +270 -0
- package/dist/composites/button-group/ButtonGroup.js.map +1 -0
- package/dist/composites/button-group/button-group-styles.d.ts +73 -0
- package/dist/composites/button-group/button-group-styles.js +87 -0
- package/dist/composites/button-group/button-group-styles.js.map +1 -0
- package/dist/composites/button-group/lazy-overflow-menu.js +43 -0
- package/dist/composites/button-group/lazy-overflow-menu.js.map +1 -0
- package/dist/composites/button-group/overflow-menu-list.js +26 -0
- package/dist/composites/button-group/overflow-menu-list.js.map +1 -0
- package/dist/composites/button-group/use-overflow.js +75 -0
- package/dist/composites/button-group/use-overflow.js.map +1 -0
- package/dist/composites/button-group/use-press-expansion.js +155 -0
- package/dist/composites/button-group/use-press-expansion.js.map +1 -0
- package/dist/index.d.ts +142 -0
- package/dist/index.js +136 -0
- package/dist/motion/get-m3-spring.d.ts +6 -0
- package/dist/motion/get-m3-spring.js +10 -0
- package/dist/motion/get-m3-spring.js.map +1 -0
- package/dist/motion/reduced-motion.js +19 -0
- package/dist/motion/reduced-motion.js.map +1 -0
- package/dist/motion/use-m3-spring.d.ts +13 -0
- package/dist/motion/use-m3-spring.js +22 -0
- package/dist/motion/use-m3-spring.js.map +1 -0
- package/dist/next/NextRouterProvider.d.ts +13 -0
- package/dist/next/NextRouterProvider.js +26 -0
- package/dist/next/NextRouterProvider.js.map +1 -0
- package/dist/next/get-theme-from-cookies.d.ts +32 -0
- package/dist/next/get-theme-from-cookies.js +27 -0
- package/dist/next/get-theme-from-cookies.js.map +1 -0
- package/dist/next/navigation-guard.d.ts +30 -0
- package/dist/next/navigation-guard.js +68 -0
- package/dist/next/navigation-guard.js.map +1 -0
- package/dist/next.d.ts +5 -0
- package/dist/next.js +5 -0
- package/dist/primitives/ButtonBase.d.ts +115 -0
- package/dist/primitives/ButtonBase.js +231 -0
- package/dist/primitives/ButtonBase.js.map +1 -0
- package/dist/primitives/DomDirectionLocale.d.ts +18 -0
- package/dist/primitives/DomDirectionLocale.js +28 -0
- package/dist/primitives/DomDirectionLocale.js.map +1 -0
- package/dist/primitives/Field.d.ts +50 -0
- package/dist/primitives/Field.js +74 -0
- package/dist/primitives/Field.js.map +1 -0
- package/dist/primitives/IconFaces.js +23 -0
- package/dist/primitives/IconFaces.js.map +1 -0
- package/dist/primitives/Overlay.d.ts +39 -0
- package/dist/primitives/Overlay.js +86 -0
- package/dist/primitives/Overlay.js.map +1 -0
- package/dist/primitives/SelectionControl.d.ts +55 -0
- package/dist/primitives/SelectionControl.js +58 -0
- package/dist/primitives/SelectionControl.js.map +1 -0
- package/dist/primitives/Surface.d.ts +123 -0
- package/dist/primitives/Surface.js +68 -0
- package/dist/primitives/Surface.js.map +1 -0
- package/dist/primitives/ToolbarContext.js +12 -0
- package/dist/primitives/ToolbarContext.js.map +1 -0
- package/dist/primitives/TouchTarget.d.ts +14 -0
- package/dist/primitives/TouchTarget.js +20 -0
- package/dist/primitives/TouchTarget.js.map +1 -0
- package/dist/primitives/TriggerContext.d.ts +34 -0
- package/dist/primitives/TriggerContext.js +24 -0
- package/dist/primitives/TriggerContext.js.map +1 -0
- package/dist/primitives/hidden-input-focus.js +27 -0
- package/dist/primitives/hidden-input-focus.js.map +1 -0
- package/dist/primitives/icon-faces-styles.d.ts +9 -0
- package/dist/primitives/icon-faces-styles.js +45 -0
- package/dist/primitives/icon-faces-styles.js.map +1 -0
- package/dist/primitives/locale-with-direction.d.ts +9 -0
- package/dist/primitives/locale-with-direction.js +17 -0
- package/dist/primitives/locale-with-direction.js.map +1 -0
- package/dist/primitives/morph-path.d.ts +25 -0
- package/dist/primitives/morph-path.js +38 -0
- package/dist/primitives/morph-path.js.map +1 -0
- package/dist/primitives/selection-control-styles.d.ts +54 -0
- package/dist/primitives/selection-control-styles.js +44 -0
- package/dist/primitives/selection-control-styles.js.map +1 -0
- package/dist/primitives/use-m3-interaction.d.ts +51 -0
- package/dist/primitives/use-m3-interaction.js +149 -0
- package/dist/primitives/use-m3-interaction.js.map +1 -0
- package/dist/primitives/use-m3-morph.d.ts +18 -0
- package/dist/primitives/use-m3-morph.js +36 -0
- package/dist/primitives/use-m3-morph.js.map +1 -0
- package/dist/primitives/use-presence.d.ts +19 -0
- package/dist/primitives/use-presence.js +37 -0
- package/dist/primitives/use-presence.js.map +1 -0
- package/dist/primitives.d.ts +36 -0
- package/dist/primitives.js +34 -0
- package/dist/shapes/corner-rounding.d.ts +13 -0
- package/dist/shapes/corner-rounding.js +18 -0
- package/dist/shapes/corner-rounding.js.map +1 -0
- package/dist/shapes/cubic.d.ts +52 -0
- package/dist/shapes/cubic.js +189 -0
- package/dist/shapes/cubic.js.map +1 -0
- package/dist/shapes/feature-mapping.js +80 -0
- package/dist/shapes/feature-mapping.js.map +1 -0
- package/dist/shapes/features.d.ts +23 -0
- package/dist/shapes/features.js +82 -0
- package/dist/shapes/features.js.map +1 -0
- package/dist/shapes/float-mapping.js +65 -0
- package/dist/shapes/float-mapping.js.map +1 -0
- package/dist/shapes/generated/material-shape-path-record.d.ts +11 -0
- package/dist/shapes/generated/material-shape-path-record.js +48 -0
- package/dist/shapes/generated/material-shape-path-record.js.map +1 -0
- package/dist/shapes/generated/material-shape-paths.d.ts +78 -0
- package/dist/shapes/generated/material-shape-paths.js +218 -0
- package/dist/shapes/generated/material-shape-paths.js.map +1 -0
- package/dist/shapes/mask.d.ts +14 -0
- package/dist/shapes/mask.js +24 -0
- package/dist/shapes/mask.js.map +1 -0
- package/dist/shapes/material-shapes.d.ts +11 -0
- package/dist/shapes/material-shapes.js +250 -0
- package/dist/shapes/material-shapes.js.map +1 -0
- package/dist/shapes/morph.d.ts +25 -0
- package/dist/shapes/morph.js +97 -0
- package/dist/shapes/morph.js.map +1 -0
- package/dist/shapes/path.d.ts +33 -0
- package/dist/shapes/path.js +47 -0
- package/dist/shapes/path.js.map +1 -0
- package/dist/shapes/point.d.ts +28 -0
- package/dist/shapes/point.js +103 -0
- package/dist/shapes/point.js.map +1 -0
- package/dist/shapes/polygon-measure.js +140 -0
- package/dist/shapes/polygon-measure.js.map +1 -0
- package/dist/shapes/rounded-polygon.d.ts +44 -0
- package/dist/shapes/rounded-polygon.js +278 -0
- package/dist/shapes/rounded-polygon.js.map +1 -0
- package/dist/shapes/shape-path.d.ts +15 -0
- package/dist/shapes/shapes.d.ts +53 -0
- package/dist/shapes/shapes.js +171 -0
- package/dist/shapes/shapes.js.map +1 -0
- package/dist/styles/generated/components.css +710 -0
- package/dist/styles/generated/theme.css +247 -0
- package/dist/styles/generated/themes.css +3361 -0
- package/dist/styles/generated/tokens.css +284 -0
- package/dist/styles/styles.css +15 -0
- package/dist/styles/utilities.css +283 -0
- package/dist/styles.compiled.css +2 -0
- package/dist/theme/ThemeProvider.d.ts +72 -0
- package/dist/theme/ThemeProvider.js +144 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/ThemeScope.d.ts +32 -0
- package/dist/theme/ThemeScope.js +67 -0
- package/dist/theme/ThemeScope.js.map +1 -0
- package/dist/theme/ThemeScript.d.ts +26 -0
- package/dist/theme/ThemeScript.js +44 -0
- package/dist/theme/ThemeScript.js.map +1 -0
- package/dist/theme/context.d.ts +32 -0
- package/dist/theme/context.js +47 -0
- package/dist/theme/context.js.map +1 -0
- package/dist/theme/create-theme.d.ts +60 -0
- package/dist/theme/create-theme.js +47 -0
- package/dist/theme/create-theme.js.map +1 -0
- package/dist/theme/css.js +54 -0
- package/dist/theme/css.js.map +1 -0
- package/dist/theme/parse-palettes.js +40 -0
- package/dist/theme/parse-palettes.js.map +1 -0
- package/dist/theme/scheme.d.ts +6 -0
- package/dist/theme/scheme.js +118 -0
- package/dist/theme/scheme.js.map +1 -0
- package/dist/theme/state.d.ts +38 -0
- package/dist/theme/state.js +93 -0
- package/dist/theme/state.js.map +1 -0
- package/dist/theme/storage.js +21 -0
- package/dist/theme/storage.js.map +1 -0
- package/dist/tokens/breakpoints.d.ts +15 -0
- package/dist/tokens/breakpoints.js +16 -0
- package/dist/tokens/breakpoints.js.map +1 -0
- package/dist/tokens/color.d.ts +104 -0
- package/dist/tokens/color.js +147 -0
- package/dist/tokens/color.js.map +1 -0
- package/dist/tokens/component.d.ts +110 -0
- package/dist/tokens/component.js +67 -0
- package/dist/tokens/component.js.map +1 -0
- package/dist/tokens/density.d.ts +20 -0
- package/dist/tokens/density.js +27 -0
- package/dist/tokens/density.js.map +1 -0
- package/dist/tokens/elevation.d.ts +44 -0
- package/dist/tokens/elevation.js +45 -0
- package/dist/tokens/elevation.js.map +1 -0
- package/dist/tokens/motion.d.ts +79 -0
- package/dist/tokens/motion.js +126 -0
- package/dist/tokens/motion.js.map +1 -0
- package/dist/tokens/shape.d.ts +22 -0
- package/dist/tokens/shape.js +22 -0
- package/dist/tokens/shape.js.map +1 -0
- package/dist/tokens/spring-velocity.d.ts +19 -0
- package/dist/tokens/spring-velocity.js +44 -0
- package/dist/tokens/spring-velocity.js.map +1 -0
- package/dist/tokens/state.d.ts +18 -0
- package/dist/tokens/state.js +19 -0
- package/dist/tokens/state.js.map +1 -0
- package/dist/tokens/typography.d.ts +64 -0
- package/dist/tokens/typography.js +60 -0
- package/dist/tokens/typography.js.map +1 -0
- package/dist/tokens/z-index.d.ts +17 -0
- package/dist/tokens/z-index.js +18 -0
- package/dist/tokens/z-index.js.map +1 -0
- package/dist/utils/announce.js +51 -0
- package/dist/utils/announce.js.map +1 -0
- package/dist/utils/assert-collection-children.js +26 -0
- package/dist/utils/assert-collection-children.js.map +1 -0
- package/dist/utils/closed-by.d.ts +9 -0
- package/dist/utils/closed-by.js +12 -0
- package/dist/utils/closed-by.js.map +1 -0
- package/dist/utils/cn.d.ts +31 -0
- package/dist/utils/cn.js +37 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/composite-keys.js +32 -0
- package/dist/utils/composite-keys.js.map +1 -0
- package/dist/utils/focus-visible.js +14 -0
- package/dist/utils/focus-visible.js.map +1 -0
- package/dist/utils/focus.js +51 -0
- package/dist/utils/focus.js.map +1 -0
- package/dist/utils/focusable-disabled.js +12 -0
- package/dist/utils/focusable-disabled.js.map +1 -0
- package/dist/utils/keep-pressed-in-place.d.ts +60 -0
- package/dist/utils/keep-pressed-in-place.js +127 -0
- package/dist/utils/keep-pressed-in-place.js.map +1 -0
- package/dist/utils/load-on-demand.js +111 -0
- package/dist/utils/load-on-demand.js.map +1 -0
- package/dist/utils/merge-data-tokens.d.ts +9 -0
- package/dist/utils/merge-data-tokens.js +15 -0
- package/dist/utils/merge-data-tokens.js.map +1 -0
- package/dist/utils/natural-size.js +53 -0
- package/dist/utils/natural-size.js.map +1 -0
- package/dist/utils/nearest-reveal.js +28 -0
- package/dist/utils/nearest-reveal.js.map +1 -0
- package/dist/utils/placement.js +14 -0
- package/dist/utils/placement.js.map +1 -0
- package/dist/utils/radio-group-keys.js +74 -0
- package/dist/utils/radio-group-keys.js.map +1 -0
- package/dist/utils/rendered-description.js +17 -0
- package/dist/utils/rendered-description.js.map +1 -0
- package/dist/utils/root-props.d.ts +103 -0
- package/dist/utils/root-props.js +51 -0
- package/dist/utils/root-props.js.map +1 -0
- package/dist/utils/search.d.ts +11 -0
- package/dist/utils/search.js +18 -0
- package/dist/utils/search.js.map +1 -0
- package/dist/utils/shortcut.js +20 -0
- package/dist/utils/shortcut.js.map +1 -0
- package/dist/utils/split-data-attributes.d.ts +12 -0
- package/dist/utils/split-data-attributes.js +20 -0
- package/dist/utils/split-data-attributes.js.map +1 -0
- package/dist/utils/toolbar-keys.js +28 -0
- package/dist/utils/toolbar-keys.js.map +1 -0
- package/dist/utils/tv.d.ts +7 -0
- package/dist/utils/tv.js +9 -0
- package/dist/utils/tv.js.map +1 -0
- package/dist/utils/typeahead.js +64 -0
- package/dist/utils/typeahead.js.map +1 -0
- package/dist/utils/warn-once.js +30 -0
- package/dist/utils/warn-once.js.map +1 -0
- package/dist/vendor/material-color-utilities/blend/blend.js +88 -0
- package/dist/vendor/material-color-utilities/blend/blend.js.map +1 -0
- package/dist/vendor/material-color-utilities/contrast/contrast.js +131 -0
- package/dist/vendor/material-color-utilities/contrast/contrast.js.map +1 -0
- package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js +58 -0
- package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js +620 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js +786 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js +59 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js +420 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js +701 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js +374 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js +65 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js.map +1 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/variant.js +38 -0
- package/dist/vendor/material-color-utilities/dynamiccolor/variant.js.map +1 -0
- package/dist/vendor/material-color-utilities/hct/cam16.js +309 -0
- package/dist/vendor/material-color-utilities/hct/cam16.js.map +1 -0
- package/dist/vendor/material-color-utilities/hct/hct.js +148 -0
- package/dist/vendor/material-color-utilities/hct/hct.js.map +1 -0
- package/dist/vendor/material-color-utilities/hct/hct_solver.js +660 -0
- package/dist/vendor/material-color-utilities/hct/hct_solver.js.map +1 -0
- package/dist/vendor/material-color-utilities/hct/viewing_conditions.js +117 -0
- package/dist/vendor/material-color-utilities/hct/viewing_conditions.js.map +1 -0
- package/dist/vendor/material-color-utilities/index.js +51 -0
- package/dist/vendor/material-color-utilities/index.js.map +1 -0
- package/dist/vendor/material-color-utilities/palettes/core_palette.js +22 -0
- package/dist/vendor/material-color-utilities/palettes/core_palette.js.map +1 -0
- package/dist/vendor/material-color-utilities/palettes/tonal_palette.js +134 -0
- package/dist/vendor/material-color-utilities/palettes/tonal_palette.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme.js +21 -0
- package/dist/vendor/material-color-utilities/scheme/scheme.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_android.js +21 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_android.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_content.js +22 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_content.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js +38 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js +22 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js +22 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js +22 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js +36 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js +22 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js +41 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js.map +1 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js +39 -0
- package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js.map +1 -0
- package/dist/vendor/material-color-utilities/score/score.js +115 -0
- package/dist/vendor/material-color-utilities/score/score.js.map +1 -0
- package/dist/vendor/material-color-utilities/temperature/temperature_cache.js +227 -0
- package/dist/vendor/material-color-utilities/temperature/temperature_cache.js.map +1 -0
- package/dist/vendor/material-color-utilities/utils/color_utils.js +246 -0
- package/dist/vendor/material-color-utilities/utils/color_utils.js.map +1 -0
- package/dist/vendor/material-color-utilities/utils/image_utils.js +21 -0
- package/dist/vendor/material-color-utilities/utils/image_utils.js.map +1 -0
- package/dist/vendor/material-color-utilities/utils/math_utils.js +119 -0
- package/dist/vendor/material-color-utilities/utils/math_utils.js.map +1 -0
- package/dist/vendor/material-color-utilities/utils/string_utils.js +74 -0
- package/dist/vendor/material-color-utilities/utils/string_utils.js.map +1 -0
- package/dist/vendor/material-color-utilities/utils/theme_utils.js +24 -0
- package/dist/vendor/material-color-utilities/utils/theme_utils.js.map +1 -0
- package/package.json +114 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-m3-spring.js","names":[],"sources":["../../src/motion/get-m3-spring.ts"],"sourcesContent":["import {\n SPRINGS,\n toMotionSpring,\n type MotionScheme,\n type MotionSpring,\n type SpringFamily,\n type SpringSpeed,\n} from '../tokens/motion';\n\n/** The Motion spring for a motion scheme, family and speed. */\nexport function getM3Spring(\n scheme: MotionScheme,\n family: SpringFamily,\n speed: SpringSpeed = 'default',\n): MotionSpring {\n return toMotionSpring(SPRINGS[scheme][family][speed]);\n}\n"],"mappings":";;;AAUA,SAAgB,YACd,QACA,QACA,QAAqB,WACP;CACd,OAAO,eAAe,QAAQ,OAAO,CAAC,OAAO,CAAC,MAAM;AACtD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/motion/reduced-motion.ts
|
|
2
|
+
/**
|
|
3
|
+
* Classes for a surface that enters and leaves with `@starting-style` and `data-exiting`:
|
|
4
|
+
* under reduced motion it only fades, in on the default effects spring and out on the fast
|
|
5
|
+
* one. Its own entry and exit geometry must be `motion-safe:` so it stays where it rests.
|
|
6
|
+
* Every class is written out in full so Tailwind can find it.
|
|
7
|
+
*/
|
|
8
|
+
const reducedMotionFade = [
|
|
9
|
+
"motion-reduce:starting:opacity-0 motion-reduce:data-exiting:opacity-0",
|
|
10
|
+
"motion-reduce:[transition-property:opacity]",
|
|
11
|
+
"motion-reduce:[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]",
|
|
12
|
+
"motion-reduce:[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]",
|
|
13
|
+
"motion-reduce:data-exiting:[transition-duration:var(--md-sys-motion-spring-effects-fast-duration)]",
|
|
14
|
+
"motion-reduce:data-exiting:[transition-timing-function:var(--md-sys-motion-spring-effects-fast-easing)]"
|
|
15
|
+
];
|
|
16
|
+
//#endregion
|
|
17
|
+
export { reducedMotionFade };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=reduced-motion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reduced-motion.js","names":[],"sources":["../../src/motion/reduced-motion.ts"],"sourcesContent":["/*\n * Reduced motion (architecture §6). Under `prefers-reduced-motion: reduce` the spatial spring\n * tokens last 0ms, so whatever moves, sizes, reshapes or turns on them changes at once, while\n * colour and opacity keep their effects springs. A surface that slides or grows in and out\n * would then pop; these classes make it fade instead.\n */\n\n/**\n * Classes for a surface that enters and leaves with `@starting-style` and `data-exiting`:\n * under reduced motion it only fades, in on the default effects spring and out on the fast\n * one. Its own entry and exit geometry must be `motion-safe:` so it stays where it rests.\n * Every class is written out in full so Tailwind can find it.\n */\nexport const reducedMotionFade = [\n 'motion-reduce:starting:opacity-0 motion-reduce:data-exiting:opacity-0',\n 'motion-reduce:[transition-property:opacity]',\n 'motion-reduce:[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]',\n 'motion-reduce:[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]',\n 'motion-reduce:data-exiting:[transition-duration:var(--md-sys-motion-spring-effects-fast-duration)]',\n 'motion-reduce:data-exiting:[transition-timing-function:var(--md-sys-motion-spring-effects-fast-easing)]',\n];\n"],"mappings":";;;;;;;AAaA,MAAa,oBAAoB;CAC/B;CACA;CACA;CACA;CACA;CACA;AACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MotionSpring, SpringFamily, SpringSpeed } from "../tokens/motion.js";
|
|
2
|
+
//#region src/motion/use-m3-spring.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* The Motion spring for the active motion scheme (from `ThemeProvider` / `ThemeScope`).
|
|
5
|
+
* `prefers-reduced-motion` forces the `standard` scheme, which never visibly overshoots.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const spring = useM3Spring('spatial', 'fast');
|
|
9
|
+
* <m.div animate={{ scale: 1 }} transition={spring} />
|
|
10
|
+
*/
|
|
11
|
+
export declare function useM3Spring(family: SpringFamily, speed?: SpringSpeed): MotionSpring;
|
|
12
|
+
//#endregion
|
|
13
|
+
//# sourceMappingURL=use-m3-spring.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useThemeScope } from "../theme/context.js";
|
|
3
|
+
import { getM3Spring } from "./get-m3-spring.js";
|
|
4
|
+
import { useReducedMotion } from "motion/react";
|
|
5
|
+
//#region src/motion/use-m3-spring.ts
|
|
6
|
+
/**
|
|
7
|
+
* The Motion spring for the active motion scheme (from `ThemeProvider` / `ThemeScope`).
|
|
8
|
+
* `prefers-reduced-motion` forces the `standard` scheme, which never visibly overshoots.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const spring = useM3Spring('spatial', 'fast');
|
|
12
|
+
* <m.div animate={{ scale: 1 }} transition={spring} />
|
|
13
|
+
*/
|
|
14
|
+
function useM3Spring(family, speed = "default") {
|
|
15
|
+
const { motion } = useThemeScope();
|
|
16
|
+
const prefersReducedMotion = useReducedMotion();
|
|
17
|
+
return getM3Spring(prefersReducedMotion ? "standard" : motion, family, speed);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { useM3Spring };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=use-m3-spring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-m3-spring.js","names":[],"sources":["../../src/motion/use-m3-spring.ts"],"sourcesContent":["'use client';\n\nimport { useReducedMotion } from 'motion/react';\nimport { useThemeScope } from '../theme/context';\nimport type { MotionSpring, SpringFamily, SpringSpeed } from '../tokens/motion';\nimport { getM3Spring } from './get-m3-spring';\n\n/**\n * The Motion spring for the active motion scheme (from `ThemeProvider` / `ThemeScope`).\n * `prefers-reduced-motion` forces the `standard` scheme, which never visibly overshoots.\n *\n * @example\n * const spring = useM3Spring('spatial', 'fast');\n * <m.div animate={{ scale: 1 }} transition={spring} />\n */\nexport function useM3Spring(family: SpringFamily, speed: SpringSpeed = 'default'): MotionSpring {\n const { motion } = useThemeScope();\n const prefersReducedMotion = useReducedMotion();\n return getM3Spring(prefersReducedMotion ? 'standard' : motion, family, speed);\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,SAAgB,YAAY,QAAsB,QAAqB,WAAyB;CAC9F,MAAM,EAAE,WAAW,cAAc;CACjC,MAAM,uBAAuB,iBAAiB;CAC9C,OAAO,YAAY,uBAAuB,aAAa,QAAQ,QAAQ,KAAK;AAC9E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
//#region src/next/NextRouterProvider.d.ts
|
|
3
|
+
export interface NextRouterProviderProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Routes every library link (`href` on buttons, menu items, tabs, …) through the
|
|
8
|
+
* Next.js router for client-side navigation, asking any active `useNavigationGuard` first.
|
|
9
|
+
* Render it once inside the root layout.
|
|
10
|
+
*/
|
|
11
|
+
export declare function NextRouterProvider({ children }: NextRouterProviderProps): import("react").JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
//# sourceMappingURL=NextRouterProvider.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { GuardProvider, useGuardRegistry } from "./navigation-guard.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { RouterProvider } from "react-aria";
|
|
5
|
+
import { useRouter } from "next/navigation.js";
|
|
6
|
+
//#region src/next/NextRouterProvider.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Routes every library link (`href` on buttons, menu items, tabs, …) through the
|
|
9
|
+
* Next.js router for client-side navigation, asking any active `useNavigationGuard` first.
|
|
10
|
+
* Render it once inside the root layout.
|
|
11
|
+
*/
|
|
12
|
+
function NextRouterProvider({ children }) {
|
|
13
|
+
const router = useRouter();
|
|
14
|
+
const guards = useGuardRegistry();
|
|
15
|
+
return /* @__PURE__ */ jsx(GuardProvider, {
|
|
16
|
+
value: guards,
|
|
17
|
+
children: /* @__PURE__ */ jsx(RouterProvider, {
|
|
18
|
+
navigate: (href) => guards.attempt(() => router.push(href)),
|
|
19
|
+
children
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { NextRouterProvider };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=NextRouterProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextRouterProvider.js","names":[],"sources":["../../src/next/NextRouterProvider.tsx"],"sourcesContent":["'use client';\n\n// With its extension: Next has no `exports` map, so plain Node ESM resolves only the file.\nimport { useRouter } from 'next/navigation.js';\nimport type { ReactNode } from 'react';\nimport { RouterProvider } from 'react-aria';\nimport { GuardProvider, useGuardRegistry } from './navigation-guard';\n\nexport interface NextRouterProviderProps {\n children?: ReactNode;\n}\n\n/**\n * Routes every library link (`href` on buttons, menu items, tabs, …) through the\n * Next.js router for client-side navigation, asking any active `useNavigationGuard` first.\n * Render it once inside the root layout.\n */\nexport function NextRouterProvider({ children }: NextRouterProviderProps) {\n const router = useRouter();\n const guards = useGuardRegistry();\n return (\n <GuardProvider value={guards}>\n <RouterProvider navigate={(href) => guards.attempt(() => router.push(href))}>\n {children}\n </RouterProvider>\n </GuardProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAiBA,SAAgB,mBAAmB,EAAE,YAAqC;CACxE,MAAM,SAAS,UAAU;CACzB,MAAM,SAAS,iBAAiB;CAChC,OACE,oBAAC,eAAD;EAAe,OAAO;EACpB,UAAA,oBAAC,gBAAD;GAAgB,WAAW,SAAS,OAAO,cAAc,OAAO,KAAK,IAAI,CAAC;GACvE;EACa,CAAA;CACH,CAAA;AAEnB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ThemeState } from "../theme/state.js";
|
|
2
|
+
//#region src/next/get-theme-from-cookies.d.ts
|
|
3
|
+
/** Anything with a `get(name)` like Next's `cookies()` store or `NextRequest.cookies`. */
|
|
4
|
+
export interface CookieReader {
|
|
5
|
+
get(name: string): {
|
|
6
|
+
value: string;
|
|
7
|
+
} | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface GetThemeFromCookiesOptions {
|
|
10
|
+
/** Values used for anything not stored. Must match the `ThemeProvider` defaults. */
|
|
11
|
+
defaults?: Partial<ThemeState>;
|
|
12
|
+
/** Must match `ThemeProvider`'s `storageKey`. */
|
|
13
|
+
storageKey?: string;
|
|
14
|
+
/** Allowed theme names; a stored theme outside this list falls back to the default. */
|
|
15
|
+
themes?: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Reads the theme selection saved by `ThemeProvider` (with `storage="cookie"`) so the
|
|
19
|
+
* server can render the right `data-*` attributes on `<html>` and avoid a theme flash.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // app/layout.tsx
|
|
23
|
+
* const theme = getThemeFromCookies(await cookies());
|
|
24
|
+
* <html lang="en" {...themeAttributes(theme)}>
|
|
25
|
+
* <body>
|
|
26
|
+
* <ThemeProvider defaultTheme={theme.theme} defaultMode={theme.mode}
|
|
27
|
+
* defaultContrast={theme.contrast} defaultMotion={theme.motion}
|
|
28
|
+
* defaultDensity={theme.density}>…</ThemeProvider>
|
|
29
|
+
*/
|
|
30
|
+
export declare function getThemeFromCookies(cookies: CookieReader | string | null | undefined, { defaults, storageKey, themes }?: GetThemeFromCookiesOptions): ThemeState;
|
|
31
|
+
//#endregion
|
|
32
|
+
//# sourceMappingURL=get-theme-from-cookies.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DEFAULT_STORAGE_KEY, DEFAULT_THEME_STATE, parseThemeState, readCookie } from "../theme/state.js";
|
|
2
|
+
//#region src/next/get-theme-from-cookies.ts
|
|
3
|
+
/**
|
|
4
|
+
* Reads the theme selection saved by `ThemeProvider` (with `storage="cookie"`) so the
|
|
5
|
+
* server can render the right `data-*` attributes on `<html>` and avoid a theme flash.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // app/layout.tsx
|
|
9
|
+
* const theme = getThemeFromCookies(await cookies());
|
|
10
|
+
* <html lang="en" {...themeAttributes(theme)}>
|
|
11
|
+
* <body>
|
|
12
|
+
* <ThemeProvider defaultTheme={theme.theme} defaultMode={theme.mode}
|
|
13
|
+
* defaultContrast={theme.contrast} defaultMotion={theme.motion}
|
|
14
|
+
* defaultDensity={theme.density}>…</ThemeProvider>
|
|
15
|
+
*/
|
|
16
|
+
function getThemeFromCookies(cookies, { defaults, storageKey = DEFAULT_STORAGE_KEY, themes } = {}) {
|
|
17
|
+
const raw = typeof cookies === "string" ? readCookie(cookies, storageKey) : cookies?.get(storageKey)?.value;
|
|
18
|
+
return {
|
|
19
|
+
...DEFAULT_THEME_STATE,
|
|
20
|
+
...defaults,
|
|
21
|
+
...parseThemeState(raw, themes)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { getThemeFromCookies };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=get-theme-from-cookies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-theme-from-cookies.js","names":[],"sources":["../../src/next/get-theme-from-cookies.ts"],"sourcesContent":["import {\n DEFAULT_STORAGE_KEY,\n DEFAULT_THEME_STATE,\n parseThemeState,\n readCookie,\n type ThemeState,\n} from '../theme/state';\n\n/** Anything with a `get(name)` like Next's `cookies()` store or `NextRequest.cookies`. */\nexport interface CookieReader {\n get(name: string): { value: string } | undefined;\n}\n\nexport interface GetThemeFromCookiesOptions {\n /** Values used for anything not stored. Must match the `ThemeProvider` defaults. */\n defaults?: Partial<ThemeState>;\n /** Must match `ThemeProvider`'s `storageKey`. */\n storageKey?: string;\n /** Allowed theme names; a stored theme outside this list falls back to the default. */\n themes?: readonly string[];\n}\n\n/**\n * Reads the theme selection saved by `ThemeProvider` (with `storage=\"cookie\"`) so the\n * server can render the right `data-*` attributes on `<html>` and avoid a theme flash.\n *\n * @example\n * // app/layout.tsx\n * const theme = getThemeFromCookies(await cookies());\n * <html lang=\"en\" {...themeAttributes(theme)}>\n * <body>\n * <ThemeProvider defaultTheme={theme.theme} defaultMode={theme.mode}\n * defaultContrast={theme.contrast} defaultMotion={theme.motion}\n * defaultDensity={theme.density}>…</ThemeProvider>\n */\nexport function getThemeFromCookies(\n cookies: CookieReader | string | null | undefined,\n { defaults, storageKey = DEFAULT_STORAGE_KEY, themes }: GetThemeFromCookiesOptions = {},\n): ThemeState {\n const raw =\n typeof cookies === 'string' ? readCookie(cookies, storageKey) : cookies?.get(storageKey)?.value;\n return { ...DEFAULT_THEME_STATE, ...defaults, ...parseThemeState(raw, themes) };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmCA,SAAgB,oBACd,SACA,EAAE,UAAU,aAAa,qBAAqB,WAAuC,CAAC,GAC1E;CACZ,MAAM,MACJ,OAAO,YAAY,WAAW,WAAW,SAAS,UAAU,IAAI,SAAS,IAAI,UAAU,CAAC,EAAE;CAC5F,OAAO;EAAE,GAAG;EAAqB,GAAG;EAAU,GAAG,gBAAgB,KAAK,MAAM;CAAE;AAChF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/next/navigation-guard.d.ts
|
|
2
|
+
/** Runs instead of a navigation while a guard is active; `proceed()` navigates after all. */
|
|
3
|
+
export type NavigationAttempt = (proceed: () => void) => void;
|
|
4
|
+
export interface NavigationGuardOptions {
|
|
5
|
+
/** Whether leaving should ask first, e.g. while a form has unsaved changes. */
|
|
6
|
+
when: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Called instead of following a library link (or a `useGuardedNavigate` call) while `when`
|
|
9
|
+
* is true. Show a confirm dialog, and call `proceed()` if the person chooses to leave.
|
|
10
|
+
*/
|
|
11
|
+
onAttempt: NavigationAttempt;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Asks before leaving a page with unsaved changes. While `when` is true, library links
|
|
15
|
+
* (`href` on a `Button`, `ListItem`, `Link`, `Tab`, …) inside `NextRouterProvider` call
|
|
16
|
+
* `onAttempt` instead of navigating, and reloading or closing the tab shows the browser's
|
|
17
|
+
* own prompt. The browser's Back and Forward buttons can't be stopped in the App Router.
|
|
18
|
+
* When several guards are active, the most recent one decides.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* useNavigationGuard({ when: dirty, onAttempt: (proceed) => setLeaving(() => proceed) });
|
|
22
|
+
*/
|
|
23
|
+
export declare function useNavigationGuard({ when, onAttempt }: NavigationGuardOptions): void;
|
|
24
|
+
/**
|
|
25
|
+
* A `navigate(href)` for code that would call `router.push` itself (after a save, a
|
|
26
|
+
* redirect), which asks the active navigation guard first, as library links do.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useGuardedNavigate(): (href: string) => void;
|
|
29
|
+
//#endregion
|
|
30
|
+
//# sourceMappingURL=navigation-guard.d.ts.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import { useRouter } from "next/navigation.js";
|
|
4
|
+
//#region src/next/navigation-guard.tsx
|
|
5
|
+
const GuardContext = createContext(null);
|
|
6
|
+
/** The guard registry `NextRouterProvider` holds; @internal */
|
|
7
|
+
function useGuardRegistry() {
|
|
8
|
+
const guards = useRef([]);
|
|
9
|
+
return useMemo(() => ({
|
|
10
|
+
add: (guard) => {
|
|
11
|
+
guards.current = [...guards.current, guard];
|
|
12
|
+
return () => {
|
|
13
|
+
guards.current = guards.current.filter((item) => item !== guard);
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
attempt: (go) => {
|
|
17
|
+
const latest = guards.current.at(-1);
|
|
18
|
+
if (latest) latest.current(go);
|
|
19
|
+
else go();
|
|
20
|
+
}
|
|
21
|
+
}), []);
|
|
22
|
+
}
|
|
23
|
+
/** @internal */
|
|
24
|
+
const GuardProvider = GuardContext.Provider;
|
|
25
|
+
/**
|
|
26
|
+
* Asks before leaving a page with unsaved changes. While `when` is true, library links
|
|
27
|
+
* (`href` on a `Button`, `ListItem`, `Link`, `Tab`, …) inside `NextRouterProvider` call
|
|
28
|
+
* `onAttempt` instead of navigating, and reloading or closing the tab shows the browser's
|
|
29
|
+
* own prompt. The browser's Back and Forward buttons can't be stopped in the App Router.
|
|
30
|
+
* When several guards are active, the most recent one decides.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* useNavigationGuard({ when: dirty, onAttempt: (proceed) => setLeaving(() => proceed) });
|
|
34
|
+
*/
|
|
35
|
+
function useNavigationGuard({ when, onAttempt }) {
|
|
36
|
+
const registry = useContext(GuardContext);
|
|
37
|
+
const latest = useRef(onAttempt);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
latest.current = onAttempt;
|
|
40
|
+
}, [onAttempt]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!when) return;
|
|
43
|
+
const remove = registry?.add(latest);
|
|
44
|
+
const warn = (event) => event.preventDefault();
|
|
45
|
+
window.addEventListener("beforeunload", warn);
|
|
46
|
+
return () => {
|
|
47
|
+
remove?.();
|
|
48
|
+
window.removeEventListener("beforeunload", warn);
|
|
49
|
+
};
|
|
50
|
+
}, [when, registry]);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A `navigate(href)` for code that would call `router.push` itself (after a save, a
|
|
54
|
+
* redirect), which asks the active navigation guard first, as library links do.
|
|
55
|
+
*/
|
|
56
|
+
function useGuardedNavigate() {
|
|
57
|
+
const registry = useContext(GuardContext);
|
|
58
|
+
const router = useRouter();
|
|
59
|
+
return useCallback((href) => {
|
|
60
|
+
const go = () => router.push(href);
|
|
61
|
+
if (registry) registry.attempt(go);
|
|
62
|
+
else go();
|
|
63
|
+
}, [registry, router]);
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { GuardProvider, useGuardRegistry, useGuardedNavigate, useNavigationGuard };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=navigation-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-guard.js","names":[],"sources":["../../src/next/navigation-guard.tsx"],"sourcesContent":["'use client';\n\n// With its extension: Next has no `exports` map, so plain Node ESM resolves only the file.\nimport { useRouter } from 'next/navigation.js';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useRef } from 'react';\n\n/** Runs instead of a navigation while a guard is active; `proceed()` navigates after all. */\nexport type NavigationAttempt = (proceed: () => void) => void;\n\ninterface GuardRegistry {\n /** Adds a guard and returns its removal. */\n add: (attempt: { current: NavigationAttempt }) => () => void;\n /** Navigates with `go`, unless the most recent guard takes the attempt. */\n attempt: (go: () => void) => void;\n}\n\nconst GuardContext = createContext<GuardRegistry | null>(null);\n\n/** The guard registry `NextRouterProvider` holds; @internal */\nexport function useGuardRegistry(): GuardRegistry {\n const guards = useRef<{ current: NavigationAttempt }[]>([]);\n return useMemo(\n () => ({\n add: (guard) => {\n guards.current = [...guards.current, guard];\n return () => {\n guards.current = guards.current.filter((item) => item !== guard);\n };\n },\n attempt: (go) => {\n const latest = guards.current.at(-1);\n if (latest) latest.current(go);\n else go();\n },\n }),\n [],\n );\n}\n\n/** @internal */\nexport const GuardProvider = GuardContext.Provider;\n\nexport interface NavigationGuardOptions {\n /** Whether leaving should ask first, e.g. while a form has unsaved changes. */\n when: boolean;\n /**\n * Called instead of following a library link (or a `useGuardedNavigate` call) while `when`\n * is true. Show a confirm dialog, and call `proceed()` if the person chooses to leave.\n */\n onAttempt: NavigationAttempt;\n}\n\n/**\n * Asks before leaving a page with unsaved changes. While `when` is true, library links\n * (`href` on a `Button`, `ListItem`, `Link`, `Tab`, …) inside `NextRouterProvider` call\n * `onAttempt` instead of navigating, and reloading or closing the tab shows the browser's\n * own prompt. The browser's Back and Forward buttons can't be stopped in the App Router.\n * When several guards are active, the most recent one decides.\n *\n * @example\n * useNavigationGuard({ when: dirty, onAttempt: (proceed) => setLeaving(() => proceed) });\n */\nexport function useNavigationGuard({ when, onAttempt }: NavigationGuardOptions): void {\n const registry = useContext(GuardContext);\n const latest = useRef(onAttempt);\n\n useEffect(() => {\n latest.current = onAttempt;\n }, [onAttempt]);\n\n useEffect(() => {\n if (!when) return;\n const remove = registry?.add(latest);\n const warn = (event: BeforeUnloadEvent) => event.preventDefault();\n window.addEventListener('beforeunload', warn);\n return () => {\n remove?.();\n window.removeEventListener('beforeunload', warn);\n };\n }, [when, registry]);\n}\n\n/**\n * A `navigate(href)` for code that would call `router.push` itself (after a save, a\n * redirect), which asks the active navigation guard first, as library links do.\n */\nexport function useGuardedNavigate(): (href: string) => void {\n const registry = useContext(GuardContext);\n const router = useRouter();\n return useCallback(\n (href: string) => {\n const go = () => router.push(href);\n if (registry) registry.attempt(go);\n else go();\n },\n [registry, router],\n );\n}\n"],"mappings":";;;;AAgBA,MAAM,eAAe,cAAoC,IAAI;;AAG7D,SAAgB,mBAAkC;CAChD,MAAM,SAAS,OAAyC,CAAC,CAAC;CAC1D,OAAO,eACE;EACL,MAAM,UAAU;GACd,OAAO,UAAU,CAAC,GAAG,OAAO,SAAS,KAAK;GAC1C,aAAa;IACX,OAAO,UAAU,OAAO,QAAQ,QAAQ,SAAS,SAAS,KAAK;GACjE;EACF;EACA,UAAU,OAAO;GACf,MAAM,SAAS,OAAO,QAAQ,GAAG,EAAE;GACnC,IAAI,QAAQ,OAAO,QAAQ,EAAE;QACxB,GAAG;EACV;CACF,IACA,CAAC,CACH;AACF;;AAGA,MAAa,gBAAgB,aAAa;;;;;;;;;;;AAsB1C,SAAgB,mBAAmB,EAAE,MAAM,aAA2C;CACpF,MAAM,WAAW,WAAW,YAAY;CACxC,MAAM,SAAS,OAAO,SAAS;CAE/B,gBAAgB;EACd,OAAO,UAAU;CACnB,GAAG,CAAC,SAAS,CAAC;CAEd,gBAAgB;EACd,IAAI,CAAC,MAAM;EACX,MAAM,SAAS,UAAU,IAAI,MAAM;EACnC,MAAM,QAAQ,UAA6B,MAAM,eAAe;EAChE,OAAO,iBAAiB,gBAAgB,IAAI;EAC5C,aAAa;GACX,SAAS;GACT,OAAO,oBAAoB,gBAAgB,IAAI;EACjD;CACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AACrB;;;;;AAMA,SAAgB,qBAA6C;CAC3D,MAAM,WAAW,WAAW,YAAY;CACxC,MAAM,SAAS,UAAU;CACzB,OAAO,aACJ,SAAiB;EAChB,MAAM,WAAW,OAAO,KAAK,IAAI;EACjC,IAAI,UAAU,SAAS,QAAQ,EAAE;OAC5B,GAAG;CACV,GACA,CAAC,UAAU,MAAM,CACnB;AACF"}
|
package/dist/next.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ThemeState, themeAttributes } from "./theme/state.js";
|
|
2
|
+
import { CookieReader, GetThemeFromCookiesOptions, getThemeFromCookies } from "./next/get-theme-from-cookies.js";
|
|
3
|
+
import { NextRouterProvider, NextRouterProviderProps } from "./next/NextRouterProvider.js";
|
|
4
|
+
import { NavigationAttempt, NavigationGuardOptions, useGuardedNavigate, useNavigationGuard } from "./next/navigation-guard.js";
|
|
5
|
+
export { type CookieReader, type GetThemeFromCookiesOptions, type NavigationAttempt, type NavigationGuardOptions, NextRouterProvider, type NextRouterProviderProps, type ThemeState, getThemeFromCookies, themeAttributes, useGuardedNavigate, useNavigationGuard };
|
package/dist/next.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { themeAttributes } from "./theme/state.js";
|
|
2
|
+
import { getThemeFromCookies } from "./next/get-theme-from-cookies.js";
|
|
3
|
+
import { useGuardedNavigate, useNavigationGuard } from "./next/navigation-guard.js";
|
|
4
|
+
import { NextRouterProvider } from "./next/NextRouterProvider.js";
|
|
5
|
+
export { NextRouterProvider, getThemeFromCookies, themeAttributes, useGuardedNavigate, useNavigationGuard };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { CSSProperties, ComponentPropsWithoutRef, ReactNode, Ref } from "react";
|
|
2
|
+
import { PressEvents } from "react-aria";
|
|
3
|
+
import { ToggleGroupState } from "react-stately";
|
|
4
|
+
//#region src/primitives/ButtonBase.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Selection state of an enclosing toggle group (e.g. a connected `ButtonGroup`). Toggle
|
|
7
|
+
* buttons with a `value` inside it are selected through the group instead of on their own.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ToggleGroupStateContext: import("react").Context<ToggleGroupState | null>;
|
|
10
|
+
type PressHandlers = Pick<PressEvents, 'onPress' | 'onPressStart' | 'onPressEnd' | 'onPressChange' | 'onPressUp'> & {
|
|
11
|
+
/** Don't move focus to the element on press (set by menu triggers). @default false */
|
|
12
|
+
preventFocusOnPress?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export interface ButtonBaseRenderState {
|
|
15
|
+
isSelected: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface ButtonBaseCommonProps extends PressHandlers {
|
|
18
|
+
/** Disables the element: it can't be pressed or focused, and shows the disabled style. @default false */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Classes for the root element, merged with `classNames.root`; consumer classes win. */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Inline styles for the root element. */
|
|
23
|
+
style?: CSSProperties;
|
|
24
|
+
/**
|
|
25
|
+
* The element is being dragged (e.g. a card picked up to move it): sets `data-dragged`
|
|
26
|
+
* for the dragged state layer. A consumer's own `data-dragged` attribute counts too.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
dragged?: boolean;
|
|
30
|
+
/** Content, or a function of the selection state (e.g. to swap a toggle's icon). */
|
|
31
|
+
children?: ReactNode | ((state: ButtonBaseRenderState) => ReactNode);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The pending state `Button` and `IconButton` build on. It isn't part of the other props types,
|
|
35
|
+
* so components that extend them (FABs, chips, cards) don't inherit it; pass it to `ButtonBase`
|
|
36
|
+
* alongside them.
|
|
37
|
+
*/
|
|
38
|
+
export interface ButtonBasePendingProps {
|
|
39
|
+
/**
|
|
40
|
+
* An action started by the element is running: presses are blocked (`onPress`, `onClick`,
|
|
41
|
+
* Enter and Space do nothing, no hover or pressed state), but the element stays focusable and
|
|
42
|
+
* in the Tab order, unlike `disabled`. Sets `aria-disabled="true"` and `data-pending`; a
|
|
43
|
+
* submit button renders `type="button"` meanwhile, so the form isn't submitted again, and a
|
|
44
|
+
* link keeps its `href` with its navigation prevented. `disabled` wins when both are set.
|
|
45
|
+
* A toggle ignores it.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
pending?: boolean;
|
|
49
|
+
}
|
|
50
|
+
type OwnKeys = keyof ButtonBaseCommonProps | 'color';
|
|
51
|
+
export interface ButtonBaseActionProps extends ButtonBaseCommonProps, Omit<ComponentPropsWithoutRef<'button'>, OwnKeys> {
|
|
52
|
+
/** Ref to the root `<button>` element. */
|
|
53
|
+
ref?: Ref<HTMLButtonElement>;
|
|
54
|
+
/** The element rendered: a native `<button>`. @default "button" */
|
|
55
|
+
as?: 'button';
|
|
56
|
+
/**
|
|
57
|
+
* The value a submit button sends with its form, under its `name`. On a toggle (`toggle`)
|
|
58
|
+
* it's a `string` naming the button in a selection group instead, required to take part in
|
|
59
|
+
* the group's selection.
|
|
60
|
+
*/
|
|
61
|
+
value?: ComponentPropsWithoutRef<'button'>['value'];
|
|
62
|
+
/** Renders a link (`<a>`) instead of a button. */
|
|
63
|
+
href?: undefined;
|
|
64
|
+
/** Makes the button a toggle (`aria-pressed`) with `selected` and `onSelectedChange`. @default false */
|
|
65
|
+
toggle?: false;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A `div` with `role="button"`, for pressable containers whose content a `<button>` may
|
|
69
|
+
* not hold (headings, images, block layout), such as clickable cards.
|
|
70
|
+
*/
|
|
71
|
+
export interface ButtonBaseDivActionProps extends ButtonBaseCommonProps, Omit<ComponentPropsWithoutRef<'div'>, OwnKeys> {
|
|
72
|
+
/** Ref to the root `<div>` element. */
|
|
73
|
+
ref?: Ref<HTMLDivElement>;
|
|
74
|
+
/** Renders a `div` with `role="button"`, for content a `<button>` may not hold. */
|
|
75
|
+
as: 'div';
|
|
76
|
+
/** Renders a link (`<a>`) instead of a button. */
|
|
77
|
+
href?: undefined;
|
|
78
|
+
/** Makes the button a toggle (`aria-pressed`) with `selected` and `onSelectedChange`. @default false */
|
|
79
|
+
toggle?: false;
|
|
80
|
+
}
|
|
81
|
+
export interface ButtonBaseLinkProps extends ButtonBaseCommonProps, Omit<ComponentPropsWithoutRef<'a'>, OwnKeys | 'href'> {
|
|
82
|
+
/** Ref to the root `<a>` element. */
|
|
83
|
+
ref?: Ref<HTMLAnchorElement>;
|
|
84
|
+
/** Renders a link. Navigation goes through React Aria's `RouterProvider` when one is set. */
|
|
85
|
+
href: string;
|
|
86
|
+
/** Makes the button a toggle (`aria-pressed`) with `selected` and `onSelectedChange`. @default false */
|
|
87
|
+
toggle?: false;
|
|
88
|
+
}
|
|
89
|
+
export interface ButtonBaseToggleProps extends ButtonBaseCommonProps, Omit<ComponentPropsWithoutRef<'button'>, OwnKeys | 'aria-pressed' | 'onChange'> {
|
|
90
|
+
/** Ref to the root `<button>` element. */
|
|
91
|
+
ref?: Ref<HTMLButtonElement>;
|
|
92
|
+
/** Renders a link (`<a>`) instead of a button. */
|
|
93
|
+
href?: undefined;
|
|
94
|
+
/** Makes the button a toggle (`aria-pressed`). */
|
|
95
|
+
toggle: true;
|
|
96
|
+
/** Identifies the button in a selection group; required to take part in its selection. */
|
|
97
|
+
value?: string;
|
|
98
|
+
/** Controlled selection. Ignored inside a selection group. */
|
|
99
|
+
selected?: boolean;
|
|
100
|
+
/** Initial selection when uncontrolled. */
|
|
101
|
+
defaultSelected?: boolean;
|
|
102
|
+
/** Called with the new selection when the user toggles the button. */
|
|
103
|
+
onSelectedChange?: (selected: boolean) => void;
|
|
104
|
+
}
|
|
105
|
+
export type ButtonBaseProps = ButtonBaseActionProps | ButtonBaseDivActionProps | ButtonBaseLinkProps | ButtonBaseToggleProps;
|
|
106
|
+
/**
|
|
107
|
+
* Unstyled button behaviour shared by every button-like component: a `<button>`, a
|
|
108
|
+
* link (`href`) or a toggle (`toggle`), with React Aria press, focus and keyboard
|
|
109
|
+
* handling, and the M3 interaction `data-*` attributes and ripple origin from
|
|
110
|
+
* `useM3Interaction`. DOM props pass through; `className` and `style` go on the element.
|
|
111
|
+
* `pending` blocks presses but keeps focus (see {@link ButtonBasePendingProps}).
|
|
112
|
+
*/
|
|
113
|
+
export declare function ButtonBase(ownProps: ButtonBaseProps & ButtonBasePendingProps): import("react").JSX.Element;
|
|
114
|
+
//#endregion
|
|
115
|
+
//# sourceMappingURL=ButtonBase.d.ts.map
|