@tenerife.music/ui 1.0.2 → 1.0.4
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/animation/presets.d.ts +6 -8
- package/dist/animation/presets.d.ts.map +1 -1
- package/dist/animation/tas.d.ts +2 -57
- package/dist/animation/tas.d.ts.map +1 -1
- package/dist/animation/types.d.ts +9 -47
- package/dist/animation/types.d.ts.map +1 -1
- package/dist/animation/useInView.d.ts +37 -0
- package/dist/animation/useInView.d.ts.map +1 -0
- package/dist/animation/utils.d.ts.map +1 -1
- package/dist/components/SectionBuilder.d.ts.map +1 -1
- package/dist/components/admin/Dashboard.d.ts.map +1 -1
- package/dist/components/admin/UserManagement.d.ts.map +1 -1
- package/dist/components/auth/LoginForm.d.ts.map +1 -1
- package/dist/components/auth/ProfileCard.d.ts.map +1 -1
- package/dist/components/auth/RegisterForm.d.ts.map +1 -1
- package/dist/components/cards/ArtistCard/ArtistCard.d.ts +23 -0
- package/dist/components/cards/ArtistCard/ArtistCard.d.ts.map +1 -0
- package/dist/components/cards/ArtistCard/ArtistCard.types.d.ts +47 -0
- package/dist/components/cards/ArtistCard/ArtistCard.types.d.ts.map +1 -0
- package/dist/components/cards/ArtistCard/ArtistCard.variants.d.ts +84 -0
- package/dist/components/cards/ArtistCard/ArtistCard.variants.d.ts.map +1 -0
- package/dist/components/cards/ArtistCard/index.d.ts +9 -0
- package/dist/components/cards/ArtistCard/index.d.ts.map +1 -0
- package/dist/components/cards/CardBase/CardBase.d.ts +46 -0
- package/dist/components/cards/CardBase/CardBase.d.ts.map +1 -0
- package/dist/components/cards/CardBase/CardBase.types.d.ts +71 -0
- package/dist/components/cards/CardBase/CardBase.types.d.ts.map +1 -0
- package/dist/components/cards/CardBase/CardBase.variants.d.ts +39 -0
- package/dist/components/cards/CardBase/CardBase.variants.d.ts.map +1 -0
- package/dist/components/cards/CardBase/index.d.ts +9 -0
- package/dist/components/cards/CardBase/index.d.ts.map +1 -0
- package/dist/components/cards/CategoryCard/CategoryCard.d.ts +19 -0
- package/dist/components/cards/CategoryCard/CategoryCard.d.ts.map +1 -0
- package/dist/components/cards/CategoryCard/CategoryCard.types.d.ts +39 -0
- package/dist/components/cards/CategoryCard/CategoryCard.types.d.ts.map +1 -0
- package/dist/components/cards/CategoryCard/CategoryCard.variants.d.ts +22 -0
- package/dist/components/cards/CategoryCard/CategoryCard.variants.d.ts.map +1 -0
- package/dist/components/cards/CategoryCard/index.d.ts +8 -0
- package/dist/components/cards/CategoryCard/index.d.ts.map +1 -0
- package/dist/components/cards/EventCard/EventCard.d.ts +20 -0
- package/dist/components/cards/EventCard/EventCard.d.ts.map +1 -0
- package/dist/components/cards/{EventCard.d.ts → EventCard/EventCard.types.d.ts} +14 -4
- package/dist/components/cards/EventCard/EventCard.types.d.ts.map +1 -0
- package/dist/components/cards/EventCard/EventCard.variants.d.ts +71 -0
- package/dist/components/cards/EventCard/EventCard.variants.d.ts.map +1 -0
- package/dist/components/cards/EventCard/index.d.ts +8 -0
- package/dist/components/cards/EventCard/index.d.ts.map +1 -0
- package/dist/components/cards/PromoCard/PromoCard.d.ts +21 -0
- package/dist/components/cards/PromoCard/PromoCard.d.ts.map +1 -0
- package/dist/components/cards/PromoCard/PromoCard.types.d.ts +43 -0
- package/dist/components/cards/PromoCard/PromoCard.types.d.ts.map +1 -0
- package/dist/components/cards/PromoCard/PromoCard.variants.d.ts +36 -0
- package/dist/components/cards/PromoCard/PromoCard.variants.d.ts.map +1 -0
- package/dist/components/cards/PromoCard/index.d.ts +8 -0
- package/dist/components/cards/PromoCard/index.d.ts.map +1 -0
- package/dist/components/cards/TicketCard/TicketCard.d.ts +20 -0
- package/dist/components/cards/TicketCard/TicketCard.d.ts.map +1 -0
- package/dist/components/cards/TicketCard/TicketCard.types.d.ts +56 -0
- package/dist/components/cards/TicketCard/TicketCard.types.d.ts.map +1 -0
- package/dist/components/cards/TicketCard/TicketCard.variants.d.ts +72 -0
- package/dist/components/cards/TicketCard/TicketCard.variants.d.ts.map +1 -0
- package/dist/components/cards/TicketCard/index.d.ts +8 -0
- package/dist/components/cards/TicketCard/index.d.ts.map +1 -0
- package/dist/components/cards/VenueCard/VenueCard.d.ts +22 -0
- package/dist/components/cards/VenueCard/VenueCard.d.ts.map +1 -0
- package/dist/components/cards/{VenueCard.d.ts → VenueCard/VenueCard.types.d.ts} +16 -7
- package/dist/components/cards/VenueCard/VenueCard.types.d.ts.map +1 -0
- package/dist/components/cards/VenueCard/VenueCard.variants.d.ts +61 -0
- package/dist/components/cards/VenueCard/VenueCard.variants.d.ts.map +1 -0
- package/dist/components/cards/VenueCard/index.d.ts +9 -0
- package/dist/components/cards/VenueCard/index.d.ts.map +1 -0
- package/dist/components/cards/index.d.ts +20 -0
- package/dist/components/cards/index.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +23 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.types.d.ts +69 -0
- package/dist/components/checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox-variants.d.ts +14 -0
- package/dist/components/checkbox/checkbox-variants.d.ts.map +1 -0
- package/dist/components/checkbox/index.d.ts +4 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/containers/Card.d.ts +76 -0
- package/dist/components/containers/Card.d.ts.map +1 -0
- package/dist/components/containers/Section.d.ts +32 -0
- package/dist/components/containers/Section.d.ts.map +1 -0
- package/dist/components/containers/Surface.d.ts +29 -0
- package/dist/components/containers/Surface.d.ts.map +1 -0
- package/dist/components/containers/index.d.ts +10 -0
- package/dist/components/containers/index.d.ts.map +1 -0
- package/dist/components/data/Timeline.d.ts.map +1 -1
- package/dist/components/data/data-list/DataList.d.ts +30 -0
- package/dist/components/data/data-list/DataList.d.ts.map +1 -0
- package/dist/components/data/data-list/DataList.types.d.ts +44 -0
- package/dist/components/data/data-list/DataList.types.d.ts.map +1 -0
- package/dist/components/data/data-list/DataListItem.d.ts +21 -0
- package/dist/components/data/data-list/DataListItem.d.ts.map +1 -0
- package/dist/components/data/data-list/DataListLabel.d.ts +20 -0
- package/dist/components/data/data-list/DataListLabel.d.ts.map +1 -0
- package/dist/components/data/data-list/DataListValue.d.ts +19 -0
- package/dist/components/data/data-list/DataListValue.d.ts.map +1 -0
- package/dist/components/data/data-list/index.d.ts +11 -0
- package/dist/components/data/data-list/index.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyState.d.ts +32 -0
- package/dist/components/data/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyState.types.d.ts +52 -0
- package/dist/components/data/empty-state/EmptyState.types.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyStateAction.d.ts +18 -0
- package/dist/components/data/empty-state/EmptyStateAction.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyStateDescription.d.ts +18 -0
- package/dist/components/data/empty-state/EmptyStateDescription.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyStateIcon.d.ts +23 -0
- package/dist/components/data/empty-state/EmptyStateIcon.d.ts.map +1 -0
- package/dist/components/data/empty-state/EmptyStateTitle.d.ts +18 -0
- package/dist/components/data/empty-state/EmptyStateTitle.d.ts.map +1 -0
- package/dist/components/data/empty-state/index.d.ts +11 -0
- package/dist/components/data/empty-state/index.d.ts.map +1 -0
- package/dist/components/data/index.d.ts +10 -0
- package/dist/components/data/index.d.ts.map +1 -0
- package/dist/components/data/skeleton/Skeleton.d.ts +25 -0
- package/dist/components/data/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/data/skeleton/Skeleton.types.d.ts +13 -0
- package/dist/components/data/skeleton/Skeleton.types.d.ts.map +1 -0
- package/dist/components/data/skeleton/index.d.ts +7 -0
- package/dist/components/data/skeleton/index.d.ts.map +1 -0
- package/dist/components/data/table/Table.d.ts +34 -0
- package/dist/components/data/table/Table.d.ts.map +1 -0
- package/dist/components/data/table/Table.types.d.ts +265 -0
- package/dist/components/data/table/Table.types.d.ts.map +1 -0
- package/dist/components/data/table/TableBody.d.ts +14 -0
- package/dist/components/data/table/TableBody.d.ts.map +1 -0
- package/dist/components/data/table/TableCell.d.ts +14 -0
- package/dist/components/data/table/TableCell.d.ts.map +1 -0
- package/dist/components/data/table/TableEmpty.d.ts +14 -0
- package/dist/components/data/table/TableEmpty.d.ts.map +1 -0
- package/dist/components/data/table/TableExpandableContent.d.ts +15 -0
- package/dist/components/data/table/TableExpandableContent.d.ts.map +1 -0
- package/dist/components/data/table/TableHead.d.ts +14 -0
- package/dist/components/data/table/TableHead.d.ts.map +1 -0
- package/dist/components/data/table/TableHeader.d.ts +14 -0
- package/dist/components/data/table/TableHeader.d.ts.map +1 -0
- package/dist/components/data/table/TableLoadingState.d.ts +14 -0
- package/dist/components/data/table/TableLoadingState.d.ts.map +1 -0
- package/dist/components/data/table/TableRow.d.ts +14 -0
- package/dist/components/data/table/TableRow.d.ts.map +1 -0
- package/dist/components/data/table/TableSortIcon.d.ts +15 -0
- package/dist/components/data/table/TableSortIcon.d.ts.map +1 -0
- package/dist/components/data/table/index.d.ts +18 -0
- package/dist/components/data/table/index.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.d.ts +42 -0
- package/dist/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.types.d.ts +76 -0
- package/dist/components/drawer/Drawer.types.d.ts.map +1 -0
- package/dist/components/drawer/drawer-variants.d.ts +18 -0
- package/dist/components/drawer/drawer-variants.d.ts.map +1 -0
- package/dist/components/drawer/index.d.ts +9 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.d.ts +39 -0
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.types.d.ts +83 -0
- package/dist/components/dropdown/Dropdown.types.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown-variants.d.ts +34 -0
- package/dist/components/dropdown/dropdown-variants.d.ts.map +1 -0
- package/dist/components/feedback/Skeleton.d.ts.map +1 -1
- package/dist/components/filters/SearchInput.d.ts +1 -1
- package/dist/components/filters/SearchInput.d.ts.map +1 -1
- package/dist/components/icon/Icon.d.ts +33 -0
- package/dist/components/icon/Icon.d.ts.map +1 -0
- package/dist/components/icon/Icon.types.d.ts +8 -0
- package/dist/components/icon/Icon.types.d.ts.map +1 -0
- package/dist/components/icon/index.d.ts +5 -0
- package/dist/components/icon/index.d.ts.map +1 -0
- package/dist/components/input/Input.d.ts +21 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/Input.types.d.ts +39 -0
- package/dist/components/input/Input.types.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +4 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/input-variants.d.ts +15 -0
- package/dist/components/input/input-variants.d.ts.map +1 -0
- package/dist/components/input/legacy/input.d.ts +12 -0
- package/dist/components/input/legacy/input.d.ts.map +1 -0
- package/dist/components/layout/Box.d.ts +40 -10
- package/dist/components/layout/Box.d.ts.map +1 -1
- package/dist/components/layout/Column.d.ts +7 -0
- package/dist/components/layout/Column.d.ts.map +1 -0
- package/dist/components/layout/Container.d.ts +1 -1
- package/dist/components/layout/Flex.d.ts +29 -13
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Grid.d.ts +34 -25
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/ModeHero.d.ts.map +1 -1
- package/dist/components/layout/Row.d.ts +29 -0
- package/dist/components/layout/Row.d.ts.map +1 -0
- package/dist/components/layout/Stack.d.ts +24 -14
- package/dist/components/layout/Stack.d.ts.map +1 -1
- package/dist/components/layout/Surface.d.ts +22 -0
- package/dist/components/layout/Surface.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +10 -4
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/layout.types.d.ts +16 -0
- package/dist/components/layout/layout.types.d.ts.map +1 -1
- package/dist/components/menus/context-menu/ContextMenuContent.d.ts +23 -0
- package/dist/components/menus/context-menu/ContextMenuContent.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuGroup.d.ts +15 -0
- package/dist/components/menus/context-menu/ContextMenuGroup.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuItem.d.ts +15 -0
- package/dist/components/menus/context-menu/ContextMenuItem.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuLabel.d.ts +15 -0
- package/dist/components/menus/context-menu/ContextMenuLabel.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuRoot.d.ts +48 -0
- package/dist/components/menus/context-menu/ContextMenuRoot.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuSeparator.d.ts +15 -0
- package/dist/components/menus/context-menu/ContextMenuSeparator.d.ts.map +1 -0
- package/dist/components/menus/context-menu/ContextMenuTrigger.d.ts +17 -0
- package/dist/components/menus/context-menu/ContextMenuTrigger.d.ts.map +1 -0
- package/dist/components/menus/context-menu/index.d.ts +13 -0
- package/dist/components/menus/context-menu/index.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuCheckItem.d.ts +19 -0
- package/dist/components/menus/dropdown/DropdownMenuCheckItem.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuContent.d.ts +16 -0
- package/dist/components/menus/dropdown/DropdownMenuContent.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuGroup.d.ts +13 -0
- package/dist/components/menus/dropdown/DropdownMenuGroup.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuItem.d.ts +31 -0
- package/dist/components/menus/dropdown/DropdownMenuItem.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuLabel.d.ts +18 -0
- package/dist/components/menus/dropdown/DropdownMenuLabel.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioGroup.d.ts +25 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioGroup.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioItem.d.ts +19 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioItem.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuRoot.d.ts +34 -0
- package/dist/components/menus/dropdown/DropdownMenuRoot.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuSeparator.d.ts +14 -0
- package/dist/components/menus/dropdown/DropdownMenuSeparator.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuSub.d.ts +11 -0
- package/dist/components/menus/dropdown/DropdownMenuSub.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuSubContent.d.ts +14 -0
- package/dist/components/menus/dropdown/DropdownMenuSubContent.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuSubTrigger.d.ts +14 -0
- package/dist/components/menus/dropdown/DropdownMenuSubTrigger.d.ts.map +1 -0
- package/dist/components/menus/dropdown/DropdownMenuTrigger.d.ts +15 -0
- package/dist/components/menus/dropdown/DropdownMenuTrigger.d.ts.map +1 -0
- package/dist/components/menus/dropdown/index.d.ts +19 -0
- package/dist/components/menus/dropdown/index.d.ts.map +1 -0
- package/dist/components/menus/hover-card/HoverCardContent.d.ts +15 -0
- package/dist/components/menus/hover-card/HoverCardContent.d.ts.map +1 -0
- package/dist/components/menus/hover-card/HoverCardRoot.d.ts +21 -0
- package/dist/components/menus/hover-card/HoverCardRoot.d.ts.map +1 -0
- package/dist/components/menus/hover-card/HoverCardTrigger.d.ts +14 -0
- package/dist/components/menus/hover-card/HoverCardTrigger.d.ts.map +1 -0
- package/dist/components/menus/hover-card/index.d.ts +9 -0
- package/dist/components/menus/hover-card/index.d.ts.map +1 -0
- package/dist/components/menus/index.d.ts +10 -0
- package/dist/components/menus/index.d.ts.map +1 -0
- package/dist/components/menus/popover/PopoverArrow.d.ts +18 -0
- package/dist/components/menus/popover/PopoverArrow.d.ts.map +1 -0
- package/dist/components/menus/popover/PopoverContent.d.ts +25 -0
- package/dist/components/menus/popover/PopoverContent.d.ts.map +1 -0
- package/dist/components/menus/popover/PopoverRoot.d.ts +44 -0
- package/dist/components/menus/popover/PopoverRoot.d.ts.map +1 -0
- package/dist/components/menus/popover/PopoverTrigger.d.ts +18 -0
- package/dist/components/menus/popover/PopoverTrigger.d.ts.map +1 -0
- package/dist/components/menus/popover/index.d.ts +10 -0
- package/dist/components/menus/popover/index.d.ts.map +1 -0
- package/dist/components/modal/Modal.d.ts +71 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/modal-variants.d.ts +27 -0
- package/dist/components/modal/modal-variants.d.ts.map +1 -0
- package/dist/components/modals/ConfirmDialog.d.ts +3 -2
- package/dist/components/modals/ConfirmDialog.d.ts.map +1 -1
- package/dist/components/modals/Modal.d.ts.map +1 -1
- package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts +53 -0
- package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +6 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/navigation/index.d.ts +11 -0
- package/dist/components/navigation/index.d.ts.map +1 -0
- package/dist/components/navigation/pagination/Pagination.d.ts +61 -0
- package/dist/components/navigation/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +6 -0
- package/dist/components/navigation/pagination/index.d.ts.map +1 -0
- package/dist/components/navigation/segmented-control/SegmentedControl.d.ts +44 -0
- package/dist/components/navigation/segmented-control/SegmentedControl.d.ts.map +1 -0
- package/dist/components/navigation/segmented-control/index.d.ts +6 -0
- package/dist/components/navigation/segmented-control/index.d.ts.map +1 -0
- package/dist/components/navigation/stepper/Stepper.d.ts +130 -0
- package/dist/components/navigation/stepper/Stepper.d.ts.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts +6 -0
- package/dist/components/navigation/stepper/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/Tabs.d.ts +74 -0
- package/dist/components/navigation/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +6 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.DismissAll.d.ts +22 -0
- package/dist/components/notifications/NotificationCenter.DismissAll.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.GroupHeader.d.ts +24 -0
- package/dist/components/notifications/NotificationCenter.GroupHeader.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.Item.d.ts +25 -0
- package/dist/components/notifications/NotificationCenter.Item.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.List.d.ts +23 -0
- package/dist/components/notifications/NotificationCenter.List.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.Panel.d.ts +33 -0
- package/dist/components/notifications/NotificationCenter.Panel.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.Provider.d.ts +32 -0
- package/dist/components/notifications/NotificationCenter.Provider.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.Trigger.d.ts +16 -0
- package/dist/components/notifications/NotificationCenter.Trigger.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.d.ts +28 -0
- package/dist/components/notifications/NotificationCenter.d.ts.map +1 -0
- package/dist/components/notifications/NotificationCenter.types.d.ts +90 -0
- package/dist/components/notifications/NotificationCenter.types.d.ts.map +1 -0
- package/dist/components/notifications/index.d.ts +24 -0
- package/dist/components/notifications/index.d.ts.map +1 -0
- package/dist/components/notifications/useNotificationCenter.d.ts +48 -0
- package/dist/components/notifications/useNotificationCenter.d.ts.map +1 -0
- package/dist/components/overlays/Backdrop.d.ts +25 -0
- package/dist/components/overlays/Backdrop.d.ts.map +1 -0
- package/dist/components/overlays/Dialog.d.ts +67 -0
- package/dist/components/overlays/Dialog.d.ts.map +1 -0
- package/dist/components/overlays/Modal.d.ts +61 -0
- package/dist/components/overlays/Modal.d.ts.map +1 -0
- package/dist/components/overlays/Popover.d.ts +2 -2
- package/dist/components/overlays/Popover.d.ts.map +1 -1
- package/dist/components/overlays/Portal.d.ts +30 -0
- package/dist/components/overlays/Portal.d.ts.map +1 -0
- package/dist/components/overlays/Toast.d.ts +37 -0
- package/dist/components/overlays/Toast.d.ts.map +1 -0
- package/dist/components/overlays/ToastProvider.d.ts +59 -0
- package/dist/components/overlays/ToastProvider.d.ts.map +1 -0
- package/dist/components/overlays/ToastViewport.d.ts +28 -0
- package/dist/components/overlays/ToastViewport.d.ts.map +1 -0
- package/dist/components/overlays/Tooltip.d.ts +2 -2
- package/dist/components/overlays/Tooltip.d.ts.map +1 -1
- package/dist/components/overlays/index.d.ts +14 -0
- package/dist/components/overlays/index.d.ts.map +1 -0
- package/dist/components/overlays/utils/FocusLock.d.ts +31 -0
- package/dist/components/overlays/utils/FocusLock.d.ts.map +1 -0
- package/dist/components/overlays/utils/ScrollLock.d.ts +12 -0
- package/dist/components/overlays/utils/ScrollLock.d.ts.map +1 -0
- package/dist/components/overlays/utils/positioning.d.ts +69 -0
- package/dist/components/overlays/utils/positioning.d.ts.map +1 -0
- package/dist/components/primitives/Badge.d.ts +1 -1
- package/dist/components/primitives/Divider.d.ts.map +1 -1
- package/dist/components/primitives/Input.d.ts +2 -2
- package/dist/components/primitives/Input.d.ts.map +1 -1
- package/dist/components/primitives/Link.d.ts +1 -1
- package/dist/components/primitives/ThemeSwitch.d.ts +3 -2
- package/dist/components/primitives/ThemeSwitch.d.ts.map +1 -1
- package/dist/components/radio/Radio.d.ts +24 -0
- package/dist/components/radio/Radio.d.ts.map +1 -0
- package/dist/components/radio/Radio.types.d.ts +64 -0
- package/dist/components/radio/Radio.types.d.ts.map +1 -0
- package/dist/components/radio/RadioGroup.d.ts +21 -0
- package/dist/components/radio/RadioGroup.d.ts.map +1 -0
- package/dist/components/radio/RadioGroup.types.d.ts +62 -0
- package/dist/components/radio/RadioGroup.types.d.ts.map +1 -0
- package/dist/components/radio/index.d.ts +6 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/radio-variants.d.ts +14 -0
- package/dist/components/radio/radio-variants.d.ts.map +1 -0
- package/dist/components/sections/ArticlesSection.d.ts.map +1 -1
- package/dist/components/sections/CTASection.d.ts.map +1 -1
- package/dist/components/sections/FeatureSection.d.ts.map +1 -1
- package/dist/components/sections/HeroSection.d.ts.map +1 -1
- package/dist/components/sections/TrendingSection.d.ts.map +1 -1
- package/dist/components/select/Select.d.ts +39 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/Select.types.d.ts +108 -0
- package/dist/components/select/Select.types.d.ts.map +1 -0
- package/dist/components/select/index.d.ts +6 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/legacy/select.d.ts +12 -0
- package/dist/components/select/legacy/select.d.ts.map +1 -0
- package/dist/components/select/select-variants.d.ts +33 -0
- package/dist/components/select/select-variants.d.ts.map +1 -0
- package/dist/components/skeletons/EventCardSkeleton.d.ts.map +1 -1
- package/dist/components/skeletons/VenueCardSkeleton.d.ts.map +1 -1
- package/dist/components/switch/Switch.d.ts +25 -0
- package/dist/components/switch/Switch.d.ts.map +1 -0
- package/dist/components/switch/Switch.types.d.ts +54 -0
- package/dist/components/switch/Switch.types.d.ts.map +1 -0
- package/dist/components/switch/index.d.ts +4 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/switch-variants.d.ts +35 -0
- package/dist/components/switch/switch-variants.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.d.ts +22 -0
- package/dist/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.types.d.ts +41 -0
- package/dist/components/textarea/Textarea.types.d.ts.map +1 -0
- package/dist/components/textarea/index.d.ts +4 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/legacy/textarea.d.ts +12 -0
- package/dist/components/textarea/legacy/textarea.d.ts.map +1 -0
- package/dist/components/textarea/textarea-variants.d.ts +15 -0
- package/dist/components/textarea/textarea-variants.d.ts.map +1 -0
- package/dist/components/toasts/Toast.d.ts +1 -1
- package/dist/components/toasts/Toast.d.ts.map +1 -1
- package/dist/components/toasts/ToastProvider.d.ts.map +1 -1
- package/dist/components/ui/alert.d.ts +10 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/body.d.ts +13 -0
- package/dist/components/ui/body.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/caption.d.ts +12 -0
- package/dist/components/ui/caption.d.ts.map +1 -0
- package/dist/components/ui/code.d.ts +12 -0
- package/dist/components/ui/code.d.ts.map +1 -0
- package/dist/components/ui/display.d.ts +13 -0
- package/dist/components/ui/display.d.ts.map +1 -0
- package/dist/components/ui/field.d.ts +46 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/components/ui/heading.d.ts +13 -0
- package/dist/components/ui/heading.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +9 -2
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/lead.d.ts +12 -0
- package/dist/components/ui/lead.d.ts.map +1 -0
- package/dist/components/ui/text.d.ts +19 -0
- package/dist/components/ui/text.d.ts.map +1 -0
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/useDebounce.d.ts.map +1 -1
- package/dist/hooks/useModal.d.ts.map +1 -1
- package/dist/hooks/useToast.d.ts.map +1 -1
- package/dist/icons/IconArrowRight.d.ts +7 -0
- package/dist/icons/IconArrowRight.d.ts.map +1 -0
- package/dist/icons/IconCalendar.d.ts +7 -0
- package/dist/icons/IconCalendar.d.ts.map +1 -0
- package/dist/icons/IconCheck.d.ts +7 -0
- package/dist/icons/IconCheck.d.ts.map +1 -0
- package/dist/icons/IconChevronDown.d.ts +7 -0
- package/dist/icons/IconChevronDown.d.ts.map +1 -0
- package/dist/icons/IconChevronRight.d.ts +7 -0
- package/dist/icons/IconChevronRight.d.ts.map +1 -0
- package/dist/icons/IconClose.d.ts +7 -0
- package/dist/icons/IconClose.d.ts.map +1 -0
- package/dist/icons/IconError.d.ts +7 -0
- package/dist/icons/IconError.d.ts.map +1 -0
- package/dist/icons/IconInfo.d.ts +7 -0
- package/dist/icons/IconInfo.d.ts.map +1 -0
- package/dist/icons/IconLocation.d.ts +7 -0
- package/dist/icons/IconLocation.d.ts.map +1 -0
- package/dist/icons/IconMenu.d.ts +7 -0
- package/dist/icons/IconMenu.d.ts.map +1 -0
- package/dist/icons/IconSearch.d.ts +7 -0
- package/dist/icons/IconSearch.d.ts.map +1 -0
- package/dist/icons/IconSuccess.d.ts +7 -0
- package/dist/icons/IconSuccess.d.ts.map +1 -0
- package/dist/icons/IconWarning.d.ts +7 -0
- package/dist/icons/IconWarning.d.ts.map +1 -0
- package/dist/icons/icon.types.d.ts +26 -0
- package/dist/icons/icon.types.d.ts.map +1 -0
- package/dist/icons/index.d.ts +35 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +37 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +7675 -5926
- package/dist/{motion-CuHacXY1.js → motion-CzQhSEqk.js} +122 -106
- package/dist/motion-DJx1TbXJ.cjs +2 -0
- package/dist/preset.cjs +1 -1
- package/dist/preset.d.ts.map +1 -1
- package/dist/preset.mjs +172 -53
- package/dist/styles.cjs +2 -0
- package/dist/styles.css +1 -1
- package/dist/styles.d.ts +1 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/styles.mjs +1 -0
- package/dist/theme/ThemeProvider.d.ts +1 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/applyMode.d.ts.map +1 -1
- package/dist/theme/colors.d.ts +6 -70
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/theme/index.cjs +1 -1
- package/dist/theme/index.d.ts +1 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.mjs +1352 -224
- package/dist/theme/motion/gestures.d.ts +77 -0
- package/dist/theme/motion/gestures.d.ts.map +1 -0
- package/dist/theme/motion/useReducedMotion.d.ts +12 -0
- package/dist/theme/motion/useReducedMotion.d.ts.map +1 -0
- package/dist/themes/brand_engine.d.ts +7 -0
- package/dist/themes/brand_engine.d.ts.map +1 -1
- package/dist/tokens/colors.d.ts +14 -19
- package/dist/tokens/colors.d.ts.map +1 -1
- package/dist/tokens/components/alert.d.ts +75 -0
- package/dist/tokens/components/alert.d.ts.map +1 -0
- package/dist/tokens/components/button.d.ts +131 -0
- package/dist/tokens/components/button.d.ts.map +1 -0
- package/dist/tokens/components/card.d.ts +92 -0
- package/dist/tokens/components/card.d.ts.map +1 -0
- package/dist/tokens/components/checkbox.d.ts +162 -0
- package/dist/tokens/components/checkbox.d.ts.map +1 -0
- package/dist/tokens/components/data.d.ts +228 -0
- package/dist/tokens/components/data.d.ts.map +1 -0
- package/dist/tokens/components/domain.d.ts +380 -0
- package/dist/tokens/components/domain.d.ts.map +1 -0
- package/dist/tokens/components/dropdown.d.ts +147 -0
- package/dist/tokens/components/dropdown.d.ts.map +1 -0
- package/dist/tokens/components/icon.d.ts +58 -0
- package/dist/tokens/components/icon.d.ts.map +1 -0
- package/dist/tokens/components/index.d.ts +32 -0
- package/dist/tokens/components/index.d.ts.map +1 -0
- package/dist/tokens/components/input.d.ts +285 -0
- package/dist/tokens/components/input.d.ts.map +1 -0
- package/dist/tokens/components/menu.d.ts +115 -0
- package/dist/tokens/components/menu.d.ts.map +1 -0
- package/dist/tokens/components/motion.d.ts +104 -0
- package/dist/tokens/components/motion.d.ts.map +1 -0
- package/dist/tokens/components/navigation.d.ts +182 -0
- package/dist/tokens/components/navigation.d.ts.map +1 -0
- package/dist/tokens/components/notifications.d.ts +160 -0
- package/dist/tokens/components/notifications.d.ts.map +1 -0
- package/dist/tokens/components/overlay.d.ts +228 -0
- package/dist/tokens/components/overlay.d.ts.map +1 -0
- package/dist/tokens/components/popover.d.ts +85 -0
- package/dist/tokens/components/popover.d.ts.map +1 -0
- package/dist/tokens/components/radio.d.ts +150 -0
- package/dist/tokens/components/radio.d.ts.map +1 -0
- package/dist/tokens/components/section.d.ts +42 -0
- package/dist/tokens/components/section.d.ts.map +1 -0
- package/dist/tokens/components/surface.d.ts +95 -0
- package/dist/tokens/components/surface.d.ts.map +1 -0
- package/dist/tokens/components/switch.d.ts +209 -0
- package/dist/tokens/components/switch.d.ts.map +1 -0
- package/dist/tokens/components/text.d.ts +69 -0
- package/dist/tokens/components/text.d.ts.map +1 -0
- package/dist/tokens/components/toast.d.ts +147 -0
- package/dist/tokens/components/toast.d.ts.map +1 -0
- package/dist/tokens/components/tooltip.d.ts +53 -0
- package/dist/tokens/components/tooltip.d.ts.map +1 -0
- package/dist/tokens/css-variables.d.ts +0 -19
- package/dist/tokens/css-variables.d.ts.map +1 -1
- package/dist/tokens/index.cjs +3 -3
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.mjs +3640 -821
- package/dist/tokens/motion/v2.d.ts +343 -0
- package/dist/tokens/motion/v2.d.ts.map +1 -0
- package/dist/tokens/motion.d.ts +55 -4
- package/dist/tokens/motion.d.ts.map +1 -1
- package/dist/tokens/opacity.d.ts +23 -0
- package/dist/tokens/opacity.d.ts.map +1 -0
- package/dist/tokens/radius.d.ts +22 -1
- package/dist/tokens/radius.d.ts.map +1 -1
- package/dist/tokens/shadows.d.ts +64 -5
- package/dist/tokens/shadows.d.ts.map +1 -1
- package/dist/tokens/spacing.d.ts +47 -1
- package/dist/tokens/spacing.d.ts.map +1 -1
- package/dist/tokens/theme.d.ts +120 -0
- package/dist/tokens/theme.d.ts.map +1 -0
- package/dist/tokens/typography.d.ts +141 -23
- package/dist/tokens/typography.d.ts.map +1 -1
- package/dist/typography-C-Nb4y0o.cjs +2 -0
- package/dist/typography-DHym9KAP.js +1196 -0
- package/package.json +31 -22
- package/dist/ThemeProvider-CaUX_Jam.cjs +0 -2
- package/dist/ThemeProvider-ltuW-773.js +0 -1227
- package/dist/components/cards/EventCard.d.ts.map +0 -1
- package/dist/components/cards/VenueCard.d.ts.map +0 -1
- package/dist/components/feedback/Alert.d.ts +0 -10
- package/dist/components/feedback/Alert.d.ts.map +0 -1
- package/dist/components/forms/FormInput.d.ts +0 -12
- package/dist/components/forms/FormInput.d.ts.map +0 -1
- package/dist/components/forms/FormSelect.d.ts +0 -18
- package/dist/components/forms/FormSelect.d.ts.map +0 -1
- package/dist/components/forms/FormTextarea.d.ts +0 -11
- package/dist/components/forms/FormTextarea.d.ts.map +0 -1
- package/dist/components/primitives/Typography.d.ts +0 -21
- package/dist/components/primitives/Typography.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/motion-4SRNkZlz.cjs +0 -2
- package/dist/radius-CAu4qr9R.js +0 -185
- package/dist/radius-Cz6tayZG.cjs +0 -2
- package/dist/test/animation-utils.d.ts +0 -60
- package/dist/test/animation-utils.d.ts.map +0 -1
- package/dist/test/setup.d.ts +0 -1
- package/dist/test/setup.d.ts.map +0 -1
package/dist/tokens/index.mjs
CHANGED
|
@@ -1,852 +1,3671 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { m as
|
|
3
|
-
import {
|
|
4
|
-
import { r as
|
|
5
|
-
import { b as
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
2
|
+
import { m as r, i as t, a as g } from "../motion-CzQhSEqk.js";
|
|
3
|
+
import { b as U, o as B, c as F, g as G, h as q, j as X, k as Y, n as $, p as J, r as Q, s as Z, e as ee, q as de, d as re, t as te, f as oe, l as ae } from "../motion-CzQhSEqk.js";
|
|
4
|
+
import { A as e, r as o, x as a, C as s, I as i } from "../typography-DHym9KAP.js";
|
|
5
|
+
import { u as ie, l as ne, n as le, y as me, p as ue, w as ge, D as ce, E as he, K as pe, F as be, v as fe, B as xe, H as ve, G as we, m as ye, k as ke, e as Se, f as ze, h as Oe, i as Te, j as Ce, a as Ne, g as Ee, q as Ie, s as Re, o as Ve, z as Ke, t as _e, b as We, c as Le, d as Me, J as Ae } from "../typography-DHym9KAP.js";
|
|
6
|
+
const v = {
|
|
7
|
+
/**
|
|
8
|
+
* Padding for alert content
|
|
9
|
+
*/
|
|
10
|
+
padding: "p-md",
|
|
11
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
12
|
+
/**
|
|
13
|
+
* Border radius for alerts
|
|
14
|
+
*/
|
|
15
|
+
radius: "rounded-lg",
|
|
16
|
+
// 8px (0.5rem) - maps to borderRadius.lg
|
|
17
|
+
/**
|
|
18
|
+
* Icon size within alerts
|
|
19
|
+
*/
|
|
20
|
+
iconSize: "size-4",
|
|
21
|
+
// 16px (1rem) - standard icon size
|
|
22
|
+
/**
|
|
23
|
+
* Variant-based token structure
|
|
24
|
+
* Organized by variant for future extensibility
|
|
25
|
+
*/
|
|
26
|
+
variant: {
|
|
27
|
+
default: {
|
|
28
|
+
padding: "p-md",
|
|
29
|
+
radius: "rounded-lg"
|
|
30
|
+
},
|
|
31
|
+
primary: {
|
|
32
|
+
padding: "p-md",
|
|
33
|
+
radius: "rounded-lg"
|
|
34
|
+
},
|
|
35
|
+
secondary: {
|
|
36
|
+
padding: "p-md",
|
|
37
|
+
radius: "rounded-lg"
|
|
38
|
+
},
|
|
39
|
+
accent: {
|
|
40
|
+
padding: "p-md",
|
|
41
|
+
radius: "rounded-lg"
|
|
42
|
+
},
|
|
43
|
+
destructive: {
|
|
44
|
+
padding: "p-md",
|
|
45
|
+
radius: "rounded-lg"
|
|
46
|
+
},
|
|
47
|
+
// Legacy semantic variants (mapped to canonical)
|
|
48
|
+
success: {
|
|
49
|
+
padding: "p-md",
|
|
50
|
+
radius: "rounded-lg"
|
|
51
|
+
},
|
|
52
|
+
warning: {
|
|
53
|
+
padding: "p-md",
|
|
54
|
+
radius: "rounded-lg"
|
|
55
|
+
},
|
|
56
|
+
danger: {
|
|
57
|
+
padding: "p-md",
|
|
58
|
+
radius: "rounded-lg"
|
|
59
|
+
},
|
|
60
|
+
info: {
|
|
61
|
+
padding: "p-md",
|
|
62
|
+
radius: "rounded-lg"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}, w = {
|
|
66
|
+
/**
|
|
67
|
+
* Button heights by size
|
|
68
|
+
* Maps to Tailwind height utilities: h-8, h-9, h-10
|
|
69
|
+
*/
|
|
70
|
+
height: {
|
|
71
|
+
sm: "h-8",
|
|
72
|
+
// 32px (2rem)
|
|
73
|
+
md: "h-9",
|
|
74
|
+
// 36px (2.25rem)
|
|
75
|
+
lg: "h-10",
|
|
76
|
+
// 40px (2.5rem)
|
|
77
|
+
icon: "h-9"
|
|
78
|
+
// 36px (2.25rem) - same as md
|
|
79
|
+
},
|
|
80
|
+
/**
|
|
81
|
+
* Button padding by size
|
|
82
|
+
* Horizontal and vertical padding values
|
|
83
|
+
*/
|
|
84
|
+
padding: {
|
|
85
|
+
horizontal: {
|
|
86
|
+
sm: "px-sm",
|
|
87
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
88
|
+
md: "px-md",
|
|
89
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
90
|
+
lg: "px-lg"
|
|
91
|
+
// 24px (1.5rem) - maps to semanticSpacing.lg
|
|
92
|
+
},
|
|
93
|
+
vertical: {
|
|
94
|
+
sm: "py-xs",
|
|
95
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
96
|
+
md: "py-sm"
|
|
97
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
/**
|
|
101
|
+
* Gap between icon and text
|
|
102
|
+
*/
|
|
103
|
+
gap: "gap-sm",
|
|
104
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
105
|
+
/**
|
|
106
|
+
* Border radius for all button sizes
|
|
107
|
+
*/
|
|
108
|
+
radius: "rounded-md",
|
|
109
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
110
|
+
/**
|
|
111
|
+
* Icon size within buttons
|
|
112
|
+
*/
|
|
113
|
+
iconSize: "size-4",
|
|
114
|
+
// 16px (1rem) - maps to spacing[4]
|
|
115
|
+
/**
|
|
116
|
+
* Width tokens
|
|
117
|
+
*/
|
|
118
|
+
width: {
|
|
119
|
+
icon: "w-9"
|
|
120
|
+
// 36px width for icon buttons
|
|
121
|
+
},
|
|
122
|
+
/**
|
|
123
|
+
* Font sizes by button size
|
|
124
|
+
* Maps to foundation typography fontSize tokens
|
|
125
|
+
*/
|
|
126
|
+
fontSize: {
|
|
127
|
+
sm: "text-xs",
|
|
128
|
+
// Maps to fontSize.xs[0]
|
|
129
|
+
md: "text-sm",
|
|
130
|
+
// Maps to fontSize.sm[0]
|
|
131
|
+
lg: "text-sm"
|
|
132
|
+
// Maps to fontSize.sm[0]
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* Shadow tokens by variant
|
|
136
|
+
* Maps to foundation elevation shadow tokens
|
|
137
|
+
*/
|
|
138
|
+
shadow: {
|
|
139
|
+
default: "shadow-sm",
|
|
140
|
+
// Maps to elevationShadows.sm
|
|
141
|
+
primary: "shadow"
|
|
142
|
+
// Maps to elevationShadows.xs (primary variant uses shadow)
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* Color tokens for button variants
|
|
146
|
+
* Uses semantic color tokens that map to CSS variables
|
|
147
|
+
*/
|
|
148
|
+
variant: {
|
|
149
|
+
primary: {
|
|
150
|
+
background: "bg-primary",
|
|
151
|
+
// Primary background using CSS var
|
|
152
|
+
text: "text-primary-foreground",
|
|
153
|
+
// Primary text using CSS var
|
|
154
|
+
hover: "hover:bg-primary/90"
|
|
155
|
+
// Primary hover using CSS var
|
|
156
|
+
},
|
|
157
|
+
secondary: {
|
|
158
|
+
background: "bg-secondary",
|
|
159
|
+
// Secondary background using CSS var
|
|
160
|
+
text: "text-secondary-foreground",
|
|
161
|
+
// Secondary text using CSS var
|
|
162
|
+
hover: "hover:bg-secondary/80"
|
|
163
|
+
// Secondary hover using CSS var
|
|
164
|
+
},
|
|
165
|
+
accent: {
|
|
166
|
+
background: "bg-accent",
|
|
167
|
+
// Accent background using CSS var
|
|
168
|
+
text: "text-accent-foreground",
|
|
169
|
+
// Accent text using CSS var
|
|
170
|
+
hover: "hover:bg-accent/90"
|
|
171
|
+
// Accent hover using CSS var
|
|
172
|
+
},
|
|
173
|
+
outline: {
|
|
174
|
+
border: "border border-input",
|
|
175
|
+
// Input border using CSS var
|
|
176
|
+
background: "bg-background",
|
|
177
|
+
// Background using CSS var
|
|
178
|
+
hover: {
|
|
179
|
+
background: "hover:bg-accent",
|
|
180
|
+
// Accent hover using CSS var
|
|
181
|
+
text: "hover:text-accent-foreground"
|
|
182
|
+
// Accent text using CSS var
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
ghost: {
|
|
186
|
+
hover: {
|
|
187
|
+
background: "hover:bg-accent",
|
|
188
|
+
// Accent hover using CSS var
|
|
189
|
+
text: "hover:text-accent-foreground"
|
|
190
|
+
// Accent text using CSS var
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
destructive: {
|
|
194
|
+
background: "bg-destructive",
|
|
195
|
+
// Destructive background using CSS var
|
|
196
|
+
text: "text-destructive-foreground",
|
|
197
|
+
// Destructive text using CSS var
|
|
198
|
+
hover: "hover:bg-destructive/90"
|
|
199
|
+
// Destructive hover using CSS var
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
/**
|
|
203
|
+
* Transition tokens
|
|
204
|
+
*/
|
|
205
|
+
transition: {
|
|
206
|
+
colors: "transition-colors"
|
|
207
|
+
// Color transition using motion tokens
|
|
208
|
+
}
|
|
45
209
|
}, y = {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"--shadow-primary-sm": g.sm,
|
|
57
|
-
"--shadow-primary-md": g.md,
|
|
58
|
-
"--shadow-primary-lg": g.lg,
|
|
59
|
-
"--shadow-primary-xl": g.xl,
|
|
60
|
-
"--shadow-primary-2xl": g["2xl"],
|
|
61
|
-
// Accent colored shadows
|
|
62
|
-
"--shadow-accent-xs": c.xs,
|
|
63
|
-
"--shadow-accent-sm": c.sm,
|
|
64
|
-
"--shadow-accent-md": c.md,
|
|
65
|
-
"--shadow-accent-lg": c.lg,
|
|
66
|
-
"--shadow-accent-xl": c.xl,
|
|
67
|
-
"--shadow-accent-2xl": c["2xl"],
|
|
68
|
-
// Glow effects
|
|
69
|
-
"--glow-primary": m["glow-primary"],
|
|
70
|
-
"--glow-primary-subtle": m["glow-primary-subtle"],
|
|
71
|
-
"--glow-primary-medium": m["glow-primary-medium"],
|
|
72
|
-
"--glow-primary-strong": m["glow-primary-strong"],
|
|
73
|
-
"--glow-accent": m["glow-accent"],
|
|
74
|
-
"--glow-accent-subtle": m["glow-accent-subtle"],
|
|
75
|
-
"--glow-accent-medium": m["glow-accent-medium"],
|
|
76
|
-
"--glow-accent-strong": m["glow-accent-strong"],
|
|
77
|
-
// Focus rings
|
|
78
|
-
"--focus-ring-default": p.default,
|
|
79
|
-
"--focus-ring-primary": p.primary,
|
|
80
|
-
"--focus-ring-accent": p.accent,
|
|
81
|
-
"--focus-primary": p["focus-primary"],
|
|
82
|
-
"--focus-accent": p["focus-accent"]
|
|
83
|
-
}, z = {
|
|
84
|
-
card: {
|
|
85
|
-
default: i.sm,
|
|
86
|
-
hover: i.md,
|
|
87
|
-
active: i.xs,
|
|
88
|
-
selected: g.sm
|
|
89
|
-
},
|
|
90
|
-
button: {
|
|
91
|
-
default: i.xs,
|
|
92
|
-
hover: i.sm,
|
|
93
|
-
active: i.none,
|
|
94
|
-
focus: p.primary
|
|
95
|
-
},
|
|
96
|
-
"button-accent": {
|
|
97
|
-
default: c.xs,
|
|
98
|
-
hover: c.sm,
|
|
99
|
-
active: i.none,
|
|
100
|
-
focus: p.accent
|
|
210
|
+
/**
|
|
211
|
+
* Padding for card sections (CardHeader, CardContent, CardFooter)
|
|
212
|
+
*/
|
|
213
|
+
padding: {
|
|
214
|
+
sm: "p-sm",
|
|
215
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
216
|
+
md: "p-lg",
|
|
217
|
+
// 24px (1.5rem) - current default - maps to semanticSpacing.lg
|
|
218
|
+
lg: "p-xl"
|
|
219
|
+
// 32px (2rem) - for future lg variant - maps to semanticSpacing.xl
|
|
101
220
|
},
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Border radius for cards
|
|
223
|
+
*/
|
|
224
|
+
radius: {
|
|
225
|
+
sm: "rounded-md",
|
|
226
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
227
|
+
md: "rounded-xl",
|
|
228
|
+
// 12px (0.75rem) - current default - maps to borderRadius.xl
|
|
229
|
+
lg: "rounded-2xl"
|
|
230
|
+
// 16px (1rem) - for future lg variant - maps to borderRadius["2xl"]
|
|
105
231
|
},
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
232
|
+
/**
|
|
233
|
+
* Vertical spacing within card sections
|
|
234
|
+
* Used for CardHeader spacing
|
|
235
|
+
*/
|
|
236
|
+
spacing: {
|
|
237
|
+
vertical: {
|
|
238
|
+
xs: "space-y-xs",
|
|
239
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
240
|
+
sm: "space-y-sm",
|
|
241
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
242
|
+
md: "space-y-md"
|
|
243
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
244
|
+
}
|
|
109
245
|
},
|
|
110
|
-
|
|
111
|
-
|
|
246
|
+
/**
|
|
247
|
+
* Shadow (elevation) for cards
|
|
248
|
+
* Maps to foundation elevation shadow tokens
|
|
249
|
+
*/
|
|
250
|
+
shadow: {
|
|
251
|
+
default: "shadow",
|
|
252
|
+
// Maps to elevationShadows.xs (default elevation)
|
|
253
|
+
sm: "shadow-sm",
|
|
254
|
+
// Maps to elevationShadows.sm
|
|
255
|
+
md: "shadow-md",
|
|
256
|
+
// Maps to elevationShadows.md
|
|
257
|
+
lg: "shadow-lg"
|
|
258
|
+
// Maps to elevationShadows.lg
|
|
112
259
|
},
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
260
|
+
/**
|
|
261
|
+
* Size-based token structure
|
|
262
|
+
* Organized by size for easy access
|
|
263
|
+
*/
|
|
264
|
+
size: {
|
|
265
|
+
sm: {
|
|
266
|
+
padding: "p-sm",
|
|
267
|
+
radius: "rounded-md",
|
|
268
|
+
shadow: "shadow-sm",
|
|
269
|
+
spacing: {
|
|
270
|
+
vertical: "space-y-xs"
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
md: {
|
|
274
|
+
padding: "p-lg",
|
|
275
|
+
radius: "rounded-xl",
|
|
276
|
+
shadow: "shadow",
|
|
277
|
+
spacing: {
|
|
278
|
+
vertical: "space-y-xs"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
lg: {
|
|
282
|
+
padding: "p-xl",
|
|
283
|
+
radius: "rounded-2xl",
|
|
284
|
+
shadow: "shadow-md",
|
|
285
|
+
spacing: {
|
|
286
|
+
vertical: "space-y-sm"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
117
289
|
}
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
290
|
+
}, d = {
|
|
291
|
+
/**
|
|
292
|
+
* Table Component Tokens
|
|
293
|
+
*/
|
|
294
|
+
table: {
|
|
295
|
+
/**
|
|
296
|
+
* Table row heights by size
|
|
297
|
+
* Maps to Tailwind height utilities
|
|
298
|
+
*/
|
|
299
|
+
rowHeight: {
|
|
300
|
+
sm: "h-8",
|
|
301
|
+
// 32px (2rem) - compact rows
|
|
302
|
+
md: "h-10",
|
|
303
|
+
// 40px (2.5rem) - default rows
|
|
304
|
+
lg: "h-12"
|
|
305
|
+
// 48px (3rem) - spacious rows
|
|
306
|
+
},
|
|
307
|
+
/**
|
|
308
|
+
* Table cell and header padding by size
|
|
309
|
+
* Maps to semantic spacing tokens
|
|
310
|
+
*/
|
|
311
|
+
padding: {
|
|
312
|
+
cell: {
|
|
313
|
+
sm: "p-xs",
|
|
314
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
315
|
+
md: "p-sm",
|
|
316
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
317
|
+
lg: "p-md"
|
|
318
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
319
|
+
},
|
|
320
|
+
header: {
|
|
321
|
+
sm: "px-xs py-sm",
|
|
322
|
+
// 4px horizontal, 8px vertical
|
|
323
|
+
md: "px-sm py-md",
|
|
324
|
+
// 8px horizontal, 16px vertical
|
|
325
|
+
lg: "px-md py-lg"
|
|
326
|
+
// 16px horizontal, 24px vertical
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
/**
|
|
330
|
+
* Gap between table cells (horizontal spacing)
|
|
331
|
+
*/
|
|
332
|
+
gap: {
|
|
333
|
+
sm: "gap-xs",
|
|
334
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
335
|
+
md: "gap-sm"
|
|
336
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
337
|
+
},
|
|
338
|
+
/**
|
|
339
|
+
* Border radius for table
|
|
340
|
+
*/
|
|
341
|
+
radius: {
|
|
342
|
+
default: "rounded-md"
|
|
343
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
344
|
+
},
|
|
345
|
+
/**
|
|
346
|
+
* Shadow tokens for table
|
|
347
|
+
* Maps to foundation elevation shadow tokens
|
|
348
|
+
*/
|
|
349
|
+
shadow: {
|
|
350
|
+
none: "shadow-none",
|
|
351
|
+
// No shadow
|
|
352
|
+
subtle: "shadow-sm"
|
|
353
|
+
// Maps to elevationShadows.sm
|
|
354
|
+
},
|
|
355
|
+
/**
|
|
356
|
+
* Typography tokens for table headers and cells
|
|
357
|
+
* Maps to foundation typography fontSize tokens
|
|
358
|
+
*/
|
|
359
|
+
typography: {
|
|
360
|
+
header: {
|
|
361
|
+
fontSize: "text-sm",
|
|
362
|
+
// Maps to fontSize.sm[0]
|
|
363
|
+
fontWeight: "font-semibold"
|
|
364
|
+
// Maps to fontWeight.semibold
|
|
365
|
+
},
|
|
366
|
+
cell: {
|
|
367
|
+
fontSize: "text-sm",
|
|
368
|
+
// Maps to fontSize.sm[0]
|
|
369
|
+
fontWeight: "font-normal"
|
|
370
|
+
// Maps to fontWeight.normal
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
/**
|
|
374
|
+
* Color tokens for table states
|
|
375
|
+
* Uses semantic color tokens
|
|
376
|
+
*/
|
|
377
|
+
colors: {
|
|
378
|
+
border: "border-border",
|
|
379
|
+
// Border color
|
|
380
|
+
rowHover: "hover:bg-muted/50",
|
|
381
|
+
// Row hover background
|
|
382
|
+
rowSelected: "bg-muted"
|
|
383
|
+
// Selected row background
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
/**
|
|
387
|
+
* Skeleton Component Tokens
|
|
388
|
+
*/
|
|
389
|
+
skeleton: {
|
|
390
|
+
/**
|
|
391
|
+
* Skeleton heights by variant
|
|
392
|
+
* Maps to Tailwind height utilities
|
|
393
|
+
*/
|
|
394
|
+
height: {
|
|
395
|
+
text: "h-4",
|
|
396
|
+
// 16px (1rem) - text line height
|
|
397
|
+
circle: "h-10 w-10",
|
|
398
|
+
// 40px × 40px (2.5rem) - circular skeleton
|
|
399
|
+
block: "h-20",
|
|
400
|
+
// 80px (5rem) - block skeleton
|
|
401
|
+
card: "h-32",
|
|
402
|
+
// 128px (8rem) - card skeleton
|
|
403
|
+
inline: "h-4"
|
|
404
|
+
// 16px (1rem) - inline text
|
|
405
|
+
},
|
|
406
|
+
/**
|
|
407
|
+
* Border radius by variant
|
|
408
|
+
* Maps to foundation borderRadius tokens
|
|
409
|
+
*/
|
|
410
|
+
radius: {
|
|
411
|
+
text: "rounded-sm",
|
|
412
|
+
// 4px (0.25rem) - maps to borderRadius.sm
|
|
413
|
+
circle: "rounded-full",
|
|
414
|
+
// Full circle - maps to borderRadius.full
|
|
415
|
+
block: "rounded-md",
|
|
416
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
417
|
+
card: "rounded-xl",
|
|
418
|
+
// 12px (0.75rem) - maps to borderRadius.xl
|
|
419
|
+
inline: "rounded-sm"
|
|
420
|
+
// 4px (0.25rem) - maps to borderRadius.sm
|
|
421
|
+
},
|
|
422
|
+
/**
|
|
423
|
+
* Animation tokens
|
|
424
|
+
* Uses motion tokens for animations
|
|
425
|
+
*/
|
|
426
|
+
animation: {
|
|
427
|
+
pulse: "animate-pulse",
|
|
428
|
+
// Pulse animation from motion tokens
|
|
429
|
+
fade: "animate-pulse"
|
|
430
|
+
// Fade animation (using pulse as fallback)
|
|
431
|
+
},
|
|
432
|
+
/**
|
|
433
|
+
* Background color tokens
|
|
434
|
+
* Uses semantic color tokens
|
|
435
|
+
*/
|
|
436
|
+
background: {
|
|
437
|
+
default: "bg-muted",
|
|
438
|
+
// Default skeleton background
|
|
439
|
+
subtle: "bg-muted/50"
|
|
440
|
+
// Subtle skeleton background
|
|
441
|
+
},
|
|
442
|
+
/**
|
|
443
|
+
* Width tokens for skeleton variants
|
|
444
|
+
*/
|
|
445
|
+
width: {
|
|
446
|
+
full: "w-full",
|
|
447
|
+
// Full width (100%)
|
|
448
|
+
inline: "inline-block"
|
|
449
|
+
// Inline block display
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
/**
|
|
453
|
+
* EmptyState Component Tokens
|
|
454
|
+
*/
|
|
455
|
+
emptyState: {
|
|
456
|
+
/**
|
|
457
|
+
* Spacing tokens for EmptyState
|
|
458
|
+
* Maps to semantic spacing tokens
|
|
459
|
+
*/
|
|
460
|
+
spacing: {
|
|
461
|
+
gap: "gap-md",
|
|
462
|
+
// 16px (1rem) - gap between elements - maps to semanticSpacing.md
|
|
463
|
+
padding: "p-lg"
|
|
464
|
+
// 24px (1.5rem) - container padding - maps to semanticSpacing.lg
|
|
465
|
+
},
|
|
466
|
+
/**
|
|
467
|
+
* Border radius for EmptyState container
|
|
468
|
+
*/
|
|
469
|
+
radius: {
|
|
470
|
+
default: "rounded-xl"
|
|
471
|
+
// 12px (0.75rem) - maps to borderRadius.xl
|
|
472
|
+
},
|
|
473
|
+
/**
|
|
474
|
+
* Icon sizes by variant
|
|
475
|
+
* Maps to Tailwind size utilities
|
|
476
|
+
*/
|
|
477
|
+
iconSize: {
|
|
478
|
+
sm: "size-8",
|
|
479
|
+
// 32px (2rem)
|
|
480
|
+
md: "size-12",
|
|
481
|
+
// 48px (3rem)
|
|
482
|
+
lg: "size-16"
|
|
483
|
+
// 64px (4rem)
|
|
484
|
+
},
|
|
485
|
+
/**
|
|
486
|
+
* Typography tokens for EmptyState
|
|
487
|
+
* Maps to foundation typography tokens
|
|
488
|
+
*/
|
|
489
|
+
typography: {
|
|
490
|
+
title: {
|
|
491
|
+
fontSize: "text-lg",
|
|
492
|
+
// Maps to fontSize.lg[0]
|
|
493
|
+
fontWeight: "font-semibold"
|
|
494
|
+
// Maps to fontWeight.semibold
|
|
495
|
+
},
|
|
496
|
+
description: {
|
|
497
|
+
fontSize: "text-sm",
|
|
498
|
+
// Maps to fontSize.sm[0]
|
|
499
|
+
fontWeight: "font-normal"
|
|
500
|
+
// Maps to fontWeight.normal
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
},
|
|
504
|
+
/**
|
|
505
|
+
* DataList Component Tokens
|
|
506
|
+
*/
|
|
507
|
+
dataList: {
|
|
508
|
+
/**
|
|
509
|
+
* Spacing tokens for DataList
|
|
510
|
+
* Maps to semantic spacing tokens
|
|
511
|
+
*/
|
|
512
|
+
spacing: {
|
|
513
|
+
gap: "gap-md",
|
|
514
|
+
// 16px (1rem) - gap between items - maps to semanticSpacing.md
|
|
515
|
+
padding: "p-md"
|
|
516
|
+
// 16px (1rem) - container padding - maps to semanticSpacing.md
|
|
517
|
+
},
|
|
518
|
+
/**
|
|
519
|
+
* Label width tokens (for desktop horizontal layout)
|
|
520
|
+
* Maps to Tailwind width utilities
|
|
521
|
+
*/
|
|
522
|
+
labelWidth: {
|
|
523
|
+
sm: "w-24",
|
|
524
|
+
// 96px (6rem) - small label width
|
|
525
|
+
md: "w-32",
|
|
526
|
+
// 128px (8rem) - default label width
|
|
527
|
+
lg: "w-40"
|
|
528
|
+
// 160px (10rem) - large label width
|
|
529
|
+
},
|
|
530
|
+
/**
|
|
531
|
+
* Row padding tokens
|
|
532
|
+
* Maps to semantic spacing tokens
|
|
533
|
+
*/
|
|
534
|
+
rowPadding: {
|
|
535
|
+
sm: "py-xs",
|
|
536
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
537
|
+
md: "py-sm",
|
|
538
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
539
|
+
lg: "py-md"
|
|
540
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
541
|
+
}
|
|
170
542
|
}
|
|
171
|
-
},
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
// 144px (18 × base)
|
|
224
|
-
40: "10rem",
|
|
225
|
-
// 160px (20 × base)
|
|
226
|
-
44: "11rem",
|
|
227
|
-
// 176px (22 × base)
|
|
228
|
-
48: "12rem",
|
|
229
|
-
// 192px (24 × base)
|
|
230
|
-
52: "13rem",
|
|
231
|
-
// 208px (26 × base)
|
|
232
|
-
56: "14rem",
|
|
233
|
-
// 224px (28 × base)
|
|
234
|
-
60: "15rem",
|
|
235
|
-
// 240px (30 × base)
|
|
236
|
-
64: "16rem",
|
|
237
|
-
// 256px (32 × base)
|
|
238
|
-
72: "18rem",
|
|
239
|
-
// 288px (36 × base)
|
|
240
|
-
80: "20rem",
|
|
241
|
-
// 320px (40 × base)
|
|
242
|
-
96: "24rem"
|
|
243
|
-
// 384px (48 × base)
|
|
244
|
-
}, r = {
|
|
245
|
-
// Extra small spacing (tight, minimal)
|
|
246
|
-
xs: t[1],
|
|
247
|
-
// 4px (0.25rem)
|
|
248
|
-
// Small spacing (compact)
|
|
249
|
-
sm: t[2],
|
|
250
|
-
// 8px (0.5rem)
|
|
251
|
-
// Medium spacing (default)
|
|
252
|
-
md: t[4],
|
|
253
|
-
// 16px (1rem)
|
|
254
|
-
// Large spacing (spacious)
|
|
255
|
-
lg: t[6],
|
|
256
|
-
// 24px (1.5rem)
|
|
257
|
-
// Extra large spacing (very spacious)
|
|
258
|
-
xl: t[8],
|
|
259
|
-
// 32px (2rem)
|
|
260
|
-
// 2XL spacing (section-level)
|
|
261
|
-
"2xl": t[12],
|
|
262
|
-
// 48px (3rem)
|
|
263
|
-
// 3XL spacing (major sections)
|
|
264
|
-
"3xl": t[16],
|
|
265
|
-
// 64px (4rem)
|
|
266
|
-
// 4XL spacing (page sections)
|
|
267
|
-
"4xl": t[20],
|
|
268
|
-
// 80px (5rem)
|
|
269
|
-
// 5XL spacing (hero sections)
|
|
270
|
-
"5xl": t[24],
|
|
271
|
-
// 96px (6rem)
|
|
272
|
-
// None (no spacing)
|
|
273
|
-
none: t[0]
|
|
274
|
-
// 0
|
|
275
|
-
}, l = {
|
|
276
|
-
// Section spacing (vertical spacing between major sections)
|
|
277
|
-
section: {
|
|
278
|
-
xs: t[6],
|
|
279
|
-
// 24px (compact sections)
|
|
280
|
-
sm: t[8],
|
|
281
|
-
// 32px (small sections)
|
|
282
|
-
md: t[12],
|
|
283
|
-
// 48px (default sections)
|
|
284
|
-
lg: t[16],
|
|
285
|
-
// 64px (large sections)
|
|
286
|
-
xl: t[20],
|
|
287
|
-
// 80px (extra large sections)
|
|
288
|
-
"2xl": t[24]
|
|
289
|
-
// 96px (hero sections)
|
|
290
|
-
},
|
|
291
|
-
// Container spacing (padding inside containers)
|
|
292
|
-
container: {
|
|
293
|
-
xs: t[2],
|
|
294
|
-
// 8px (tight containers)
|
|
295
|
-
sm: t[4],
|
|
296
|
-
// 16px (compact containers)
|
|
297
|
-
md: t[6],
|
|
298
|
-
// 24px (default containers)
|
|
299
|
-
lg: t[8],
|
|
300
|
-
// 32px (spacious containers)
|
|
301
|
-
xl: t[12]
|
|
302
|
-
// 48px (very spacious containers)
|
|
303
|
-
},
|
|
304
|
-
// Grid spacing (gap between grid items)
|
|
305
|
-
grid: {
|
|
306
|
-
xs: t[2],
|
|
307
|
-
// 8px (tight grids)
|
|
308
|
-
sm: t[4],
|
|
309
|
-
// 16px (compact grids)
|
|
310
|
-
md: t[6],
|
|
311
|
-
// 24px (default grids)
|
|
312
|
-
lg: t[8],
|
|
313
|
-
// 32px (spacious grids)
|
|
314
|
-
xl: t[12]
|
|
315
|
-
// 48px (very spacious grids)
|
|
316
|
-
},
|
|
317
|
-
// Stack spacing (gap between stacked items)
|
|
318
|
-
stack: {
|
|
319
|
-
xs: t[1],
|
|
320
|
-
// 4px (tight stacks)
|
|
321
|
-
sm: t[2],
|
|
322
|
-
// 8px (compact stacks)
|
|
323
|
-
md: t[4],
|
|
324
|
-
// 16px (default stacks)
|
|
325
|
-
lg: t[6],
|
|
326
|
-
// 24px (spacious stacks)
|
|
327
|
-
xl: t[8]
|
|
328
|
-
// 32px (very spacious stacks)
|
|
329
|
-
},
|
|
330
|
-
// Component internal spacing (padding inside components)
|
|
331
|
-
component: {
|
|
332
|
-
xs: t[1],
|
|
333
|
-
// 4px (tight components)
|
|
334
|
-
sm: t[2],
|
|
335
|
-
// 8px (compact components)
|
|
336
|
-
md: t[4],
|
|
337
|
-
// 16px (default components)
|
|
338
|
-
lg: t[6],
|
|
339
|
-
// 24px (spacious components)
|
|
340
|
-
xl: t[8]
|
|
341
|
-
// 32px (extra spacious components)
|
|
543
|
+
}, c = {
|
|
544
|
+
/**
|
|
545
|
+
* Icon sizes
|
|
546
|
+
* Maps to Tailwind size utilities for consistent icon sizing
|
|
547
|
+
*/
|
|
548
|
+
sizes: {
|
|
549
|
+
xs: "h-2.5 w-2.5",
|
|
550
|
+
// 10px (0.625rem) - extra small icons
|
|
551
|
+
sm: "h-3 w-3",
|
|
552
|
+
// 12px (0.75rem) - maps to spacing[3]
|
|
553
|
+
md: "h-4 w-4",
|
|
554
|
+
// 16px (1rem) - maps to spacing[4] (default)
|
|
555
|
+
lg: "h-5 w-5",
|
|
556
|
+
// 20px (1.25rem) - maps to spacing[5]
|
|
557
|
+
xl: "h-6 w-6",
|
|
558
|
+
// 24px (1.5rem) - maps to spacing[6]
|
|
559
|
+
"2xl": "h-8 w-8",
|
|
560
|
+
// 32px (2rem) - maps to spacing[8]
|
|
561
|
+
"3xl": "h-10 w-10",
|
|
562
|
+
// 40px (2.5rem) - maps to spacing[10]
|
|
563
|
+
"4xl": "h-12 w-12"
|
|
564
|
+
// 48px (3rem) - maps to spacing[12]
|
|
565
|
+
},
|
|
566
|
+
/**
|
|
567
|
+
* Stroke width variants
|
|
568
|
+
* Maps to Tailwind stroke-width utilities
|
|
569
|
+
*/
|
|
570
|
+
stroke: {
|
|
571
|
+
thin: "stroke-[1px]",
|
|
572
|
+
// 1px stroke width
|
|
573
|
+
normal: "stroke-[1.5px]",
|
|
574
|
+
// 1.5px stroke width
|
|
575
|
+
bold: "stroke-2"
|
|
576
|
+
// 2px stroke width
|
|
577
|
+
},
|
|
578
|
+
/**
|
|
579
|
+
* Color variants
|
|
580
|
+
* Maps to semantic text color tokens
|
|
581
|
+
*/
|
|
582
|
+
colors: {
|
|
583
|
+
default: "text-foreground",
|
|
584
|
+
// Default foreground color
|
|
585
|
+
muted: "text-muted-foreground",
|
|
586
|
+
// Muted foreground color
|
|
587
|
+
success: "text-success",
|
|
588
|
+
// Semantic success color
|
|
589
|
+
warning: "text-warning",
|
|
590
|
+
// Semantic warning color
|
|
591
|
+
danger: "text-destructive",
|
|
592
|
+
// Semantic destructive/danger color
|
|
593
|
+
info: "text-info"
|
|
594
|
+
// Semantic info color
|
|
342
595
|
}
|
|
343
|
-
},
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
596
|
+
}, h = {
|
|
597
|
+
/**
|
|
598
|
+
* Transition property tokens
|
|
599
|
+
* Maps to Tailwind transition utilities
|
|
600
|
+
*/
|
|
601
|
+
transition: {
|
|
602
|
+
all: "transition-all",
|
|
603
|
+
// All properties
|
|
604
|
+
colors: "transition-colors",
|
|
605
|
+
// Color properties only
|
|
606
|
+
opacity: "transition-opacity",
|
|
607
|
+
// Opacity only
|
|
608
|
+
transform: "transition-transform",
|
|
609
|
+
// Transform only
|
|
610
|
+
shadow: "transition-shadow",
|
|
611
|
+
// Box shadow only
|
|
612
|
+
none: "transition-none"
|
|
613
|
+
// No transition
|
|
614
|
+
},
|
|
615
|
+
/**
|
|
616
|
+
* Duration tokens
|
|
617
|
+
* Maps to foundation motion duration tokens via Tailwind
|
|
618
|
+
*/
|
|
619
|
+
duration: {
|
|
620
|
+
instant: "duration-0",
|
|
621
|
+
// 0ms
|
|
622
|
+
fast: "duration-fast",
|
|
623
|
+
// 150ms - maps to motion.durations.fast
|
|
624
|
+
normal: "duration-normal",
|
|
625
|
+
// 300ms - maps to motion.durations.normal
|
|
626
|
+
slow: "duration-slow",
|
|
627
|
+
// 500ms - maps to motion.durations.slow
|
|
628
|
+
slower: "duration-slower",
|
|
629
|
+
// 700ms - maps to motion.durations.slower
|
|
630
|
+
slowest: "duration-slowest",
|
|
631
|
+
// 1000ms - maps to motion.durations.slowest
|
|
632
|
+
// Granular durations
|
|
633
|
+
75: "duration-75",
|
|
634
|
+
// 75ms
|
|
635
|
+
100: "duration-100",
|
|
636
|
+
// 100ms
|
|
637
|
+
200: "duration-200",
|
|
638
|
+
// 200ms
|
|
639
|
+
250: "duration-250",
|
|
640
|
+
// 250ms
|
|
641
|
+
300: "duration-300",
|
|
642
|
+
// 300ms
|
|
643
|
+
400: "duration-400",
|
|
644
|
+
// 400ms
|
|
645
|
+
500: "duration-500",
|
|
646
|
+
// 500ms
|
|
647
|
+
600: "duration-600",
|
|
648
|
+
// 600ms
|
|
649
|
+
700: "duration-700",
|
|
650
|
+
// 700ms
|
|
651
|
+
800: "duration-800",
|
|
652
|
+
// 800ms
|
|
653
|
+
1e3: "duration-1000"
|
|
654
|
+
// 1000ms
|
|
655
|
+
},
|
|
656
|
+
/**
|
|
657
|
+
* Easing tokens
|
|
658
|
+
* Maps to foundation motion easing tokens via Tailwind
|
|
659
|
+
*/
|
|
660
|
+
easing: {
|
|
661
|
+
linear: "ease-linear",
|
|
662
|
+
// Linear easing
|
|
663
|
+
in: "ease-in",
|
|
664
|
+
// Ease in
|
|
665
|
+
out: "ease-out",
|
|
666
|
+
// Ease out (recommended for most UI)
|
|
667
|
+
"in-out": "ease-in-out",
|
|
668
|
+
// Ease in-out
|
|
669
|
+
bounce: "ease-bounce",
|
|
670
|
+
// Bounce easing
|
|
671
|
+
elastic: "ease-elastic"
|
|
672
|
+
// Elastic easing
|
|
673
|
+
},
|
|
674
|
+
/**
|
|
675
|
+
* Pre-configured transition tokens
|
|
676
|
+
* Combines duration and easing for common use cases
|
|
677
|
+
*/
|
|
678
|
+
transitionPreset: {
|
|
679
|
+
fast: "transition-all duration-fast ease-out",
|
|
680
|
+
// Fast transition
|
|
681
|
+
normal: "transition-all duration-normal ease-in-out",
|
|
682
|
+
// Normal transition (default)
|
|
683
|
+
slow: "transition-all duration-slow ease-in-out",
|
|
684
|
+
// Slow transition
|
|
685
|
+
colors: "transition-colors duration-normal ease-out",
|
|
686
|
+
// Color transitions (common)
|
|
687
|
+
transform: "transition-transform duration-normal ease-out",
|
|
688
|
+
// Transform transitions
|
|
689
|
+
opacity: "transition-opacity duration-fast ease-out"
|
|
690
|
+
// Opacity transitions
|
|
691
|
+
},
|
|
692
|
+
/**
|
|
693
|
+
* Animation tokens
|
|
694
|
+
* Maps to foundation motion animation tokens via Tailwind
|
|
695
|
+
*/
|
|
696
|
+
animation: {
|
|
697
|
+
none: "animate-none",
|
|
698
|
+
// No animation
|
|
699
|
+
spin: "animate-spin",
|
|
700
|
+
// Spin animation
|
|
701
|
+
pulse: "animate-pulse",
|
|
702
|
+
// Pulse animation
|
|
703
|
+
bounce: "animate-bounce",
|
|
704
|
+
// Bounce animation
|
|
705
|
+
ping: "animate-ping",
|
|
706
|
+
// Ping animation
|
|
707
|
+
shake: "animate-shake",
|
|
708
|
+
// Shake animation
|
|
709
|
+
fadeIn: "animate-fadeIn",
|
|
710
|
+
// Fade in
|
|
711
|
+
fadeOut: "animate-fadeOut",
|
|
712
|
+
// Fade out
|
|
713
|
+
slideInUp: "animate-slideInUp",
|
|
714
|
+
// Slide in from bottom
|
|
715
|
+
slideInDown: "animate-slideInDown",
|
|
716
|
+
// Slide in from top
|
|
717
|
+
slideInLeft: "animate-slideInLeft",
|
|
718
|
+
// Slide in from right
|
|
719
|
+
slideInRight: "animate-slideInRight",
|
|
720
|
+
// Slide in from left
|
|
721
|
+
scaleIn: "animate-scaleIn",
|
|
722
|
+
// Scale in
|
|
723
|
+
scaleOut: "animate-scaleOut"
|
|
724
|
+
// Scale out
|
|
725
|
+
}
|
|
726
|
+
}, k = {
|
|
727
|
+
/**
|
|
728
|
+
* Surface tokens for card containers
|
|
729
|
+
* Defines background, border, radius, and shadow for card surfaces
|
|
730
|
+
*/
|
|
731
|
+
surface: {
|
|
732
|
+
/**
|
|
733
|
+
* Background colors
|
|
734
|
+
* Maps to semantic color tokens
|
|
735
|
+
*/
|
|
736
|
+
bg: {
|
|
737
|
+
default: "bg-card",
|
|
738
|
+
// Default card background - maps to semantic color tokens
|
|
739
|
+
hover: "hover:bg-card/95"
|
|
740
|
+
// Hover state background with 95% opacity
|
|
741
|
+
},
|
|
742
|
+
/**
|
|
743
|
+
* Border styles
|
|
744
|
+
* Maps to semantic border tokens
|
|
745
|
+
*/
|
|
746
|
+
border: {
|
|
747
|
+
default: "border border-border",
|
|
748
|
+
// Default border - maps to semantic border tokens
|
|
749
|
+
hover: "hover:border-primary/20"
|
|
750
|
+
// Hover state border with primary color at 20% opacity
|
|
751
|
+
},
|
|
752
|
+
/**
|
|
753
|
+
* Border radius
|
|
754
|
+
* References borderRadius.xl (0.75rem / 12px)
|
|
755
|
+
* Using Tailwind class "rounded-xl" which maps to borderRadius.xl
|
|
756
|
+
*/
|
|
757
|
+
radius: {
|
|
758
|
+
default: "rounded-xl"
|
|
759
|
+
// References borderRadius.xl (0.75rem / 12px) via Tailwind
|
|
760
|
+
},
|
|
761
|
+
/**
|
|
762
|
+
* Shadow (elevation) tokens
|
|
763
|
+
* References elevationShadows.md
|
|
764
|
+
* Using Tailwind class "shadow-md" which maps to elevationShadows.md
|
|
765
|
+
*/
|
|
766
|
+
shadow: {
|
|
767
|
+
default: "shadow-md"
|
|
768
|
+
// References elevationShadows.md via Tailwind
|
|
769
|
+
},
|
|
770
|
+
/**
|
|
771
|
+
* Elevation change on hover
|
|
772
|
+
* References elevationShadows.xl
|
|
773
|
+
* Using Tailwind class "hover:shadow-xl" which maps to elevationShadows.xl
|
|
774
|
+
*/
|
|
775
|
+
elevation: {
|
|
776
|
+
hover: "hover:shadow-xl"
|
|
777
|
+
// References elevationShadows.xl via Tailwind
|
|
778
|
+
}
|
|
779
|
+
},
|
|
780
|
+
/**
|
|
781
|
+
* Spacing tokens for card component spacing
|
|
782
|
+
* References semanticSpacing tokens
|
|
783
|
+
* Note: Tailwind classes are used for component className application
|
|
784
|
+
*/
|
|
410
785
|
spacing: {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
786
|
+
/**
|
|
787
|
+
* Section spacing - vertical spacing between card sections
|
|
788
|
+
*/
|
|
789
|
+
section: {
|
|
790
|
+
titleToSubtitle: "mb-xs",
|
|
791
|
+
// Spacing between title and subtitle/description - references semanticSpacing.xs (4px) via Tailwind
|
|
792
|
+
subtitleToMetadata: "mb-sm"
|
|
793
|
+
// Spacing between description and metadata - references semanticSpacing.sm (8px) via Tailwind
|
|
794
|
+
},
|
|
795
|
+
/**
|
|
796
|
+
* Badge spacing offsets
|
|
797
|
+
*/
|
|
798
|
+
badges: {
|
|
799
|
+
offsetX: e.md,
|
|
800
|
+
// Horizontal offset for badges (16px)
|
|
801
|
+
offsetY: e.md
|
|
802
|
+
// Vertical offset for badges (16px)
|
|
803
|
+
},
|
|
804
|
+
/**
|
|
805
|
+
* Image spacing
|
|
806
|
+
*/
|
|
807
|
+
image: {
|
|
808
|
+
bottomMargin: e.none
|
|
809
|
+
// Margin below image (0px)
|
|
810
|
+
},
|
|
811
|
+
/**
|
|
812
|
+
* Card vertical gap
|
|
813
|
+
*/
|
|
814
|
+
card: {
|
|
815
|
+
verticalGap: e.md
|
|
816
|
+
// Vertical gap in card content (16px)
|
|
817
|
+
},
|
|
818
|
+
/**
|
|
819
|
+
* Metadata item gap
|
|
820
|
+
*/
|
|
821
|
+
metadata: {
|
|
822
|
+
itemGap: e.xs
|
|
823
|
+
// Gap between metadata items (4px)
|
|
824
|
+
},
|
|
825
|
+
/**
|
|
826
|
+
* Footer spacing
|
|
827
|
+
*/
|
|
828
|
+
footer: {
|
|
829
|
+
paddingTopDefault: "pt-sm",
|
|
830
|
+
// Footer padding top default - references semanticSpacing.sm (8px) via Tailwind
|
|
831
|
+
paddingTopCompact: "pt-xs"
|
|
832
|
+
// Footer padding top compact - references semanticSpacing.xs (4px) via Tailwind
|
|
833
|
+
},
|
|
834
|
+
/**
|
|
835
|
+
* Button spacing
|
|
836
|
+
*/
|
|
837
|
+
button: {
|
|
838
|
+
paddingDefault: "px-md py-xs",
|
|
839
|
+
// Button padding default - references semanticSpacing.md (16px) horizontal, xs (4px) vertical via Tailwind
|
|
840
|
+
paddingCompact: "px-sm py-xs",
|
|
841
|
+
// Button padding compact - references semanticSpacing.sm (8px) horizontal, xs (4px) vertical via Tailwind
|
|
842
|
+
iconMarginLeft: "ml-xs"
|
|
843
|
+
// Icon margin left - references semanticSpacing.xs (4px) via Tailwind
|
|
844
|
+
}
|
|
845
|
+
},
|
|
846
|
+
/**
|
|
847
|
+
* Layout tokens for card spacing and gaps
|
|
848
|
+
* References semanticSpacing tokens
|
|
849
|
+
* Note: Tailwind utilities are used for component className application
|
|
850
|
+
*/
|
|
851
|
+
layout: {
|
|
852
|
+
/**
|
|
853
|
+
* Padding tokens
|
|
854
|
+
* References semanticSpacing (md = 16px, sm = 8px)
|
|
855
|
+
* Note: "p-md" and "p-sm" are Tailwind utilities that apply semanticSpacing values
|
|
856
|
+
*/
|
|
857
|
+
padding: {
|
|
858
|
+
default: "p-md",
|
|
859
|
+
// Default padding - references semanticSpacing.md (16px)
|
|
860
|
+
compact: "p-sm"
|
|
861
|
+
// Compact variant padding - references semanticSpacing.sm (8px)
|
|
862
|
+
},
|
|
863
|
+
/**
|
|
864
|
+
* Gap tokens for spacing between card elements
|
|
865
|
+
* References semanticSpacing (md = 16px, xs = 4px)
|
|
866
|
+
* Note: "gap-md" and "gap-xs" are Tailwind utilities that apply semanticSpacing values
|
|
867
|
+
*/
|
|
868
|
+
gap: {
|
|
869
|
+
default: "gap-md",
|
|
870
|
+
// Default gap - references semanticSpacing.md (16px)
|
|
871
|
+
compact: "gap-xs"
|
|
872
|
+
// Compact variant gap - references semanticSpacing.xs (4px)
|
|
873
|
+
}
|
|
874
|
+
},
|
|
875
|
+
/**
|
|
876
|
+
* Image tokens for card media
|
|
877
|
+
* Defines aspect ratio, radius, and overlay styles
|
|
878
|
+
*/
|
|
879
|
+
image: {
|
|
880
|
+
/**
|
|
881
|
+
* Aspect ratio for card images
|
|
882
|
+
* Standard 16:9 aspect ratio for card images
|
|
883
|
+
*/
|
|
884
|
+
aspectRatio: "aspect-video",
|
|
885
|
+
// 16:9 aspect ratio - standard for card images
|
|
886
|
+
/**
|
|
887
|
+
* Border radius for images
|
|
888
|
+
* References borderRadius.xl (0.75rem / 12px) for top corners only
|
|
889
|
+
* Using Tailwind class "rounded-t-xl" which maps to borderRadius.xl
|
|
890
|
+
*/
|
|
891
|
+
radius: "rounded-t-xl",
|
|
892
|
+
// References borderRadius.xl (0.75rem / 12px) via Tailwind
|
|
893
|
+
/**
|
|
894
|
+
* Overlay gradient tokens for image overlays
|
|
895
|
+
* Used for hover states and text readability
|
|
896
|
+
*/
|
|
897
|
+
overlay: {
|
|
898
|
+
gradient: "bg-gradient-to-t from-black/60 via-transparent to-transparent"
|
|
899
|
+
// Gradient overlay for image hover states
|
|
900
|
+
}
|
|
901
|
+
},
|
|
902
|
+
/**
|
|
903
|
+
* Metadata tokens for card information displays
|
|
904
|
+
* Used for date/time, location, and other metadata patterns
|
|
905
|
+
* Maps to TEXT_TOKENS, ICON_TOKENS, and semanticSpacing
|
|
906
|
+
*/
|
|
907
|
+
metadata: {
|
|
908
|
+
/**
|
|
909
|
+
* Text color tokens
|
|
910
|
+
* Maps to semantic text color tokens
|
|
911
|
+
*/
|
|
912
|
+
text: {
|
|
913
|
+
primary: "text-foreground",
|
|
914
|
+
// Primary metadata text - maps to semantic text color
|
|
915
|
+
secondary: "text-muted-foreground"
|
|
916
|
+
// Secondary metadata text - maps to semantic muted text color
|
|
917
|
+
},
|
|
918
|
+
/**
|
|
919
|
+
* Icon tokens
|
|
920
|
+
* Maps to ICON_TOKENS for sizes and colors
|
|
921
|
+
*/
|
|
922
|
+
icon: {
|
|
923
|
+
default: "text-muted-foreground",
|
|
924
|
+
// Default icon color - maps to ICON_TOKENS.colors.muted
|
|
925
|
+
sizeSm: c.sizes.md
|
|
926
|
+
// Small icon size - references ICON_TOKENS.sizes.md (16px)
|
|
927
|
+
},
|
|
928
|
+
/**
|
|
929
|
+
* Spacing tokens for metadata layouts
|
|
930
|
+
* References semanticSpacing (xs = 4px, sm = 8px)
|
|
931
|
+
* Using Tailwind classes which map to semanticSpacing values
|
|
932
|
+
*/
|
|
933
|
+
spacing: {
|
|
934
|
+
vertical: "gap-xs",
|
|
935
|
+
// References semanticSpacing.xs (4px) via Tailwind
|
|
936
|
+
horizontal: "gap-sm"
|
|
937
|
+
// References semanticSpacing.sm (8px) via Tailwind
|
|
938
|
+
}
|
|
939
|
+
},
|
|
940
|
+
/**
|
|
941
|
+
* Badge tokens for featured/popular badges
|
|
942
|
+
* References semanticSpacing, borderRadius, and elevationShadows
|
|
943
|
+
*/
|
|
944
|
+
badges: {
|
|
945
|
+
/**
|
|
946
|
+
* Badge size tokens (padding)
|
|
947
|
+
* References semanticSpacing for padding values
|
|
948
|
+
* Using Tailwind classes which map to semanticSpacing values
|
|
949
|
+
*/
|
|
950
|
+
size: {
|
|
951
|
+
sm: "px-xs py-xs",
|
|
952
|
+
// References semanticSpacing.xs (4px) for both horizontal and vertical via Tailwind
|
|
953
|
+
md: "px-sm py-xs"
|
|
954
|
+
// References semanticSpacing.sm (8px) horizontal, semanticSpacing.xs (4px) vertical via Tailwind
|
|
955
|
+
},
|
|
956
|
+
/**
|
|
957
|
+
* Badge positioning tokens
|
|
958
|
+
* References semanticSpacing for absolute positioning
|
|
959
|
+
* Using Tailwind classes which map to semanticSpacing values
|
|
960
|
+
*/
|
|
961
|
+
position: {
|
|
962
|
+
default: "right-md top-md",
|
|
963
|
+
// References semanticSpacing.md (16px) for both right and top via Tailwind
|
|
964
|
+
compact: "right-sm top-sm"
|
|
965
|
+
// References semanticSpacing.sm (8px) for both right and top via Tailwind
|
|
966
|
+
},
|
|
967
|
+
/**
|
|
968
|
+
* Additional vertical positioning tokens for multi-badge scenarios
|
|
969
|
+
* References semanticSpacing for top positioning
|
|
970
|
+
* Using Tailwind classes which map to semanticSpacing values
|
|
971
|
+
*/
|
|
972
|
+
positionY: {
|
|
973
|
+
xl: "top-xl",
|
|
974
|
+
// References semanticSpacing.xl (32px) via Tailwind
|
|
975
|
+
"2xl": "top-2xl",
|
|
976
|
+
// References semanticSpacing["2xl"] (48px) via Tailwind
|
|
977
|
+
"3xl": "top-3xl"
|
|
978
|
+
// References semanticSpacing["3xl"] (64px) via Tailwind
|
|
979
|
+
},
|
|
980
|
+
/**
|
|
981
|
+
* Badge surface (background) tokens
|
|
982
|
+
* Maps to semantic color tokens
|
|
983
|
+
*/
|
|
984
|
+
surface: {
|
|
985
|
+
default: "bg-primary",
|
|
986
|
+
// Default badge background - maps to semantic primary color
|
|
987
|
+
featured: "bg-gradient-to-r from-accent-500 to-primary-600"
|
|
988
|
+
// Featured badge gradient
|
|
989
|
+
},
|
|
990
|
+
/**
|
|
991
|
+
* Badge text color
|
|
992
|
+
* White for contrast on colored backgrounds
|
|
993
|
+
*/
|
|
994
|
+
text: {
|
|
995
|
+
color: "text-white"
|
|
996
|
+
// Badge text color - white for contrast on colored backgrounds
|
|
997
|
+
},
|
|
998
|
+
/**
|
|
999
|
+
* Badge border radius
|
|
1000
|
+
* References borderRadius.full (pill shape)
|
|
1001
|
+
* Using Tailwind class "rounded-full" which maps to borderRadius.full
|
|
1002
|
+
*/
|
|
1003
|
+
radius: "rounded-full",
|
|
1004
|
+
// References borderRadius.full via Tailwind
|
|
1005
|
+
/**
|
|
1006
|
+
* Badge shadow
|
|
1007
|
+
* References elevationShadows.lg
|
|
1008
|
+
* Using Tailwind class "shadow-lg" which maps to elevationShadows.lg
|
|
1009
|
+
*/
|
|
1010
|
+
shadow: "shadow-lg"
|
|
1011
|
+
// References elevationShadows.lg via Tailwind
|
|
1012
|
+
},
|
|
1013
|
+
/**
|
|
1014
|
+
* Price/Capacity tokens for displaying price and capacity information
|
|
1015
|
+
* Maps to semantic text color tokens and semanticSpacing
|
|
1016
|
+
*/
|
|
1017
|
+
priceCapacity: {
|
|
1018
|
+
/**
|
|
1019
|
+
* Text color tokens
|
|
1020
|
+
* Maps to semantic text color tokens
|
|
1021
|
+
*/
|
|
1022
|
+
text: {
|
|
1023
|
+
primary: "text-foreground",
|
|
1024
|
+
// Primary price/capacity text - maps to semantic text color
|
|
1025
|
+
secondary: "text-muted-foreground"
|
|
1026
|
+
// Secondary price/capacity text - maps to semantic muted text color
|
|
1027
|
+
},
|
|
1028
|
+
/**
|
|
1029
|
+
* Spacing between price and capacity elements
|
|
1030
|
+
* References semanticSpacing.sm (8px)
|
|
1031
|
+
* Using Tailwind class "gap-sm" which maps to semanticSpacing.sm
|
|
1032
|
+
*/
|
|
1033
|
+
spacing: "gap-sm"
|
|
1034
|
+
// References semanticSpacing.sm (8px) via Tailwind
|
|
1035
|
+
},
|
|
1036
|
+
/**
|
|
1037
|
+
* Motion tokens for hover and interaction states
|
|
1038
|
+
* References MOTION_TOKENS for transitions and animations
|
|
1039
|
+
*/
|
|
1040
|
+
motion: {
|
|
1041
|
+
/**
|
|
1042
|
+
* Hover state tokens
|
|
1043
|
+
* References MOTION_TOKENS and elevationShadows
|
|
1044
|
+
*/
|
|
1045
|
+
hover: {
|
|
1046
|
+
transition: h.transitionPreset.normal,
|
|
1047
|
+
// References MOTION_TOKENS.transitionPreset.normal
|
|
1048
|
+
scale: "hover:scale-110",
|
|
1049
|
+
// Hover scale transform (110% scale) - domain-specific value
|
|
1050
|
+
elevation: "hover:shadow-xl"
|
|
1051
|
+
// References elevationShadows.xl via Tailwind
|
|
1052
|
+
}
|
|
1053
|
+
},
|
|
1054
|
+
/**
|
|
1055
|
+
* Skeleton tokens for loading states
|
|
1056
|
+
* References DATA_TOKENS.skeleton for skeleton patterns and semanticSpacing for dimensions
|
|
1057
|
+
*/
|
|
1058
|
+
skeleton: {
|
|
1059
|
+
/**
|
|
1060
|
+
* Base skeleton wrapper tokens
|
|
1061
|
+
* Default styling for skeleton wrapper components
|
|
1062
|
+
*/
|
|
1063
|
+
base: {
|
|
1064
|
+
/**
|
|
1065
|
+
* Default border radius for skeleton wrapper
|
|
1066
|
+
* References DATA_TOKENS.skeleton.radius.text
|
|
1067
|
+
*/
|
|
1068
|
+
radius: d.skeleton.radius.text,
|
|
1069
|
+
/**
|
|
1070
|
+
* Default animation for skeleton wrapper
|
|
1071
|
+
* References DATA_TOKENS.skeleton.animation.pulse
|
|
1072
|
+
*/
|
|
1073
|
+
animation: d.skeleton.animation.pulse,
|
|
1074
|
+
/**
|
|
1075
|
+
* Default background for skeleton wrapper
|
|
1076
|
+
* References DATA_TOKENS.skeleton.background.default
|
|
1077
|
+
*/
|
|
1078
|
+
background: d.skeleton.background.default
|
|
1079
|
+
},
|
|
1080
|
+
/**
|
|
1081
|
+
* Image skeleton height
|
|
1082
|
+
* Domain-specific: card images need 192px (spacing[48] = 12rem)
|
|
1083
|
+
* Note: DATA_TOKENS.skeleton.height.card is 128px, but card images need 192px
|
|
1084
|
+
* Using Tailwind class "h-48" which maps to spacing[48] (12rem / 192px)
|
|
1085
|
+
*/
|
|
1086
|
+
image: {
|
|
1087
|
+
height: "h-48"
|
|
1088
|
+
// References spacing[48] (12rem / 192px) via Tailwind
|
|
1089
|
+
},
|
|
1090
|
+
/**
|
|
1091
|
+
* Content gap for skeleton elements
|
|
1092
|
+
* References semanticSpacing.md (16px)
|
|
1093
|
+
* Using Tailwind class "gap-md" which maps to semanticSpacing.md
|
|
1094
|
+
*/
|
|
1095
|
+
content: {
|
|
1096
|
+
gap: "gap-md",
|
|
1097
|
+
// References semanticSpacing.md (16px) via Tailwind
|
|
1098
|
+
/**
|
|
1099
|
+
* Content width tokens for skeleton elements
|
|
1100
|
+
* References DATA_TOKENS where available, uses Tailwind fraction classes for domain-specific values
|
|
1101
|
+
*/
|
|
1102
|
+
width: {
|
|
1103
|
+
full: d.skeleton.width.full,
|
|
1104
|
+
// References DATA_TOKENS.skeleton.width.full
|
|
1105
|
+
threeQuarters: "w-3/4",
|
|
1106
|
+
// Three quarters width (75%) - domain-specific, using Tailwind fraction
|
|
1107
|
+
half: "w-1/2"
|
|
1108
|
+
// Half width (50%) - domain-specific, using Tailwind fraction
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
/**
|
|
1112
|
+
* Badge skeleton dimensions
|
|
1113
|
+
* Domain-specific values for badge skeleton sizing
|
|
1114
|
+
* References spacing values via Tailwind classes
|
|
1115
|
+
*/
|
|
1116
|
+
badge: {
|
|
1117
|
+
width: "w-20",
|
|
1118
|
+
// References spacing[20] (5rem / 80px) via Tailwind
|
|
1119
|
+
height: "h-6"
|
|
1120
|
+
// References spacing[6] (1.5rem / 24px) via Tailwind
|
|
1121
|
+
}
|
|
423
1122
|
}
|
|
424
|
-
},
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
"-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
"
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
},
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
1123
|
+
}, S = {
|
|
1124
|
+
/**
|
|
1125
|
+
* Input heights by size
|
|
1126
|
+
* Supports xs, sm, md, lg, xl sizes
|
|
1127
|
+
*/
|
|
1128
|
+
height: {
|
|
1129
|
+
xs: "h-7",
|
|
1130
|
+
// 28px (1.75rem)
|
|
1131
|
+
sm: "h-8",
|
|
1132
|
+
// 32px (2rem)
|
|
1133
|
+
md: "h-9",
|
|
1134
|
+
// 36px (2.25rem) - default
|
|
1135
|
+
lg: "h-10",
|
|
1136
|
+
// 40px (2.5rem)
|
|
1137
|
+
xl: "h-11"
|
|
1138
|
+
// 44px (2.75rem)
|
|
1139
|
+
},
|
|
1140
|
+
/**
|
|
1141
|
+
* Input padding by size
|
|
1142
|
+
* Horizontal and vertical padding values
|
|
1143
|
+
*/
|
|
1144
|
+
padding: {
|
|
1145
|
+
horizontal: {
|
|
1146
|
+
xs: "px-xs",
|
|
1147
|
+
// 4px (0.25rem)
|
|
1148
|
+
sm: "px-sm",
|
|
1149
|
+
// 8px (0.5rem)
|
|
1150
|
+
md: "px-sm",
|
|
1151
|
+
// 8px (0.5rem) - default
|
|
1152
|
+
lg: "px-md",
|
|
1153
|
+
// 16px (1rem)
|
|
1154
|
+
xl: "px-lg"
|
|
1155
|
+
// 24px (1.5rem)
|
|
1156
|
+
},
|
|
1157
|
+
vertical: {
|
|
1158
|
+
xs: "py-xs",
|
|
1159
|
+
// 4px (0.25rem)
|
|
1160
|
+
sm: "py-xs",
|
|
1161
|
+
// 4px (0.25rem)
|
|
1162
|
+
md: "py-xs",
|
|
1163
|
+
// 4px (0.25rem) - default
|
|
1164
|
+
lg: "py-sm",
|
|
1165
|
+
// 8px (0.5rem)
|
|
1166
|
+
xl: "py-md"
|
|
1167
|
+
// 16px (1rem)
|
|
1168
|
+
}
|
|
1169
|
+
},
|
|
1170
|
+
/**
|
|
1171
|
+
* Border radius by size
|
|
1172
|
+
*/
|
|
1173
|
+
radius: {
|
|
1174
|
+
xs: "rounded-sm",
|
|
1175
|
+
// 4px (0.25rem)
|
|
1176
|
+
sm: "rounded-md",
|
|
1177
|
+
// 6px (0.375rem)
|
|
1178
|
+
md: "rounded-md",
|
|
1179
|
+
// 6px (0.375rem) - default
|
|
1180
|
+
lg: "rounded-md",
|
|
1181
|
+
// 6px (0.375rem)
|
|
1182
|
+
xl: "rounded-lg"
|
|
1183
|
+
// 8px (0.5rem)
|
|
1184
|
+
},
|
|
1185
|
+
/**
|
|
1186
|
+
* Font sizes by size variant
|
|
1187
|
+
* Maps to foundation typography fontSize tokens
|
|
1188
|
+
*/
|
|
1189
|
+
fontSize: {
|
|
1190
|
+
xs: "text-xs",
|
|
1191
|
+
// Maps to fontSize.xs[0]
|
|
1192
|
+
sm: "text-sm",
|
|
1193
|
+
// Maps to fontSize.sm[0]
|
|
1194
|
+
md: "text-base",
|
|
1195
|
+
// Maps to fontSize.base[0] - default
|
|
1196
|
+
lg: "text-base",
|
|
1197
|
+
// Maps to fontSize.base[0]
|
|
1198
|
+
xl: "text-lg"
|
|
1199
|
+
// Maps to fontSize.lg[0]
|
|
1200
|
+
},
|
|
1201
|
+
/**
|
|
1202
|
+
* Responsive font size (md breakpoint)
|
|
1203
|
+
*/
|
|
1204
|
+
fontSizeResponsive: {
|
|
1205
|
+
md: "md:text-sm"
|
|
1206
|
+
// Maps to fontSize.sm[0] at md breakpoint
|
|
1207
|
+
},
|
|
1208
|
+
/**
|
|
1209
|
+
* Shadow token
|
|
1210
|
+
* Maps to foundation elevation shadow tokens
|
|
1211
|
+
*/
|
|
1212
|
+
shadow: "shadow-sm",
|
|
1213
|
+
// Maps to elevationShadows.sm
|
|
1214
|
+
/**
|
|
1215
|
+
* File input tokens
|
|
1216
|
+
* Styling for file input elements
|
|
1217
|
+
*/
|
|
1218
|
+
file: {
|
|
1219
|
+
text: "text-[hsl(var(--foreground))]"
|
|
1220
|
+
// File input text color using CSS var
|
|
1221
|
+
},
|
|
1222
|
+
/**
|
|
1223
|
+
* Select listbox tokens
|
|
1224
|
+
* Styling for select dropdown container
|
|
1225
|
+
*/
|
|
1226
|
+
selectListbox: {
|
|
1227
|
+
border: "border border-[hsl(var(--border))]",
|
|
1228
|
+
// Border color using CSS var
|
|
1229
|
+
background: "bg-[hsl(var(--popover))]",
|
|
1230
|
+
// Background using CSS var
|
|
1231
|
+
text: "text-[hsl(var(--popover-foreground))]",
|
|
1232
|
+
// Text color using CSS var
|
|
1233
|
+
radius: "rounded-md",
|
|
1234
|
+
// Radius token (6px)
|
|
1235
|
+
shadow: "shadow-md"
|
|
1236
|
+
// Shadow token
|
|
1237
|
+
},
|
|
1238
|
+
/**
|
|
1239
|
+
* Select option tokens
|
|
1240
|
+
* Styling for select option items
|
|
1241
|
+
*/
|
|
1242
|
+
selectOption: {
|
|
1243
|
+
focus: {
|
|
1244
|
+
background: "focus:bg-[hsl(var(--accent))]",
|
|
1245
|
+
// Focus background using CSS var
|
|
1246
|
+
text: "focus:text-[hsl(var(--accent-foreground))]"
|
|
1247
|
+
// Focus text using CSS var
|
|
1248
|
+
},
|
|
1249
|
+
selected: {
|
|
1250
|
+
background: "bg-[hsl(var(--accent))]",
|
|
1251
|
+
// Selected background using CSS var
|
|
1252
|
+
text: "text-[hsl(var(--accent-foreground))]"
|
|
1253
|
+
// Selected text using CSS var
|
|
1254
|
+
}
|
|
1255
|
+
},
|
|
1256
|
+
/**
|
|
1257
|
+
* Variant-based tokens
|
|
1258
|
+
* Border, background, and text colors for different variants
|
|
1259
|
+
* All use CSS variable references for theme support
|
|
1260
|
+
*/
|
|
1261
|
+
variant: {
|
|
1262
|
+
primary: {
|
|
1263
|
+
border: "border-[hsl(var(--tm-primary))]",
|
|
1264
|
+
// Primary border color
|
|
1265
|
+
background: "bg-[hsl(var(--tm-primary))]",
|
|
1266
|
+
// Primary background
|
|
1267
|
+
text: "text-[hsl(var(--tm-primary-foreground))]",
|
|
1268
|
+
// Primary text color
|
|
1269
|
+
focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
|
|
1270
|
+
// Primary focus ring
|
|
1271
|
+
},
|
|
1272
|
+
secondary: {
|
|
1273
|
+
border: "border-[hsl(var(--tm-secondary))]",
|
|
1274
|
+
// Secondary border color
|
|
1275
|
+
background: "bg-[hsl(var(--tm-secondary))]",
|
|
1276
|
+
// Secondary background
|
|
1277
|
+
text: "text-[hsl(var(--tm-secondary-foreground))]",
|
|
1278
|
+
// Secondary text color
|
|
1279
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1280
|
+
// Default focus ring
|
|
1281
|
+
},
|
|
1282
|
+
outline: {
|
|
1283
|
+
border: "border-[hsl(var(--input))]",
|
|
1284
|
+
// Input border color
|
|
1285
|
+
background: "bg-transparent",
|
|
1286
|
+
// Transparent background
|
|
1287
|
+
text: "text-[hsl(var(--foreground))]",
|
|
1288
|
+
// Foreground text color
|
|
1289
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1290
|
+
// Default focus ring
|
|
1291
|
+
},
|
|
1292
|
+
ghost: {
|
|
1293
|
+
border: "border-transparent",
|
|
1294
|
+
// Transparent border
|
|
1295
|
+
background: "bg-transparent",
|
|
1296
|
+
// Transparent background
|
|
1297
|
+
text: "text-[hsl(var(--foreground))]",
|
|
1298
|
+
// Foreground text color
|
|
1299
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1300
|
+
// Default focus ring
|
|
1301
|
+
},
|
|
1302
|
+
destructive: {
|
|
1303
|
+
border: "border-[hsl(var(--destructive))]",
|
|
1304
|
+
// Destructive border color
|
|
1305
|
+
background: "bg-[hsl(var(--destructive))]",
|
|
1306
|
+
// Destructive background
|
|
1307
|
+
text: "text-[hsl(var(--destructive-foreground))]",
|
|
1308
|
+
// Destructive text color
|
|
1309
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1310
|
+
// Default focus ring
|
|
1311
|
+
}
|
|
1312
|
+
},
|
|
1313
|
+
/**
|
|
1314
|
+
* State-based tokens
|
|
1315
|
+
* Border, background, and text colors for different states
|
|
1316
|
+
* All use CSS variable references for theme support
|
|
1317
|
+
*/
|
|
1318
|
+
state: {
|
|
1319
|
+
border: {
|
|
1320
|
+
default: "border-[hsl(var(--input))]",
|
|
1321
|
+
// Default border color using CSS var
|
|
1322
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]",
|
|
1323
|
+
// Focus ring using CSS var
|
|
1324
|
+
error: "border-[hsl(var(--destructive))]",
|
|
1325
|
+
// Error state border using CSS var
|
|
1326
|
+
success: "border-[hsl(var(--semantic-success))]",
|
|
1327
|
+
// Success state border using CSS var
|
|
1328
|
+
disabled: "border-[hsl(var(--input))]"
|
|
1329
|
+
// Disabled state border (same as default)
|
|
1330
|
+
},
|
|
1331
|
+
background: {
|
|
1332
|
+
default: "bg-transparent",
|
|
1333
|
+
// Default background
|
|
1334
|
+
disabled: "bg-transparent"
|
|
1335
|
+
// Disabled background (same as default)
|
|
1336
|
+
},
|
|
1337
|
+
text: {
|
|
1338
|
+
default: "text-[hsl(var(--foreground))]",
|
|
1339
|
+
// Default text color using CSS var
|
|
1340
|
+
placeholder: "placeholder:text-[hsl(var(--muted-foreground))]",
|
|
1341
|
+
// Placeholder text color using CSS var
|
|
1342
|
+
disabled: "disabled:opacity-50"
|
|
1343
|
+
// Disabled text opacity
|
|
1344
|
+
}
|
|
1345
|
+
},
|
|
1346
|
+
/**
|
|
1347
|
+
* Icon tokens
|
|
1348
|
+
* Size, spacing, and color for icons within inputs
|
|
1349
|
+
*/
|
|
1350
|
+
icon: {
|
|
1351
|
+
size: "size-4",
|
|
1352
|
+
// 16px (1rem) - maps to spacing[4]
|
|
1353
|
+
gap: "gap-sm",
|
|
1354
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
1355
|
+
paddingLeft: "pl-lg",
|
|
1356
|
+
// 24px (1.5rem) - padding when icon on left
|
|
1357
|
+
paddingRight: "pr-lg",
|
|
1358
|
+
// 24px (1.5rem) - padding when icon on right
|
|
1359
|
+
color: "text-[hsl(var(--muted-foreground))]",
|
|
1360
|
+
// Icon color using CSS variable
|
|
1361
|
+
position: {
|
|
1362
|
+
left: "left-0",
|
|
1363
|
+
// Position left
|
|
1364
|
+
right: "right-0",
|
|
1365
|
+
// Position right
|
|
1366
|
+
top: "top-0"
|
|
1367
|
+
// Position top
|
|
1368
|
+
}
|
|
1369
|
+
},
|
|
1370
|
+
/**
|
|
1371
|
+
* Label tokens
|
|
1372
|
+
* Spacing and styling for labels
|
|
1373
|
+
*/
|
|
669
1374
|
label: {
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
},
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
1375
|
+
spacing: "space-y-sm",
|
|
1376
|
+
// 8px (0.5rem) - spacing between label and control
|
|
1377
|
+
requiredMark: "text-destructive"
|
|
1378
|
+
// Color for required asterisk
|
|
1379
|
+
},
|
|
1380
|
+
/**
|
|
1381
|
+
* Width tokens
|
|
1382
|
+
* Common width utilities
|
|
1383
|
+
*/
|
|
1384
|
+
width: {
|
|
1385
|
+
full: "w-full"
|
|
1386
|
+
// Full width (100%)
|
|
1387
|
+
},
|
|
1388
|
+
/**
|
|
1389
|
+
* Message tokens
|
|
1390
|
+
* Spacing, positioning, and styling for helper text and error messages
|
|
1391
|
+
*/
|
|
1392
|
+
message: {
|
|
1393
|
+
spacing: "space-y-sm",
|
|
1394
|
+
// 8px (0.5rem) - spacing between control and message
|
|
1395
|
+
position: {
|
|
1396
|
+
bottom: "bottom-sm",
|
|
1397
|
+
// 8px (0.5rem) - bottom position for character counter
|
|
1398
|
+
right: "right-sm"
|
|
1399
|
+
// 8px (0.5rem) - right position for character counter
|
|
1400
|
+
},
|
|
1401
|
+
color: {
|
|
1402
|
+
default: "text-[hsl(var(--muted-foreground))]",
|
|
1403
|
+
// Default message color
|
|
1404
|
+
error: "text-[hsl(var(--destructive))]",
|
|
1405
|
+
// Error message color
|
|
1406
|
+
success: "text-[hsl(var(--semantic-success))]"
|
|
1407
|
+
// Success message color
|
|
1408
|
+
}
|
|
1409
|
+
},
|
|
1410
|
+
/**
|
|
1411
|
+
* Size-based token structure
|
|
1412
|
+
* Organized by size for easy access
|
|
1413
|
+
*/
|
|
1414
|
+
size: {
|
|
1415
|
+
xs: {
|
|
1416
|
+
height: "h-7",
|
|
1417
|
+
padding: {
|
|
1418
|
+
horizontal: "px-xs",
|
|
1419
|
+
vertical: "py-xs"
|
|
1420
|
+
},
|
|
1421
|
+
radius: "rounded-sm",
|
|
1422
|
+
fontSize: "text-xs",
|
|
1423
|
+
shadow: "shadow-sm"
|
|
1424
|
+
},
|
|
1425
|
+
sm: {
|
|
1426
|
+
height: "h-8",
|
|
1427
|
+
padding: {
|
|
1428
|
+
horizontal: "px-sm",
|
|
1429
|
+
vertical: "py-xs"
|
|
1430
|
+
},
|
|
1431
|
+
radius: "rounded-md",
|
|
1432
|
+
fontSize: "text-sm",
|
|
1433
|
+
shadow: "shadow-sm"
|
|
1434
|
+
},
|
|
1435
|
+
md: {
|
|
1436
|
+
height: "h-9",
|
|
1437
|
+
padding: {
|
|
1438
|
+
horizontal: "px-sm",
|
|
1439
|
+
vertical: "py-xs"
|
|
1440
|
+
},
|
|
1441
|
+
radius: "rounded-md",
|
|
1442
|
+
fontSize: "text-base",
|
|
1443
|
+
fontSizeResponsive: "md:text-sm",
|
|
1444
|
+
shadow: "shadow-sm"
|
|
1445
|
+
},
|
|
1446
|
+
lg: {
|
|
1447
|
+
height: "h-10",
|
|
1448
|
+
padding: {
|
|
1449
|
+
horizontal: "px-md",
|
|
1450
|
+
vertical: "py-sm"
|
|
1451
|
+
},
|
|
1452
|
+
radius: "rounded-md",
|
|
1453
|
+
fontSize: "text-base",
|
|
1454
|
+
shadow: "shadow-sm"
|
|
1455
|
+
},
|
|
1456
|
+
xl: {
|
|
1457
|
+
height: "h-11",
|
|
1458
|
+
padding: {
|
|
1459
|
+
horizontal: "px-lg",
|
|
1460
|
+
vertical: "py-md"
|
|
1461
|
+
},
|
|
1462
|
+
radius: "rounded-lg",
|
|
1463
|
+
fontSize: "text-lg",
|
|
1464
|
+
shadow: "shadow-sm"
|
|
1465
|
+
}
|
|
690
1466
|
}
|
|
691
|
-
},
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
1467
|
+
}, z = {
|
|
1468
|
+
/**
|
|
1469
|
+
* Checkbox sizes by size variant
|
|
1470
|
+
* Supports xs, sm, md, lg, xl sizes
|
|
1471
|
+
* Checkboxes are typically square and smaller than input fields
|
|
1472
|
+
*/
|
|
1473
|
+
size: {
|
|
1474
|
+
xs: {
|
|
1475
|
+
width: "w-3.5",
|
|
1476
|
+
// 14px (0.875rem)
|
|
1477
|
+
height: "h-3.5",
|
|
1478
|
+
// 14px (0.875rem)
|
|
1479
|
+
radius: "rounded-sm",
|
|
1480
|
+
// 4px (0.25rem)
|
|
1481
|
+
iconSize: "size-2.5"
|
|
1482
|
+
// 10px (0.625rem)
|
|
1483
|
+
},
|
|
1484
|
+
sm: {
|
|
1485
|
+
width: "w-4",
|
|
1486
|
+
// 16px (1rem)
|
|
1487
|
+
height: "h-4",
|
|
1488
|
+
// 16px (1rem)
|
|
1489
|
+
radius: "rounded-sm",
|
|
1490
|
+
// 4px (0.25rem)
|
|
1491
|
+
iconSize: "size-3"
|
|
1492
|
+
// 12px (0.75rem)
|
|
1493
|
+
},
|
|
1494
|
+
md: {
|
|
1495
|
+
width: "w-4.5",
|
|
1496
|
+
// 18px (1.125rem) - default
|
|
1497
|
+
height: "h-4.5",
|
|
1498
|
+
// 18px (1.125rem) - default
|
|
1499
|
+
radius: "rounded-md",
|
|
1500
|
+
// 6px (0.375rem)
|
|
1501
|
+
iconSize: "size-3.5"
|
|
1502
|
+
// 14px (0.875rem)
|
|
1503
|
+
},
|
|
1504
|
+
lg: {
|
|
1505
|
+
width: "w-5",
|
|
1506
|
+
// 20px (1.25rem)
|
|
1507
|
+
height: "h-5",
|
|
1508
|
+
// 20px (1.25rem)
|
|
1509
|
+
radius: "rounded-md",
|
|
1510
|
+
// 6px (0.375rem)
|
|
1511
|
+
iconSize: "size-4"
|
|
1512
|
+
// 16px (1rem)
|
|
1513
|
+
},
|
|
1514
|
+
xl: {
|
|
1515
|
+
width: "w-6",
|
|
1516
|
+
// 24px (1.5rem)
|
|
1517
|
+
height: "h-6",
|
|
1518
|
+
// 24px (1.5rem)
|
|
1519
|
+
radius: "rounded-md",
|
|
1520
|
+
// 6px (0.375rem)
|
|
1521
|
+
iconSize: "size-5"
|
|
1522
|
+
// 20px (1.25rem)
|
|
1523
|
+
}
|
|
1524
|
+
},
|
|
1525
|
+
/**
|
|
1526
|
+
* Variant-based tokens
|
|
1527
|
+
* Border, background, and text colors for different variants
|
|
1528
|
+
* All use CSS variable references for theme support
|
|
1529
|
+
*/
|
|
1530
|
+
variant: {
|
|
1531
|
+
primary: {
|
|
1532
|
+
border: "border-[hsl(var(--tm-primary))]",
|
|
1533
|
+
// Primary border color
|
|
1534
|
+
background: "bg-[hsl(var(--tm-primary))]",
|
|
1535
|
+
// Primary background
|
|
1536
|
+
text: "text-[hsl(var(--tm-primary-foreground))]",
|
|
1537
|
+
// Primary text color (for checkmark)
|
|
1538
|
+
focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
|
|
1539
|
+
// Primary focus ring
|
|
1540
|
+
},
|
|
1541
|
+
secondary: {
|
|
1542
|
+
border: "border-[hsl(var(--tm-secondary))]",
|
|
1543
|
+
// Secondary border color
|
|
1544
|
+
background: "bg-[hsl(var(--tm-secondary))]",
|
|
1545
|
+
// Secondary background
|
|
1546
|
+
text: "text-[hsl(var(--tm-secondary-foreground))]",
|
|
1547
|
+
// Secondary text color (for checkmark)
|
|
1548
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1549
|
+
// Default focus ring
|
|
1550
|
+
},
|
|
1551
|
+
outline: {
|
|
1552
|
+
border: "border-[hsl(var(--input))]",
|
|
1553
|
+
// Input border color
|
|
1554
|
+
background: "bg-transparent",
|
|
1555
|
+
// Transparent background
|
|
1556
|
+
text: "text-[hsl(var(--foreground))]",
|
|
1557
|
+
// Foreground text color (for checkmark)
|
|
1558
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1559
|
+
// Default focus ring
|
|
1560
|
+
},
|
|
1561
|
+
ghost: {
|
|
1562
|
+
border: "border-transparent",
|
|
1563
|
+
// Transparent border
|
|
1564
|
+
background: "bg-transparent",
|
|
1565
|
+
// Transparent background
|
|
1566
|
+
text: "text-[hsl(var(--foreground))]",
|
|
1567
|
+
// Foreground text color (for checkmark)
|
|
1568
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1569
|
+
// Default focus ring
|
|
1570
|
+
},
|
|
1571
|
+
destructive: {
|
|
1572
|
+
border: "border-[hsl(var(--destructive))]",
|
|
1573
|
+
// Destructive border color
|
|
1574
|
+
background: "bg-[hsl(var(--destructive))]",
|
|
1575
|
+
// Destructive background
|
|
1576
|
+
text: "text-[hsl(var(--destructive-foreground))]",
|
|
1577
|
+
// Destructive text color (for checkmark)
|
|
1578
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1579
|
+
// Default focus ring
|
|
1580
|
+
}
|
|
1581
|
+
},
|
|
1582
|
+
/**
|
|
1583
|
+
* State-based tokens
|
|
1584
|
+
* Border, background, and text colors for different states
|
|
1585
|
+
* All use CSS variable references for theme support
|
|
1586
|
+
*/
|
|
1587
|
+
state: {
|
|
1588
|
+
border: {
|
|
1589
|
+
default: "border-[hsl(var(--input))]",
|
|
1590
|
+
// Default border color using CSS var
|
|
1591
|
+
checked: "border-[hsl(var(--tm-primary))]",
|
|
1592
|
+
// Checked state border
|
|
1593
|
+
indeterminate: "border-[hsl(var(--tm-primary))]",
|
|
1594
|
+
// Indeterminate state border
|
|
1595
|
+
error: "border-[hsl(var(--destructive))]",
|
|
1596
|
+
// Error state border using CSS var
|
|
1597
|
+
disabled: "border-[hsl(var(--input))]",
|
|
1598
|
+
// Disabled state border (same as default)
|
|
1599
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1600
|
+
// Focus ring using CSS var
|
|
1601
|
+
},
|
|
1602
|
+
background: {
|
|
1603
|
+
default: "bg-transparent",
|
|
1604
|
+
// Default background
|
|
1605
|
+
checked: "bg-[hsl(var(--tm-primary))]",
|
|
1606
|
+
// Checked state background
|
|
1607
|
+
indeterminate: "bg-[hsl(var(--tm-primary))]",
|
|
1608
|
+
// Indeterminate state background
|
|
1609
|
+
disabled: "bg-transparent",
|
|
1610
|
+
// Disabled background (same as default)
|
|
1611
|
+
disabledChecked: "bg-[hsl(var(--muted))]"
|
|
1612
|
+
// Disabled checked background
|
|
1613
|
+
},
|
|
1614
|
+
text: {
|
|
1615
|
+
default: "text-[hsl(var(--foreground))]",
|
|
1616
|
+
// Default text color using CSS var
|
|
1617
|
+
checked: "text-[hsl(var(--tm-primary-foreground))]",
|
|
1618
|
+
// Checked state text (for checkmark)
|
|
1619
|
+
indeterminate: "text-[hsl(var(--tm-primary-foreground))]",
|
|
1620
|
+
// Indeterminate state text
|
|
1621
|
+
disabled: "disabled:opacity-50"
|
|
1622
|
+
// Disabled text opacity
|
|
1623
|
+
}
|
|
1624
|
+
},
|
|
1625
|
+
/**
|
|
1626
|
+
* Icon tokens
|
|
1627
|
+
* Size and styling for checkmark icon within checkbox
|
|
1628
|
+
*/
|
|
1629
|
+
icon: {
|
|
1630
|
+
size: {
|
|
1631
|
+
xs: "size-2.5",
|
|
1632
|
+
// 10px (0.625rem)
|
|
1633
|
+
sm: "size-3",
|
|
1634
|
+
// 12px (0.75rem)
|
|
1635
|
+
md: "size-3.5",
|
|
1636
|
+
// 14px (0.875rem) - default
|
|
1637
|
+
lg: "size-4",
|
|
1638
|
+
// 16px (1rem)
|
|
1639
|
+
xl: "size-5"
|
|
1640
|
+
// 20px (1.25rem)
|
|
1641
|
+
},
|
|
1642
|
+
stroke: "stroke-2",
|
|
1643
|
+
// 2px stroke width for checkmark
|
|
1644
|
+
color: {
|
|
1645
|
+
default: "text-[hsl(var(--tm-primary-foreground))]",
|
|
1646
|
+
// Default checkmark color
|
|
1647
|
+
disabled: "text-[hsl(var(--muted-foreground))]"
|
|
1648
|
+
// Disabled checkmark color
|
|
1649
|
+
}
|
|
1650
|
+
},
|
|
1651
|
+
/**
|
|
1652
|
+
* Indeterminate indicator tokens
|
|
1653
|
+
* Styling for indeterminate state (horizontal line)
|
|
1654
|
+
*/
|
|
1655
|
+
indeterminate: {
|
|
1656
|
+
width: "w-2",
|
|
1657
|
+
// Width of indeterminate indicator
|
|
1658
|
+
height: "h-0.5",
|
|
1659
|
+
// Height of indeterminate indicator (horizontal line)
|
|
1660
|
+
color: "bg-[hsl(var(--tm-primary-foreground))]"
|
|
1661
|
+
// Color of indeterminate indicator
|
|
1662
|
+
},
|
|
1663
|
+
/**
|
|
1664
|
+
* Shadow token
|
|
1665
|
+
* Maps to foundation elevation shadow tokens
|
|
1666
|
+
*/
|
|
1667
|
+
shadow: "shadow-sm",
|
|
1668
|
+
// Maps to elevationShadows.sm
|
|
1669
|
+
/**
|
|
1670
|
+
* Transition tokens
|
|
1671
|
+
* Smooth transitions for state changes
|
|
1672
|
+
*/
|
|
1673
|
+
transition: "transition-all duration-200 ease-in-out"
|
|
1674
|
+
// Smooth transitions
|
|
1675
|
+
}, O = {
|
|
1676
|
+
/**
|
|
1677
|
+
* Track sizes by size variant
|
|
1678
|
+
* Supports xs, sm, md, lg, xl sizes
|
|
1679
|
+
* Track is wider than tall (typical switch proportions)
|
|
1680
|
+
*/
|
|
1681
|
+
track: {
|
|
1682
|
+
xs: {
|
|
1683
|
+
width: "w-8",
|
|
1684
|
+
// 32px (2rem)
|
|
1685
|
+
height: "h-4",
|
|
1686
|
+
// 16px (1rem)
|
|
1687
|
+
radius: "rounded-full"
|
|
1688
|
+
// Fully rounded
|
|
1689
|
+
},
|
|
1690
|
+
sm: {
|
|
1691
|
+
width: "w-9",
|
|
1692
|
+
// 36px (2.25rem)
|
|
1693
|
+
height: "h-5",
|
|
1694
|
+
// 20px (1.25rem)
|
|
1695
|
+
radius: "rounded-full"
|
|
1696
|
+
// Fully rounded
|
|
1697
|
+
},
|
|
1698
|
+
md: {
|
|
1699
|
+
width: "w-11",
|
|
1700
|
+
// 44px (2.75rem) - default
|
|
1701
|
+
height: "h-6",
|
|
1702
|
+
// 24px (1.5rem) - default
|
|
1703
|
+
radius: "rounded-full"
|
|
1704
|
+
// Fully rounded
|
|
1705
|
+
},
|
|
1706
|
+
lg: {
|
|
1707
|
+
width: "w-14",
|
|
1708
|
+
// 56px (3.5rem)
|
|
1709
|
+
height: "h-7",
|
|
1710
|
+
// 28px (1.75rem)
|
|
1711
|
+
radius: "rounded-full"
|
|
1712
|
+
// Fully rounded
|
|
1713
|
+
},
|
|
1714
|
+
xl: {
|
|
1715
|
+
width: "w-16",
|
|
1716
|
+
// 64px (4rem)
|
|
1717
|
+
height: "h-8",
|
|
1718
|
+
// 32px (2rem)
|
|
1719
|
+
radius: "rounded-full"
|
|
1720
|
+
// Fully rounded
|
|
1721
|
+
}
|
|
1722
|
+
},
|
|
1723
|
+
/**
|
|
1724
|
+
* Handle sizes by size variant
|
|
1725
|
+
* Circular thumb that slides within the track
|
|
1726
|
+
* Slightly smaller than track height to allow for padding
|
|
1727
|
+
*/
|
|
1728
|
+
handle: {
|
|
1729
|
+
xs: {
|
|
1730
|
+
width: "w-3",
|
|
1731
|
+
// 12px (0.75rem)
|
|
1732
|
+
height: "h-3",
|
|
1733
|
+
// 12px (0.75rem)
|
|
1734
|
+
radius: "rounded-full",
|
|
1735
|
+
// Fully rounded
|
|
1736
|
+
translate: "translate-x-4"
|
|
1737
|
+
// Distance to move when checked (32px - 12px - 4px padding = 16px)
|
|
1738
|
+
},
|
|
1739
|
+
sm: {
|
|
1740
|
+
width: "w-4",
|
|
1741
|
+
// 16px (1rem)
|
|
1742
|
+
height: "h-4",
|
|
1743
|
+
// 16px (1rem)
|
|
1744
|
+
radius: "rounded-full",
|
|
1745
|
+
// Fully rounded
|
|
1746
|
+
translate: "translate-x-4"
|
|
1747
|
+
// Distance to move when checked (36px - 16px - 4px padding = 16px)
|
|
1748
|
+
},
|
|
1749
|
+
md: {
|
|
1750
|
+
width: "w-5",
|
|
1751
|
+
// 20px (1.25rem) - default
|
|
1752
|
+
height: "h-5",
|
|
1753
|
+
// 20px (1.25rem) - default
|
|
1754
|
+
radius: "rounded-full",
|
|
1755
|
+
// Fully rounded
|
|
1756
|
+
translate: "translate-x-5"
|
|
1757
|
+
// Distance to move when checked (44px - 20px - 4px padding = 20px)
|
|
1758
|
+
},
|
|
1759
|
+
lg: {
|
|
1760
|
+
width: "w-6",
|
|
1761
|
+
// 24px (1.5rem)
|
|
1762
|
+
height: "h-6",
|
|
1763
|
+
// 24px (1.5rem)
|
|
1764
|
+
radius: "rounded-full",
|
|
1765
|
+
// Fully rounded
|
|
1766
|
+
translate: "translate-x-7"
|
|
1767
|
+
// Distance to move when checked (56px - 24px - 4px padding = 28px)
|
|
1768
|
+
},
|
|
1769
|
+
xl: {
|
|
1770
|
+
width: "w-7",
|
|
1771
|
+
// 28px (1.75rem)
|
|
1772
|
+
height: "h-7",
|
|
1773
|
+
// 28px (1.75rem)
|
|
1774
|
+
radius: "rounded-full",
|
|
1775
|
+
// Fully rounded
|
|
1776
|
+
translate: "translate-x-8"
|
|
1777
|
+
// Distance to move when checked (64px - 28px - 4px padding = 32px)
|
|
1778
|
+
},
|
|
1779
|
+
/**
|
|
1780
|
+
* Handle positioning tokens
|
|
1781
|
+
* For absolute positioning within the track
|
|
1782
|
+
*/
|
|
1783
|
+
position: {
|
|
1784
|
+
left: "left-xs",
|
|
1785
|
+
// 4px (0.125rem) - small offset from track edge
|
|
1786
|
+
top: "top-1/2",
|
|
1787
|
+
// Center vertically (50%)
|
|
1788
|
+
center: "-translate-y-1/2"
|
|
1789
|
+
// Center vertically using transform
|
|
1790
|
+
}
|
|
1791
|
+
},
|
|
1792
|
+
/**
|
|
1793
|
+
* Variant-based tokens
|
|
1794
|
+
* Track and handle colors for different variants
|
|
1795
|
+
* All use CSS variable references for theme support
|
|
1796
|
+
*/
|
|
1797
|
+
variant: {
|
|
1798
|
+
primary: {
|
|
1799
|
+
track: {
|
|
1800
|
+
unchecked: "bg-[hsl(var(--input))]",
|
|
1801
|
+
// Input border color when unchecked
|
|
1802
|
+
checked: "bg-[hsl(var(--tm-primary))]"
|
|
1803
|
+
// Primary color when checked
|
|
1804
|
+
},
|
|
1805
|
+
handle: {
|
|
1806
|
+
unchecked: "bg-[hsl(var(--muted))]",
|
|
1807
|
+
// Muted color when unchecked
|
|
1808
|
+
checked: "bg-[hsl(var(--tm-primary-foreground))]"
|
|
1809
|
+
// Primary foreground when checked
|
|
1810
|
+
},
|
|
1811
|
+
focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
|
|
1812
|
+
// Primary focus ring
|
|
1813
|
+
},
|
|
1814
|
+
secondary: {
|
|
1815
|
+
track: {
|
|
1816
|
+
unchecked: "bg-[hsl(var(--input))]",
|
|
1817
|
+
// Input border color when unchecked
|
|
1818
|
+
checked: "bg-[hsl(var(--tm-secondary))]"
|
|
1819
|
+
// Secondary color when checked
|
|
1820
|
+
},
|
|
1821
|
+
handle: {
|
|
1822
|
+
unchecked: "bg-[hsl(var(--muted))]",
|
|
1823
|
+
// Muted color when unchecked
|
|
1824
|
+
checked: "bg-[hsl(var(--tm-secondary-foreground))]"
|
|
1825
|
+
// Secondary foreground when checked
|
|
1826
|
+
},
|
|
1827
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1828
|
+
// Default focus ring
|
|
1829
|
+
},
|
|
1830
|
+
outline: {
|
|
1831
|
+
track: {
|
|
1832
|
+
unchecked: "bg-[hsl(var(--input))]",
|
|
1833
|
+
// Input border color when unchecked
|
|
1834
|
+
checked: "bg-[hsl(var(--tm-primary))]"
|
|
1835
|
+
// Primary color when checked
|
|
1836
|
+
},
|
|
1837
|
+
handle: {
|
|
1838
|
+
unchecked: "bg-[hsl(var(--muted))]",
|
|
1839
|
+
// Muted color when unchecked
|
|
1840
|
+
checked: "bg-[hsl(var(--tm-primary-foreground))]"
|
|
1841
|
+
// Primary foreground when checked
|
|
1842
|
+
},
|
|
1843
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1844
|
+
// Default focus ring
|
|
1845
|
+
},
|
|
1846
|
+
ghost: {
|
|
1847
|
+
track: {
|
|
1848
|
+
unchecked: "bg-[hsl(var(--muted))]",
|
|
1849
|
+
// Muted background when unchecked
|
|
1850
|
+
checked: "bg-[hsl(var(--tm-primary))]"
|
|
1851
|
+
// Primary color when checked
|
|
1852
|
+
},
|
|
1853
|
+
handle: {
|
|
1854
|
+
unchecked: "bg-[hsl(var(--muted-foreground))]",
|
|
1855
|
+
// Muted foreground when unchecked
|
|
1856
|
+
checked: "bg-[hsl(var(--tm-primary-foreground))]"
|
|
1857
|
+
// Primary foreground when checked
|
|
1858
|
+
},
|
|
1859
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1860
|
+
// Default focus ring
|
|
1861
|
+
},
|
|
1862
|
+
destructive: {
|
|
1863
|
+
track: {
|
|
1864
|
+
unchecked: "bg-[hsl(var(--input))]",
|
|
1865
|
+
// Input border color when unchecked
|
|
1866
|
+
checked: "bg-[hsl(var(--destructive))]"
|
|
1867
|
+
// Destructive color when checked
|
|
1868
|
+
},
|
|
1869
|
+
handle: {
|
|
1870
|
+
unchecked: "bg-[hsl(var(--muted))]",
|
|
1871
|
+
// Muted color when unchecked
|
|
1872
|
+
checked: "bg-[hsl(var(--destructive-foreground))]"
|
|
1873
|
+
// Destructive foreground when checked
|
|
1874
|
+
},
|
|
1875
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
1876
|
+
// Default focus ring
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
/**
|
|
1880
|
+
* State-based tokens
|
|
1881
|
+
* Track and handle colors for different states
|
|
1882
|
+
* All use CSS variable references for theme support
|
|
1883
|
+
*/
|
|
1884
|
+
state: {
|
|
1885
|
+
track: {
|
|
1886
|
+
default: "bg-[hsl(var(--input))]",
|
|
1887
|
+
// Default track color using CSS var
|
|
1888
|
+
checked: "bg-[hsl(var(--tm-primary))]",
|
|
1889
|
+
// Checked state track
|
|
1890
|
+
disabled: "bg-[hsl(var(--muted))]",
|
|
1891
|
+
// Disabled state track
|
|
1892
|
+
disabledChecked: "bg-[hsl(var(--muted))]",
|
|
1893
|
+
// Disabled checked track
|
|
1894
|
+
error: "bg-[hsl(var(--destructive))]"
|
|
1895
|
+
// Error state track using CSS var
|
|
1896
|
+
},
|
|
1897
|
+
handle: {
|
|
1898
|
+
default: "bg-[hsl(var(--muted-foreground))]",
|
|
1899
|
+
// Default handle color using CSS var
|
|
1900
|
+
checked: "bg-[hsl(var(--tm-primary-foreground))]",
|
|
1901
|
+
// Checked state handle
|
|
1902
|
+
disabled: "bg-[hsl(var(--muted-foreground))]",
|
|
1903
|
+
// Disabled state handle
|
|
1904
|
+
disabledChecked: "bg-[hsl(var(--muted-foreground))]",
|
|
1905
|
+
// Disabled checked handle
|
|
1906
|
+
error: "bg-[hsl(var(--destructive-foreground))]"
|
|
1907
|
+
// Error state handle
|
|
1908
|
+
},
|
|
1909
|
+
opacity: {
|
|
1910
|
+
disabled: "opacity-50"
|
|
1911
|
+
// Disabled opacity
|
|
1912
|
+
}
|
|
1913
|
+
},
|
|
1914
|
+
/**
|
|
1915
|
+
* Transition tokens
|
|
1916
|
+
* Smooth transitions for handle animation and state changes
|
|
1917
|
+
* Uses motion tokens for duration and easing
|
|
1918
|
+
*/
|
|
1919
|
+
transition: {
|
|
1920
|
+
handle: "transition-transform duration-300 ease-in-out",
|
|
1921
|
+
// Handle slide animation
|
|
1922
|
+
track: "transition-colors duration-300 ease-in-out",
|
|
1923
|
+
// Track color transition
|
|
1924
|
+
combined: "transition-all duration-300 ease-in-out"
|
|
1925
|
+
// Combined transitions
|
|
1926
|
+
},
|
|
1927
|
+
/**
|
|
1928
|
+
* Shadow token
|
|
1929
|
+
* Maps to foundation elevation shadow tokens
|
|
1930
|
+
*/
|
|
1931
|
+
shadow: "shadow-sm",
|
|
1932
|
+
// Maps to elevationShadows.sm
|
|
1933
|
+
/**
|
|
1934
|
+
* Padding token
|
|
1935
|
+
* Space between track edge and handle
|
|
1936
|
+
*/
|
|
1937
|
+
padding: "p-0.5"
|
|
1938
|
+
// 2px padding around handle
|
|
1939
|
+
}, T = {
|
|
1940
|
+
/**
|
|
1941
|
+
* Radio sizes by size variant
|
|
1942
|
+
* Supports xs, sm, md, lg, xl sizes
|
|
1943
|
+
* Radios are typically circular and smaller than input fields
|
|
1944
|
+
*/
|
|
1945
|
+
size: {
|
|
1946
|
+
xs: {
|
|
1947
|
+
width: "w-3.5",
|
|
1948
|
+
// 14px (0.875rem)
|
|
1949
|
+
height: "h-3.5",
|
|
1950
|
+
// 14px (0.875rem)
|
|
1951
|
+
radius: "rounded-full",
|
|
1952
|
+
// Fully circular
|
|
1953
|
+
dotSize: "size-1.5"
|
|
1954
|
+
// 6px (0.375rem) - inner dot
|
|
1955
|
+
},
|
|
1956
|
+
sm: {
|
|
1957
|
+
width: "w-4",
|
|
1958
|
+
// 16px (1rem)
|
|
1959
|
+
height: "h-4",
|
|
1960
|
+
// 16px (1rem)
|
|
1961
|
+
radius: "rounded-full",
|
|
1962
|
+
// Fully circular
|
|
1963
|
+
dotSize: "size-2"
|
|
1964
|
+
// 8px (0.5rem) - inner dot
|
|
1965
|
+
},
|
|
1966
|
+
md: {
|
|
1967
|
+
width: "w-4.5",
|
|
1968
|
+
// 18px (1.125rem) - default
|
|
1969
|
+
height: "h-4.5",
|
|
1970
|
+
// 18px (1.125rem) - default
|
|
1971
|
+
radius: "rounded-full",
|
|
1972
|
+
// Fully circular
|
|
1973
|
+
dotSize: "size-2.5"
|
|
1974
|
+
// 10px (0.625rem) - inner dot
|
|
1975
|
+
},
|
|
1976
|
+
lg: {
|
|
1977
|
+
width: "w-5",
|
|
1978
|
+
// 20px (1.25rem)
|
|
1979
|
+
height: "h-5",
|
|
1980
|
+
// 20px (1.25rem)
|
|
1981
|
+
radius: "rounded-full",
|
|
1982
|
+
// Fully circular
|
|
1983
|
+
dotSize: "size-3"
|
|
1984
|
+
// 12px (0.75rem) - inner dot
|
|
1985
|
+
},
|
|
1986
|
+
xl: {
|
|
1987
|
+
width: "w-6",
|
|
1988
|
+
// 24px (1.5rem)
|
|
1989
|
+
height: "h-6",
|
|
1990
|
+
// 24px (1.5rem)
|
|
1991
|
+
radius: "rounded-full",
|
|
1992
|
+
// Fully circular
|
|
1993
|
+
dotSize: "size-3.5"
|
|
1994
|
+
// 14px (0.875rem) - inner dot
|
|
1995
|
+
}
|
|
1996
|
+
},
|
|
1997
|
+
/**
|
|
1998
|
+
* Variant-based tokens
|
|
1999
|
+
* Border, background, and text colors for different variants
|
|
2000
|
+
* All use CSS variable references for theme support
|
|
2001
|
+
*/
|
|
2002
|
+
variant: {
|
|
2003
|
+
primary: {
|
|
2004
|
+
border: "border-[hsl(var(--tm-primary))]",
|
|
2005
|
+
// Primary border color
|
|
2006
|
+
background: "bg-[hsl(var(--tm-primary))]",
|
|
2007
|
+
// Primary background
|
|
2008
|
+
text: "text-[hsl(var(--tm-primary-foreground))]",
|
|
2009
|
+
// Primary text color (for dot)
|
|
2010
|
+
focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
|
|
2011
|
+
// Primary focus ring
|
|
2012
|
+
},
|
|
2013
|
+
secondary: {
|
|
2014
|
+
border: "border-[hsl(var(--tm-secondary))]",
|
|
2015
|
+
// Secondary border color
|
|
2016
|
+
background: "bg-[hsl(var(--tm-secondary))]",
|
|
2017
|
+
// Secondary background
|
|
2018
|
+
text: "text-[hsl(var(--tm-secondary-foreground))]",
|
|
2019
|
+
// Secondary text color (for dot)
|
|
2020
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2021
|
+
// Default focus ring
|
|
2022
|
+
},
|
|
2023
|
+
outline: {
|
|
2024
|
+
border: "border-[hsl(var(--input))]",
|
|
2025
|
+
// Input border color
|
|
2026
|
+
background: "bg-transparent",
|
|
2027
|
+
// Transparent background
|
|
2028
|
+
text: "text-[hsl(var(--foreground))]",
|
|
2029
|
+
// Foreground text color (for dot)
|
|
2030
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2031
|
+
// Default focus ring
|
|
2032
|
+
},
|
|
2033
|
+
ghost: {
|
|
2034
|
+
border: "border-transparent",
|
|
2035
|
+
// Transparent border
|
|
2036
|
+
background: "bg-transparent",
|
|
2037
|
+
// Transparent background
|
|
2038
|
+
text: "text-[hsl(var(--foreground))]",
|
|
2039
|
+
// Foreground text color (for dot)
|
|
2040
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2041
|
+
// Default focus ring
|
|
2042
|
+
},
|
|
2043
|
+
destructive: {
|
|
2044
|
+
border: "border-[hsl(var(--destructive))]",
|
|
2045
|
+
// Destructive border color
|
|
2046
|
+
background: "bg-[hsl(var(--destructive))]",
|
|
2047
|
+
// Destructive background
|
|
2048
|
+
text: "text-[hsl(var(--destructive-foreground))]",
|
|
2049
|
+
// Destructive text color (for dot)
|
|
2050
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2051
|
+
// Default focus ring
|
|
2052
|
+
}
|
|
698
2053
|
},
|
|
2054
|
+
/**
|
|
2055
|
+
* State-based tokens
|
|
2056
|
+
* Border, background, and text colors for different states
|
|
2057
|
+
* All use CSS variable references for theme support
|
|
2058
|
+
*/
|
|
2059
|
+
state: {
|
|
2060
|
+
border: {
|
|
2061
|
+
default: "border-[hsl(var(--input))]",
|
|
2062
|
+
// Default border color using CSS var
|
|
2063
|
+
checked: "border-[hsl(var(--tm-primary))]",
|
|
2064
|
+
// Checked state border
|
|
2065
|
+
error: "border-[hsl(var(--destructive))]",
|
|
2066
|
+
// Error state border using CSS var
|
|
2067
|
+
disabled: "border-[hsl(var(--input))]",
|
|
2068
|
+
// Disabled state border (same as default)
|
|
2069
|
+
focus: "focus-visible:shadow-[var(--focus-ring-default)]"
|
|
2070
|
+
// Focus ring using CSS var
|
|
2071
|
+
},
|
|
2072
|
+
background: {
|
|
2073
|
+
default: "bg-transparent",
|
|
2074
|
+
// Default background
|
|
2075
|
+
checked: "bg-[hsl(var(--tm-primary))]",
|
|
2076
|
+
// Checked state background
|
|
2077
|
+
disabled: "bg-transparent",
|
|
2078
|
+
// Disabled background (same as default)
|
|
2079
|
+
disabledChecked: "bg-[hsl(var(--muted))]"
|
|
2080
|
+
// Disabled checked background
|
|
2081
|
+
},
|
|
2082
|
+
text: {
|
|
2083
|
+
default: "text-[hsl(var(--foreground))]",
|
|
2084
|
+
// Default text color using CSS var
|
|
2085
|
+
checked: "text-[hsl(var(--tm-primary-foreground))]",
|
|
2086
|
+
// Checked state text (for dot)
|
|
2087
|
+
disabled: "disabled:opacity-50"
|
|
2088
|
+
// Disabled text opacity
|
|
2089
|
+
}
|
|
2090
|
+
},
|
|
2091
|
+
/**
|
|
2092
|
+
* Dot tokens (inner filled circle indicator)
|
|
2093
|
+
* Size and styling for radio dot within radio button
|
|
2094
|
+
*/
|
|
2095
|
+
dot: {
|
|
2096
|
+
size: {
|
|
2097
|
+
xs: "size-1.5",
|
|
2098
|
+
// 6px (0.375rem)
|
|
2099
|
+
sm: "size-2",
|
|
2100
|
+
// 8px (0.5rem)
|
|
2101
|
+
md: "size-2.5",
|
|
2102
|
+
// 10px (0.625rem) - default
|
|
2103
|
+
lg: "size-3",
|
|
2104
|
+
// 12px (0.75rem)
|
|
2105
|
+
xl: "size-3.5"
|
|
2106
|
+
// 14px (0.875rem)
|
|
2107
|
+
},
|
|
2108
|
+
color: {
|
|
2109
|
+
default: "bg-[hsl(var(--tm-primary-foreground))]",
|
|
2110
|
+
// Default dot color
|
|
2111
|
+
disabled: "bg-[hsl(var(--muted-foreground))]"
|
|
2112
|
+
// Disabled dot color
|
|
2113
|
+
},
|
|
2114
|
+
radius: "rounded-full"
|
|
2115
|
+
// Fully circular dot
|
|
2116
|
+
},
|
|
2117
|
+
/**
|
|
2118
|
+
* Shadow token
|
|
2119
|
+
* Maps to foundation elevation shadow tokens
|
|
2120
|
+
*/
|
|
2121
|
+
shadow: "shadow-sm",
|
|
2122
|
+
// Maps to elevationShadows.sm
|
|
2123
|
+
/**
|
|
2124
|
+
* Transition tokens
|
|
2125
|
+
* Smooth transitions for state changes
|
|
2126
|
+
*/
|
|
2127
|
+
transition: "transition-all duration-200 ease-in-out"
|
|
2128
|
+
// Smooth transitions
|
|
2129
|
+
}, C = {
|
|
2130
|
+
/**
|
|
2131
|
+
* Padding values for surface variants
|
|
2132
|
+
* Can be customized per variant if needed
|
|
2133
|
+
*/
|
|
2134
|
+
padding: {
|
|
2135
|
+
default: "p-md",
|
|
2136
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
2137
|
+
sm: "p-sm",
|
|
2138
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2139
|
+
md: "p-md",
|
|
2140
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
2141
|
+
lg: "p-lg"
|
|
2142
|
+
// 24px (1.5rem) - maps to semanticSpacing.lg
|
|
2143
|
+
},
|
|
2144
|
+
/**
|
|
2145
|
+
* Border radius for surfaces
|
|
2146
|
+
*/
|
|
2147
|
+
radius: {
|
|
2148
|
+
default: "rounded-md",
|
|
2149
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
2150
|
+
sm: "rounded-sm",
|
|
2151
|
+
// 4px (0.25rem) - maps to borderRadius.sm
|
|
2152
|
+
md: "rounded-md",
|
|
2153
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
2154
|
+
lg: "rounded-lg"
|
|
2155
|
+
// 8px (0.5rem) - maps to borderRadius.lg
|
|
2156
|
+
},
|
|
2157
|
+
/**
|
|
2158
|
+
* Shadow tokens by surface variant
|
|
2159
|
+
* Maps to foundation elevation shadow tokens
|
|
2160
|
+
*/
|
|
2161
|
+
shadow: {
|
|
2162
|
+
flat: "shadow-none",
|
|
2163
|
+
// No shadow - maps to elevationShadows.none
|
|
2164
|
+
raised: "shadow-sm",
|
|
2165
|
+
// Small shadow - maps to elevationShadows.sm
|
|
2166
|
+
sunken: "shadow-none",
|
|
2167
|
+
// No shadow - maps to elevationShadows.none
|
|
2168
|
+
outline: "shadow-none",
|
|
2169
|
+
// No shadow - border-focused variant
|
|
2170
|
+
subtle: "shadow-none"
|
|
2171
|
+
// No shadow - minimal background difference
|
|
2172
|
+
},
|
|
2173
|
+
/**
|
|
2174
|
+
* Variant-based token structure
|
|
2175
|
+
* Organized by variant for easy access
|
|
2176
|
+
*/
|
|
2177
|
+
variant: {
|
|
2178
|
+
flat: {
|
|
2179
|
+
padding: "p-md",
|
|
2180
|
+
radius: "rounded-md",
|
|
2181
|
+
shadow: "shadow-none",
|
|
2182
|
+
bg: "bg-background",
|
|
2183
|
+
border: "border border-border"
|
|
2184
|
+
},
|
|
2185
|
+
raised: {
|
|
2186
|
+
padding: "p-md",
|
|
2187
|
+
radius: "rounded-md",
|
|
2188
|
+
shadow: "shadow-sm",
|
|
2189
|
+
bg: "bg-card",
|
|
2190
|
+
border: "border border-border"
|
|
2191
|
+
},
|
|
2192
|
+
sunken: {
|
|
2193
|
+
padding: "p-md",
|
|
2194
|
+
radius: "rounded-md",
|
|
2195
|
+
shadow: "shadow-none",
|
|
2196
|
+
bg: "bg-muted",
|
|
2197
|
+
border: "border border-border"
|
|
2198
|
+
},
|
|
2199
|
+
outline: {
|
|
2200
|
+
padding: "p-md",
|
|
2201
|
+
radius: "rounded-md",
|
|
2202
|
+
shadow: "shadow-none",
|
|
2203
|
+
bg: "bg-transparent",
|
|
2204
|
+
border: "border-2 border-border"
|
|
2205
|
+
},
|
|
2206
|
+
subtle: {
|
|
2207
|
+
padding: "p-md",
|
|
2208
|
+
radius: "rounded-md",
|
|
2209
|
+
shadow: "shadow-none",
|
|
2210
|
+
bg: "bg-muted/50",
|
|
2211
|
+
border: "border border-border/50"
|
|
2212
|
+
}
|
|
2213
|
+
}
|
|
2214
|
+
}, N = {
|
|
2215
|
+
/**
|
|
2216
|
+
* Font sizes by text size variant
|
|
2217
|
+
* Maps to foundation fontSize tokens
|
|
2218
|
+
*/
|
|
699
2219
|
fontSize: {
|
|
700
|
-
xs:
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
]
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
]
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
"
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
2220
|
+
xs: "text-xs",
|
|
2221
|
+
// Maps to fontSize.xs[0]
|
|
2222
|
+
sm: "text-sm",
|
|
2223
|
+
// Maps to fontSize.sm[0]
|
|
2224
|
+
md: "text-base",
|
|
2225
|
+
// Maps to fontSize.base[0]
|
|
2226
|
+
lg: "text-lg",
|
|
2227
|
+
// Maps to fontSize.lg[0]
|
|
2228
|
+
xl: "text-xl"
|
|
2229
|
+
// Maps to fontSize.xl[0]
|
|
2230
|
+
},
|
|
2231
|
+
/**
|
|
2232
|
+
* Font weights by weight variant
|
|
2233
|
+
* Maps to foundation fontWeight tokens
|
|
2234
|
+
*/
|
|
2235
|
+
fontWeight: {
|
|
2236
|
+
normal: "font-normal",
|
|
2237
|
+
// Maps to fontWeight.normal (400)
|
|
2238
|
+
medium: "font-medium",
|
|
2239
|
+
// Maps to fontWeight.medium (500)
|
|
2240
|
+
semibold: "font-semibold",
|
|
2241
|
+
// Maps to fontWeight.semibold (600)
|
|
2242
|
+
bold: "font-bold"
|
|
2243
|
+
// Maps to fontWeight.bold (700)
|
|
2244
|
+
},
|
|
2245
|
+
/**
|
|
2246
|
+
* Line heights (if component-specific)
|
|
2247
|
+
* Maps to foundation lineHeight tokens
|
|
2248
|
+
*/
|
|
2249
|
+
lineHeight: {
|
|
2250
|
+
none: "leading-none",
|
|
2251
|
+
// Maps to lineHeight.none
|
|
2252
|
+
tight: "leading-tight",
|
|
2253
|
+
// Maps to lineHeight.tight
|
|
2254
|
+
normal: "leading-normal",
|
|
2255
|
+
// Maps to lineHeight.normal
|
|
2256
|
+
relaxed: "leading-relaxed",
|
|
2257
|
+
// Maps to lineHeight.relaxed
|
|
2258
|
+
loose: "leading-loose"
|
|
2259
|
+
// Maps to lineHeight.loose
|
|
2260
|
+
},
|
|
2261
|
+
/**
|
|
2262
|
+
* Letter spacing (tracking) values
|
|
2263
|
+
* Maps to foundation letterSpacing tokens
|
|
2264
|
+
*/
|
|
2265
|
+
letterSpacing: {
|
|
2266
|
+
tighter: "tracking-tighter",
|
|
2267
|
+
// Maps to letterSpacing.tighter
|
|
2268
|
+
tight: "tracking-tight",
|
|
2269
|
+
// Maps to letterSpacing.tight
|
|
2270
|
+
normal: "tracking-normal",
|
|
2271
|
+
// Maps to letterSpacing.normal
|
|
2272
|
+
wide: "tracking-wide",
|
|
2273
|
+
// Maps to letterSpacing.wide
|
|
2274
|
+
wider: "tracking-wider",
|
|
2275
|
+
// Maps to letterSpacing.wider
|
|
2276
|
+
widest: "tracking-widest"
|
|
2277
|
+
// Maps to letterSpacing.widest
|
|
2278
|
+
}
|
|
2279
|
+
}, E = {
|
|
2280
|
+
/**
|
|
2281
|
+
* Vertical padding for sections
|
|
2282
|
+
* Used for spacing between major page sections
|
|
2283
|
+
*/
|
|
2284
|
+
padding: {
|
|
2285
|
+
sm: "py-md",
|
|
2286
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
2287
|
+
md: "py-xl",
|
|
2288
|
+
// 32px (2rem) - maps to semanticSpacing.xl
|
|
2289
|
+
lg: "py-2xl",
|
|
2290
|
+
// 48px (3rem) - maps to semanticSpacing.2xl
|
|
2291
|
+
xl: "py-3xl"
|
|
2292
|
+
// 64px (4rem) - maps to semanticSpacing.3xl
|
|
2293
|
+
},
|
|
2294
|
+
/**
|
|
2295
|
+
* Gap spacing for content blocks within sections
|
|
2296
|
+
* Used for spacing between content elements in a section
|
|
2297
|
+
*/
|
|
2298
|
+
spacing: {
|
|
2299
|
+
sm: "gap-sm",
|
|
2300
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2301
|
+
md: "gap-md",
|
|
2302
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
2303
|
+
lg: "gap-lg",
|
|
2304
|
+
// 24px (1.5rem) - maps to semanticSpacing.lg
|
|
2305
|
+
xl: "gap-xl"
|
|
2306
|
+
// 32px (2rem) - maps to semanticSpacing.xl
|
|
2307
|
+
}
|
|
2308
|
+
}, I = {
|
|
2309
|
+
/**
|
|
2310
|
+
* Backdrop tokens by variant
|
|
2311
|
+
* Maps to SURFACE_TOKENS for background colors
|
|
2312
|
+
*/
|
|
2313
|
+
backdrop: {
|
|
2314
|
+
default: {
|
|
2315
|
+
bg: "bg-black/50",
|
|
2316
|
+
// Maps to surface overlay opacity
|
|
2317
|
+
opacity: "opacity-100"
|
|
2318
|
+
},
|
|
2319
|
+
blurred: {
|
|
2320
|
+
bg: "bg-black/50",
|
|
2321
|
+
// Maps to surface overlay opacity
|
|
2322
|
+
opacity: "opacity-100",
|
|
2323
|
+
backdropFilter: "backdrop-blur-sm"
|
|
2324
|
+
// Maps to backdrop blur utilities
|
|
2325
|
+
},
|
|
2326
|
+
transparent: {
|
|
2327
|
+
bg: "bg-transparent",
|
|
2328
|
+
opacity: "opacity-0"
|
|
2329
|
+
}
|
|
2330
|
+
},
|
|
2331
|
+
/**
|
|
2332
|
+
* Modal tokens by size variant
|
|
2333
|
+
* Maps to foundation tokens for spacing, radius, and shadows
|
|
2334
|
+
*/
|
|
2335
|
+
modal: {
|
|
2336
|
+
radius: {
|
|
2337
|
+
sm: "rounded-md",
|
|
2338
|
+
// 6px - maps to borderRadius.md / componentRadius.modal.sm
|
|
2339
|
+
md: "rounded-lg",
|
|
2340
|
+
// 8px - maps to borderRadius.lg / componentRadius.modal.md
|
|
2341
|
+
lg: "rounded-xl",
|
|
2342
|
+
// 12px - maps to borderRadius.xl / componentRadius.modal.lg
|
|
2343
|
+
xl: "rounded-2xl",
|
|
2344
|
+
// 16px - maps to borderRadius.2xl / componentRadius.modal.xl
|
|
2345
|
+
fullscreen: "rounded-none"
|
|
2346
|
+
// No radius - maps to borderRadius.none
|
|
2347
|
+
},
|
|
2348
|
+
padding: {
|
|
2349
|
+
sm: "p-md",
|
|
2350
|
+
// 16px - maps to semanticSpacing.md
|
|
2351
|
+
md: "p-lg",
|
|
2352
|
+
// 24px - maps to semanticSpacing.lg
|
|
2353
|
+
lg: "p-xl",
|
|
2354
|
+
// 32px - maps to semanticSpacing.xl
|
|
2355
|
+
xl: "p-xl"
|
|
2356
|
+
// 32px - maps to semanticSpacing.xl (same as lg)
|
|
2357
|
+
},
|
|
2358
|
+
shadow: {
|
|
2359
|
+
sm: "shadow-md",
|
|
2360
|
+
// Maps to elevationShadows.md
|
|
2361
|
+
md: "shadow-lg",
|
|
2362
|
+
// Maps to elevationShadows.lg
|
|
2363
|
+
lg: "shadow-xl",
|
|
2364
|
+
// Maps to elevationShadows.xl
|
|
2365
|
+
xl: "shadow-xl"
|
|
2366
|
+
// Maps to elevationShadows.xl (same as lg)
|
|
2367
|
+
},
|
|
2368
|
+
maxWidth: {
|
|
2369
|
+
sm: "max-w-md",
|
|
2370
|
+
// 448px
|
|
2371
|
+
md: "max-w-lg",
|
|
2372
|
+
// 512px
|
|
2373
|
+
lg: "max-w-2xl",
|
|
2374
|
+
// 672px
|
|
2375
|
+
xl: "max-w-4xl",
|
|
2376
|
+
// 896px
|
|
2377
|
+
fullscreen: "max-w-full"
|
|
2378
|
+
// Full width
|
|
2379
|
+
},
|
|
2380
|
+
/**
|
|
2381
|
+
* Modal surface tokens by variant
|
|
2382
|
+
* Token-based styling for all modal surface variants
|
|
2383
|
+
*/
|
|
2384
|
+
surface: {
|
|
2385
|
+
primary: {
|
|
2386
|
+
bg: "bg-background",
|
|
2387
|
+
// Maps to SURFACE_TOKENS.variant.flat.bg
|
|
2388
|
+
border: "border border-border"
|
|
2389
|
+
// Maps to SURFACE_TOKENS.variant.flat.border
|
|
2390
|
+
},
|
|
2391
|
+
secondary: {
|
|
2392
|
+
bg: "bg-card",
|
|
2393
|
+
// Maps to elevated surface
|
|
2394
|
+
border: "border border-border",
|
|
2395
|
+
// Maps to border
|
|
2396
|
+
shadow: "shadow-sm"
|
|
2397
|
+
// Maps to elevation shadow
|
|
2398
|
+
},
|
|
2399
|
+
tinted: {
|
|
2400
|
+
bg: "bg-muted/50",
|
|
2401
|
+
// Maps to SURFACE_TOKENS.variant.subtle.bg
|
|
2402
|
+
border: "border border-border/50"
|
|
2403
|
+
// Maps to SURFACE_TOKENS.variant.subtle.border
|
|
2404
|
+
},
|
|
2405
|
+
bare: {
|
|
2406
|
+
bg: "bg-transparent",
|
|
2407
|
+
// No background
|
|
2408
|
+
border: "border-none",
|
|
2409
|
+
// No border
|
|
2410
|
+
shadow: "shadow-none"
|
|
2411
|
+
// No shadow
|
|
732
2412
|
}
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
2413
|
+
},
|
|
2414
|
+
/**
|
|
2415
|
+
* Modal container tokens
|
|
2416
|
+
* For backdrop container positioning and layout
|
|
2417
|
+
*/
|
|
2418
|
+
container: {
|
|
2419
|
+
layout: "fixed inset-0 z-40 flex items-center justify-center"
|
|
2420
|
+
// Container for backdrop and modal content
|
|
2421
|
+
},
|
|
2422
|
+
/**
|
|
2423
|
+
* Modal position tokens
|
|
2424
|
+
* For centering and positioning modal content
|
|
2425
|
+
*/
|
|
2426
|
+
position: {
|
|
2427
|
+
center: "left-[50%] top-[50%] -translate-x-1/2 -translate-y-1/2"
|
|
2428
|
+
// Center positioning
|
|
2429
|
+
},
|
|
2430
|
+
/**
|
|
2431
|
+
* Modal transition tokens
|
|
2432
|
+
* Maps to motion tokens for appear/disappear animations
|
|
2433
|
+
*/
|
|
2434
|
+
transition: {
|
|
2435
|
+
appear: "tm-motion-fade-scale",
|
|
2436
|
+
// Maps to OVERLAY_TOKENS.animation.enter.combined
|
|
2437
|
+
disappear: "tm-motion-fade-scale-out"
|
|
2438
|
+
// Maps to OVERLAY_TOKENS.animation.exit.combined
|
|
2439
|
+
},
|
|
2440
|
+
/**
|
|
2441
|
+
* Modal section spacing tokens
|
|
2442
|
+
* For header, body, and footer spacing
|
|
2443
|
+
*/
|
|
2444
|
+
spacing: {
|
|
2445
|
+
header: {
|
|
2446
|
+
marginBottom: "mb-md",
|
|
2447
|
+
// 16px - spacing below header
|
|
2448
|
+
gap: "gap-xs"
|
|
2449
|
+
// 4px - gap between header elements
|
|
2450
|
+
},
|
|
2451
|
+
body: {
|
|
2452
|
+
layout: "flex-1"
|
|
2453
|
+
// Layout utility for body to take remaining space
|
|
2454
|
+
},
|
|
2455
|
+
footer: {
|
|
2456
|
+
marginTop: "mt-md",
|
|
2457
|
+
// 16px - spacing above footer
|
|
2458
|
+
gap: "gap-sm"
|
|
2459
|
+
// 8px - gap between footer elements
|
|
739
2460
|
}
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
2461
|
+
}
|
|
2462
|
+
},
|
|
2463
|
+
/**
|
|
2464
|
+
* Animation tokens for overlay enter/exit animations
|
|
2465
|
+
* Maps to Motion V2 utility classes
|
|
2466
|
+
* Uses CSS-only animations from motion/v2.ts
|
|
2467
|
+
*/
|
|
2468
|
+
animation: {
|
|
2469
|
+
enter: {
|
|
2470
|
+
duration: "duration-normal",
|
|
2471
|
+
// 250ms - maps to motion V2 durations.normal
|
|
2472
|
+
easing: "ease-out",
|
|
2473
|
+
// Maps to motion V2 easings.standard
|
|
2474
|
+
keyframes: "tm-motion-fade-in",
|
|
2475
|
+
// Motion V2 fade in
|
|
2476
|
+
scale: "tm-motion-scale-in",
|
|
2477
|
+
// Motion V2 scale in
|
|
2478
|
+
combined: "tm-motion-fade-scale"
|
|
2479
|
+
// Motion V2 fade + scale
|
|
2480
|
+
},
|
|
2481
|
+
exit: {
|
|
2482
|
+
duration: "duration-fast",
|
|
2483
|
+
// 150ms - maps to motion V2 durations.fast
|
|
2484
|
+
easing: "ease-in",
|
|
2485
|
+
// Maps to motion V2 easings.standard
|
|
2486
|
+
keyframes: "tm-motion-fade-out",
|
|
2487
|
+
// Motion V2 fade out
|
|
2488
|
+
scale: "tm-motion-scale-out",
|
|
2489
|
+
// Motion V2 scale out
|
|
2490
|
+
combined: "tm-motion-fade-scale-out"
|
|
2491
|
+
// Motion V2 fade + scale out
|
|
2492
|
+
}
|
|
2493
|
+
},
|
|
2494
|
+
/**
|
|
2495
|
+
* Drawer tokens by size variant
|
|
2496
|
+
* Maps to foundation tokens for spacing, radius, and shadows
|
|
2497
|
+
*/
|
|
2498
|
+
drawer: {
|
|
2499
|
+
width: {
|
|
2500
|
+
sm: "w-64",
|
|
2501
|
+
// 256px
|
|
2502
|
+
md: "w-80",
|
|
2503
|
+
// 320px
|
|
2504
|
+
lg: "w-96"
|
|
2505
|
+
// 384px
|
|
2506
|
+
},
|
|
2507
|
+
height: {
|
|
2508
|
+
sm: "h-64",
|
|
2509
|
+
// 256px
|
|
2510
|
+
md: "h-80",
|
|
2511
|
+
// 320px
|
|
2512
|
+
lg: "h-96"
|
|
2513
|
+
// 384px
|
|
2514
|
+
},
|
|
2515
|
+
radius: {
|
|
2516
|
+
left: {
|
|
2517
|
+
sm: "rounded-r-md",
|
|
2518
|
+
// Right radius for left drawer
|
|
2519
|
+
md: "rounded-r-lg",
|
|
2520
|
+
lg: "rounded-r-xl"
|
|
2521
|
+
},
|
|
2522
|
+
right: {
|
|
2523
|
+
sm: "rounded-l-md",
|
|
2524
|
+
// Left radius for right drawer
|
|
2525
|
+
md: "rounded-l-lg",
|
|
2526
|
+
lg: "rounded-l-xl"
|
|
2527
|
+
},
|
|
2528
|
+
bottom: {
|
|
2529
|
+
sm: "rounded-t-md",
|
|
2530
|
+
// Top radius for bottom drawer
|
|
2531
|
+
md: "rounded-t-lg",
|
|
2532
|
+
lg: "rounded-t-xl"
|
|
746
2533
|
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
2534
|
+
},
|
|
2535
|
+
padding: {
|
|
2536
|
+
sm: "p-md",
|
|
2537
|
+
// 16px
|
|
2538
|
+
md: "p-lg",
|
|
2539
|
+
// 24px
|
|
2540
|
+
lg: "p-xl"
|
|
2541
|
+
// 32px
|
|
2542
|
+
},
|
|
2543
|
+
shadow: {
|
|
2544
|
+
sm: "shadow-md",
|
|
2545
|
+
// Maps to elevationShadows.md
|
|
2546
|
+
md: "shadow-lg",
|
|
2547
|
+
// Maps to elevationShadows.lg
|
|
2548
|
+
lg: "shadow-xl"
|
|
2549
|
+
// Maps to elevationShadows.xl
|
|
2550
|
+
},
|
|
2551
|
+
animation: {
|
|
2552
|
+
left: {
|
|
2553
|
+
enter: "tm-motion-slide-right-in",
|
|
2554
|
+
// Slide in from left
|
|
2555
|
+
exit: "tm-motion-slide-right-out"
|
|
2556
|
+
// Slide out to left
|
|
2557
|
+
},
|
|
2558
|
+
right: {
|
|
2559
|
+
enter: "tm-motion-slide-left-in",
|
|
2560
|
+
// Slide in from right
|
|
2561
|
+
exit: "tm-motion-slide-left-out"
|
|
2562
|
+
// Slide out to right
|
|
2563
|
+
},
|
|
2564
|
+
bottom: {
|
|
2565
|
+
enter: "tm-motion-slide-up-in",
|
|
2566
|
+
// Slide in from bottom
|
|
2567
|
+
exit: "tm-motion-slide-up-out"
|
|
2568
|
+
// Slide out to bottom
|
|
753
2569
|
}
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
2570
|
+
},
|
|
2571
|
+
/**
|
|
2572
|
+
* Drawer section spacing tokens
|
|
2573
|
+
* For header, body, and footer spacing
|
|
2574
|
+
*/
|
|
2575
|
+
spacing: {
|
|
2576
|
+
header: {
|
|
2577
|
+
marginBottom: "mb-md",
|
|
2578
|
+
// 16px - spacing below header
|
|
2579
|
+
gap: "gap-xs"
|
|
2580
|
+
// 4px - gap between header elements
|
|
2581
|
+
},
|
|
2582
|
+
footer: {
|
|
2583
|
+
marginTop: "mt-md",
|
|
2584
|
+
// 16px - spacing above footer
|
|
2585
|
+
gap: "gap-sm"
|
|
2586
|
+
// 8px - gap between footer elements
|
|
760
2587
|
}
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
2588
|
+
}
|
|
2589
|
+
}
|
|
2590
|
+
}, R = {
|
|
2591
|
+
/**
|
|
2592
|
+
* Spacing tokens for toast layout
|
|
2593
|
+
* Maps to semanticSpacing tokens
|
|
2594
|
+
*/
|
|
2595
|
+
spacing: {
|
|
2596
|
+
gap: "gap-sm",
|
|
2597
|
+
// 8px - maps to semanticSpacing.sm
|
|
2598
|
+
padding: "p-md",
|
|
2599
|
+
// 16px - maps to semanticSpacing.md
|
|
2600
|
+
paddingHorizontal: "px-md",
|
|
2601
|
+
// 16px horizontal padding
|
|
2602
|
+
paddingVertical: "py-md"
|
|
2603
|
+
// 16px vertical padding
|
|
2604
|
+
},
|
|
2605
|
+
/**
|
|
2606
|
+
* Width tokens for toast layout
|
|
2607
|
+
* Maps to width utilities
|
|
2608
|
+
*/
|
|
2609
|
+
width: {
|
|
2610
|
+
full: "w-full"
|
|
2611
|
+
// Full width (100%)
|
|
2612
|
+
},
|
|
2613
|
+
/**
|
|
2614
|
+
* Border radius for toasts
|
|
2615
|
+
* Maps to componentRadius.toast
|
|
2616
|
+
*/
|
|
2617
|
+
radius: {
|
|
2618
|
+
default: "rounded-lg"
|
|
2619
|
+
// 8px - maps to borderRadius.lg / componentRadius.toast.md
|
|
2620
|
+
},
|
|
2621
|
+
/**
|
|
2622
|
+
* Shadow for toasts
|
|
2623
|
+
* Maps to elevationShadows
|
|
2624
|
+
*/
|
|
2625
|
+
shadow: {
|
|
2626
|
+
default: "shadow-lg"
|
|
2627
|
+
// Maps to elevationShadows.lg
|
|
2628
|
+
},
|
|
2629
|
+
/**
|
|
2630
|
+
* Surface tokens for toast variants
|
|
2631
|
+
* Maps to SURFACE_TOKENS for background colors
|
|
2632
|
+
*/
|
|
2633
|
+
surface: {
|
|
2634
|
+
success: "bg-success/10 border-success/20 text-success-foreground",
|
|
2635
|
+
info: "bg-info/10 border-info/20 text-info-foreground",
|
|
2636
|
+
warning: "bg-warning/10 border-warning/20 text-warning-foreground",
|
|
2637
|
+
danger: "bg-destructive/10 border-destructive/20 text-destructive-foreground",
|
|
2638
|
+
default: "bg-background border border-border text-foreground"
|
|
2639
|
+
},
|
|
2640
|
+
/**
|
|
2641
|
+
* Animation tokens for toast enter/exit animations
|
|
2642
|
+
* Maps to Motion V2 utility classes
|
|
2643
|
+
* Uses CSS-only animations from motion/v2.ts
|
|
2644
|
+
*/
|
|
2645
|
+
animation: {
|
|
2646
|
+
enter: {
|
|
2647
|
+
slideUp: "tm-motion-fade-slide-up",
|
|
2648
|
+
// Motion V2 fade + slide up
|
|
2649
|
+
fadeIn: "tm-motion-fade-in",
|
|
2650
|
+
// Motion V2 fade in
|
|
2651
|
+
combined: "tm-motion-fade-slide-right"
|
|
2652
|
+
// Motion V2 fade + slide right (for toast from right)
|
|
2653
|
+
},
|
|
2654
|
+
exit: {
|
|
2655
|
+
slideOutRight: "tm-motion-fade-slide-left-out",
|
|
2656
|
+
// Motion V2 fade + slide left out
|
|
2657
|
+
fadeOut: "tm-motion-fade-out",
|
|
2658
|
+
// Motion V2 fade out
|
|
2659
|
+
combined: "tm-motion-fade-slide-left-out"
|
|
2660
|
+
// Motion V2 fade + slide left out
|
|
2661
|
+
}
|
|
2662
|
+
},
|
|
2663
|
+
/**
|
|
2664
|
+
* Position tokens for toast viewport
|
|
2665
|
+
* Maps to spacing tokens for positioning
|
|
2666
|
+
*/
|
|
2667
|
+
position: {
|
|
2668
|
+
spacing: {
|
|
2669
|
+
top: "top-md",
|
|
2670
|
+
// 16px - maps to semanticSpacing.md
|
|
2671
|
+
right: "right-md",
|
|
2672
|
+
// 16px - maps to semanticSpacing.md
|
|
2673
|
+
bottom: "bottom-md",
|
|
2674
|
+
// 16px - maps to semanticSpacing.md
|
|
2675
|
+
left: "left-md"
|
|
2676
|
+
// 16px - maps to semanticSpacing.md
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2679
|
+
/**
|
|
2680
|
+
* Content layout tokens
|
|
2681
|
+
* For toast content container
|
|
2682
|
+
*/
|
|
2683
|
+
content: {
|
|
2684
|
+
layout: "flex flex-1 items-start",
|
|
2685
|
+
// Content container layout
|
|
2686
|
+
gap: "gap-sm",
|
|
2687
|
+
// Gap between content elements - maps to spacing.gap
|
|
2688
|
+
verticalSpacing: "space-y-xs"
|
|
2689
|
+
// Vertical spacing between title and description (4px)
|
|
2690
|
+
},
|
|
2691
|
+
/**
|
|
2692
|
+
* Title typography tokens
|
|
2693
|
+
* Maps to TEXT_TOKENS for font sizing and weight
|
|
2694
|
+
*/
|
|
2695
|
+
title: {
|
|
2696
|
+
fontSize: "text-sm",
|
|
2697
|
+
// Maps to TEXT_TOKENS.fontSize.sm
|
|
2698
|
+
fontWeight: "font-semibold"
|
|
2699
|
+
// Maps to TEXT_TOKENS.fontWeight.semibold
|
|
2700
|
+
},
|
|
2701
|
+
/**
|
|
2702
|
+
* Description typography tokens
|
|
2703
|
+
* Maps to TEXT_TOKENS for font sizing
|
|
2704
|
+
*/
|
|
2705
|
+
description: {
|
|
2706
|
+
fontSize: "text-sm",
|
|
2707
|
+
// Maps to TEXT_TOKENS.fontSize.sm
|
|
2708
|
+
opacity: "opacity-90"
|
|
2709
|
+
// Description text opacity (90%)
|
|
2710
|
+
},
|
|
2711
|
+
/**
|
|
2712
|
+
* Action button tokens
|
|
2713
|
+
* For toast action button sizing
|
|
2714
|
+
*/
|
|
2715
|
+
action: {
|
|
2716
|
+
height: "h-8",
|
|
2717
|
+
// Action button height (32px)
|
|
2718
|
+
padding: "px-xs",
|
|
2719
|
+
// Action button horizontal padding
|
|
2720
|
+
fontSize: "text-xs"
|
|
2721
|
+
// Maps to TEXT_TOKENS.fontSize.xs
|
|
2722
|
+
},
|
|
2723
|
+
/**
|
|
2724
|
+
* Dismiss button tokens
|
|
2725
|
+
* For toast dismiss button styling
|
|
2726
|
+
*/
|
|
2727
|
+
dismiss: {
|
|
2728
|
+
position: "absolute right-xs top-xs",
|
|
2729
|
+
// Dismiss button positioning
|
|
2730
|
+
size: "h-6 w-6",
|
|
2731
|
+
// Dismiss button size (24px)
|
|
2732
|
+
radius: "rounded-md",
|
|
2733
|
+
// Dismiss button border radius (6px)
|
|
2734
|
+
padding: "p-xs",
|
|
2735
|
+
// Dismiss button padding
|
|
2736
|
+
transition: "transition-opacity",
|
|
2737
|
+
// Maps to MOTION_TOKENS.transition.opacity
|
|
2738
|
+
colors: {
|
|
2739
|
+
default: "text-foreground/50",
|
|
2740
|
+
// Default text color with 50% opacity
|
|
2741
|
+
hover: "hover:text-foreground"
|
|
2742
|
+
// Hover text color
|
|
2743
|
+
},
|
|
2744
|
+
states: {
|
|
2745
|
+
default: "opacity-0",
|
|
2746
|
+
// Default opacity (hidden)
|
|
2747
|
+
groupHover: "group-hover:opacity-100",
|
|
2748
|
+
// Visible on group hover
|
|
2749
|
+
focus: "focus:opacity-100",
|
|
2750
|
+
// Visible on focus
|
|
2751
|
+
focusRing: "focus:outline-none focus:ring-1"
|
|
2752
|
+
// Focus ring styling
|
|
2753
|
+
}
|
|
2754
|
+
}
|
|
2755
|
+
}, V = {
|
|
2756
|
+
/**
|
|
2757
|
+
* Spacing tokens for notification layout
|
|
2758
|
+
* Maps to semanticSpacing tokens
|
|
2759
|
+
*/
|
|
2760
|
+
spacing: {
|
|
2761
|
+
gap: "gap-sm",
|
|
2762
|
+
// 8px - maps to semanticSpacing.sm
|
|
2763
|
+
padding: "p-md",
|
|
2764
|
+
// 16px - maps to semanticSpacing.md
|
|
2765
|
+
paddingHorizontal: "px-md",
|
|
2766
|
+
// 16px horizontal padding
|
|
2767
|
+
paddingVertical: "py-md",
|
|
2768
|
+
// 16px vertical padding
|
|
2769
|
+
itemPadding: "p-sm",
|
|
2770
|
+
// 8px - maps to semanticSpacing.sm
|
|
2771
|
+
panelPadding: "p-lg"
|
|
2772
|
+
// 24px - maps to semanticSpacing.lg
|
|
2773
|
+
},
|
|
2774
|
+
/**
|
|
2775
|
+
* Border radius for notifications
|
|
2776
|
+
* Maps to componentRadius.notification
|
|
2777
|
+
*/
|
|
2778
|
+
radius: {
|
|
2779
|
+
item: "rounded-md",
|
|
2780
|
+
// 6px - maps to borderRadius.md / componentRadius.notification.item
|
|
2781
|
+
panel: "rounded-lg",
|
|
2782
|
+
// 8px - maps to borderRadius.lg / componentRadius.notification.panel
|
|
2783
|
+
default: "rounded-lg"
|
|
2784
|
+
// 8px - maps to borderRadius.lg
|
|
2785
|
+
},
|
|
2786
|
+
/**
|
|
2787
|
+
* Shadow for notifications
|
|
2788
|
+
* Maps to elevationShadows
|
|
2789
|
+
*/
|
|
2790
|
+
shadow: {
|
|
2791
|
+
item: "shadow-sm",
|
|
2792
|
+
// Maps to elevationShadows.sm
|
|
2793
|
+
panel: "shadow-xl",
|
|
2794
|
+
// Maps to elevationShadows.xl
|
|
2795
|
+
default: "shadow-lg"
|
|
2796
|
+
// Maps to elevationShadows.lg
|
|
2797
|
+
},
|
|
2798
|
+
/**
|
|
2799
|
+
* Width tokens for notifications
|
|
2800
|
+
* Maps to spacing tokens for width constraints
|
|
2801
|
+
*/
|
|
2802
|
+
width: {
|
|
2803
|
+
item: "w-full",
|
|
2804
|
+
// Full width within container
|
|
2805
|
+
itemMax: "max-w-md",
|
|
2806
|
+
// 448px - max width for item
|
|
2807
|
+
panel: "w-full",
|
|
2808
|
+
// Full width on mobile
|
|
2809
|
+
panelSm: "w-sm",
|
|
2810
|
+
// 384px - small panel width
|
|
2811
|
+
panelMd: "w-md",
|
|
2812
|
+
// 448px - medium panel width (default)
|
|
2813
|
+
panelLg: "w-lg",
|
|
2814
|
+
// 512px - large panel width
|
|
2815
|
+
panelMaxHeight: "max-h-[calc(100vh-2rem)]"
|
|
2816
|
+
// Max height with spacing
|
|
2817
|
+
},
|
|
2818
|
+
/**
|
|
2819
|
+
* Item-specific tokens
|
|
2820
|
+
* For individual notification items in lists
|
|
2821
|
+
*/
|
|
2822
|
+
item: {
|
|
2823
|
+
padding: "p-sm",
|
|
2824
|
+
// 8px - maps to semanticSpacing.sm
|
|
2825
|
+
gap: "gap-sm",
|
|
2826
|
+
// 8px - maps to semanticSpacing.sm
|
|
2827
|
+
iconSize: "h-5 w-5",
|
|
2828
|
+
// 20px - icon size
|
|
2829
|
+
radius: "rounded-md",
|
|
2830
|
+
// 6px - maps to borderRadius.md
|
|
2831
|
+
minHeight: "min-h-[3rem]"
|
|
2832
|
+
// 48px - minimum item height
|
|
2833
|
+
},
|
|
2834
|
+
/**
|
|
2835
|
+
* Surface tokens for notification variants
|
|
2836
|
+
* Extends toast variants with system and log
|
|
2837
|
+
* Maps to SURFACE_TOKENS for background colors
|
|
2838
|
+
*/
|
|
2839
|
+
surface: {
|
|
2840
|
+
success: "bg-success/10 border-success/20 text-success-foreground",
|
|
2841
|
+
info: "bg-info/10 border-info/20 text-info-foreground",
|
|
2842
|
+
warning: "bg-warning/10 border-warning/20 text-warning-foreground",
|
|
2843
|
+
danger: "bg-destructive/10 border-destructive/20 text-destructive-foreground",
|
|
2844
|
+
system: "bg-muted border-border text-foreground",
|
|
2845
|
+
log: "bg-background border-border/50 text-muted-foreground",
|
|
2846
|
+
default: "bg-background border border-border text-foreground"
|
|
2847
|
+
},
|
|
2848
|
+
/**
|
|
2849
|
+
* Timeline tokens for grouped notifications
|
|
2850
|
+
* Visual timeline indicators for grouped items
|
|
2851
|
+
*/
|
|
2852
|
+
timeline: {
|
|
2853
|
+
dotSize: "h-2 w-2",
|
|
2854
|
+
// 8px - timeline dot size
|
|
2855
|
+
lineWidth: "w-0.5",
|
|
2856
|
+
// 2px - timeline line width
|
|
2857
|
+
gap: "gap-xs"
|
|
2858
|
+
// 4px - gap between timeline elements
|
|
2859
|
+
},
|
|
2860
|
+
/**
|
|
2861
|
+
* Animation tokens for notification enter/exit animations
|
|
2862
|
+
* Maps to Motion V2 utility classes
|
|
2863
|
+
* Uses CSS-only animations from motion/v2.ts
|
|
2864
|
+
*/
|
|
2865
|
+
animation: {
|
|
2866
|
+
enter: {
|
|
2867
|
+
slideInRight: "tm-motion-fade-slide-right",
|
|
2868
|
+
// Motion V2 fade + slide right
|
|
2869
|
+
fadeIn: "tm-motion-fade-in",
|
|
2870
|
+
// Motion V2 fade in
|
|
2871
|
+
combined: "tm-motion-fade-slide-right"
|
|
2872
|
+
// Motion V2 fade + slide right
|
|
2873
|
+
},
|
|
2874
|
+
exit: {
|
|
2875
|
+
slideOutRight: "tm-motion-fade-slide-right-out",
|
|
2876
|
+
// Motion V2 fade + slide right out
|
|
2877
|
+
fadeOut: "tm-motion-fade-out",
|
|
2878
|
+
// Motion V2 fade out
|
|
2879
|
+
combined: "tm-motion-fade-slide-right-out"
|
|
2880
|
+
// Motion V2 fade + slide right out
|
|
2881
|
+
},
|
|
2882
|
+
panel: {
|
|
2883
|
+
enter: {
|
|
2884
|
+
slideInRight: "tm-motion-fade-slide-right",
|
|
2885
|
+
// Motion V2 panel slide in from right
|
|
2886
|
+
fadeIn: "tm-motion-fade-in",
|
|
2887
|
+
// Motion V2 panel fade in
|
|
2888
|
+
combined: "tm-motion-fade-slide-right"
|
|
2889
|
+
// Motion V2 panel fade + slide right
|
|
2890
|
+
},
|
|
2891
|
+
exit: {
|
|
2892
|
+
slideOutRight: "tm-motion-fade-slide-right-out",
|
|
2893
|
+
// Motion V2 panel slide out to right
|
|
2894
|
+
fadeOut: "tm-motion-fade-out",
|
|
2895
|
+
// Motion V2 panel fade out
|
|
2896
|
+
combined: "tm-motion-fade-slide-right-out"
|
|
2897
|
+
// Motion V2 panel fade + slide right out
|
|
767
2898
|
}
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
2899
|
+
}
|
|
2900
|
+
},
|
|
2901
|
+
/**
|
|
2902
|
+
* Panel-specific tokens
|
|
2903
|
+
* For the side drawer notification panel
|
|
2904
|
+
*/
|
|
2905
|
+
panel: {
|
|
2906
|
+
width: {
|
|
2907
|
+
default: "w-md",
|
|
2908
|
+
// 448px - default panel width
|
|
2909
|
+
sm: "w-sm",
|
|
2910
|
+
// 384px - small panel
|
|
2911
|
+
md: "w-md",
|
|
2912
|
+
// 448px - medium panel
|
|
2913
|
+
lg: "w-lg"
|
|
2914
|
+
// 512px - large panel
|
|
2915
|
+
},
|
|
2916
|
+
maxHeight: "max-h-[calc(100vh-2rem)]",
|
|
2917
|
+
// Max height with spacing
|
|
2918
|
+
spacing: {
|
|
2919
|
+
gap: "gap-md",
|
|
2920
|
+
// 16px - gap between panel sections
|
|
2921
|
+
padding: "p-lg",
|
|
2922
|
+
// 24px - panel padding
|
|
2923
|
+
headerPadding: "px-lg py-md"
|
|
2924
|
+
// Header padding
|
|
2925
|
+
},
|
|
2926
|
+
radius: {
|
|
2927
|
+
default: "rounded-lg",
|
|
2928
|
+
// 8px - panel border radius
|
|
2929
|
+
topLeft: "rounded-tl-lg",
|
|
2930
|
+
// Top-left radius
|
|
2931
|
+
topRight: "rounded-tr-lg"
|
|
2932
|
+
// Top-right radius
|
|
2933
|
+
},
|
|
2934
|
+
shadow: {
|
|
2935
|
+
default: "shadow-xl"
|
|
2936
|
+
// Large shadow for panel elevation
|
|
2937
|
+
},
|
|
2938
|
+
backdrop: {
|
|
2939
|
+
bg: "bg-black/50",
|
|
2940
|
+
// Backdrop background
|
|
2941
|
+
blur: "backdrop-blur-sm"
|
|
2942
|
+
// Backdrop blur
|
|
2943
|
+
}
|
|
2944
|
+
}
|
|
2945
|
+
}, K = {
|
|
2946
|
+
/**
|
|
2947
|
+
* Navigation item heights by size
|
|
2948
|
+
* Maps to Tailwind height utilities: h-8, h-9, h-10
|
|
2949
|
+
*/
|
|
2950
|
+
sizes: {
|
|
2951
|
+
sm: {
|
|
2952
|
+
height: "h-8",
|
|
2953
|
+
// 32px (2rem)
|
|
2954
|
+
width: "w-8",
|
|
2955
|
+
// 32px (2rem) - for square indicators
|
|
2956
|
+
padding: {
|
|
2957
|
+
horizontal: "px-sm",
|
|
2958
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2959
|
+
vertical: "py-xs"
|
|
2960
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
2961
|
+
},
|
|
2962
|
+
fontSize: "text-xs",
|
|
2963
|
+
// Maps to fontSize.xs[0]
|
|
2964
|
+
gap: "gap-xs"
|
|
2965
|
+
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
2966
|
+
},
|
|
2967
|
+
md: {
|
|
2968
|
+
height: "h-9",
|
|
2969
|
+
// 36px (2.25rem)
|
|
2970
|
+
padding: {
|
|
2971
|
+
horizontal: "px-md",
|
|
2972
|
+
// 16px (1rem) - maps to semanticSpacing.md
|
|
2973
|
+
vertical: "py-sm"
|
|
2974
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2975
|
+
},
|
|
2976
|
+
fontSize: "text-sm",
|
|
2977
|
+
// Maps to fontSize.sm[0]
|
|
2978
|
+
gap: "gap-sm"
|
|
2979
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2980
|
+
},
|
|
2981
|
+
lg: {
|
|
2982
|
+
height: "h-10",
|
|
2983
|
+
// 40px (2.5rem)
|
|
2984
|
+
padding: {
|
|
2985
|
+
horizontal: "px-lg",
|
|
2986
|
+
// 24px (1.5rem) - maps to semanticSpacing.lg
|
|
2987
|
+
vertical: "py-sm"
|
|
2988
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2989
|
+
},
|
|
2990
|
+
fontSize: "text-base",
|
|
2991
|
+
// Maps to fontSize.base[0]
|
|
2992
|
+
gap: "gap-sm"
|
|
2993
|
+
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
2994
|
+
}
|
|
2995
|
+
},
|
|
2996
|
+
/**
|
|
2997
|
+
* Border radius for navigation items
|
|
2998
|
+
*/
|
|
2999
|
+
radius: {
|
|
3000
|
+
default: "rounded-md",
|
|
3001
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
3002
|
+
sm: "rounded-sm",
|
|
3003
|
+
// 4px (0.25rem) - maps to borderRadius.sm
|
|
3004
|
+
md: "rounded-md",
|
|
3005
|
+
// 6px (0.375rem) - maps to borderRadius.md
|
|
3006
|
+
lg: "rounded-lg",
|
|
3007
|
+
// 8px (0.5rem) - maps to borderRadius.lg
|
|
3008
|
+
full: "rounded-full"
|
|
3009
|
+
// 9999px - maps to borderRadius.full
|
|
3010
|
+
},
|
|
3011
|
+
/**
|
|
3012
|
+
* Spacing tokens for navigation components
|
|
3013
|
+
*/
|
|
3014
|
+
spacing: {
|
|
3015
|
+
itemPadding: {
|
|
3016
|
+
sm: "px-sm py-xs",
|
|
3017
|
+
// 8px horizontal, 4px vertical
|
|
3018
|
+
md: "px-md py-sm",
|
|
3019
|
+
// 16px horizontal, 8px vertical
|
|
3020
|
+
lg: "px-lg py-sm"
|
|
3021
|
+
// 24px horizontal, 8px vertical
|
|
3022
|
+
},
|
|
3023
|
+
listGap: {
|
|
3024
|
+
xs: "gap-xs",
|
|
3025
|
+
// 4px (0.25rem)
|
|
3026
|
+
sm: "gap-sm",
|
|
3027
|
+
// 8px (0.5rem)
|
|
3028
|
+
md: "gap-md",
|
|
3029
|
+
// 16px (1rem)
|
|
3030
|
+
lg: "gap-lg"
|
|
3031
|
+
// 24px (1.5rem)
|
|
3032
|
+
},
|
|
3033
|
+
content: {
|
|
3034
|
+
marginTop: "mt-md"
|
|
3035
|
+
// 16px (1rem) - spacing above content sections
|
|
3036
|
+
}
|
|
3037
|
+
},
|
|
3038
|
+
/**
|
|
3039
|
+
* Typography tokens for navigation components
|
|
3040
|
+
*/
|
|
3041
|
+
typography: {
|
|
3042
|
+
default: "text-sm",
|
|
3043
|
+
// Maps to fontSize.sm[0]
|
|
3044
|
+
sm: "text-xs",
|
|
3045
|
+
// Maps to fontSize.xs[0]
|
|
3046
|
+
md: "text-sm",
|
|
3047
|
+
// Maps to fontSize.sm[0]
|
|
3048
|
+
lg: "text-base",
|
|
3049
|
+
// Maps to fontSize.base[0]
|
|
3050
|
+
fontWeight: {
|
|
3051
|
+
default: "font-medium",
|
|
3052
|
+
normal: "font-normal",
|
|
3053
|
+
medium: "font-medium",
|
|
3054
|
+
semibold: "font-semibold"
|
|
3055
|
+
}
|
|
3056
|
+
},
|
|
3057
|
+
/**
|
|
3058
|
+
* State-based tokens for navigation items
|
|
3059
|
+
* Colors, backgrounds, and borders for different states
|
|
3060
|
+
*/
|
|
3061
|
+
states: {
|
|
3062
|
+
default: {
|
|
3063
|
+
background: "bg-transparent",
|
|
3064
|
+
text: "text-foreground",
|
|
3065
|
+
border: "border-transparent"
|
|
3066
|
+
},
|
|
3067
|
+
hover: {
|
|
3068
|
+
background: "hover:bg-accent",
|
|
3069
|
+
text: "hover:text-accent-foreground",
|
|
3070
|
+
border: "hover:border-accent"
|
|
3071
|
+
},
|
|
3072
|
+
active: {
|
|
3073
|
+
background: "bg-accent",
|
|
3074
|
+
text: "text-accent-foreground",
|
|
3075
|
+
border: "border-accent"
|
|
3076
|
+
},
|
|
3077
|
+
selected: {
|
|
3078
|
+
background: "bg-primary",
|
|
3079
|
+
text: "text-primary-foreground",
|
|
3080
|
+
border: "border-primary"
|
|
3081
|
+
},
|
|
3082
|
+
disabled: {
|
|
3083
|
+
background: "bg-transparent",
|
|
3084
|
+
text: "text-muted-foreground disabled:opacity-50",
|
|
3085
|
+
border: "border-transparent",
|
|
3086
|
+
cursor: "disabled:cursor-not-allowed"
|
|
3087
|
+
}
|
|
3088
|
+
},
|
|
3089
|
+
/**
|
|
3090
|
+
* Indicator tokens for Tabs component
|
|
3091
|
+
* Used for underline/indicator animation
|
|
3092
|
+
*/
|
|
3093
|
+
indicator: {
|
|
3094
|
+
height: "h-0.5",
|
|
3095
|
+
// 2px - thin underline
|
|
3096
|
+
radius: "rounded-full",
|
|
3097
|
+
// Fully rounded
|
|
3098
|
+
transition: "transition-all duration-normal ease-out",
|
|
3099
|
+
// Maps to motion tokens
|
|
3100
|
+
background: "bg-primary",
|
|
3101
|
+
// Primary color for indicator
|
|
3102
|
+
position: "absolute bottom-0 left-0 right-0"
|
|
3103
|
+
// Position at bottom
|
|
3104
|
+
},
|
|
3105
|
+
/**
|
|
3106
|
+
* Shadow tokens for navigation components
|
|
3107
|
+
*/
|
|
3108
|
+
shadow: {
|
|
3109
|
+
none: "shadow-none",
|
|
3110
|
+
sm: "shadow-sm",
|
|
3111
|
+
// Maps to elevationShadows.sm
|
|
3112
|
+
default: "shadow-sm",
|
|
3113
|
+
// Maps to elevationShadows.sm
|
|
3114
|
+
md: "shadow"
|
|
3115
|
+
// Maps to elevationShadows.xs
|
|
3116
|
+
},
|
|
3117
|
+
/**
|
|
3118
|
+
* Focus ring tokens for accessibility
|
|
3119
|
+
*/
|
|
3120
|
+
focus: {
|
|
3121
|
+
ring: "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
3122
|
+
ringOffset: "focus-visible:ring-offset-2"
|
|
3123
|
+
},
|
|
3124
|
+
/**
|
|
3125
|
+
* Container background tokens
|
|
3126
|
+
* For segmented control and tab container backgrounds
|
|
3127
|
+
*/
|
|
3128
|
+
container: {
|
|
3129
|
+
background: {
|
|
3130
|
+
muted: "bg-muted"
|
|
3131
|
+
// Muted background for container
|
|
3132
|
+
},
|
|
3133
|
+
padding: {
|
|
3134
|
+
xs: "p-xs",
|
|
3135
|
+
// 4px padding
|
|
3136
|
+
sm: "p-sm"
|
|
3137
|
+
// 8px padding
|
|
3138
|
+
}
|
|
3139
|
+
},
|
|
3140
|
+
/**
|
|
3141
|
+
* Border color tokens
|
|
3142
|
+
*/
|
|
3143
|
+
border: {
|
|
3144
|
+
muted: "border-muted-foreground"
|
|
3145
|
+
// Muted border color
|
|
3146
|
+
}
|
|
3147
|
+
}, _ = {
|
|
3148
|
+
/**
|
|
3149
|
+
* Menu item tokens by size
|
|
3150
|
+
* Maps to foundation spacing and radius tokens
|
|
3151
|
+
*/
|
|
3152
|
+
item: {
|
|
3153
|
+
padding: {
|
|
3154
|
+
xs: "px-xs py-xs",
|
|
3155
|
+
// 4px horizontal, 4px vertical - maps to semanticSpacing.xs
|
|
3156
|
+
sm: "px-sm py-sm",
|
|
3157
|
+
// 8px horizontal, 8px vertical - maps to semanticSpacing.sm
|
|
3158
|
+
md: "px-md py-sm"
|
|
3159
|
+
// 16px horizontal, 8px vertical - maps to semanticSpacing.md/sm
|
|
3160
|
+
},
|
|
3161
|
+
radius: {
|
|
3162
|
+
sm: "rounded-sm",
|
|
3163
|
+
// 4px - maps to borderRadius.sm
|
|
3164
|
+
md: "rounded-md"
|
|
3165
|
+
// 6px - maps to borderRadius.md
|
|
3166
|
+
},
|
|
3167
|
+
gap: {
|
|
3168
|
+
xs: "gap-xs",
|
|
3169
|
+
// 4px - maps to semanticSpacing.xs
|
|
3170
|
+
sm: "gap-sm"
|
|
3171
|
+
// 8px - maps to semanticSpacing.sm
|
|
3172
|
+
},
|
|
3173
|
+
height: {
|
|
3174
|
+
sm: "h-8",
|
|
3175
|
+
// 32px - maps to spacing[8]
|
|
3176
|
+
md: "h-10",
|
|
3177
|
+
// 40px - maps to spacing[10]
|
|
3178
|
+
lg: "h-12"
|
|
3179
|
+
// 48px - maps to spacing[12]
|
|
3180
|
+
}
|
|
3181
|
+
},
|
|
3182
|
+
/**
|
|
3183
|
+
* Menu content tokens by size
|
|
3184
|
+
* Maps to foundation spacing, radius, and shadow tokens
|
|
3185
|
+
*/
|
|
3186
|
+
content: {
|
|
3187
|
+
padding: {
|
|
3188
|
+
sm: "p-sm",
|
|
3189
|
+
// 8px - maps to semanticSpacing.sm
|
|
3190
|
+
md: "p-md"
|
|
3191
|
+
// 16px - maps to semanticSpacing.md
|
|
3192
|
+
},
|
|
3193
|
+
radius: {
|
|
3194
|
+
sm: "rounded-md",
|
|
3195
|
+
// 6px - maps to borderRadius.md
|
|
3196
|
+
md: "rounded-lg"
|
|
3197
|
+
// 8px - maps to borderRadius.lg
|
|
3198
|
+
},
|
|
3199
|
+
shadow: {
|
|
3200
|
+
sm: "shadow-md",
|
|
3201
|
+
// Maps to elevationShadows.md
|
|
3202
|
+
md: "shadow-lg"
|
|
3203
|
+
// Maps to elevationShadows.lg
|
|
3204
|
+
},
|
|
3205
|
+
minWidth: {
|
|
3206
|
+
sm: "min-w-32",
|
|
3207
|
+
// 128px - maps to spacing[32]
|
|
3208
|
+
md: "min-w-48"
|
|
3209
|
+
// 192px - maps to spacing[48]
|
|
3210
|
+
}
|
|
3211
|
+
},
|
|
3212
|
+
/**
|
|
3213
|
+
* Menu separator tokens
|
|
3214
|
+
* Maps to foundation spacing and color tokens
|
|
3215
|
+
*/
|
|
3216
|
+
separator: {
|
|
3217
|
+
margin: {
|
|
3218
|
+
sm: "my-xs",
|
|
3219
|
+
// 4px vertical margin - maps to semanticSpacing.xs
|
|
3220
|
+
md: "my-sm"
|
|
3221
|
+
// 8px vertical margin - maps to semanticSpacing.sm
|
|
3222
|
+
},
|
|
3223
|
+
height: "h-px",
|
|
3224
|
+
// 1px height
|
|
3225
|
+
color: "bg-border"
|
|
3226
|
+
// Maps to border color token
|
|
3227
|
+
},
|
|
3228
|
+
/**
|
|
3229
|
+
* Menu label tokens
|
|
3230
|
+
* Maps to foundation spacing and typography tokens
|
|
3231
|
+
*/
|
|
3232
|
+
label: {
|
|
3233
|
+
padding: {
|
|
3234
|
+
sm: "px-sm py-xs",
|
|
3235
|
+
// 8px horizontal, 4px vertical - maps to semanticSpacing.sm/xs
|
|
3236
|
+
md: "px-md py-sm"
|
|
3237
|
+
// 16px horizontal, 8px vertical - maps to semanticSpacing.md/sm
|
|
3238
|
+
},
|
|
3239
|
+
textStyle: "text-sm font-semibold"
|
|
3240
|
+
// Maps to fontSize.sm and fontWeight.semibold
|
|
3241
|
+
},
|
|
3242
|
+
/**
|
|
3243
|
+
* Menu indicator tokens (for checkboxes, radio buttons)
|
|
3244
|
+
* Maps to foundation spacing tokens
|
|
3245
|
+
*/
|
|
3246
|
+
indicator: {
|
|
3247
|
+
size: {
|
|
3248
|
+
sm: "w-4 h-4",
|
|
3249
|
+
// 16px - maps to spacing[4]
|
|
3250
|
+
md: "w-5 h-5"
|
|
3251
|
+
// 20px - maps to spacing[5]
|
|
3252
|
+
},
|
|
3253
|
+
offset: {
|
|
3254
|
+
sm: "left-xs",
|
|
3255
|
+
// 4px - maps to semanticSpacing.xs
|
|
3256
|
+
md: "left-sm"
|
|
3257
|
+
// 8px - maps to semanticSpacing.sm
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
}, W = {
|
|
3261
|
+
/**
|
|
3262
|
+
* Popover content tokens by size
|
|
3263
|
+
* Maps to foundation spacing, radius, and shadow tokens
|
|
3264
|
+
*/
|
|
3265
|
+
content: {
|
|
3266
|
+
border: {
|
|
3267
|
+
default: "border",
|
|
3268
|
+
// Border utility
|
|
3269
|
+
color: "border-border"
|
|
3270
|
+
// Border color using token
|
|
3271
|
+
},
|
|
3272
|
+
background: {
|
|
3273
|
+
default: "bg-popover"
|
|
3274
|
+
// Background using token
|
|
3275
|
+
},
|
|
3276
|
+
text: {
|
|
3277
|
+
default: "text-popover-foreground"
|
|
3278
|
+
// Text color using token
|
|
3279
|
+
},
|
|
3280
|
+
padding: {
|
|
3281
|
+
sm: "p-sm",
|
|
3282
|
+
// 8px - maps to semanticSpacing.sm
|
|
3283
|
+
md: "p-md",
|
|
3284
|
+
// 16px - maps to semanticSpacing.md
|
|
3285
|
+
lg: "p-lg"
|
|
3286
|
+
// 24px - maps to semanticSpacing.lg
|
|
3287
|
+
},
|
|
3288
|
+
radius: {
|
|
3289
|
+
sm: "rounded-md",
|
|
3290
|
+
// 6px - maps to borderRadius.md
|
|
3291
|
+
md: "rounded-lg"
|
|
3292
|
+
// 8px - maps to borderRadius.lg
|
|
3293
|
+
},
|
|
3294
|
+
shadow: {
|
|
3295
|
+
sm: "shadow-md",
|
|
3296
|
+
// Maps to elevationShadows.md
|
|
3297
|
+
md: "shadow-lg"
|
|
3298
|
+
// Maps to elevationShadows.lg
|
|
3299
|
+
},
|
|
3300
|
+
width: {
|
|
3301
|
+
xs: "w-40",
|
|
3302
|
+
// 160px - maps to spacing[40]
|
|
3303
|
+
sm: "w-48",
|
|
3304
|
+
// 192px - maps to spacing[48]
|
|
3305
|
+
md: "w-72",
|
|
3306
|
+
// 288px - maps to spacing[72]
|
|
3307
|
+
lg: "w-96",
|
|
3308
|
+
// 384px - maps to spacing[96]
|
|
3309
|
+
xl: "w-[32rem]"
|
|
3310
|
+
// 512px - custom large size
|
|
3311
|
+
}
|
|
3312
|
+
},
|
|
3313
|
+
/**
|
|
3314
|
+
* Popover arrow tokens
|
|
3315
|
+
* Maps to foundation spacing tokens
|
|
3316
|
+
*/
|
|
3317
|
+
arrow: {
|
|
3318
|
+
size: {
|
|
3319
|
+
sm: "w-2 h-2",
|
|
3320
|
+
// 8px - maps to spacing[2]
|
|
3321
|
+
md: "w-3 h-3"
|
|
3322
|
+
// 12px - maps to spacing[3]
|
|
3323
|
+
},
|
|
3324
|
+
offset: {
|
|
3325
|
+
sm: "-translate-x-1/2",
|
|
3326
|
+
// Center horizontally - standard Tailwind utility
|
|
3327
|
+
md: "-translate-x-1/2"
|
|
3328
|
+
// Center horizontally - standard Tailwind utility
|
|
3329
|
+
}
|
|
3330
|
+
},
|
|
3331
|
+
/**
|
|
3332
|
+
* Animation tokens for popover enter/exit animations
|
|
3333
|
+
* Maps to Motion V2 utility classes
|
|
3334
|
+
* Uses CSS-only animations from motion/v2.ts
|
|
3335
|
+
*/
|
|
3336
|
+
animation: {
|
|
3337
|
+
enter: "tm-motion-fade-scale",
|
|
3338
|
+
// Motion V2 fade + scale animation
|
|
3339
|
+
exit: "tm-motion-fade-scale-out"
|
|
3340
|
+
// Motion V2 fade + scale exit animation
|
|
3341
|
+
}
|
|
3342
|
+
}, L = {
|
|
3343
|
+
/**
|
|
3344
|
+
* Trigger tokens by size
|
|
3345
|
+
* Button element that opens/closes the dropdown
|
|
3346
|
+
*/
|
|
3347
|
+
trigger: {
|
|
3348
|
+
height: {
|
|
3349
|
+
sm: "h-8",
|
|
3350
|
+
// 32px
|
|
3351
|
+
md: "h-9",
|
|
3352
|
+
// 36px
|
|
3353
|
+
lg: "h-10"
|
|
3354
|
+
// 40px
|
|
3355
|
+
},
|
|
3356
|
+
padding: {
|
|
3357
|
+
horizontal: {
|
|
3358
|
+
sm: "px-sm",
|
|
3359
|
+
// 8px
|
|
3360
|
+
md: "px-md",
|
|
3361
|
+
// 16px
|
|
3362
|
+
lg: "px-lg"
|
|
3363
|
+
// 24px
|
|
3364
|
+
},
|
|
3365
|
+
vertical: {
|
|
3366
|
+
sm: "py-xs",
|
|
3367
|
+
// 4px
|
|
3368
|
+
md: "py-xs",
|
|
3369
|
+
// 4px
|
|
3370
|
+
lg: "py-sm"
|
|
3371
|
+
// 8px
|
|
774
3372
|
}
|
|
775
|
-
|
|
3373
|
+
},
|
|
3374
|
+
radius: {
|
|
3375
|
+
sm: "rounded-md",
|
|
3376
|
+
// 6px
|
|
3377
|
+
md: "rounded-md",
|
|
3378
|
+
// 6px
|
|
3379
|
+
lg: "rounded-md"
|
|
3380
|
+
// 6px
|
|
3381
|
+
},
|
|
3382
|
+
fontSize: {
|
|
3383
|
+
sm: "text-sm",
|
|
3384
|
+
// Maps to fontSize.sm
|
|
3385
|
+
md: "text-base",
|
|
3386
|
+
// Maps to fontSize.base
|
|
3387
|
+
lg: "text-base"
|
|
3388
|
+
// Maps to fontSize.base
|
|
3389
|
+
},
|
|
3390
|
+
shadow: "shadow-sm",
|
|
3391
|
+
// Maps to elevationShadows.sm
|
|
3392
|
+
/**
|
|
3393
|
+
* Icon spacing for trigger
|
|
3394
|
+
*/
|
|
3395
|
+
icon: {
|
|
3396
|
+
spacing: "ml-sm"
|
|
3397
|
+
// 8px - spacing between trigger text and icon
|
|
3398
|
+
}
|
|
776
3399
|
},
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
3400
|
+
/**
|
|
3401
|
+
* Variant-based tokens
|
|
3402
|
+
* Border, background, text, and focus colors for different variants
|
|
3403
|
+
*/
|
|
3404
|
+
variant: {
|
|
3405
|
+
neutral: {
|
|
3406
|
+
border: "border border-[hsl(var(--border))]",
|
|
3407
|
+
// Border color using CSS var
|
|
3408
|
+
background: "bg-[hsl(var(--popover))]",
|
|
3409
|
+
// Background using CSS var
|
|
3410
|
+
text: "text-[hsl(var(--popover-foreground))]",
|
|
3411
|
+
// Text color using CSS var
|
|
3412
|
+
focus: "focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))] focus-visible:ring-offset-2"
|
|
3413
|
+
// Focus ring
|
|
3414
|
+
},
|
|
3415
|
+
tinted: {
|
|
3416
|
+
border: "border border-[hsl(var(--border))]",
|
|
3417
|
+
// Border color using CSS var
|
|
3418
|
+
background: "bg-[hsl(var(--muted))]",
|
|
3419
|
+
// Background using CSS var
|
|
3420
|
+
text: "text-[hsl(var(--popover-foreground))]",
|
|
3421
|
+
// Text color using CSS var
|
|
3422
|
+
focus: "focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))] focus-visible:ring-offset-2"
|
|
3423
|
+
// Focus ring
|
|
3424
|
+
}
|
|
3425
|
+
},
|
|
3426
|
+
/**
|
|
3427
|
+
* Menu tokens by size
|
|
3428
|
+
* Container for the dropdown items
|
|
3429
|
+
*/
|
|
3430
|
+
menu: {
|
|
3431
|
+
border: {
|
|
3432
|
+
default: "border border-[hsl(var(--border))]"
|
|
3433
|
+
// Border color using CSS var
|
|
3434
|
+
},
|
|
3435
|
+
background: {
|
|
3436
|
+
neutral: "bg-[hsl(var(--popover))]",
|
|
3437
|
+
// Background using CSS var
|
|
3438
|
+
tinted: "bg-[hsl(var(--muted))]"
|
|
3439
|
+
// Background using CSS var
|
|
3440
|
+
},
|
|
3441
|
+
text: {
|
|
3442
|
+
default: "text-[hsl(var(--popover-foreground))]"
|
|
3443
|
+
// Text color using CSS var
|
|
3444
|
+
},
|
|
3445
|
+
padding: {
|
|
3446
|
+
sm: "p-sm",
|
|
3447
|
+
// 8px
|
|
3448
|
+
md: "p-md",
|
|
3449
|
+
// 16px
|
|
3450
|
+
lg: "p-lg"
|
|
3451
|
+
// 24px
|
|
3452
|
+
},
|
|
3453
|
+
radius: {
|
|
3454
|
+
sm: "rounded-md",
|
|
3455
|
+
// 6px
|
|
3456
|
+
md: "rounded-lg",
|
|
3457
|
+
// 8px
|
|
3458
|
+
lg: "rounded-lg"
|
|
3459
|
+
// 8px
|
|
3460
|
+
},
|
|
3461
|
+
shadow: {
|
|
3462
|
+
sm: "shadow-md",
|
|
3463
|
+
// Maps to elevationShadows.md
|
|
3464
|
+
md: "shadow-lg",
|
|
3465
|
+
// Maps to elevationShadows.lg
|
|
3466
|
+
lg: "shadow-xl"
|
|
3467
|
+
// Maps to elevationShadows.xl
|
|
3468
|
+
},
|
|
3469
|
+
minWidth: {
|
|
3470
|
+
sm: "min-w-32",
|
|
3471
|
+
// 128px
|
|
3472
|
+
md: "min-w-48",
|
|
3473
|
+
// 192px
|
|
3474
|
+
lg: "min-w-64"
|
|
3475
|
+
// 256px
|
|
3476
|
+
}
|
|
3477
|
+
},
|
|
3478
|
+
/**
|
|
3479
|
+
* Item tokens by size
|
|
3480
|
+
* Individual menu item
|
|
3481
|
+
*/
|
|
3482
|
+
item: {
|
|
3483
|
+
background: {
|
|
3484
|
+
focus: "focus:bg-[hsl(var(--accent))]",
|
|
3485
|
+
// Focus background using CSS var
|
|
3486
|
+
selected: "bg-[hsl(var(--accent))]"
|
|
3487
|
+
// Selected background using CSS var
|
|
3488
|
+
},
|
|
3489
|
+
text: {
|
|
3490
|
+
focus: "focus:text-[hsl(var(--accent-foreground))]",
|
|
3491
|
+
// Focus text using CSS var
|
|
3492
|
+
selected: "text-[hsl(var(--accent-foreground))]"
|
|
3493
|
+
// Selected text using CSS var
|
|
3494
|
+
},
|
|
3495
|
+
padding: {
|
|
3496
|
+
sm: "px-sm py-xs",
|
|
3497
|
+
// 8px horizontal, 4px vertical
|
|
3498
|
+
md: "px-md py-xs",
|
|
3499
|
+
// 16px horizontal, 4px vertical
|
|
3500
|
+
lg: "px-lg py-sm"
|
|
3501
|
+
// 24px horizontal, 8px vertical
|
|
3502
|
+
},
|
|
3503
|
+
radius: {
|
|
3504
|
+
sm: "rounded-sm",
|
|
3505
|
+
// 4px
|
|
3506
|
+
md: "rounded-md",
|
|
3507
|
+
// 6px
|
|
3508
|
+
lg: "rounded-md"
|
|
3509
|
+
// 6px
|
|
3510
|
+
},
|
|
3511
|
+
fontSize: {
|
|
3512
|
+
sm: "text-sm",
|
|
3513
|
+
// Maps to fontSize.sm
|
|
3514
|
+
md: "text-sm",
|
|
3515
|
+
// Maps to fontSize.sm
|
|
3516
|
+
lg: "text-base"
|
|
3517
|
+
// Maps to fontSize.base
|
|
3518
|
+
}
|
|
3519
|
+
}
|
|
3520
|
+
}, M = {
|
|
3521
|
+
/**
|
|
3522
|
+
* Tooltip content tokens
|
|
3523
|
+
* Maps to foundation spacing, radius, shadow, and typography tokens
|
|
3524
|
+
*/
|
|
3525
|
+
content: {
|
|
3526
|
+
border: {
|
|
3527
|
+
default: "border",
|
|
3528
|
+
// Border utility
|
|
3529
|
+
color: "border-border"
|
|
3530
|
+
// Border color using token
|
|
3531
|
+
},
|
|
3532
|
+
background: {
|
|
3533
|
+
default: "bg-popover"
|
|
3534
|
+
// Background using token
|
|
3535
|
+
},
|
|
3536
|
+
text: {
|
|
3537
|
+
default: "text-popover-foreground"
|
|
3538
|
+
// Text color using token
|
|
3539
|
+
},
|
|
3540
|
+
padding: {
|
|
3541
|
+
horizontal: "px-sm",
|
|
3542
|
+
// 8px horizontal - maps to semanticSpacing.sm
|
|
3543
|
+
vertical: "py-xs"
|
|
3544
|
+
// 4px vertical - maps to semanticSpacing.xs
|
|
3545
|
+
},
|
|
3546
|
+
radius: {
|
|
3547
|
+
sm: "rounded-sm",
|
|
3548
|
+
// 4px - maps to borderRadius.sm
|
|
3549
|
+
md: "rounded-md"
|
|
3550
|
+
// 6px - maps to borderRadius.md (default)
|
|
3551
|
+
},
|
|
3552
|
+
shadow: {
|
|
3553
|
+
sm: "shadow-sm",
|
|
3554
|
+
// Maps to elevationShadows.sm
|
|
3555
|
+
md: "shadow-md"
|
|
3556
|
+
// Maps to elevationShadows.md (default)
|
|
3557
|
+
},
|
|
3558
|
+
fontSize: {
|
|
3559
|
+
sm: "text-sm"
|
|
3560
|
+
// Maps to fontSize.sm (default)
|
|
3561
|
+
}
|
|
3562
|
+
}
|
|
3563
|
+
}, n = {
|
|
3564
|
+
...t,
|
|
3565
|
+
...i,
|
|
3566
|
+
...s,
|
|
3567
|
+
...a,
|
|
3568
|
+
...o,
|
|
3569
|
+
...r
|
|
787
3570
|
};
|
|
788
|
-
function
|
|
3571
|
+
function p(l) {
|
|
789
3572
|
return `:root {
|
|
790
|
-
${Object.entries(
|
|
3573
|
+
${Object.entries(l).map(([m, u]) => ` ${m}: ${u};`).join(`
|
|
791
3574
|
`)}
|
|
792
3575
|
}`;
|
|
793
3576
|
}
|
|
794
|
-
const
|
|
795
|
-
colors: Object.keys(
|
|
796
|
-
typography: Object.keys(
|
|
797
|
-
spacing: Object.keys(
|
|
798
|
-
shadows: Object.keys(
|
|
799
|
-
radius: Object.keys(
|
|
800
|
-
motion: Object.keys(
|
|
801
|
-
total: Object.keys(
|
|
802
|
-
};
|
|
3577
|
+
const A = p(n), H = {
|
|
3578
|
+
colors: Object.keys(t).length,
|
|
3579
|
+
typography: Object.keys(i).length,
|
|
3580
|
+
spacing: Object.keys(s).length,
|
|
3581
|
+
shadows: Object.keys(a).length,
|
|
3582
|
+
radius: Object.keys(o).length,
|
|
3583
|
+
motion: Object.keys(r).length,
|
|
3584
|
+
total: Object.keys(n).length
|
|
3585
|
+
}, j = g;
|
|
803
3586
|
export {
|
|
804
|
-
|
|
3587
|
+
v as ALERT_TOKENS,
|
|
3588
|
+
w as BUTTON_TOKENS,
|
|
3589
|
+
y as CARD_TOKENS,
|
|
3590
|
+
z as CHECKBOX_TOKENS,
|
|
3591
|
+
d as DATA_TOKENS,
|
|
3592
|
+
k as DOMAIN_TOKENS,
|
|
3593
|
+
L as DROPDOWN_TOKENS,
|
|
3594
|
+
c as ICON_TOKENS,
|
|
3595
|
+
S as INPUT_TOKENS,
|
|
3596
|
+
_ as MENU_TOKENS,
|
|
3597
|
+
h as MOTION_TOKENS,
|
|
3598
|
+
K as NAVIGATION_TOKENS,
|
|
3599
|
+
V as NOTIFICATION_TOKENS,
|
|
3600
|
+
I as OVERLAY_TOKENS,
|
|
3601
|
+
W as POPOVER_TOKENS,
|
|
3602
|
+
T as RADIO_TOKENS,
|
|
3603
|
+
E as SECTION_TOKENS,
|
|
3604
|
+
C as SURFACE_TOKENS,
|
|
3605
|
+
O as SWITCH_TOKENS,
|
|
3606
|
+
N as TEXT_TOKENS,
|
|
3607
|
+
R as TOAST_TOKENS,
|
|
3608
|
+
M as TOOLTIP_TOKENS,
|
|
3609
|
+
j as UI_COLORS,
|
|
3610
|
+
ie as accentColoredShadows,
|
|
805
3611
|
U as accentColors,
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
3612
|
+
n as allCSSVariables,
|
|
3613
|
+
A as allCSSVariablesCSS,
|
|
3614
|
+
B as animations,
|
|
3615
|
+
F as baseColors,
|
|
3616
|
+
ne as borderRadius,
|
|
3617
|
+
G as chartColors,
|
|
3618
|
+
t as colorCSSVariables,
|
|
3619
|
+
le as componentRadius,
|
|
3620
|
+
me as componentShadowMapping,
|
|
3621
|
+
q as cssVariableColorTokens,
|
|
3622
|
+
X as durations,
|
|
3623
|
+
Y as easings,
|
|
3624
|
+
ue as elevationShadows,
|
|
3625
|
+
ge as focusRings,
|
|
3626
|
+
ce as fontFamily,
|
|
3627
|
+
he as fontSize,
|
|
3628
|
+
pe as fontSizeWithMd,
|
|
3629
|
+
be as fontWeight,
|
|
3630
|
+
p as generateCSSVariablesCSS,
|
|
3631
|
+
fe as glowEffects,
|
|
3632
|
+
$ as keyframes,
|
|
3633
|
+
xe as layoutSpacing,
|
|
3634
|
+
ve as letterSpacing,
|
|
3635
|
+
we as lineHeight,
|
|
3636
|
+
r as motionCSSVariables,
|
|
3637
|
+
ye as motionV2CSSVariables,
|
|
3638
|
+
ke as motionV2Combined,
|
|
3639
|
+
Se as motionV2Durations,
|
|
3640
|
+
ze as motionV2Easings,
|
|
3641
|
+
Oe as motionV2Fade,
|
|
3642
|
+
Te as motionV2Scale,
|
|
3643
|
+
Ce as motionV2Slide,
|
|
3644
|
+
Ne as motionV2TailwindConfig,
|
|
3645
|
+
Ee as motionV2Transitions,
|
|
3646
|
+
Ie as primaryColoredShadows,
|
|
3647
|
+
J as primaryColors,
|
|
3648
|
+
o as radiusCSSVariables,
|
|
3649
|
+
Q as reducedMotion,
|
|
3650
|
+
Z as secondaryColors,
|
|
3651
|
+
ee as semanticColors,
|
|
3652
|
+
e as semanticSpacing,
|
|
3653
|
+
Re as shadowBase,
|
|
3654
|
+
a as shadowCSSVariables,
|
|
3655
|
+
Ve as shadowOpacity,
|
|
3656
|
+
Ke as spacing,
|
|
3657
|
+
s as spacingCSSVariables,
|
|
3658
|
+
de as springs,
|
|
3659
|
+
re as surfaceColors,
|
|
3660
|
+
te as tailwindMotionConfig,
|
|
3661
|
+
_e as tailwindRadiusConfig,
|
|
3662
|
+
We as tailwindShadowConfig,
|
|
3663
|
+
Le as tailwindSpacingConfig,
|
|
3664
|
+
g as tailwindThemeColors,
|
|
3665
|
+
Me as tailwindTypographyConfig,
|
|
3666
|
+
oe as textColors,
|
|
3667
|
+
Ae as textStyles,
|
|
3668
|
+
H as tokenSystemSummary,
|
|
3669
|
+
ae as transitions,
|
|
3670
|
+
i as typographyCSSVariables
|
|
852
3671
|
};
|