@lssm/lib.ui-kit 0.0.0-canary-20251120170226
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 +75 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +35 -0
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -0
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +119 -0
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -0
- package/dist/node_modules/react-hook-form/dist/index.esm.js +2062 -0
- package/dist/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +30 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +38 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +20 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +395 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +377 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +226 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +57 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +63 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +110 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +59 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +53 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +755 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +152 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +10 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/ui/accordion.d.ts +36 -0
- package/dist/ui/accordion.d.ts.map +1 -0
- package/dist/ui/accordion.js +93 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +72 -0
- package/dist/ui/alert-dialog.d.ts.map +1 -0
- package/dist/ui/alert-dialog.js +98 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +37 -0
- package/dist/ui/alert.d.ts.map +1 -0
- package/dist/ui/alert.js +50 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.d.ts +12 -0
- package/dist/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/ui/aspect-ratio.js +8 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.js +58 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
- package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
- package/dist/ui/atoms/FilterSelect/index.js +3 -0
- package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
- package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
- package/dist/ui/atoms/FilterSelect/types.js +0 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +48 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
- package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
- package/dist/ui/atoms/LoadingSpinner/index.js +3 -0
- package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
- package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
- package/dist/ui/atoms/Pagination/Pagination.js +163 -0
- package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
- package/dist/ui/atoms/Pagination/index.d.ts +3 -0
- package/dist/ui/atoms/Pagination/index.js +3 -0
- package/dist/ui/atoms/Pagination/types.d.ts +16 -0
- package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
- package/dist/ui/atoms/Pagination/types.js +0 -0
- package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
- package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/ui/atoms/SearchInput/SearchInput.js +50 -0
- package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
- package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
- package/dist/ui/atoms/SearchInput/index.js +3 -0
- package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
- package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
- package/dist/ui/atoms/SearchInput/types.js +0 -0
- package/dist/ui/avatar.d.ts +28 -0
- package/dist/ui/avatar.d.ts.map +1 -0
- package/dist/ui/avatar.js +28 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +22 -0
- package/dist/ui/badge.d.ts.map +1 -0
- package/dist/ui/badge.js +26 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.d.ts +39 -0
- package/dist/ui/breadcrumb.d.ts.map +1 -0
- package/dist/ui/breadcrumb.js +73 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.d.ts +26 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/button.js +75 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/card.d.ts +44 -0
- package/dist/ui/card.d.ts.map +1 -0
- package/dist/ui/card.js +52 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.d.ts +5 -0
- package/dist/ui/carousel.d.ts.map +1 -0
- package/dist/ui/carousel.js +6 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/checkbox.d.ts +17 -0
- package/dist/ui/checkbox.d.ts.map +1 -0
- package/dist/ui/checkbox.js +21 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/collapsible.d.ts +25 -0
- package/dist/ui/collapsible.d.ts.map +1 -0
- package/dist/ui/collapsible.js +10 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/command.d.ts +5 -0
- package/dist/ui/command.d.ts.map +1 -0
- package/dist/ui/command.js +6 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/context-menu.d.ts +110 -0
- package/dist/ui/context-menu.d.ts.map +1 -0
- package/dist/ui/context-menu.js +108 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/date-picker.d.ts +24 -0
- package/dist/ui/date-picker.d.ts.map +1 -0
- package/dist/ui/date-picker.js +54 -0
- package/dist/ui/date-picker.js.map +1 -0
- package/dist/ui/date-range-picker.d.ts +31 -0
- package/dist/ui/date-range-picker.d.ts.map +1 -0
- package/dist/ui/date-range-picker.js +86 -0
- package/dist/ui/date-range-picker.js.map +1 -0
- package/dist/ui/datetime-picker.d.ts +28 -0
- package/dist/ui/datetime-picker.d.ts.map +1 -0
- package/dist/ui/datetime-picker.js +45 -0
- package/dist/ui/datetime-picker.js.map +1 -0
- package/dist/ui/dialog.d.ts +69 -0
- package/dist/ui/dialog.d.ts.map +1 -0
- package/dist/ui/dialog.js +81 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +112 -0
- package/dist/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/dropdown-menu.js +110 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/empty-state.d.ts +29 -0
- package/dist/ui/empty-state.d.ts.map +1 -0
- package/dist/ui/empty-state.js +46 -0
- package/dist/ui/empty-state.js.map +1 -0
- package/dist/ui/empty.d.ts +37 -0
- package/dist/ui/empty.d.ts.map +1 -0
- package/dist/ui/empty.js +63 -0
- package/dist/ui/empty.js.map +1 -0
- package/dist/ui/fab.d.ts +36 -0
- package/dist/ui/fab.d.ts.map +1 -0
- package/dist/ui/fab.js +104 -0
- package/dist/ui/fab.js.map +1 -0
- package/dist/ui/field.d.ts +67 -0
- package/dist/ui/field.d.ts.map +1 -0
- package/dist/ui/field.js +124 -0
- package/dist/ui/field.js.map +1 -0
- package/dist/ui/form.d.ts +50 -0
- package/dist/ui/form.d.ts.map +1 -0
- package/dist/ui/form.js +96 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.d.ts +30 -0
- package/dist/ui/hover-card.d.ts.map +1 -0
- package/dist/ui/hover-card.js +33 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/icons/Check.d.ts +2 -0
- package/dist/ui/icons/Check.js +9 -0
- package/dist/ui/icons/Check.js.map +1 -0
- package/dist/ui/icons/ChevronDown.d.ts +2 -0
- package/dist/ui/icons/ChevronDown.js +9 -0
- package/dist/ui/icons/ChevronDown.js.map +1 -0
- package/dist/ui/icons/ChevronRight.d.ts +2 -0
- package/dist/ui/icons/ChevronRight.js +9 -0
- package/dist/ui/icons/ChevronRight.js.map +1 -0
- package/dist/ui/icons/ChevronUp.d.ts +2 -0
- package/dist/ui/icons/ChevronUp.js +9 -0
- package/dist/ui/icons/ChevronUp.js.map +1 -0
- package/dist/ui/icons/CircleUser.d.ts +2 -0
- package/dist/ui/icons/CircleUser.js +9 -0
- package/dist/ui/icons/CircleUser.js.map +1 -0
- package/dist/ui/icons/Info.d.ts +2 -0
- package/dist/ui/icons/Info.js +9 -0
- package/dist/ui/icons/Info.js.map +1 -0
- package/dist/ui/icons/Key.d.ts +2 -0
- package/dist/ui/icons/Key.js +9 -0
- package/dist/ui/icons/Key.js.map +1 -0
- package/dist/ui/icons/MoonStar.d.ts +2 -0
- package/dist/ui/icons/MoonStar.js +9 -0
- package/dist/ui/icons/MoonStar.js.map +1 -0
- package/dist/ui/icons/Sun.d.ts +2 -0
- package/dist/ui/icons/Sun.js +9 -0
- package/dist/ui/icons/Sun.js.map +1 -0
- package/dist/ui/icons/X.d.ts +2 -0
- package/dist/ui/icons/X.js +9 -0
- package/dist/ui/icons/X.js.map +1 -0
- package/dist/ui/icons/iconWithClassName.d.ts +7 -0
- package/dist/ui/icons/iconWithClassName.d.ts.map +1 -0
- package/dist/ui/icons/iconWithClassName.js +16 -0
- package/dist/ui/icons/iconWithClassName.js.map +1 -0
- package/dist/ui/input.d.ts +15 -0
- package/dist/ui/input.d.ts.map +1 -0
- package/dist/ui/input.js +17 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.d.ts +16 -0
- package/dist/ui/label.d.ts.map +1 -0
- package/dist/ui/label.js +24 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/link.d.ts +14 -0
- package/dist/ui/link.d.ts.map +1 -0
- package/dist/ui/link.js +16 -0
- package/dist/ui/link.js.map +1 -0
- package/dist/ui/loading-button.d.ts +20 -0
- package/dist/ui/loading-button.d.ts.map +1 -0
- package/dist/ui/loading-button.js +22 -0
- package/dist/ui/loading-button.js.map +1 -0
- package/dist/ui/loading-overlay.d.ts +16 -0
- package/dist/ui/loading-overlay.d.ts.map +1 -0
- package/dist/ui/loading-overlay.js +44 -0
- package/dist/ui/loading-overlay.js.map +1 -0
- package/dist/ui/loading-screen.d.ts +14 -0
- package/dist/ui/loading-screen.d.ts.map +1 -0
- package/dist/ui/loading-screen.js +93 -0
- package/dist/ui/loading-screen.js.map +1 -0
- package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
- package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
- package/dist/ui/marketing/FeatureGrid.js +35 -0
- package/dist/ui/marketing/FeatureGrid.js.map +1 -0
- package/dist/ui/marketing/Hero.d.ts +28 -0
- package/dist/ui/marketing/Hero.d.ts.map +1 -0
- package/dist/ui/marketing/Hero.js +52 -0
- package/dist/ui/marketing/Hero.js.map +1 -0
- package/dist/ui/marketing/PricingTable.d.ts +25 -0
- package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
- package/dist/ui/marketing/PricingTable.js +60 -0
- package/dist/ui/marketing/PricingTable.js.map +1 -0
- package/dist/ui/marketing/index.d.ts +4 -0
- package/dist/ui/marketing/index.js +5 -0
- package/dist/ui/menubar.d.ts +115 -0
- package/dist/ui/menubar.d.ts.map +1 -0
- package/dist/ui/menubar.js +120 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/molecules/Autocomplete/index.d.ts +5 -0
- package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
- package/dist/ui/molecules/Autocomplete/index.js +6 -0
- package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +106 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
- package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
- package/dist/ui/molecules/SearchAndFilter/index.js +3 -0
- package/dist/ui/molecules/SearchAndFilter/types.d.ts +25 -0
- package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
- package/dist/ui/molecules/SearchAndFilter/types.js +0 -0
- package/dist/ui/molecules/SkeletonList.d.ts +16 -0
- package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
- package/dist/ui/molecules/SkeletonList.js +15 -0
- package/dist/ui/molecules/SkeletonList.js.map +1 -0
- package/dist/ui/nativewind-env.d.ts +1 -0
- package/dist/ui/navigation-menu.d.ts +68 -0
- package/dist/ui/navigation-menu.d.ts.map +1 -0
- package/dist/ui/navigation-menu.js +87 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +108 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
- package/dist/ui/organisms/ErrorBoundary/index.js +3 -0
- package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
- package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
- package/dist/ui/organisms/ListPage/ListPage.js +198 -0
- package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
- package/dist/ui/organisms/ListPage/index.d.ts +3 -0
- package/dist/ui/organisms/ListPage/index.js +3 -0
- package/dist/ui/organisms/ListPage/types.d.ts +42 -0
- package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
- package/dist/ui/organisms/ListPage/types.js +0 -0
- package/dist/ui/page-header.d.ts +27 -0
- package/dist/ui/page-header.d.ts.map +1 -0
- package/dist/ui/page-header.js +41 -0
- package/dist/ui/page-header.js.map +1 -0
- package/dist/ui/password-strength.d.ts +21 -0
- package/dist/ui/password-strength.d.ts.map +1 -0
- package/dist/ui/password-strength.js +99 -0
- package/dist/ui/password-strength.js.map +1 -0
- package/dist/ui/popover.d.ts +30 -0
- package/dist/ui/popover.d.ts.map +1 -0
- package/dist/ui/popover.js +35 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.d.ts +17 -0
- package/dist/ui/progress.d.ts.map +1 -0
- package/dist/ui/progress.js +40 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio-group.d.ts +15 -0
- package/dist/ui/radio-group.d.ts.map +1 -0
- package/dist/ui/radio-group.js +23 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/select.d.ts +84 -0
- package/dist/ui/select.d.ts.map +1 -0
- package/dist/ui/select.js +111 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts +16 -0
- package/dist/ui/separator.d.ts.map +1 -0
- package/dist/ui/separator.js +18 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.d.ts +5 -0
- package/dist/ui/sheet.d.ts.map +1 -0
- package/dist/ui/sheet.js +6 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.d.ts +5 -0
- package/dist/ui/sidebar.d.ts.map +1 -0
- package/dist/ui/sidebar.js +6 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.d.ts +12 -0
- package/dist/ui/skeleton.d.ts.map +1 -0
- package/dist/ui/skeleton.js +24 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/stack.d.ts +77 -0
- package/dist/ui/stack.d.ts.map +1 -0
- package/dist/ui/stack.js +238 -0
- package/dist/ui/stack.js.map +1 -0
- package/dist/ui/stepper.d.ts +23 -0
- package/dist/ui/stepper.d.ts.map +1 -0
- package/dist/ui/stepper.js +38 -0
- package/dist/ui/stepper.js.map +1 -0
- package/dist/ui/switch.d.ts +15 -0
- package/dist/ui/switch.d.ts.map +1 -0
- package/dist/ui/switch.js +54 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.d.ts +51 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +57 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +33 -0
- package/dist/ui/tabs.d.ts.map +1 -0
- package/dist/ui/tabs.js +29 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/text.d.ts +21 -0
- package/dist/ui/text.d.ts.map +1 -0
- package/dist/ui/text.js +19 -0
- package/dist/ui/text.js.map +1 -0
- package/dist/ui/textarea.d.ts +10 -0
- package/dist/ui/textarea.d.ts.map +1 -0
- package/dist/ui/textarea.js +20 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/time-picker.d.ts +22 -0
- package/dist/ui/time-picker.d.ts.map +1 -0
- package/dist/ui/time-picker.js +53 -0
- package/dist/ui/time-picker.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +36 -0
- package/dist/ui/toggle-group.d.ts.map +1 -0
- package/dist/ui/toggle-group.js +55 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.ts +34 -0
- package/dist/ui/toggle.d.ts.map +1 -0
- package/dist/ui/toggle.js +67 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.d.ts +32 -0
- package/dist/ui/tooltip.d.ts.map +1 -0
- package/dist/ui/tooltip.js +41 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/typography.d.ts +65 -0
- package/dist/ui/typography.d.ts.map +1 -0
- package/dist/ui/typography.js +88 -0
- package/dist/ui/typography.js.map +1 -0
- package/dist/ui/useColorScheme.d.ts +12 -0
- package/dist/ui/useColorScheme.d.ts.map +1 -0
- package/dist/ui/useColorScheme.js +17 -0
- package/dist/ui/useColorScheme.js.map +1 -0
- package/dist/ui/useListState.d.ts +34 -0
- package/dist/ui/useListState.d.ts.map +1 -0
- package/dist/ui/useListState.js +75 -0
- package/dist/ui/useListState.js.map +1 -0
- package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
- package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
- package/dist/ui/usecases/UseCaseCard.js +35 -0
- package/dist/ui/usecases/UseCaseCard.js.map +1 -0
- package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
- package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
- package/dist/ui/usecases/UserStoryCard.js +36 -0
- package/dist/ui/usecases/UserStoryCard.js.map +1 -0
- package/dist/ui/usecases/index.d.ts +3 -0
- package/dist/ui/usecases/index.js +4 -0
- package/dist/ui/utils.d.ts +7 -0
- package/dist/ui/utils.d.ts.map +1 -0
- package/dist/ui/utils.js +11 -0
- package/dist/ui/utils.js.map +1 -0
- package/package.json +212 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ChevronDown } from "./icons/ChevronDown.js";
|
|
2
|
+
import { cn } from "./utils.js";
|
|
3
|
+
import { TextClassContext } from "./text.js";
|
|
4
|
+
import { Check } from "./icons/Check.js";
|
|
5
|
+
import { ChevronRight } from "./icons/ChevronRight.js";
|
|
6
|
+
import { ChevronUp } from "./icons/ChevronUp.js";
|
|
7
|
+
import "react";
|
|
8
|
+
import { Platform, StyleSheet, Text, View } from "react-native";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import * as ContextMenuPrimitive from "@rn-primitives/context-menu";
|
|
11
|
+
|
|
12
|
+
//#region ui/context-menu.tsx
|
|
13
|
+
const ContextMenu = ContextMenuPrimitive.Root;
|
|
14
|
+
const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
15
|
+
const ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
16
|
+
const ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
17
|
+
const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
18
|
+
function ContextMenuSubTrigger({ className, inset, children,...props }) {
|
|
19
|
+
const { open } = ContextMenuPrimitive.useSubContext();
|
|
20
|
+
const Icon = Platform.OS === "web" ? ChevronRight : open ? ChevronUp : ChevronDown;
|
|
21
|
+
return /* @__PURE__ */ jsx(TextClassContext.Provider, {
|
|
22
|
+
value: cn("native:text-lg text-primary text-sm select-none", open && "native:text-accent-foreground"),
|
|
23
|
+
children: /* @__PURE__ */ jsxs(ContextMenuPrimitive.SubTrigger, {
|
|
24
|
+
className: cn("native:py-2 active:bg-accent web:cursor-default web:select-none web:outline-hidden web:hover:bg-accent web:focus:bg-accent flex flex-row items-center gap-2 rounded-xs px-2 py-1.5", open && "bg-accent", inset && "pl-8", className),
|
|
25
|
+
...props,
|
|
26
|
+
children: [children, /* @__PURE__ */ jsx(Icon, {
|
|
27
|
+
size: 18,
|
|
28
|
+
className: "text-foreground ml-auto"
|
|
29
|
+
})]
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function ContextMenuSubContent({ className,...props }) {
|
|
34
|
+
const { open } = ContextMenuPrimitive.useSubContext();
|
|
35
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.SubContent, {
|
|
36
|
+
className: cn("border-border bg-popover shadow-foreground/5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 mt-1 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", open ? "web:animate-in web:fade-in-0 web:zoom-in-95" : "web:animate-out web:fade-out-0 web:zoom-out", className),
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function ContextMenuContent({ className, overlayClassName, overlayStyle, portalHost,...props }) {
|
|
41
|
+
const { open } = ContextMenuPrimitive.useRootContext();
|
|
42
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, {
|
|
43
|
+
hostName: portalHost,
|
|
44
|
+
children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Overlay, {
|
|
45
|
+
style: overlayStyle ? StyleSheet.flatten([Platform.OS !== "web" ? StyleSheet.absoluteFill : void 0, overlayStyle]) : Platform.OS !== "web" ? StyleSheet.absoluteFill : void 0,
|
|
46
|
+
className: overlayClassName,
|
|
47
|
+
children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Content, {
|
|
48
|
+
className: cn("border-border bg-popover shadow-foreground/5 web:data-[side=bottom]:slide-in-from-top-2 web:data-[side=left]:slide-in-from-right-2 web:data-[side=right]:slide-in-from-left-2 web:data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", open ? "web:animate-in web:fade-in-0 web:zoom-in-95" : "web:animate-out web:fade-out-0 web:zoom-out-95", className),
|
|
49
|
+
...props
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function ContextMenuItem({ className, inset,...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx(TextClassContext.Provider, {
|
|
56
|
+
value: "select-none text-sm native:text-lg text-popover-foreground web:group-focus:text-accent-foreground",
|
|
57
|
+
children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Item, {
|
|
58
|
+
className: cn("native:py-2 group active:bg-accent web:cursor-default web:outline-hidden web:hover:bg-accent web:focus:bg-accent relative flex flex-row items-center gap-2 rounded-xs px-2 py-1.5", inset && "pl-8", props.disabled && "web:pointer-events-none opacity-50", className),
|
|
59
|
+
...props
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function ContextMenuCheckboxItem({ className, children,...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsxs(ContextMenuPrimitive.CheckboxItem, {
|
|
65
|
+
className: cn("web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8", props.disabled && "web:pointer-events-none opacity-50", className),
|
|
66
|
+
...props,
|
|
67
|
+
children: [/* @__PURE__ */ jsx(View, {
|
|
68
|
+
className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
|
|
69
|
+
children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, {
|
|
70
|
+
size: 14,
|
|
71
|
+
strokeWidth: 3,
|
|
72
|
+
className: "text-foreground"
|
|
73
|
+
}) })
|
|
74
|
+
}), children]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function ContextMenuRadioItem({ className, children,...props }) {
|
|
78
|
+
return /* @__PURE__ */ jsxs(ContextMenuPrimitive.RadioItem, {
|
|
79
|
+
className: cn("web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8", props.disabled && "web:pointer-events-none opacity-50", className),
|
|
80
|
+
...props,
|
|
81
|
+
children: [/* @__PURE__ */ jsx(View, {
|
|
82
|
+
className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
|
|
83
|
+
children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(View, { className: "bg-foreground h-2 w-2 rounded-full" }) })
|
|
84
|
+
}), children]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function ContextMenuLabel({ className, inset,...props }) {
|
|
88
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Label, {
|
|
89
|
+
className: cn("native:text-base text-foreground web:cursor-default px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className),
|
|
90
|
+
...props
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function ContextMenuSeparator({ className,...props }) {
|
|
94
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Separator, {
|
|
95
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
96
|
+
...props
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function ContextMenuShortcut({ className,...props }) {
|
|
100
|
+
return /* @__PURE__ */ jsx(Text, {
|
|
101
|
+
className: cn("native:text-sm text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
102
|
+
...props
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
//#endregion
|
|
107
|
+
export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
|
|
108
|
+
//# sourceMappingURL=context-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.js","names":[],"sources":["../../ui/context-menu.tsx"],"sourcesContent":["import * as ContextMenuPrimitive from '@rn-primitives/context-menu';\nimport * as React from 'react';\nimport {\n Platform,\n type StyleProp,\n StyleSheet,\n Text,\n type TextProps,\n View,\n type ViewStyle,\n} from 'react-native';\nimport { Check } from './icons/Check';\nimport { ChevronDown } from './icons/ChevronDown';\nimport { ChevronRight } from './icons/ChevronRight';\nimport { ChevronUp } from './icons/ChevronUp';\nimport { TextClassContext } from './text';\nimport { cn } from './utils';\n\nconst ContextMenu = ContextMenuPrimitive.Root;\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: ContextMenuPrimitive.SubTriggerProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SubTriggerRef>;\n children?: React.ReactNode;\n inset?: boolean;\n}) {\n const { open } = ContextMenuPrimitive.useSubContext();\n const Icon =\n Platform.OS === 'web' ? ChevronRight : open ? ChevronUp : ChevronDown;\n return (\n <TextClassContext.Provider\n value={cn(\n 'native:text-lg text-primary text-sm select-none',\n open && 'native:text-accent-foreground'\n )}\n >\n <ContextMenuPrimitive.SubTrigger\n className={cn(\n 'native:py-2 active:bg-accent web:cursor-default web:select-none web:outline-hidden web:hover:bg-accent web:focus:bg-accent flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n open && 'bg-accent',\n inset && 'pl-8',\n className\n )}\n {...props}\n >\n {children}\n <Icon size={18} className=\"text-foreground ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n </TextClassContext.Provider>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: ContextMenuPrimitive.SubContentProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SubContentRef>;\n}) {\n const { open } = ContextMenuPrimitive.useSubContext();\n return (\n <ContextMenuPrimitive.SubContent\n className={cn(\n 'border-border bg-popover shadow-foreground/5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 mt-1 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n overlayClassName,\n overlayStyle,\n portalHost,\n ...props\n}: ContextMenuPrimitive.ContentProps & {\n ref?: React.RefObject<ContextMenuPrimitive.ContentRef>;\n overlayStyle?: StyleProp<ViewStyle>;\n overlayClassName?: string;\n portalHost?: string;\n}) {\n const { open } = ContextMenuPrimitive.useRootContext();\n return (\n <ContextMenuPrimitive.Portal hostName={portalHost}>\n <ContextMenuPrimitive.Overlay\n style={\n overlayStyle\n ? StyleSheet.flatten([\n Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined,\n overlayStyle as typeof StyleSheet.absoluteFill,\n ])\n : Platform.OS !== 'web'\n ? StyleSheet.absoluteFill\n : undefined\n }\n className={overlayClassName}\n >\n <ContextMenuPrimitive.Content\n className={cn(\n 'border-border bg-popover shadow-foreground/5 web:data-[side=bottom]:slide-in-from-top-2 web:data-[side=left]:slide-in-from-right-2 web:data-[side=right]:slide-in-from-left-2 web:data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Overlay>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.ItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.ItemRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <TextClassContext.Provider value=\"select-none text-sm native:text-lg text-popover-foreground web:group-focus:text-accent-foreground\">\n <ContextMenuPrimitive.Item\n className={cn(\n 'native:py-2 group active:bg-accent web:cursor-default web:outline-hidden web:hover:bg-accent web:focus:bg-accent relative flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n inset && 'pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n ...props\n}: ContextMenuPrimitive.CheckboxItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.CheckboxItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check size={14} strokeWidth={3} className=\"text-foreground\" />\n </ContextMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: ContextMenuPrimitive.RadioItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.RadioItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <View className=\"bg-foreground h-2 w-2 rounded-full\" />\n </ContextMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.LabelProps & {\n ref?: React.RefObject<ContextMenuPrimitive.LabelRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n className={cn(\n 'native:text-base text-foreground web:cursor-default px-2 py-1.5 text-sm font-semibold',\n inset && 'pl-8',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: ContextMenuPrimitive.SeparatorProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SeparatorRef>;\n}) {\n return (\n <ContextMenuPrimitive.Separator\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: TextProps) {\n return (\n <Text\n className={cn(\n 'native:text-sm text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n};\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,cAAc,qBAAqB;AACzC,MAAM,qBAAqB,qBAAqB;AAChD,MAAM,mBAAmB,qBAAqB;AAC9C,MAAM,iBAAiB,qBAAqB;AAC5C,MAAM,wBAAwB,qBAAqB;AAEnD,SAAS,sBAAsB,EAC7B,WACA,OACA,SACA,GAAG,SAKF;CACD,MAAM,EAAE,SAAS,qBAAqB,eAAe;CACrD,MAAM,OACJ,SAAS,OAAO,QAAQ,eAAe,OAAO,YAAY;AAC5D,QACE,oBAAC,iBAAiB;EAChB,OAAO,GACL,mDACA,QAAQ,gCACT;YAED,qBAAC,qBAAqB;GACpB,WAAW,GACT,sLACA,QAAQ,aACR,SAAS,QACT,UACD;GACD,GAAI;cAEH,UACD,oBAAC;IAAK,MAAM;IAAI,WAAU;KAA4B;IACtB;GACR;;AAIhC,SAAS,sBAAsB,EAC7B,UACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,qBAAqB,eAAe;AACrD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,+QACA,OACI,gDACA,+CACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,kBACA,cACA,WACA,GAAG,SAMF;CACD,MAAM,EAAE,SAAS,qBAAqB,gBAAgB;AACtD,QACE,oBAAC,qBAAqB;EAAO,UAAU;YACrC,oBAAC,qBAAqB;GACpB,OACE,eACI,WAAW,QAAQ,CACjB,SAAS,OAAO,QAAQ,WAAW,eAAe,QAClD,aACD,CAAC,GACF,SAAS,OAAO,QACd,WAAW,eACX;GAER,WAAW;aAEX,oBAAC,qBAAqB;IACpB,WAAW,GACT,0RACA,OACI,gDACA,kDACJ,UACD;IACD,GAAI;KACJ;IAC2B;GACH;;AAIlC,SAAS,gBAAgB,EACvB,WACA,MACA,GAAG,SAKF;AACD,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC,qBAAqB;GACpB,WAAW,GACT,qLACA,SAAS,QACT,MAAM,YAAY,sCAClB,UACD;GACD,GAAI;IACJ;GACwB;;AAIhC,SAAS,wBAAwB,EAC/B,WACA,SACA,GAAG,SAIF;AACD,QACE,qBAAC,qBAAqB;EACpB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,qBAAqB,2BACpB,oBAAC;IAAM,MAAM;IAAI,aAAa;IAAG,WAAU;KAAoB,GAC5B;IAChC,EACN;GACiC;;AAIxC,SAAS,qBAAqB,EAC5B,WACA,SACA,GAAG,SAIF;AACD,QACE,qBAAC,qBAAqB;EACpB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,qBAAqB,2BACpB,oBAAC,QAAK,WAAU,uCAAuC,GACpB;IAChC,EACN;GAC8B;;AAIrC,SAAS,iBAAiB,EACxB,WACA,MACA,GAAG,SAKF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,yFACA,SAAS,QACT,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,UACA,GAAG,SAGF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAAE,UAAW,GAAG,SAAoB;AAC/D,QACE,oBAAC;EACC,WAAW,GACT,wEACA,UACD;EACD,GAAI;GACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/date-picker.d.ts
|
|
4
|
+
interface DatePickerProps {
|
|
5
|
+
value: Date | null;
|
|
6
|
+
onChange: (date: Date | null) => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
minDate?: Date;
|
|
9
|
+
maxDate?: Date;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function DatePicker({
|
|
14
|
+
value,
|
|
15
|
+
onChange,
|
|
16
|
+
disabled,
|
|
17
|
+
minDate,
|
|
18
|
+
maxDate,
|
|
19
|
+
placeholder,
|
|
20
|
+
className
|
|
21
|
+
}: DatePickerProps): react_jsx_runtime0.JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { DatePicker, DatePickerProps };
|
|
24
|
+
//# sourceMappingURL=date-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.d.ts","names":[],"sources":["../../ui/date-picker.tsx"],"sourcesContent":[],"mappings":";;;UAUiB,eAAA;SACR;mBACU;EAFF,QAAA,CAAA,EAAA,OAAe;EACvB,OAAA,CAAA,EAGG,IAHH;EACU,OAAA,CAAA,EAGP,IAHO;EAEP,WAAA,CAAA,EAAA,MAAA;EACA,SAAA,CAAA,EAAA,MAAA;;AAkBI,iBAAA,UAAA,CAAU;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAQvB,eARuB,CAAA,EAQR,kBAAA,CAAA,GAAA,CAAA,OARQ"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import { Text as Text$1 } from "./text.js";
|
|
3
|
+
import React, { useMemo, useState } from "react";
|
|
4
|
+
import { Platform, Pressable, View } from "react-native";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import DateTimePicker from "@react-native-community/datetimepicker";
|
|
7
|
+
|
|
8
|
+
//#region ui/date-picker.tsx
|
|
9
|
+
function formatDateDisplay(date) {
|
|
10
|
+
if (!date) return "";
|
|
11
|
+
try {
|
|
12
|
+
return date.toLocaleDateString(void 0, {
|
|
13
|
+
day: "2-digit",
|
|
14
|
+
month: "long",
|
|
15
|
+
year: "numeric"
|
|
16
|
+
});
|
|
17
|
+
} catch {
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function DatePicker({ value, onChange, disabled, minDate, maxDate, placeholder = "Select date", className }) {
|
|
22
|
+
const [show, setShow] = useState(false);
|
|
23
|
+
const pickerProps = useMemo(() => ({
|
|
24
|
+
minimumDate: minDate,
|
|
25
|
+
maximumDate: maxDate,
|
|
26
|
+
timeZoneName: void 0
|
|
27
|
+
}), [minDate, maxDate]);
|
|
28
|
+
const handleChange = (_event, selectedDate) => {
|
|
29
|
+
if (Platform.OS !== "ios") setShow(false);
|
|
30
|
+
if (selectedDate) onChange(selectedDate);
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ jsxs(View, {
|
|
33
|
+
className: cn("w-full", className),
|
|
34
|
+
children: [/* @__PURE__ */ jsx(Pressable, {
|
|
35
|
+
disabled,
|
|
36
|
+
onPress: () => setShow(true),
|
|
37
|
+
className: cn("border-input bg-background h-12 flex-row items-center rounded-md border px-3", disabled && "opacity-50"),
|
|
38
|
+
children: /* @__PURE__ */ jsx(Text$1, {
|
|
39
|
+
className: cn("text-foreground text-base", !value && "opacity-50"),
|
|
40
|
+
children: value ? formatDateDisplay(value) : placeholder
|
|
41
|
+
})
|
|
42
|
+
}), show && /* @__PURE__ */ jsx(DateTimePicker, {
|
|
43
|
+
value: value ?? /* @__PURE__ */ new Date(),
|
|
44
|
+
mode: "date",
|
|
45
|
+
display: Platform.OS === "ios" ? "inline" : "default",
|
|
46
|
+
onChange: handleChange,
|
|
47
|
+
...pickerProps
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { DatePicker };
|
|
54
|
+
//# sourceMappingURL=date-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.js","names":["Text"],"sources":["../../ui/date-picker.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Platform, Pressable, View } from 'react-native';\nimport type {\n AndroidNativeProps,\n IOSNativeProps,\n} from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport { cn } from './utils';\nimport { Text } from './text';\n\nexport interface DatePickerProps {\n value: Date | null;\n onChange: (date: Date | null) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n placeholder?: string;\n className?: string;\n}\n\nfunction formatDateDisplay(date: Date | null) {\n if (!date) return '';\n try {\n return date.toLocaleDateString(undefined, {\n day: '2-digit',\n month: 'long',\n year: 'numeric',\n });\n } catch {\n return '';\n }\n}\n\nexport function DatePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n placeholder = 'Select date',\n className,\n}: DatePickerProps) {\n const [show, setShow] = useState(false);\n\n const pickerProps = useMemo<Partial<AndroidNativeProps & IOSNativeProps>>(\n () => ({\n minimumDate: minDate,\n maximumDate: maxDate,\n timeZoneName: undefined,\n }),\n [minDate, maxDate]\n );\n\n const handleChange = (_event: any, selectedDate?: Date | undefined) => {\n if (Platform.OS !== 'ios') setShow(false);\n if (selectedDate) {\n onChange(selectedDate);\n }\n };\n\n return (\n <View className={cn('w-full', className)}>\n <Pressable\n disabled={disabled}\n onPress={() => setShow(true)}\n className={cn(\n 'border-input bg-background h-12 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn('text-foreground text-base', !value && 'opacity-50')}\n >\n {value ? formatDateDisplay(value) : placeholder}\n </Text>\n </Pressable>\n {show && (\n <DateTimePicker\n value={value ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleChange}\n {...(pickerProps as any)}\n />\n )}\n </View>\n );\n}\n"],"mappings":";;;;;;;;AAoBA,SAAS,kBAAkB,MAAmB;AAC5C,KAAI,CAAC,KAAM,QAAO;AAClB,KAAI;AACF,SAAO,KAAK,mBAAmB,QAAW;GACxC,KAAK;GACL,OAAO;GACP,MAAM;GACP,CAAC;SACI;AACN,SAAO;;;AAIX,SAAgB,WAAW,EACzB,OACA,UACA,UACA,SACA,SACA,cAAc,eACd,aACkB;CAClB,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CAEvC,MAAM,cAAc,eACX;EACL,aAAa;EACb,aAAa;EACb,cAAc;EACf,GACD,CAAC,SAAS,QAAQ,CACnB;CAED,MAAM,gBAAgB,QAAa,iBAAoC;AACrE,MAAI,SAAS,OAAO,MAAO,SAAQ,MAAM;AACzC,MAAI,aACF,UAAS,aAAa;;AAI1B,QACE,qBAAC;EAAK,WAAW,GAAG,UAAU,UAAU;aACtC,oBAAC;GACW;GACV,eAAe,QAAQ,KAAK;GAC5B,WAAW,GACT,gFACA,YAAY,aACb;aAED,oBAACA;IACC,WAAW,GAAG,6BAA6B,CAAC,SAAS,aAAa;cAEjE,QAAQ,kBAAkB,MAAM,GAAG;KAC/B;IACG,EACX,QACC,oBAAC;GACC,OAAO,yBAAS,IAAI,MAAM;GAC1B,MAAK;GACL,SAAS,SAAS,OAAO,QAAQ,WAAW;GAC5C,UAAU;GACV,GAAK;IACL;GAEC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/date-range-picker.d.ts
|
|
4
|
+
interface DateRange {
|
|
5
|
+
start: Date | null;
|
|
6
|
+
end: Date | null;
|
|
7
|
+
}
|
|
8
|
+
interface DateRangePickerProps {
|
|
9
|
+
value: DateRange;
|
|
10
|
+
onChange: (range: DateRange) => void;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
minDate?: Date;
|
|
13
|
+
maxDate?: Date;
|
|
14
|
+
placeholders?: {
|
|
15
|
+
start?: string;
|
|
16
|
+
end?: string;
|
|
17
|
+
};
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
declare function DateRangePicker({
|
|
21
|
+
value,
|
|
22
|
+
onChange,
|
|
23
|
+
disabled,
|
|
24
|
+
minDate,
|
|
25
|
+
maxDate,
|
|
26
|
+
placeholders,
|
|
27
|
+
className
|
|
28
|
+
}: DateRangePickerProps): react_jsx_runtime12.JSX.Element;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { DateRange, DateRangePicker, DateRangePickerProps };
|
|
31
|
+
//# sourceMappingURL=date-range-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker.d.ts","names":[],"sources":["../../ui/date-range-picker.tsx"],"sourcesContent":[],"mappings":";;;UAOiB,SAAA;SACR;OACF;AAFP;AAKiB,UAAA,oBAAA,CAAoB;EAC5B,KAAA,EAAA,SAAA;EACW,QAAA,EAAA,CAAA,KAAA,EAAA,SAAA,EAAA,GAAA,IAAA;EAER,QAAA,CAAA,EAAA,OAAA;EACA,OAAA,CAAA,EADA,IACA;EAAI,OAAA,CAAA,EAAJ,IAAI;EAcA,YAAA,CAAA,EAAA;IACd,KAAA,CAAA,EAAA,MAAA;IACA,GAAA,CAAA,EAAA,MAAA;EACA,CAAA;EACA,SAAA,CAAA,EAAA,MAAA;;AAEA,iBANc,eAAA,CAMd;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAEC,oBAFD,CAAA,EAEqB,mBAAA,CAAA,GAAA,CAAA,OAFrB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import { Text as Text$1 } from "./text.js";
|
|
3
|
+
import { HStack, VStack } from "./stack.js";
|
|
4
|
+
import React, { useMemo, useState } from "react";
|
|
5
|
+
import { Platform, Pressable, View } from "react-native";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import DateTimePicker from "@react-native-community/datetimepicker";
|
|
8
|
+
|
|
9
|
+
//#region ui/date-range-picker.tsx
|
|
10
|
+
function fmt(d) {
|
|
11
|
+
if (!d) return "";
|
|
12
|
+
try {
|
|
13
|
+
return d.toLocaleDateString();
|
|
14
|
+
} catch {
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function DateRangePicker({ value, onChange, disabled, minDate, maxDate, placeholders, className }) {
|
|
19
|
+
const [showStart, setShowStart] = useState(false);
|
|
20
|
+
const [showEnd, setShowEnd] = useState(false);
|
|
21
|
+
const pickerCommon = useMemo(() => ({
|
|
22
|
+
minimumDate: minDate,
|
|
23
|
+
maximumDate: maxDate
|
|
24
|
+
}), [minDate, maxDate]);
|
|
25
|
+
const handleStart = (_, d) => {
|
|
26
|
+
if (Platform.OS !== "ios") setShowStart(false);
|
|
27
|
+
if (!d) return;
|
|
28
|
+
onChange({
|
|
29
|
+
start: d,
|
|
30
|
+
end: value.end && d > value.end ? d : value.end
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const handleEnd = (_, d) => {
|
|
34
|
+
if (Platform.OS !== "ios") setShowEnd(false);
|
|
35
|
+
if (!d) return;
|
|
36
|
+
onChange({
|
|
37
|
+
start: value.start && d < value.start ? d : value.start,
|
|
38
|
+
end: d
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return /* @__PURE__ */ jsxs(VStack, {
|
|
42
|
+
className: cn("w-full", className),
|
|
43
|
+
spacing: "sm",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ jsxs(HStack, {
|
|
46
|
+
gap: "sm",
|
|
47
|
+
children: [/* @__PURE__ */ jsx(Pressable, {
|
|
48
|
+
disabled,
|
|
49
|
+
onPress: () => setShowStart(true),
|
|
50
|
+
className: cn("border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3", disabled && "opacity-50"),
|
|
51
|
+
children: /* @__PURE__ */ jsx(Text$1, {
|
|
52
|
+
className: cn("text-foreground text-base", !value.start && "opacity-50"),
|
|
53
|
+
children: value.start ? fmt(value.start) : placeholders?.start || "Start date"
|
|
54
|
+
})
|
|
55
|
+
}), /* @__PURE__ */ jsx(Pressable, {
|
|
56
|
+
disabled,
|
|
57
|
+
onPress: () => setShowEnd(true),
|
|
58
|
+
className: cn("border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3", disabled && "opacity-50"),
|
|
59
|
+
children: /* @__PURE__ */ jsx(Text$1, {
|
|
60
|
+
className: cn("text-foreground text-base", !value.end && "opacity-50"),
|
|
61
|
+
children: value.end ? fmt(value.end) : placeholders?.end || "End date"
|
|
62
|
+
})
|
|
63
|
+
})]
|
|
64
|
+
}),
|
|
65
|
+
showStart && /* @__PURE__ */ jsx(DateTimePicker, {
|
|
66
|
+
value: value.start ?? /* @__PURE__ */ new Date(),
|
|
67
|
+
mode: "date",
|
|
68
|
+
display: Platform.OS === "ios" ? "inline" : "default",
|
|
69
|
+
onChange: handleStart,
|
|
70
|
+
...pickerCommon
|
|
71
|
+
}),
|
|
72
|
+
showEnd && /* @__PURE__ */ jsx(DateTimePicker, {
|
|
73
|
+
value: value.end ?? value.start ?? /* @__PURE__ */ new Date(),
|
|
74
|
+
mode: "date",
|
|
75
|
+
display: Platform.OS === "ios" ? "inline" : "default",
|
|
76
|
+
onChange: handleEnd,
|
|
77
|
+
minimumDate: value.start ?? minDate,
|
|
78
|
+
maximumDate: maxDate
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
export { DateRangePicker };
|
|
86
|
+
//# sourceMappingURL=date-range-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker.js","names":["Text"],"sources":["../../ui/date-range-picker.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Platform, Pressable, View } from 'react-native';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport { HStack, VStack } from './stack';\nimport { Text } from './text';\nimport { cn } from './utils';\n\nexport interface DateRange {\n start: Date | null;\n end: Date | null;\n}\n\nexport interface DateRangePickerProps {\n value: DateRange;\n onChange: (range: DateRange) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n placeholders?: { start?: string; end?: string };\n className?: string;\n}\n\nfunction fmt(d: Date | null) {\n if (!d) return '';\n try {\n return d.toLocaleDateString();\n } catch {\n return '';\n }\n}\n\nexport function DateRangePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n placeholders,\n className,\n}: DateRangePickerProps) {\n const [showStart, setShowStart] = useState(false);\n const [showEnd, setShowEnd] = useState(false);\n\n const pickerCommon = useMemo(\n () => ({ minimumDate: minDate, maximumDate: maxDate }),\n [minDate, maxDate]\n );\n\n const handleStart = (_: any, d?: Date) => {\n if (Platform.OS !== 'ios') setShowStart(false);\n if (!d) return;\n const end = value.end && d > value.end ? d : value.end;\n onChange({ start: d, end });\n };\n const handleEnd = (_: any, d?: Date) => {\n if (Platform.OS !== 'ios') setShowEnd(false);\n if (!d) return;\n const start = value.start && d < value.start ? d : value.start;\n onChange({ start, end: d });\n };\n\n return (\n <VStack className={cn('w-full', className)} spacing=\"sm\">\n <HStack gap=\"sm\">\n <Pressable\n disabled={disabled}\n onPress={() => setShowStart(true)}\n className={cn(\n 'border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn(\n 'text-foreground text-base',\n !value.start && 'opacity-50'\n )}\n >\n {value.start\n ? fmt(value.start)\n : placeholders?.start || 'Start date'}\n </Text>\n </Pressable>\n <Pressable\n disabled={disabled}\n onPress={() => setShowEnd(true)}\n className={cn(\n 'border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn(\n 'text-foreground text-base',\n !value.end && 'opacity-50'\n )}\n >\n {value.end ? fmt(value.end) : placeholders?.end || 'End date'}\n </Text>\n </Pressable>\n </HStack>\n\n {showStart && (\n <DateTimePicker\n value={value.start ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleStart}\n {...(pickerCommon as any)}\n />\n )}\n {showEnd && (\n <DateTimePicker\n value={value.end ?? value.start ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleEnd}\n minimumDate={value.start ?? minDate}\n maximumDate={maxDate}\n />\n )}\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;AAsBA,SAAS,IAAI,GAAgB;AAC3B,KAAI,CAAC,EAAG,QAAO;AACf,KAAI;AACF,SAAO,EAAE,oBAAoB;SACvB;AACN,SAAO;;;AAIX,SAAgB,gBAAgB,EAC9B,OACA,UACA,UACA,SACA,SACA,cACA,aACuB;CACvB,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,eAAe,eACZ;EAAE,aAAa;EAAS,aAAa;EAAS,GACrD,CAAC,SAAS,QAAQ,CACnB;CAED,MAAM,eAAe,GAAQ,MAAa;AACxC,MAAI,SAAS,OAAO,MAAO,cAAa,MAAM;AAC9C,MAAI,CAAC,EAAG;AAER,WAAS;GAAE,OAAO;GAAG,KADT,MAAM,OAAO,IAAI,MAAM,MAAM,IAAI,MAAM;GACzB,CAAC;;CAE7B,MAAM,aAAa,GAAQ,MAAa;AACtC,MAAI,SAAS,OAAO,MAAO,YAAW,MAAM;AAC5C,MAAI,CAAC,EAAG;AAER,WAAS;GAAE,OADG,MAAM,SAAS,IAAI,MAAM,QAAQ,IAAI,MAAM;GACvC,KAAK;GAAG,CAAC;;AAG7B,QACE,qBAAC;EAAO,WAAW,GAAG,UAAU,UAAU;EAAE,SAAQ;;GAClD,qBAAC;IAAO,KAAI;eACV,oBAAC;KACW;KACV,eAAe,aAAa,KAAK;KACjC,WAAW,GACT,uFACA,YAAY,aACb;eAED,oBAACA;MACC,WAAW,GACT,6BACA,CAAC,MAAM,SAAS,aACjB;gBAEA,MAAM,QACH,IAAI,MAAM,MAAM,GAChB,cAAc,SAAS;OACtB;MACG,EACZ,oBAAC;KACW;KACV,eAAe,WAAW,KAAK;KAC/B,WAAW,GACT,uFACA,YAAY,aACb;eAED,oBAACA;MACC,WAAW,GACT,6BACA,CAAC,MAAM,OAAO,aACf;gBAEA,MAAM,MAAM,IAAI,MAAM,IAAI,GAAG,cAAc,OAAO;OAC9C;MACG;KACL;GAER,aACC,oBAAC;IACC,OAAO,MAAM,yBAAS,IAAI,MAAM;IAChC,MAAK;IACL,SAAS,SAAS,OAAO,QAAQ,WAAW;IAC5C,UAAU;IACV,GAAK;KACL;GAEH,WACC,oBAAC;IACC,OAAO,MAAM,OAAO,MAAM,yBAAS,IAAI,MAAM;IAC7C,MAAK;IACL,SAAS,SAAS,OAAO,QAAQ,WAAW;IAC5C,UAAU;IACV,aAAa,MAAM,SAAS;IAC5B,aAAa;KACb;;GAEG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_jsx_runtime19 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/datetime-picker.d.ts
|
|
4
|
+
interface DateTimePickerProps {
|
|
5
|
+
value: Date | null;
|
|
6
|
+
onChange: (date: Date | null) => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
minDate?: Date;
|
|
9
|
+
maxDate?: Date;
|
|
10
|
+
datePlaceholder?: string;
|
|
11
|
+
timePlaceholder?: string;
|
|
12
|
+
is24Hour?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function DateTimePicker({
|
|
16
|
+
value,
|
|
17
|
+
onChange,
|
|
18
|
+
disabled,
|
|
19
|
+
minDate,
|
|
20
|
+
maxDate,
|
|
21
|
+
datePlaceholder,
|
|
22
|
+
timePlaceholder,
|
|
23
|
+
is24Hour,
|
|
24
|
+
className
|
|
25
|
+
}: DateTimePickerProps): react_jsx_runtime19.JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { DateTimePicker, DateTimePickerProps };
|
|
28
|
+
//# sourceMappingURL=datetime-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime-picker.d.ts","names":[],"sources":["../../ui/datetime-picker.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,mBAAA;SACR;mBACU;EAFF,QAAA,CAAA,EAAA,OAAA;EACR,OAAA,CAAA,EAGG,IAHH;EACU,OAAA,CAAA,EAGP,IAHO;EAEP,eAAA,CAAA,EAAA,MAAA;EACA,eAAA,CAAA,EAAA,MAAA;EAAI,QAAA,CAAA,EAAA,OAAA;EAOA,SAAA,CAAA,EAAA,MAAc;;AAE5B,iBAFc,cAAA,CAEd;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,eAAA;EAAA,eAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAQC,mBARD,CAAA,EAQoB,mBAAA,CAAA,GAAA,CAAA,OARpB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DatePicker } from "./date-picker.js";
|
|
2
|
+
import { HStack } from "./stack.js";
|
|
3
|
+
import { TimePicker } from "./time-picker.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region ui/datetime-picker.tsx
|
|
8
|
+
function DateTimePicker({ value, onChange, disabled, minDate, maxDate, datePlaceholder, timePlaceholder, is24Hour, className }) {
|
|
9
|
+
const handleDateChange = (d) => {
|
|
10
|
+
if (!d) return;
|
|
11
|
+
const next = new Date(d);
|
|
12
|
+
if (value) next.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
13
|
+
onChange(next);
|
|
14
|
+
};
|
|
15
|
+
const handleTimeChange = (t) => {
|
|
16
|
+
if (!t) return;
|
|
17
|
+
const next = new Date(value ?? /* @__PURE__ */ new Date());
|
|
18
|
+
next.setHours(t.getHours(), t.getMinutes(), 0, 0);
|
|
19
|
+
onChange(next);
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ jsxs(HStack, {
|
|
22
|
+
className,
|
|
23
|
+
gap: "sm",
|
|
24
|
+
children: [/* @__PURE__ */ jsx(DatePicker, {
|
|
25
|
+
value,
|
|
26
|
+
onChange: handleDateChange,
|
|
27
|
+
disabled,
|
|
28
|
+
minDate,
|
|
29
|
+
maxDate,
|
|
30
|
+
placeholder: datePlaceholder,
|
|
31
|
+
className: "flex-1"
|
|
32
|
+
}), /* @__PURE__ */ jsx(TimePicker, {
|
|
33
|
+
value,
|
|
34
|
+
onChange: handleTimeChange,
|
|
35
|
+
disabled,
|
|
36
|
+
is24Hour,
|
|
37
|
+
placeholder: timePlaceholder,
|
|
38
|
+
className: "flex-1"
|
|
39
|
+
})]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { DateTimePicker };
|
|
45
|
+
//# sourceMappingURL=datetime-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime-picker.js","names":[],"sources":["../../ui/datetime-picker.tsx"],"sourcesContent":["import React from 'react';\nimport { HStack } from './stack';\nimport { DatePicker } from './date-picker';\nimport { TimePicker } from './time-picker';\n\nexport interface DateTimePickerProps {\n value: Date | null;\n onChange: (date: Date | null) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n datePlaceholder?: string;\n timePlaceholder?: string;\n is24Hour?: boolean;\n className?: string;\n}\n\nexport function DateTimePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n datePlaceholder,\n timePlaceholder,\n is24Hour,\n className,\n}: DateTimePickerProps) {\n const handleDateChange = (d: Date | null) => {\n if (!d) return;\n const next = new Date(d);\n if (value) {\n next.setHours(value.getHours(), value.getMinutes(), 0, 0);\n }\n onChange(next);\n };\n\n const handleTimeChange = (t: Date | null) => {\n if (!t) return;\n const next = new Date(value ?? new Date());\n next.setHours(t.getHours(), t.getMinutes(), 0, 0);\n onChange(next);\n };\n\n return (\n <HStack className={className} gap=\"sm\">\n <DatePicker\n value={value}\n onChange={handleDateChange}\n disabled={disabled}\n minDate={minDate}\n maxDate={maxDate}\n placeholder={datePlaceholder}\n className=\"flex-1\"\n />\n <TimePicker\n value={value}\n onChange={handleTimeChange}\n disabled={disabled}\n is24Hour={is24Hour}\n placeholder={timePlaceholder}\n className=\"flex-1\"\n />\n </HStack>\n );\n}\n"],"mappings":";;;;;;;AAiBA,SAAgB,eAAe,EAC7B,OACA,UACA,UACA,SACA,SACA,iBACA,iBACA,UACA,aACsB;CACtB,MAAM,oBAAoB,MAAmB;AAC3C,MAAI,CAAC,EAAG;EACR,MAAM,OAAO,IAAI,KAAK,EAAE;AACxB,MAAI,MACF,MAAK,SAAS,MAAM,UAAU,EAAE,MAAM,YAAY,EAAE,GAAG,EAAE;AAE3D,WAAS,KAAK;;CAGhB,MAAM,oBAAoB,MAAmB;AAC3C,MAAI,CAAC,EAAG;EACR,MAAM,OAAO,IAAI,KAAK,yBAAS,IAAI,MAAM,CAAC;AAC1C,OAAK,SAAS,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;AACjD,WAAS,KAAK;;AAGhB,QACE,qBAAC;EAAkB;EAAW,KAAI;aAChC,oBAAC;GACQ;GACP,UAAU;GACA;GACD;GACA;GACT,aAAa;GACb,WAAU;IACV,EACF,oBAAC;GACQ;GACP,UAAU;GACA;GACA;GACV,aAAa;GACb,WAAU;IACV;GACK"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_native2 from "react-native";
|
|
3
|
+
import { View, ViewProps } from "react-native";
|
|
4
|
+
import * as react_jsx_runtime29 from "react/jsx-runtime";
|
|
5
|
+
import * as DialogPrimitive from "@rn-primitives/dialog";
|
|
6
|
+
|
|
7
|
+
//#region ui/dialog.d.ts
|
|
8
|
+
declare const Dialog: React$1.ForwardRefExoticComponent<ViewProps & {
|
|
9
|
+
asChild?: boolean;
|
|
10
|
+
} & {
|
|
11
|
+
open?: boolean;
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
onOpenChange?: (value: boolean) => void;
|
|
14
|
+
} & React$1.RefAttributes<View>>;
|
|
15
|
+
declare const DialogTrigger: React$1.ForwardRefExoticComponent<Omit<react_native2.PressableProps & React$1.RefAttributes<View>, "ref"> & {
|
|
16
|
+
asChild?: boolean;
|
|
17
|
+
} & {
|
|
18
|
+
onKeyDown?: (ev: React$1.KeyboardEvent) => void;
|
|
19
|
+
onKeyUp?: (ev: React$1.KeyboardEvent) => void;
|
|
20
|
+
} & React$1.RefAttributes<View>>;
|
|
21
|
+
declare const DialogPortal: typeof DialogPrimitive.Portal;
|
|
22
|
+
declare const DialogClose: React$1.ForwardRefExoticComponent<Omit<react_native2.PressableProps & React$1.RefAttributes<View>, "ref"> & {
|
|
23
|
+
asChild?: boolean;
|
|
24
|
+
} & {
|
|
25
|
+
onKeyDown?: (ev: React$1.KeyboardEvent) => void;
|
|
26
|
+
onKeyUp?: (ev: React$1.KeyboardEvent) => void;
|
|
27
|
+
} & React$1.RefAttributes<View>>;
|
|
28
|
+
declare function DialogOverlayNative({
|
|
29
|
+
className,
|
|
30
|
+
children,
|
|
31
|
+
...props
|
|
32
|
+
}: DialogPrimitive.OverlayProps & {
|
|
33
|
+
ref?: React$1.RefObject<DialogPrimitive.OverlayRef>;
|
|
34
|
+
children?: React$1.ReactNode;
|
|
35
|
+
}): react_jsx_runtime29.JSX.Element;
|
|
36
|
+
declare const DialogOverlay: typeof DialogOverlayNative;
|
|
37
|
+
declare function DialogContent({
|
|
38
|
+
className,
|
|
39
|
+
children,
|
|
40
|
+
portalHost,
|
|
41
|
+
...props
|
|
42
|
+
}: DialogPrimitive.ContentProps & {
|
|
43
|
+
ref?: React$1.RefObject<DialogPrimitive.ContentRef>;
|
|
44
|
+
className?: string;
|
|
45
|
+
portalHost?: string;
|
|
46
|
+
}): react_jsx_runtime29.JSX.Element;
|
|
47
|
+
declare function DialogHeader({
|
|
48
|
+
className,
|
|
49
|
+
...props
|
|
50
|
+
}: ViewProps): react_jsx_runtime29.JSX.Element;
|
|
51
|
+
declare function DialogFooter({
|
|
52
|
+
className,
|
|
53
|
+
...props
|
|
54
|
+
}: ViewProps): react_jsx_runtime29.JSX.Element;
|
|
55
|
+
declare function DialogTitle({
|
|
56
|
+
className,
|
|
57
|
+
...props
|
|
58
|
+
}: DialogPrimitive.TitleProps & {
|
|
59
|
+
ref?: React$1.RefObject<DialogPrimitive.TitleRef>;
|
|
60
|
+
}): react_jsx_runtime29.JSX.Element;
|
|
61
|
+
declare function DialogDescription({
|
|
62
|
+
className,
|
|
63
|
+
...props
|
|
64
|
+
}: DialogPrimitive.DescriptionProps & {
|
|
65
|
+
ref?: React$1.RefObject<DialogPrimitive.DescriptionRef>;
|
|
66
|
+
}): react_jsx_runtime29.JSX.Element;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
69
|
+
//# sourceMappingURL=dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","names":[],"sources":["../../ui/dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAOM,QAAM,OAAA,CAAA,0BAAA;;;;EAAN,WAA6B,CAAA,EAAA,OAAA;EAAvB,YAAA,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;cAEN,eAAa,OAAA,CAAA,0BAAA,KAA0B,aAAA,CAA1B,cAAA,GAAA,OAAA,CAAA,cAAA;EAFP,OAAA,CAAA,EAAA,OAAA;CAAA,GAAA;EAEN,SAAA,CAAA,EAAA,CAAA,EAAA,uBAAuC,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAA1B,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,KAAA,CAAA,CAAA;cAEb,YAFa,EAAA,OAED,eAAA,CAAA,MAFC;cAIb,WAJa,EAIF,OAAA,CAAA,yBAJE,CAIF,IAJE,CAIsB,aAAA,CAAxB,cAAA,GAAA,OAAA,CAAA,aAJE,CAIF,IAJE,CAAA,EAAA,KAAA,CAAA,GAAA;;;;;CAAA,wBAAA,KAAA,CAAA,CAAA;iBA2BV,mBAAA,CA3BU;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA+BhB,eAAA,CAAgB,YA/BA,GAAA;EAEb,GAAA,CAAA,EA8BE,OAAA,CAAM,SA9B6B,CA8BnB,eAAA,CAAgB,UA9BtB,CAAA;EAEZ,QAAA,CAAA,EA6BO,OAAA,CAAM,SA7BsB;CAAA,CAAA,EA8BxC,mBAAA,CAAA,GAAA,CAAA,OA9BgB;cAkDX,aAlDW,EAAA,OAkDE,mBAlDF;iBAuDR,aAAA,CAvDQ;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EA4Dd,eAAA,CAAgB,YA5DF,GAAA;EAAA,GAAA,CAAA,EA6DT,OAAA,CAAM,SA7DG,CA6DO,eAAA,CAAgB,UA7DvB,CAAA;;;IAgEhB,mBAAA,CAAA,GAAA,CAAA;iBAmCQ,YAAA;;;GAAsC,YAAS,mBAAA,CAAA,GAAA,CAAA;iBAY/C,YAAA,CA/GQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+G8B,SA/G9B,CAAA,EA+GuC,mBAAA,CAAA,GAAA,CAAA,OA/GvC;iBA2HR,WAAA,CA3HQ;EAAA,SAAA;EAAA,GAAA;CAAA,EA8Hd,eAAA,CAAgB,UA9HF,GAAA;EAuBR,GAAA,CAAA,EAwGD,OAAA,CAAM,SAxGL,CAwGe,eAAA,CAAgB,QAxGZ,CAAA;CAC1B,CAAA,EAwGD,mBAAA,CAAA,GAAA,CAAA,OAxGC;iBAoHO,iBAAA,CAnHP;EAAA,SAAA;EAAA,GAAA;CAAA,EAsHC,eAAA,CAAgB,gBAtHjB,GAAA;EAEC,GAAA,CAAA,EAqHK,OAAA,CAAM,SArHK,CAqHK,eAAA,CAAgB,cArHrB,CAAA;CACK,CAAA,EAqHvB,mBAAA,CAAA,GAAA,CAAA,OArHuC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import { X } from "./icons/X.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { Platform, StyleSheet, View } from "react-native";
|
|
5
|
+
import Animated, { FadeIn, FadeOut } from "react-native-reanimated";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import * as DialogPrimitive from "@rn-primitives/dialog";
|
|
8
|
+
|
|
9
|
+
//#region ui/dialog.tsx
|
|
10
|
+
const Dialog = DialogPrimitive.Root;
|
|
11
|
+
const DialogTrigger = DialogPrimitive.Trigger;
|
|
12
|
+
const DialogPortal = DialogPrimitive.Portal;
|
|
13
|
+
const DialogClose = DialogPrimitive.Close;
|
|
14
|
+
function DialogOverlayWeb({ className,...props }) {
|
|
15
|
+
const { open } = DialogPrimitive.useRootContext();
|
|
16
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
|
|
17
|
+
className: cn("absolute top-0 right-0 bottom-0 left-0 flex items-center justify-center bg-black/80 p-2", open ? "web:animate-in web:fade-in-0" : "web:animate-out web:fade-out-0", className),
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function DialogOverlayNative({ className, children,...props }) {
|
|
22
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
|
|
23
|
+
style: StyleSheet.absoluteFill,
|
|
24
|
+
className: cn("flex items-center justify-center bg-black/80 p-2", className),
|
|
25
|
+
...props,
|
|
26
|
+
children: /* @__PURE__ */ jsx(Animated.View, {
|
|
27
|
+
entering: FadeIn.duration(150),
|
|
28
|
+
exiting: FadeOut.duration(150),
|
|
29
|
+
children
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const DialogOverlay = Platform.select({
|
|
34
|
+
web: DialogOverlayWeb,
|
|
35
|
+
default: DialogOverlayNative
|
|
36
|
+
});
|
|
37
|
+
function DialogContent({ className, children, portalHost,...props }) {
|
|
38
|
+
const { open } = DialogPrimitive.useRootContext();
|
|
39
|
+
return /* @__PURE__ */ jsx(DialogPortal, {
|
|
40
|
+
hostName: portalHost,
|
|
41
|
+
children: /* @__PURE__ */ jsx(DialogOverlay, { children: /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
|
|
42
|
+
className: cn("border-border bg-background web:cursor-default web:duration-200 max-w-lg gap-4 rounded-lg border p-6 shadow-lg", open ? "web:animate-in web:fade-in-0 web:zoom-in-95" : "web:animate-out web:fade-out-0 web:zoom-out-95", className),
|
|
43
|
+
...props,
|
|
44
|
+
children: [children, /* @__PURE__ */ jsx(DialogPrimitive.Close, {
|
|
45
|
+
className: "web:group web:ring-offset-background web:transition-opacity web:hover:opacity-100 web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 web:disabled:pointer-events-none absolute top-4 right-4 rounded-xs p-0.5 opacity-70",
|
|
46
|
+
children: /* @__PURE__ */ jsx(X, {
|
|
47
|
+
size: Platform.OS === "web" ? 16 : 18,
|
|
48
|
+
className: cn("text-muted-foreground", open && "text-accent-foreground")
|
|
49
|
+
})
|
|
50
|
+
})]
|
|
51
|
+
}) })
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function DialogHeader({ className,...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx(View, {
|
|
56
|
+
className: cn("flex flex-col gap-1.5 text-center sm:text-left", className),
|
|
57
|
+
...props
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function DialogFooter({ className,...props }) {
|
|
61
|
+
return /* @__PURE__ */ jsx(View, {
|
|
62
|
+
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
63
|
+
...props
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function DialogTitle({ className,...props }) {
|
|
67
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Title, {
|
|
68
|
+
className: cn("native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight", className),
|
|
69
|
+
...props
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function DialogDescription({ className,...props }) {
|
|
73
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Description, {
|
|
74
|
+
className: cn("native:text-base text-muted-foreground text-sm", className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
81
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","names":[],"sources":["../../ui/dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@rn-primitives/dialog';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View, type ViewProps } from 'react-native';\nimport Animated, { FadeIn, FadeOut } from 'react-native-reanimated';\nimport { X } from './icons/X';\nimport { cn } from './utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nfunction DialogOverlayWeb({\n className,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPrimitive.Overlay\n className={cn(\n 'absolute top-0 right-0 bottom-0 left-0 flex items-center justify-center bg-black/80 p-2',\n open\n ? 'web:animate-in web:fade-in-0'\n : 'web:animate-out web:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogOverlayNative({\n className,\n children,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DialogPrimitive.Overlay\n style={StyleSheet.absoluteFill}\n className={cn(\n 'flex items-center justify-center bg-black/80 p-2',\n className\n )}\n {...props}\n >\n <Animated.View\n entering={FadeIn.duration(150)}\n exiting={FadeOut.duration(150)}\n >\n {children}\n </Animated.View>\n </DialogPrimitive.Overlay>\n );\n}\n\nconst DialogOverlay = Platform.select({\n web: DialogOverlayWeb,\n default: DialogOverlayNative,\n});\n\nfunction DialogContent({\n className,\n children,\n portalHost,\n ...props\n}: DialogPrimitive.ContentProps & {\n ref?: React.RefObject<DialogPrimitive.ContentRef>;\n className?: string;\n portalHost?: string;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPortal hostName={portalHost}>\n <DialogOverlay>\n <DialogPrimitive.Content\n className={cn(\n 'border-border bg-background web:cursor-default web:duration-200 max-w-lg gap-4 rounded-lg border p-6 shadow-lg',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className={\n 'web:group web:ring-offset-background web:transition-opacity web:hover:opacity-100 web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 web:disabled:pointer-events-none absolute top-4 right-4 rounded-xs p-0.5 opacity-70'\n }\n >\n <X\n size={Platform.OS === 'web' ? 16 : 18}\n className={cn(\n 'text-muted-foreground',\n open && 'text-accent-foreground'\n )}\n />\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogOverlay>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: ViewProps) {\n return (\n <View\n className={cn(\n 'flex flex-col gap-1.5 text-center sm:text-left',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: ViewProps) {\n return (\n <View\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: DialogPrimitive.TitleProps & {\n ref?: React.RefObject<DialogPrimitive.TitleRef>;\n}) {\n return (\n <DialogPrimitive.Title\n className={cn(\n 'native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: DialogPrimitive.DescriptionProps & {\n ref?: React.RefObject<DialogPrimitive.DescriptionRef>;\n}) {\n return (\n <DialogPrimitive.Description\n className={cn(\n 'native:text-base text-muted-foreground text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;;;;AAOA,MAAM,SAAS,gBAAgB;AAE/B,MAAM,gBAAgB,gBAAgB;AAEtC,MAAM,eAAe,gBAAgB;AAErC,MAAM,cAAc,gBAAgB;AAEpC,SAAS,iBAAiB,EACxB,UACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,gBAAgB,gBAAgB;AACjD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,2FACA,OACI,iCACA,kCACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,SACA,GAAG,SAIF;AACD,QACE,oBAAC,gBAAgB;EACf,OAAO,WAAW;EAClB,WAAW,GACT,oDACA,UACD;EACD,GAAI;YAEJ,oBAAC,SAAS;GACR,UAAU,OAAO,SAAS,IAAI;GAC9B,SAAS,QAAQ,SAAS,IAAI;GAE7B;IACa;GACQ;;AAI9B,MAAM,gBAAgB,SAAS,OAAO;CACpC,KAAK;CACL,SAAS;CACV,CAAC;AAEF,SAAS,cAAc,EACrB,WACA,UACA,WACA,GAAG,SAKF;CACD,MAAM,EAAE,SAAS,gBAAgB,gBAAgB;AACjD,QACE,oBAAC;EAAa,UAAU;YACtB,oBAAC,2BACC,qBAAC,gBAAgB;GACf,WAAW,GACT,kHACA,OACI,gDACA,kDACJ,UACD;GACD,GAAI;cAEH,UACD,oBAAC,gBAAgB;IACf,WACE;cAGF,oBAAC;KACC,MAAM,SAAS,OAAO,QAAQ,KAAK;KACnC,WAAW,GACT,yBACA,QAAQ,yBACT;MACD;KACoB;IACA,GACZ;GACH;;AAInB,SAAS,aAAa,EAAE,UAAW,GAAG,SAAoB;AACxD,QACE,oBAAC;EACC,WAAW,GACT,kDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,UAAW,GAAG,SAAoB;AACxD,QACE,oBAAC;EACC,WAAW,GACT,0DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,UACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,UACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,kDACA,UACD;EACD,GAAI;GACJ"}
|