@tenerife.music/ui 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +407 -123
- package/dist/animation/index.d.ts +0 -1
- package/dist/animation/presets.d.ts +6 -9
- package/dist/animation/tas.d.ts +2 -58
- package/dist/animation/types.d.ts +9 -48
- package/dist/animation/useInView.d.ts +36 -0
- package/dist/animation/utils.d.ts +0 -1
- package/dist/components/SectionBuilder.d.ts +0 -1
- package/dist/components/SectionBuilder.presets.d.ts +0 -1
- package/dist/components/SectionBuilder.types.d.ts +0 -1
- package/dist/components/admin/Dashboard.d.ts +0 -1
- package/dist/components/admin/UserManagement.d.ts +0 -1
- package/dist/components/auth/LoginForm.d.ts +0 -1
- package/dist/components/auth/ProfileCard.d.ts +0 -1
- package/dist/components/auth/RegisterForm.d.ts +0 -1
- package/dist/components/cards/ArtistCard/ArtistCard.d.ts +22 -0
- package/dist/components/cards/ArtistCard/ArtistCard.types.d.ts +46 -0
- package/dist/components/cards/ArtistCard/ArtistCard.variants.d.ts +83 -0
- package/dist/components/cards/ArtistCard/index.d.ts +8 -0
- package/dist/components/cards/CardBase/CardBase.d.ts +45 -0
- package/dist/components/cards/CardBase/CardBase.types.d.ts +70 -0
- package/dist/components/cards/CardBase/CardBase.variants.d.ts +38 -0
- package/dist/components/cards/CardBase/index.d.ts +8 -0
- package/dist/components/cards/CategoryCard/CategoryCard.d.ts +18 -0
- package/dist/components/cards/CategoryCard/CategoryCard.types.d.ts +38 -0
- package/dist/components/cards/CategoryCard/CategoryCard.variants.d.ts +21 -0
- package/dist/components/cards/CategoryCard/index.d.ts +7 -0
- package/dist/components/cards/EventCard/EventCard.d.ts +19 -0
- package/dist/components/cards/{EventCard.d.ts → EventCard/EventCard.types.d.ts} +13 -4
- package/dist/components/cards/EventCard/EventCard.variants.d.ts +70 -0
- package/dist/components/cards/EventCard/index.d.ts +7 -0
- package/dist/components/cards/PromoCard/PromoCard.d.ts +20 -0
- package/dist/components/cards/PromoCard/PromoCard.types.d.ts +42 -0
- package/dist/components/cards/PromoCard/PromoCard.variants.d.ts +35 -0
- package/dist/components/cards/PromoCard/index.d.ts +7 -0
- package/dist/components/cards/TicketCard/TicketCard.d.ts +19 -0
- package/dist/components/cards/TicketCard/TicketCard.types.d.ts +55 -0
- package/dist/components/cards/TicketCard/TicketCard.variants.d.ts +71 -0
- package/dist/components/cards/TicketCard/index.d.ts +7 -0
- package/dist/components/cards/VenueCard/VenueCard.d.ts +21 -0
- package/dist/components/cards/{VenueCard.d.ts → VenueCard/VenueCard.types.d.ts} +15 -7
- package/dist/components/cards/VenueCard/VenueCard.variants.d.ts +60 -0
- package/dist/components/cards/VenueCard/index.d.ts +8 -0
- package/dist/components/cards/index.d.ts +19 -0
- package/dist/components/checkbox/Checkbox.d.ts +22 -0
- package/dist/components/checkbox/Checkbox.types.d.ts +68 -0
- package/dist/components/checkbox/checkbox-variants.d.ts +13 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/containers/Card.d.ts +75 -0
- package/dist/components/containers/Section.d.ts +31 -0
- package/dist/components/containers/Surface.d.ts +28 -0
- package/dist/components/containers/index.d.ts +9 -0
- package/dist/components/controls/LanguageSelector.d.ts +0 -1
- package/dist/components/data/List.d.ts +0 -1
- package/dist/components/data/Table.d.ts +0 -1
- package/dist/components/data/Timeline.d.ts +0 -1
- package/dist/components/data/data-list/DataList.d.ts +29 -0
- package/dist/components/data/data-list/DataList.types.d.ts +43 -0
- package/dist/components/data/data-list/DataListItem.d.ts +20 -0
- package/dist/components/data/data-list/DataListLabel.d.ts +19 -0
- package/dist/components/data/data-list/DataListValue.d.ts +18 -0
- package/dist/components/data/data-list/index.d.ts +10 -0
- package/dist/components/data/empty-state/EmptyState.d.ts +31 -0
- package/dist/components/data/empty-state/EmptyState.types.d.ts +51 -0
- package/dist/components/data/empty-state/EmptyStateAction.d.ts +17 -0
- package/dist/components/data/empty-state/EmptyStateDescription.d.ts +17 -0
- package/dist/components/data/empty-state/EmptyStateIcon.d.ts +22 -0
- package/dist/components/data/empty-state/EmptyStateTitle.d.ts +17 -0
- package/dist/components/data/empty-state/index.d.ts +10 -0
- package/dist/components/data/index.d.ts +9 -0
- package/dist/components/data/skeleton/Skeleton.d.ts +24 -0
- package/dist/components/data/skeleton/Skeleton.types.d.ts +12 -0
- package/dist/components/data/skeleton/index.d.ts +6 -0
- package/dist/components/data/table/Table.d.ts +33 -0
- package/dist/components/data/table/Table.types.d.ts +264 -0
- package/dist/components/data/table/TableBody.d.ts +13 -0
- package/dist/components/data/table/TableCell.d.ts +13 -0
- package/dist/components/data/table/TableEmpty.d.ts +13 -0
- package/dist/components/data/table/TableExpandableContent.d.ts +14 -0
- package/dist/components/data/table/TableHead.d.ts +13 -0
- package/dist/components/data/table/TableHeader.d.ts +13 -0
- package/dist/components/data/table/TableLoadingState.d.ts +13 -0
- package/dist/components/data/table/TableRow.d.ts +13 -0
- package/dist/components/data/table/TableSortIcon.d.ts +14 -0
- package/dist/components/data/table/index.d.ts +17 -0
- package/dist/components/drawer/Drawer.d.ts +41 -0
- package/dist/components/drawer/Drawer.types.d.ts +75 -0
- package/dist/components/drawer/drawer-variants.d.ts +17 -0
- package/dist/components/drawer/index.d.ts +8 -0
- package/dist/components/dropdown/Dropdown.d.ts +38 -0
- package/dist/components/dropdown/Dropdown.types.d.ts +82 -0
- package/dist/components/dropdown/dropdown-variants.d.ts +33 -0
- package/dist/components/feedback/ConsentBanner.d.ts +0 -1
- package/dist/components/feedback/Progress.d.ts +0 -1
- package/dist/components/feedback/Skeleton.d.ts +0 -1
- package/dist/components/filters/DateRangePicker.d.ts +0 -1
- package/dist/components/filters/FilterBar.d.ts +0 -1
- package/dist/components/filters/FilterSelect.d.ts +0 -1
- package/dist/components/filters/PriceRangeSlider.d.ts +0 -1
- package/dist/components/filters/SearchFilters.d.ts +0 -1
- package/dist/components/filters/SearchInput.d.ts +1 -2
- package/dist/components/filters/types.d.ts +0 -1
- package/dist/components/icon/Icon.d.ts +32 -0
- package/dist/components/icon/Icon.types.d.ts +7 -0
- package/dist/components/icon/index.d.ts +4 -0
- package/dist/components/icons/TrendingIcon.d.ts +0 -1
- package/dist/components/image/Image.d.ts +0 -1
- package/dist/components/input/Input.d.ts +20 -0
- package/dist/components/input/Input.types.d.ts +38 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/input-variants.d.ts +14 -0
- package/dist/components/input/legacy/input.d.ts +11 -0
- package/dist/components/layout/Box.d.ts +40 -11
- package/dist/components/layout/Column.d.ts +6 -0
- package/dist/components/layout/Container.d.ts +1 -2
- package/dist/components/layout/Flex.d.ts +29 -14
- package/dist/components/layout/Footer.d.ts +0 -1
- package/dist/components/layout/Grid.d.ts +34 -26
- package/dist/components/layout/ModeHero.d.ts +0 -1
- package/dist/components/layout/Navbar.d.ts +0 -1
- package/dist/components/layout/Row.d.ts +28 -0
- package/dist/components/layout/Section.d.ts +0 -1
- package/dist/components/layout/Stack.d.ts +24 -15
- package/dist/components/layout/Surface.d.ts +21 -0
- package/dist/components/layout/index.d.ts +10 -5
- package/dist/components/layout/layout.types.d.ts +16 -1
- package/dist/components/menus/DropdownMenu.d.ts +0 -1
- package/dist/components/menus/NavigationMenu.d.ts +0 -1
- package/dist/components/menus/Tabs.d.ts +0 -1
- package/dist/components/menus/context-menu/ContextMenuContent.d.ts +22 -0
- package/dist/components/menus/context-menu/ContextMenuGroup.d.ts +14 -0
- package/dist/components/menus/context-menu/ContextMenuItem.d.ts +14 -0
- package/dist/components/menus/context-menu/ContextMenuLabel.d.ts +14 -0
- package/dist/components/menus/context-menu/ContextMenuRoot.d.ts +47 -0
- package/dist/components/menus/context-menu/ContextMenuSeparator.d.ts +14 -0
- package/dist/components/menus/context-menu/ContextMenuTrigger.d.ts +16 -0
- package/dist/components/menus/context-menu/index.d.ts +12 -0
- package/dist/components/menus/dropdown/DropdownMenuCheckItem.d.ts +18 -0
- package/dist/components/menus/dropdown/DropdownMenuContent.d.ts +15 -0
- package/dist/components/menus/dropdown/DropdownMenuGroup.d.ts +12 -0
- package/dist/components/menus/dropdown/DropdownMenuItem.d.ts +30 -0
- package/dist/components/menus/dropdown/DropdownMenuLabel.d.ts +17 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioGroup.d.ts +24 -0
- package/dist/components/menus/dropdown/DropdownMenuRadioItem.d.ts +18 -0
- package/dist/components/menus/dropdown/DropdownMenuRoot.d.ts +33 -0
- package/dist/components/menus/dropdown/DropdownMenuSeparator.d.ts +13 -0
- package/dist/components/menus/dropdown/DropdownMenuSub.d.ts +10 -0
- package/dist/components/menus/dropdown/DropdownMenuSubContent.d.ts +13 -0
- package/dist/components/menus/dropdown/DropdownMenuSubTrigger.d.ts +13 -0
- package/dist/components/menus/dropdown/DropdownMenuTrigger.d.ts +14 -0
- package/dist/components/menus/dropdown/index.d.ts +18 -0
- package/dist/components/menus/hover-card/HoverCardContent.d.ts +14 -0
- package/dist/components/menus/hover-card/HoverCardRoot.d.ts +20 -0
- package/dist/components/menus/hover-card/HoverCardTrigger.d.ts +13 -0
- package/dist/components/menus/hover-card/index.d.ts +8 -0
- package/dist/components/menus/index.d.ts +9 -0
- package/dist/components/menus/popover/PopoverArrow.d.ts +17 -0
- package/dist/components/menus/popover/PopoverContent.d.ts +24 -0
- package/dist/components/menus/popover/PopoverRoot.d.ts +43 -0
- package/dist/components/menus/popover/PopoverTrigger.d.ts +17 -0
- package/dist/components/menus/popover/index.d.ts +9 -0
- package/dist/components/modal/Modal.d.ts +70 -0
- package/dist/components/modal/modal-variants.d.ts +26 -0
- package/dist/components/modals/ConfirmDialog.d.ts +3 -3
- package/dist/components/modals/CustomDialog.d.ts +0 -1
- package/dist/components/modals/Modal.d.ts +0 -1
- package/dist/components/modals/ModalProvider.d.ts +0 -1
- package/dist/components/modals/SimpleModal.d.ts +0 -1
- package/dist/components/navigation/Breadcrumbs.d.ts +0 -1
- package/dist/components/navigation/Pagination.d.ts +0 -1
- package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts +52 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +5 -0
- package/dist/components/navigation/index.d.ts +10 -0
- package/dist/components/navigation/pagination/Pagination.d.ts +60 -0
- package/dist/components/navigation/pagination/index.d.ts +5 -0
- package/dist/components/navigation/segmented-control/SegmentedControl.d.ts +43 -0
- package/dist/components/navigation/segmented-control/index.d.ts +5 -0
- package/dist/components/navigation/stepper/Stepper.d.ts +129 -0
- package/dist/components/navigation/stepper/index.d.ts +5 -0
- package/dist/components/navigation/tabs/Tabs.d.ts +73 -0
- package/dist/components/navigation/tabs/index.d.ts +5 -0
- package/dist/components/notifications/NotificationCenter.DismissAll.d.ts +21 -0
- package/dist/components/notifications/NotificationCenter.GroupHeader.d.ts +23 -0
- package/dist/components/notifications/NotificationCenter.Item.d.ts +24 -0
- package/dist/components/notifications/NotificationCenter.List.d.ts +22 -0
- package/dist/components/notifications/NotificationCenter.Panel.d.ts +32 -0
- package/dist/components/notifications/NotificationCenter.Provider.d.ts +31 -0
- package/dist/components/notifications/NotificationCenter.Trigger.d.ts +15 -0
- package/dist/components/notifications/NotificationCenter.d.ts +27 -0
- package/dist/components/notifications/NotificationCenter.types.d.ts +89 -0
- package/dist/components/notifications/index.d.ts +23 -0
- package/dist/components/notifications/useNotificationCenter.d.ts +47 -0
- package/dist/components/overlays/Backdrop.d.ts +24 -0
- package/dist/components/overlays/Dialog.d.ts +66 -0
- package/dist/components/overlays/Modal.d.ts +60 -0
- package/dist/components/overlays/OverlayPortal.d.ts +0 -1
- package/dist/components/overlays/Popover.d.ts +2 -3
- package/dist/components/overlays/Portal.d.ts +29 -0
- package/dist/components/overlays/Toast.d.ts +36 -0
- package/dist/components/overlays/ToastProvider.d.ts +58 -0
- package/dist/components/overlays/ToastViewport.d.ts +27 -0
- package/dist/components/overlays/Tooltip.d.ts +2 -3
- package/dist/components/overlays/index.d.ts +13 -0
- package/dist/components/overlays/utils/FocusLock.d.ts +30 -0
- package/dist/components/overlays/utils/ScrollLock.d.ts +11 -0
- package/dist/components/overlays/utils/positioning.d.ts +68 -0
- package/dist/components/primitives/Badge.d.ts +1 -2
- package/dist/components/primitives/Button.d.ts +0 -1
- package/dist/components/primitives/Card.d.ts +0 -1
- package/dist/components/primitives/Divider.d.ts +0 -1
- package/dist/components/primitives/Input.d.ts +2 -3
- package/dist/components/primitives/Label.d.ts +0 -1
- package/dist/components/primitives/Link.d.ts +1 -2
- package/dist/components/primitives/ThemeSwitch.d.ts +3 -3
- package/dist/components/radio/Radio.d.ts +23 -0
- package/dist/components/radio/Radio.types.d.ts +63 -0
- package/dist/components/radio/RadioGroup.d.ts +20 -0
- package/dist/components/radio/RadioGroup.types.d.ts +61 -0
- package/dist/components/radio/index.d.ts +5 -0
- package/dist/components/radio/radio-variants.d.ts +13 -0
- package/dist/components/search/SearchBar.d.ts +0 -1
- package/dist/components/sections/ArticlesSection.d.ts +0 -1
- package/dist/components/sections/CTASection.d.ts +0 -1
- package/dist/components/sections/FeatureSection.d.ts +0 -1
- package/dist/components/sections/HeroSection.d.ts +0 -1
- package/dist/components/sections/TrendingSection.d.ts +0 -1
- package/dist/components/select/Select.d.ts +38 -0
- package/dist/components/select/Select.types.d.ts +107 -0
- package/dist/components/select/index.d.ts +5 -0
- package/dist/components/select/legacy/select.d.ts +11 -0
- package/dist/components/select/select-variants.d.ts +32 -0
- package/dist/components/skeletons/EventCardSkeleton.d.ts +0 -1
- package/dist/components/skeletons/VenueCardSkeleton.d.ts +0 -1
- package/dist/components/switch/Switch.d.ts +24 -0
- package/dist/components/switch/Switch.types.d.ts +53 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/switch-variants.d.ts +34 -0
- package/dist/components/textarea/Textarea.d.ts +21 -0
- package/dist/components/textarea/Textarea.types.d.ts +40 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/legacy/textarea.d.ts +11 -0
- package/dist/components/textarea/textarea-variants.d.ts +14 -0
- package/dist/components/toasts/Toast.d.ts +1 -2
- package/dist/components/toasts/ToastProvider.d.ts +0 -1
- package/dist/components/ui/alert.d.ts +9 -0
- package/dist/components/ui/body.d.ts +12 -0
- package/dist/components/ui/button.d.ts +2 -3
- package/dist/components/ui/caption.d.ts +11 -0
- package/dist/components/ui/card.d.ts +0 -1
- package/dist/components/ui/code.d.ts +11 -0
- package/dist/components/ui/dialog.d.ts +0 -1
- package/dist/components/ui/display.d.ts +12 -0
- package/dist/components/ui/field.d.ts +45 -0
- package/dist/components/ui/heading.d.ts +12 -0
- package/dist/components/ui/label.d.ts +9 -3
- package/dist/components/ui/lead.d.ts +11 -0
- package/dist/components/ui/text.d.ts +18 -0
- package/dist/components/ui/toast.d.ts +0 -1
- package/dist/components/ui/toaster.d.ts +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -1
- package/dist/hooks/use-toast.d.ts +0 -1
- package/dist/hooks/useDebounce.d.ts +0 -1
- package/dist/hooks/useModal.d.ts +0 -1
- package/dist/hooks/useToast.d.ts +0 -1
- package/dist/icons/IconArrowRight.d.ts +6 -0
- package/dist/icons/IconCalendar.d.ts +6 -0
- package/dist/icons/IconCheck.d.ts +6 -0
- package/dist/icons/IconChevronDown.d.ts +6 -0
- package/dist/icons/IconChevronRight.d.ts +6 -0
- package/dist/icons/IconClose.d.ts +6 -0
- package/dist/icons/IconError.d.ts +6 -0
- package/dist/icons/IconInfo.d.ts +6 -0
- package/dist/icons/IconLocation.d.ts +6 -0
- package/dist/icons/IconMenu.d.ts +6 -0
- package/dist/icons/IconSearch.d.ts +6 -0
- package/dist/icons/IconSuccess.d.ts +6 -0
- package/dist/icons/IconWarning.d.ts +6 -0
- package/dist/icons/icon.types.d.ts +25 -0
- package/dist/icons/index.d.ts +34 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +37 -78
- package/dist/index.mjs +7675 -5926
- package/dist/lib/a11y.d.ts +0 -1
- package/dist/lib/responsive-props.d.ts +0 -1
- package/dist/lib/utils.d.ts +0 -1
- 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 +0 -1
- package/dist/preset.mjs +172 -53
- package/dist/styles.cjs +2 -0
- package/dist/styles.css +1 -1
- package/dist/styles.d.ts +0 -0
- package/dist/styles.mjs +1 -0
- package/dist/theme/ThemeProvider.d.ts +1 -2
- package/dist/theme/applyMode.d.ts +0 -1
- package/dist/theme/colors.d.ts +6 -71
- package/dist/theme/index.cjs +1 -1
- package/dist/theme/index.d.ts +1 -2
- package/dist/theme/index.mjs +1352 -224
- package/dist/theme/loader.d.ts +0 -1
- package/dist/theme/motion/gestures.d.ts +76 -0
- package/dist/theme/motion/useReducedMotion.d.ts +11 -0
- package/dist/theme/motion.d.ts +0 -1
- package/dist/theme/registry.d.ts +0 -1
- package/dist/theme/schema.d.ts +0 -1
- package/dist/theme/spacing.d.ts +0 -1
- package/dist/theme/typography.d.ts +0 -1
- package/dist/themes/brand.d.ts +0 -1
- package/dist/themes/brand_engine.d.ts +7 -1
- package/dist/themes/dark.d.ts +0 -1
- package/dist/themes/default.d.ts +0 -1
- package/dist/themes/index.d.ts +0 -1
- package/dist/themes/minimal.d.ts +0 -1
- package/dist/themes/neon.d.ts +0 -1
- package/dist/themes/types.d.ts +0 -1
- package/dist/tokens/colors.d.ts +14 -20
- package/dist/tokens/components/alert.d.ts +74 -0
- package/dist/tokens/components/button.d.ts +130 -0
- package/dist/tokens/components/card.d.ts +91 -0
- package/dist/tokens/components/checkbox.d.ts +161 -0
- package/dist/tokens/components/data.d.ts +227 -0
- package/dist/tokens/components/domain.d.ts +379 -0
- package/dist/tokens/components/dropdown.d.ts +146 -0
- package/dist/tokens/components/icon.d.ts +57 -0
- package/dist/tokens/components/index.d.ts +31 -0
- package/dist/tokens/components/input.d.ts +284 -0
- package/dist/tokens/components/menu.d.ts +114 -0
- package/dist/tokens/components/motion.d.ts +103 -0
- package/dist/tokens/components/navigation.d.ts +181 -0
- package/dist/tokens/components/notifications.d.ts +159 -0
- package/dist/tokens/components/overlay.d.ts +227 -0
- package/dist/tokens/components/popover.d.ts +84 -0
- package/dist/tokens/components/radio.d.ts +149 -0
- package/dist/tokens/components/section.d.ts +41 -0
- package/dist/tokens/components/surface.d.ts +94 -0
- package/dist/tokens/components/switch.d.ts +208 -0
- package/dist/tokens/components/text.d.ts +68 -0
- package/dist/tokens/components/toast.d.ts +146 -0
- package/dist/tokens/components/tooltip.d.ts +52 -0
- package/dist/tokens/css-variables.d.ts +0 -20
- package/dist/tokens/index.cjs +3 -3
- package/dist/tokens/index.d.ts +2 -1
- package/dist/tokens/index.mjs +3640 -821
- package/dist/tokens/motion/v2.d.ts +342 -0
- package/dist/tokens/motion.d.ts +55 -5
- package/dist/tokens/opacity.d.ts +22 -0
- package/dist/tokens/radius.d.ts +22 -2
- package/dist/tokens/shadows.d.ts +64 -6
- package/dist/tokens/spacing.d.ts +47 -2
- package/dist/tokens/theme.d.ts +119 -0
- package/dist/tokens/typography.d.ts +141 -24
- 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/animation/index.d.ts.map +0 -1
- package/dist/animation/presets.d.ts.map +0 -1
- package/dist/animation/tas.d.ts.map +0 -1
- package/dist/animation/types.d.ts.map +0 -1
- package/dist/animation/utils.d.ts.map +0 -1
- package/dist/components/SectionBuilder.d.ts.map +0 -1
- package/dist/components/SectionBuilder.presets.d.ts.map +0 -1
- package/dist/components/SectionBuilder.types.d.ts.map +0 -1
- package/dist/components/admin/Dashboard.d.ts.map +0 -1
- package/dist/components/admin/UserManagement.d.ts.map +0 -1
- package/dist/components/auth/LoginForm.d.ts.map +0 -1
- package/dist/components/auth/ProfileCard.d.ts.map +0 -1
- package/dist/components/auth/RegisterForm.d.ts.map +0 -1
- package/dist/components/cards/EventCard.d.ts.map +0 -1
- package/dist/components/cards/VenueCard.d.ts.map +0 -1
- package/dist/components/controls/LanguageSelector.d.ts.map +0 -1
- package/dist/components/data/List.d.ts.map +0 -1
- package/dist/components/data/Table.d.ts.map +0 -1
- package/dist/components/data/Timeline.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/feedback/ConsentBanner.d.ts.map +0 -1
- package/dist/components/feedback/Progress.d.ts.map +0 -1
- package/dist/components/feedback/Skeleton.d.ts.map +0 -1
- package/dist/components/filters/DateRangePicker.d.ts.map +0 -1
- package/dist/components/filters/FilterBar.d.ts.map +0 -1
- package/dist/components/filters/FilterSelect.d.ts.map +0 -1
- package/dist/components/filters/PriceRangeSlider.d.ts.map +0 -1
- package/dist/components/filters/SearchFilters.d.ts.map +0 -1
- package/dist/components/filters/SearchInput.d.ts.map +0 -1
- package/dist/components/filters/types.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/icons/TrendingIcon.d.ts.map +0 -1
- package/dist/components/image/Image.d.ts.map +0 -1
- package/dist/components/layout/Box.d.ts.map +0 -1
- package/dist/components/layout/Container.d.ts.map +0 -1
- package/dist/components/layout/Flex.d.ts.map +0 -1
- package/dist/components/layout/Footer.d.ts.map +0 -1
- package/dist/components/layout/Grid.d.ts.map +0 -1
- package/dist/components/layout/ModeHero.d.ts.map +0 -1
- package/dist/components/layout/Navbar.d.ts.map +0 -1
- package/dist/components/layout/Section.d.ts.map +0 -1
- package/dist/components/layout/Stack.d.ts.map +0 -1
- package/dist/components/layout/index.d.ts.map +0 -1
- package/dist/components/layout/layout.types.d.ts.map +0 -1
- package/dist/components/menus/DropdownMenu.d.ts.map +0 -1
- package/dist/components/menus/NavigationMenu.d.ts.map +0 -1
- package/dist/components/menus/Tabs.d.ts.map +0 -1
- package/dist/components/modals/ConfirmDialog.d.ts.map +0 -1
- package/dist/components/modals/CustomDialog.d.ts.map +0 -1
- package/dist/components/modals/Modal.d.ts.map +0 -1
- package/dist/components/modals/ModalProvider.d.ts.map +0 -1
- package/dist/components/modals/SimpleModal.d.ts.map +0 -1
- package/dist/components/navigation/Breadcrumbs.d.ts.map +0 -1
- package/dist/components/navigation/Pagination.d.ts.map +0 -1
- package/dist/components/overlays/OverlayPortal.d.ts.map +0 -1
- package/dist/components/overlays/Popover.d.ts.map +0 -1
- package/dist/components/overlays/Tooltip.d.ts.map +0 -1
- package/dist/components/primitives/Badge.d.ts.map +0 -1
- package/dist/components/primitives/Button.d.ts.map +0 -1
- package/dist/components/primitives/Card.d.ts.map +0 -1
- package/dist/components/primitives/Divider.d.ts.map +0 -1
- package/dist/components/primitives/Input.d.ts.map +0 -1
- package/dist/components/primitives/Label.d.ts.map +0 -1
- package/dist/components/primitives/Link.d.ts.map +0 -1
- package/dist/components/primitives/ThemeSwitch.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/search/SearchBar.d.ts.map +0 -1
- package/dist/components/sections/ArticlesSection.d.ts.map +0 -1
- package/dist/components/sections/CTASection.d.ts.map +0 -1
- package/dist/components/sections/FeatureSection.d.ts.map +0 -1
- package/dist/components/sections/HeroSection.d.ts.map +0 -1
- package/dist/components/sections/TrendingSection.d.ts.map +0 -1
- package/dist/components/skeletons/EventCardSkeleton.d.ts.map +0 -1
- package/dist/components/skeletons/VenueCardSkeleton.d.ts.map +0 -1
- package/dist/components/toasts/Toast.d.ts.map +0 -1
- package/dist/components/toasts/ToastProvider.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/dialog.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/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/toast.d.ts.map +0 -1
- package/dist/components/ui/toaster.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/hooks/use-toast.d.ts.map +0 -1
- package/dist/hooks/useDebounce.d.ts.map +0 -1
- package/dist/hooks/useModal.d.ts.map +0 -1
- package/dist/hooks/useToast.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/a11y.d.ts.map +0 -1
- package/dist/lib/responsive-props.d.ts.map +0 -1
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/motion-4SRNkZlz.cjs +0 -2
- package/dist/preset.d.ts.map +0 -1
- 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/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/applyMode.d.ts.map +0 -1
- package/dist/theme/colors.d.ts.map +0 -1
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/loader.d.ts.map +0 -1
- package/dist/theme/motion.d.ts.map +0 -1
- package/dist/theme/registry.d.ts.map +0 -1
- package/dist/theme/schema.d.ts.map +0 -1
- package/dist/theme/spacing.d.ts.map +0 -1
- package/dist/theme/typography.d.ts.map +0 -1
- package/dist/themes/brand.d.ts.map +0 -1
- package/dist/themes/brand_engine.d.ts.map +0 -1
- package/dist/themes/dark.d.ts.map +0 -1
- package/dist/themes/default.d.ts.map +0 -1
- package/dist/themes/index.d.ts.map +0 -1
- package/dist/themes/minimal.d.ts.map +0 -1
- package/dist/themes/neon.d.ts.map +0 -1
- package/dist/themes/types.d.ts.map +0 -1
- package/dist/tokens/colors.d.ts.map +0 -1
- package/dist/tokens/css-variables.d.ts.map +0 -1
- package/dist/tokens/index.d.ts.map +0 -1
- package/dist/tokens/motion.d.ts.map +0 -1
- package/dist/tokens/radius.d.ts.map +0 -1
- package/dist/tokens/shadows.d.ts.map +0 -1
- package/dist/tokens/spacing.d.ts.map +0 -1
- package/dist/tokens/typography.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,229 +1,513 @@
|
|
|
1
|
-
🌴 Tenerife UI
|
|
1
|
+
# 🌴 Tenerife UI
|
|
2
|
+
|
|
3
|
+
**Premium React Component Library**
|
|
2
4
|
Elegant. Token-driven. Fully Typed. Built for Luxury Interfaces.
|
|
3
5
|
|
|
4
6
|

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<img src="https://raw.githubusercontent.com/Tureckiy-zart/tenerife-ui/main/.github/banner.png" width="100%" alt="Tenerife UI Banner" />
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<strong>A high-quality, fully tokenized design system for modern React applications.<br/>
|
|
18
|
+
Built with Tailwind, CVA, TypeScript with a luxury-first aesthetic.</strong>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
> ⚠️ **Important:** The library is under active development. The API may change between versions. Use at your own risk. Thorough testing is recommended before using in production.
|
|
5
22
|
|
|
6
|
-
|
|
7
|
-
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 🚀 Quick Start
|
|
26
|
+
|
|
27
|
+
### Installation
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# npm
|
|
8
31
|
npm install @tenerife.music/ui
|
|
9
|
-
|
|
32
|
+
|
|
33
|
+
# pnpm
|
|
10
34
|
pnpm add @tenerife.music/ui
|
|
11
35
|
|
|
12
|
-
|
|
36
|
+
# yarn
|
|
37
|
+
yarn add @tenerife.music/ui
|
|
38
|
+
```
|
|
13
39
|
|
|
14
|
-
|
|
40
|
+
### Minimal Example
|
|
15
41
|
|
|
16
|
-
|
|
17
|
-
|
|
42
|
+
```tsx
|
|
43
|
+
import { ThemeProvider, Button } from "@tenerife.music/ui";
|
|
44
|
+
|
|
45
|
+
export default function App() {
|
|
46
|
+
return (
|
|
47
|
+
<ThemeProvider defaultMode="night">
|
|
48
|
+
<Button variant="default">Click me</Button>
|
|
49
|
+
</ThemeProvider>
|
|
50
|
+
);
|
|
18
51
|
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Done!** 🎉 You can now use Tenerife UI components.
|
|
55
|
+
|
|
56
|
+
> 📖 **Need help?** See the [Complete Guide](./docs/GETTING_STARTED.md) for detailed installation and setup instructions.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ✨ Key Features
|
|
61
|
+
|
|
62
|
+
- 🎨 **Token-driven architecture** — all styles through design tokens, no raw values
|
|
63
|
+
- 🌓 **Day/Night modes** — automatic theme switching with system settings support
|
|
64
|
+
- 🎯 **TypeScript-first** — full typing for all components and API
|
|
65
|
+
- ♿ **Accessibility** — WCAG AA compliance out of the box, full keyboard and screen reader support
|
|
66
|
+
- 📦 **Tree-shakeable** — bundle size optimization through named imports
|
|
67
|
+
- 🎭 **CVA variants** — unified Variant API for all components
|
|
68
|
+
- 🎨 **Tailwind CSS** — full integration with Tailwind preset
|
|
69
|
+
- 🚀 **Production-ready** — tested and ready for production use
|
|
70
|
+
|
|
71
|
+
---
|
|
19
72
|
|
|
20
|
-
|
|
73
|
+
## 📚 Documentation
|
|
21
74
|
|
|
22
|
-
|
|
75
|
+
| Document | Description |
|
|
76
|
+
| --------------------------------------------------------- | ------------------------------------------------------ |
|
|
77
|
+
| **[Complete Guide](./docs/GETTING_STARTED.md)** | Comprehensive guide for installation, setup, and usage |
|
|
78
|
+
| [Quick Start](./docs/QUICK_START.md) | Get started in 30 seconds |
|
|
79
|
+
| [API Reference](./docs/public-api.md) | Complete API documentation for all components |
|
|
80
|
+
| [Tokens Guide](./docs/TOKENS_GUIDE.md) | Working with design tokens |
|
|
81
|
+
| [Theme Guide](./docs/THEME_GUIDE.md) | Theme setup and customization |
|
|
82
|
+
| [Storybook](https://Tureckiy-zart.github.io/tenerife-ui/) | Interactive examples of all components |
|
|
23
83
|
|
|
24
|
-
|
|
84
|
+
---
|
|
25
85
|
|
|
26
|
-
|
|
86
|
+
## 🏗 Installation and Setup
|
|
27
87
|
|
|
28
|
-
|
|
88
|
+
### Requirements
|
|
29
89
|
|
|
30
|
-
|
|
90
|
+
- **React**: `^18 || ^19`
|
|
91
|
+
- **React DOM**: `^18 || ^19`
|
|
92
|
+
- **Node.js**: `>=22` (recommended)
|
|
93
|
+
- **TypeScript**: `>=5.0` (optional, but recommended)
|
|
31
94
|
|
|
32
|
-
|
|
95
|
+
### Step 1: Install Package
|
|
33
96
|
|
|
34
|
-
|
|
97
|
+
```bash
|
|
98
|
+
npm install @tenerife.music/ui
|
|
99
|
+
npm install -D tailwindcss postcss autoprefixer
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Step 2: Configure Tailwind CSS
|
|
35
103
|
|
|
36
|
-
|
|
37
|
-
Это — архитектурно правильная, премиальная, коммерческая дизайн-система.
|
|
104
|
+
Create `tailwind.config.ts`:
|
|
38
105
|
|
|
39
|
-
|
|
40
|
-
|
|
106
|
+
```typescript
|
|
107
|
+
import type { Config } from "tailwindcss";
|
|
108
|
+
import preset from "@tenerife.music/ui/preset";
|
|
41
109
|
|
|
42
|
-
|
|
110
|
+
const config: Config = {
|
|
111
|
+
content: [
|
|
112
|
+
"./src/**/*.{js,ts,jsx,tsx}",
|
|
113
|
+
"./node_modules/@tenerife.music/ui/dist/**/*.{js,ts,jsx,tsx}",
|
|
114
|
+
],
|
|
115
|
+
presets: [preset],
|
|
116
|
+
};
|
|
43
117
|
|
|
44
|
-
|
|
118
|
+
export default config;
|
|
119
|
+
```
|
|
45
120
|
|
|
46
|
-
|
|
121
|
+
### Step 3: Import Styles
|
|
47
122
|
|
|
48
|
-
|
|
123
|
+
In your application's root file:
|
|
49
124
|
|
|
50
|
-
|
|
125
|
+
```typescript
|
|
126
|
+
import "@tenerife.music/ui/styles";
|
|
127
|
+
```
|
|
51
128
|
|
|
52
|
-
|
|
129
|
+
### Step 4: Setup ThemeProvider
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
import { ThemeProvider } from "@tenerife.music/ui";
|
|
53
133
|
|
|
54
|
-
|
|
134
|
+
export default function App() {
|
|
135
|
+
return (
|
|
136
|
+
<ThemeProvider defaultMode="night" enableSystem={true}>
|
|
137
|
+
<YourApp />
|
|
138
|
+
</ThemeProvider>
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
```
|
|
55
142
|
|
|
56
|
-
|
|
143
|
+
> 📖 **Learn more:** See the [Complete Guide](./docs/GETTING_STARTED.md) for setup instructions for Next.js, Vite, Remix, and other frameworks.
|
|
57
144
|
|
|
58
|
-
|
|
145
|
+
---
|
|
59
146
|
|
|
60
|
-
|
|
147
|
+
## 💡 Usage Examples
|
|
61
148
|
|
|
62
|
-
|
|
149
|
+
### Basic Example
|
|
63
150
|
|
|
64
|
-
|
|
151
|
+
```tsx
|
|
152
|
+
import {
|
|
153
|
+
ThemeProvider,
|
|
154
|
+
Button,
|
|
155
|
+
Card,
|
|
156
|
+
CardHeader,
|
|
157
|
+
CardTitle,
|
|
158
|
+
CardContent,
|
|
159
|
+
} from "@tenerife.music/ui";
|
|
65
160
|
|
|
66
|
-
|
|
161
|
+
export default function App() {
|
|
162
|
+
return (
|
|
163
|
+
<ThemeProvider defaultMode="night">
|
|
164
|
+
<Card>
|
|
165
|
+
<CardHeader>
|
|
166
|
+
<CardTitle>Welcome</CardTitle>
|
|
167
|
+
</CardHeader>
|
|
168
|
+
<CardContent>
|
|
169
|
+
<Button variant="default">Get Started</Button>
|
|
170
|
+
</CardContent>
|
|
171
|
+
</Card>
|
|
172
|
+
</ThemeProvider>
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
```
|
|
67
176
|
|
|
68
|
-
|
|
177
|
+
### Theme Toggle
|
|
69
178
|
|
|
70
|
-
|
|
179
|
+
```tsx
|
|
180
|
+
import { ThemeProvider, useTheme, Button } from "@tenerife.music/ui";
|
|
71
181
|
|
|
72
|
-
|
|
182
|
+
function ThemeToggle() {
|
|
183
|
+
const { mode, toggleMode } = useTheme();
|
|
73
184
|
|
|
74
|
-
|
|
185
|
+
return (
|
|
186
|
+
<Button onClick={toggleMode} variant="outline">
|
|
187
|
+
{mode === "night" ? "☀️ Day" : "🌙 Night"}
|
|
188
|
+
</Button>
|
|
189
|
+
);
|
|
190
|
+
}
|
|
75
191
|
|
|
76
|
-
|
|
192
|
+
export default function App() {
|
|
193
|
+
return (
|
|
194
|
+
<ThemeProvider defaultMode="night" enableSystem={true}>
|
|
195
|
+
<ThemeToggle />
|
|
196
|
+
</ThemeProvider>
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Form with Validation
|
|
202
|
+
|
|
203
|
+
```tsx
|
|
204
|
+
import {
|
|
205
|
+
Field,
|
|
206
|
+
FieldLabel,
|
|
207
|
+
FieldControl,
|
|
208
|
+
FieldError,
|
|
209
|
+
Input,
|
|
210
|
+
Button,
|
|
211
|
+
Card,
|
|
212
|
+
CardHeader,
|
|
213
|
+
CardTitle,
|
|
214
|
+
CardContent,
|
|
215
|
+
} from "@tenerife.music/ui";
|
|
216
|
+
|
|
217
|
+
function ContactForm() {
|
|
218
|
+
return (
|
|
219
|
+
<Card>
|
|
220
|
+
<CardHeader>
|
|
221
|
+
<CardTitle>Contact Us</CardTitle>
|
|
222
|
+
</CardHeader>
|
|
223
|
+
<CardContent>
|
|
224
|
+
<form className="space-y-4">
|
|
225
|
+
<Field>
|
|
226
|
+
<FieldLabel>Email</FieldLabel>
|
|
227
|
+
<FieldControl asChild>
|
|
228
|
+
<Input type="email" placeholder="example@email.com" />
|
|
229
|
+
</FieldControl>
|
|
230
|
+
<FieldError>Email is required</FieldError>
|
|
231
|
+
</Field>
|
|
232
|
+
<Button type="submit" variant="default">
|
|
233
|
+
Submit
|
|
234
|
+
</Button>
|
|
235
|
+
</form>
|
|
236
|
+
</CardContent>
|
|
237
|
+
</Card>
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
```
|
|
77
241
|
|
|
78
|
-
|
|
242
|
+
> 📖 **More examples:** See the [Complete Guide](./docs/GETTING_STARTED.md) for additional usage examples.
|
|
79
243
|
|
|
80
|
-
|
|
244
|
+
---
|
|
81
245
|
|
|
82
|
-
|
|
246
|
+
## 🧩 Components
|
|
83
247
|
|
|
84
|
-
|
|
248
|
+
### Primitives
|
|
85
249
|
|
|
86
|
-
|
|
250
|
+
Basic UI components for building interfaces:
|
|
87
251
|
|
|
88
|
-
|
|
252
|
+
- **Button** — buttons with various variants (default, outline, destructive, ghost, link)
|
|
253
|
+
- **Input** — text input fields with state support (success, error, warning)
|
|
254
|
+
- **Textarea** — multi-line text input
|
|
255
|
+
- **Label** — form field labels
|
|
256
|
+
- **Card** — cards with variants (default, elevated, glass, outline)
|
|
257
|
+
- **Badge** — badges for labels and statuses
|
|
258
|
+
- **Text / Heading** — typography components
|
|
89
259
|
|
|
90
|
-
|
|
260
|
+
### Forms
|
|
91
261
|
|
|
92
|
-
|
|
262
|
+
Components for creating forms:
|
|
93
263
|
|
|
94
|
-
|
|
264
|
+
- **Checkbox** — checkboxes with state support
|
|
265
|
+
- **Radio / RadioGroup** — radio buttons and groups
|
|
266
|
+
- **Select** — dropdown lists with search
|
|
267
|
+
- **Field** — form field wrapper with validation
|
|
268
|
+
- **FormInput / FormSelect / FormTextarea** — specialized form components
|
|
95
269
|
|
|
96
|
-
|
|
97
|
-
Не удалять, не переносить, не изменять структуру.
|
|
270
|
+
### Layout
|
|
98
271
|
|
|
99
|
-
|
|
100
|
-
npm install @tenerife.music/ui
|
|
272
|
+
Components for structuring layouts:
|
|
101
273
|
|
|
102
|
-
|
|
274
|
+
- **Flex** — flexbox container with direction, alignment, and gap settings
|
|
275
|
+
- **Grid** — responsive grid with breakpoint support
|
|
276
|
+
- **Stack** — vertical/horizontal element placement
|
|
277
|
+
- **Section** — sections with responsive padding
|
|
278
|
+
- **Container** — containers with width constraints
|
|
103
279
|
|
|
104
|
-
|
|
105
|
-
return (
|
|
106
|
-
<ThemeProvider>
|
|
107
|
-
<YourApp />
|
|
108
|
-
</ThemeProvider>
|
|
109
|
-
);
|
|
110
|
-
}
|
|
280
|
+
### Overlays
|
|
111
281
|
|
|
112
|
-
|
|
113
|
-
Цвета
|
|
282
|
+
Components for modal windows and popup elements:
|
|
114
283
|
|
|
115
|
-
|
|
284
|
+
- **Modal** — modal windows with variants
|
|
285
|
+
- **Dialog** — dialog windows (DialogRoot, DialogTrigger, DialogContent)
|
|
286
|
+
- **Toast** — notifications with ToastProvider system
|
|
287
|
+
- **Popover** — popup tooltips
|
|
288
|
+
- **Tooltip** — tooltips for elements
|
|
116
289
|
|
|
117
|
-
|
|
290
|
+
### Navigation
|
|
118
291
|
|
|
119
|
-
|
|
292
|
+
Components for interface navigation:
|
|
120
293
|
|
|
121
|
-
|
|
294
|
+
- **Tabs** — tabs with keyboard support
|
|
295
|
+
- **Breadcrumbs** — breadcrumb navigation
|
|
296
|
+
- **Pagination** — pagination with settings
|
|
297
|
+
- **Stepper** — step-by-step forms
|
|
298
|
+
- **SegmentedControl** — segmented control
|
|
122
299
|
|
|
123
|
-
|
|
300
|
+
### Data
|
|
124
301
|
|
|
125
|
-
|
|
302
|
+
Components for displaying data:
|
|
126
303
|
|
|
127
|
-
|
|
304
|
+
- **Table** — tables with sorting and filtering
|
|
305
|
+
- **DataList** — data lists (DataListRoot, DataListItem, DataListLabel, DataListValue)
|
|
306
|
+
- **Skeleton** — loading state skeletons
|
|
307
|
+
- **EmptyState** — empty states with actions
|
|
128
308
|
|
|
129
|
-
|
|
309
|
+
### Notifications
|
|
130
310
|
|
|
131
|
-
|
|
311
|
+
Notification system:
|
|
132
312
|
|
|
133
|
-
|
|
313
|
+
- **NotificationCenter** — notification center with grouping
|
|
314
|
+
- **Toast** — popup notifications
|
|
134
315
|
|
|
135
|
-
|
|
316
|
+
### Domain Components
|
|
136
317
|
|
|
137
|
-
|
|
318
|
+
Specialized components for specific domains:
|
|
138
319
|
|
|
139
|
-
|
|
320
|
+
- **EventCard** — event cards with variants and sizes
|
|
321
|
+
- **VenueCard** — venue cards
|
|
322
|
+
- **ArtistCard** — artist cards
|
|
323
|
+
- **TicketCard** — ticket cards
|
|
324
|
+
- **PromoCard** — promo cards
|
|
140
325
|
|
|
141
|
-
|
|
326
|
+
> 📖 **Full list:** See [API Reference](./docs/public-api.md) for a complete list of all components and their props.
|
|
142
327
|
|
|
143
|
-
|
|
328
|
+
---
|
|
144
329
|
|
|
145
|
-
|
|
330
|
+
## 🎨 Design Tokens
|
|
146
331
|
|
|
147
|
-
|
|
332
|
+
Tenerife UI uses a fully tokenized design system:
|
|
148
333
|
|
|
149
|
-
|
|
334
|
+
### Colors
|
|
150
335
|
|
|
151
|
-
|
|
336
|
+
- 100+ color tokens
|
|
337
|
+
- Full color scales (primary, accent, secondary)
|
|
338
|
+
- Surface tokens (base, elevated1-3, overlay, glass)
|
|
339
|
+
- Semantic colors (success, error, warning, info)
|
|
340
|
+
- Text colors (primary, secondary, tertiary, muted)
|
|
341
|
+
- Day/night mode support
|
|
152
342
|
|
|
153
|
-
|
|
343
|
+
### Typography
|
|
154
344
|
|
|
155
|
-
|
|
345
|
+
- Fluid clamp scale for responsive sizes
|
|
346
|
+
- 13 text styles
|
|
347
|
+
- 9 font weights (thin - black)
|
|
348
|
+
- 6 line-height variants
|
|
349
|
+
- 6 letter-spacing variants
|
|
156
350
|
|
|
157
|
-
|
|
351
|
+
### Spacing
|
|
158
352
|
|
|
159
|
-
|
|
353
|
+
- 8px-based system (scale 0–96)
|
|
354
|
+
- Semantic tokens (xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl)
|
|
355
|
+
- Layout tokens (section padding, container widths, grid gaps)
|
|
160
356
|
|
|
161
|
-
|
|
357
|
+
### Shadows
|
|
162
358
|
|
|
163
|
-
|
|
359
|
+
- Elevation levels (none, xs, sm, md, lg, xl, 2xl)
|
|
360
|
+
- Colored shadows (primary-_, accent-_)
|
|
361
|
+
- Glow effects (primary-glow-subtle, primary-glow-medium)
|
|
362
|
+
- Focus rings (focus-ring-default, focus-ring-primary)
|
|
164
363
|
|
|
165
|
-
|
|
364
|
+
### Radius
|
|
166
365
|
|
|
167
|
-
|
|
366
|
+
- Radius system (none, xs, sm, md, lg, xl, 2xl, 3xl, full)
|
|
367
|
+
- Component standards (button, card, input, badge)
|
|
168
368
|
|
|
169
|
-
|
|
170
|
-
★ Token-first architecture
|
|
369
|
+
### Motion
|
|
171
370
|
|
|
172
|
-
|
|
173
|
-
|
|
371
|
+
- Durations (instant, fast, normal, slow, slower, slowest)
|
|
372
|
+
- Easing functions (linear, ease-in, ease-out, ease-in-out, bounce, elastic)
|
|
373
|
+
- Pre-configured transitions
|
|
374
|
+
- Keyframes (fade, slide, scale, spin, pulse, bounce)
|
|
174
375
|
|
|
175
|
-
|
|
376
|
+
> 📖 **Learn more:** See the [Tokens Guide](./docs/TOKENS_GUIDE.md) for detailed information on working with tokens.
|
|
176
377
|
|
|
177
|
-
|
|
378
|
+
---
|
|
178
379
|
|
|
179
|
-
|
|
380
|
+
## ⚙️ How Tenerife UI Works
|
|
180
381
|
|
|
181
|
-
|
|
382
|
+
### Token-first Architecture
|
|
182
383
|
|
|
183
|
-
|
|
384
|
+
No raw styles. Everything through tokens. This ensures consistency and easy customization.
|
|
184
385
|
|
|
185
|
-
|
|
386
|
+
### Tailwind + CSS Variables
|
|
186
387
|
|
|
187
|
-
|
|
388
|
+
Colors, spacing, shadows, radius — all generated automatically through Tailwind preset and CSS variables.
|
|
188
389
|
|
|
189
|
-
|
|
390
|
+
### CVA for Variability
|
|
190
391
|
|
|
191
|
-
|
|
192
|
-
src/
|
|
193
|
-
components/
|
|
194
|
-
tokens/
|
|
195
|
-
theme/
|
|
196
|
-
layouts/
|
|
197
|
-
overlays/
|
|
198
|
-
search/
|
|
199
|
-
data/
|
|
392
|
+
All components use Class Variance Authority (CVA) for a unified Variant API:
|
|
200
393
|
|
|
201
|
-
|
|
394
|
+
```tsx
|
|
395
|
+
<Button variant="default" size="md">Click me</Button>
|
|
396
|
+
<Button variant="outline" size="lg">Click me</Button>
|
|
397
|
+
```
|
|
202
398
|
|
|
203
|
-
|
|
399
|
+
### Strict TypeScript
|
|
204
400
|
|
|
205
|
-
|
|
401
|
+
Full typing for all components, props, and API ensures excellent developer experience with autocomplete and type checking.
|
|
206
402
|
|
|
207
|
-
|
|
403
|
+
### Theme Engine
|
|
404
|
+
|
|
405
|
+
Instant switching between day/night modes with support for user system settings.
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## 🔧 Development
|
|
410
|
+
|
|
411
|
+
### Install Dependencies
|
|
412
|
+
|
|
413
|
+
```bash
|
|
208
414
|
pnpm install
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
### Run in Development Mode
|
|
418
|
+
|
|
419
|
+
```bash
|
|
209
420
|
pnpm dev
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### Run Storybook
|
|
424
|
+
|
|
425
|
+
```bash
|
|
210
426
|
pnpm storybook
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
Storybook is available at `http://localhost:6006`
|
|
430
|
+
|
|
431
|
+
### Testing
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
# Run tests
|
|
435
|
+
pnpm test
|
|
436
|
+
|
|
437
|
+
# Run tests with coverage
|
|
438
|
+
pnpm test:coverage
|
|
439
|
+
|
|
440
|
+
# Run accessibility tests
|
|
441
|
+
pnpm test:a11y
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Build
|
|
445
|
+
|
|
446
|
+
```bash
|
|
447
|
+
pnpm build
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Linting and Formatting
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
# Check linting
|
|
454
|
+
pnpm lint:check
|
|
455
|
+
|
|
456
|
+
# Fix linting errors
|
|
457
|
+
pnpm lint:fix
|
|
458
|
+
|
|
459
|
+
# Check formatting
|
|
460
|
+
pnpm format:check
|
|
461
|
+
|
|
462
|
+
# Format code
|
|
463
|
+
pnpm format
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## 🛠 Contributing
|
|
469
|
+
|
|
470
|
+
We welcome contributions to the library! Before starting, please read:
|
|
471
|
+
|
|
472
|
+
- [TYPING_STANDARD.md](./docs/structure/TYPING_STANDARD.md) — typing standards
|
|
473
|
+
- [STRUCTURE_OF_WORK.md](./docs/structure/STRUCTURE_OF_WORK.md) — work structure
|
|
474
|
+
- [COMPONENT_GUIDELINES.md](./docs/structure/COMPONENT_GUIDELINES.md) — component guidelines
|
|
475
|
+
|
|
476
|
+
### Contribution Process
|
|
477
|
+
|
|
478
|
+
1. Fork the repository
|
|
479
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
480
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
481
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
482
|
+
5. Open a Pull Request
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## 📜 License
|
|
487
|
+
|
|
488
|
+
MIT License — Commercial-friendly.
|
|
489
|
+
|
|
490
|
+
Use in commercial projects is permitted without restrictions.
|
|
211
491
|
|
|
212
|
-
|
|
492
|
+
---
|
|
213
493
|
|
|
214
|
-
|
|
494
|
+
## 🔗 Links
|
|
215
495
|
|
|
216
|
-
|
|
496
|
+
- **Repository**: [https://github.com/Tureckiy-zart/tenerife-ui](https://github.com/Tureckiy-zart/tenerife-ui)
|
|
497
|
+
- **Issues**: [https://github.com/Tureckiy-zart/tenerife-ui/issues](https://github.com/Tureckiy-zart/tenerife-ui/issues)
|
|
498
|
+
- **Storybook**: [https://Tureckiy-zart.github.io/tenerife-ui/](https://Tureckiy-zart.github.io/tenerife-ui/)
|
|
499
|
+
- **npm**: [https://www.npmjs.com/package/@tenerife.music/ui](https://www.npmjs.com/package/@tenerife.music/ui)
|
|
217
500
|
|
|
218
|
-
|
|
501
|
+
---
|
|
219
502
|
|
|
220
|
-
|
|
503
|
+
## 🎤 From the Author
|
|
221
504
|
|
|
222
|
-
|
|
505
|
+
Tenerife UI is my personal approach to creating a commercial, beautiful, and premium UI system.
|
|
223
506
|
|
|
224
|
-
|
|
507
|
+
If you're building interfaces with a "luxury, stylish, and technological" aesthetic — you're home. 🏠
|
|
225
508
|
|
|
226
|
-
|
|
509
|
+
---
|
|
227
510
|
|
|
228
|
-
|
|
229
|
-
|
|
511
|
+
<p align="center">
|
|
512
|
+
<strong>Made with ❤️ for luxury projects</strong>
|
|
513
|
+
</p>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnimationProps, PresetConfig
|
|
1
|
+
import { AnimationProps, PresetConfig } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Fade animation presets
|
|
4
4
|
*/
|
|
@@ -120,17 +120,15 @@ export declare const scalePresets: {
|
|
|
120
120
|
};
|
|
121
121
|
/**
|
|
122
122
|
* Stagger animation helper
|
|
123
|
-
*
|
|
123
|
+
* Note: Stagger animations are not directly supported in CSS-only approach.
|
|
124
|
+
* This function is kept for API compatibility but returns empty className.
|
|
125
|
+
* For stagger effects, apply animation classes to child elements with CSS delays.
|
|
124
126
|
*/
|
|
125
|
-
export declare function createStagger(
|
|
126
|
-
transition: {
|
|
127
|
-
staggerChildren: number;
|
|
128
|
-
delayChildren: number;
|
|
129
|
-
} & SpringConfig;
|
|
130
|
-
};
|
|
127
|
+
export declare function createStagger(_staggerChildren?: number, _delayChildren?: number, config?: PresetConfig): AnimationProps;
|
|
131
128
|
/**
|
|
132
129
|
* Reveal on scroll preset
|
|
133
130
|
* Uses Intersection Observer for scroll-triggered animations
|
|
131
|
+
* Returns CSS class that should be applied when element is in view
|
|
134
132
|
*/
|
|
135
133
|
export declare function revealOnScroll(config?: PresetConfig & {
|
|
136
134
|
threshold?: number;
|
|
@@ -301,4 +299,3 @@ export declare const presets: {
|
|
|
301
299
|
stagger: typeof createStagger;
|
|
302
300
|
reveal: typeof revealOnScroll;
|
|
303
301
|
};
|
|
304
|
-
//# sourceMappingURL=presets.d.ts.map
|