@windmorph/react 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +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,99 @@
|
|
|
1
|
+
import { tv } from "../../utils/tv.js";
|
|
2
|
+
//#region src/components/tabs/tabs-styles.ts
|
|
3
|
+
/** Variant definitions for {@link Tabs}; extend them to add variants. */
|
|
4
|
+
const tabsStyles = tv({
|
|
5
|
+
slots: {
|
|
6
|
+
root: "flex min-w-0 flex-col",
|
|
7
|
+
scroller: "",
|
|
8
|
+
list: [
|
|
9
|
+
"group/tabs grid grid-rows-[auto] bg-[var(--_md-comp-tabs-container-color)]",
|
|
10
|
+
"shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]",
|
|
11
|
+
"forced-colors:border-b forced-colors:border-[CanvasText]"
|
|
12
|
+
],
|
|
13
|
+
tab: [
|
|
14
|
+
"row-start-1 flex min-w-0 cursor-pointer items-center justify-center px-[16px] select-none",
|
|
15
|
+
"font-plain text-title-small",
|
|
16
|
+
"state-layer focus-ring-inset",
|
|
17
|
+
"not-data-selected:data-hovered:text-on-surface not-data-selected:data-focus-visible:text-on-surface not-data-selected:data-pressed:text-on-surface",
|
|
18
|
+
"data-disabled:cursor-default data-disabled:text-on-surface/38",
|
|
19
|
+
"forced-colors:data-selected:text-[Highlight]",
|
|
20
|
+
"[--m3-tab-icon-color:var(--_md-comp-tabs-with-icon-inactive-icon-color)] data-selected:[--m3-tab-icon-color:var(--_md-comp-tabs-with-icon-active-icon-color)]",
|
|
21
|
+
"not-data-selected:data-hovered:[--m3-tab-icon-color:currentColor] not-data-selected:data-focus-visible:[--m3-tab-icon-color:currentColor] not-data-selected:data-pressed:[--m3-tab-icon-color:currentColor]",
|
|
22
|
+
"data-disabled:[--m3-tab-icon-color:currentColor]",
|
|
23
|
+
"group-data-recolour/tabs:[--m3-transition-property:color] [--m3-transition-delay:0s]",
|
|
24
|
+
"[--m3-transition-duration:var(--md-sys-motion-spring-effects-fast-duration)] [--m3-transition-easing:var(--md-sys-motion-spring-effects-fast-easing)]",
|
|
25
|
+
"data-selected:[--m3-transition-duration:var(--md-sys-motion-spring-effects-default-duration)] data-selected:[--m3-transition-easing:var(--md-sys-motion-spring-effects-default-easing)]"
|
|
26
|
+
],
|
|
27
|
+
icon: ["inline-flex size-[24px] shrink-0 items-center justify-center text-[color:var(--m3-tab-icon-color)] [&>svg]:size-full", "[transition-property:var(--m3-transition-property,none)] [transition-duration:var(--m3-transition-duration,0s)] [transition-timing-function:var(--m3-transition-easing,linear)]"],
|
|
28
|
+
label: "line-clamp-2 text-center",
|
|
29
|
+
text: "inline-flex min-w-0 items-center gap-[4px]",
|
|
30
|
+
indicator: [
|
|
31
|
+
"pointer-events-none row-start-1 self-end [justify-self:left] bg-[var(--_md-comp-tabs-active-indicator-color)] opacity-0 data-ready:opacity-100",
|
|
32
|
+
"forced-colors:bg-[Highlight] forced-colors:forced-color-adjust-none",
|
|
33
|
+
"[transition-property:none] group-data-animate/tabs:[transition-property:translate,width]",
|
|
34
|
+
"[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]",
|
|
35
|
+
"[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]"
|
|
36
|
+
],
|
|
37
|
+
panel: "focus-ring-inset"
|
|
38
|
+
},
|
|
39
|
+
variants: {
|
|
40
|
+
variant: {
|
|
41
|
+
primary: {
|
|
42
|
+
tab: [
|
|
43
|
+
"text-[color:var(--_md-comp-tabs-with-label-text-inactive-label-text-color)]",
|
|
44
|
+
"data-selected:text-[color:var(--_md-comp-tabs-with-label-text-active-label-text-color)]",
|
|
45
|
+
"[--m3-state-layer-color:var(--md-sys-color-on-surface)] data-selected:[--m3-state-layer-color:var(--md-sys-color-primary)]"
|
|
46
|
+
],
|
|
47
|
+
indicator: "h-[3px] rounded-t-[3px]"
|
|
48
|
+
},
|
|
49
|
+
secondary: {
|
|
50
|
+
tab: [
|
|
51
|
+
"text-[color:var(--_md-comp-tabs-inactive-label-text-color)]",
|
|
52
|
+
"data-selected:text-[color:var(--_md-comp-tabs-active-label-text-color)]",
|
|
53
|
+
"[--m3-state-layer-color:var(--md-sys-color-on-surface)]"
|
|
54
|
+
],
|
|
55
|
+
indicator: "h-[2px]"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
scrollable: {
|
|
59
|
+
true: {
|
|
60
|
+
scroller: "overflow-x-auto overscroll-x-contain [scrollbar-width:none]",
|
|
61
|
+
list: "w-max min-w-full auto-cols-max ps-[52px]",
|
|
62
|
+
tab: "min-w-[90px]"
|
|
63
|
+
},
|
|
64
|
+
false: { list: "auto-cols-fr" }
|
|
65
|
+
},
|
|
66
|
+
swipeable: {
|
|
67
|
+
true: { panel: "touch-pan-y" },
|
|
68
|
+
false: {}
|
|
69
|
+
},
|
|
70
|
+
align: {
|
|
71
|
+
stretch: {},
|
|
72
|
+
start: {
|
|
73
|
+
scroller: ["bg-[var(--_md-comp-tabs-container-color)] shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]", "forced-colors:border-b forced-colors:border-[CanvasText]"],
|
|
74
|
+
list: "w-max max-w-full forced-colors:border-b-0"
|
|
75
|
+
},
|
|
76
|
+
center: {
|
|
77
|
+
scroller: ["bg-[var(--_md-comp-tabs-container-color)] shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]", "forced-colors:border-b forced-colors:border-[CanvasText]"],
|
|
78
|
+
list: "mx-auto w-max max-w-full forced-colors:border-b-0"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
layout: {
|
|
82
|
+
text: { tab: "min-h-[calc(48px+var(--md-sys-density,0)*4px)]" },
|
|
83
|
+
"icon-top": { tab: "min-h-[calc(64px+var(--md-sys-density,0)*4px)] flex-col justify-center gap-[2px]" },
|
|
84
|
+
"icon-start": { tab: "min-h-[calc(48px+var(--md-sys-density,0)*4px)] flex-row gap-[8px]" },
|
|
85
|
+
"icon-only": { tab: "min-h-[calc(48px+var(--md-sys-density,0)*4px)]" }
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
defaultVariants: {
|
|
89
|
+
variant: "primary",
|
|
90
|
+
scrollable: false,
|
|
91
|
+
layout: "text",
|
|
92
|
+
align: "stretch",
|
|
93
|
+
swipeable: false
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//#endregion
|
|
97
|
+
export { tabsStyles };
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=tabs-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-styles.js","names":[],"sources":["../../../src/components/tabs/tabs-styles.ts"],"sourcesContent":["import { tv, type VariantProps } from '../../utils/tv';\n\n/*\n * Values follow Compose Material 3 (Tab.kt, TabRow.kt, Primary / SecondaryNavigationTab\n * tokens):\n *\n * - `surface` row with a 1px `outline-variant` divider; tabs are 48px, `title-small`, 16px\n * side padding, 24px icons.\n * - With an icon above the label a tab is 64px: the M3 token\n * (`IconAndLabelTextContainerHeight`), which Material Web uses with the icon, a 2px gap\n * and the label centred. Compose's `Tab.kt` (and MDC's `TabLayout`) still hard-code\n * 72dp, the Material Design 1 value, so here the token wins.\n * - Labels are `on-surface-variant` (`on-surface` on hover / focus / press) and the\n * selected label is `primary` (primary tabs) or `on-surface` (secondary). Compose's `Tab`\n * defaults the unselected colour to the selected one; the token colours are used.\n * - Selection recolours on the default effects spring, deselection on fast effects. The\n * state layer is `on-surface`, and `primary` on a selected primary tab.\n * - Indicator (m3.material.io specs, 2026-10-13): `primary`, 3px high on primary tabs with\n * only its top corners rounded (3, 3, 0, 0), as wide as the content (min 24px); 2px high\n * on secondary tabs, the whole tab wide. It slides on the default spatial spring, and\n * follows the selected tab's content when that resizes on its own (a web font loading).\n * - Only a selection change animates: the row's `data-animate` turns on the indicator's\n * slide, and `data-recolour` (set in the render that changes the selection, 2026-10-15)\n * the tabs' colour fades. The first placement, the default selection and resizes appear in\n * place, so nothing slides or fades in on mount.\n * - Forced colours (2026-10-15): the indicator keeps its fill as `Highlight`\n * (`forced-color-adjust: none`), the divider becomes a 1px `CanvasText` border (an inset\n * shadow is dropped there), and the selected label is `Highlight`.\n * - Scrollable rows: tabs at least 90px wide, 52px start inset.\n * - Fixed rows aligned `start` or `center` are only as wide as their tabs, each as wide as\n * the widest (a `max-content` grid of `1fr` columns), with the row's divider kept full\n * width on the scroller.\n * - Badges: 4px after an inline label; on a stacked icon through `BadgedBox`.\n * - Web density (`--md-sys-density`, 0 to -3): each step takes 4px off a tab, 48 → 36px and\n * 64 → 52px with the icon above, as Material Components Web's tab bar density did (48px,\n * 4px a step; stacked 72px). The tabs sit side by side in one row, so a 48px target would\n * reach outside the row: like dense menu items, they keep full-height, non-overlapping\n * targets above WCAG 2.5.8's 24px, and density stays the reader's choice.\n *\n * The indicator shares the tab row's first grid cell (no positioning) and is moved with\n * `translate`.\n *\n * The row, divider, indicator and resting label and icon colours come from the tabs'\n * component tokens (`tabs-tokens.ts`, `--md-comp-{primary,secondary}-navigation-tab-*`); the\n * root and each tab carry `data-tokens=\"md-comp-tabs\"` and `data-variant`. An icon takes its\n * tab's colour through `--m3-tab-icon-color`: the icon token at rest and when selected, the\n * label's colour while hovered, focused, pressed or disabled. A consumer class still wins in\n * `cn()`.\n *\n * Every class is written out in full so Tailwind can find it.\n */\n\n/** Variant definitions for {@link Tabs}; extend them to add variants. */\nexport const tabsStyles = tv({\n slots: {\n root: 'flex min-w-0 flex-col',\n scroller: '',\n list: [\n 'group/tabs grid grid-rows-[auto] bg-[var(--_md-comp-tabs-container-color)]',\n 'shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]',\n 'forced-colors:border-b forced-colors:border-[CanvasText]',\n ],\n tab: [\n 'row-start-1 flex min-w-0 cursor-pointer items-center justify-center px-[16px] select-none',\n 'font-plain text-title-small',\n 'state-layer focus-ring-inset',\n 'not-data-selected:data-hovered:text-on-surface not-data-selected:data-focus-visible:text-on-surface not-data-selected:data-pressed:text-on-surface',\n 'data-disabled:cursor-default data-disabled:text-on-surface/38',\n 'forced-colors:data-selected:text-[Highlight]',\n // The icon's colour: its token at rest and selected, else the label's.\n '[--m3-tab-icon-color:var(--_md-comp-tabs-with-icon-inactive-icon-color)] data-selected:[--m3-tab-icon-color:var(--_md-comp-tabs-with-icon-active-icon-color)]',\n 'not-data-selected:data-hovered:[--m3-tab-icon-color:currentColor] not-data-selected:data-focus-visible:[--m3-tab-icon-color:currentColor] not-data-selected:data-pressed:[--m3-tab-icon-color:currentColor]',\n 'data-disabled:[--m3-tab-icon-color:currentColor]',\n // Colour: in on default effects, out on fast effects, when the selection changes.\n 'group-data-recolour/tabs:[--m3-transition-property:color] [--m3-transition-delay:0s]',\n '[--m3-transition-duration:var(--md-sys-motion-spring-effects-fast-duration)] [--m3-transition-easing:var(--md-sys-motion-spring-effects-fast-easing)]',\n 'data-selected:[--m3-transition-duration:var(--md-sys-motion-spring-effects-default-duration)] data-selected:[--m3-transition-easing:var(--md-sys-motion-spring-effects-default-easing)]',\n ],\n icon: [\n 'inline-flex size-[24px] shrink-0 items-center justify-center text-[color:var(--m3-tab-icon-color)] [&>svg]:size-full',\n // Recolours with its tab's label.\n '[transition-property:var(--m3-transition-property,none)] [transition-duration:var(--m3-transition-duration,0s)] [transition-timing-function:var(--m3-transition-easing,linear)]',\n ],\n label: 'line-clamp-2 text-center',\n // The label and an inline badge, 4px apart.\n text: 'inline-flex min-w-0 items-center gap-[4px]',\n indicator: [\n 'pointer-events-none row-start-1 self-end [justify-self:left] bg-[var(--_md-comp-tabs-active-indicator-color)] opacity-0 data-ready:opacity-100',\n 'forced-colors:bg-[Highlight] forced-colors:forced-color-adjust-none',\n '[transition-property:none] group-data-animate/tabs:[transition-property:translate,width]',\n '[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n ],\n panel: 'focus-ring-inset',\n },\n variants: {\n variant: {\n primary: {\n tab: [\n 'text-[color:var(--_md-comp-tabs-with-label-text-inactive-label-text-color)]',\n 'data-selected:text-[color:var(--_md-comp-tabs-with-label-text-active-label-text-color)]',\n // The state layer follows the label: `primary` on the selected tab, `on-surface` on\n // the others (M3's primary tab tokens; 2026-10-15).\n '[--m3-state-layer-color:var(--md-sys-color-on-surface)] data-selected:[--m3-state-layer-color:var(--md-sys-color-primary)]',\n ],\n indicator: 'h-[3px] rounded-t-[3px]',\n },\n secondary: {\n tab: [\n 'text-[color:var(--_md-comp-tabs-inactive-label-text-color)]',\n 'data-selected:text-[color:var(--_md-comp-tabs-active-label-text-color)]',\n '[--m3-state-layer-color:var(--md-sys-color-on-surface)]',\n ],\n indicator: 'h-[2px]',\n },\n },\n scrollable: {\n true: {\n scroller: 'overflow-x-auto overscroll-x-contain [scrollbar-width:none]',\n list: 'w-max min-w-full auto-cols-max ps-[52px]',\n tab: 'min-w-[90px]',\n },\n false: { list: 'auto-cols-fr' },\n },\n // A swipeable panel takes horizontal gestures and leaves vertical ones to scrolling.\n swipeable: { true: { panel: 'touch-pan-y' }, false: {} },\n align: {\n stretch: {},\n start: {\n scroller: [\n 'bg-[var(--_md-comp-tabs-container-color)] shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]',\n 'forced-colors:border-b forced-colors:border-[CanvasText]',\n ],\n list: 'w-max max-w-full forced-colors:border-b-0',\n },\n center: {\n scroller: [\n 'bg-[var(--_md-comp-tabs-container-color)] shadow-[inset_0_-1px_0_var(--_md-comp-tabs-divider-color)]',\n 'forced-colors:border-b forced-colors:border-[CanvasText]',\n ],\n list: 'mx-auto w-max max-w-full forced-colors:border-b-0',\n },\n },\n // 48px tabs (64px with the icon above), 4px less per density step.\n layout: {\n text: { tab: 'min-h-[calc(48px+var(--md-sys-density,0)*4px)]' },\n 'icon-top': {\n tab: 'min-h-[calc(64px+var(--md-sys-density,0)*4px)] flex-col justify-center gap-[2px]',\n },\n 'icon-start': { tab: 'min-h-[calc(48px+var(--md-sys-density,0)*4px)] flex-row gap-[8px]' },\n 'icon-only': { tab: 'min-h-[calc(48px+var(--md-sys-density,0)*4px)]' },\n },\n },\n defaultVariants: {\n variant: 'primary',\n scrollable: false,\n layout: 'text',\n align: 'stretch',\n swipeable: false,\n },\n});\n\n/**\n * The variants of {@link tabsStyles}, for building on its styles. They are the recipe's keys, not\n * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.\n */\nexport type TabsStyleProps = VariantProps<typeof tabsStyles>;\nexport type TabsVariant = NonNullable<TabsStyleProps['variant']>;\n"],"mappings":";;;AAqDA,MAAa,aAAa,GAAG;CAC3B,OAAO;EACL,MAAM;EACN,UAAU;EACV,MAAM;GACJ;GACA;GACA;EACF;EACA,KAAK;GACH;GACA;GACA;GACA;GACA;GACA;GAEA;GACA;GACA;GAEA;GACA;GACA;EACF;EACA,MAAM,CACJ,wHAEA,iLACF;EACA,OAAO;EAEP,MAAM;EACN,WAAW;GACT;GACA;GACA;GACA;GACA;EACF;EACA,OAAO;CACT;CACA,UAAU;EACR,SAAS;GACP,SAAS;IACP,KAAK;KACH;KACA;KAGA;IACF;IACA,WAAW;GACb;GACA,WAAW;IACT,KAAK;KACH;KACA;KACA;IACF;IACA,WAAW;GACb;EACF;EACA,YAAY;GACV,MAAM;IACJ,UAAU;IACV,MAAM;IACN,KAAK;GACP;GACA,OAAO,EAAE,MAAM,eAAe;EAChC;EAEA,WAAW;GAAE,MAAM,EAAE,OAAO,cAAc;GAAG,OAAO,CAAC;EAAE;EACvD,OAAO;GACL,SAAS,CAAC;GACV,OAAO;IACL,UAAU,CACR,wGACA,0DACF;IACA,MAAM;GACR;GACA,QAAQ;IACN,UAAU,CACR,wGACA,0DACF;IACA,MAAM;GACR;EACF;EAEA,QAAQ;GACN,MAAM,EAAE,KAAK,iDAAiD;GAC9D,YAAY,EACV,KAAK,mFACP;GACA,cAAc,EAAE,KAAK,oEAAoE;GACzF,aAAa,EAAE,KAAK,iDAAiD;EACvE;CACF;CACA,iBAAiB;EACf,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,OAAO;EACP,WAAW;CACb;AACF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ComponentTokenSet } from "../../tokens/component.js";
|
|
2
|
+
import "../../index.js";
|
|
3
|
+
//#region src/components/tabs/tabs-tokens.d.ts
|
|
4
|
+
/** The tokens of {@link Tabs}: `--md-comp-{primary,secondary}-navigation-tab-<part>`. */
|
|
5
|
+
export declare const tabsTokenSet: ComponentTokenSet<never>;
|
|
6
|
+
//#endregion
|
|
7
|
+
//# sourceMappingURL=tabs-tokens.d.ts.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { color, defineComponentTokens } from "../../tokens/component.js";
|
|
2
|
+
//#region src/components/tabs/tabs-tokens.ts
|
|
3
|
+
const paintsContainer = {
|
|
4
|
+
property: "background-color",
|
|
5
|
+
slot: "list"
|
|
6
|
+
};
|
|
7
|
+
const paintsDivider = {
|
|
8
|
+
property: "box-shadow",
|
|
9
|
+
slot: "list"
|
|
10
|
+
};
|
|
11
|
+
const paintsIndicator = {
|
|
12
|
+
property: "background-color",
|
|
13
|
+
slot: "indicator"
|
|
14
|
+
};
|
|
15
|
+
const paintsActiveLabel = {
|
|
16
|
+
property: "color",
|
|
17
|
+
state: "selected"
|
|
18
|
+
};
|
|
19
|
+
const paintsInactiveLabel = {
|
|
20
|
+
property: "color",
|
|
21
|
+
slot: "tab"
|
|
22
|
+
};
|
|
23
|
+
const paintsActiveIcon = {
|
|
24
|
+
property: "color",
|
|
25
|
+
slot: "icon",
|
|
26
|
+
state: "selected"
|
|
27
|
+
};
|
|
28
|
+
const paintsInactiveIcon = {
|
|
29
|
+
property: "color",
|
|
30
|
+
slot: "icon"
|
|
31
|
+
};
|
|
32
|
+
/** The parts every variant declares, with their defaults and Compose names. */
|
|
33
|
+
function common(set, active) {
|
|
34
|
+
return {
|
|
35
|
+
"container-color": {
|
|
36
|
+
value: color("surface"),
|
|
37
|
+
description: "The tab row.",
|
|
38
|
+
compose: `${set}NavigationTabTokens.ContainerColor`,
|
|
39
|
+
paints: paintsContainer
|
|
40
|
+
},
|
|
41
|
+
"divider-color": {
|
|
42
|
+
value: color("outline-variant"),
|
|
43
|
+
description: "The 1px divider along the row's bottom edge.",
|
|
44
|
+
compose: `${set}NavigationTabTokens.DividerColor`,
|
|
45
|
+
paints: paintsDivider
|
|
46
|
+
},
|
|
47
|
+
"active-indicator-color": {
|
|
48
|
+
value: color("primary"),
|
|
49
|
+
description: "The selected tab's indicator.",
|
|
50
|
+
compose: `${set}NavigationTabTokens.ActiveIndicatorColor`,
|
|
51
|
+
paints: paintsIndicator
|
|
52
|
+
},
|
|
53
|
+
"with-icon-active-icon-color": {
|
|
54
|
+
value: color(active),
|
|
55
|
+
description: "The selected tab's icon.",
|
|
56
|
+
compose: `${set}NavigationTabTokens.ActiveIconColor`,
|
|
57
|
+
paints: paintsActiveIcon
|
|
58
|
+
},
|
|
59
|
+
"with-icon-inactive-icon-color": {
|
|
60
|
+
value: color("on-surface-variant"),
|
|
61
|
+
description: "An unselected tab’s icon, at rest.",
|
|
62
|
+
compose: `${set}NavigationTabTokens.InactiveIconColor`,
|
|
63
|
+
paints: paintsInactiveIcon
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** The tokens of {@link Tabs}: `--md-comp-{primary,secondary}-navigation-tab-<part>`. */
|
|
68
|
+
const tabsTokenSet = defineComponentTokens({
|
|
69
|
+
name: "md-comp-tabs",
|
|
70
|
+
tokens: {},
|
|
71
|
+
scopes: { variant: {
|
|
72
|
+
primary: {
|
|
73
|
+
prefix: "md-comp-primary-navigation-tab",
|
|
74
|
+
tokens: {
|
|
75
|
+
...common("Primary", "primary"),
|
|
76
|
+
"with-label-text-active-label-text-color": {
|
|
77
|
+
value: color("primary"),
|
|
78
|
+
description: "The selected tab's label.",
|
|
79
|
+
compose: "PrimaryNavigationTabTokens.ActiveLabelTextColor",
|
|
80
|
+
paints: paintsActiveLabel
|
|
81
|
+
},
|
|
82
|
+
"with-label-text-inactive-label-text-color": {
|
|
83
|
+
value: color("on-surface-variant"),
|
|
84
|
+
description: "An unselected tab’s label, at rest.",
|
|
85
|
+
compose: "PrimaryNavigationTabTokens.InactiveLabelTextColor",
|
|
86
|
+
paints: paintsInactiveLabel
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
fixed: {
|
|
90
|
+
"active-label-text-color": color("primary"),
|
|
91
|
+
"inactive-label-text-color": color("on-surface-variant")
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
secondary: {
|
|
95
|
+
prefix: "md-comp-secondary-navigation-tab",
|
|
96
|
+
tokens: {
|
|
97
|
+
...common("Secondary", "on-surface"),
|
|
98
|
+
"active-label-text-color": {
|
|
99
|
+
value: color("on-surface"),
|
|
100
|
+
description: "The selected tab's label.",
|
|
101
|
+
compose: "SecondaryNavigationTabTokens.ActiveLabelTextColor",
|
|
102
|
+
paints: paintsActiveLabel
|
|
103
|
+
},
|
|
104
|
+
"inactive-label-text-color": {
|
|
105
|
+
value: color("on-surface-variant"),
|
|
106
|
+
description: "An unselected tab’s label, at rest.",
|
|
107
|
+
compose: "SecondaryNavigationTabTokens.InactiveLabelTextColor",
|
|
108
|
+
paints: paintsInactiveLabel
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
fixed: {
|
|
112
|
+
"with-label-text-active-label-text-color": color("on-surface"),
|
|
113
|
+
"with-label-text-inactive-label-text-color": color("on-surface-variant")
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
} }
|
|
117
|
+
});
|
|
118
|
+
//#endregion
|
|
119
|
+
export { tabsTokenSet };
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=tabs-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-tokens.js","names":[],"sources":["../../../src/components/tabs/tabs-tokens.ts"],"sourcesContent":["import { color, defineComponentTokens, type ComponentToken } from '../../tokens/component';\n\n/*\n * The tabs' component tokens, M3's `md.comp.{primary,secondary}-navigation-tab.*` names\n * (checked against m3.material.io's token tables, 2026-10-14), with the defaults of\n * `tabs-styles.ts`. The tabs' root and each tab carry `data-tokens=\"md-comp-tabs\"` and\n * `data-variant`, so a tab's own state (`data-selected`) picks its colours. Hover, focus,\n * press and disabled colours stay classes.\n *\n * M3 names the primary tab's label colours `with-label-text-*` and the secondary tab's\n * plainly, so each variant reads its own label parts and declares the other's as fixed.\n */\n\nconst paintsContainer = { property: 'background-color', slot: 'list' } as const;\n// The divider is an inset shadow along the list's bottom edge.\nconst paintsDivider = { property: 'box-shadow', slot: 'list' } as const;\nconst paintsIndicator = { property: 'background-color', slot: 'indicator' } as const;\nconst paintsActiveLabel = { property: 'color', state: 'selected' } as const;\nconst paintsInactiveLabel = { property: 'color', slot: 'tab' } as const;\nconst paintsActiveIcon = { property: 'color', slot: 'icon', state: 'selected' } as const;\nconst paintsInactiveIcon = { property: 'color', slot: 'icon' } as const;\n\n/** The parts every variant declares, with their defaults and Compose names. */\nfunction common(\n set: 'Primary' | 'Secondary',\n active: 'primary' | 'on-surface',\n): Record<string, ComponentToken> {\n return {\n 'container-color': {\n value: color('surface'),\n description: 'The tab row.',\n compose: `${set}NavigationTabTokens.ContainerColor`,\n paints: paintsContainer,\n },\n 'divider-color': {\n value: color('outline-variant'),\n description: \"The 1px divider along the row's bottom edge.\",\n compose: `${set}NavigationTabTokens.DividerColor`,\n paints: paintsDivider,\n },\n 'active-indicator-color': {\n value: color('primary'),\n description: \"The selected tab's indicator.\",\n compose: `${set}NavigationTabTokens.ActiveIndicatorColor`,\n paints: paintsIndicator,\n },\n 'with-icon-active-icon-color': {\n value: color(active),\n description: \"The selected tab's icon.\",\n compose: `${set}NavigationTabTokens.ActiveIconColor`,\n paints: paintsActiveIcon,\n },\n 'with-icon-inactive-icon-color': {\n value: color('on-surface-variant'),\n description: 'An unselected tab’s icon, at rest.',\n compose: `${set}NavigationTabTokens.InactiveIconColor`,\n paints: paintsInactiveIcon,\n },\n };\n}\n\n/** The tokens of {@link Tabs}: `--md-comp-{primary,secondary}-navigation-tab-<part>`. */\nexport const tabsTokenSet = defineComponentTokens({\n name: 'md-comp-tabs',\n tokens: {},\n scopes: {\n variant: {\n primary: {\n prefix: 'md-comp-primary-navigation-tab',\n tokens: {\n ...common('Primary', 'primary'),\n 'with-label-text-active-label-text-color': {\n value: color('primary'),\n description: \"The selected tab's label.\",\n compose: 'PrimaryNavigationTabTokens.ActiveLabelTextColor',\n paints: paintsActiveLabel,\n },\n 'with-label-text-inactive-label-text-color': {\n value: color('on-surface-variant'),\n description: 'An unselected tab’s label, at rest.',\n compose: 'PrimaryNavigationTabTokens.InactiveLabelTextColor',\n paints: paintsInactiveLabel,\n },\n },\n fixed: {\n 'active-label-text-color': color('primary'),\n 'inactive-label-text-color': color('on-surface-variant'),\n },\n },\n secondary: {\n prefix: 'md-comp-secondary-navigation-tab',\n tokens: {\n ...common('Secondary', 'on-surface'),\n 'active-label-text-color': {\n value: color('on-surface'),\n description: \"The selected tab's label.\",\n compose: 'SecondaryNavigationTabTokens.ActiveLabelTextColor',\n paints: paintsActiveLabel,\n },\n 'inactive-label-text-color': {\n value: color('on-surface-variant'),\n description: 'An unselected tab’s label, at rest.',\n compose: 'SecondaryNavigationTabTokens.InactiveLabelTextColor',\n paints: paintsInactiveLabel,\n },\n },\n fixed: {\n 'with-label-text-active-label-text-color': color('on-surface'),\n 'with-label-text-inactive-label-text-color': color('on-surface-variant'),\n },\n },\n },\n },\n});\n"],"mappings":";;AAaA,MAAM,kBAAkB;CAAE,UAAU;CAAoB,MAAM;AAAO;AAErE,MAAM,gBAAgB;CAAE,UAAU;CAAc,MAAM;AAAO;AAC7D,MAAM,kBAAkB;CAAE,UAAU;CAAoB,MAAM;AAAY;AAC1E,MAAM,oBAAoB;CAAE,UAAU;CAAS,OAAO;AAAW;AACjE,MAAM,sBAAsB;CAAE,UAAU;CAAS,MAAM;AAAM;AAC7D,MAAM,mBAAmB;CAAE,UAAU;CAAS,MAAM;CAAQ,OAAO;AAAW;AAC9E,MAAM,qBAAqB;CAAE,UAAU;CAAS,MAAM;AAAO;;AAG7D,SAAS,OACP,KACA,QACgC;CAChC,OAAO;EACL,mBAAmB;GACjB,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;EACV;EACA,iBAAiB;GACf,OAAO,MAAM,iBAAiB;GAC9B,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;EACV;EACA,0BAA0B;GACxB,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;EACV;EACA,+BAA+B;GAC7B,OAAO,MAAM,MAAM;GACnB,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;EACV;EACA,iCAAiC;GAC/B,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;EACV;CACF;AACF;;AAGA,MAAa,eAAe,sBAAsB;CAChD,MAAM;CACN,QAAQ,CAAC;CACT,QAAQ,EACN,SAAS;EACP,SAAS;GACP,QAAQ;GACR,QAAQ;IACN,GAAG,OAAO,WAAW,SAAS;IAC9B,2CAA2C;KACzC,OAAO,MAAM,SAAS;KACtB,aAAa;KACb,SAAS;KACT,QAAQ;IACV;IACA,6CAA6C;KAC3C,OAAO,MAAM,oBAAoB;KACjC,aAAa;KACb,SAAS;KACT,QAAQ;IACV;GACF;GACA,OAAO;IACL,2BAA2B,MAAM,SAAS;IAC1C,6BAA6B,MAAM,oBAAoB;GACzD;EACF;EACA,WAAW;GACT,QAAQ;GACR,QAAQ;IACN,GAAG,OAAO,aAAa,YAAY;IACnC,2BAA2B;KACzB,OAAO,MAAM,YAAY;KACzB,aAAa;KACb,SAAS;KACT,QAAQ;IACV;IACA,6BAA6B;KAC3B,OAAO,MAAM,oBAAoB;KACjC,aAAa;KACb,SAAS;KACT,QAAQ;IACV;GACF;GACA,OAAO;IACL,2CAA2C,MAAM,YAAY;IAC7D,6CAA6C,MAAM,oBAAoB;GACzE;EACF;CACF,EACF;AACF,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Density } from "../../tokens/density.js";
|
|
2
|
+
import { WrapperRootDOMProps } from "../../utils/root-props.js";
|
|
3
|
+
import { TextFieldVariant } from "./text-field-styles.js";
|
|
4
|
+
import { AriaAttributes, CSSProperties, ReactNode, Ref } from "react";
|
|
5
|
+
import { AriaTextFieldProps } from "react-aria";
|
|
6
|
+
//#region src/components/text-field/TextField.d.ts
|
|
7
|
+
export interface TextFieldClassNames {
|
|
8
|
+
/** The root element, merged with `className`. */
|
|
9
|
+
root?: string;
|
|
10
|
+
/** The filled or outlined container around the label, input and icons. */
|
|
11
|
+
container?: string;
|
|
12
|
+
/** The floating label. */
|
|
13
|
+
label?: string;
|
|
14
|
+
/** The `<input>` or `<textarea>`. */
|
|
15
|
+
input?: string;
|
|
16
|
+
/** The leading icon's 48px box. */
|
|
17
|
+
leadingIcon?: string;
|
|
18
|
+
/** The trailing icon's 48px box. */
|
|
19
|
+
trailingIcon?: string;
|
|
20
|
+
/** The prefix text before the input. */
|
|
21
|
+
prefix?: string;
|
|
22
|
+
/** The suffix text after the input. */
|
|
23
|
+
suffix?: string;
|
|
24
|
+
/** The helper text below the field. */
|
|
25
|
+
supportingText?: string;
|
|
26
|
+
/** The error message below the field. */
|
|
27
|
+
errorText?: string;
|
|
28
|
+
/** The character counter below the field. */
|
|
29
|
+
counter?: string;
|
|
30
|
+
/** The built-in error icon. */
|
|
31
|
+
errorIcon?: string;
|
|
32
|
+
/** The outlined field's border (a `<fieldset>`, notched for the floated label). */
|
|
33
|
+
outline?: string;
|
|
34
|
+
/** The filled field's active indicator, the line along the container's bottom. */
|
|
35
|
+
activeIndicator?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Words the text field announces; override them for other languages. */
|
|
38
|
+
export interface TextFieldLabels {
|
|
39
|
+
/** The error icon's name (M3: "Error"). @default "Error" */
|
|
40
|
+
error: string;
|
|
41
|
+
/**
|
|
42
|
+
* What screen readers hear for the character counter (M3 calls it the "character count").
|
|
43
|
+
* @default (count, max) => `Character count: ${count} of ${max}`
|
|
44
|
+
*/
|
|
45
|
+
characterCount: (count: number, max: number) => string;
|
|
46
|
+
}
|
|
47
|
+
/** Props React Aria names with an `is` prefix; we use the HTML-style names instead. */
|
|
48
|
+
type RenamedAriaProps = 'isDisabled' | 'isReadOnly' | 'isRequired' | 'isInvalid' | 'label' | 'description' | 'inputElementType' | 'value' | 'defaultValue' | 'onChange' | 'validationState' | 'excludeFromTabOrder';
|
|
49
|
+
interface TextFieldOwnProps extends Omit<AriaTextFieldProps<HTMLInputElement>, RenamedAriaProps>, Omit<WrapperRootDOMProps, keyof AriaTextFieldProps<HTMLInputElement>>, Pick<AriaAttributes, 'aria-expanded' | 'aria-required' | 'aria-invalid' | 'aria-readonly' | 'aria-multiline' | 'aria-placeholder'> {
|
|
50
|
+
/** The `<input>`'s (or `<textarea>`'s) id, for a `<label for>` or an error summary's link. */
|
|
51
|
+
id?: string;
|
|
52
|
+
/** The container style: a filled surface or an outline. @default "filled" */
|
|
53
|
+
variant?: TextFieldVariant;
|
|
54
|
+
/**
|
|
55
|
+
* Web density, `0` to `-3`: each step takes 4px off the container (56px at 0, 44px at -3).
|
|
56
|
+
* Left out, the field takes the density of the nearest `ThemeProvider` or `ThemeScope`. M3
|
|
57
|
+
* asks for density to be the reader's choice rather than a default, so prefer setting it
|
|
58
|
+
* there, from a setting.
|
|
59
|
+
* @default 0
|
|
60
|
+
*/
|
|
61
|
+
density?: Density;
|
|
62
|
+
/** The text, when controlled. */
|
|
63
|
+
value?: string;
|
|
64
|
+
/** The initial text, when uncontrolled. @default "" */
|
|
65
|
+
defaultValue?: string;
|
|
66
|
+
/** Called with the new text on every change. */
|
|
67
|
+
onChange?: (value: string) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Helper text below the field. Replaced visually by the error message when invalid, and
|
|
70
|
+
* shown in the error colour while the field is invalid.
|
|
71
|
+
*/
|
|
72
|
+
supportingText?: ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* Shows the supporting text only while the field has focus (M3 allows it "persistently
|
|
75
|
+
* visible or visible only on focus"). Its space is kept, and screen readers always get it.
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
supportingTextOnFocus?: boolean;
|
|
79
|
+
/** Marks the field invalid (in addition to `validate` and native constraints). */
|
|
80
|
+
invalid?: boolean;
|
|
81
|
+
/** A value is required: adds the `*` to the label and native `required` validation. */
|
|
82
|
+
required?: boolean;
|
|
83
|
+
/** Disables the field: it can't be focused or edited. @default false */
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* The value can be read and copied but not changed. M3 styles it as a regular field and
|
|
87
|
+
* asks for it to be "clearly labeled as read-only", e.g. in the supporting text. The root
|
|
88
|
+
* gets `data-readonly`.
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
readOnly?: boolean;
|
|
92
|
+
/** Decorative icon at the start, in a 48px box. */
|
|
93
|
+
leadingIcon?: ReactNode;
|
|
94
|
+
/**
|
|
95
|
+
* Icon or icon button at the end (e.g. clear, visibility toggle), in a 48px box. It takes
|
|
96
|
+
* the place of the error icon.
|
|
97
|
+
*/
|
|
98
|
+
trailingIcon?: ReactNode;
|
|
99
|
+
/**
|
|
100
|
+
* The icon shown at the end while the field is invalid and has no `trailingIcon` (M3
|
|
101
|
+
* strongly recommends one). Defaults to Material Symbols `error`, named by `labels.error`;
|
|
102
|
+
* `false` turns it off.
|
|
103
|
+
*/
|
|
104
|
+
errorIcon?: ReactNode | false;
|
|
105
|
+
/** Text before the input, e.g. "$". Shown once the label floats. */
|
|
106
|
+
prefix?: ReactNode;
|
|
107
|
+
/**
|
|
108
|
+
* What screen readers hear for the prefix, e.g. "US dollars" for "$". The prefix is in the
|
|
109
|
+
* input's description either way; without this, its visible text is read.
|
|
110
|
+
*/
|
|
111
|
+
prefixLabel?: string;
|
|
112
|
+
/** Text after the input, e.g. "kg". Shown once the label floats. */
|
|
113
|
+
suffix?: ReactNode;
|
|
114
|
+
/** What screen readers hear for the suffix, e.g. "kilograms" for "kg". */
|
|
115
|
+
suffixLabel?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Renders a `<textarea>`. By default it's an M3 text area: a fixed height of `rows` lines
|
|
118
|
+
* that scrolls vertically, which M3 recommends over growing fields on the web.
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
multiline?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* With `multiline`: grow with the content from `rows` up to `maxRows` (M3's multi-line
|
|
124
|
+
* field) instead of keeping a fixed height.
|
|
125
|
+
* @default false
|
|
126
|
+
*/
|
|
127
|
+
autoGrow?: boolean;
|
|
128
|
+
/** Visible lines of a multiline field. @default 4, or 1 with autoGrow */
|
|
129
|
+
rows?: number;
|
|
130
|
+
/** With `autoGrow`: lines after which the field scrolls instead of growing. */
|
|
131
|
+
maxRows?: number;
|
|
132
|
+
/** Shows `count/maxLength` below the field. Defaults to `true` when `maxLength` is set. */
|
|
133
|
+
counter?: boolean;
|
|
134
|
+
/** Words the field announces, for other languages. */
|
|
135
|
+
labels?: Partial<TextFieldLabels>;
|
|
136
|
+
/** Classes for the root element, merged with `classNames.root`; consumer classes win. */
|
|
137
|
+
className?: string;
|
|
138
|
+
/** Classes for each part, by slot. */
|
|
139
|
+
classNames?: TextFieldClassNames;
|
|
140
|
+
/** Inline styles for the root element. */
|
|
141
|
+
style?: CSSProperties;
|
|
142
|
+
/** The root element. Use `inputRef` for the input itself. */
|
|
143
|
+
ref?: Ref<HTMLDivElement>;
|
|
144
|
+
/** The `<input>` (or `<textarea>` when multiline), e.g. for form libraries. */
|
|
145
|
+
inputRef?: Ref<HTMLInputElement | HTMLTextAreaElement>;
|
|
146
|
+
}
|
|
147
|
+
/** A visible label, or an accessible name for fields without one. */
|
|
148
|
+
type TextFieldLabel = {
|
|
149
|
+
/** The visible label, which floats above the input once it has focus or a value. */
|
|
150
|
+
label: ReactNode;
|
|
151
|
+
} | {
|
|
152
|
+
label?: undefined;
|
|
153
|
+
/** Accessible name when there's no visible label. */
|
|
154
|
+
'aria-label': string;
|
|
155
|
+
} | {
|
|
156
|
+
label?: undefined;
|
|
157
|
+
/** The id of the element that names the field, when there's no visible label. */
|
|
158
|
+
'aria-labelledby': string;
|
|
159
|
+
};
|
|
160
|
+
export type TextFieldProps = TextFieldOwnProps & TextFieldLabel;
|
|
161
|
+
/**
|
|
162
|
+
* M3 text field: filled or outlined, with a floating label, leading / trailing icons,
|
|
163
|
+
* prefix and suffix, supporting text, error message and icon, character counter, and a
|
|
164
|
+
* multiline form (a fixed-height text area, or a growing field with `autoGrow`). Built on React Aria `useTextField`, so labelling,
|
|
165
|
+
* descriptions, `validate` and native constraints work as in React Aria.
|
|
166
|
+
*
|
|
167
|
+
* `className` and `style` go on the root; `inputRef` reaches the input.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* <TextField label="Email" type="email" required supportingText="We never share it." />
|
|
171
|
+
* <TextField variant="outlined" label="Price" prefix="$" inputMode="decimal" />
|
|
172
|
+
*/
|
|
173
|
+
export declare function TextField(props: TextFieldProps): import("react").JSX.Element;
|
|
174
|
+
//#endregion
|
|
175
|
+
//# sourceMappingURL=TextField.d.ts.map
|