@fabio.caffarello/react-design-system 3.8.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/granular/index.js +447 -0
- package/dist/granular/index.js.map +1 -0
- package/dist/granular/ui/components/Accordion/Accordion.js +105 -0
- package/dist/granular/ui/components/Accordion/Accordion.js.map +1 -0
- package/dist/granular/ui/components/Autocomplete/Autocomplete.js +133 -0
- package/dist/granular/ui/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/granular/ui/components/Autocomplete/AutocompleteList.js +119 -0
- package/dist/granular/ui/components/Autocomplete/AutocompleteList.js.map +1 -0
- package/dist/granular/ui/components/Autocomplete/AutocompleteOption.js +42 -0
- package/dist/granular/ui/components/Autocomplete/AutocompleteOption.js.map +1 -0
- package/dist/granular/ui/components/Breadcrumb/Breadcrumb.js +100 -0
- package/dist/granular/ui/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/granular/ui/components/Card/Card.js +113 -0
- package/dist/granular/ui/components/Card/Card.js.map +1 -0
- package/dist/granular/ui/components/Card/CardActions.js +51 -0
- package/dist/granular/ui/components/Card/CardActions.js.map +1 -0
- package/dist/granular/ui/components/Card/CardBody.js +32 -0
- package/dist/granular/ui/components/Card/CardBody.js.map +1 -0
- package/dist/granular/ui/components/Card/CardHeader.js +47 -0
- package/dist/granular/ui/components/Card/CardHeader.js.map +1 -0
- package/dist/granular/ui/components/Card/CardSubtitle.js +38 -0
- package/dist/granular/ui/components/Card/CardSubtitle.js.map +1 -0
- package/dist/granular/ui/components/Card/CardTitle.js +61 -0
- package/dist/granular/ui/components/Card/CardTitle.js.map +1 -0
- package/dist/granular/ui/components/ColorPicker/ColorPicker.js +250 -0
- package/dist/granular/ui/components/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/granular/ui/components/CommandPalette/CommandPalette.js +274 -0
- package/dist/granular/ui/components/CommandPalette/CommandPalette.js.map +1 -0
- package/dist/granular/ui/components/DashboardLayout/DashboardLayout.js +37 -0
- package/dist/granular/ui/components/DashboardLayout/DashboardLayout.js.map +1 -0
- package/dist/granular/ui/components/DataGrid/DataGrid.js +155 -0
- package/dist/granular/ui/components/DataGrid/DataGrid.js.map +1 -0
- package/dist/granular/ui/components/DataTablePattern/DataTablePattern.js +113 -0
- package/dist/granular/ui/components/DataTablePattern/DataTablePattern.js.map +1 -0
- package/dist/granular/ui/components/DatePicker/DatePicker.js +126 -0
- package/dist/granular/ui/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/granular/ui/components/DatePicker/DatePickerCalendar.js +294 -0
- package/dist/granular/ui/components/DatePicker/DatePickerCalendar.js.map +1 -0
- package/dist/granular/ui/components/DatePicker/DatePickerContext.js +16 -0
- package/dist/granular/ui/components/DatePicker/DatePickerContext.js.map +1 -0
- package/dist/granular/ui/components/DatePicker/DatePickerInput.js +119 -0
- package/dist/granular/ui/components/DatePicker/DatePickerInput.js.map +1 -0
- package/dist/granular/ui/components/DatePicker/DatePickerProvider.js +47 -0
- package/dist/granular/ui/components/DatePicker/DatePickerProvider.js.map +1 -0
- package/dist/granular/ui/components/Dialog/AlertDialog.js +48 -0
- package/dist/granular/ui/components/Dialog/AlertDialog.js.map +1 -0
- package/dist/granular/ui/components/Dialog/Dialog.js +36 -0
- package/dist/granular/ui/components/Dialog/Dialog.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogClose.js +34 -0
- package/dist/granular/ui/components/Dialog/DialogClose.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogContent.js +114 -0
- package/dist/granular/ui/components/Dialog/DialogContent.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogDescription.js +51 -0
- package/dist/granular/ui/components/Dialog/DialogDescription.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogFooter.js +45 -0
- package/dist/granular/ui/components/Dialog/DialogFooter.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogHeader.js +45 -0
- package/dist/granular/ui/components/Dialog/DialogHeader.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogTitle.js +53 -0
- package/dist/granular/ui/components/Dialog/DialogTitle.js.map +1 -0
- package/dist/granular/ui/components/Dialog/DialogTrigger.js +28 -0
- package/dist/granular/ui/components/Dialog/DialogTrigger.js.map +1 -0
- package/dist/granular/ui/components/Drawer/Drawer.js +47 -0
- package/dist/granular/ui/components/Drawer/Drawer.js.map +1 -0
- package/dist/granular/ui/components/Drawer/DrawerContent.js +140 -0
- package/dist/granular/ui/components/Drawer/DrawerContent.js.map +1 -0
- package/dist/granular/ui/components/Drawer/DrawerContext.js +21 -0
- package/dist/granular/ui/components/Drawer/DrawerContext.js.map +1 -0
- package/dist/granular/ui/components/Drawer/DrawerFooter.js +53 -0
- package/dist/granular/ui/components/Drawer/DrawerFooter.js.map +1 -0
- package/dist/granular/ui/components/Drawer/DrawerHeader.js +50 -0
- package/dist/granular/ui/components/Drawer/DrawerHeader.js.map +1 -0
- package/dist/granular/ui/components/Dropdown/Dropdown.js +243 -0
- package/dist/granular/ui/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/granular/ui/components/EmptyState/EmptyState.js +102 -0
- package/dist/granular/ui/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/granular/ui/components/FileUpload/FileUpload.js +342 -0
- package/dist/granular/ui/components/FileUpload/FileUpload.js.map +1 -0
- package/dist/granular/ui/components/FilterChips/FilterChips.js +67 -0
- package/dist/granular/ui/components/FilterChips/FilterChips.js.map +1 -0
- package/dist/granular/ui/components/Form/Form.js +184 -0
- package/dist/granular/ui/components/Form/Form.js.map +1 -0
- package/dist/granular/ui/components/Form/FormContext.js +19 -0
- package/dist/granular/ui/components/Form/FormContext.js.map +1 -0
- package/dist/granular/ui/components/Form/FormField.js +66 -0
- package/dist/granular/ui/components/Form/FormField.js.map +1 -0
- package/dist/granular/ui/components/Form/FormProvider.js +17 -0
- package/dist/granular/ui/components/Form/FormProvider.js.map +1 -0
- package/dist/granular/ui/components/Form/useFormFieldArray.js +29 -0
- package/dist/granular/ui/components/Form/useFormFieldArray.js.map +1 -0
- package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js +121 -0
- package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js.map +1 -0
- package/dist/granular/ui/components/Header/Header.js +98 -0
- package/dist/granular/ui/components/Header/Header.js.map +1 -0
- package/dist/granular/ui/components/Header/components/HeaderActions.js +21 -0
- package/dist/granular/ui/components/Header/components/HeaderActions.js.map +1 -0
- package/dist/granular/ui/components/Header/components/HeaderHamburger.js +31 -0
- package/dist/granular/ui/components/Header/components/HeaderHamburger.js.map +1 -0
- package/dist/granular/ui/components/Header/components/HeaderLogo.js +50 -0
- package/dist/granular/ui/components/Header/components/HeaderLogo.js.map +1 -0
- package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js +38 -0
- package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js.map +1 -0
- package/dist/granular/ui/components/Header/components/HeaderNavigation.js +27 -0
- package/dist/granular/ui/components/Header/components/HeaderNavigation.js.map +1 -0
- package/dist/granular/ui/components/Header/contexts/HeaderContext.js +49 -0
- package/dist/granular/ui/components/Header/contexts/HeaderContext.js.map +1 -0
- package/dist/granular/ui/components/LoginBox/LoginBox.js +84 -0
- package/dist/granular/ui/components/LoginBox/LoginBox.js.map +1 -0
- package/dist/granular/ui/components/Menu/Menu.js +45 -0
- package/dist/granular/ui/components/Menu/Menu.js.map +1 -0
- package/dist/granular/ui/components/Menu/MenuContent.js +94 -0
- package/dist/granular/ui/components/Menu/MenuContent.js.map +1 -0
- package/dist/granular/ui/components/Menu/MenuContext.js +21 -0
- package/dist/granular/ui/components/Menu/MenuContext.js.map +1 -0
- package/dist/granular/ui/components/Menu/MenuItem.js +93 -0
- package/dist/granular/ui/components/Menu/MenuItem.js.map +1 -0
- package/dist/granular/ui/components/Menu/MenuSeparator.js +46 -0
- package/dist/granular/ui/components/Menu/MenuSeparator.js.map +1 -0
- package/dist/granular/ui/components/Menu/MenuTrigger.js +71 -0
- package/dist/granular/ui/components/Menu/MenuTrigger.js.map +1 -0
- package/dist/granular/ui/components/Modal/Modal.js +171 -0
- package/dist/granular/ui/components/Modal/Modal.js.map +1 -0
- package/dist/granular/ui/components/MultiSelect/MultiSelect.js +193 -0
- package/dist/granular/ui/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/granular/ui/components/Navigation/Navigation.js +141 -0
- package/dist/granular/ui/components/Navigation/Navigation.js.map +1 -0
- package/dist/granular/ui/components/PageHeader/PageHeader.js +95 -0
- package/dist/granular/ui/components/PageHeader/PageHeader.js.map +1 -0
- package/dist/granular/ui/components/Pagination/Pagination.js +156 -0
- package/dist/granular/ui/components/Pagination/Pagination.js.map +1 -0
- package/dist/granular/ui/components/Popover/Popover.js +171 -0
- package/dist/granular/ui/components/Popover/Popover.js.map +1 -0
- package/dist/granular/ui/components/Rating/Rating.js +110 -0
- package/dist/granular/ui/components/Rating/Rating.js.map +1 -0
- package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js +120 -0
- package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js.map +1 -0
- package/dist/granular/ui/components/SearchInput/SearchInput.js +103 -0
- package/dist/granular/ui/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/SideNavbar.js +143 -0
- package/dist/granular/ui/components/SideNavbar/SideNavbar.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js +173 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js +87 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js +242 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js +66 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js +108 -0
- package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js +63 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js +113 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js +150 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js +197 -0
- package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js +108 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js +71 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js +64 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js +141 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js +90 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js +12 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js +13 -0
- package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js +20 -0
- package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js +37 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js +20 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js +28 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js +19 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js +20 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js +22 -0
- package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js +43 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js +59 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js +34 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useResize.js +58 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useResize.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js +35 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js +21 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js +19 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js +21 -0
- package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js +61 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js +82 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js +165 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js +34 -0
- package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js +28 -0
- package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js +60 -0
- package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js.map +1 -0
- package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js +19 -0
- package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js.map +1 -0
- package/dist/granular/ui/components/Stat/Stat.js +84 -0
- package/dist/granular/ui/components/Stat/Stat.js.map +1 -0
- package/dist/granular/ui/components/Stat/StatGroup.js +61 -0
- package/dist/granular/ui/components/Stat/StatGroup.js.map +1 -0
- package/dist/granular/ui/components/Stepper/Stepper.js +248 -0
- package/dist/granular/ui/components/Stepper/Stepper.js.map +1 -0
- package/dist/granular/ui/components/Table/Table.js +162 -0
- package/dist/granular/ui/components/Table/Table.js.map +1 -0
- package/dist/granular/ui/components/Table/TableActions/TableActions.js +67 -0
- package/dist/granular/ui/components/Table/TableActions/TableActions.js.map +1 -0
- package/dist/granular/ui/components/Table/TableActions.js +44 -0
- package/dist/granular/ui/components/Table/TableActions.js.map +1 -0
- package/dist/granular/ui/components/Table/TableBody.js +134 -0
- package/dist/granular/ui/components/Table/TableBody.js.map +1 -0
- package/dist/granular/ui/components/Table/TableCell.js +40 -0
- package/dist/granular/ui/components/Table/TableCell.js.map +1 -0
- package/dist/granular/ui/components/Table/TableContext.js +19 -0
- package/dist/granular/ui/components/Table/TableContext.js.map +1 -0
- package/dist/granular/ui/components/Table/TableEmptyState.js +62 -0
- package/dist/granular/ui/components/Table/TableEmptyState.js.map +1 -0
- package/dist/granular/ui/components/Table/TableFilters/TableFilters.js +189 -0
- package/dist/granular/ui/components/Table/TableFilters/TableFilters.js.map +1 -0
- package/dist/granular/ui/components/Table/TableFilters.js +48 -0
- package/dist/granular/ui/components/Table/TableFilters.js.map +1 -0
- package/dist/granular/ui/components/Table/TableHeader.js +45 -0
- package/dist/granular/ui/components/Table/TableHeader.js.map +1 -0
- package/dist/granular/ui/components/Table/TableHeaderCell.js +117 -0
- package/dist/granular/ui/components/Table/TableHeaderCell.js.map +1 -0
- package/dist/granular/ui/components/Table/TableHeaderRow.js +89 -0
- package/dist/granular/ui/components/Table/TableHeaderRow.js.map +1 -0
- package/dist/granular/ui/components/Table/TablePagination/TablePagination.js +216 -0
- package/dist/granular/ui/components/Table/TablePagination/TablePagination.js.map +1 -0
- package/dist/granular/ui/components/Table/TablePagination.js +56 -0
- package/dist/granular/ui/components/Table/TablePagination.js.map +1 -0
- package/dist/granular/ui/components/Table/TableProvider.js +244 -0
- package/dist/granular/ui/components/Table/TableProvider.js.map +1 -0
- package/dist/granular/ui/components/Table/TableRow.js +95 -0
- package/dist/granular/ui/components/Table/TableRow.js.map +1 -0
- package/dist/granular/ui/components/Table/useColumnResizing.js +71 -0
- package/dist/granular/ui/components/Table/useColumnResizing.js.map +1 -0
- package/dist/granular/ui/components/Table/useVirtualScrolling.js +50 -0
- package/dist/granular/ui/components/Table/useVirtualScrolling.js.map +1 -0
- package/dist/granular/ui/components/Tabs/Tabs.js +39 -0
- package/dist/granular/ui/components/Tabs/Tabs.js.map +1 -0
- package/dist/granular/ui/components/Tabs/TabsContent.js +59 -0
- package/dist/granular/ui/components/Tabs/TabsContent.js.map +1 -0
- package/dist/granular/ui/components/Tabs/TabsContext.js +18 -0
- package/dist/granular/ui/components/Tabs/TabsContext.js.map +1 -0
- package/dist/granular/ui/components/Tabs/TabsList.js +84 -0
- package/dist/granular/ui/components/Tabs/TabsList.js.map +1 -0
- package/dist/granular/ui/components/Tabs/TabsProvider.js +31 -0
- package/dist/granular/ui/components/Tabs/TabsProvider.js.map +1 -0
- package/dist/granular/ui/components/Tabs/TabsTrigger.js +103 -0
- package/dist/granular/ui/components/Tabs/TabsTrigger.js.map +1 -0
- package/dist/granular/ui/components/TimePicker/TimePicker.js +216 -0
- package/dist/granular/ui/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/granular/ui/components/Timeline/Timeline.js +152 -0
- package/dist/granular/ui/components/Timeline/Timeline.js.map +1 -0
- package/dist/granular/ui/components/Toast/Toast.js +159 -0
- package/dist/granular/ui/components/Toast/Toast.js.map +1 -0
- package/dist/granular/ui/components/Toast/ToastContainer.js +41 -0
- package/dist/granular/ui/components/Toast/ToastContainer.js.map +1 -0
- package/dist/granular/ui/components/Toast/useToast.js +64 -0
- package/dist/granular/ui/components/Toast/useToast.js.map +1 -0
- package/dist/granular/ui/hooks/createGenericContext.js +27 -0
- package/dist/granular/ui/hooks/createGenericContext.js.map +1 -0
- package/dist/granular/ui/hooks/focusable.js +14 -0
- package/dist/granular/ui/hooks/focusable.js.map +1 -0
- package/dist/granular/ui/hooks/useAutoFocus.js +23 -0
- package/dist/granular/ui/hooks/useAutoFocus.js.map +1 -0
- package/dist/granular/ui/hooks/useCollapsible.js +37 -0
- package/dist/granular/ui/hooks/useCollapsible.js.map +1 -0
- package/dist/granular/ui/hooks/useFocusRestore.js +20 -0
- package/dist/granular/ui/hooks/useFocusRestore.js.map +1 -0
- package/dist/granular/ui/hooks/useFocusTrap.js +31 -0
- package/dist/granular/ui/hooks/useFocusTrap.js.map +1 -0
- package/dist/granular/ui/hooks/useScrollSpy.js +23 -0
- package/dist/granular/ui/hooks/useScrollSpy.js.map +1 -0
- package/dist/granular/ui/layouts/Container/Container.js +73 -0
- package/dist/granular/ui/layouts/Container/Container.js.map +1 -0
- package/dist/granular/ui/layouts/Stack/Stack.js +79 -0
- package/dist/granular/ui/layouts/Stack/Stack.js.map +1 -0
- package/dist/granular/ui/primitives/Avatar/Avatar.js +122 -0
- package/dist/granular/ui/primitives/Avatar/Avatar.js.map +1 -0
- package/dist/granular/ui/primitives/Avatar/AvatarGroup.js +97 -0
- package/dist/granular/ui/primitives/Avatar/AvatarGroup.js.map +1 -0
- package/dist/granular/ui/primitives/Badge/Badge.js +212 -0
- package/dist/granular/ui/primitives/Badge/Badge.js.map +1 -0
- package/dist/granular/ui/primitives/Button/Button.js +288 -0
- package/dist/granular/ui/primitives/Button/Button.js.map +1 -0
- package/dist/granular/ui/primitives/Checkbox/Checkbox.js +129 -0
- package/dist/granular/ui/primitives/Checkbox/Checkbox.js.map +1 -0
- package/dist/granular/ui/primitives/Chip/Chip.js +206 -0
- package/dist/granular/ui/primitives/Chip/Chip.js.map +1 -0
- package/dist/granular/ui/primitives/Collapsible/Collapsible.js +115 -0
- package/dist/granular/ui/primitives/Collapsible/Collapsible.js.map +1 -0
- package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js +54 -0
- package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js.map +1 -0
- package/dist/granular/ui/primitives/Info/Info.js +57 -0
- package/dist/granular/ui/primitives/Info/Info.js.map +1 -0
- package/dist/granular/ui/primitives/Input/Input.js +351 -0
- package/dist/granular/ui/primitives/Input/Input.js.map +1 -0
- package/dist/granular/ui/primitives/Label/Label.js +61 -0
- package/dist/granular/ui/primitives/Label/Label.js.map +1 -0
- package/dist/granular/ui/primitives/NavLink/NavLink.js +229 -0
- package/dist/granular/ui/primitives/NavLink/NavLink.js.map +1 -0
- package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js +15 -0
- package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js.map +1 -0
- package/dist/granular/ui/primitives/Progress/Progress.js +182 -0
- package/dist/granular/ui/primitives/Progress/Progress.js.map +1 -0
- package/dist/granular/ui/primitives/Radio/Radio.js +118 -0
- package/dist/granular/ui/primitives/Radio/Radio.js.map +1 -0
- package/dist/granular/ui/primitives/Select/Select.js +210 -0
- package/dist/granular/ui/primitives/Select/Select.js.map +1 -0
- package/dist/granular/ui/primitives/Separator/Separator.js +69 -0
- package/dist/granular/ui/primitives/Separator/Separator.js.map +1 -0
- package/dist/granular/ui/primitives/Skeleton/Skeleton.js +87 -0
- package/dist/granular/ui/primitives/Skeleton/Skeleton.js.map +1 -0
- package/dist/granular/ui/primitives/Slider/Slider.js +291 -0
- package/dist/granular/ui/primitives/Slider/Slider.js.map +1 -0
- package/dist/granular/ui/primitives/Spinner/Spinner.js +95 -0
- package/dist/granular/ui/primitives/Spinner/Spinner.js.map +1 -0
- package/dist/granular/ui/primitives/Switch/Switch.js +212 -0
- package/dist/granular/ui/primitives/Switch/Switch.js.map +1 -0
- package/dist/granular/ui/primitives/Text/Text.js +118 -0
- package/dist/granular/ui/primitives/Text/Text.js.map +1 -0
- package/dist/granular/ui/primitives/Textarea/Textarea.js +129 -0
- package/dist/granular/ui/primitives/Textarea/Textarea.js.map +1 -0
- package/dist/granular/ui/primitives/Tooltip/Tooltip.js +227 -0
- package/dist/granular/ui/primitives/Tooltip/Tooltip.js.map +1 -0
- package/dist/granular/ui/providers/AppProvider.js +50 -0
- package/dist/granular/ui/providers/AppProvider.js.map +1 -0
- package/dist/granular/ui/providers/ConfigProvider.js +95 -0
- package/dist/granular/ui/providers/ConfigProvider.js.map +1 -0
- package/dist/granular/ui/providers/DialogContext.js +20 -0
- package/dist/granular/ui/providers/DialogContext.js.map +1 -0
- package/dist/granular/ui/providers/DialogProvider.js +32 -0
- package/dist/granular/ui/providers/DialogProvider.js.map +1 -0
- package/dist/granular/ui/providers/ThemeProvider.js +56 -0
- package/dist/granular/ui/providers/ThemeProvider.js.map +1 -0
- package/dist/granular/ui/providers/ToastContext.js +20 -0
- package/dist/granular/ui/providers/ToastContext.js.map +1 -0
- package/dist/granular/ui/providers/ToastProvider.js +47 -0
- package/dist/granular/ui/providers/ToastProvider.js.map +1 -0
- package/dist/granular/ui/providers/providers-bundle.js +23 -0
- package/dist/granular/ui/providers/providers-bundle.js.map +1 -0
- package/dist/granular/ui/tokens/animations.js +106 -0
- package/dist/granular/ui/tokens/animations.js.map +1 -0
- package/dist/granular/ui/tokens/borders.js +54 -0
- package/dist/granular/ui/tokens/borders.js.map +1 -0
- package/dist/granular/ui/tokens/breakpoints.js +43 -0
- package/dist/granular/ui/tokens/breakpoints.js.map +1 -0
- package/dist/granular/ui/tokens/colors/brand.js +67 -0
- package/dist/granular/ui/tokens/colors/brand.js.map +1 -0
- package/dist/granular/ui/tokens/colors/index.js +25 -0
- package/dist/granular/ui/tokens/colors/index.js.map +1 -0
- package/dist/granular/ui/tokens/colors/primitives.js +320 -0
- package/dist/granular/ui/tokens/colors/primitives.js.map +1 -0
- package/dist/granular/ui/tokens/colors/semantic.js +212 -0
- package/dist/granular/ui/tokens/colors/semantic.js.map +1 -0
- package/dist/granular/ui/tokens/colors/types.js +18 -0
- package/dist/granular/ui/tokens/colors/types.js.map +1 -0
- package/dist/granular/ui/tokens/colors/utils.js +131 -0
- package/dist/granular/ui/tokens/colors/utils.js.map +1 -0
- package/dist/granular/ui/tokens/opacity.js +59 -0
- package/dist/granular/ui/tokens/opacity.js.map +1 -0
- package/dist/granular/ui/tokens/radius.js +76 -0
- package/dist/granular/ui/tokens/radius.js.map +1 -0
- package/dist/granular/ui/tokens/shadows.js +63 -0
- package/dist/granular/ui/tokens/shadows.js.map +1 -0
- package/dist/granular/ui/tokens/sidebar.js +92 -0
- package/dist/granular/ui/tokens/sidebar.js.map +1 -0
- package/dist/granular/ui/tokens/spacing.js +143 -0
- package/dist/granular/ui/tokens/spacing.js.map +1 -0
- package/dist/granular/ui/tokens/switch.js +51 -0
- package/dist/granular/ui/tokens/switch.js.map +1 -0
- package/dist/granular/ui/tokens/typography.js +146 -0
- package/dist/granular/ui/tokens/typography.js.map +1 -0
- package/dist/granular/ui/tokens/z-index.js +79 -0
- package/dist/granular/ui/tokens/z-index.js.map +1 -0
- package/dist/granular/ui/utils/cn.js +10 -0
- package/dist/granular/ui/utils/cn.js.map +1 -0
- package/dist/granular/ui/utils/cva.js +14 -0
- package/dist/granular/ui/utils/cva.js.map +1 -0
- package/dist/granular/ui/utils/mergeRefs.js +11 -0
- package/dist/granular/ui/utils/mergeRefs.js.map +1 -0
- package/dist/granular/vite.svg +1 -0
- package/dist/index.cjs +46 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1172 -1135
- package/dist/index.js.map +1 -1
- package/dist/react-design-system.css +1 -1
- package/dist/server/index.cjs +23 -23
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.js +882 -1179
- package/dist/server/index.js.map +1 -1
- package/dist/ui/components/FilterChips/FilterChips.d.ts +83 -0
- package/dist/ui/components/FilterChips/index.d.ts +2 -0
- package/dist/ui/components/index.d.ts +2 -0
- package/dist/ui/server.d.ts +2 -0
- package/package.json +9 -2
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var Q = Object.defineProperty, U = Object.defineProperties;
|
|
3
|
+
var W = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var p = Object.getOwnPropertySymbols;
|
|
5
|
+
var q = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var j = (r, s, e) => s in r ? Q(r, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[s] = e, H = (r, s) => {
|
|
7
|
+
for (var e in s || (s = {}))
|
|
8
|
+
q.call(s, e) && j(r, e, s[e]);
|
|
9
|
+
if (p)
|
|
10
|
+
for (var e of p(s))
|
|
11
|
+
z.call(s, e) && j(r, e, s[e]);
|
|
12
|
+
return r;
|
|
13
|
+
}, V = (r, s) => U(r, W(s));
|
|
14
|
+
var E = (r, s) => {
|
|
15
|
+
var e = {};
|
|
16
|
+
for (var l in r)
|
|
17
|
+
q.call(r, l) && s.indexOf(l) < 0 && (e[l] = r[l]);
|
|
18
|
+
if (r != null && p)
|
|
19
|
+
for (var l of p(r))
|
|
20
|
+
s.indexOf(l) < 0 && z.call(r, l) && (e[l] = r[l]);
|
|
21
|
+
return e;
|
|
22
|
+
};
|
|
23
|
+
import { jsxs as L, jsx as d } from "react/jsx-runtime";
|
|
24
|
+
import { memo as M, forwardRef as X, useId as Y, useMemo as a, useCallback as Z } from "react";
|
|
25
|
+
import { getTypographySize as h, getTypographyClasses as A } from "../../tokens/typography.js";
|
|
26
|
+
import { getRadiusClass as _ } from "../../tokens/radius.js";
|
|
27
|
+
import { getSpacingClass as f } from "../../tokens/spacing.js";
|
|
28
|
+
import { cva as T } from "../../utils/cva.js";
|
|
29
|
+
import { cn as t } from "../../utils/cn.js";
|
|
30
|
+
const G = M(function({
|
|
31
|
+
error: s,
|
|
32
|
+
success: e,
|
|
33
|
+
helperText: l,
|
|
34
|
+
errorId: m,
|
|
35
|
+
helperId: c
|
|
36
|
+
}) {
|
|
37
|
+
const i = a(
|
|
38
|
+
() => t(
|
|
39
|
+
f("xs", "mt"),
|
|
40
|
+
A("caption"),
|
|
41
|
+
s && "text-fg-error",
|
|
42
|
+
e && "text-fg-success",
|
|
43
|
+
!s && !e && "text-fg-secondary"
|
|
44
|
+
),
|
|
45
|
+
[s, e]
|
|
46
|
+
), n = a(
|
|
47
|
+
() => l || (s ? "Error" : e ? "Success" : ""),
|
|
48
|
+
[l, s, e]
|
|
49
|
+
);
|
|
50
|
+
return /* @__PURE__ */ d(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
id: m || c,
|
|
54
|
+
className: i,
|
|
55
|
+
role: s || e ? "alert" : void 0,
|
|
56
|
+
children: n
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
}), ee = M(
|
|
60
|
+
X(function(se, D) {
|
|
61
|
+
var S = se, {
|
|
62
|
+
options: s = [],
|
|
63
|
+
optionGroups: e,
|
|
64
|
+
placeholder: l,
|
|
65
|
+
label: m,
|
|
66
|
+
error: c = !1,
|
|
67
|
+
success: i = !1,
|
|
68
|
+
helperText: n,
|
|
69
|
+
size: y = "md",
|
|
70
|
+
className: x = "",
|
|
71
|
+
disabled: v = !1,
|
|
72
|
+
id: B
|
|
73
|
+
} = S, C = E(S, [
|
|
74
|
+
"options",
|
|
75
|
+
"optionGroups",
|
|
76
|
+
"placeholder",
|
|
77
|
+
"label",
|
|
78
|
+
"error",
|
|
79
|
+
"success",
|
|
80
|
+
"helperText",
|
|
81
|
+
"size",
|
|
82
|
+
"className",
|
|
83
|
+
"disabled",
|
|
84
|
+
"id"
|
|
85
|
+
]);
|
|
86
|
+
const J = Y(), u = B || `select-${J}`, R = a(
|
|
87
|
+
() => c ? `${u}-error` : void 0,
|
|
88
|
+
[c, u]
|
|
89
|
+
), F = a(
|
|
90
|
+
() => n ? `${u}-helper` : void 0,
|
|
91
|
+
[n, u]
|
|
92
|
+
), I = a(() => "focus:border-line-focus", []), w = a(() => "focus:border-error", []), N = a(() => "focus:border-success", []), b = Z(
|
|
93
|
+
(o) => o === "error" ? w.replace("focus:border-", "focus:ring-") : o === "success" ? N.replace("focus:border-", "focus:ring-") : I.replace("focus:border-", "focus:ring-"),
|
|
94
|
+
[w, N, I]
|
|
95
|
+
), k = a(
|
|
96
|
+
() => T(
|
|
97
|
+
// Base classes
|
|
98
|
+
t(
|
|
99
|
+
"block",
|
|
100
|
+
"w-full",
|
|
101
|
+
_("md"),
|
|
102
|
+
"border",
|
|
103
|
+
"bg-surface-base",
|
|
104
|
+
"transition-colors",
|
|
105
|
+
"focus:outline-none",
|
|
106
|
+
"focus:ring-2",
|
|
107
|
+
"focus:ring-offset-2",
|
|
108
|
+
"disabled:opacity-50",
|
|
109
|
+
"disabled:cursor-not-allowed"
|
|
110
|
+
),
|
|
111
|
+
{
|
|
112
|
+
variants: {
|
|
113
|
+
size: {
|
|
114
|
+
sm: t(
|
|
115
|
+
"h-8",
|
|
116
|
+
h("bodySmall"),
|
|
117
|
+
f("md", "px")
|
|
118
|
+
),
|
|
119
|
+
md: t(
|
|
120
|
+
"h-10",
|
|
121
|
+
h("body"),
|
|
122
|
+
f("base", "px")
|
|
123
|
+
),
|
|
124
|
+
lg: t(
|
|
125
|
+
"h-12",
|
|
126
|
+
h("bodyLarge"),
|
|
127
|
+
f("lg", "px")
|
|
128
|
+
)
|
|
129
|
+
},
|
|
130
|
+
state: {
|
|
131
|
+
default: t("border-line-default", b()),
|
|
132
|
+
error: t("border-error", b("error")),
|
|
133
|
+
success: t("border-success", b("success"))
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
defaultVariants: {
|
|
137
|
+
size: "md",
|
|
138
|
+
state: "default"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
[b]
|
|
143
|
+
), $ = a(
|
|
144
|
+
() => c ? "error" : i ? "success" : "default",
|
|
145
|
+
[c, i]
|
|
146
|
+
), K = a(
|
|
147
|
+
() => t(k({ size: y, state: $ }), x),
|
|
148
|
+
[k, y, $, x]
|
|
149
|
+
), O = a(
|
|
150
|
+
() => t(
|
|
151
|
+
"block",
|
|
152
|
+
A("label"),
|
|
153
|
+
f("xs", "mb"),
|
|
154
|
+
v && "opacity-50"
|
|
155
|
+
),
|
|
156
|
+
[v]
|
|
157
|
+
);
|
|
158
|
+
return /* @__PURE__ */ L("div", { className: "w-full", children: [
|
|
159
|
+
m && /* @__PURE__ */ d("label", { htmlFor: u, className: O, children: m }),
|
|
160
|
+
/* @__PURE__ */ L(
|
|
161
|
+
"select",
|
|
162
|
+
V(H({
|
|
163
|
+
id: u,
|
|
164
|
+
ref: D,
|
|
165
|
+
className: K,
|
|
166
|
+
disabled: v,
|
|
167
|
+
"aria-invalid": c,
|
|
168
|
+
"aria-required": C.required,
|
|
169
|
+
"aria-describedby": R || F
|
|
170
|
+
}, C), {
|
|
171
|
+
children: [
|
|
172
|
+
l && /* @__PURE__ */ d("option", { value: "", disabled: !0, children: l }),
|
|
173
|
+
e && e.length > 0 ? e.map((o, P) => /* @__PURE__ */ d("optgroup", { label: o.label, children: (o.options || []).map((g) => /* @__PURE__ */ d(
|
|
174
|
+
"option",
|
|
175
|
+
{
|
|
176
|
+
value: g.value,
|
|
177
|
+
disabled: g.disabled,
|
|
178
|
+
children: g.label
|
|
179
|
+
},
|
|
180
|
+
g.value
|
|
181
|
+
)) }, P)) : (s || []).map((o) => /* @__PURE__ */ d(
|
|
182
|
+
"option",
|
|
183
|
+
{
|
|
184
|
+
value: o.value,
|
|
185
|
+
disabled: o.disabled,
|
|
186
|
+
children: o.label
|
|
187
|
+
},
|
|
188
|
+
o.value
|
|
189
|
+
))
|
|
190
|
+
]
|
|
191
|
+
})
|
|
192
|
+
),
|
|
193
|
+
(c || i || n) && /* @__PURE__ */ d(
|
|
194
|
+
G,
|
|
195
|
+
{
|
|
196
|
+
error: c,
|
|
197
|
+
success: i,
|
|
198
|
+
helperText: n,
|
|
199
|
+
errorId: R,
|
|
200
|
+
helperId: F
|
|
201
|
+
}
|
|
202
|
+
)
|
|
203
|
+
] });
|
|
204
|
+
})
|
|
205
|
+
);
|
|
206
|
+
ee.displayName = "Select";
|
|
207
|
+
export {
|
|
208
|
+
ee as default
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../../src/ui/primitives/Select/Select.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, memo, useId, useMemo, useCallback } from \"react\";\nimport type { SelectHTMLAttributes, ReactNode } from \"react\";\nimport {\n getTypographyClasses,\n getTypographySize,\n} from \"../../tokens/typography\";\nimport { getRadiusClass } from \"../../tokens/radius\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\nimport { cn, cva } from \"../../utils\";\n\n/**\n * Helper Text Component\n * Memoized component for helper/error text\n */\nconst HelperText = memo(function HelperText({\n error,\n success,\n helperText,\n errorId,\n helperId,\n}: {\n error: boolean;\n success: boolean;\n helperText?: string;\n errorId?: string;\n helperId?: string;\n}) {\n const helperClasses = useMemo(\n () =>\n cn(\n getSpacingClass(\"xs\", \"mt\"),\n getTypographyClasses(\"caption\"),\n error && \"text-fg-error\",\n success && \"text-fg-success\",\n !error && !success && \"text-fg-secondary\",\n ),\n [error, success],\n );\n\n const text = useMemo(\n () => helperText || (error ? \"Error\" : success ? \"Success\" : \"\"),\n [helperText, error, success],\n );\n\n return (\n <div\n id={errorId || helperId}\n className={helperClasses}\n role={error || success ? \"alert\" : undefined}\n >\n {text}\n </div>\n );\n});\n\nexport type SelectSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface SelectOptionGroup {\n label: string;\n options: SelectOption[];\n}\n\nexport interface SelectProps extends Omit<\n SelectHTMLAttributes<HTMLSelectElement>,\n \"children\" | \"size\"\n> {\n options: SelectOption[];\n optionGroups?: SelectOptionGroup[];\n placeholder?: string;\n label?: ReactNode;\n error?: boolean;\n success?: boolean;\n helperText?: string;\n size?: SelectSize;\n}\n\n/**\n * Select Component\n *\n * A styled select dropdown component for forms.\n * Follows Atomic Design principles as an Atom component.\n * Supports both flat options and option groups.\n *\n * @example\n * ```tsx\n * <Select\n * label=\"Choose option\"\n * options={[\n * { value: \"1\", label: \"Option 1\" },\n * { value: \"2\", label: \"Option 2\" }\n * ]}\n * placeholder=\"Select an option\"\n * />\n * ```\n */\nconst Select = memo(\n forwardRef<HTMLSelectElement, SelectProps>(function Select(\n {\n options = [],\n optionGroups,\n placeholder,\n label,\n error = false,\n success = false,\n helperText,\n size = \"md\",\n className = \"\",\n disabled = false,\n id,\n ...props\n },\n ref,\n ) {\n // Stable fallback id when the consumer doesn't provide one. useId\n // is SSR-safe and stable across renders, replacing the deprecated\n // Math.random().substr() pattern.\n const reactId = useId();\n const selectId = id || `select-${reactId}`;\n\n const errorId = useMemo(\n () => (error ? `${selectId}-error` : undefined),\n [error, selectId],\n );\n\n const helperId = useMemo(\n () => (helperText ? `${selectId}-helper` : undefined),\n [helperText, selectId],\n );\n\n // Memoize focus ring colors\n const primaryFocusRing = useMemo(() => \"focus:border-line-focus\", []);\n\n const errorFocusRing = useMemo(() => \"focus:border-error\", []);\n\n const successFocusRing = useMemo(() => \"focus:border-success\", []);\n\n // Memoize focus ring color function\n const getFocusRingColor = useCallback(\n (stateType?: \"error\" | \"success\"): string => {\n if (stateType === \"error\") {\n return errorFocusRing.replace(\"focus:border-\", \"focus:ring-\");\n }\n if (stateType === \"success\") {\n return successFocusRing.replace(\"focus:border-\", \"focus:ring-\");\n }\n return primaryFocusRing.replace(\"focus:border-\", \"focus:ring-\");\n },\n [errorFocusRing, successFocusRing, primaryFocusRing],\n );\n\n // Select variants using CVA — memoize so the function reference is\n // stable across renders. selectClasses below depends on this; without\n // memoization a fresh cva() each render would invalidate that memo\n // on every render (defeating its purpose).\n const selectVariants = useMemo(\n () =>\n cva(\n // Base classes\n cn(\n \"block\",\n \"w-full\",\n getRadiusClass(\"md\"),\n \"border\",\n \"bg-surface-base\",\n \"transition-colors\",\n \"focus:outline-none\",\n \"focus:ring-2\",\n \"focus:ring-offset-2\",\n \"disabled:opacity-50\",\n \"disabled:cursor-not-allowed\",\n ),\n {\n variants: {\n size: {\n sm: cn(\n \"h-8\",\n getTypographySize(\"bodySmall\"),\n getSpacingClass(\"md\", \"px\"),\n ),\n md: cn(\n \"h-10\",\n getTypographySize(\"body\"),\n getSpacingClass(\"base\", \"px\"),\n ),\n lg: cn(\n \"h-12\",\n getTypographySize(\"bodyLarge\"),\n getSpacingClass(\"lg\", \"px\"),\n ),\n },\n state: {\n default: cn(\"border-line-default\", getFocusRingColor()),\n error: cn(\"border-error\", getFocusRingColor(\"error\")),\n success: cn(\"border-success\", getFocusRingColor(\"success\")),\n },\n },\n defaultVariants: {\n size: \"md\",\n state: \"default\",\n },\n },\n ),\n [getFocusRingColor],\n );\n\n // Memoize state\n const selectState = useMemo(\n () => (error ? \"error\" : success ? \"success\" : \"default\"),\n [error, success],\n );\n\n // Memoize classes\n const selectClasses = useMemo(\n () => cn(selectVariants({ size, state: selectState }), className),\n [selectVariants, size, selectState, className],\n );\n\n const labelClasses = useMemo(\n () =>\n cn(\n \"block\",\n getTypographyClasses(\"label\"),\n getSpacingClass(\"xs\", \"mb\"),\n disabled && \"opacity-50\",\n ),\n [disabled],\n );\n\n return (\n <div className=\"w-full\">\n {label && (\n <label htmlFor={selectId} className={labelClasses}>\n {label}\n </label>\n )}\n <select\n id={selectId}\n ref={ref}\n className={selectClasses}\n disabled={disabled}\n aria-invalid={error}\n aria-required={props.required}\n aria-describedby={errorId || helperId}\n {...props}\n >\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {optionGroups && optionGroups.length > 0\n ? optionGroups.map((group, groupIndex) => (\n <optgroup key={groupIndex} label={group.label}>\n {(group.options || []).map((option) => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n ))\n : (options || []).map((option) => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))}\n </select>\n {(error || success || helperText) && (\n <HelperText\n error={error}\n success={success}\n helperText={helperText}\n errorId={errorId}\n helperId={helperId}\n />\n )}\n </div>\n );\n }),\n);\n\nSelect.displayName = \"Select\";\n\nexport default Select;\n"],"names":["HelperText","memo","error","success","helperText","errorId","helperId","helperClasses","useMemo","cn","getSpacingClass","getTypographyClasses","text","jsx","Select","forwardRef","_a","ref","_b","options","optionGroups","placeholder","label","size","className","disabled","id","props","__objRest","reactId","useId","selectId","primaryFocusRing","errorFocusRing","successFocusRing","getFocusRingColor","useCallback","stateType","selectVariants","cva","getRadiusClass","getTypographySize","selectState","selectClasses","labelClasses","jsxs","__spreadProps","__spreadValues","group","groupIndex","option"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var h = Object.defineProperty;
|
|
3
|
+
var t = Object.getOwnPropertySymbols;
|
|
4
|
+
var c = Object.prototype.hasOwnProperty, m = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var n = (r, a, e) => a in r ? h(r, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[a] = e, s = (r, a) => {
|
|
6
|
+
for (var e in a || (a = {}))
|
|
7
|
+
c.call(a, e) && n(r, e, a[e]);
|
|
8
|
+
if (t)
|
|
9
|
+
for (var e of t(a))
|
|
10
|
+
m.call(a, e) && n(r, e, a[e]);
|
|
11
|
+
return r;
|
|
12
|
+
};
|
|
13
|
+
var f = (r, a) => {
|
|
14
|
+
var e = {};
|
|
15
|
+
for (var o in r)
|
|
16
|
+
c.call(r, o) && a.indexOf(o) < 0 && (e[o] = r[o]);
|
|
17
|
+
if (r != null && t)
|
|
18
|
+
for (var o of t(r))
|
|
19
|
+
a.indexOf(o) < 0 && m.call(r, o) && (e[o] = r[o]);
|
|
20
|
+
return e;
|
|
21
|
+
};
|
|
22
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
23
|
+
import { memo as u } from "react";
|
|
24
|
+
import { cn as b } from "../../utils/cn.js";
|
|
25
|
+
const v = {
|
|
26
|
+
horizontal: "w-full border-t",
|
|
27
|
+
vertical: "h-full border-l self-stretch"
|
|
28
|
+
}, z = {
|
|
29
|
+
solid: "border-solid",
|
|
30
|
+
dashed: "border-dashed",
|
|
31
|
+
dotted: "border-dotted"
|
|
32
|
+
}, N = u(function(S) {
|
|
33
|
+
var i = S, {
|
|
34
|
+
orientation: a = "horizontal",
|
|
35
|
+
variant: e = "solid",
|
|
36
|
+
className: o = ""
|
|
37
|
+
} = i, l = f(i, [
|
|
38
|
+
"orientation",
|
|
39
|
+
"variant",
|
|
40
|
+
"className"
|
|
41
|
+
]);
|
|
42
|
+
const d = b(
|
|
43
|
+
"border-0",
|
|
44
|
+
"border-line-default",
|
|
45
|
+
v[a],
|
|
46
|
+
z[e],
|
|
47
|
+
o
|
|
48
|
+
);
|
|
49
|
+
return a === "vertical" ? /* @__PURE__ */ p(
|
|
50
|
+
"div",
|
|
51
|
+
s({
|
|
52
|
+
className: d,
|
|
53
|
+
role: "separator",
|
|
54
|
+
"aria-orientation": "vertical"
|
|
55
|
+
}, l)
|
|
56
|
+
) : /* @__PURE__ */ p(
|
|
57
|
+
"hr",
|
|
58
|
+
s({
|
|
59
|
+
className: d,
|
|
60
|
+
role: "separator",
|
|
61
|
+
"aria-orientation": "horizontal"
|
|
62
|
+
}, l)
|
|
63
|
+
);
|
|
64
|
+
});
|
|
65
|
+
N.displayName = "Separator";
|
|
66
|
+
export {
|
|
67
|
+
N as default
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=Separator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Separator.js","sources":["../../../../../src/ui/primitives/Separator/Separator.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport type { HTMLAttributes } from \"react\";\nimport { cn } from \"../../utils\";\n\nexport type SeparatorOrientation = \"horizontal\" | \"vertical\";\nexport type SeparatorVariant = \"solid\" | \"dashed\" | \"dotted\";\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLHRElement> {\n orientation?: SeparatorOrientation;\n variant?: SeparatorVariant;\n}\n\n/**\n * Separator Component\n *\n * A visual separator component for dividing content.\n * Follows Atomic Design principles as an Atom component.\n * Optimized with React.memo to prevent unnecessary re-renders.\n *\n * @example\n * ```tsx\n * <Separator />\n *\n * <Separator orientation=\"vertical\" variant=\"dashed\" />\n * ```\n */\nconst separatorOrientationClasses = {\n horizontal: \"w-full border-t\",\n vertical: \"h-full border-l self-stretch\",\n} as const;\n\nconst separatorVariantClasses = {\n solid: \"border-solid\",\n dashed: \"border-dashed\",\n dotted: \"border-dotted\",\n} as const;\n\nconst Separator = memo(function Separator({\n orientation = \"horizontal\",\n variant = \"solid\",\n className = \"\",\n ...props\n}: SeparatorProps) {\n const classes = cn(\n \"border-0\",\n \"border-line-default\",\n separatorOrientationClasses[orientation],\n separatorVariantClasses[variant],\n className,\n );\n\n if (orientation === \"vertical\") {\n return (\n <div\n className={classes}\n role=\"separator\"\n aria-orientation=\"vertical\"\n {...(props as HTMLAttributes<HTMLDivElement>)}\n />\n );\n }\n\n return (\n <hr\n className={classes}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n {...props}\n />\n );\n});\n\nSeparator.displayName = \"Separator\";\n\nexport default Separator;\n"],"names":["separatorOrientationClasses","separatorVariantClasses","Separator","memo","_a","_b","orientation","variant","className","props","__objRest","classes","cn","jsx","__spreadValues"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAMA,IAA8B;AAAA,EAClC,YAAY;AAAA,EACZ,UAAU;AACZ,GAEMC,IAA0B;AAAA,EAC9B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV,GAEMC,IAAYC,EAAK,SAAmBC,GAKvB;AALuB,MAAAC,IAAAD,GACxC;AAAA,iBAAAE,IAAc;AAAA,IACd,SAAAC,IAAU;AAAA,IACV,WAAAC,IAAY;AAAA,MAH4BH,GAIrCI,IAAAC,EAJqCL,GAIrC;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAMM,IAAUC;AAAA,IACd;AAAA,IACA;AAAA,IACAZ,EAA4BM,CAAW;AAAA,IACvCL,EAAwBM,CAAO;AAAA,IAC/BC;AAAA,EAAA;AAGF,SAAIF,MAAgB,aAEhB,gBAAAO;AAAA,IAAC;AAAA,IAAAC,EAAA;AAAA,MACC,WAAWH;AAAA,MACX,MAAK;AAAA,MACL,oBAAiB;AAAA,OACZF;AAAA,EAAA,IAMT,gBAAAI;AAAA,IAAC;AAAA,IAAAC,EAAA;AAAA,MACC,WAAWH;AAAA,MACX,MAAK;AAAA,MACL,oBAAiB;AAAA,OACbF;AAAA,EAAA;AAGV,CAAC;AAEDP,EAAU,cAAc;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var A = Object.defineProperty, L = Object.defineProperties;
|
|
3
|
+
var S = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var l = Object.getOwnPropertySymbols;
|
|
5
|
+
var b = Object.prototype.hasOwnProperty, h = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var d = (a, s, t) => s in a ? A(a, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[s] = t, i = (a, s) => {
|
|
7
|
+
for (var t in s || (s = {}))
|
|
8
|
+
b.call(s, t) && d(a, t, s[t]);
|
|
9
|
+
if (l)
|
|
10
|
+
for (var t of l(s))
|
|
11
|
+
h.call(s, t) && d(a, t, s[t]);
|
|
12
|
+
return a;
|
|
13
|
+
}, p = (a, s) => L(a, S(s));
|
|
14
|
+
var g = (a, s) => {
|
|
15
|
+
var t = {};
|
|
16
|
+
for (var e in a)
|
|
17
|
+
b.call(a, e) && s.indexOf(e) < 0 && (t[e] = a[e]);
|
|
18
|
+
if (a != null && l)
|
|
19
|
+
for (var e of l(a))
|
|
20
|
+
s.indexOf(e) < 0 && h.call(a, e) && (t[e] = a[e]);
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
24
|
+
import { getRadiusClass as y } from "../../tokens/radius.js";
|
|
25
|
+
import { getSpacingClass as j } from "../../tokens/spacing.js";
|
|
26
|
+
import { cn as k } from "../../utils/cn.js";
|
|
27
|
+
function D(w) {
|
|
28
|
+
var m = w, {
|
|
29
|
+
variant: a = "text",
|
|
30
|
+
width: s,
|
|
31
|
+
height: t,
|
|
32
|
+
lines: e = 1,
|
|
33
|
+
className: x = "",
|
|
34
|
+
"aria-label": C
|
|
35
|
+
} = m, c = g(m, [
|
|
36
|
+
"variant",
|
|
37
|
+
"width",
|
|
38
|
+
"height",
|
|
39
|
+
"lines",
|
|
40
|
+
"className",
|
|
41
|
+
"aria-label"
|
|
42
|
+
]);
|
|
43
|
+
const N = [
|
|
44
|
+
"motion-safe:animate-pulse",
|
|
45
|
+
"bg-surface-muted",
|
|
46
|
+
y("sm")
|
|
47
|
+
], v = {
|
|
48
|
+
text: "h-4",
|
|
49
|
+
card: "h-32",
|
|
50
|
+
list: "h-12",
|
|
51
|
+
circle: y("full")
|
|
52
|
+
}, u = k(...N, v[a], x), r = {};
|
|
53
|
+
s && (r.width = s), t && (r.height = t);
|
|
54
|
+
const n = C || `Loading ${a} content`;
|
|
55
|
+
return a === "text" && e > 1 ? /* @__PURE__ */ o(
|
|
56
|
+
"div",
|
|
57
|
+
p(i({
|
|
58
|
+
className: j("sm", "space-y"),
|
|
59
|
+
role: "status",
|
|
60
|
+
"aria-busy": "true",
|
|
61
|
+
"aria-label": n
|
|
62
|
+
}, c), {
|
|
63
|
+
children: Array.from({ length: e }).map((R, f) => /* @__PURE__ */ o(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
className: u,
|
|
67
|
+
style: f === e - 1 ? { width: "75%" } : r,
|
|
68
|
+
"aria-hidden": "true"
|
|
69
|
+
},
|
|
70
|
+
f
|
|
71
|
+
))
|
|
72
|
+
})
|
|
73
|
+
) : /* @__PURE__ */ o(
|
|
74
|
+
"div",
|
|
75
|
+
i({
|
|
76
|
+
className: u,
|
|
77
|
+
style: r,
|
|
78
|
+
role: "status",
|
|
79
|
+
"aria-busy": "true",
|
|
80
|
+
"aria-label": n
|
|
81
|
+
}, c)
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
D as default
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/ui/primitives/Skeleton/Skeleton.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { getRadiusClass } from \"../../tokens/radius\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\nimport { cn } from \"../../utils\";\n\nexport interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {\n variant?: \"text\" | \"card\" | \"list\" | \"circle\";\n width?: string;\n height?: string;\n lines?: number;\n}\n\n/**\n * Skeleton Component\n *\n * A skeleton loader component for displaying loading states.\n * Follows Atomic Design principles as an Atom component.\n *\n * @example\n * ```tsx\n * <Skeleton variant=\"card\" />\n * <Skeleton variant=\"text\" lines={3} />\n * ```\n */\nexport default function Skeleton({\n variant = \"text\",\n width,\n height,\n lines = 1,\n className = \"\",\n \"aria-label\": ariaLabel,\n ...props\n}: SkeletonProps) {\n const baseClasses = [\n \"motion-safe:animate-pulse\",\n \"bg-surface-muted\",\n getRadiusClass(\"sm\"),\n ];\n\n const variantClasses: Record<\n NonNullable<SkeletonProps[\"variant\"]>,\n string\n > = {\n text: \"h-4\",\n card: \"h-32\",\n list: \"h-12\",\n circle: getRadiusClass(\"full\"),\n };\n\n const classes = cn(...baseClasses, variantClasses[variant], className);\n\n const style: React.CSSProperties = {};\n if (width) style.width = width;\n if (height) style.height = height;\n\n const defaultAriaLabel = ariaLabel || `Loading ${variant} content`;\n\n if (variant === \"text\" && lines > 1) {\n return (\n <div\n className={getSpacingClass(\"sm\", \"space-y\")}\n role=\"status\"\n aria-busy=\"true\"\n aria-label={defaultAriaLabel}\n {...props}\n >\n {Array.from({ length: lines }).map((_, index) => (\n <div\n key={index}\n className={classes}\n style={index === lines - 1 ? { width: \"75%\" } : style}\n aria-hidden=\"true\"\n />\n ))}\n </div>\n );\n }\n\n return (\n <div\n className={classes}\n style={style}\n role=\"status\"\n aria-busy=\"true\"\n aria-label={defaultAriaLabel}\n {...props}\n />\n );\n}\n"],"names":["Skeleton","_a","_b","variant","width","height","lines","className","ariaLabel","props","__objRest","baseClasses","getRadiusClass","variantClasses","classes","cn","style","defaultAriaLabel","jsx","__spreadProps","__spreadValues","getSpacingClass","_","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAwBA,EAASC,GAQf;AARe,MAAAC,IAAAD,GAC/B;AAAA,aAAAE,IAAU;AAAA,IACV,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,WAAAC,IAAY;AAAA,IACZ,cAAcC;AAAA,MANiBN,GAO5BO,IAAAC,EAP4BR,GAO5B;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAMS,IAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACAC,EAAe,IAAI;AAAA,EAAA,GAGfC,IAGF;AAAA,IACF,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQD,EAAe,MAAM;AAAA,EAAA,GAGzBE,IAAUC,EAAG,GAAGJ,GAAaE,EAAeV,CAAO,GAAGI,CAAS,GAE/DS,IAA6B,CAAA;AACnC,EAAIZ,QAAa,QAAQA,IACrBC,QAAc,SAASA;AAE3B,QAAMY,IAAmBT,KAAa,WAAWL,CAAO;AAExD,SAAIA,MAAY,UAAUG,IAAQ,IAE9B,gBAAAY;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,WAAWC,EAAgB,MAAM,SAAS;AAAA,MAC1C,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYJ;AAAA,OACRR,IALL;AAAA,MAOE,UAAA,MAAM,KAAK,EAAE,QAAQH,GAAO,EAAE,IAAI,CAACgB,GAAGC,MACrC,gBAAAL;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAWJ;AAAA,UACX,OAAOS,MAAUjB,IAAQ,IAAI,EAAE,OAAO,UAAUU;AAAA,UAChD,eAAY;AAAA,QAAA;AAAA,QAHPO;AAAA,MAAA,CAKR;AAAA,IAAA;AAAA,EAAA,IAML,gBAAAL;AAAA,IAAC;AAAA,IAAAE,EAAA;AAAA,MACC,WAAWN;AAAA,MACX,OAAAE;AAAA,MACA,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYC;AAAA,OACRR;AAAA,EAAA;AAGV;"}
|