@choco-vanille/ui 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/dist/components/actions/button/styles/Button.css.d.ts +1 -2
- package/dist/components/actions/button/types/Button.props.d.ts +8 -2
- package/dist/components/actions/icon-button/constants/iconButtonSizeVariants.const.d.ts +18 -0
- package/dist/components/actions/icon-button/constants/iconButtonSizes.const.cjs +1 -1
- package/dist/components/actions/icon-button/constants/iconButtonSizes.const.cjs.map +1 -1
- package/dist/components/actions/icon-button/constants/iconButtonSizes.const.js +5 -8
- package/dist/components/actions/icon-button/constants/iconButtonSizes.const.js.map +1 -1
- package/dist/components/actions/icon-button/constants/index.d.ts +1 -0
- package/dist/components/actions/icon-button/styles/IconButton.css.d.ts +12 -12
- package/dist/components/actions/icon-button/types/IconButton.props.d.ts +6 -2
- package/dist/components/actions/index.d.ts +2 -3
- package/dist/components/actions/toggle/Toggle.cjs +2 -0
- package/dist/components/actions/toggle/Toggle.cjs.map +1 -0
- package/dist/components/actions/toggle/Toggle.d.ts +4 -0
- package/dist/components/actions/toggle/Toggle.js +74 -0
- package/dist/components/actions/toggle/Toggle.js.map +1 -0
- package/dist/components/actions/toggle/constants/toggleSizes.const.cjs +2 -0
- package/dist/components/actions/toggle/constants/toggleSizes.const.cjs.map +1 -0
- package/dist/components/actions/toggle/constants/toggleSizes.const.d.ts +3 -0
- package/dist/components/actions/toggle/constants/toggleSizes.const.js +10 -0
- package/dist/components/actions/toggle/constants/toggleSizes.const.js.map +1 -0
- package/dist/components/actions/toggle/index.d.ts +4 -0
- package/dist/components/actions/toggle/styles/Toggle.css.cjs +2 -0
- package/dist/components/actions/toggle/styles/Toggle.css.cjs.map +1 -0
- package/dist/components/actions/{toggle-button/styles/ToggleButton.css.d.ts → toggle/styles/Toggle.css.d.ts} +2 -3
- package/dist/components/actions/toggle/styles/Toggle.css.js +9 -0
- package/dist/components/actions/toggle/styles/Toggle.css.js.map +1 -0
- package/dist/components/actions/toggle/types/Toggle.props.d.ts +11 -0
- package/dist/components/actions/toggle/types/Toggle.types.d.ts +21 -0
- package/dist/components/actions/toggle-group/ToggleGroup.cjs +2 -0
- package/dist/components/actions/toggle-group/ToggleGroup.cjs.map +1 -0
- package/dist/components/actions/toggle-group/ToggleGroup.d.ts +19 -0
- package/dist/components/actions/toggle-group/ToggleGroup.js +20 -0
- package/dist/components/actions/toggle-group/ToggleGroup.js.map +1 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/ToggleGroupItem.cjs +2 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/ToggleGroupItem.cjs.map +1 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/ToggleGroupItem.d.ts +4 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/ToggleGroupItem.js +74 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/ToggleGroupItem.js.map +1 -0
- package/dist/components/actions/toggle-group/components/toggle-group-item/types/ToggleGroupItem.props.d.ts +11 -0
- package/dist/components/actions/toggle-group/index.d.ts +4 -0
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.cjs +2 -0
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.cjs.map +1 -0
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.d.ts +14 -0
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.js +8 -0
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.js.map +1 -0
- package/dist/components/actions/toggle-group/types/ToggleGroup.props.d.ts +19 -0
- package/dist/components/actions/toggle-group/types/ToggleGroupCompound.d.ts +6 -0
- package/dist/components/data-display/avatar/Avatar.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-fallback/types/AvatarFallback.props.d.ts +2 -3
- package/dist/components/data-display/avatar/components/avatar-image/types/AvatarImage.props.d.ts +2 -3
- package/dist/components/data-display/avatar/components/avatar-root/types/AvatarRoot.props.d.ts +1 -7
- package/dist/components/data-display/avatar/components/avatar-status/AvatarStatus.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-status/index.d.ts +0 -1
- package/dist/components/data-display/avatar/components/avatar-status/types/AvatarStatus.props.d.ts +2 -3
- package/dist/components/data-display/avatar/components/index.d.ts +1 -1
- package/dist/components/data-display/avatar/constants/avatarStatus.const.d.ts +1 -1
- package/dist/components/data-display/avatar/types/Avatar.props.d.ts +1 -5
- package/dist/components/data-display/avatar/types/index.d.ts +2 -2
- package/dist/components/data-display/badge/Badge.cjs +1 -1
- package/dist/components/data-display/badge/constants/badgeVariants.const.d.ts +3 -3
- package/dist/components/data-display/badge/styles/Badge.css.cjs +1 -1
- package/dist/components/data-display/badge/styles/Badge.css.d.ts +2 -2
- package/dist/components/data-display/badge/styles/Badge.css.js +2 -2
- package/dist/components/data-display/badge/styles/variants/{solid.d.ts → contained.d.ts} +1 -1
- package/dist/components/data-display/badge/styles/variants/{outline.d.ts → outlined.d.ts} +1 -1
- package/dist/components/data-display/badge/types/Badge.props.d.ts +1 -1
- package/dist/components/data-display/table/components/table-body/TableBody.cjs +1 -1
- package/dist/components/data-display/table/components/table-caption/TableCaption.cjs +1 -1
- package/dist/components/data-display/table/components/table-cell/styles/TableCell.css.d.ts +1 -2
- package/dist/components/data-display/table/components/table-cell/types/TableCell.props.d.ts +3 -2
- package/dist/components/data-display/table/components/table-col/TableCol.cjs +1 -1
- package/dist/components/data-display/table/components/table-footer/TableFooter.cjs +1 -1
- package/dist/components/data-display/table/components/table-head/styles/TableHead.css.d.ts +1 -2
- package/dist/components/data-display/table/components/table-head/types/TableHead.props.d.ts +3 -2
- package/dist/components/data-display/table/components/table-header/TableHeader.cjs +1 -1
- package/dist/components/data-display/table/components/table-row/TableRow.cjs +1 -1
- package/dist/components/data-display/table/components/table-row/styles/TableRow.css.d.ts +1 -2
- package/dist/components/data-display/table/components/table-row/types/TableRow.props.d.ts +7 -2
- package/dist/components/data-display/table/index.d.ts +1 -1
- package/dist/components/data-display/table/styles/Table.css.d.ts +1 -2
- package/dist/components/data-display/table/types/Table.props.d.ts +3 -2
- package/dist/components/data-display/table/types/Table.types.d.ts +2 -0
- package/dist/components/feedback/callout/Callout.cjs +1 -1
- package/dist/components/feedback/callout/Callout.cjs.map +1 -1
- package/dist/components/feedback/callout/Callout.js +32 -34
- package/dist/components/feedback/callout/Callout.js.map +1 -1
- package/dist/components/feedback/callout/components/callout-description/index.d.ts +0 -1
- package/dist/components/feedback/callout/components/callout-icon/index.d.ts +0 -1
- package/dist/components/feedback/callout/components/callout-title/index.d.ts +0 -1
- package/dist/components/feedback/callout/types/Callout.props.d.ts +1 -1
- package/dist/components/feedback/callout/types/Callout.types.d.ts +1 -1
- package/dist/components/feedback/progress/CircularProgress.cjs +1 -1
- package/dist/components/feedback/progress/CircularProgress.cjs.map +1 -1
- package/dist/components/feedback/progress/CircularProgress.js +48 -44
- package/dist/components/feedback/progress/CircularProgress.js.map +1 -1
- package/dist/components/feedback/progress/Progress.cjs +1 -1
- package/dist/components/feedback/progress/Progress.cjs.map +1 -1
- package/dist/components/feedback/progress/Progress.js +32 -29
- package/dist/components/feedback/progress/Progress.js.map +1 -1
- package/dist/components/feedback/progress/types/Progress.props.d.ts +14 -3
- package/dist/components/feedback/progress/utils/clamp.utils.cjs +2 -0
- package/dist/components/feedback/progress/utils/clamp.utils.cjs.map +1 -0
- package/dist/components/feedback/progress/utils/clamp.utils.d.ts +1 -0
- package/dist/components/feedback/progress/utils/clamp.utils.js +5 -0
- package/dist/components/feedback/progress/utils/clamp.utils.js.map +1 -0
- package/dist/components/feedback/skeleton/styles/Skeleton.css.d.ts +1 -2
- package/dist/components/feedback/skeleton/types/Skeleton.props.d.ts +4 -2
- package/dist/components/feedback/toast/components/index.d.ts +6 -5
- package/dist/components/feedback/toast/constants/index.cjs.map +1 -1
- package/dist/components/feedback/toast/constants/index.d.ts +1 -0
- package/dist/components/feedback/toast/constants/index.js.map +1 -1
- package/dist/components/feedback/toast/constants/toastVariants.const.d.ts +6 -0
- package/dist/components/feedback/toast/styles/Toast.css.d.ts +1 -2
- package/dist/components/feedback/toast/types/Toast.props.d.ts +4 -3
- package/dist/components/feedback/toast/types/Toast.types.d.ts +2 -2
- package/dist/components/forms/autocomplete/Autocomplete.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-content/AutocompleteContent.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/AutocompleteField.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/utils/toRootItems.utils.cjs.map +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/utils/toRootItems.utils.d.ts +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/utils/toRootItems.utils.js.map +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-group/AutocompleteGroup.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-label/AutocompleteLabel.cjs +1 -1
- package/dist/components/forms/autocomplete/types/Autocomplete.types.d.ts +4 -2
- package/dist/components/forms/calendar/Calendar.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs.map +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js +4 -16
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js.map +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs.map +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js +4 -16
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js.map +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/hooks/useCalendarYearView.hook.cjs +1 -1
- package/dist/components/forms/checkbox/Checkbox.cjs +1 -1
- package/dist/components/forms/checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/forms/checkbox/Checkbox.js +21 -24
- package/dist/components/forms/checkbox/Checkbox.js.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.cjs +1 -1
- package/dist/components/forms/select/components/select-content/SelectContent.cjs +1 -1
- package/dist/components/forms/select/components/select-field/SelectField.cjs +1 -1
- package/dist/components/forms/select/components/select-label/SelectLabel.cjs +1 -1
- package/dist/components/forms/select/components/select-trigger/SelectTrigger.cjs +1 -1
- package/dist/components/forms/select/components/select-trigger/hooks/useSelectTrigger.hook.cjs +1 -1
- package/dist/components/forms/select/components/select-trigger/types/SelectTrigger.props.d.ts +1 -1
- package/dist/components/forms/switch/Switch.cjs +1 -1
- package/dist/components/forms/switch/Switch.cjs.map +1 -1
- package/dist/components/forms/switch/Switch.js +36 -39
- package/dist/components/forms/switch/Switch.js.map +1 -1
- package/dist/components/forms/text-area/TextArea.cjs +1 -1
- package/dist/components/forms/text-area/components/text-area-end-action/TextAreaEndAction.cjs +1 -1
- package/dist/components/forms/text-area/constants/index.d.ts +5 -0
- package/dist/components/forms/text-area/index.d.ts +1 -0
- package/dist/components/forms/text-area/styles/TextArea.css.d.ts +1 -2
- package/dist/components/forms/text-area/types/TextArea.props.d.ts +4 -2
- package/dist/components/forms/text-area/types/TextArea.types.d.ts +2 -1
- package/dist/components/forms/text-field/TextField.cjs +1 -1
- package/dist/components/forms/text-field/components/index.d.ts +1 -0
- package/dist/components/forms/text-field/components/text-field-end-action/TextFieldEndAction.cjs.map +1 -1
- package/dist/components/forms/text-field/components/text-field-end-action/TextFieldEndAction.d.ts +2 -4
- package/dist/components/forms/text-field/components/text-field-end-action/TextFieldEndAction.js.map +1 -1
- package/dist/components/forms/text-field/components/text-field-end-action/types/TextFieldEndAction.props.d.ts +5 -0
- package/dist/components/forms/text-field/components/text-field-label/TextFieldLabel.cjs +1 -1
- package/dist/components/forms/text-field/constants/index.cjs.map +1 -1
- package/dist/components/forms/text-field/constants/index.d.ts +5 -0
- package/dist/components/forms/text-field/constants/index.js.map +1 -1
- package/dist/components/forms/text-field/index.d.ts +1 -0
- package/dist/components/forms/text-field/styles/TextField.css.d.ts +1 -2
- package/dist/components/forms/text-field/types/TextField.props.d.ts +4 -2
- package/dist/components/forms/text-field/types/TextField.types.d.ts +2 -1
- package/dist/components/foundation/icon/Icon.cjs +1 -1
- package/dist/components/foundation/icon/index.d.ts +1 -1
- package/dist/components/foundation/icon/types/Icon.props.d.ts +12 -9
- package/dist/components/foundation/icon/types/Icon.types.d.ts +3 -0
- package/dist/components/foundation/typography/Typography.cjs +1 -1
- package/dist/components/foundation/typography/styles/Typography.css.d.ts +1 -2
- package/dist/components/foundation/typography/types/Typography.props.d.ts +10 -3
- package/dist/components/layout/box/Box.cjs +1 -1
- package/dist/components/layout/box/index.d.ts +1 -2
- package/dist/components/layout/box/styles/Box.css.d.ts +1 -2
- package/dist/components/layout/box/types/Box.props.d.ts +22 -23
- package/dist/components/layout/box/types/Box.types.d.ts +14 -0
- package/dist/components/layout/flex/index.d.ts +0 -1
- package/dist/components/layout/flex/styles/Flex.css.d.ts +1 -2
- package/dist/components/layout/flex/types/Flex.props.d.ts +1 -2
- package/dist/components/layout/grid/Grid.cjs +1 -1
- package/dist/components/layout/grid/index.d.ts +1 -2
- package/dist/components/layout/grid/styles/Grid.css.d.ts +1 -2
- package/dist/components/layout/grid/types/Grid.props.d.ts +9 -9
- package/dist/components/layout/image/index.d.ts +0 -1
- package/dist/components/layout/image/styles/Image.css.d.ts +1 -2
- package/dist/components/layout/image/types/Image.props.d.ts +8 -7
- package/dist/components/layout/image/types/Image.types.d.ts +4 -0
- package/dist/components/layout/separator/Separator.cjs +1 -1
- package/dist/components/layout/separator/Separator.cjs.map +1 -1
- package/dist/components/layout/separator/Separator.js +2 -1
- package/dist/components/layout/separator/Separator.js.map +1 -1
- package/dist/components/layout/separator/constants/index.d.ts +4 -0
- package/dist/components/layout/separator/index.d.ts +1 -2
- package/dist/components/layout/separator/styles/Separator.css.d.ts +1 -2
- package/dist/components/layout/separator/types/Separator.props.d.ts +4 -4
- package/dist/components/layout/separator/types/Separator.types.d.ts +5 -1
- package/dist/components/navigation/tabs/components/tabs-content/TabsContent.cjs +1 -1
- package/dist/components/navigation/tabs/components/tabs-list/TabsList.cjs +1 -1
- package/dist/components/navigation/tabs/components/tabs-trigger/types/TabsTrigger.props.d.ts +1 -1
- package/dist/components/overlay/dialog/components/dialog-close/DialogClose.cjs +1 -1
- package/dist/components/overlay/dialog/components/dialog-content/DialogContent.cjs +1 -1
- package/dist/components/overlay/dialog/components/dialog-footer/DialogFooter.cjs +1 -1
- package/dist/components/overlay/dialog/components/dialog-header/DialogHeader.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js +4 -16
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js +4 -16
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js +4 -16
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/constants/index.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/constants/index.d.ts +2 -2
- package/dist/components/overlay/drawer/components/items/drawer-section-item/constants/index.js.map +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-inline/types/DrawerInline.props.d.ts +2 -3
- package/dist/components/overlay/drawer/components/variants/drawer-mini/DrawerMini.cjs +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-mini/types/DrawerMini.props.d.ts +2 -3
- package/dist/components/overlay/drawer/components/variants/drawer-portal/types/DrawerPortal.props.d.ts +2 -3
- package/dist/components/overlay/drawer/hooks/use-drawer/useDrawer.hook.cjs +1 -1
- package/dist/components/overlay/drawer/index.d.ts +2 -1
- package/dist/components/overlay/drawer/styles/Drawer.css.d.ts +1 -6
- package/dist/components/overlay/drawer/types/Drawer.props.d.ts +2 -3
- package/dist/components/overlay/drawer/types/Drawer.types.d.ts +3 -0
- package/dist/components/overlay/drawer/types/index.d.ts +1 -1
- package/dist/components/overlay/dropdown-menu/components/items/dropdown-menu-checkbox-item/DropdownMenuCheckboxItem.cjs +1 -1
- package/dist/components/overlay/hover-card/HoverCard.cjs +1 -1
- package/dist/components/overlay/popover/components/content/PopoverContent.cjs +1 -1
- package/dist/components/overlay/tooltip/Tooltip.cjs +1 -1
- package/dist/components/overlay/tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/overlay/tooltip/Tooltip.js +33 -28
- package/dist/components/overlay/tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlay/tooltip/hooks/use-tooltip/types/index.d.ts +1 -0
- package/dist/components/overlay/tooltip/hooks/use-tooltip/useTooltip.hook.cjs +1 -1
- package/dist/components/overlay/tooltip/hooks/use-tooltip/useTooltip.hook.cjs.map +1 -1
- package/dist/components/overlay/tooltip/hooks/use-tooltip/useTooltip.hook.d.ts +1 -1
- package/dist/components/overlay/tooltip/hooks/use-tooltip/useTooltip.hook.js +7 -7
- package/dist/components/overlay/tooltip/hooks/use-tooltip/useTooltip.hook.js.map +1 -1
- package/dist/components/overlay/tooltip/styles/Tooltip.css.cjs +1 -1
- package/dist/components/overlay/tooltip/styles/Tooltip.css.d.ts +1 -0
- package/dist/components/overlay/tooltip/styles/Tooltip.css.js +2 -2
- package/dist/components/overlay/tooltip/types/Tooltip.props.d.ts +4 -0
- package/dist/components/surfaces/card/Card.cjs +1 -1
- package/dist/components/surfaces/card/Card.cjs.map +1 -1
- package/dist/components/surfaces/card/Card.js +32 -28
- package/dist/components/surfaces/card/Card.js.map +1 -1
- package/dist/components/surfaces/card/types/Card.props.d.ts +3 -1
- package/dist/components/surfaces/collapsible/components/collapsible-panel/CollapsiblePanel.cjs +1 -1
- package/dist/components/theme-provider/ThemeProvider.cjs +1 -1
- package/dist/components/theme-provider/ThemeProvider.cjs.map +1 -1
- package/dist/components/theme-provider/ThemeProvider.context.cjs.map +1 -1
- package/dist/components/theme-provider/ThemeProvider.context.d.ts +8 -9
- package/dist/components/theme-provider/ThemeProvider.context.js.map +1 -1
- package/dist/components/theme-provider/ThemeProvider.d.ts +5 -9
- package/dist/components/theme-provider/ThemeProvider.js +46 -31
- package/dist/components/theme-provider/ThemeProvider.js.map +1 -1
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.cjs +2 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.cjs.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.d.ts +6 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.js +42 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.js.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/types/index.d.ts +6 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.cjs +2 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.cjs.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.d.ts +10 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.js +28 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.js.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.cjs +2 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.cjs.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.d.ts +6 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.js +9 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.js.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-transition/useThemeTransition.hook.cjs +2 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-transition/useThemeTransition.hook.cjs.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-transition/useThemeTransition.hook.d.ts +4 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-transition/useThemeTransition.hook.js +24 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-transition/useThemeTransition.hook.js.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/types/index.d.ts +11 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.cjs +2 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.cjs.map +1 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.d.ts +13 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.js +36 -0
- package/dist/components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.js.map +1 -0
- package/dist/components/theme-provider/index.d.ts +1 -1
- package/dist/components/theme-provider/types/ThemeProvider.props.d.ts +27 -7
- package/dist/components/theme-provider/utils/resolveTheme.utils.cjs.map +1 -1
- package/dist/components/theme-provider/utils/resolveTheme.utils.d.ts +2 -2
- package/dist/components/theme-provider/utils/resolveTheme.utils.js.map +1 -1
- package/dist/constants/theme.cjs +1 -1
- package/dist/constants/theme.cjs.map +1 -1
- package/dist/constants/theme.d.ts +4 -0
- package/dist/constants/theme.js +6 -4
- package/dist/constants/theme.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +311 -325
- package/dist/index.js.map +1 -1
- package/dist/theme/colors/dark.cjs +2 -0
- package/dist/theme/colors/dark.cjs.map +1 -0
- package/dist/theme/colors/dark.js +170 -0
- package/dist/theme/colors/dark.js.map +1 -0
- package/dist/theme/colors/light.cjs +2 -0
- package/dist/theme/colors/light.cjs.map +1 -0
- package/dist/theme/colors/light.js +169 -0
- package/dist/theme/colors/light.js.map +1 -0
- package/dist/theme/index.d.ts +1 -2
- package/dist/theme/tokens/index.cjs +2 -0
- package/dist/theme/tokens/index.cjs.map +1 -0
- package/dist/theme/tokens/index.js +35 -0
- package/dist/theme/tokens/index.js.map +1 -0
- package/dist/theme/tokens/motion.cjs +1 -1
- package/dist/theme/tokens/motion.cjs.map +1 -1
- package/dist/theme/tokens/motion.js +13 -2
- package/dist/theme/tokens/motion.js.map +1 -1
- package/dist/theme/tokens/palette.cjs +2 -0
- package/dist/theme/tokens/palette.cjs.map +1 -0
- package/dist/theme/tokens/palette.js +193 -0
- package/dist/theme/tokens/palette.js.map +1 -0
- package/dist/theme/tokens/radii.cjs +2 -0
- package/dist/theme/tokens/radii.cjs.map +1 -0
- package/dist/theme/tokens/radii.js +20 -0
- package/dist/theme/tokens/radii.js.map +1 -0
- package/dist/theme/tokens/shadows.cjs +2 -0
- package/dist/theme/tokens/shadows.cjs.map +1 -0
- package/dist/theme/tokens/shadows.js +38 -0
- package/dist/theme/tokens/shadows.js.map +1 -0
- package/dist/theme/tokens/spacing.cjs +2 -0
- package/dist/theme/tokens/spacing.cjs.map +1 -0
- package/dist/theme/tokens/spacing.js +36 -0
- package/dist/theme/tokens/spacing.js.map +1 -0
- package/dist/theme/tokens/typography.cjs +2 -0
- package/dist/theme/tokens/typography.cjs.map +1 -0
- package/dist/theme/tokens/typography.js +50 -0
- package/dist/theme/tokens/typography.js.map +1 -0
- package/dist/theme/tokens/zIndex.cjs +2 -0
- package/dist/theme/tokens/zIndex.cjs.map +1 -0
- package/dist/theme/tokens/zIndex.js +17 -0
- package/dist/theme/tokens/zIndex.js.map +1 -0
- package/dist/theme/types/index.d.ts +2 -0
- package/dist/ui-kit.css +1 -1
- package/dist/utils/createIconChildUtils.cjs +1 -1
- package/package.json +5 -1
- package/dist/components/actions/toggle-button/ToggleButton.cjs +0 -2
- package/dist/components/actions/toggle-button/ToggleButton.cjs.map +0 -1
- package/dist/components/actions/toggle-button/ToggleButton.d.ts +0 -4
- package/dist/components/actions/toggle-button/ToggleButton.js +0 -66
- package/dist/components/actions/toggle-button/ToggleButton.js.map +0 -1
- package/dist/components/actions/toggle-button/constants/index.d.ts +0 -2
- package/dist/components/actions/toggle-button/constants/toggleButtonSizes.const.cjs +0 -2
- package/dist/components/actions/toggle-button/constants/toggleButtonSizes.const.cjs.map +0 -1
- package/dist/components/actions/toggle-button/constants/toggleButtonSizes.const.d.ts +0 -3
- package/dist/components/actions/toggle-button/constants/toggleButtonSizes.const.js +0 -10
- package/dist/components/actions/toggle-button/constants/toggleButtonSizes.const.js.map +0 -1
- package/dist/components/actions/toggle-button/index.d.ts +0 -4
- package/dist/components/actions/toggle-button/styles/ToggleButton.css.cjs +0 -2
- package/dist/components/actions/toggle-button/styles/ToggleButton.css.cjs.map +0 -1
- package/dist/components/actions/toggle-button/styles/ToggleButton.css.js +0 -9
- package/dist/components/actions/toggle-button/styles/ToggleButton.css.js.map +0 -1
- package/dist/components/actions/toggle-button/types/ToggleButton.props.d.ts +0 -13
- package/dist/components/actions/toggle-button/types/ToggleButton.types.d.ts +0 -10
- package/dist/components/actions/toggle-button-group/ToggleButtonGroup.cjs +0 -2
- package/dist/components/actions/toggle-button-group/ToggleButtonGroup.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/ToggleButtonGroup.d.ts +0 -18
- package/dist/components/actions/toggle-button-group/ToggleButtonGroup.js +0 -51
- package/dist/components/actions/toggle-button-group/ToggleButtonGroup.js.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/ToggleButtonGroupIconItem.cjs +0 -2
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/ToggleButtonGroupIconItem.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/ToggleButtonGroupIconItem.d.ts +0 -17
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/ToggleButtonGroupIconItem.js +0 -44
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/ToggleButtonGroupIconItem.js.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/styles/ToggleButtonGroupIconItem.css.cjs +0 -2
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/styles/ToggleButtonGroupIconItem.css.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/styles/ToggleButtonGroupIconItem.css.d.ts +0 -202
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/styles/ToggleButtonGroupIconItem.css.js +0 -9
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/styles/ToggleButtonGroupIconItem.css.js.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-icon-item/types/ToggleButtonGroupIconItem.props.d.ts +0 -11
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/ToggleButtonGroupItem.cjs +0 -2
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/ToggleButtonGroupItem.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/ToggleButtonGroupItem.d.ts +0 -17
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/ToggleButtonGroupItem.js +0 -65
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/ToggleButtonGroupItem.js.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/styles/ToggleButtonGroupItem.css.cjs +0 -2
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/styles/ToggleButtonGroupItem.css.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/styles/ToggleButtonGroupItem.css.d.ts +0 -202
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/styles/ToggleButtonGroupItem.css.js +0 -9
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/styles/ToggleButtonGroupItem.css.js.map +0 -1
- package/dist/components/actions/toggle-button-group/components/toggle-button-group-item/types/ToggleButtonGroupItem.props.d.ts +0 -13
- package/dist/components/actions/toggle-button-group/index.d.ts +0 -8
- package/dist/components/actions/toggle-button-group/styles/ToggleButtonGroup.css.cjs +0 -2
- package/dist/components/actions/toggle-button-group/styles/ToggleButtonGroup.css.cjs.map +0 -1
- package/dist/components/actions/toggle-button-group/styles/ToggleButtonGroup.css.d.ts +0 -23
- package/dist/components/actions/toggle-button-group/styles/ToggleButtonGroup.css.js +0 -8
- package/dist/components/actions/toggle-button-group/styles/ToggleButtonGroup.css.js.map +0 -1
- package/dist/components/actions/toggle-button-group/types/ToggleButtonGroup.props.d.ts +0 -18
- package/dist/components/actions/toggle-button-group/types/ToggleButtonGroup.types.d.ts +0 -2
- package/dist/components/actions/toggle-button-group/types/ToggleButtonGroupCompound.d.ts +0 -8
- package/dist/components/actions/toggle-icon-button/ToggleIconButton.cjs +0 -2
- package/dist/components/actions/toggle-icon-button/ToggleIconButton.cjs.map +0 -1
- package/dist/components/actions/toggle-icon-button/ToggleIconButton.d.ts +0 -4
- package/dist/components/actions/toggle-icon-button/ToggleIconButton.js +0 -45
- package/dist/components/actions/toggle-icon-button/ToggleIconButton.js.map +0 -1
- package/dist/components/actions/toggle-icon-button/constants/index.d.ts +0 -1
- package/dist/components/actions/toggle-icon-button/constants/toggleIconButtonSizes.const.cjs +0 -2
- package/dist/components/actions/toggle-icon-button/constants/toggleIconButtonSizes.const.cjs.map +0 -1
- package/dist/components/actions/toggle-icon-button/constants/toggleIconButtonSizes.const.d.ts +0 -3
- package/dist/components/actions/toggle-icon-button/constants/toggleIconButtonSizes.const.js +0 -11
- package/dist/components/actions/toggle-icon-button/constants/toggleIconButtonSizes.const.js.map +0 -1
- package/dist/components/actions/toggle-icon-button/index.d.ts +0 -4
- package/dist/components/actions/toggle-icon-button/styles/ToggleIconButton.css.cjs +0 -2
- package/dist/components/actions/toggle-icon-button/styles/ToggleIconButton.css.cjs.map +0 -1
- package/dist/components/actions/toggle-icon-button/styles/ToggleIconButton.css.d.ts +0 -221
- package/dist/components/actions/toggle-icon-button/styles/ToggleIconButton.css.js +0 -9
- package/dist/components/actions/toggle-icon-button/styles/ToggleIconButton.css.js.map +0 -1
- package/dist/components/actions/toggle-icon-button/types/ToggleIconButton.props.d.ts +0 -11
- package/dist/components/actions/toggle-icon-button/types/ToggleIconButton.types.d.ts +0 -11
- package/dist/theme/override.d.ts +0 -11
|
@@ -1,41 +1,45 @@
|
|
|
1
1
|
import { jsx as C } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
2
|
+
import { memo as c } from "react";
|
|
3
|
+
import l from "../../layout/box/Box.js";
|
|
4
4
|
import "../../layout/box/styles/Box.css.js";
|
|
5
|
-
import
|
|
5
|
+
import x from "./components/card-body/CardBody.js";
|
|
6
6
|
import y from "./components/card-footer/CardFooter.js";
|
|
7
7
|
import B from "./components/card-header/CardHeader.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import { CARD_STYLES as F } from "./styles/Card.css.js";
|
|
9
|
+
import { cn as g } from "../../../utils/cn.js";
|
|
10
|
+
const o = c(({
|
|
11
|
+
as: r = "div",
|
|
12
|
+
backgroundColor: m = "card",
|
|
13
|
+
color: d = "cardForeground",
|
|
12
14
|
borderRadius: e = "lg",
|
|
13
|
-
borderWidth:
|
|
14
|
-
borderColor:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
borderWidth: t = "1px",
|
|
16
|
+
borderColor: a = "border",
|
|
17
|
+
borderStyle: i = "solid",
|
|
18
|
+
boxShadow: p = "none",
|
|
19
|
+
overflow: f = "hidden",
|
|
20
|
+
className: n,
|
|
21
|
+
...s
|
|
19
22
|
}) => /* @__PURE__ */ C(
|
|
20
|
-
|
|
23
|
+
l,
|
|
21
24
|
{
|
|
22
|
-
as:
|
|
23
|
-
backgroundColor:
|
|
24
|
-
color:
|
|
25
|
+
as: r,
|
|
26
|
+
backgroundColor: m,
|
|
27
|
+
color: d,
|
|
25
28
|
borderRadius: e,
|
|
26
|
-
borderWidth:
|
|
27
|
-
borderColor:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
borderWidth: t,
|
|
30
|
+
borderColor: a,
|
|
31
|
+
borderStyle: i,
|
|
32
|
+
boxShadow: p,
|
|
33
|
+
overflow: f,
|
|
34
|
+
className: g(F.root, n),
|
|
35
|
+
...s
|
|
32
36
|
}
|
|
33
37
|
));
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
o.displayName = "Card";
|
|
39
|
+
o.Header = B;
|
|
40
|
+
o.Body = x;
|
|
41
|
+
o.Footer = y;
|
|
38
42
|
export {
|
|
39
|
-
|
|
43
|
+
o as Card
|
|
40
44
|
};
|
|
41
45
|
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sources":["../../../../src/components/surfaces/card/Card.tsx"],"sourcesContent":["import { memo } from 'react'\r\n\r\nimport { Box } from '@components/layout/box'\r\nimport CardBody from '@components/surfaces/card/components/card-body/CardBody.tsx'\r\nimport CardFooter from '@components/surfaces/card/components/card-footer/CardFooter.tsx'\r\nimport CardHeader from '@components/surfaces/card/components/card-header/CardHeader.tsx'\r\nimport type { CardCompound } from '@components/surfaces/card/types'\r\nimport type { CardProps } from '@components/surfaces/card/types/Card.props.ts'\r\n\r\n/**\r\n * A surface container with a consistent background, border, shadow and\r\n * rounded corners. Compose with the named sub-components for a structured\r\n * layout.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card>\r\n * <Card.Header\r\n * title=\"Account settings\"\r\n * description=\"Manage your profile.\"\r\n * actions={<IconButton icon=\"lucide:ellipsis-vertical\" aria-label=\"More\" />}\r\n * />\r\n * <Card.Body>Content goes here</Card.Body>\r\n * <Card.Footer>\r\n * <Button label=\"Save\" variant=\"contained\" color=\"primary\" />\r\n * </Card.Footer>\r\n * </Card>\r\n * ```\r\n */\r\nconst Card = memo<CardProps>(({\r\n as = 'div',\r\n backgroundColor = 'card',\r\n color = 'cardForeground',\r\n borderRadius = 'lg',\r\n borderWidth = '1px',\r\n borderColor = 'border',\r\n boxShadow = 'none',\r\n overflow = 'hidden',\r\n className,\r\n ...props\r\n}) => (\r\n <Box\r\n as={as}\r\n backgroundColor={backgroundColor}\r\n color={color}\r\n borderRadius={borderRadius}\r\n borderWidth={borderWidth}\r\n borderColor={borderColor}\r\n boxShadow={boxShadow}\r\n overflow={overflow}\r\n className={className}\r\n {...props}\r\n />\r\n)) as unknown as CardCompound\r\n\r\nCard.displayName = 'Card'\r\nCard.Header = CardHeader\r\nCard.Body = CardBody\r\nCard.Footer = CardFooter\r\n\r\nexport { Card }\r\n"],"names":["Card","memo","as","backgroundColor","color","borderRadius","borderWidth","borderColor","boxShadow","overflow","className","props","jsx","Box","CardHeader","CardBody","CardFooter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../src/components/surfaces/card/Card.tsx"],"sourcesContent":["import { memo } from 'react'\r\n\r\nimport { Box } from '@components/layout/box'\r\nimport CardBody from '@components/surfaces/card/components/card-body/CardBody.tsx'\r\nimport CardFooter from '@components/surfaces/card/components/card-footer/CardFooter.tsx'\r\nimport CardHeader from '@components/surfaces/card/components/card-header/CardHeader.tsx'\r\nimport { CARD_STYLES } from '@components/surfaces/card/styles/Card.css.ts'\r\nimport type { CardCompound } from '@components/surfaces/card/types'\r\nimport type { CardProps } from '@components/surfaces/card/types/Card.props.ts'\r\nimport { cn } from '@utils/cn.ts'\r\n\r\n/**\r\n * A surface container with a consistent background, border, shadow and\r\n * rounded corners. Compose with the named sub-components for a structured\r\n * layout.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card>\r\n * <Card.Header\r\n * title=\"Account settings\"\r\n * description=\"Manage your profile.\"\r\n * actions={<IconButton icon=\"lucide:ellipsis-vertical\" aria-label=\"More\" />}\r\n * />\r\n * <Card.Body>Content goes here</Card.Body>\r\n * <Card.Footer>\r\n * <Button label=\"Save\" variant=\"contained\" color=\"primary\" />\r\n * </Card.Footer>\r\n * </Card>\r\n * ```\r\n */\r\nconst Card = memo<CardProps>(({\r\n as = 'div',\r\n backgroundColor = 'card',\r\n color = 'cardForeground',\r\n borderRadius = 'lg',\r\n borderWidth = '1px',\r\n borderColor = 'border',\r\n borderStyle = 'solid',\r\n boxShadow = 'none',\r\n overflow = 'hidden',\r\n className,\r\n ...props\r\n}) => (\r\n <Box\r\n as={as}\r\n backgroundColor={backgroundColor}\r\n color={color}\r\n borderRadius={borderRadius}\r\n borderWidth={borderWidth}\r\n borderColor={borderColor}\r\n borderStyle={borderStyle}\r\n boxShadow={boxShadow}\r\n overflow={overflow}\r\n className={cn(CARD_STYLES.root, className)}\r\n {...props}\r\n />\r\n)) as unknown as CardCompound\r\n\r\nCard.displayName = 'Card'\r\nCard.Header = CardHeader\r\nCard.Body = CardBody\r\nCard.Footer = CardFooter\r\n\r\nexport { Card }\r\n"],"names":["Card","memo","as","backgroundColor","color","borderRadius","borderWidth","borderColor","borderStyle","boxShadow","overflow","className","props","jsx","Box","cn","CARD_STYLES","CardHeader","CardBody","CardFooter"],"mappings":";;;;;;;;;AA+BA,MAAMA,IAAOC,EAAgB,CAAC;AAAA,EAC1B,IAAAC,IAAK;AAAA,EACL,iBAAAC,IAAkB;AAAA,EAClB,OAAAC,IAAQ;AAAA,EACR,cAAAC,IAAe;AAAA,EACf,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,EACd,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,GAAGC;AACP,MACI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,IAAAZ;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAWK,EAAGC,EAAY,MAAML,CAAS;AAAA,IACxC,GAAGC;AAAA,EAAA;AACR,CACH;AAEDZ,EAAK,cAAc;AACnBA,EAAK,SAASiB;AACdjB,EAAK,OAAOkB;AACZlB,EAAK,SAASmB;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxProps } from '../../../layout/box/types/Box.props.ts';
|
|
2
|
-
export type CardProps = Omit<BoxProps, 'as' | 'backgroundColor' | 'color' | 'borderRadius' | 'borderWidth' | 'borderColor' | 'boxShadow' | 'overflow'> & {
|
|
2
|
+
export type CardProps = Omit<BoxProps, 'as' | 'backgroundColor' | 'color' | 'borderRadius' | 'borderWidth' | 'borderColor' | 'boxShadow' | 'overflow' | 'borderStyle'> & {
|
|
3
3
|
/** The HTML element to render. @default 'div' */
|
|
4
4
|
as?: 'div' | 'section' | 'article' | 'aside';
|
|
5
5
|
/** Background color token. @default 'card' */
|
|
@@ -12,6 +12,8 @@ export type CardProps = Omit<BoxProps, 'as' | 'backgroundColor' | 'color' | 'bor
|
|
|
12
12
|
borderWidth?: BoxProps['borderWidth'];
|
|
13
13
|
/** Border color token. @default 'border' */
|
|
14
14
|
borderColor?: BoxProps['borderColor'];
|
|
15
|
+
/** Border style. @default 'solid' */
|
|
16
|
+
borderStyle?: BoxProps['borderStyle'];
|
|
15
17
|
/** Shadow token. @default 'none' */
|
|
16
18
|
boxShadow?: BoxProps['boxShadow'];
|
|
17
19
|
/** Overflow behavior. @default 'hidden' */
|
package/dist/components/surfaces/collapsible/components/collapsible-panel/CollapsiblePanel.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),t=require("react"),i=require("@base-ui/react/collapsible"),s=require("./styles/CollapsiblePanel.css.cjs"),L=require("../../../../../theme/contract.css.cjs"),p=require("../../../../../utils/cn.cjs"),l=t.memo(({className:
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),t=require("react"),i=require("@base-ui/react/collapsible"),s=require("./styles/CollapsiblePanel.css.cjs"),L=require("../../../../../theme/contract.css.cjs"),p=require("../../../../../utils/cn.cjs"),l=t.memo(({className:r,padding:a="md",keepMounted:c=!0,children:n,...o})=>e.jsx(i.Collapsible.Panel,{keepMounted:c,className:p.cn(s.COLLAPSIBLE_PANEL_STYLES.root,r),style:{paddingBottom:L.vars.space[a]},...o,children:e.jsx("div",{className:s.COLLAPSIBLE_PANEL_STYLES.inner,children:n})}));l.displayName="Collapsible.Panel";module.exports=l;
|
|
2
2
|
//# sourceMappingURL=CollapsiblePanel.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),e=require("react");require("../overlay/tooltip/Tooltip.cjs");const N=require("../overlay/tooltip/components/tooltip-provider/TooltipProvider.cjs");;/* empty css */;/* empty css */const R=require("./ThemeProvider.context.cjs"),y=require("./hooks/use-theme-provider/useThemeProvider.hook.cjs"),h=require("../../constants/theme.cjs"),d=({theme:v,defaultTheme:a="system",scope:l="document",themeTransitionDuration:t=100,onThemeChange:q,tokens:x,style:i,children:n,...M})=>{const{activeTheme:c,resolvedTheme:r,setTheme:m,tokenStyles:u,isTransitioning:o}=y.useThemeProvider({controlledTheme:v,defaultTheme:a,onThemeChange:q,scope:l,tokens:x,themeTransitionDuration:t}),T=e.useMemo(()=>o?{[h.THEME_TRANSITION_DURATION_VAR]:`${Math.max(0,t)}ms`}:{},[o,t]),P=e.useMemo(()=>({...u,...i,...T}),[i,u,T]),_=e.useMemo(()=>({theme:c,resolvedTheme:r,setTheme:m}),[c,r,m]),I=e.useMemo(()=>s.jsx(N,{children:n}),[n]);return s.jsx(R.ThemeContext.Provider,{value:_,children:s.jsx("div",{"data-theme":r,...o?{[h.THEME_TRANSITION_ATTRIBUTE]:""}:{},style:P,...M,children:I})})};d.displayName="ThemeProvider";module.exports=d;
|
|
2
2
|
//# sourceMappingURL=ThemeProvider.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.cjs","sources":["../../../src/components/theme-provider/ThemeProvider.tsx"],"sourcesContent":["import { type
|
|
1
|
+
{"version":3,"file":"ThemeProvider.cjs","sources":["../../../src/components/theme-provider/ThemeProvider.tsx"],"sourcesContent":["import { type CSSProperties, type FC, useMemo } from 'react'\r\nimport { TooltipProvider } from '@components/overlay/tooltip'\r\nimport { ThemeContext } from '@components/theme-provider/ThemeProvider.context.ts'\r\nimport type { ThemeProviderProps } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport { useThemeProvider } from '@components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.ts'\r\nimport {\r\n THEME_TRANSITION_ATTRIBUTE,\r\n THEME_TRANSITION_DURATION_VAR,\r\n} from '@constants/theme'\r\n\r\n/**\r\n * `ThemeProvider` wraps a subtree and manages the active color-scheme.\r\n *\r\n * ### What it does\r\n * - Manages the active color scheme and runtime token overrides.\r\n * - Applies the theme to `<html>` by default so body-mounted portals inherit it.\r\n * - Applies the theme to its wrapper when `scope=\"subtree\"`.\r\n * - Temporarily forces all transitions to the configured theme duration.\r\n *\r\n * ### Controlled vs uncontrolled\r\n * - **Uncontrolled** (default): omit the `theme` prop. The component manages\r\n * its own state; use `defaultTheme` to set the initial value.\r\n * - **Controlled**: pass `theme` and handle `onThemeChange` in the parent.\r\n *\r\n * ### Placing in your app\r\n * Wrap your whole application to enable global theming:\r\n * ```tsx\r\n * <ThemeProvider defaultTheme=\"system\">\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n * Or scope it to a single subtree:\r\n * ```tsx\r\n * <ThemeProvider scope=\"subtree\" theme=\"dark\" tokens={{ primary: 'oklch(0.70 0.16 185)' }}>\r\n * <DarkWidget />\r\n * </ThemeProvider>\r\n * ```\r\n */\r\nconst ThemeProvider: FC<ThemeProviderProps> = ({\r\n theme: controlledTheme,\r\n defaultTheme = 'system',\r\n scope = 'document',\r\n themeTransitionDuration = 100,\r\n onThemeChange,\r\n tokens,\r\n style,\r\n children,\r\n ...divProps\r\n}) => {\r\n const { activeTheme, resolvedTheme, setTheme, tokenStyles, isTransitioning } =\r\n useThemeProvider({\r\n controlledTheme,\r\n defaultTheme,\r\n onThemeChange,\r\n scope,\r\n tokens,\r\n themeTransitionDuration,\r\n })\r\n const transitionStyle = useMemo<CSSProperties>(\r\n () =>\r\n isTransitioning\r\n ? ({\r\n [THEME_TRANSITION_DURATION_VAR]: `${Math.max(0, themeTransitionDuration)}ms`,\r\n } as CSSProperties)\r\n : {},\r\n [isTransitioning, themeTransitionDuration],\r\n )\r\n const containerStyle = useMemo(\r\n () => ({ ...tokenStyles, ...style, ...transitionStyle }),\r\n [style, tokenStyles, transitionStyle],\r\n )\r\n const contextValue = useMemo(\r\n () => ({ theme: activeTheme, resolvedTheme, setTheme }),\r\n [activeTheme, resolvedTheme, setTheme],\r\n )\r\n const content = useMemo(\r\n () => <TooltipProvider>{children}</TooltipProvider>,\r\n [children],\r\n )\r\n\r\n return (\r\n <ThemeContext.Provider value={contextValue}>\r\n <div\r\n data-theme={resolvedTheme}\r\n {...(isTransitioning ? { [THEME_TRANSITION_ATTRIBUTE]: '' } : {})}\r\n style={containerStyle}\r\n {...divProps}\r\n >\r\n {content}\r\n </div>\r\n </ThemeContext.Provider>\r\n )\r\n}\r\n\r\nThemeProvider.displayName = 'ThemeProvider'\r\n\r\nexport default ThemeProvider\r\n"],"names":["ThemeProvider","controlledTheme","defaultTheme","scope","themeTransitionDuration","onThemeChange","tokens","style","children","divProps","activeTheme","resolvedTheme","setTheme","tokenStyles","isTransitioning","useThemeProvider","transitionStyle","useMemo","THEME_TRANSITION_DURATION_VAR","containerStyle","contextValue","content","jsx","TooltipProvider","ThemeContext","THEME_TRANSITION_ATTRIBUTE"],"mappings":"wdAsCMA,EAAwC,CAAC,CAC3C,MAAOC,EACP,aAAAC,EAAe,SACf,MAAAC,EAAQ,WACR,wBAAAC,EAA0B,IAC1B,cAAAC,EACA,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,GAAGC,CACP,IAAM,CACF,KAAM,CAAE,YAAAC,EAAa,cAAAC,EAAe,SAAAC,EAAU,YAAAC,EAAa,gBAAAC,CAAA,EAC3DC,mBAAiB,CACb,gBAAAd,EACA,aAAAC,EACA,cAAAG,EACA,MAAAF,EACA,OAAAG,EACA,wBAAAF,CAAA,CACH,EACKY,EAAkBC,EAAAA,QACpB,IACIH,EACO,CACC,CAACI,EAAAA,6BAA6B,EAAG,GAAG,KAAK,IAAI,EAAGd,CAAuB,CAAC,IAAA,EAE1E,CAAA,EACV,CAACU,EAAiBV,CAAuB,CAAA,EAEvCe,EAAiBF,EAAAA,QACnB,KAAO,CAAE,GAAGJ,EAAa,GAAGN,EAAO,GAAGS,CAAA,GACtC,CAACT,EAAOM,EAAaG,CAAe,CAAA,EAElCI,EAAeH,EAAAA,QACjB,KAAO,CAAE,MAAOP,EAAa,cAAAC,EAAe,SAAAC,CAAA,GAC5C,CAACF,EAAaC,EAAeC,CAAQ,CAAA,EAEnCS,EAAUJ,EAAAA,QACZ,IAAMK,MAACC,EAAA,CAAiB,SAAAf,EAAS,EACjC,CAACA,CAAQ,CAAA,EAGb,OACIc,EAAAA,IAACE,EAAAA,aAAa,SAAb,CAAsB,MAAOJ,EAC1B,SAAAE,EAAAA,IAAC,MAAA,CACG,aAAYX,EACX,GAAIG,EAAkB,CAAE,CAACW,4BAA0B,EAAG,EAAA,EAAO,CAAA,EAC9D,MAAON,EACN,GAAGV,EAEH,SAAAY,CAAA,CAAA,EAET,CAER,EAEArB,EAAc,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.context.cjs","sources":["../../../src/components/theme-provider/ThemeProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\r\nimport type {
|
|
1
|
+
{"version":3,"file":"ThemeProvider.context.cjs","sources":["../../../src/components/theme-provider/ThemeProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\r\nimport type { ThemeValue } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\n\r\nexport interface ThemeContextValue {\r\n /** Currently active theme name. `'system'` follows the OS preference. */\r\n theme: ThemeValue\r\n\r\n /**\r\n * The concrete resolved theme name, never `'system'`. Useful for\r\n * conditional rendering that depends on the actual visual state.\r\n */\r\n resolvedTheme: string\r\n\r\n /**\r\n * Change the active theme.\r\n * - In **uncontrolled** mode this updates internal state.\r\n * - In **controlled** mode (`theme` prop is provided) it only fires\r\n * `onThemeChange`; the parent is responsible for updating `theme`.\r\n */\r\n setTheme: (theme: ThemeValue) => void\r\n}\r\n\r\n/**\r\n * Default context value used when `useTheme` is called outside a\r\n * `ThemeProvider`. Falls back to `'system'` / `'light'` so the hook is\r\n * always safe to call.\r\n */\r\nconst defaultContext: ThemeContextValue = {\r\n theme: 'system',\r\n resolvedTheme: 'light',\r\n setTheme: () => undefined,\r\n}\r\n\r\nexport const ThemeContext = createContext<ThemeContextValue>(defaultContext)\r\n\r\n/**\r\n * Returns the nearest `ThemeProvider` context.\r\n *\r\n * Safe to call outside a provider — returns `{ theme: 'system', resolvedTheme:\r\n * 'light', setTheme: noop }` as a fallback.\r\n *\r\n * @example\r\n * const { resolvedTheme, setTheme } = useTheme()\r\n */\r\nexport const useTheme = (): ThemeContextValue => useContext(ThemeContext)\r\n"],"names":["defaultContext","ThemeContext","createContext","useTheme","useContext"],"mappings":"yGA2BMA,EAAoC,CACtC,MAAO,SACP,cAAe,QACf,SAAU,IAAA,EACd,EAEaC,EAAeC,EAAAA,cAAiCF,CAAc,EAW9DG,EAAW,IAAyBC,EAAAA,WAAWH,CAAY"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ThemeValue } from './types/ThemeProvider.props.ts';
|
|
2
2
|
import { Context } from 'react';
|
|
3
3
|
export interface ThemeContextValue {
|
|
4
|
-
/** Currently active
|
|
5
|
-
theme:
|
|
4
|
+
/** Currently active theme name. `'system'` follows the OS preference. */
|
|
5
|
+
theme: ThemeValue;
|
|
6
6
|
/**
|
|
7
|
-
* The concrete resolved
|
|
8
|
-
*
|
|
9
|
-
* visual state (e.g. swapping an icon).
|
|
7
|
+
* The concrete resolved theme name, never `'system'`. Useful for
|
|
8
|
+
* conditional rendering that depends on the actual visual state.
|
|
10
9
|
*/
|
|
11
|
-
resolvedTheme:
|
|
10
|
+
resolvedTheme: string;
|
|
12
11
|
/**
|
|
13
|
-
* Change the active
|
|
12
|
+
* Change the active theme.
|
|
14
13
|
* - In **uncontrolled** mode this updates internal state.
|
|
15
14
|
* - In **controlled** mode (`theme` prop is provided) it only fires
|
|
16
15
|
* `onThemeChange`; the parent is responsible for updating `theme`.
|
|
17
16
|
*/
|
|
18
|
-
setTheme: (theme:
|
|
17
|
+
setTheme: (theme: ThemeValue) => void;
|
|
19
18
|
}
|
|
20
19
|
export declare const ThemeContext: Context<ThemeContextValue>;
|
|
21
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.context.js","sources":["../../../src/components/theme-provider/ThemeProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\r\nimport type {
|
|
1
|
+
{"version":3,"file":"ThemeProvider.context.js","sources":["../../../src/components/theme-provider/ThemeProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\r\nimport type { ThemeValue } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\n\r\nexport interface ThemeContextValue {\r\n /** Currently active theme name. `'system'` follows the OS preference. */\r\n theme: ThemeValue\r\n\r\n /**\r\n * The concrete resolved theme name, never `'system'`. Useful for\r\n * conditional rendering that depends on the actual visual state.\r\n */\r\n resolvedTheme: string\r\n\r\n /**\r\n * Change the active theme.\r\n * - In **uncontrolled** mode this updates internal state.\r\n * - In **controlled** mode (`theme` prop is provided) it only fires\r\n * `onThemeChange`; the parent is responsible for updating `theme`.\r\n */\r\n setTheme: (theme: ThemeValue) => void\r\n}\r\n\r\n/**\r\n * Default context value used when `useTheme` is called outside a\r\n * `ThemeProvider`. Falls back to `'system'` / `'light'` so the hook is\r\n * always safe to call.\r\n */\r\nconst defaultContext: ThemeContextValue = {\r\n theme: 'system',\r\n resolvedTheme: 'light',\r\n setTheme: () => undefined,\r\n}\r\n\r\nexport const ThemeContext = createContext<ThemeContextValue>(defaultContext)\r\n\r\n/**\r\n * Returns the nearest `ThemeProvider` context.\r\n *\r\n * Safe to call outside a provider — returns `{ theme: 'system', resolvedTheme:\r\n * 'light', setTheme: noop }` as a fallback.\r\n *\r\n * @example\r\n * const { resolvedTheme, setTheme } = useTheme()\r\n */\r\nexport const useTheme = (): ThemeContextValue => useContext(ThemeContext)\r\n"],"names":["defaultContext","ThemeContext","createContext","useTheme","useContext"],"mappings":";AA2BA,MAAMA,IAAoC;AAAA,EACtC,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU,MAAA;AAAA;AACd,GAEaC,IAAeC,EAAiCF,CAAc,GAW9DG,IAAW,MAAyBC,EAAWH,CAAY;"}
|
|
@@ -4,14 +4,10 @@ import { ThemeProviderProps } from './types/ThemeProvider.props.ts';
|
|
|
4
4
|
* `ThemeProvider` wraps a subtree and manages the active color-scheme.
|
|
5
5
|
*
|
|
6
6
|
* ### What it does
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
* - Accepts a `tokens` map to inject runtime CSS-variable overrides directly
|
|
12
|
-
* on the wrapper element — no `.css.ts` file required.
|
|
13
|
-
* - Exposes `{ theme, resolvedTheme, setTheme }` via React context so any child
|
|
14
|
-
* can read or change the active mode with the `useTheme` hook.
|
|
7
|
+
* - Manages the active color scheme and runtime token overrides.
|
|
8
|
+
* - Applies the theme to `<html>` by default so body-mounted portals inherit it.
|
|
9
|
+
* - Applies the theme to its wrapper when `scope="subtree"`.
|
|
10
|
+
* - Temporarily forces all transitions to the configured theme duration.
|
|
15
11
|
*
|
|
16
12
|
* ### Controlled vs uncontrolled
|
|
17
13
|
* - **Uncontrolled** (default): omit the `theme` prop. The component manages
|
|
@@ -27,7 +23,7 @@ import { ThemeProviderProps } from './types/ThemeProvider.props.ts';
|
|
|
27
23
|
* ```
|
|
28
24
|
* Or scope it to a single subtree:
|
|
29
25
|
* ```tsx
|
|
30
|
-
* <ThemeProvider theme="dark" tokens={{ primary: 'oklch(0.70 0.16 185)' }}>
|
|
26
|
+
* <ThemeProvider scope="subtree" theme="dark" tokens={{ primary: 'oklch(0.70 0.16 185)' }}>
|
|
31
27
|
* <DarkWidget />
|
|
32
28
|
* </ThemeProvider>
|
|
33
29
|
* ```
|
|
@@ -1,43 +1,58 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as e } from "react";
|
|
3
3
|
import "../overlay/tooltip/Tooltip.js";
|
|
4
|
-
import
|
|
4
|
+
import x from "../overlay/tooltip/components/tooltip-provider/TooltipProvider.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { ThemeContext as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
const
|
|
11
|
-
theme:
|
|
12
|
-
defaultTheme:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
import { ThemeContext as y } from "./ThemeProvider.context.js";
|
|
8
|
+
import { useThemeProvider as A } from "./hooks/use-theme-provider/useThemeProvider.hook.js";
|
|
9
|
+
import { THEME_TRANSITION_DURATION_VAR as E, THEME_TRANSITION_ATTRIBUTE as P } from "../../constants/theme.js";
|
|
10
|
+
const R = ({
|
|
11
|
+
theme: p,
|
|
12
|
+
defaultTheme: a = "system",
|
|
13
|
+
scope: h = "document",
|
|
14
|
+
themeTransitionDuration: t = 100,
|
|
15
|
+
onThemeChange: l,
|
|
16
|
+
tokens: v,
|
|
17
|
+
style: i,
|
|
18
|
+
children: s,
|
|
19
|
+
...f
|
|
18
20
|
}) => {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
const { activeTheme: T, resolvedTheme: o, setTheme: n, tokenStyles: c, isTransitioning: m } = A({
|
|
22
|
+
controlledTheme: p,
|
|
23
|
+
defaultTheme: a,
|
|
24
|
+
onThemeChange: l,
|
|
25
|
+
scope: h,
|
|
26
|
+
tokens: v,
|
|
27
|
+
themeTransitionDuration: t
|
|
28
|
+
}), d = e(
|
|
29
|
+
() => m ? {
|
|
30
|
+
[E]: `${Math.max(0, t)}ms`
|
|
31
|
+
} : {},
|
|
32
|
+
[m, t]
|
|
33
|
+
), I = e(
|
|
34
|
+
() => ({ ...c, ...i, ...d }),
|
|
35
|
+
[i, c, d]
|
|
36
|
+
), N = e(
|
|
37
|
+
() => ({ theme: T, resolvedTheme: o, setTheme: n }),
|
|
38
|
+
[T, o, n]
|
|
39
|
+
), u = e(
|
|
40
|
+
() => /* @__PURE__ */ r(x, { children: s }),
|
|
41
|
+
[s]
|
|
42
|
+
);
|
|
43
|
+
return /* @__PURE__ */ r(y.Provider, { value: N, children: /* @__PURE__ */ r(
|
|
30
44
|
"div",
|
|
31
45
|
{
|
|
32
|
-
"data-theme":
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
"data-theme": o,
|
|
47
|
+
...m ? { [P]: "" } : {},
|
|
48
|
+
style: I,
|
|
49
|
+
...f,
|
|
50
|
+
children: u
|
|
36
51
|
}
|
|
37
52
|
) });
|
|
38
53
|
};
|
|
39
|
-
|
|
54
|
+
R.displayName = "ThemeProvider";
|
|
40
55
|
export {
|
|
41
|
-
|
|
56
|
+
R as default
|
|
42
57
|
};
|
|
43
58
|
//# sourceMappingURL=ThemeProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/components/theme-provider/ThemeProvider.tsx"],"sourcesContent":["import { type
|
|
1
|
+
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/components/theme-provider/ThemeProvider.tsx"],"sourcesContent":["import { type CSSProperties, type FC, useMemo } from 'react'\r\nimport { TooltipProvider } from '@components/overlay/tooltip'\r\nimport { ThemeContext } from '@components/theme-provider/ThemeProvider.context.ts'\r\nimport type { ThemeProviderProps } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport { useThemeProvider } from '@components/theme-provider/hooks/use-theme-provider/useThemeProvider.hook.ts'\r\nimport {\r\n THEME_TRANSITION_ATTRIBUTE,\r\n THEME_TRANSITION_DURATION_VAR,\r\n} from '@constants/theme'\r\n\r\n/**\r\n * `ThemeProvider` wraps a subtree and manages the active color-scheme.\r\n *\r\n * ### What it does\r\n * - Manages the active color scheme and runtime token overrides.\r\n * - Applies the theme to `<html>` by default so body-mounted portals inherit it.\r\n * - Applies the theme to its wrapper when `scope=\"subtree\"`.\r\n * - Temporarily forces all transitions to the configured theme duration.\r\n *\r\n * ### Controlled vs uncontrolled\r\n * - **Uncontrolled** (default): omit the `theme` prop. The component manages\r\n * its own state; use `defaultTheme` to set the initial value.\r\n * - **Controlled**: pass `theme` and handle `onThemeChange` in the parent.\r\n *\r\n * ### Placing in your app\r\n * Wrap your whole application to enable global theming:\r\n * ```tsx\r\n * <ThemeProvider defaultTheme=\"system\">\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n * Or scope it to a single subtree:\r\n * ```tsx\r\n * <ThemeProvider scope=\"subtree\" theme=\"dark\" tokens={{ primary: 'oklch(0.70 0.16 185)' }}>\r\n * <DarkWidget />\r\n * </ThemeProvider>\r\n * ```\r\n */\r\nconst ThemeProvider: FC<ThemeProviderProps> = ({\r\n theme: controlledTheme,\r\n defaultTheme = 'system',\r\n scope = 'document',\r\n themeTransitionDuration = 100,\r\n onThemeChange,\r\n tokens,\r\n style,\r\n children,\r\n ...divProps\r\n}) => {\r\n const { activeTheme, resolvedTheme, setTheme, tokenStyles, isTransitioning } =\r\n useThemeProvider({\r\n controlledTheme,\r\n defaultTheme,\r\n onThemeChange,\r\n scope,\r\n tokens,\r\n themeTransitionDuration,\r\n })\r\n const transitionStyle = useMemo<CSSProperties>(\r\n () =>\r\n isTransitioning\r\n ? ({\r\n [THEME_TRANSITION_DURATION_VAR]: `${Math.max(0, themeTransitionDuration)}ms`,\r\n } as CSSProperties)\r\n : {},\r\n [isTransitioning, themeTransitionDuration],\r\n )\r\n const containerStyle = useMemo(\r\n () => ({ ...tokenStyles, ...style, ...transitionStyle }),\r\n [style, tokenStyles, transitionStyle],\r\n )\r\n const contextValue = useMemo(\r\n () => ({ theme: activeTheme, resolvedTheme, setTheme }),\r\n [activeTheme, resolvedTheme, setTheme],\r\n )\r\n const content = useMemo(\r\n () => <TooltipProvider>{children}</TooltipProvider>,\r\n [children],\r\n )\r\n\r\n return (\r\n <ThemeContext.Provider value={contextValue}>\r\n <div\r\n data-theme={resolvedTheme}\r\n {...(isTransitioning ? { [THEME_TRANSITION_ATTRIBUTE]: '' } : {})}\r\n style={containerStyle}\r\n {...divProps}\r\n >\r\n {content}\r\n </div>\r\n </ThemeContext.Provider>\r\n )\r\n}\r\n\r\nThemeProvider.displayName = 'ThemeProvider'\r\n\r\nexport default ThemeProvider\r\n"],"names":["ThemeProvider","controlledTheme","defaultTheme","scope","themeTransitionDuration","onThemeChange","tokens","style","children","divProps","activeTheme","resolvedTheme","setTheme","tokenStyles","isTransitioning","useThemeProvider","transitionStyle","useMemo","THEME_TRANSITION_DURATION_VAR","containerStyle","contextValue","content","jsx","TooltipProvider","ThemeContext","THEME_TRANSITION_ATTRIBUTE"],"mappings":";;;;;;;;;AAsCA,MAAMA,IAAwC,CAAC;AAAA,EAC3C,OAAOC;AAAA,EACP,cAAAC,IAAe;AAAA,EACf,OAAAC,IAAQ;AAAA,EACR,yBAAAC,IAA0B;AAAA,EAC1B,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACP,MAAM;AACF,QAAM,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,aAAAC,GAAa,iBAAAC,EAAA,IAC3DC,EAAiB;AAAA,IACb,iBAAAd;AAAA,IACA,cAAAC;AAAA,IACA,eAAAG;AAAA,IACA,OAAAF;AAAA,IACA,QAAAG;AAAA,IACA,yBAAAF;AAAA,EAAA,CACH,GACKY,IAAkBC;AAAA,IACpB,MACIH,IACO;AAAA,MACC,CAACI,CAA6B,GAAG,GAAG,KAAK,IAAI,GAAGd,CAAuB,CAAC;AAAA,IAAA,IAE1E,CAAA;AAAA,IACV,CAACU,GAAiBV,CAAuB;AAAA,EAAA,GAEvCe,IAAiBF;AAAA,IACnB,OAAO,EAAE,GAAGJ,GAAa,GAAGN,GAAO,GAAGS,EAAA;AAAA,IACtC,CAACT,GAAOM,GAAaG,CAAe;AAAA,EAAA,GAElCI,IAAeH;AAAA,IACjB,OAAO,EAAE,OAAOP,GAAa,eAAAC,GAAe,UAAAC,EAAA;AAAA,IAC5C,CAACF,GAAaC,GAAeC,CAAQ;AAAA,EAAA,GAEnCS,IAAUJ;AAAA,IACZ,MAAM,gBAAAK,EAACC,GAAA,EAAiB,UAAAf,GAAS;AAAA,IACjC,CAACA,CAAQ;AAAA,EAAA;AAGb,SACI,gBAAAc,EAACE,EAAa,UAAb,EAAsB,OAAOJ,GAC1B,UAAA,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,cAAYX;AAAA,MACX,GAAIG,IAAkB,EAAE,CAACW,CAA0B,GAAG,GAAA,IAAO,CAAA;AAAA,MAC9D,OAAON;AAAA,MACN,GAAGV;AAAA,MAEH,UAAAY;AAAA,IAAA;AAAA,EAAA,GAET;AAER;AAEArB,EAAc,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react"),o=require("../../../../../../constants/theme.cjs"),s=typeof window>"u"?A.useEffect:A.useLayoutEffect,d=(u,c,m,i=!1,f=0)=>{s(()=>{if(u!=="document"||typeof document>"u")return;const e=document.documentElement,t=e.getAttribute("data-theme");return e.setAttribute("data-theme",c),()=>{t===null?e.removeAttribute("data-theme"):e.setAttribute("data-theme",t)}},[c,u]),s(()=>{if(u!=="document"||typeof document>"u")return;const e=document.documentElement,t=new Map;for(const[r,n]of Object.entries(m??{})){if(n===void 0)continue;const T=`--color-${r}`;t.set(T,e.style.getPropertyValue(T)),e.style.setProperty(T,n)}return()=>{for(const[r,n]of t)n?e.style.setProperty(r,n):e.style.removeProperty(r)}},[u,m]),s(()=>{if(u!=="document"||typeof document>"u")return;const e=document.documentElement,t=e.getAttribute(o.THEME_TRANSITION_ATTRIBUTE),r=e.style.getPropertyValue(o.THEME_TRANSITION_DURATION_VAR);return i&&(e.setAttribute(o.THEME_TRANSITION_ATTRIBUTE,""),e.style.setProperty(o.THEME_TRANSITION_DURATION_VAR,`${Math.max(0,f)}ms`)),()=>{t===null?e.removeAttribute(o.THEME_TRANSITION_ATTRIBUTE):e.setAttribute(o.THEME_TRANSITION_ATTRIBUTE,t),r?e.style.setProperty(o.THEME_TRANSITION_DURATION_VAR,r):e.style.removeProperty(o.THEME_TRANSITION_DURATION_VAR)}},[i,u,f])};exports.useThemeDocumentScope=d;
|
|
2
|
+
//# sourceMappingURL=useThemeDocumentScope.hook.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeDocumentScope.hook.cjs","sources":["../../../../../../../src/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react'\r\n\r\nimport type { ThemeProviderScope } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport type { ThemeTokens } from '@components/theme-provider/hooks/use-theme-provider/types'\r\nimport {\r\n THEME_TRANSITION_ATTRIBUTE,\r\n THEME_TRANSITION_DURATION_VAR,\r\n} from '@constants/theme'\r\n\r\nconst useIsomorphicLayoutEffect =\r\n typeof window === 'undefined' ? useEffect : useLayoutEffect\r\n\r\n/**\r\n * Synchronizes document-scoped theme values with `<html>` for body-mounted portals.\r\n */\r\nexport const useThemeDocumentScope = (\r\n scope: ThemeProviderScope,\r\n resolvedTheme: string,\r\n tokens?: ThemeTokens,\r\n isTransitioning = false,\r\n transitionDuration = 0,\r\n) => {\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousTheme = root.getAttribute('data-theme')\r\n root.setAttribute('data-theme', resolvedTheme)\r\n\r\n return () => {\r\n if (previousTheme === null) {\r\n root.removeAttribute('data-theme')\r\n } else {\r\n root.setAttribute('data-theme', previousTheme)\r\n }\r\n }\r\n }, [resolvedTheme, scope])\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousTokens = new Map<string, string>()\r\n\r\n for (const [key, value] of Object.entries(tokens ?? {})) {\r\n if (value === undefined) {\r\n continue\r\n }\r\n const property = `--color-${key}`\r\n previousTokens.set(property, root.style.getPropertyValue(property))\r\n root.style.setProperty(property, value)\r\n }\r\n\r\n return () => {\r\n for (const [property, value] of previousTokens) {\r\n if (value) {\r\n root.style.setProperty(property, value)\r\n } else {\r\n root.style.removeProperty(property)\r\n }\r\n }\r\n }\r\n }, [scope, tokens])\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousAttribute = root.getAttribute(THEME_TRANSITION_ATTRIBUTE)\r\n const previousDuration = root.style.getPropertyValue(\r\n THEME_TRANSITION_DURATION_VAR,\r\n )\r\n\r\n if (isTransitioning) {\r\n root.setAttribute(THEME_TRANSITION_ATTRIBUTE, '')\r\n root.style.setProperty(\r\n THEME_TRANSITION_DURATION_VAR,\r\n `${Math.max(0, transitionDuration)}ms`,\r\n )\r\n }\r\n\r\n return () => {\r\n if (previousAttribute === null) {\r\n root.removeAttribute(THEME_TRANSITION_ATTRIBUTE)\r\n } else {\r\n root.setAttribute(THEME_TRANSITION_ATTRIBUTE, previousAttribute)\r\n }\r\n\r\n if (previousDuration) {\r\n root.style.setProperty(THEME_TRANSITION_DURATION_VAR, previousDuration)\r\n } else {\r\n root.style.removeProperty(THEME_TRANSITION_DURATION_VAR)\r\n }\r\n }\r\n }, [isTransitioning, scope, transitionDuration])\r\n}\r\n"],"names":["useIsomorphicLayoutEffect","useEffect","useLayoutEffect","useThemeDocumentScope","scope","resolvedTheme","tokens","isTransitioning","transitionDuration","root","previousTheme","previousTokens","key","value","property","previousAttribute","THEME_TRANSITION_ATTRIBUTE","previousDuration","THEME_TRANSITION_DURATION_VAR"],"mappings":"4JASMA,EACJ,OAAO,OAAW,IAAcC,EAAAA,UAAYC,EAAAA,gBAKjCC,EAAwB,CACjCC,EACAC,EACAC,EACAC,EAAkB,GAClBC,EAAqB,IACpB,CACDR,EAA0B,IAAM,CAC5B,GAAII,IAAU,YAAc,OAAO,SAAa,IAC5C,OAGJ,MAAMK,EAAO,SAAS,gBAChBC,EAAgBD,EAAK,aAAa,YAAY,EACpD,OAAAA,EAAK,aAAa,aAAcJ,CAAa,EAEtC,IAAM,CACLK,IAAkB,KAClBD,EAAK,gBAAgB,YAAY,EAEjCA,EAAK,aAAa,aAAcC,CAAa,CAErD,CACJ,EAAG,CAACL,EAAeD,CAAK,CAAC,EAEzBJ,EAA0B,IAAM,CAC5B,GAAII,IAAU,YAAc,OAAO,SAAa,IAC5C,OAGJ,MAAMK,EAAO,SAAS,gBAChBE,MAAqB,IAE3B,SAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQP,GAAU,CAAA,CAAE,EAAG,CACrD,GAAIO,IAAU,OACV,SAEJ,MAAMC,EAAW,WAAWF,CAAG,GAC/BD,EAAe,IAAIG,EAAUL,EAAK,MAAM,iBAAiBK,CAAQ,CAAC,EAClEL,EAAK,MAAM,YAAYK,EAAUD,CAAK,CAC1C,CAEA,MAAO,IAAM,CACT,SAAW,CAACC,EAAUD,CAAK,IAAKF,EACxBE,EACAJ,EAAK,MAAM,YAAYK,EAAUD,CAAK,EAEtCJ,EAAK,MAAM,eAAeK,CAAQ,CAG9C,CACJ,EAAG,CAACV,EAAOE,CAAM,CAAC,EAElBN,EAA0B,IAAM,CAC5B,GAAII,IAAU,YAAc,OAAO,SAAa,IAC5C,OAGJ,MAAMK,EAAO,SAAS,gBAChBM,EAAoBN,EAAK,aAAaO,4BAA0B,EAChEC,EAAmBR,EAAK,MAAM,iBAChCS,EAAAA,6BAAA,EAGJ,OAAIX,IACAE,EAAK,aAAaO,EAAAA,2BAA4B,EAAE,EAChDP,EAAK,MAAM,YACPS,EAAAA,8BACA,GAAG,KAAK,IAAI,EAAGV,CAAkB,CAAC,IAAA,GAInC,IAAM,CACLO,IAAsB,KACtBN,EAAK,gBAAgBO,4BAA0B,EAE/CP,EAAK,aAAaO,EAAAA,2BAA4BD,CAAiB,EAG/DE,EACAR,EAAK,MAAM,YAAYS,EAAAA,8BAA+BD,CAAgB,EAEtER,EAAK,MAAM,eAAeS,+BAA6B,CAE/D,CACJ,EAAG,CAACX,EAAiBH,EAAOI,CAAkB,CAAC,CACnD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ThemeProviderScope } from '../../../../types/ThemeProvider.props.ts';
|
|
2
|
+
import { ThemeTokens } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Synchronizes document-scoped theme values with `<html>` for body-mounted portals.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useThemeDocumentScope: (scope: ThemeProviderScope, resolvedTheme: string, tokens?: ThemeTokens, isTransitioning?: boolean, transitionDuration?: number) => void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useEffect as l, useLayoutEffect as p } from "react";
|
|
2
|
+
import { THEME_TRANSITION_ATTRIBUTE as n, THEME_TRANSITION_DURATION_VAR as s } from "../../../../../../constants/theme.js";
|
|
3
|
+
const f = typeof window > "u" ? l : p, E = (r, c, i, d = !1, y = 0) => {
|
|
4
|
+
f(() => {
|
|
5
|
+
if (r !== "document" || typeof document > "u")
|
|
6
|
+
return;
|
|
7
|
+
const e = document.documentElement, t = e.getAttribute("data-theme");
|
|
8
|
+
return e.setAttribute("data-theme", c), () => {
|
|
9
|
+
t === null ? e.removeAttribute("data-theme") : e.setAttribute("data-theme", t);
|
|
10
|
+
};
|
|
11
|
+
}, [c, r]), f(() => {
|
|
12
|
+
if (r !== "document" || typeof document > "u")
|
|
13
|
+
return;
|
|
14
|
+
const e = document.documentElement, t = /* @__PURE__ */ new Map();
|
|
15
|
+
for (const [o, u] of Object.entries(i ?? {})) {
|
|
16
|
+
if (u === void 0)
|
|
17
|
+
continue;
|
|
18
|
+
const m = `--color-${o}`;
|
|
19
|
+
t.set(m, e.style.getPropertyValue(m)), e.style.setProperty(m, u);
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
for (const [o, u] of t)
|
|
23
|
+
u ? e.style.setProperty(o, u) : e.style.removeProperty(o);
|
|
24
|
+
};
|
|
25
|
+
}, [r, i]), f(() => {
|
|
26
|
+
if (r !== "document" || typeof document > "u")
|
|
27
|
+
return;
|
|
28
|
+
const e = document.documentElement, t = e.getAttribute(n), o = e.style.getPropertyValue(
|
|
29
|
+
s
|
|
30
|
+
);
|
|
31
|
+
return d && (e.setAttribute(n, ""), e.style.setProperty(
|
|
32
|
+
s,
|
|
33
|
+
`${Math.max(0, y)}ms`
|
|
34
|
+
)), () => {
|
|
35
|
+
t === null ? e.removeAttribute(n) : e.setAttribute(n, t), o ? e.style.setProperty(s, o) : e.style.removeProperty(s);
|
|
36
|
+
};
|
|
37
|
+
}, [d, r, y]);
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
E as useThemeDocumentScope
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useThemeDocumentScope.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeDocumentScope.hook.js","sources":["../../../../../../../src/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-document-scope/useThemeDocumentScope.hook.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react'\r\n\r\nimport type { ThemeProviderScope } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport type { ThemeTokens } from '@components/theme-provider/hooks/use-theme-provider/types'\r\nimport {\r\n THEME_TRANSITION_ATTRIBUTE,\r\n THEME_TRANSITION_DURATION_VAR,\r\n} from '@constants/theme'\r\n\r\nconst useIsomorphicLayoutEffect =\r\n typeof window === 'undefined' ? useEffect : useLayoutEffect\r\n\r\n/**\r\n * Synchronizes document-scoped theme values with `<html>` for body-mounted portals.\r\n */\r\nexport const useThemeDocumentScope = (\r\n scope: ThemeProviderScope,\r\n resolvedTheme: string,\r\n tokens?: ThemeTokens,\r\n isTransitioning = false,\r\n transitionDuration = 0,\r\n) => {\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousTheme = root.getAttribute('data-theme')\r\n root.setAttribute('data-theme', resolvedTheme)\r\n\r\n return () => {\r\n if (previousTheme === null) {\r\n root.removeAttribute('data-theme')\r\n } else {\r\n root.setAttribute('data-theme', previousTheme)\r\n }\r\n }\r\n }, [resolvedTheme, scope])\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousTokens = new Map<string, string>()\r\n\r\n for (const [key, value] of Object.entries(tokens ?? {})) {\r\n if (value === undefined) {\r\n continue\r\n }\r\n const property = `--color-${key}`\r\n previousTokens.set(property, root.style.getPropertyValue(property))\r\n root.style.setProperty(property, value)\r\n }\r\n\r\n return () => {\r\n for (const [property, value] of previousTokens) {\r\n if (value) {\r\n root.style.setProperty(property, value)\r\n } else {\r\n root.style.removeProperty(property)\r\n }\r\n }\r\n }\r\n }, [scope, tokens])\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n if (scope !== 'document' || typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n const root = document.documentElement\r\n const previousAttribute = root.getAttribute(THEME_TRANSITION_ATTRIBUTE)\r\n const previousDuration = root.style.getPropertyValue(\r\n THEME_TRANSITION_DURATION_VAR,\r\n )\r\n\r\n if (isTransitioning) {\r\n root.setAttribute(THEME_TRANSITION_ATTRIBUTE, '')\r\n root.style.setProperty(\r\n THEME_TRANSITION_DURATION_VAR,\r\n `${Math.max(0, transitionDuration)}ms`,\r\n )\r\n }\r\n\r\n return () => {\r\n if (previousAttribute === null) {\r\n root.removeAttribute(THEME_TRANSITION_ATTRIBUTE)\r\n } else {\r\n root.setAttribute(THEME_TRANSITION_ATTRIBUTE, previousAttribute)\r\n }\r\n\r\n if (previousDuration) {\r\n root.style.setProperty(THEME_TRANSITION_DURATION_VAR, previousDuration)\r\n } else {\r\n root.style.removeProperty(THEME_TRANSITION_DURATION_VAR)\r\n }\r\n }\r\n }, [isTransitioning, scope, transitionDuration])\r\n}\r\n"],"names":["useIsomorphicLayoutEffect","useEffect","useLayoutEffect","useThemeDocumentScope","scope","resolvedTheme","tokens","isTransitioning","transitionDuration","root","previousTheme","previousTokens","key","value","property","previousAttribute","THEME_TRANSITION_ATTRIBUTE","previousDuration","THEME_TRANSITION_DURATION_VAR"],"mappings":";;AASA,MAAMA,IACJ,OAAO,SAAW,MAAcC,IAAYC,GAKjCC,IAAwB,CACjCC,GACAC,GACAC,GACAC,IAAkB,IAClBC,IAAqB,MACpB;AACD,EAAAR,EAA0B,MAAM;AAC5B,QAAII,MAAU,cAAc,OAAO,WAAa;AAC5C;AAGJ,UAAMK,IAAO,SAAS,iBAChBC,IAAgBD,EAAK,aAAa,YAAY;AACpD,WAAAA,EAAK,aAAa,cAAcJ,CAAa,GAEtC,MAAM;AACT,MAAIK,MAAkB,OAClBD,EAAK,gBAAgB,YAAY,IAEjCA,EAAK,aAAa,cAAcC,CAAa;AAAA,IAErD;AAAA,EACJ,GAAG,CAACL,GAAeD,CAAK,CAAC,GAEzBJ,EAA0B,MAAM;AAC5B,QAAII,MAAU,cAAc,OAAO,WAAa;AAC5C;AAGJ,UAAMK,IAAO,SAAS,iBAChBE,wBAAqB,IAAA;AAE3B,eAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQP,KAAU,CAAA,CAAE,GAAG;AACrD,UAAIO,MAAU;AACV;AAEJ,YAAMC,IAAW,WAAWF,CAAG;AAC/B,MAAAD,EAAe,IAAIG,GAAUL,EAAK,MAAM,iBAAiBK,CAAQ,CAAC,GAClEL,EAAK,MAAM,YAAYK,GAAUD,CAAK;AAAA,IAC1C;AAEA,WAAO,MAAM;AACT,iBAAW,CAACC,GAAUD,CAAK,KAAKF;AAC5B,QAAIE,IACAJ,EAAK,MAAM,YAAYK,GAAUD,CAAK,IAEtCJ,EAAK,MAAM,eAAeK,CAAQ;AAAA,IAG9C;AAAA,EACJ,GAAG,CAACV,GAAOE,CAAM,CAAC,GAElBN,EAA0B,MAAM;AAC5B,QAAII,MAAU,cAAc,OAAO,WAAa;AAC5C;AAGJ,UAAMK,IAAO,SAAS,iBAChBM,IAAoBN,EAAK,aAAaO,CAA0B,GAChEC,IAAmBR,EAAK,MAAM;AAAA,MAChCS;AAAA,IAAA;AAGJ,WAAIX,MACAE,EAAK,aAAaO,GAA4B,EAAE,GAChDP,EAAK,MAAM;AAAA,MACPS;AAAA,MACA,GAAG,KAAK,IAAI,GAAGV,CAAkB,CAAC;AAAA,IAAA,IAInC,MAAM;AACT,MAAIO,MAAsB,OACtBN,EAAK,gBAAgBO,CAA0B,IAE/CP,EAAK,aAAaO,GAA4BD,CAAiB,GAG/DE,IACAR,EAAK,MAAM,YAAYS,GAA+BD,CAAgB,IAEtER,EAAK,MAAM,eAAeS,CAA6B;AAAA,IAE/D;AAAA,EACJ,GAAG,CAACX,GAAiBH,GAAOI,CAAkB,CAAC;AACnD;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),d=require("../../../../utils/getSystemTheme.utils.cjs"),T=require("../../../../utils/resolveTheme.utils.cjs"),v=({controlledTheme:s,defaultTheme:c,onThemeChange:r})=>{const[m,i]=t.useState(c),a=s??m,[o,u]=t.useState(d.getSystemTheme);t.useEffect(()=>{const e=window.matchMedia("(prefers-color-scheme: dark)"),n=l=>{u(l.matches?"dark":"light")};return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]);const h=t.useCallback(e=>{s===void 0&&i(e),r?.(e)},[s,r]);return{activeTheme:a,resolvedTheme:T.resolveTheme(a,o),setTheme:h}};exports.useThemeState=v;
|
|
2
|
+
//# sourceMappingURL=useThemeState.hook.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeState.hook.cjs","sources":["../../../../../../../src/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\r\n\r\nimport type { ThemeValue } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport { getSystemTheme } from '@components/theme-provider/utils/getSystemTheme.utils.ts'\r\nimport { resolveTheme } from '@components/theme-provider/utils/resolveTheme.utils.ts'\r\nimport type {\r\n UseThemeStateOptions\r\n} from '@components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/types'\r\n\r\n/**\r\n * Resolves the controlled or uncontrolled mode and tracks the system preference.\r\n */\r\nexport const useThemeState = ({\r\n controlledTheme,\r\n defaultTheme,\r\n onThemeChange,\r\n}: UseThemeStateOptions) => {\r\n const [internalTheme, setInternalTheme] = useState<ThemeValue>(defaultTheme)\r\n const activeTheme = controlledTheme ?? internalTheme\r\n const [systemTheme, setSystemTheme] = useState<'light' | 'dark'>(getSystemTheme)\r\n\r\n useEffect(() => {\r\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\r\n const handleChange = (event: MediaQueryListEvent) => {\r\n setSystemTheme(event.matches ? 'dark' : 'light')\r\n }\r\n\r\n mediaQuery.addEventListener('change', handleChange)\r\n return () => mediaQuery.removeEventListener('change', handleChange)\r\n }, [])\r\n\r\n const setTheme = useCallback((nextTheme: ThemeValue) => {\r\n if (controlledTheme === undefined) {\r\n setInternalTheme(nextTheme)\r\n }\r\n onThemeChange?.(nextTheme)\r\n }, [controlledTheme, onThemeChange])\r\n\r\n return {\r\n activeTheme,\r\n resolvedTheme: resolveTheme(activeTheme, systemTheme),\r\n setTheme,\r\n }\r\n}\r\n"],"names":["useThemeState","controlledTheme","defaultTheme","onThemeChange","internalTheme","setInternalTheme","useState","activeTheme","systemTheme","setSystemTheme","getSystemTheme","useEffect","mediaQuery","handleChange","event","setTheme","useCallback","nextTheme","resolveTheme"],"mappings":"uNAYaA,EAAgB,CAAC,CAC1B,gBAAAC,EACA,aAAAC,EACA,cAAAC,CACJ,IAA4B,CACxB,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAqBJ,CAAY,EACrEK,EAAcN,GAAmBG,EACjC,CAACI,EAAaC,CAAc,EAAIH,EAAAA,SAA2BI,EAAAA,cAAc,EAE/EC,EAAAA,UAAU,IAAM,CACZ,MAAMC,EAAa,OAAO,WAAW,8BAA8B,EAC7DC,EAAgBC,GAA+B,CACjDL,EAAeK,EAAM,QAAU,OAAS,OAAO,CACnD,EAEA,OAAAF,EAAW,iBAAiB,SAAUC,CAAY,EAC3C,IAAMD,EAAW,oBAAoB,SAAUC,CAAY,CACtE,EAAG,CAAA,CAAE,EAEL,MAAME,EAAWC,cAAaC,GAA0B,CAChDhB,IAAoB,QACpBI,EAAiBY,CAAS,EAE9Bd,IAAgBc,CAAS,CAC7B,EAAG,CAAChB,EAAiBE,CAAa,CAAC,EAEnC,MAAO,CACH,YAAAI,EACA,cAAeW,EAAAA,aAAaX,EAAaC,CAAW,EACpD,SAAAO,CAAA,CAER"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ThemeValue } from '../../../../types/ThemeProvider.props.ts';
|
|
2
|
+
import { UseThemeStateOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the controlled or uncontrolled mode and tracks the system preference.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useThemeState: ({ controlledTheme, defaultTheme, onThemeChange, }: UseThemeStateOptions) => {
|
|
7
|
+
activeTheme: string;
|
|
8
|
+
resolvedTheme: string;
|
|
9
|
+
setTheme: (nextTheme: ThemeValue) => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useState as a, useEffect as u, useCallback as v } from "react";
|
|
2
|
+
import { getSystemTheme as T } from "../../../../utils/getSystemTheme.utils.js";
|
|
3
|
+
import { resolveTheme as l } from "../../../../utils/resolveTheme.utils.js";
|
|
4
|
+
const S = ({
|
|
5
|
+
controlledTheme: t,
|
|
6
|
+
defaultTheme: n,
|
|
7
|
+
onThemeChange: s
|
|
8
|
+
}) => {
|
|
9
|
+
const [o, c] = a(n), r = t ?? o, [h, i] = a(T);
|
|
10
|
+
u(() => {
|
|
11
|
+
const e = window.matchMedia("(prefers-color-scheme: dark)"), m = (f) => {
|
|
12
|
+
i(f.matches ? "dark" : "light");
|
|
13
|
+
};
|
|
14
|
+
return e.addEventListener("change", m), () => e.removeEventListener("change", m);
|
|
15
|
+
}, []);
|
|
16
|
+
const d = v((e) => {
|
|
17
|
+
t === void 0 && c(e), s?.(e);
|
|
18
|
+
}, [t, s]);
|
|
19
|
+
return {
|
|
20
|
+
activeTheme: r,
|
|
21
|
+
resolvedTheme: l(r, h),
|
|
22
|
+
setTheme: d
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
S as useThemeState
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useThemeState.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeState.hook.js","sources":["../../../../../../../src/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/useThemeState.hook.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\r\n\r\nimport type { ThemeValue } from '@components/theme-provider/types/ThemeProvider.props.ts'\r\nimport { getSystemTheme } from '@components/theme-provider/utils/getSystemTheme.utils.ts'\r\nimport { resolveTheme } from '@components/theme-provider/utils/resolveTheme.utils.ts'\r\nimport type {\r\n UseThemeStateOptions\r\n} from '@components/theme-provider/hooks/use-theme-provider/helpers/use-theme-state/types'\r\n\r\n/**\r\n * Resolves the controlled or uncontrolled mode and tracks the system preference.\r\n */\r\nexport const useThemeState = ({\r\n controlledTheme,\r\n defaultTheme,\r\n onThemeChange,\r\n}: UseThemeStateOptions) => {\r\n const [internalTheme, setInternalTheme] = useState<ThemeValue>(defaultTheme)\r\n const activeTheme = controlledTheme ?? internalTheme\r\n const [systemTheme, setSystemTheme] = useState<'light' | 'dark'>(getSystemTheme)\r\n\r\n useEffect(() => {\r\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\r\n const handleChange = (event: MediaQueryListEvent) => {\r\n setSystemTheme(event.matches ? 'dark' : 'light')\r\n }\r\n\r\n mediaQuery.addEventListener('change', handleChange)\r\n return () => mediaQuery.removeEventListener('change', handleChange)\r\n }, [])\r\n\r\n const setTheme = useCallback((nextTheme: ThemeValue) => {\r\n if (controlledTheme === undefined) {\r\n setInternalTheme(nextTheme)\r\n }\r\n onThemeChange?.(nextTheme)\r\n }, [controlledTheme, onThemeChange])\r\n\r\n return {\r\n activeTheme,\r\n resolvedTheme: resolveTheme(activeTheme, systemTheme),\r\n setTheme,\r\n }\r\n}\r\n"],"names":["useThemeState","controlledTheme","defaultTheme","onThemeChange","internalTheme","setInternalTheme","useState","activeTheme","systemTheme","setSystemTheme","getSystemTheme","useEffect","mediaQuery","handleChange","event","setTheme","useCallback","nextTheme","resolveTheme"],"mappings":";;;AAYO,MAAMA,IAAgB,CAAC;AAAA,EAC1B,iBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AACJ,MAA4B;AACxB,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAqBJ,CAAY,GACrEK,IAAcN,KAAmBG,GACjC,CAACI,GAAaC,CAAc,IAAIH,EAA2BI,CAAc;AAE/E,EAAAC,EAAU,MAAM;AACZ,UAAMC,IAAa,OAAO,WAAW,8BAA8B,GAC7DC,IAAe,CAACC,MAA+B;AACjD,MAAAL,EAAeK,EAAM,UAAU,SAAS,OAAO;AAAA,IACnD;AAEA,WAAAF,EAAW,iBAAiB,UAAUC,CAAY,GAC3C,MAAMD,EAAW,oBAAoB,UAAUC,CAAY;AAAA,EACtE,GAAG,CAAA,CAAE;AAEL,QAAME,IAAWC,EAAY,CAACC,MAA0B;AACpD,IAAIhB,MAAoB,UACpBI,EAAiBY,CAAS,GAE9Bd,IAAgBc,CAAS;AAAA,EAC7B,GAAG,CAAChB,GAAiBE,CAAa,CAAC;AAEnC,SAAO;AAAA,IACH,aAAAI;AAAA,IACA,eAAeW,EAAaX,GAAaC,CAAW;AAAA,IACpD,UAAAO;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=e=>u.useMemo(()=>e?Object.entries(e).reduce((r,[o,t])=>(t!==void 0&&(r[`--color-${o}`]=t),r),{}):{},[e]);exports.useThemeTokenStyles=c;
|
|
2
|
+
//# sourceMappingURL=useThemeTokenStyles.hook.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeTokenStyles.hook.cjs","sources":["../../../../../../../src/components/theme-provider/hooks/use-theme-provider/helpers/use-theme-token-styles/useThemeTokenStyles.hook.ts"],"sourcesContent":["import { useMemo, type CSSProperties } from 'react'\r\nimport type { ThemeTokens } from '@components/theme-provider/hooks/use-theme-provider/types'\r\n\r\n/**\r\n * Converts semantic color tokens into inline CSS custom properties.\r\n */\r\nexport const useThemeTokenStyles = (tokens?: ThemeTokens) => useMemo<CSSProperties>(() => {\r\n if (!tokens) {\r\n return {}\r\n }\r\n\r\n return Object.entries(tokens).reduce<Record<string, string>>(\r\n (styles, [key, value]) => {\r\n if (value !== undefined) {\r\n styles[`--color-${key}`] = value\r\n }\r\n return styles\r\n },\r\n {},\r\n ) as CSSProperties\r\n}, [tokens])\r\n"],"names":["useThemeTokenStyles","tokens","useMemo","styles","key","value"],"mappings":"yGAMaA,EAAuBC,GAAyBC,EAAAA,QAAuB,IAC3ED,EAIE,OAAO,QAAQA,CAAM,EAAE,OAC1B,CAACE,EAAQ,CAACC,EAAKC,CAAK,KACZA,IAAU,SACVF,EAAO,WAAWC,CAAG,EAAE,EAAIC,GAExBF,GAEX,CAAA,CAAC,EAVM,CAAA,EAYZ,CAACF,CAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useMemo as i } from "react";
|
|
2
|
+
const c = (e) => i(() => e ? Object.entries(e).reduce(
|
|
3
|
+
(r, [t, o]) => (o !== void 0 && (r[`--color-${t}`] = o), r),
|
|
4
|
+
{}
|
|
5
|
+
) : {}, [e]);
|
|
6
|
+
export {
|
|
7
|
+
c as useThemeTokenStyles
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useThemeTokenStyles.hook.js.map
|