@atom-learning/components 11.6.0 → 12.0.0-beta.2
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/dist/codemods/bin.js +32 -0
- package/dist/codemods/shared/v12-colour-props.js +474 -0
- package/dist/codemods/v12-colour-props.js +2 -0
- package/dist/components/accordion/Accordion.d.ts +2 -4
- package/dist/components/accordion/AccordionContent.js +0 -1
- package/dist/components/accordion/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger.d.ts +1 -4
- package/dist/components/accordion/AccordionTrigger.js +17 -23
- package/dist/components/accordion/AccordionTrigger.js.map +1 -1
- package/dist/components/action-icon/ActionIcon.d.ts +11 -3
- package/dist/components/action-icon/ActionIcon.js +61 -65
- package/dist/components/action-icon/ActionIcon.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent.js +8 -5
- package/dist/components/alert-dialog/AlertDialogContent.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialog.d.ts +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialog.js +2 -2
- package/dist/components/alert-dialog/alert-context/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialogIcon.d.ts +4 -3
- package/dist/components/alert-dialog/alert-context/AlertDialogIcon.js +10 -9
- package/dist/components/alert-dialog/alert-context/AlertDialogIcon.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/types.d.ts +2 -2
- package/dist/components/avatar/Avatar.d.ts +2 -2
- package/dist/components/avatar/Avatar.js +37 -22
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarInitial.js +1 -1
- package/dist/components/avatar/AvatarInitial.js.map +1 -1
- package/dist/components/badge/Badge.d.ts +14 -4
- package/dist/components/badge/Badge.js +60 -25
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/banner/BannerContainer.d.ts +5 -3
- package/dist/components/banner/BannerContainer.js +13 -24
- package/dist/components/banner/BannerContainer.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegular.d.ts +3 -2
- package/dist/components/banner/banner-regular/BannerRegular.js +1 -2
- package/dist/components/banner/banner-regular/BannerRegular.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularButton.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularButton.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularDismiss.d.ts +5 -3
- package/dist/components/banner/banner-regular/BannerRegularDismiss.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularDismiss.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularHeading.js +8 -2
- package/dist/components/banner/banner-regular/BannerRegularHeading.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularText.js +8 -2
- package/dist/components/banner/banner-regular/BannerRegularText.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlim.d.ts +6 -4
- package/dist/components/banner/banner-slim/BannerSlim.js +1 -2
- package/dist/components/banner/banner-slim/BannerSlim.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimButton.js +1 -1
- package/dist/components/banner/banner-slim/BannerSlimButton.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContainer.d.ts +1 -1
- package/dist/components/banner/banner-slim/BannerSlimDismiss.d.ts +5 -4
- package/dist/components/banner/banner-slim/BannerSlimDismiss.js +11 -13
- package/dist/components/banner/banner-slim/BannerSlimDismiss.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimText.js +8 -2
- package/dist/components/banner/banner-slim/BannerSlimText.js.map +1 -1
- package/dist/components/button/Button.d.ts +5 -1
- package/dist/components/button/Button.js +41 -48
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/calendar/Calendar.js +9 -14
- package/dist/components/calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/Day.js +14 -14
- package/dist/components/calendar/Day.js.map +1 -1
- package/dist/components/carousel/CarouselArrows.js +4 -4
- package/dist/components/carousel/CarouselArrows.js.map +1 -1
- package/dist/components/carousel/CarouselPagination.js +8 -4
- package/dist/components/carousel/CarouselPagination.js.map +1 -1
- package/dist/components/checkbox/Checkbox.js +13 -13
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/chip/Chip.js +6 -6
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js +1 -1
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js.map +1 -1
- package/dist/components/chip-toggle-group/ChipToggleGroupItem.js +15 -14
- package/dist/components/chip-toggle-group/ChipToggleGroupItem.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts +1 -1
- package/dist/components/combobox/ComboboxInput.d.ts +1 -1
- package/dist/components/combobox/ComboboxInput.js +17 -18
- package/dist/components/combobox/ComboboxInput.js.map +1 -1
- package/dist/components/combobox/ComboboxOption.js +4 -4
- package/dist/components/combobox/ComboboxOption.js.map +1 -1
- package/dist/components/combobox/ComboboxPopover.d.ts +4 -1
- package/dist/components/combobox/ComboboxPopover.js +17 -8
- package/dist/components/combobox/ComboboxPopover.js.map +1 -1
- package/dist/components/create-password-field/CreatePasswordField.js +3 -3
- package/dist/components/create-password-field/CreatePasswordField.js.map +1 -1
- package/dist/components/data-table/DataTable.d.ts +11 -13
- package/dist/components/data-table/DataTableBulkActions.js +2 -2
- package/dist/components/data-table/DataTableBulkActions.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActionsFloating.js +5 -5
- package/dist/components/data-table/DataTableBulkActionsFloating.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js +1 -1
- package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js.map +1 -1
- package/dist/components/data-table/DataTableHead.d.ts +1 -1
- package/dist/components/data-table/DataTableHead.js +3 -3
- package/dist/components/data-table/DataTableHead.js.map +1 -1
- package/dist/components/data-table/DataTableHeaderCell.js +4 -4
- package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
- package/dist/components/data-table/DataTableRow.js +7 -7
- package/dist/components/data-table/DataTableRow.js.map +1 -1
- package/dist/components/data-table/DataTableTable.d.ts +2 -2
- package/dist/components/data-table/DataTableTable.js +3 -3
- package/dist/components/data-table/DataTableTable.js.map +1 -1
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.d.ts +1 -1
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +2 -2
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
- package/dist/components/data-table/pagination/Pagination.d.ts +2 -5
- package/dist/components/data-table/pagination/Pagination.js +2 -3
- package/dist/components/data-table/pagination/Pagination.js.map +1 -1
- package/dist/components/date-field/DateField.d.ts +1 -1
- package/dist/components/date-field/DateField.js +3 -3
- package/dist/components/date-field/DateField.js.map +1 -1
- package/dist/components/date-input/DateInput.d.ts +2 -2
- package/dist/components/date-input/DateInput.js +3 -3
- package/dist/components/date-input/DateInput.js.map +1 -1
- package/dist/components/dialog/DialogActionBar.js +2 -2
- package/dist/components/dialog/DialogActionBar.js.map +1 -1
- package/dist/components/dialog/DialogContent.js +8 -5
- package/dist/components/dialog/DialogContent.js.map +1 -1
- package/dist/components/dialog/DialogHeading.js +1 -1
- package/dist/components/dialog/DialogHeading.js.map +1 -1
- package/dist/components/dialog/DialogNavigationBar.js +1 -1
- package/dist/components/dialog/DialogNavigationBar.js.map +1 -1
- package/dist/components/divider/Divider.js +1 -1
- package/dist/components/divider/Divider.js.map +1 -1
- package/dist/components/drawer/DrawerClose.js +1 -1
- package/dist/components/drawer/DrawerClose.js.map +1 -1
- package/dist/components/drawer/DrawerContent.js +14 -16
- package/dist/components/drawer/DrawerContent.js.map +1 -1
- package/dist/components/drawer/DrawerFooter.js +1 -1
- package/dist/components/drawer/DrawerFooter.js.map +1 -1
- package/dist/components/drawer/DrawerHeader.js +1 -1
- package/dist/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +2 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +7 -1
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuContent.js +4 -2
- package/dist/components/dropdown-menu/DropdownMenuContent.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuItem.js +2 -2
- package/dist/components/dropdown-menu/DropdownMenuItem.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuLabel.js +1 -1
- package/dist/components/dropdown-menu/DropdownMenuLabel.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuSeparator.js +1 -1
- package/dist/components/dropdown-menu/DropdownMenuSeparator.js.map +1 -1
- package/dist/components/empty-state/EmptyStateBody.js +1 -1
- package/dist/components/empty-state/EmptyStateBody.js.map +1 -1
- package/dist/components/empty-state/EmptyStateTitle.js +1 -1
- package/dist/components/empty-state/EmptyStateTitle.js.map +1 -1
- package/dist/components/field-wrapper/FieldDescription.js +1 -1
- package/dist/components/field-wrapper/FieldDescription.js.map +1 -1
- package/dist/components/field-wrapper/FieldWrapper.js +1 -0
- package/dist/components/field-wrapper/FieldWrapper.js.map +1 -1
- package/dist/components/field-wrapper/InlineFieldWrapper.js +1 -0
- package/dist/components/field-wrapper/InlineFieldWrapper.js.map +1 -1
- package/dist/components/file-drop/FileDrop.js +1 -1
- package/dist/components/file-drop/FileDrop.js.map +1 -1
- package/dist/components/form/Form.js +3 -3
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/form/useFormCustomContext.d.ts +1 -1
- package/dist/components/form/useFormCustomContext.js.map +1 -1
- package/dist/components/image/ImageCredit.js +6 -4
- package/dist/components/image/ImageCredit.js.map +1 -1
- package/dist/components/inline-message/InlineMessage.config.d.ts +2 -2
- package/dist/components/inline-message/InlineMessage.config.js +1 -1
- package/dist/components/inline-message/InlineMessage.config.js.map +1 -1
- package/dist/components/inline-message/InlineMessage.d.ts +5 -3
- package/dist/components/inline-message/InlineMessage.js +11 -10
- package/dist/components/inline-message/InlineMessage.js.map +1 -1
- package/dist/components/inline-message/InlineMessage.types.d.ts +2 -1
- package/dist/components/input/Input.d.ts +3 -3
- package/dist/components/input/Input.js +19 -18
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input-field/InputField.d.ts +1 -1
- package/dist/components/input-field/InputField.js +3 -3
- package/dist/components/input-field/InputField.js.map +1 -1
- package/dist/components/keyboard-shortcut/KeyboardShortcut.js +2 -2
- package/dist/components/keyboard-shortcut/KeyboardShortcut.js.map +1 -1
- package/dist/components/label/Label.js +1 -1
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/link/Link.js +4 -4
- package/dist/components/link/Link.js.map +1 -1
- package/dist/components/list/List.d.ts +0 -1
- package/dist/components/list/List.js +1 -2
- package/dist/components/list/List.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownCode.js +2 -2
- package/dist/components/markdown-content/components/MarkdownCode.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownInlineCode.js +2 -2
- package/dist/components/markdown-content/components/MarkdownInlineCode.js.map +1 -1
- package/dist/components/navigation/NavigationMenu.js +0 -2
- package/dist/components/navigation/NavigationMenu.js.map +1 -1
- package/dist/components/navigation/NavigationMenu.styles.js +14 -13
- package/dist/components/navigation/NavigationMenu.styles.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownContent.js +4 -2
- package/dist/components/navigation/NavigationMenuDropdownContent.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownItem.js +1 -1
- package/dist/components/navigation/NavigationMenuDropdownItem.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownTrigger.js +1 -1
- package/dist/components/navigation/NavigationMenuDropdownTrigger.js.map +1 -1
- package/dist/components/navigation/NavigationMenuLink.js +9 -17
- package/dist/components/navigation/NavigationMenuLink.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js +5 -9
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.styles.js +10 -9
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.styles.js.map +1 -1
- package/dist/components/notification-badge/NotificationBadge.d.ts +3 -4
- package/dist/components/notification-badge/NotificationBadge.js +2 -2
- package/dist/components/notification-badge/NotificationBadge.js.map +1 -1
- package/dist/components/number-input/NumberInput.d.ts +2 -2
- package/dist/components/number-input/NumberInput.js +6 -6
- package/dist/components/number-input/NumberInput.js.map +1 -1
- package/dist/components/number-input/NumberInputStepper.d.ts +7 -5
- package/dist/components/number-input/NumberInputStepper.js +23 -23
- package/dist/components/number-input/NumberInputStepper.js.map +1 -1
- package/dist/components/number-input-field/NumberInputField.d.ts +1 -1
- package/dist/components/number-input-field/NumberInputField.js +3 -3
- package/dist/components/number-input-field/NumberInputField.js.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +1 -1
- package/dist/components/pagination/Pagination.js +5 -12
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationNextButton.d.ts +5 -3
- package/dist/components/pagination/PaginationNextButton.js +1 -1
- package/dist/components/pagination/PaginationNextButton.js.map +1 -1
- package/dist/components/pagination/PaginationPage.js +31 -29
- package/dist/components/pagination/PaginationPage.js.map +1 -1
- package/dist/components/pagination/PaginationPopover.js +1 -1
- package/dist/components/pagination/PaginationPopover.js.map +1 -1
- package/dist/components/pagination/PaginationPreviousButton.d.ts +5 -3
- package/dist/components/pagination/PaginationPreviousButton.js +1 -1
- package/dist/components/pagination/PaginationPreviousButton.js.map +1 -1
- package/dist/components/pagination/types.d.ts +0 -2
- package/dist/components/password-field/PasswordField.d.ts +1 -1
- package/dist/components/password-field/PasswordField.js +3 -3
- package/dist/components/password-field/PasswordField.js.map +1 -1
- package/dist/components/password-input/PasswordInput.js +1 -1
- package/dist/components/password-input/PasswordInput.js.map +1 -1
- package/dist/components/popover/Popover.d.ts +8 -6
- package/dist/components/popover/Popover.js +8 -1
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/popover/PopoverContent.js +6 -4
- package/dist/components/popover/PopoverContent.js.map +1 -1
- package/dist/components/progress-bar/ProgressBar.d.ts +7 -3
- package/dist/components/progress-bar/ProgressBar.js +9 -18
- package/dist/components/progress-bar/ProgressBar.js.map +1 -1
- package/dist/components/radio-button/RadioButton.js +12 -14
- package/dist/components/radio-button/RadioButton.js.map +1 -1
- package/dist/components/radio-button-field/RadioButtonField.js +1 -0
- package/dist/components/radio-button-field/RadioButtonField.js.map +1 -1
- package/dist/components/radio-card/RadioCard.js +7 -7
- package/dist/components/radio-card/RadioCard.js.map +1 -1
- package/dist/components/search-field/SearchField.d.ts +1 -1
- package/dist/components/search-field/SearchField.js +3 -3
- package/dist/components/search-field/SearchField.js.map +1 -1
- package/dist/components/search-input/SearchInput.d.ts +1 -1
- package/dist/components/search-input/SearchInput.js +4 -4
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/section-message/SectionMessage.context.d.ts +6 -4
- package/dist/components/section-message/SectionMessage.context.js +5 -3
- package/dist/components/section-message/SectionMessage.context.js.map +1 -1
- package/dist/components/section-message/SectionMessage.d.ts +19 -7
- package/dist/components/section-message/SectionMessage.js +23 -13
- package/dist/components/section-message/SectionMessage.js.map +1 -1
- package/dist/components/section-message/SectionMessageDescription.js +9 -5
- package/dist/components/section-message/SectionMessageDescription.js.map +1 -1
- package/dist/components/section-message/SectionMessageDismiss.d.ts +1 -1
- package/dist/components/section-message/SectionMessageDismiss.js +2 -2
- package/dist/components/section-message/SectionMessageDismiss.js.map +1 -1
- package/dist/components/section-message/SectionMessageIcon.js +4 -4
- package/dist/components/section-message/SectionMessageIcon.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.context.d.ts +0 -2
- package/dist/components/segmented-control/SegmentedControl.context.js +0 -1
- package/dist/components/segmented-control/SegmentedControl.context.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts +3 -6
- package/dist/components/segmented-control/SegmentedControlBadge.d.ts +2 -2
- package/dist/components/segmented-control/SegmentedControlBadge.js +2 -1
- package/dist/components/segmented-control/SegmentedControlBadge.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlDescription.js +1 -1
- package/dist/components/segmented-control/SegmentedControlDescription.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlHeading.js +1 -1
- package/dist/components/segmented-control/SegmentedControlHeading.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlItem.d.ts +0 -1
- package/dist/components/segmented-control/SegmentedControlItem.js +28 -36
- package/dist/components/segmented-control/SegmentedControlItem.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlItemList.js +11 -17
- package/dist/components/segmented-control/SegmentedControlItemList.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlRoot.d.ts +3 -8
- package/dist/components/segmented-control/SegmentedControlRoot.js +1 -3
- package/dist/components/segmented-control/SegmentedControlRoot.js.map +1 -1
- package/dist/components/select/Select.d.ts +1 -1
- package/dist/components/select/Select.js +15 -15
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select-field/SelectField.d.ts +1 -1
- package/dist/components/select-field/SelectField.js +3 -3
- package/dist/components/select-field/SelectField.js.map +1 -1
- package/dist/components/select-menu/SelectMenu.context.d.ts +1 -2
- package/dist/components/select-menu/SelectMenu.context.js +1 -2
- package/dist/components/select-menu/SelectMenu.context.js.map +1 -1
- package/dist/components/select-menu/SelectMenu.d.ts +3 -6
- package/dist/components/select-menu/SelectMenu.js +3 -5
- package/dist/components/select-menu/SelectMenu.js.map +1 -1
- package/dist/components/select-menu/SelectMenuContent.js +21 -28
- package/dist/components/select-menu/SelectMenuContent.js.map +1 -1
- package/dist/components/select-menu/SelectMenuItem.js +22 -33
- package/dist/components/select-menu/SelectMenuItem.js.map +1 -1
- package/dist/components/select-menu/SelectMenuLabel.js +6 -10
- package/dist/components/select-menu/SelectMenuLabel.js.map +1 -1
- package/dist/components/select-menu/SelectMenuSeparator.d.ts +1 -6
- package/dist/components/select-menu/SelectMenuSeparator.js +6 -22
- package/dist/components/select-menu/SelectMenuSeparator.js.map +1 -1
- package/dist/components/select-menu/SelectMenuTrigger.js +16 -37
- package/dist/components/select-menu/SelectMenuTrigger.js.map +1 -1
- package/dist/components/select-menu-field/SelectMenuField.d.ts +2 -2
- package/dist/components/select-menu-field/SelectMenuField.js +3 -3
- package/dist/components/select-menu-field/SelectMenuField.js.map +1 -1
- package/dist/components/side-bar/SideBar.d.ts +2 -3
- package/dist/components/side-bar/SideBar.js +19 -26
- package/dist/components/side-bar/SideBar.js.map +1 -1
- package/dist/components/side-bar/SideBarComponents.js +3 -4
- package/dist/components/side-bar/SideBarComponents.js.map +1 -1
- package/dist/components/skeleton-loader/Skeleton.js +1 -1
- package/dist/components/skeleton-loader/Skeleton.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonCard.js +1 -1
- package/dist/components/skeleton-loader/SkeletonCard.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js +3 -3
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonPanelList.js +1 -1
- package/dist/components/skeleton-loader/SkeletonPanelList.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonTable.js +2 -2
- package/dist/components/skeleton-loader/SkeletonTable.js.map +1 -1
- package/dist/components/slider/Slider.d.ts +3 -3
- package/dist/components/slider/Slider.js +12 -12
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/slider/SliderSteps.js +1 -1
- package/dist/components/slider/SliderSteps.js.map +1 -1
- package/dist/components/slider/SliderValue.js +1 -1
- package/dist/components/slider/SliderValue.js.map +1 -1
- package/dist/components/sortable/Handle.d.ts +5 -3
- package/dist/components/stepper/StepperStepBullet.js +10 -10
- package/dist/components/stepper/StepperStepBullet.js.map +1 -1
- package/dist/components/stepper/StepperStepContainer.js +29 -29
- package/dist/components/stepper/StepperStepContainer.js.map +1 -1
- package/dist/components/stepper/StepperStepLabel.js +4 -4
- package/dist/components/stepper/StepperStepLabel.js.map +1 -1
- package/dist/components/switch/Switch.js +14 -10
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/table/Table.d.ts +3 -3
- package/dist/components/table/TableBody.js +2 -2
- package/dist/components/table/TableBody.js.map +1 -1
- package/dist/components/table/TableCell.js +2 -2
- package/dist/components/table/TableCell.js.map +1 -1
- package/dist/components/table/TableFooterCell.js +1 -1
- package/dist/components/table/TableFooterCell.js.map +1 -1
- package/dist/components/table/TableHeader.d.ts +6 -8
- package/dist/components/table/TableHeader.js +11 -15
- package/dist/components/table/TableHeader.js.map +1 -1
- package/dist/components/table/TableHeaderCell.js +1 -1
- package/dist/components/table/TableHeaderCell.js.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +1 -3
- package/dist/components/tabs/TabsTrigger.js +9 -8
- package/dist/components/tabs/TabsTrigger.js.map +1 -1
- package/dist/components/tabs/TabsTriggerList.d.ts +1 -4
- package/dist/components/tabs/TabsTriggerList.js +5 -10
- package/dist/components/tabs/TabsTriggerList.js.map +1 -1
- package/dist/components/textarea/Textarea.d.ts +1 -1
- package/dist/components/textarea/Textarea.js +18 -18
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/textarea-field/TextareaField.d.ts +1 -1
- package/dist/components/textarea-field/TextareaField.js +3 -3
- package/dist/components/textarea-field/TextareaField.js.map +1 -1
- package/dist/components/tile/Tile.d.ts +2 -5
- package/dist/components/tile/Tile.js +24 -18
- package/dist/components/tile/Tile.js.map +1 -1
- package/dist/components/tile-interactive/TileInteractive.d.ts +2 -4
- package/dist/components/tile-interactive/TileInteractive.js +6 -5
- package/dist/components/tile-interactive/TileInteractive.js.map +1 -1
- package/dist/components/tile-toggle-group/TileToggleGroupItem.d.ts +3 -5
- package/dist/components/tile-toggle-group/TileToggleGroupItem.js +5 -5
- package/dist/components/tile-toggle-group/TileToggleGroupItem.js.map +1 -1
- package/dist/components/toast/Toast.js +17 -7
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/ToastCloseButton.js +1 -1
- package/dist/components/toast/ToastCloseButton.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupButton.d.ts +2 -3
- package/dist/components/toggle-group/ToggleGroupButton.js +7 -22
- package/dist/components/toggle-group/ToggleGroupButton.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem.d.ts +1 -4
- package/dist/components/toggle-group/ToggleGroupItem.js +28 -56
- package/dist/components/toggle-group/ToggleGroupItem.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupRoot.d.ts +2 -3
- package/dist/components/toggle-group/ToggleGroupRoot.js +10 -26
- package/dist/components/toggle-group/ToggleGroupRoot.js.map +1 -1
- package/dist/components/toggle-group/index.d.ts +3 -4
- package/dist/components/tooltip/Tooltip.d.ts +2 -2
- package/dist/components/tooltip/Tooltip.js +6 -1
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/TooltipContent.js +6 -4
- package/dist/components/tooltip/TooltipContent.js.map +1 -1
- package/dist/components/top-bar/TopBar.d.ts +7 -6
- package/dist/components/top-bar/TopBar.js +14 -18
- package/dist/components/top-bar/TopBar.js.map +1 -1
- package/dist/components/top-bar/TopBarActionIcon.js +1 -1
- package/dist/components/top-bar/TopBarActionIcon.js.map +1 -1
- package/dist/components/top-bar/TopBarBrand.js +2 -2
- package/dist/components/top-bar/TopBarBrand.js.map +1 -1
- package/dist/components/tree/TreeCollapsibleTrigger.js +1 -1
- package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
- package/dist/docgen.json +1 -1
- package/dist/experiments/theme/Theme.d.ts +60 -0
- package/dist/experiments/theme/Theme.js +131 -0
- package/dist/experiments/theme/Theme.js.map +1 -0
- package/dist/index.cjs.js +1289 -1453
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/styled.d.ts +0 -6
- package/dist/styled.js +1 -8
- package/dist/styled.js.map +1 -1
- package/dist/utilities/style/backdrop-overlay.js +1 -1
- package/dist/utilities/style/backdrop-overlay.js.map +1 -1
- package/package.json +8 -2
- package/scripts/codemod.mjs +5 -0
- package/src/index.css +1 -0
- package/src/responsive-variant-classes.css +1 -1
- package/dist/components/badge/Badge.colorscheme.config.d.ts +0 -208
- package/dist/components/badge/Badge.colorscheme.config.js +0 -100
- package/dist/components/badge/Badge.colorscheme.config.js.map +0 -1
- package/dist/components/navigation/NavigationMenu.colorscheme.config.d.ts +0 -21
- package/dist/components/navigation/NavigationMenu.colorscheme.config.js +0 -23
- package/dist/components/navigation/NavigationMenu.colorscheme.config.js.map +0 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.d.ts +0 -10
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.js +0 -12
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.js.map +0 -1
- package/dist/components/segmented-control/SegmentedControl.types.d.ts +0 -1
- package/dist/components/top-bar/TopBar.colorscheme.config.d.ts +0 -7
- package/dist/components/top-bar/TopBar.colorscheme.config.js +0 -9
- package/dist/components/top-bar/TopBar.colorscheme.config.js.map +0 -1
- package/dist/experiments/color-scheme/ColorScheme.config.d.ts +0 -10
- package/dist/experiments/color-scheme/ColorScheme.config.js +0 -74
- package/dist/experiments/color-scheme/ColorScheme.config.js.map +0 -1
- package/dist/experiments/color-scheme/ColorScheme.d.ts +0 -17
- package/dist/experiments/color-scheme/ColorScheme.js +0 -25
- package/dist/experiments/color-scheme/ColorScheme.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type TColorScheme = 'light' | 'dark' | 'system';
|
|
3
|
+
export type TColorBrand = 'atom' | 'school' | 'quest';
|
|
4
|
+
export type TColorPalette = 'default' | 'rose' | 'sage';
|
|
5
|
+
export type TBrandPalette = {
|
|
6
|
+
atom: 'default' | 'rose' | 'sage';
|
|
7
|
+
school: 'default' | 'rose';
|
|
8
|
+
quest: 'default';
|
|
9
|
+
};
|
|
10
|
+
export type TColorAccent = 'grey' | 'brand' | 'blue' | 'pink' | 'marsh' | 'green' | 'red' | 'orange' | 'purple' | 'cyan' | 'teal' | 'magenta' | 'lime' | 'lapis' | 'maroon' | 'emerald' | 'yellow' | 'success' | 'danger' | 'warning' | 'info';
|
|
11
|
+
export type TColorHue = Exclude<TColorAccent, 'success' | 'danger' | 'warning' | 'info'>;
|
|
12
|
+
type TThemeValue = {
|
|
13
|
+
colorScheme?: TColorScheme;
|
|
14
|
+
brand?: TColorBrand;
|
|
15
|
+
palette?: TColorPalette;
|
|
16
|
+
accent?: TColorAccent;
|
|
17
|
+
};
|
|
18
|
+
type ThemeProps = React.HTMLAttributes<HTMLDivElement> & Omit<TThemeValue, 'accent'> & {
|
|
19
|
+
accent?: TColorHue;
|
|
20
|
+
asChild?: boolean;
|
|
21
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* @experimental Theming prototype. Unset props inherit from the nearest ancestor.
|
|
25
|
+
*/
|
|
26
|
+
export declare const Theme: ({ colorScheme, brand, palette, accent, asChild, ...rest }: ThemeProps) => React.JSX.Element;
|
|
27
|
+
/** Re-applies the surrounding <Theme> inside a portal. */
|
|
28
|
+
export declare const ThemePortalScope: ({ children }: {
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
}) => string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | Iterable<React.ReactNode> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The colour scheme actually rendered here: the nearest <Theme>, else the
|
|
33
|
+
* <html> attribute, with `system` resolved against the OS. Renders 'light' on
|
|
34
|
+
* the server for `system`, as the OS preference is unknown there.
|
|
35
|
+
*/
|
|
36
|
+
export declare const useColorScheme: () => 'light' | 'dark';
|
|
37
|
+
/** The palette rendered here: the nearest <Theme>, else the <html> attribute. */
|
|
38
|
+
export declare const useColorPalette: () => TColorPalette;
|
|
39
|
+
/**
|
|
40
|
+
* Resolved values of CSS variables at `ref`, for libraries that need real
|
|
41
|
+
* colours rather than `var()` strings (charts, canvas). Read from the element
|
|
42
|
+
* itself so nested scopes apply, and re-read when the scheme, brand, palette
|
|
43
|
+
* or accent change. Empty until the element mounts.
|
|
44
|
+
*/
|
|
45
|
+
export declare const useResolvedColors: <T extends string>(ref: React.RefObject<Element | null>, names: readonly T[]) => Partial<Record<T, string>>;
|
|
46
|
+
/**
|
|
47
|
+
* Inline <head> script that sets data-color-scheme before first paint. The app
|
|
48
|
+
* owns the flag and storage: only an explicit 'light' or 'dark' is honoured from
|
|
49
|
+
* storage, anything else means system.
|
|
50
|
+
*/
|
|
51
|
+
export declare const getColorSchemeScript: ({ enabled, storageKey }: {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
storageKey: string;
|
|
54
|
+
}) => string;
|
|
55
|
+
/**
|
|
56
|
+
* Runs a scheme or palette change without CSS transitions, so components with
|
|
57
|
+
* transition-colors don't all animate to their new colours.
|
|
58
|
+
*/
|
|
59
|
+
export declare const withoutTransitions: (change: () => void) => void;
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
+
//#region src/experiments/theme/Theme.tsx
|
|
5
|
+
var ThemeContext = React$1.createContext({});
|
|
6
|
+
var toAttributes = ({ colorScheme, brand, palette, accent }) => ({
|
|
7
|
+
"data-color-scheme": colorScheme,
|
|
8
|
+
"data-brand": brand,
|
|
9
|
+
"data-color-palette": palette,
|
|
10
|
+
"data-color-accent": accent
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* @experimental Theming prototype. Unset props inherit from the nearest ancestor.
|
|
14
|
+
*/
|
|
15
|
+
var Theme = ({ colorScheme, brand, palette, accent, asChild = false, ...rest }) => {
|
|
16
|
+
const parent = React$1.use(ThemeContext);
|
|
17
|
+
return /* @__PURE__ */ jsx(ThemeContext, {
|
|
18
|
+
value: React$1.useMemo(() => ({
|
|
19
|
+
colorScheme: colorScheme ?? parent.colorScheme,
|
|
20
|
+
brand: brand ?? parent.brand,
|
|
21
|
+
palette: palette ?? (brand ? "default" : parent.palette),
|
|
22
|
+
accent: accent ?? (palette || brand ? void 0 : parent.accent)
|
|
23
|
+
}), [
|
|
24
|
+
colorScheme,
|
|
25
|
+
brand,
|
|
26
|
+
palette,
|
|
27
|
+
accent,
|
|
28
|
+
parent
|
|
29
|
+
]),
|
|
30
|
+
children: /* @__PURE__ */ jsx(asChild ? Slot : "div", {
|
|
31
|
+
...toAttributes({
|
|
32
|
+
colorScheme,
|
|
33
|
+
brand,
|
|
34
|
+
palette,
|
|
35
|
+
accent
|
|
36
|
+
}),
|
|
37
|
+
...rest
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/** Re-applies the surrounding <Theme> inside a portal. */
|
|
42
|
+
var ThemePortalScope = ({ children }) => {
|
|
43
|
+
const value = React$1.use(ThemeContext);
|
|
44
|
+
if (!value.colorScheme && !value.brand && !value.palette && !value.accent) return children;
|
|
45
|
+
return /* @__PURE__ */ jsx("div", {
|
|
46
|
+
className: "contents",
|
|
47
|
+
...toAttributes(value),
|
|
48
|
+
children
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
var subscribeToRoot = (onChange) => {
|
|
52
|
+
const observer = new MutationObserver(onChange);
|
|
53
|
+
observer.observe(document.documentElement, { attributeFilter: ["data-color-scheme", "data-color-palette"] });
|
|
54
|
+
return () => observer.disconnect();
|
|
55
|
+
};
|
|
56
|
+
var useRootAttribute = (name) => React$1.useSyncExternalStore(subscribeToRoot, () => document.documentElement.getAttribute(name), () => null);
|
|
57
|
+
var darkQuery = "(prefers-color-scheme: dark)";
|
|
58
|
+
var subscribeToOs = (onChange) => {
|
|
59
|
+
const query = window.matchMedia(darkQuery);
|
|
60
|
+
query.addEventListener("change", onChange);
|
|
61
|
+
return () => query.removeEventListener("change", onChange);
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* The colour scheme actually rendered here: the nearest <Theme>, else the
|
|
65
|
+
* <html> attribute, with `system` resolved against the OS. Renders 'light' on
|
|
66
|
+
* the server for `system`, as the OS preference is unknown there.
|
|
67
|
+
*/
|
|
68
|
+
var useColorScheme = () => {
|
|
69
|
+
const { colorScheme } = React$1.use(ThemeContext);
|
|
70
|
+
const root = useRootAttribute("data-color-scheme");
|
|
71
|
+
const osDark = React$1.useSyncExternalStore(subscribeToOs, () => window.matchMedia(darkQuery).matches, () => false);
|
|
72
|
+
const setting = colorScheme ?? root ?? "light";
|
|
73
|
+
if (setting === "system") return osDark ? "dark" : "light";
|
|
74
|
+
return setting === "dark" ? "dark" : "light";
|
|
75
|
+
};
|
|
76
|
+
/** The palette rendered here: the nearest <Theme>, else the <html> attribute. */
|
|
77
|
+
var useColorPalette = () => {
|
|
78
|
+
const { palette } = React$1.use(ThemeContext);
|
|
79
|
+
const root = useRootAttribute("data-color-palette");
|
|
80
|
+
return palette ?? root ?? "default";
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Resolved values of CSS variables at `ref`, for libraries that need real
|
|
84
|
+
* colours rather than `var()` strings (charts, canvas). Read from the element
|
|
85
|
+
* itself so nested scopes apply, and re-read when the scheme, brand, palette
|
|
86
|
+
* or accent change. Empty until the element mounts.
|
|
87
|
+
*/
|
|
88
|
+
var useResolvedColors = (ref, names) => {
|
|
89
|
+
const scheme = useColorScheme();
|
|
90
|
+
const palette = useColorPalette();
|
|
91
|
+
const { brand, accent } = React$1.use(ThemeContext);
|
|
92
|
+
const rootBrand = useRootAttribute("data-brand");
|
|
93
|
+
const [colors, setColors] = React$1.useState({});
|
|
94
|
+
const key = names.join(",");
|
|
95
|
+
React$1.useLayoutEffect(() => {
|
|
96
|
+
if (!ref.current) return;
|
|
97
|
+
const style = window.getComputedStyle(ref.current);
|
|
98
|
+
setColors(Object.fromEntries(key.split(",").map((name) => [name, style.getPropertyValue(name).trim()])));
|
|
99
|
+
}, [
|
|
100
|
+
ref,
|
|
101
|
+
key,
|
|
102
|
+
scheme,
|
|
103
|
+
palette,
|
|
104
|
+
brand,
|
|
105
|
+
rootBrand,
|
|
106
|
+
accent
|
|
107
|
+
]);
|
|
108
|
+
return colors;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Inline <head> script that sets data-color-scheme before first paint. The app
|
|
112
|
+
* owns the flag and storage: only an explicit 'light' or 'dark' is honoured from
|
|
113
|
+
* storage, anything else means system.
|
|
114
|
+
*/
|
|
115
|
+
var getColorSchemeScript = ({ enabled, storageKey }) => `(()=>{var s;try{s=localStorage.getItem(${JSON.stringify(storageKey)})}catch(e){}document.documentElement.dataset.colorScheme=${enabled}?(s==='light'||s==='dark'?s:'system'):'light'})()`;
|
|
116
|
+
/**
|
|
117
|
+
* Runs a scheme or palette change without CSS transitions, so components with
|
|
118
|
+
* transition-colors don't all animate to their new colours.
|
|
119
|
+
*/
|
|
120
|
+
var withoutTransitions = (change) => {
|
|
121
|
+
const style = document.createElement("style");
|
|
122
|
+
style.textContent = "*,*::before,*::after{transition:none!important}";
|
|
123
|
+
document.head.append(style);
|
|
124
|
+
change();
|
|
125
|
+
window.getComputedStyle(document.body).opacity;
|
|
126
|
+
requestAnimationFrame(() => style.remove());
|
|
127
|
+
};
|
|
128
|
+
//#endregion
|
|
129
|
+
export { Theme, ThemePortalScope, getColorSchemeScript, useColorPalette, useColorScheme, useResolvedColors, withoutTransitions };
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=Theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.js","names":[],"sources":["../../../src/experiments/theme/Theme.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport * as React from 'react'\n\n// Keep in sync with scripts/generate-color-theme-css.mjs\nexport type TColorScheme = 'light' | 'dark' | 'system'\nexport type TColorBrand = 'atom' | 'school' | 'quest'\nexport type TColorPalette = 'default' | 'rose' | 'sage'\n// The palettes each brand offers. The CSS renders any pairing, so this is\n// where the allow-list is enforced, e.g. in an app's palette picker.\nexport type TBrandPalette = {\n atom: 'default' | 'rose' | 'sage'\n school: 'default' | 'rose'\n quest: 'default'\n}\nexport type TColorAccent =\n | 'grey'\n | 'brand'\n | 'blue'\n | 'pink'\n | 'marsh'\n | 'green'\n | 'red'\n | 'orange'\n | 'purple'\n | 'cyan'\n | 'teal'\n | 'magenta'\n | 'lime'\n | 'lapis'\n | 'maroon'\n | 'emerald'\n | 'yellow'\n | 'success'\n | 'danger'\n | 'warning'\n | 'info'\n\n// Status colours are reached through components' `tone`, never a whole area\nexport type TColorHue = Exclude<\n TColorAccent,\n 'success' | 'danger' | 'warning' | 'info'\n>\n\ntype TThemeValue = {\n colorScheme?: TColorScheme\n brand?: TColorBrand\n palette?: TColorPalette\n accent?: TColorAccent\n}\n\n// Carries the effective theme so portalled content, which mounts outside the\n// <Theme> element, can re-apply it.\nconst ThemeContext = React.createContext<TThemeValue>({})\n\nconst toAttributes = ({\n colorScheme,\n brand,\n palette,\n accent\n}: TThemeValue) => ({\n 'data-color-scheme': colorScheme,\n 'data-brand': brand,\n 'data-color-palette': palette,\n 'data-color-accent': accent\n})\n\ntype ThemeProps = React.HTMLAttributes<HTMLDivElement> &\n Omit<TThemeValue, 'accent'> & {\n accent?: TColorHue\n asChild?: boolean\n ref?: React.Ref<HTMLDivElement>\n }\n\n/**\n * @experimental Theming prototype. Unset props inherit from the nearest ancestor.\n */\nexport const Theme = ({\n colorScheme,\n brand,\n palette,\n accent,\n asChild = false,\n ...rest\n}: ThemeProps) => {\n const parent = React.use(ThemeContext)\n const value = React.useMemo(\n () => ({\n colorScheme: colorScheme ?? parent.colorScheme,\n brand: brand ?? parent.brand,\n // A brand starts from its own default palette, as it may not offer the\n // inherited one; a palette brings its own accent. Either stops inheritance.\n palette: palette ?? (brand ? 'default' : parent.palette),\n accent: accent ?? (palette || brand ? undefined : parent.accent)\n }),\n [colorScheme, brand, palette, accent, parent]\n )\n const Component = asChild ? Slot : 'div'\n\n return (\n <ThemeContext value={value}>\n <Component\n {...toAttributes({ colorScheme, brand, palette, accent })}\n {...rest}\n />\n </ThemeContext>\n )\n}\n\n/** Re-applies the surrounding <Theme> inside a portal. */\nexport const ThemePortalScope = ({\n children\n}: {\n children: React.ReactNode\n}) => {\n const value = React.use(ThemeContext)\n if (!value.colorScheme && !value.brand && !value.palette && !value.accent)\n return children\n return (\n <div className=\"contents\" {...toAttributes(value)}>\n {children}\n </div>\n )\n}\n\n// The app sets the root attributes on <html>, outside React, so observe them.\nconst subscribeToRoot = (onChange: () => void) => {\n const observer = new MutationObserver(onChange)\n observer.observe(document.documentElement, {\n attributeFilter: ['data-color-scheme', 'data-color-palette']\n })\n return () => observer.disconnect()\n}\n\nconst useRootAttribute = (name: string) =>\n React.useSyncExternalStore(\n subscribeToRoot,\n () => document.documentElement.getAttribute(name),\n () => null\n )\n\nconst darkQuery = '(prefers-color-scheme: dark)'\nconst subscribeToOs = (onChange: () => void) => {\n const query = window.matchMedia(darkQuery)\n query.addEventListener('change', onChange)\n return () => query.removeEventListener('change', onChange)\n}\n\n/**\n * The colour scheme actually rendered here: the nearest <Theme>, else the\n * <html> attribute, with `system` resolved against the OS. Renders 'light' on\n * the server for `system`, as the OS preference is unknown there.\n */\nexport const useColorScheme = (): 'light' | 'dark' => {\n const { colorScheme } = React.use(ThemeContext)\n const root = useRootAttribute('data-color-scheme')\n const osDark = React.useSyncExternalStore(\n subscribeToOs,\n () => window.matchMedia(darkQuery).matches,\n () => false\n )\n const setting = colorScheme ?? root ?? 'light'\n if (setting === 'system') return osDark ? 'dark' : 'light'\n return setting === 'dark' ? 'dark' : 'light'\n}\n\n/** The palette rendered here: the nearest <Theme>, else the <html> attribute. */\nexport const useColorPalette = (): TColorPalette => {\n const { palette } = React.use(ThemeContext)\n const root = useRootAttribute('data-color-palette')\n return palette ?? (root as TColorPalette | null) ?? 'default'\n}\n\n/**\n * Resolved values of CSS variables at `ref`, for libraries that need real\n * colours rather than `var()` strings (charts, canvas). Read from the element\n * itself so nested scopes apply, and re-read when the scheme, brand, palette\n * or accent change. Empty until the element mounts.\n */\nexport const useResolvedColors = <T extends string>(\n ref: React.RefObject<Element | null>,\n names: readonly T[]\n): Partial<Record<T, string>> => {\n const scheme = useColorScheme()\n const palette = useColorPalette()\n const { brand, accent } = React.use(ThemeContext)\n const rootBrand = useRootAttribute('data-brand')\n const [colors, setColors] = React.useState<Partial<Record<T, string>>>({})\n const key = names.join(',')\n\n React.useLayoutEffect(() => {\n if (!ref.current) return\n const style = window.getComputedStyle(ref.current)\n setColors(\n Object.fromEntries(\n key\n .split(',')\n .map((name) => [name, style.getPropertyValue(name).trim()])\n ) as Partial<Record<T, string>>\n )\n }, [ref, key, scheme, palette, brand, rootBrand, accent])\n\n return colors\n}\n\n/**\n * Inline <head> script that sets data-color-scheme before first paint. The app\n * owns the flag and storage: only an explicit 'light' or 'dark' is honoured from\n * storage, anything else means system.\n */\nexport const getColorSchemeScript = ({\n enabled,\n storageKey\n}: {\n enabled: boolean\n storageKey: string\n}) =>\n `(()=>{var s;try{s=localStorage.getItem(${JSON.stringify(storageKey)})}catch(e){}` +\n `document.documentElement.dataset.colorScheme=${enabled}?(s==='light'||s==='dark'?s:'system'):'light'})()`\n\n/**\n * Runs a scheme or palette change without CSS transitions, so components with\n * transition-colors don't all animate to their new colours.\n */\nexport const withoutTransitions = (change: () => void) => {\n const style = document.createElement('style')\n style.textContent = '*,*::before,*::after{transition:none!important}'\n document.head.append(style)\n change()\n // Force a style recalc so the change lands while transitions are off\n void window.getComputedStyle(document.body).opacity\n requestAnimationFrame(() => style.remove())\n}\n"],"mappings":";;;;AAoDA,IAAM,eAAe,QAAM,cAA2B,CAAC,CAAC;AAExD,IAAM,gBAAgB,EACpB,aACA,OACA,SACA,cACkB;CAClB,qBAAqB;CACrB,cAAc;CACd,sBAAsB;CACtB,qBAAqB;AACvB;;;;AAYA,IAAa,SAAS,EACpB,aACA,OACA,SACA,QACA,UAAU,OACV,GAAG,WACa;CAChB,MAAM,SAAS,QAAM,IAAI,YAAY;CAcrC,OACE,oBAAC,cAAD;EAAqB,OAdT,QAAM,eACX;GACL,aAAa,eAAe,OAAO;GACnC,OAAO,SAAS,OAAO;GAGvB,SAAS,YAAY,QAAQ,YAAY,OAAO;GAChD,QAAQ,WAAW,WAAW,QAAQ,KAAA,IAAY,OAAO;EAC3D,IACA;GAAC;GAAa;GAAO;GAAS;GAAQ;EAAM,CAKvB;YACnB,oBAJc,UAAU,OAAO,OAI/B;GACE,GAAI,aAAa;IAAE;IAAa;IAAO;IAAS;GAAO,CAAC;GACxD,GAAI;EACL,CAAA;CACW,CAAA;AAElB;;AAGA,IAAa,oBAAoB,EAC/B,eAGI;CACJ,MAAM,QAAQ,QAAM,IAAI,YAAY;CACpC,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,SAAS,CAAC,MAAM,WAAW,CAAC,MAAM,QACjE,OAAO;CACT,OACE,oBAAC,OAAD;EAAK,WAAU;EAAW,GAAI,aAAa,KAAK;EAC7C;CACE,CAAA;AAET;AAGA,IAAM,mBAAmB,aAAyB;CAChD,MAAM,WAAW,IAAI,iBAAiB,QAAQ;CAC9C,SAAS,QAAQ,SAAS,iBAAiB,EACzC,iBAAiB,CAAC,qBAAqB,oBAAoB,EAC7D,CAAC;CACD,aAAa,SAAS,WAAW;AACnC;AAEA,IAAM,oBAAoB,SACxB,QAAM,qBACJ,uBACM,SAAS,gBAAgB,aAAa,IAAI,SAC1C,IACR;AAEF,IAAM,YAAY;AAClB,IAAM,iBAAiB,aAAyB;CAC9C,MAAM,QAAQ,OAAO,WAAW,SAAS;CACzC,MAAM,iBAAiB,UAAU,QAAQ;CACzC,aAAa,MAAM,oBAAoB,UAAU,QAAQ;AAC3D;;;;;;AAOA,IAAa,uBAAyC;CACpD,MAAM,EAAE,gBAAgB,QAAM,IAAI,YAAY;CAC9C,MAAM,OAAO,iBAAiB,mBAAmB;CACjD,MAAM,SAAS,QAAM,qBACnB,qBACM,OAAO,WAAW,SAAS,CAAC,CAAC,eAC7B,KACR;CACA,MAAM,UAAU,eAAe,QAAQ;CACvC,IAAI,YAAY,UAAU,OAAO,SAAS,SAAS;CACnD,OAAO,YAAY,SAAS,SAAS;AACvC;;AAGA,IAAa,wBAAuC;CAClD,MAAM,EAAE,YAAY,QAAM,IAAI,YAAY;CAC1C,MAAM,OAAO,iBAAiB,oBAAoB;CAClD,OAAO,WAAY,QAAiC;AACtD;;;;;;;AAQA,IAAa,qBACX,KACA,UAC+B;CAC/B,MAAM,SAAS,eAAe;CAC9B,MAAM,UAAU,gBAAgB;CAChC,MAAM,EAAE,OAAO,WAAW,QAAM,IAAI,YAAY;CAChD,MAAM,YAAY,iBAAiB,YAAY;CAC/C,MAAM,CAAC,QAAQ,aAAa,QAAM,SAAqC,CAAC,CAAC;CACzE,MAAM,MAAM,MAAM,KAAK,GAAG;CAE1B,QAAM,sBAAsB;EAC1B,IAAI,CAAC,IAAI,SAAS;EAClB,MAAM,QAAQ,OAAO,iBAAiB,IAAI,OAAO;EACjD,UACE,OAAO,YACL,IACG,MAAM,GAAG,CAAC,CACV,KAAK,SAAS,CAAC,MAAM,MAAM,iBAAiB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAC9D,CACF;CACF,GAAG;EAAC;EAAK;EAAK;EAAQ;EAAS;EAAO;EAAW;CAAM,CAAC;CAExD,OAAO;AACT;;;;;;AAOA,IAAa,wBAAwB,EACnC,SACA,iBAKA,0CAA0C,KAAK,UAAU,UAAU,EAAE,2DACrB,QAAQ;;;;;AAM1D,IAAa,sBAAsB,WAAuB;CACxD,MAAM,QAAQ,SAAS,cAAc,OAAO;CAC5C,MAAM,cAAc;CACpB,SAAS,KAAK,OAAO,KAAK;CAC1B,OAAO;CAEP,OAAY,iBAAiB,SAAS,IAAI,CAAC,CAAC;CAC5C,4BAA4B,MAAM,OAAO,CAAC;AAC5C"}
|