@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 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerInput.js","sources":["../../../../../src/ui/components/DatePicker/DatePickerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useRef, useEffect, type HTMLAttributes } from \"react\";\nimport { Calendar } from \"lucide-react\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport Input from \"../../primitives/Input/Input\";\nimport Button from \"../../primitives/Button/Button\";\n\nexport interface DatePickerInputProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"onFocus\"\n> {\n placeholder?: string;\n format?: string; // Date format string (e.g., 'MM/dd/yyyy')\n showCalendarButton?: boolean;\n \"aria-label\"?: string;\n onFocus?: () => void;\n}\n\n// Simple date formatting without date-fns dependency\nfunction formatDate(date: Date, format: string = \"yyyy-MM-dd\"): string {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return format\n .replace(\"yyyy\", String(year))\n .replace(\"MM\", month)\n .replace(\"dd\", day)\n .replace(\"MM/dd/yyyy\", `${month}/${day}/${year}`)\n .replace(\"dd/MM/yyyy\", `${day}/${month}/${year}`);\n}\n\nfunction parseDate(value: string): Date | null {\n if (!value) return null;\n\n // Try ISO format first (yyyy-MM-dd)\n const isoMatch = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (isoMatch) {\n const [, year, month, day] = isoMatch;\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));\n if (!isNaN(date.getTime())) return date;\n }\n\n // Try MM/dd/yyyy\n const usMatch = value.match(/^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/);\n if (usMatch) {\n const [, month, day, year] = usMatch;\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));\n if (!isNaN(date.getTime())) return date;\n }\n\n // Try dd/MM/yyyy\n const euMatch = value.match(/^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/);\n if (euMatch) {\n const [, day, month, year] = euMatch;\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));\n if (!isNaN(date.getTime())) return date;\n }\n\n return null;\n}\n\nexport function DatePickerInput({\n placeholder = \"Select date\",\n format = \"yyyy-MM-dd\",\n showCalendarButton = true,\n \"aria-label\": ariaLabel,\n onFocus,\n className = \"\",\n ...props\n}: DatePickerInputProps) {\n const { selectedDate, selectedRange, mode, onDateChange } =\n useDatePickerContext();\n const [inputValue, setInputValue] = useState(\"\");\n const [_isFocused, setIsFocused] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Update input value when selected date changes\n useEffect(() => {\n if (mode === \"single\" && selectedDate) {\n setInputValue(formatDate(selectedDate, format));\n } else if (mode === \"range\" && selectedRange) {\n if (selectedRange.start && selectedRange.end) {\n setInputValue(\n `${formatDate(selectedRange.start, format)} - ${formatDate(selectedRange.end, format)}`,\n );\n } else if (selectedRange.start) {\n setInputValue(formatDate(selectedRange.start, format));\n } else {\n setInputValue(\"\");\n }\n } else {\n setInputValue(\"\");\n }\n }, [selectedDate, selectedRange, mode, format]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setInputValue(value);\n\n if (mode === \"single\") {\n const date = parseDate(value);\n onDateChange(date);\n }\n // Range mode parsing would be more complex, handled by calendar\n };\n\n const handleInputBlur = () => {\n setIsFocused(false);\n // Validate and format on blur\n if (inputValue && mode === \"single\") {\n const date = parseDate(inputValue);\n if (date) {\n setInputValue(formatDate(date, format));\n }\n }\n };\n\n const handleCalendarClick = () => {\n inputRef.current?.focus();\n // Calendar popup would be triggered by parent component\n };\n\n return (\n <div className={`relative ${className}`} {...props}>\n <Input\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n onFocus={() => {\n setIsFocused(true);\n onFocus?.();\n }}\n onBlur={handleInputBlur}\n placeholder={placeholder}\n aria-label={ariaLabel || placeholder}\n rightIcon={\n showCalendarButton ? (\n <Button\n variant=\"iconOnly\"\n size=\"sm\"\n onClick={handleCalendarClick}\n aria-label=\"Open calendar\"\n type=\"button\"\n >\n <Calendar className=\"h-4 w-4\" />\n </Button>\n ) : undefined\n }\n />\n </div>\n );\n}\n"],"names":["formatDate","date","format","year","month","day","parseDate","value","isoMatch","usMatch","euMatch","DatePickerInput","_a","_b","placeholder","showCalendarButton","ariaLabel","onFocus","className","props","__objRest","selectedDate","selectedRange","mode","onDateChange","useDatePickerContext","inputValue","setInputValue","useState","_isFocused","setIsFocused","inputRef","useRef","useEffect","handleInputChange","e","handleInputBlur","handleCalendarClick","__spreadProps","__spreadValues","jsx","Input","Button","Calendar"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAASA,EAAWC,GAAYC,IAAiB,cAAsB;AACrE,QAAMC,IAAOF,EAAK,YAAA,GACZG,IAAQ,OAAOH,EAAK,SAAA,IAAa,CAAC,EAAE,SAAS,GAAG,GAAG,GACnDI,IAAM,OAAOJ,EAAK,QAAA,CAAS,EAAE,SAAS,GAAG,GAAG;AAElD,SAAOC,EACJ,QAAQ,QAAQ,OAAOC,CAAI,CAAC,EAC5B,QAAQ,MAAMC,CAAK,EACnB,QAAQ,MAAMC,CAAG,EACjB,QAAQ,cAAc,GAAGD,CAAK,IAAIC,CAAG,IAAIF,CAAI,EAAE,EAC/C,QAAQ,cAAc,GAAGE,CAAG,IAAID,CAAK,IAAID,CAAI,EAAE;AACpD;AAEA,SAASG,EAAUC,GAA4B;AAC7C,MAAI,CAACA,EAAO,QAAO;AAGnB,QAAMC,IAAWD,EAAM,MAAM,2BAA2B;AACxD,MAAIC,GAAU;AACZ,UAAM,GAAGL,GAAMC,GAAOC,CAAG,IAAIG,GACvBP,IAAO,IAAI,KAAK,SAASE,CAAI,GAAG,SAASC,CAAK,IAAI,GAAG,SAASC,CAAG,CAAC;AACxE,QAAI,CAAC,MAAMJ,EAAK,QAAA,CAAS,EAAG,QAAOA;AAAA,EACrC;AAGA,QAAMQ,IAAUF,EAAM,MAAM,6BAA6B;AACzD,MAAIE,GAAS;AACX,UAAM,GAAGL,GAAOC,GAAKF,CAAI,IAAIM,GACvBR,IAAO,IAAI,KAAK,SAASE,CAAI,GAAG,SAASC,CAAK,IAAI,GAAG,SAASC,CAAG,CAAC;AACxE,QAAI,CAAC,MAAMJ,EAAK,QAAA,CAAS,EAAG,QAAOA;AAAA,EACrC;AAGA,QAAMS,IAAUH,EAAM,MAAM,6BAA6B;AACzD,MAAIG,GAAS;AACX,UAAM,GAAGL,GAAKD,GAAOD,CAAI,IAAIO,GACvBT,IAAO,IAAI,KAAK,SAASE,CAAI,GAAG,SAASC,CAAK,IAAI,GAAG,SAASC,CAAG,CAAC;AACxE,QAAI,CAAC,MAAMJ,EAAK,QAAA,CAAS,EAAG,QAAOA;AAAA,EACrC;AAEA,SAAO;AACT;AAEO,SAASU,EAAgBC,GAQP;AARO,MAAAC,IAAAD,GAC9B;AAAA,iBAAAE,IAAc;AAAA,IACd,QAAAZ,IAAS;AAAA,IACT,oBAAAa,IAAqB;AAAA,IACrB,cAAcC;AAAA,IACd,SAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,MANkBL,GAO3BM,IAAAC,EAP2BP,GAO3B;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,EAAE,cAAAQ,GAAc,eAAAC,GAAe,MAAAC,GAAM,cAAAC,EAAA,IACzCC,EAAA,GACI,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAE,GACzC,CAACC,GAAYC,CAAY,IAAIF,EAAS,EAAK,GAC3CG,IAAWC,EAAyB,IAAI;AAG9C,EAAAC,EAAU,MAAM;AACd,IAAIV,MAAS,YAAYF,IACvBM,EAAc3B,EAAWqB,GAAcnB,CAAM,CAAC,IACrCqB,MAAS,WAAWD,IACzBA,EAAc,SAASA,EAAc,MACvCK;AAAA,MACE,GAAG3B,EAAWsB,EAAc,OAAOpB,CAAM,CAAC,MAAMF,EAAWsB,EAAc,KAAKpB,CAAM,CAAC;AAAA,IAAA,IAE9EoB,EAAc,QACvBK,EAAc3B,EAAWsB,EAAc,OAAOpB,CAAM,CAAC,IAErDyB,EAAc,EAAE,IAGlBA,EAAc,EAAE;AAAA,EAEpB,GAAG,CAACN,GAAcC,GAAeC,GAAMrB,CAAM,CAAC;AAE9C,QAAMgC,IAAoB,CAACC,MAA2C;AACpE,UAAM5B,IAAQ4B,EAAE,OAAO;AAGvB,QAFAR,EAAcpB,CAAK,GAEfgB,MAAS,UAAU;AACrB,YAAMtB,IAAOK,EAAUC,CAAK;AAC5B,MAAAiB,EAAavB,CAAI;AAAA,IACnB;AAAA,EAEF,GAEMmC,IAAkB,MAAM;AAG5B,QAFAN,EAAa,EAAK,GAEdJ,KAAcH,MAAS,UAAU;AACnC,YAAMtB,IAAOK,EAAUoB,CAAU;AACjC,MAAIzB,KACF0B,EAAc3B,EAAWC,GAAMC,CAAM,CAAC;AAAA,IAE1C;AAAA,EACF,GAEMmC,IAAsB,MAAM;;AAChC,KAAAzB,IAAAmB,EAAS,YAAT,QAAAnB,EAAkB;AAAA,EAEpB;AAEA,2BACG,OAAA0B,EAAAC,EAAA,EAAI,WAAW,YAAYrB,CAAS,MAAQC,IAA5C,EACC,UAAA,gBAAAqB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKV;AAAA,MACL,MAAK;AAAA,MACL,OAAOL;AAAA,MACP,UAAUQ;AAAA,MACV,SAAS,MAAM;AACb,QAAAJ,EAAa,EAAI,GACjBb,KAAA,QAAAA;AAAA,MACF;AAAA,MACA,QAAQmB;AAAA,MACR,aAAAtB;AAAA,MACA,cAAYE,KAAaF;AAAA,MACzB,WACEC,IACE,gBAAAyB;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,SAASL;AAAA,UACT,cAAW;AAAA,UACX,MAAK;AAAA,UAEL,UAAA,gBAAAG,EAACG,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,QAAA;AAAA,MAAA,IAE9B;AAAA,IAAA;AAAA,EAAA,IAGV;AAEJ;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as I } from "react/jsx-runtime";
|
|
3
|
+
import { useState as e } from "react";
|
|
4
|
+
import { DatePickerContext as U } from "./DatePickerContext.js";
|
|
5
|
+
function A({
|
|
6
|
+
children: c,
|
|
7
|
+
mode: i = "single",
|
|
8
|
+
value: t,
|
|
9
|
+
defaultValue: n,
|
|
10
|
+
onValueChange: r,
|
|
11
|
+
minDate: g,
|
|
12
|
+
maxDate: D,
|
|
13
|
+
disabledDates: f,
|
|
14
|
+
locale: o
|
|
15
|
+
}) {
|
|
16
|
+
const v = () => {
|
|
17
|
+
if (t !== void 0) return null;
|
|
18
|
+
if (n) {
|
|
19
|
+
if (i === "single" && n instanceof Date)
|
|
20
|
+
return n;
|
|
21
|
+
if (i === "range" && typeof n == "object" && "start" in n)
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}, p = () => t === void 0 && n && i === "range" && typeof n == "object" && "start" in n ? n : { start: null, end: null }, [R, j] = e(
|
|
26
|
+
v()
|
|
27
|
+
), [x, P] = e(p()), b = i === "single" ? t instanceof Date ? t : R : null, y = i === "range" ? t && typeof t == "object" && "start" in t ? t : x : null, k = {
|
|
28
|
+
selectedDate: b,
|
|
29
|
+
selectedRange: y,
|
|
30
|
+
mode: i,
|
|
31
|
+
onDateChange: (s) => {
|
|
32
|
+
i === "single" && (t === void 0 && j(s), r == null || r(s));
|
|
33
|
+
},
|
|
34
|
+
onRangeChange: (s) => {
|
|
35
|
+
i === "range" && (t === void 0 && P(s), r == null || r(s));
|
|
36
|
+
},
|
|
37
|
+
minDate: g,
|
|
38
|
+
maxDate: D,
|
|
39
|
+
disabledDates: f,
|
|
40
|
+
locale: o
|
|
41
|
+
};
|
|
42
|
+
return /* @__PURE__ */ I(U.Provider, { value: k, children: c });
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
A as DatePickerProvider
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=DatePickerProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerProvider.js","sources":["../../../../../src/ui/components/DatePicker/DatePickerProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, type ReactNode } from \"react\";\nimport {\n DatePickerContext,\n type DatePickerContextValue,\n type Locale,\n} from \"./DatePickerContext\";\n\nexport interface DatePickerProviderProps {\n children: ReactNode;\n mode?: \"single\" | \"range\";\n value?: Date | { start: Date | null; end: Date | null };\n defaultValue?: Date | { start: Date | null; end: Date | null };\n onValueChange?: (\n value: Date | { start: Date | null; end: Date | null } | null,\n ) => void;\n minDate?: Date;\n maxDate?: Date;\n disabledDates?: Date[];\n locale?: Locale;\n}\n\nexport function DatePickerProvider({\n children,\n mode = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n minDate,\n maxDate,\n disabledDates,\n locale,\n}: DatePickerProviderProps) {\n // Initialize state\n const getInitialDate = () => {\n if (controlledValue !== undefined) return null; // Controlled mode\n if (defaultValue) {\n if (mode === \"single\" && defaultValue instanceof Date) {\n return defaultValue;\n }\n if (\n mode === \"range\" &&\n typeof defaultValue === \"object\" &&\n \"start\" in defaultValue\n ) {\n return null; // Range handled separately\n }\n }\n return null;\n };\n\n const getInitialRange = (): { start: Date | null; end: Date | null } => {\n if (\n controlledValue === undefined &&\n defaultValue &&\n mode === \"range\" &&\n typeof defaultValue === \"object\" &&\n \"start\" in defaultValue\n ) {\n return defaultValue;\n }\n return { start: null, end: null };\n };\n\n const [uncontrolledDate, setUncontrolledDate] = useState<Date | null>(\n getInitialDate(),\n );\n const [uncontrolledRange, setUncontrolledRange] = useState<{\n start: Date | null;\n end: Date | null;\n }>(getInitialRange());\n\n // Use controlled or uncontrolled state\n const selectedDate =\n mode === \"single\"\n ? controlledValue instanceof Date\n ? controlledValue\n : uncontrolledDate\n : null;\n\n const selectedRange =\n mode === \"range\"\n ? controlledValue &&\n typeof controlledValue === \"object\" &&\n \"start\" in controlledValue\n ? controlledValue\n : uncontrolledRange\n : null;\n\n const handleDateChange = (date: Date | null) => {\n if (mode !== \"single\") return;\n\n if (controlledValue === undefined) {\n setUncontrolledDate(date);\n }\n onValueChange?.(date);\n };\n\n const handleRangeChange = (range: {\n start: Date | null;\n end: Date | null;\n }) => {\n if (mode !== \"range\") return;\n\n if (controlledValue === undefined) {\n setUncontrolledRange(range);\n }\n onValueChange?.(range);\n };\n\n const contextValue: DatePickerContextValue = {\n selectedDate,\n selectedRange,\n mode,\n onDateChange: handleDateChange,\n onRangeChange: handleRangeChange,\n minDate,\n maxDate,\n disabledDates,\n locale,\n };\n\n return (\n <DatePickerContext.Provider value={contextValue}>\n {children}\n </DatePickerContext.Provider>\n );\n}\n"],"names":["DatePickerProvider","children","mode","controlledValue","defaultValue","onValueChange","minDate","maxDate","disabledDates","locale","getInitialDate","getInitialRange","uncontrolledDate","setUncontrolledDate","useState","uncontrolledRange","setUncontrolledRange","selectedDate","selectedRange","contextValue","date","range","DatePickerContext"],"mappings":";;;;AAuBO,SAASA,EAAmB;AAAA,EACjC,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAOC;AAAA,EACP,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AACF,GAA4B;AAE1B,QAAMC,IAAiB,MAAM;AAC3B,QAAIP,MAAoB,OAAW,QAAO;AAC1C,QAAIC,GAAc;AAChB,UAAIF,MAAS,YAAYE,aAAwB;AAC/C,eAAOA;AAET,UACEF,MAAS,WACT,OAAOE,KAAiB,YACxB,WAAWA;AAEX,eAAO;AAAA,IAEX;AACA,WAAO;AAAA,EACT,GAEMO,IAAkB,MAEpBR,MAAoB,UACpBC,KACAF,MAAS,WACT,OAAOE,KAAiB,YACxB,WAAWA,IAEJA,IAEF,EAAE,OAAO,MAAM,KAAK,KAAA,GAGvB,CAACQ,GAAkBC,CAAmB,IAAIC;AAAA,IAC9CJ,EAAA;AAAA,EAAe,GAEX,CAACK,GAAmBC,CAAoB,IAAIF,EAG/CH,GAAiB,GAGdM,IACJf,MAAS,WACLC,aAA2B,OACzBA,IACAS,IACF,MAEAM,IACJhB,MAAS,UACLC,KACA,OAAOA,KAAoB,YAC3B,WAAWA,IACTA,IACAY,IACF,MAuBAI,IAAuC;AAAA,IAC3C,cAAAF;AAAA,IACA,eAAAC;AAAA,IACA,MAAAhB;AAAA,IACA,cAzBuB,CAACkB,MAAsB;AAC9C,MAAIlB,MAAS,aAETC,MAAoB,UACtBU,EAAoBO,CAAI,GAE1Bf,KAAA,QAAAA,EAAgBe;AAAA,IAClB;AAAA,IAmBE,eAjBwB,CAACC,MAGrB;AACJ,MAAInB,MAAS,YAETC,MAAoB,UACtBa,EAAqBK,CAAK,GAE5BhB,KAAA,QAAAA,EAAgBgB;AAAA,IAClB;AAAA,IAQE,SAAAf;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,QAAAC;AAAA,EAAA;AAGF,2BACGa,EAAkB,UAAlB,EAA2B,OAAOH,GAChC,UAAAlB,GACH;AAEJ;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as i, jsxs as c, Fragment as j } from "react/jsx-runtime";
|
|
3
|
+
import d from "./Dialog.js";
|
|
4
|
+
import { DialogContent as y } from "./DialogContent.js";
|
|
5
|
+
import { DialogHeader as F } from "./DialogHeader.js";
|
|
6
|
+
import { DialogFooter as h } from "./DialogFooter.js";
|
|
7
|
+
import { Button as m } from "../../primitives/Button/Button.js";
|
|
8
|
+
function q({
|
|
9
|
+
open: e,
|
|
10
|
+
defaultOpen: f,
|
|
11
|
+
onOpenChange: r,
|
|
12
|
+
title: o,
|
|
13
|
+
description: s,
|
|
14
|
+
confirmLabel: a = "Confirm",
|
|
15
|
+
cancelLabel: u = "Cancel",
|
|
16
|
+
variant: D = "default",
|
|
17
|
+
onConfirm: l,
|
|
18
|
+
onCancel: t,
|
|
19
|
+
children: v
|
|
20
|
+
}) {
|
|
21
|
+
const k = () => {
|
|
22
|
+
l == null || l(), r == null || r(!1);
|
|
23
|
+
}, x = () => {
|
|
24
|
+
t == null || t(), r == null || r(!1);
|
|
25
|
+
};
|
|
26
|
+
return /* @__PURE__ */ i(d, { open: e, defaultOpen: f, onOpenChange: r, children: /* @__PURE__ */ i(y, { size: "sm", closeOnOverlayClick: !1, children: v || /* @__PURE__ */ c(j, { children: [
|
|
27
|
+
/* @__PURE__ */ c(F, { children: [
|
|
28
|
+
/* @__PURE__ */ i(d.Title, { children: o }),
|
|
29
|
+
s && /* @__PURE__ */ i(d.Description, { children: s })
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ c(h, { children: [
|
|
32
|
+
/* @__PURE__ */ i(m, { variant: "outline", onClick: x, children: u }),
|
|
33
|
+
/* @__PURE__ */ i(
|
|
34
|
+
m,
|
|
35
|
+
{
|
|
36
|
+
variant: D === "destructive" ? "error" : "primary",
|
|
37
|
+
onClick: k,
|
|
38
|
+
children: a
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
] })
|
|
42
|
+
] }) }) });
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
q as AlertDialog,
|
|
46
|
+
q as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=AlertDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertDialog.js","sources":["../../../../../src/ui/components/Dialog/AlertDialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode } from \"react\";\nimport Dialog from \"./Dialog\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogHeader } from \"./DialogHeader\";\nimport { DialogFooter } from \"./DialogFooter\";\nimport Button from \"../../primitives/Button/Button\";\n\nexport interface AlertDialogProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n title: string;\n description?: string;\n confirmLabel?: string;\n cancelLabel?: string;\n variant?: \"default\" | \"destructive\";\n onConfirm?: () => void;\n onCancel?: () => void;\n children?: ReactNode;\n}\n\n/**\n * AlertDialog Component\n *\n * A specialized dialog for confirmations and alerts.\n * Built on top of Dialog with pre-configured layout.\n *\n * @example\n * ```tsx\n * <AlertDialog\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * title=\"Delete Item\"\n * description=\"Are you sure? This action cannot be undone.\"\n * variant=\"destructive\"\n * onConfirm={handleDelete}\n * />\n * ```\n */\nexport function AlertDialog({\n open,\n defaultOpen,\n onOpenChange,\n title,\n description,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n variant = \"default\",\n onConfirm,\n onCancel,\n children,\n}: AlertDialogProps) {\n const handleConfirm = () => {\n onConfirm?.();\n onOpenChange?.(false);\n };\n\n const handleCancel = () => {\n onCancel?.();\n onOpenChange?.(false);\n };\n\n return (\n <Dialog open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n <DialogContent size=\"sm\" closeOnOverlayClick={false}>\n {children || (\n <>\n <DialogHeader>\n <Dialog.Title>{title}</Dialog.Title>\n {description && (\n <Dialog.Description>{description}</Dialog.Description>\n )}\n </DialogHeader>\n <DialogFooter>\n <Button variant=\"outline\" onClick={handleCancel}>\n {cancelLabel}\n </Button>\n <Button\n variant={variant === \"destructive\" ? \"error\" : \"primary\"}\n onClick={handleConfirm}\n >\n {confirmLabel}\n </Button>\n </DialogFooter>\n </>\n )}\n </DialogContent>\n </Dialog>\n );\n}\n\nexport default AlertDialog;\n"],"names":["AlertDialog","open","defaultOpen","onOpenChange","title","description","confirmLabel","cancelLabel","variant","onConfirm","onCancel","children","handleConfirm","handleCancel","jsx","Dialog","DialogContent","jsxs","Fragment","DialogHeader","DialogFooter","Button"],"mappings":";;;;;;;AAyCO,SAASA,EAAY;AAAA,EAC1B,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,aAAAC,IAAc;AAAA,EACd,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAAqB;AACnB,QAAMC,IAAgB,MAAM;AAC1B,IAAAH,KAAA,QAAAA,KACAN,KAAA,QAAAA,EAAe;AAAA,EACjB,GAEMU,IAAe,MAAM;AACzB,IAAAH,KAAA,QAAAA,KACAP,KAAA,QAAAA,EAAe;AAAA,EACjB;AAEA,SACE,gBAAAW,EAACC,GAAA,EAAO,MAAAd,GAAY,aAAAC,GAA0B,cAAAC,GAC5C,UAAA,gBAAAW,EAACE,GAAA,EAAc,MAAK,MAAK,qBAAqB,IAC3C,UAAAL,KACC,gBAAAM,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAL,EAACC,EAAO,OAAP,EAAc,UAAAX,EAAA,CAAM;AAAA,MACpBC,KACC,gBAAAS,EAACC,EAAO,aAAP,EAAoB,UAAAV,EAAA,CAAY;AAAA,IAAA,GAErC;AAAA,sBACCe,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAN,EAACO,GAAA,EAAO,SAAQ,WAAU,SAASR,GAChC,UAAAN,GACH;AAAA,MACA,gBAAAO;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,SAASb,MAAY,gBAAgB,UAAU;AAAA,UAC/C,SAASI;AAAA,UAER,UAAAN;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GAEJ,GACF;AAEJ;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
3
|
+
import { useId as r } from "react";
|
|
4
|
+
import { DialogProvider as g } from "../../providers/DialogProvider.js";
|
|
5
|
+
import { DialogTrigger as n } from "./DialogTrigger.js";
|
|
6
|
+
import { DialogContent as f } from "./DialogContent.js";
|
|
7
|
+
import { DialogHeader as s } from "./DialogHeader.js";
|
|
8
|
+
import { DialogTitle as D } from "./DialogTitle.js";
|
|
9
|
+
import { DialogDescription as d } from "./DialogDescription.js";
|
|
10
|
+
import { DialogFooter as c } from "./DialogFooter.js";
|
|
11
|
+
import { DialogClose as u } from "./DialogClose.js";
|
|
12
|
+
function o({ children: i, open: t, defaultOpen: e, onOpenChange: m }) {
|
|
13
|
+
const l = r(), p = r();
|
|
14
|
+
return /* @__PURE__ */ a(
|
|
15
|
+
g,
|
|
16
|
+
{
|
|
17
|
+
open: t,
|
|
18
|
+
defaultOpen: e,
|
|
19
|
+
onOpenChange: m,
|
|
20
|
+
titleId: l,
|
|
21
|
+
descriptionId: p,
|
|
22
|
+
children: i
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
o.Trigger = n;
|
|
27
|
+
o.Content = f;
|
|
28
|
+
o.Header = s;
|
|
29
|
+
o.Title = D;
|
|
30
|
+
o.Description = d;
|
|
31
|
+
o.Footer = c;
|
|
32
|
+
o.Close = u;
|
|
33
|
+
export {
|
|
34
|
+
o as default
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=Dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../../../../src/ui/components/Dialog/Dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { useId, type ReactNode } from \"react\";\nimport { DialogProvider } from \"../../providers/DialogProvider\";\nimport { DialogTrigger } from \"./DialogTrigger\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogHeader } from \"./DialogHeader\";\nimport { DialogTitle } from \"./DialogTitle\";\nimport { DialogDescription } from \"./DialogDescription\";\nimport { DialogFooter } from \"./DialogFooter\";\nimport { DialogClose } from \"./DialogClose\";\n\nexport interface DialogProps {\n children: ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\n/**\n * Dialog Component\n *\n * A flexible dialog component using compound components pattern.\n * Supports both controlled and uncontrolled modes.\n * Includes portal rendering, focus trap, and full accessibility.\n *\n * @example\n * ```tsx\n * // Uncontrolled\n * <Dialog>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.Description>Dialog description</Dialog.Description>\n * </Dialog.Header>\n * <Dialog.Footer>\n * <Button onClick={handleClose}>Close</Button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * </Dialog>\n *\n * // Controlled\n * <Dialog open={isOpen} onOpenChange={setIsOpen}>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * </Dialog.Header>\n * </Dialog.Content>\n * </Dialog>\n * ```\n */\nfunction Dialog({ children, open, defaultOpen, onOpenChange }: DialogProps) {\n const titleId = useId();\n const descriptionId = useId();\n\n return (\n <DialogProvider\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n titleId={titleId}\n descriptionId={descriptionId}\n >\n {children}\n </DialogProvider>\n );\n}\n\n// Compound components\nDialog.Trigger = DialogTrigger;\nDialog.Content = DialogContent;\nDialog.Header = DialogHeader;\nDialog.Title = DialogTitle;\nDialog.Description = DialogDescription;\nDialog.Footer = DialogFooter;\nDialog.Close = DialogClose;\n\nexport default Dialog;\n"],"names":["Dialog","children","open","defaultOpen","onOpenChange","titleId","useId","descriptionId","jsx","DialogProvider","DialogTrigger","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogClose"],"mappings":";;;;;;;;;;;AAoDA,SAASA,EAAO,EAAE,UAAAC,GAAU,MAAAC,GAAM,aAAAC,GAAa,cAAAC,KAA6B;AAC1E,QAAMC,IAAUC,EAAA,GACVC,IAAgBD,EAAA;AAEtB,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,SAAAC;AAAA,MACA,eAAAE;AAAA,MAEC,UAAAN;AAAA,IAAA;AAAA,EAAA;AAGP;AAGAD,EAAO,UAAUU;AACjBV,EAAO,UAAUW;AACjBX,EAAO,SAASY;AAChBZ,EAAO,QAAQa;AACfb,EAAO,cAAcc;AACrBd,EAAO,SAASe;AAChBf,EAAO,QAAQgB;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { isValidElement as m, cloneElement as c } from "react";
|
|
4
|
+
import { X as p } from "lucide-react";
|
|
5
|
+
import { useDialogContext as f } from "../../providers/DialogContext.js";
|
|
6
|
+
import { Button as u } from "../../primitives/Button/Button.js";
|
|
7
|
+
function D({
|
|
8
|
+
"aria-label": r = "Close dialog",
|
|
9
|
+
className: a = "",
|
|
10
|
+
asChild: n = !1,
|
|
11
|
+
children: o
|
|
12
|
+
}) {
|
|
13
|
+
const { onClose: l } = f();
|
|
14
|
+
return n && m(o) ? c(o, {
|
|
15
|
+
onClick: (s) => {
|
|
16
|
+
var e, i;
|
|
17
|
+
l(), (i = (e = o.props).onClick) == null || i.call(e, s);
|
|
18
|
+
}
|
|
19
|
+
}) : /* @__PURE__ */ t(
|
|
20
|
+
u,
|
|
21
|
+
{
|
|
22
|
+
variant: "iconOnly",
|
|
23
|
+
size: "sm",
|
|
24
|
+
onClick: l,
|
|
25
|
+
className: `absolute right-4 top-4 ${a}`,
|
|
26
|
+
"aria-label": r,
|
|
27
|
+
children: /* @__PURE__ */ t(p, { className: "h-4 w-4" })
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
D as DialogClose
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=DialogClose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogClose.js","sources":["../../../../../src/ui/components/Dialog/DialogClose.tsx"],"sourcesContent":["\"use client\";\n\nimport { cloneElement, isValidElement, type ReactElement } from \"react\";\nimport { X } from \"lucide-react\";\nimport { useDialogContext } from \"../../providers/DialogContext\";\nimport Button from \"../../primitives/Button/Button\";\n\ntype CloseChildProps = {\n onClick?: (e: React.MouseEvent) => void;\n};\n\nexport interface DialogCloseProps {\n \"aria-label\"?: string;\n className?: string;\n asChild?: boolean;\n children?: ReactElement<CloseChildProps>;\n}\n\nexport function DialogClose({\n \"aria-label\": ariaLabel = \"Close dialog\",\n className = \"\",\n asChild = false,\n children,\n}: DialogCloseProps) {\n const { onClose } = useDialogContext();\n\n if (asChild && isValidElement<CloseChildProps>(children)) {\n return cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n onClose();\n children.props.onClick?.(e);\n },\n });\n }\n\n return (\n <Button\n variant=\"iconOnly\"\n size=\"sm\"\n onClick={onClose}\n className={`absolute right-4 top-4 ${className}`}\n aria-label={ariaLabel}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n );\n}\n"],"names":["DialogClose","ariaLabel","className","asChild","children","onClose","useDialogContext","isValidElement","cloneElement","e","_b","_a","jsx","Button","X"],"mappings":";;;;;;AAkBO,SAASA,EAAY;AAAA,EAC1B,cAAcC,IAAY;AAAA,EAC1B,WAAAC,IAAY;AAAA,EACZ,SAAAC,IAAU;AAAA,EACV,UAAAC;AACF,GAAqB;AACnB,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA;AAEpB,SAAIH,KAAWI,EAAgCH,CAAQ,IAC9CI,EAAaJ,GAAU;AAAA,IAC5B,SAAS,CAACK,MAAwB;;AAChC,MAAAJ,EAAA,IACAK,KAAAC,IAAAP,EAAS,OAAM,YAAf,QAAAM,EAAA,KAAAC,GAAyBF;AAAA,IAC3B;AAAA,EAAA,CACD,IAID,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,SAASR;AAAA,MACT,WAAW,0BAA0BH,CAAS;AAAA,MAC9C,cAAYD;AAAA,MAEZ,UAAA,gBAAAW,EAACE,GAAA,EAAE,WAAU,UAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAG7B;"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var j = Object.defineProperty, D = Object.defineProperties;
|
|
3
|
+
var F = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var l = Object.getOwnPropertySymbols;
|
|
5
|
+
var p = Object.prototype.hasOwnProperty, x = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var c = (e, t, o) => t in e ? j(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o, g = (e, t) => {
|
|
7
|
+
for (var o in t || (t = {}))
|
|
8
|
+
p.call(t, o) && c(e, o, t[o]);
|
|
9
|
+
if (l)
|
|
10
|
+
for (var o of l(t))
|
|
11
|
+
x.call(t, o) && c(e, o, t[o]);
|
|
12
|
+
return e;
|
|
13
|
+
}, y = (e, t) => D(e, F(t));
|
|
14
|
+
var v = (e, t) => {
|
|
15
|
+
var o = {};
|
|
16
|
+
for (var r in e)
|
|
17
|
+
p.call(e, r) && t.indexOf(r) < 0 && (o[r] = e[r]);
|
|
18
|
+
if (e != null && l)
|
|
19
|
+
for (var r of l(e))
|
|
20
|
+
t.indexOf(r) < 0 && x.call(e, r) && (o[r] = e[r]);
|
|
21
|
+
return o;
|
|
22
|
+
};
|
|
23
|
+
import { jsxs as L, jsx as m } from "react/jsx-runtime";
|
|
24
|
+
import { useRef as w, useEffect as S } from "react";
|
|
25
|
+
import { createPortal as z } from "react-dom";
|
|
26
|
+
import { useDialogContext as A } from "../../providers/DialogContext.js";
|
|
27
|
+
import { useFocusTrap as O } from "../../hooks/useFocusTrap.js";
|
|
28
|
+
import { useAutoFocus as P } from "../../hooks/useAutoFocus.js";
|
|
29
|
+
import { getSpacingClass as C } from "../../tokens/spacing.js";
|
|
30
|
+
import { getRadiusClass as b } from "../../tokens/radius.js";
|
|
31
|
+
import { getShadowClass as T } from "../../tokens/shadows.js";
|
|
32
|
+
import { getZIndexClass as Z } from "../../tokens/z-index.js";
|
|
33
|
+
function Y(q) {
|
|
34
|
+
var d = q, {
|
|
35
|
+
children: e,
|
|
36
|
+
size: t = "md",
|
|
37
|
+
closeOnOverlayClick: o = !0,
|
|
38
|
+
closeOnEscape: r = !0,
|
|
39
|
+
className: h = ""
|
|
40
|
+
} = d, $ = v(d, [
|
|
41
|
+
"children",
|
|
42
|
+
"size",
|
|
43
|
+
"closeOnOverlayClick",
|
|
44
|
+
"closeOnEscape",
|
|
45
|
+
"className"
|
|
46
|
+
]);
|
|
47
|
+
const { isOpen: n, onClose: s, titleId: k, descriptionId: E } = A(), a = w(null), f = w(null);
|
|
48
|
+
if (O(a, n), P(a, n), S(() => {
|
|
49
|
+
if (!n || !r) return;
|
|
50
|
+
const i = (R) => {
|
|
51
|
+
R.key === "Escape" && s();
|
|
52
|
+
};
|
|
53
|
+
return document.addEventListener("keydown", i), () => {
|
|
54
|
+
document.removeEventListener("keydown", i);
|
|
55
|
+
};
|
|
56
|
+
}, [n, s, r]), !n) return null;
|
|
57
|
+
const I = {
|
|
58
|
+
sm: "max-w-sm",
|
|
59
|
+
md: "max-w-md",
|
|
60
|
+
lg: "max-w-lg",
|
|
61
|
+
xl: "max-w-2xl",
|
|
62
|
+
fullscreen: `max-w-full h-full ${C("none", "m")} ${b("none")}`
|
|
63
|
+
}, N = (i) => {
|
|
64
|
+
o && i.target === f.current && s();
|
|
65
|
+
}, u = /* @__PURE__ */ L(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
className: `fixed inset-0 ${Z("modal")} overflow-y-auto`,
|
|
69
|
+
onClick: N,
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ m(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
ref: f,
|
|
75
|
+
className: "fixed inset-0 bg-scrim transition-opacity",
|
|
76
|
+
"aria-hidden": "true"
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ m(
|
|
80
|
+
"div",
|
|
81
|
+
{
|
|
82
|
+
className: `flex min-h-full items-center justify-center ${C("base", "p")}`,
|
|
83
|
+
children: /* @__PURE__ */ m(
|
|
84
|
+
"div",
|
|
85
|
+
y(g({
|
|
86
|
+
ref: a,
|
|
87
|
+
role: "dialog",
|
|
88
|
+
"aria-modal": "true",
|
|
89
|
+
"aria-labelledby": k,
|
|
90
|
+
"aria-describedby": E,
|
|
91
|
+
className: `
|
|
92
|
+
relative w-full
|
|
93
|
+
${I[t]}
|
|
94
|
+
bg-surface-overlay
|
|
95
|
+
${b("lg")}
|
|
96
|
+
${T("xl")}
|
|
97
|
+
${h}
|
|
98
|
+
`,
|
|
99
|
+
tabIndex: -1
|
|
100
|
+
}, $), {
|
|
101
|
+
children: e
|
|
102
|
+
})
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
return typeof window != "undefined" ? z(u, document.body) : u;
|
|
110
|
+
}
|
|
111
|
+
export {
|
|
112
|
+
Y as DialogContent
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=DialogContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogContent.js","sources":["../../../../../src/ui/components/Dialog/DialogContent.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useDialogContext } from \"../../providers/DialogContext\";\nimport { useFocusTrap } from \"../../hooks/useFocusTrap\";\nimport { useAutoFocus } from \"../../hooks/useAutoFocus\";\nimport { getRadiusClass, getShadowClass, getZIndexClass } from \"../../tokens\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport interface DialogContentProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"role\"\n> {\n children: ReactNode;\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"fullscreen\";\n closeOnOverlayClick?: boolean;\n closeOnEscape?: boolean;\n}\n\nexport function DialogContent({\n children,\n size = \"md\",\n closeOnOverlayClick = true,\n closeOnEscape = true,\n className = \"\",\n ...props\n}: DialogContentProps) {\n const { isOpen, onClose, titleId, descriptionId } = useDialogContext();\n const contentRef = useRef<HTMLDivElement>(null);\n const overlayRef = useRef<HTMLDivElement>(null);\n\n // Modal focus contract — Tab cycling + auto-focus, consumed from the\n // shared hooks introduced in Phase 3 PR 1. Replaces an inline\n // implementation that duplicated the selector / disabled-and-hidden\n // filter / boundary-check logic verbatim. The hook variant ALSO\n // closes a focus-outside-container gap the inline trap silently had\n // (it relied on auto-focus running first to mask it); the hook\n // pulls focus back to the trap edge regardless. Focus restore on\n // close is the separate concern of `useFocusRestore`, consumed in\n // `DialogProvider`.\n useFocusTrap(contentRef, isOpen);\n useAutoFocus(contentRef, isOpen);\n\n // ESC handling stays inline — gated by the per-Dialog `closeOnEscape`\n // prop, which the shared hooks intentionally don't know about. Same\n // shape as Drawer's parallel handler.\n useEffect(() => {\n if (!isOpen || !closeOnEscape) return;\n\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose();\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n return () => {\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose, closeOnEscape]);\n\n if (!isOpen) return null;\n\n const sizeClasses = {\n sm: \"max-w-sm\",\n md: \"max-w-md\",\n lg: \"max-w-lg\",\n xl: \"max-w-2xl\",\n fullscreen: `max-w-full h-full ${getSpacingClass(\"none\", \"m\")} ${getRadiusClass(\"none\")}`,\n };\n\n const handleOverlayClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (closeOnOverlayClick && e.target === overlayRef.current) {\n onClose();\n }\n };\n\n const dialogContent = (\n <div\n className={`fixed inset-0 ${getZIndexClass(\"modal\")} overflow-y-auto`}\n onClick={handleOverlayClick}\n >\n {/* Overlay */}\n <div\n ref={overlayRef}\n className=\"fixed inset-0 bg-scrim transition-opacity\"\n aria-hidden=\"true\"\n />\n\n {/* Dialog */}\n <div\n className={`flex min-h-full items-center justify-center ${getSpacingClass(\"base\", \"p\")}`}\n >\n <div\n ref={contentRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n className={`\n relative w-full\n ${sizeClasses[size]}\n bg-surface-overlay\n ${getRadiusClass(\"lg\")}\n ${getShadowClass(\"xl\")}\n ${className}\n `}\n tabIndex={-1}\n {...props}\n >\n {children}\n </div>\n </div>\n </div>\n );\n\n // Portal rendering\n if (typeof window !== \"undefined\") {\n return createPortal(dialogContent, document.body);\n }\n\n return dialogContent;\n}\n"],"names":["DialogContent","_a","_b","children","size","closeOnOverlayClick","closeOnEscape","className","props","__objRest","isOpen","onClose","titleId","descriptionId","useDialogContext","contentRef","useRef","overlayRef","useFocusTrap","useAutoFocus","useEffect","handleEscape","e","sizeClasses","getSpacingClass","getRadiusClass","handleOverlayClick","dialogContent","jsxs","getZIndexClass","jsx","__spreadProps","__spreadValues","getShadowClass","createPortal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,SAASA,EAAcC,GAOP;AAPO,MAAAC,IAAAD,GAC5B;AAAA,cAAAE;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,qBAAAC,IAAsB;AAAA,IACtB,eAAAC,IAAgB;AAAA,IAChB,WAAAC,IAAY;AAAA,MALgBL,GAMzBM,IAAAC,EANyBP,GAMzB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,EAAE,QAAAQ,GAAQ,SAAAC,GAAS,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAA,GAC9CC,IAAaC,EAAuB,IAAI,GACxCC,IAAaD,EAAuB,IAAI;AAgC9C,MArBAE,EAAaH,GAAYL,CAAM,GAC/BS,EAAaJ,GAAYL,CAAM,GAK/BU,EAAU,MAAM;AACd,QAAI,CAACV,KAAU,CAACJ,EAAe;AAE/B,UAAMe,IAAe,CAACC,MAAqB;AACzC,MAAIA,EAAE,QAAQ,YACZX,EAAA;AAAA,IAEJ;AAEA,oBAAS,iBAAiB,WAAWU,CAAY,GAC1C,MAAM;AACX,eAAS,oBAAoB,WAAWA,CAAY;AAAA,IACtD;AAAA,EACF,GAAG,CAACX,GAAQC,GAASL,CAAa,CAAC,GAE/B,CAACI,EAAQ,QAAO;AAEpB,QAAMa,IAAc;AAAA,IAClB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,YAAY,qBAAqBC,EAAgB,QAAQ,GAAG,CAAC,IAAIC,EAAe,MAAM,CAAC;AAAA,EAAA,GAGnFC,IAAqB,CAACJ,MAAwC;AAClE,IAAIjB,KAAuBiB,EAAE,WAAWL,EAAW,WACjDN,EAAA;AAAA,EAEJ,GAEMgB,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,iBAAiBC,EAAe,OAAO,CAAC;AAAA,MACnD,SAASH;AAAA,MAGT,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKb;AAAA,YACL,WAAU;AAAA,YACV,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAId,gBAAAa;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,+CAA+CN,EAAgB,QAAQ,GAAG,CAAC;AAAA,YAEtF,UAAA,gBAAAM;AAAA,cAAC;AAAA,cAAAC,EAAAC,EAAA;AAAA,gBACC,KAAKjB;AAAA,gBACL,MAAK;AAAA,gBACL,cAAW;AAAA,gBACX,mBAAiBH;AAAA,gBACjB,oBAAkBC;AAAA,gBAClB,WAAW;AAAA;AAAA,cAEPU,EAAYnB,CAAI,CAAC;AAAA;AAAA,cAEjBqB,EAAe,IAAI,CAAC;AAAA,cACpBQ,EAAe,IAAI,CAAC;AAAA,cACpB1B,CAAS;AAAA;AAAA,gBAEb,UAAU;AAAA,iBACNC,IAfL;AAAA,gBAiBE,UAAAL;AAAA,cAAA;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAKJ,SAAI,OAAO,UAAW,cACb+B,EAAaP,GAAe,SAAS,IAAI,IAG3CA;AACT;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var u = Object.defineProperty, x = Object.defineProperties;
|
|
3
|
+
var y = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var s = Object.getOwnPropertySymbols;
|
|
5
|
+
var a = Object.prototype.hasOwnProperty, c = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var n = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e, m = (o, t) => {
|
|
7
|
+
for (var e in t || (t = {}))
|
|
8
|
+
a.call(t, e) && n(o, e, t[e]);
|
|
9
|
+
if (s)
|
|
10
|
+
for (var e of s(t))
|
|
11
|
+
c.call(t, e) && n(o, e, t[e]);
|
|
12
|
+
return o;
|
|
13
|
+
}, p = (o, t) => x(o, y(t));
|
|
14
|
+
var d = (o, t) => {
|
|
15
|
+
var e = {};
|
|
16
|
+
for (var r in o)
|
|
17
|
+
a.call(o, r) && t.indexOf(r) < 0 && (e[r] = o[r]);
|
|
18
|
+
if (o != null && s)
|
|
19
|
+
for (var r of s(o))
|
|
20
|
+
t.indexOf(r) < 0 && c.call(o, r) && (e[r] = o[r]);
|
|
21
|
+
return e;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as I } from "react/jsx-runtime";
|
|
24
|
+
import { useId as D } from "react";
|
|
25
|
+
import { useDialogContext as C } from "../../providers/DialogContext.js";
|
|
26
|
+
import { getTypographyClasses as $ } from "../../tokens/typography.js";
|
|
27
|
+
function k(b) {
|
|
28
|
+
var i = b, {
|
|
29
|
+
children: o,
|
|
30
|
+
className: t = "",
|
|
31
|
+
id: e
|
|
32
|
+
} = i, r = d(i, [
|
|
33
|
+
"children",
|
|
34
|
+
"className",
|
|
35
|
+
"id"
|
|
36
|
+
]);
|
|
37
|
+
const l = C(), f = D(), g = e || l.descriptionId || f;
|
|
38
|
+
return /* @__PURE__ */ I(
|
|
39
|
+
"p",
|
|
40
|
+
p(m({
|
|
41
|
+
id: g,
|
|
42
|
+
className: `${$("bodySmall")} text-fg-secondary ${t}`
|
|
43
|
+
}, r), {
|
|
44
|
+
children: o
|
|
45
|
+
})
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
k as DialogDescription
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=DialogDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogDescription.js","sources":["../../../../../src/ui/components/Dialog/DialogDescription.tsx"],"sourcesContent":["\"use client\";\n\nimport { useId, type HTMLAttributes } from \"react\";\nimport { useDialogContext } from \"../../providers/DialogContext\";\nimport { getTypographyClasses } from \"../../tokens\";\n\nexport type DialogDescriptionProps = HTMLAttributes<HTMLParagraphElement>;\n\nexport function DialogDescription({\n children,\n className = \"\",\n id,\n ...props\n}: DialogDescriptionProps) {\n const context = useDialogContext();\n const generatedId = useId();\n const finalId = id || context.descriptionId || generatedId;\n\n return (\n <p\n id={finalId}\n className={`${getTypographyClasses(\"bodySmall\")} text-fg-secondary ${className}`}\n {...props}\n >\n {children}\n </p>\n );\n}\n"],"names":["DialogDescription","_a","_b","children","className","id","props","__objRest","context","useDialogContext","generatedId","useId","finalId","jsx","__spreadProps","__spreadValues","getTypographyClasses"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,SAASA,EAAkBC,GAKP;AALO,MAAAC,IAAAD,GAChC;AAAA,cAAAE;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,IAAAC;AAAA,MAHgCH,GAI7BI,IAAAC,EAJ6BL,GAI7B;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAMM,IAAUC,EAAA,GACVC,IAAcC,EAAA,GACdC,IAAUP,KAAMG,EAAQ,iBAAiBE;AAE/C,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,IAAIH;AAAA,MACJ,WAAW,GAAGI,EAAqB,WAAW,CAAC,sBAAsBZ,CAAS;AAAA,OAC1EE,IAHL;AAAA,MAKE,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var x = Object.defineProperty, g = Object.defineProperties;
|
|
3
|
+
var u = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var t = Object.getOwnPropertySymbols;
|
|
5
|
+
var a = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var i = (e, s, o) => s in e ? x(e, s, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[s] = o, p = (e, s) => {
|
|
7
|
+
for (var o in s || (s = {}))
|
|
8
|
+
a.call(s, o) && i(e, o, s[o]);
|
|
9
|
+
if (t)
|
|
10
|
+
for (var o of t(s))
|
|
11
|
+
f.call(s, o) && i(e, o, s[o]);
|
|
12
|
+
return e;
|
|
13
|
+
}, c = (e, s) => g(e, u(s));
|
|
14
|
+
var n = (e, s) => {
|
|
15
|
+
var o = {};
|
|
16
|
+
for (var r in e)
|
|
17
|
+
a.call(e, r) && s.indexOf(r) < 0 && (o[r] = e[r]);
|
|
18
|
+
if (e != null && t)
|
|
19
|
+
for (var r of t(e))
|
|
20
|
+
s.indexOf(r) < 0 && f.call(e, r) && (o[r] = e[r]);
|
|
21
|
+
return o;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as $ } from "react/jsx-runtime";
|
|
24
|
+
import { getSpacingClass as l } from "../../tokens/spacing.js";
|
|
25
|
+
function b(r) {
|
|
26
|
+
var m = r, {
|
|
27
|
+
children: e,
|
|
28
|
+
className: s = ""
|
|
29
|
+
} = m, o = n(m, [
|
|
30
|
+
"children",
|
|
31
|
+
"className"
|
|
32
|
+
]);
|
|
33
|
+
return /* @__PURE__ */ $(
|
|
34
|
+
"div",
|
|
35
|
+
c(p({
|
|
36
|
+
className: `flex flex-col-reverse sm:flex-row sm:justify-end sm:${l("sm", "space-x")} ${l("lg", "p")} ${l("base", "pt")} ${s}`
|
|
37
|
+
}, o), {
|
|
38
|
+
children: e
|
|
39
|
+
})
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
b as DialogFooter
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=DialogFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogFooter.js","sources":["../../../../../src/ui/components/Dialog/DialogFooter.tsx"],"sourcesContent":["\"use client\";\n\nimport { type HTMLAttributes, type ReactNode } from \"react\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport interface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function DialogFooter({\n children,\n className = \"\",\n ...props\n}: DialogFooterProps) {\n return (\n <div\n className={`flex flex-col-reverse sm:flex-row sm:justify-end sm:${getSpacingClass(\"sm\", \"space-x\")} ${getSpacingClass(\"lg\", \"p\")} ${getSpacingClass(\"base\", \"pt\")} ${className}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["DialogFooter","_a","_b","children","className","props","__objRest","jsx","__spreadProps","__spreadValues","getSpacingClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASO,SAASA,EAAaC,GAIP;AAJO,MAAAC,IAAAD,GAC3B;AAAA,cAAAE;AAAA,IACA,WAAAC,IAAY;AAAA,MAFeF,GAGxBG,IAAAC,EAHwBJ,GAGxB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,WAAW,uDAAuDC,EAAgB,MAAM,SAAS,CAAC,IAAIA,EAAgB,MAAM,GAAG,CAAC,IAAIA,EAAgB,QAAQ,IAAI,CAAC,IAAIN,CAAS;AAAA,OAC1KC,IAFL;AAAA,MAIE,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var g = Object.defineProperty, x = Object.defineProperties;
|
|
3
|
+
var $ = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var r = Object.getOwnPropertySymbols;
|
|
5
|
+
var t = Object.prototype.hasOwnProperty, c = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var p = (e, a, l) => a in e ? g(e, a, { enumerable: !0, configurable: !0, writable: !0, value: l }) : e[a] = l, f = (e, a) => {
|
|
7
|
+
for (var l in a || (a = {}))
|
|
8
|
+
t.call(a, l) && p(e, l, a[l]);
|
|
9
|
+
if (r)
|
|
10
|
+
for (var l of r(a))
|
|
11
|
+
c.call(a, l) && p(e, l, a[l]);
|
|
12
|
+
return e;
|
|
13
|
+
}, m = (e, a) => x(e, $(a));
|
|
14
|
+
var n = (e, a) => {
|
|
15
|
+
var l = {};
|
|
16
|
+
for (var o in e)
|
|
17
|
+
t.call(e, o) && a.indexOf(o) < 0 && (l[o] = e[o]);
|
|
18
|
+
if (e != null && r)
|
|
19
|
+
for (var o of r(e))
|
|
20
|
+
a.indexOf(o) < 0 && c.call(e, o) && (l[o] = e[o]);
|
|
21
|
+
return l;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as u } from "react/jsx-runtime";
|
|
24
|
+
import { getSpacingClass as s } from "../../tokens/spacing.js";
|
|
25
|
+
function v(o) {
|
|
26
|
+
var i = o, {
|
|
27
|
+
children: e,
|
|
28
|
+
className: a = ""
|
|
29
|
+
} = i, l = n(i, [
|
|
30
|
+
"children",
|
|
31
|
+
"className"
|
|
32
|
+
]);
|
|
33
|
+
return /* @__PURE__ */ u(
|
|
34
|
+
"div",
|
|
35
|
+
m(f({
|
|
36
|
+
className: `flex flex-col ${s("1.5", "space-y")} ${s("lg", "p")} ${s("base", "pb")} ${a}`
|
|
37
|
+
}, l), {
|
|
38
|
+
children: e
|
|
39
|
+
})
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
v as DialogHeader
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=DialogHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogHeader.js","sources":["../../../../../src/ui/components/Dialog/DialogHeader.tsx"],"sourcesContent":["\"use client\";\n\nimport { type HTMLAttributes, type ReactNode } from \"react\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function DialogHeader({\n children,\n className = \"\",\n ...props\n}: DialogHeaderProps) {\n return (\n <div\n className={`flex flex-col ${getSpacingClass(\"1.5\", \"space-y\")} ${getSpacingClass(\"lg\", \"p\")} ${getSpacingClass(\"base\", \"pb\")} ${className}`}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["DialogHeader","_a","_b","children","className","props","__objRest","jsx","__spreadProps","__spreadValues","getSpacingClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASO,SAASA,EAAaC,GAIP;AAJO,MAAAC,IAAAD,GAC3B;AAAA,cAAAE;AAAA,IACA,WAAAC,IAAY;AAAA,MAFeF,GAGxBG,IAAAC,EAHwBJ,GAGxB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,WAAW,iBAAiBC,EAAgB,OAAO,SAAS,CAAC,IAAIA,EAAgB,MAAM,GAAG,CAAC,IAAIA,EAAgB,QAAQ,IAAI,CAAC,IAAIN,CAAS;AAAA,OACrIC,IAFL;AAAA,MAIE,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var h = Object.defineProperty, x = Object.defineProperties;
|
|
3
|
+
var I = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var n = Object.getOwnPropertySymbols;
|
|
5
|
+
var a = Object.prototype.hasOwnProperty, l = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var s = (t, o, e) => o in t ? h(t, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[o] = e, m = (t, o) => {
|
|
7
|
+
for (var e in o || (o = {}))
|
|
8
|
+
a.call(o, e) && s(t, e, o[e]);
|
|
9
|
+
if (n)
|
|
10
|
+
for (var e of n(o))
|
|
11
|
+
l.call(o, e) && s(t, e, o[e]);
|
|
12
|
+
return t;
|
|
13
|
+
}, c = (t, o) => x(t, I(o));
|
|
14
|
+
var d = (t, o) => {
|
|
15
|
+
var e = {};
|
|
16
|
+
for (var i in t)
|
|
17
|
+
a.call(t, i) && o.indexOf(i) < 0 && (e[i] = t[i]);
|
|
18
|
+
if (t != null && n)
|
|
19
|
+
for (var i of n(t))
|
|
20
|
+
o.indexOf(i) < 0 && l.call(t, i) && (e[i] = t[i]);
|
|
21
|
+
return e;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
24
|
+
import { useId as C } from "react";
|
|
25
|
+
import { useDialogContext as D } from "../../providers/DialogContext.js";
|
|
26
|
+
import { getTypographyClasses as T } from "../../tokens/typography.js";
|
|
27
|
+
function v($) {
|
|
28
|
+
var r = $, {
|
|
29
|
+
as: t = "h2",
|
|
30
|
+
children: o,
|
|
31
|
+
className: e = "",
|
|
32
|
+
id: i
|
|
33
|
+
} = r, g = d(r, [
|
|
34
|
+
"as",
|
|
35
|
+
"children",
|
|
36
|
+
"className",
|
|
37
|
+
"id"
|
|
38
|
+
]);
|
|
39
|
+
const f = D(), p = C(), u = i || f.titleId || p;
|
|
40
|
+
return /* @__PURE__ */ y(
|
|
41
|
+
t,
|
|
42
|
+
c(m({
|
|
43
|
+
id: u,
|
|
44
|
+
className: `${T("h3")} font-semibold leading-none tracking-tight ${e}`
|
|
45
|
+
}, g), {
|
|
46
|
+
children: o
|
|
47
|
+
})
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
v as DialogTitle
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=DialogTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogTitle.js","sources":["../../../../../src/ui/components/Dialog/DialogTitle.tsx"],"sourcesContent":["\"use client\";\n\nimport { useId, type HTMLAttributes } from \"react\";\nimport { useDialogContext } from \"../../providers/DialogContext\";\nimport { getTypographyClasses } from \"../../tokens\";\n\nexport interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n}\n\nexport function DialogTitle({\n as: Component = \"h2\",\n children,\n className = \"\",\n id,\n ...props\n}: DialogTitleProps) {\n const context = useDialogContext();\n const generatedId = useId();\n const finalId = id || context.titleId || generatedId;\n\n return (\n <Component\n id={finalId}\n className={`${getTypographyClasses(\"h3\")} font-semibold leading-none tracking-tight ${className}`}\n {...props}\n >\n {children}\n </Component>\n );\n}\n"],"names":["DialogTitle","_a","_b","Component","children","className","id","props","__objRest","context","useDialogContext","generatedId","useId","finalId","jsx","__spreadProps","__spreadValues","getTypographyClasses"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,SAASA,EAAYC,GAMP;AANO,MAAAC,IAAAD,GAC1B;AAAA,QAAIE,IAAY;AAAA,IAChB,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,IAAAC;AAAA,MAJ0BJ,GAKvBK,IAAAC,EALuBN,GAKvB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAMO,IAAUC,EAAA,GACVC,IAAcC,EAAA,GACdC,IAAUP,KAAMG,EAAQ,WAAWE;AAEzC,SACE,gBAAAG;AAAA,IAACX;AAAA,IAAAY,EAAAC,EAAA;AAAA,MACC,IAAIH;AAAA,MACJ,WAAW,GAAGI,EAAqB,IAAI,CAAC,8CAA8CZ,CAAS;AAAA,OAC3FE,IAHL;AAAA,MAKE,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
3
|
+
import { isValidElement as u, cloneElement as a } from "react";
|
|
4
|
+
import { useDialogContext as l } from "../../providers/DialogContext.js";
|
|
5
|
+
function g({
|
|
6
|
+
children: o,
|
|
7
|
+
asChild: r = !1
|
|
8
|
+
}) {
|
|
9
|
+
const { onOpenChange: t } = l();
|
|
10
|
+
return r && u(o) ? a(o, {
|
|
11
|
+
onClick: (i) => {
|
|
12
|
+
var e, n;
|
|
13
|
+
t(!0), (n = (e = o.props).onClick) == null || n.call(e, i);
|
|
14
|
+
}
|
|
15
|
+
}) : /* @__PURE__ */ p(
|
|
16
|
+
"button",
|
|
17
|
+
{
|
|
18
|
+
type: "button",
|
|
19
|
+
onClick: () => t(!0),
|
|
20
|
+
"aria-haspopup": "dialog",
|
|
21
|
+
children: o
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
g as DialogTrigger
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=DialogTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogTrigger.js","sources":["../../../../../src/ui/components/Dialog/DialogTrigger.tsx"],"sourcesContent":["\"use client\";\n\nimport { cloneElement, isValidElement, type ReactElement } from \"react\";\nimport { useDialogContext } from \"../../providers/DialogContext\";\n\ntype TriggerChildProps = {\n onClick?: (e: React.MouseEvent) => void;\n};\n\nexport interface DialogTriggerProps {\n children: ReactElement<TriggerChildProps>;\n asChild?: boolean;\n}\n\nexport function DialogTrigger({\n children,\n asChild = false,\n}: DialogTriggerProps) {\n const { onOpenChange } = useDialogContext();\n\n if (asChild && isValidElement<TriggerChildProps>(children)) {\n return cloneElement(children, {\n onClick: (e: React.MouseEvent) => {\n onOpenChange(true);\n children.props.onClick?.(e);\n },\n });\n }\n\n return (\n <button\n type=\"button\"\n onClick={() => onOpenChange(true)}\n aria-haspopup=\"dialog\"\n >\n {children}\n </button>\n );\n}\n"],"names":["DialogTrigger","children","asChild","onOpenChange","useDialogContext","isValidElement","cloneElement","e","_b","_a","jsx"],"mappings":";;;;AAcO,SAASA,EAAc;AAAA,EAC5B,UAAAC;AAAA,EACA,SAAAC,IAAU;AACZ,GAAuB;AACrB,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAA;AAEzB,SAAIF,KAAWG,EAAkCJ,CAAQ,IAChDK,EAAaL,GAAU;AAAA,IAC5B,SAAS,CAACM,MAAwB;;AAChC,MAAAJ,EAAa,EAAI,IACjBK,KAAAC,IAAAR,EAAS,OAAM,YAAf,QAAAO,EAAA,KAAAC,GAAyBF;AAAA,IAC3B;AAAA,EAAA,CACD,IAID,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,MAAMP,EAAa,EAAI;AAAA,MAChC,iBAAc;AAAA,MAEb,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|