@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 @@
|
|
|
1
|
+
{"version":3,"file":"X.js","names":[],"sources":["../../../ui/icons/X.tsx"],"sourcesContent":["import { X } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(X);\nexport { X };\n"],"mappings":";;;;AAGA,kBAAkB,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconWithClassName.d.ts","names":[],"sources":["../../../ui/icons/iconWithClassName.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,iBAAA,OAAwB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { styled } from "nativewind";
|
|
2
|
+
|
|
3
|
+
//#region ui/icons/iconWithClassName.ts
|
|
4
|
+
function iconWithClassName(icon) {
|
|
5
|
+
styled(icon, { className: {
|
|
6
|
+
target: "style",
|
|
7
|
+
nativeStyleMapping: {
|
|
8
|
+
color: true,
|
|
9
|
+
opacity: true
|
|
10
|
+
}
|
|
11
|
+
} });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { iconWithClassName };
|
|
16
|
+
//# sourceMappingURL=iconWithClassName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconWithClassName.js","names":[],"sources":["../../../ui/icons/iconWithClassName.ts"],"sourcesContent":["import type { LucideIcon } from 'lucide-react-native';\nimport { styled } from 'nativewind';\n\nexport function iconWithClassName(icon: LucideIcon) {\n styled(icon, {\n className: {\n target: 'style',\n nativeStyleMapping: {\n color: true,\n opacity: true,\n },\n },\n });\n}\n"],"mappings":";;;AAGA,SAAgB,kBAAkB,MAAkB;AAClD,QAAO,MAAM,EACX,WAAW;EACT,QAAQ;EACR,oBAAoB;GAClB,OAAO;GACP,SAAS;GACV;EACF,EACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import { TextInput, TextInputProps } from "react-native";
|
|
3
|
+
import * as react_jsx_runtime69 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region ui/input.d.ts
|
|
6
|
+
declare function Input({
|
|
7
|
+
className,
|
|
8
|
+
placeholderClassName,
|
|
9
|
+
...props
|
|
10
|
+
}: TextInputProps & {
|
|
11
|
+
ref?: React$1.RefObject<TextInput>;
|
|
12
|
+
}): react_jsx_runtime69.JSX.Element;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { Input };
|
|
15
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,KAAA;;;;GAIN;QACK,OAAA,CAAM,UAAU;IACvB,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/ui/input.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { TextInput } from "react-native";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region ui/input.tsx
|
|
7
|
+
function Input({ className, placeholderClassName,...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(TextInput, {
|
|
9
|
+
className: cn("native:h-12 native:text-lg native:leading-tight border-input bg-background text-foreground placeholder:text-muted-foreground web:flex web:w-full web:py-2 web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 h-10 rounded-md border px-3 text-base file:border-0 file:bg-transparent file:font-medium lg:text-sm", props.editable === false && "web:cursor-not-allowed opacity-50", className),
|
|
10
|
+
placeholderClassName: cn("text-muted-foreground", placeholderClassName),
|
|
11
|
+
...props
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { Input };
|
|
17
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TextInput, type TextInputProps } from 'react-native';\nimport { cn } from './utils';\n\nfunction Input({\n className,\n placeholderClassName,\n ...props\n}: TextInputProps & {\n ref?: React.RefObject<TextInput>;\n}) {\n return (\n <TextInput\n className={cn(\n 'native:h-12 native:text-lg native:leading-tight border-input bg-background text-foreground placeholder:text-muted-foreground web:flex web:w-full web:py-2 web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 h-10 rounded-md border px-3 text-base file:border-0 file:bg-transparent file:font-medium lg:text-sm',\n props.editable === false && 'web:cursor-not-allowed opacity-50',\n className\n )}\n placeholderClassName={cn('text-muted-foreground', placeholderClassName)}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;;AAIA,SAAS,MAAM,EACb,WACA,qBACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,WAAW,GACT,kZACA,MAAM,aAAa,SAAS,qCAC5B,UACD;EACD,sBAAsB,GAAG,yBAAyB,qBAAqB;EACvE,GAAI;GACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime87 from "react/jsx-runtime";
|
|
2
|
+
import * as LabelPrimitive from "@rn-primitives/label";
|
|
3
|
+
|
|
4
|
+
//#region ui/label.d.ts
|
|
5
|
+
declare function Label({
|
|
6
|
+
className,
|
|
7
|
+
onPress,
|
|
8
|
+
onLongPress,
|
|
9
|
+
onPressIn,
|
|
10
|
+
onPressOut,
|
|
11
|
+
disabled,
|
|
12
|
+
...props
|
|
13
|
+
}: LabelPrimitive.TextProps & React.RefAttributes<LabelPrimitive.TextRef>): react_jsx_runtime87.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Label };
|
|
16
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,KAAA;;;;;;;;GAQN,cAAA,CAAe,YAAY,KAAA,CAAM,cAAc,cAAA,CAAe,WAAQ,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/ui/label.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import { Platform } from "react-native";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import * as LabelPrimitive from "@rn-primitives/label";
|
|
5
|
+
|
|
6
|
+
//#region ui/label.tsx
|
|
7
|
+
function Label({ className, onPress, onLongPress, onPressIn, onPressOut, disabled,...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(LabelPrimitive.Root, {
|
|
9
|
+
className: cn("flex flex-row items-center gap-2 select-none", Platform.select({ web: "cursor-default leading-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" }), disabled && "opacity-50"),
|
|
10
|
+
onPress,
|
|
11
|
+
onLongPress,
|
|
12
|
+
onPressIn,
|
|
13
|
+
onPressOut,
|
|
14
|
+
disabled,
|
|
15
|
+
children: /* @__PURE__ */ jsx(LabelPrimitive.Text, {
|
|
16
|
+
className: cn("text-foreground text-sm font-medium", Platform.select({ web: "leading-none" }), className),
|
|
17
|
+
...props
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { Label };
|
|
24
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":["import { cn } from './utils';\nimport * as LabelPrimitive from '@rn-primitives/label';\nimport { Platform } from 'react-native';\n\nfunction Label({\n className,\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n disabled,\n ...props\n}: LabelPrimitive.TextProps & React.RefAttributes<LabelPrimitive.TextRef>) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'flex flex-row items-center gap-2 select-none',\n Platform.select({\n web: 'cursor-default leading-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n }),\n disabled && 'opacity-50'\n )}\n onPress={onPress}\n onLongPress={onLongPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n disabled={disabled}\n >\n <LabelPrimitive.Text\n className={cn(\n 'text-foreground text-sm font-medium',\n Platform.select({ web: 'leading-none' }),\n className\n )}\n {...props}\n />\n </LabelPrimitive.Root>\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;;AAIA,SAAS,MAAM,EACb,WACA,SACA,aACA,WACA,YACA,SACA,GAAG,SACsE;AACzE,QACE,oBAAC,eAAe;EACd,WAAW,GACT,gDACA,SAAS,OAAO,EACd,KAAK,8KACN,CAAC,EACF,YAAY,aACb;EACQ;EACI;EACF;EACC;EACF;YAEV,oBAAC,eAAe;GACd,WAAW,GACT,uCACA,SAAS,OAAO,EAAE,KAAK,gBAAgB,CAAC,EACxC,UACD;GACD,GAAI;IACJ;GACkB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime88 from "react/jsx-runtime";
|
|
3
|
+
import { Link as Link$1, LinkProps } from "expo-router";
|
|
4
|
+
|
|
5
|
+
//#region ui/link.d.ts
|
|
6
|
+
declare function Link({
|
|
7
|
+
className,
|
|
8
|
+
...props
|
|
9
|
+
}: LinkProps & {
|
|
10
|
+
ref?: React$1.RefObject<typeof Link$1>;
|
|
11
|
+
}): react_jsx_runtime88.JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Link };
|
|
14
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,IAAA;;;GAGN;QACK,OAAA,CAAM,iBAAiB;IAC9B,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/ui/link.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Link as Link$1 } from "expo-router";
|
|
5
|
+
|
|
6
|
+
//#region ui/link.tsx
|
|
7
|
+
function Link({ className,...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Link$1, {
|
|
9
|
+
className: cn("className=\"text-primary underline\"", className),
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Link };
|
|
16
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","names":["LinkExpo"],"sources":["../../ui/link.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Link as LinkExpo, type LinkProps } from 'expo-router';\nimport { cn } from './utils';\n\nfunction Link({\n className,\n ...props\n}: LinkProps & {\n ref?: React.RefObject<typeof LinkExpo>;\n}) {\n return (\n <LinkExpo\n className={cn('className=\"text-primary underline\"', className)}\n {...props}\n />\n );\n}\n\nexport { Link };\n"],"mappings":";;;;;;AAIA,SAAS,KAAK,EACZ,UACA,GAAG,SAGF;AACD,QACE,oBAACA;EACC,WAAW,GAAG,wCAAsC,UAAU;EAC9D,GAAI;GACJ"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ButtonProps } from "./button.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import * as react_jsx_runtime89 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region ui/loading-button.d.ts
|
|
6
|
+
interface LoadingButtonProps extends ButtonProps {
|
|
7
|
+
isLoading?: boolean;
|
|
8
|
+
loadingText?: string;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare function LoadingButton({
|
|
12
|
+
isLoading,
|
|
13
|
+
loadingText,
|
|
14
|
+
children,
|
|
15
|
+
disabled,
|
|
16
|
+
...props
|
|
17
|
+
}: LoadingButtonProps): react_jsx_runtime89.JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { LoadingButton };
|
|
20
|
+
//# sourceMappingURL=loading-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-button.d.ts","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":[],"mappings":";;;;;UAOU,kBAAA,SAA2B;;;EAA3B,QAAA,EAGE,KAAA,CAAM,SAHW;AAM7B;AACE,iBADc,aAAA,CACd;EAAA,SAAA;EAAA,WAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAKC,kBALD,CAAA,EAKmB,mBAAA,CAAA,GAAA,CAAA,OALnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Text as Text$1 } from "./text.js";
|
|
2
|
+
import { Button } from "./button.js";
|
|
3
|
+
import { HStack } from "./stack.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { ActivityIndicator } from "react-native";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region ui/loading-button.tsx
|
|
9
|
+
function LoadingButton({ isLoading = false, loadingText, children, disabled,...props }) {
|
|
10
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
11
|
+
disabled: disabled || isLoading,
|
|
12
|
+
...props,
|
|
13
|
+
children: isLoading ? /* @__PURE__ */ jsxs(HStack, {
|
|
14
|
+
className: "items-center gap-x-2",
|
|
15
|
+
children: [/* @__PURE__ */ jsx(ActivityIndicator, { size: "small" }), /* @__PURE__ */ jsx(Text$1, { children: loadingText || "Loading..." })]
|
|
16
|
+
}) : children
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { LoadingButton };
|
|
22
|
+
//# sourceMappingURL=loading-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-button.js","names":["Text"],"sources":["../../ui/loading-button.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator } from 'react-native';\nimport type { ButtonProps } from './button';\nimport { Button } from './button';\nimport { Text } from './text';\nimport { HStack } from './stack';\n\ninterface LoadingButtonProps extends ButtonProps {\n isLoading?: boolean;\n loadingText?: string;\n children: React.ReactNode;\n}\n\nexport function LoadingButton({\n isLoading = false,\n loadingText,\n children,\n disabled,\n ...props\n}: LoadingButtonProps) {\n return (\n <Button disabled={disabled || isLoading} {...props}>\n {isLoading ? (\n <HStack className=\"items-center gap-x-2\">\n <ActivityIndicator\n size=\"small\"\n // color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n <Text>{loadingText || 'Loading...'}</Text>\n </HStack>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;AAaA,SAAgB,cAAc,EAC5B,YAAY,OACZ,aACA,UACA,SACA,GAAG,SACkB;AACrB,QACE,oBAAC;EAAO,UAAU,YAAY;EAAW,GAAI;YAC1C,YACC,qBAAC;GAAO,WAAU;cAChB,oBAAC,qBACC,MAAK,UAEL,EACF,oBAACA,oBAAM,eAAe,eAAoB;IACnC,GAET;GAEK"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime158 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/loading-overlay.d.ts
|
|
4
|
+
interface LoadingOverlayProps {
|
|
5
|
+
isVisible: boolean;
|
|
6
|
+
title?: string;
|
|
7
|
+
subtitle?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function LoadingOverlay({
|
|
10
|
+
isVisible,
|
|
11
|
+
title,
|
|
12
|
+
subtitle
|
|
13
|
+
}: LoadingOverlayProps): react_jsx_runtime158.JSX.Element | null;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { LoadingOverlay };
|
|
16
|
+
//# sourceMappingURL=loading-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-overlay.d.ts","names":[],"sources":["../../ui/loading-overlay.tsx"],"sourcesContent":[],"mappings":";;;UAMU,mBAAA;;;EAAA,QAAA,CAAA,EAAA,MAAA;AAMV;AACE,iBADc,cAAA,CACd;EAAA,SAAA;EAAA,KAAA;EAAA;AAAA,CAAA,EAGC,mBAHD,CAAA,EAGoB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAHpB,IAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Text as Text$1 } from "./text.js";
|
|
2
|
+
import { VStack } from "./stack.js";
|
|
3
|
+
import { H3 } from "./typography.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { ActivityIndicator, View } from "react-native";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region ui/loading-overlay.tsx
|
|
9
|
+
function LoadingOverlay({ isVisible, title = "Loading...", subtitle }) {
|
|
10
|
+
if (!isVisible) return null;
|
|
11
|
+
return /* @__PURE__ */ jsx(View, {
|
|
12
|
+
style: {
|
|
13
|
+
position: "absolute",
|
|
14
|
+
top: 0,
|
|
15
|
+
left: 0,
|
|
16
|
+
right: 0,
|
|
17
|
+
bottom: 0,
|
|
18
|
+
backgroundColor: "rgba(255, 255, 255, 0.9)",
|
|
19
|
+
justifyContent: "center",
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
zIndex: 1e3
|
|
22
|
+
},
|
|
23
|
+
children: /* @__PURE__ */ jsxs(VStack, {
|
|
24
|
+
className: "items-center gap-y-4",
|
|
25
|
+
children: [/* @__PURE__ */ jsx(ActivityIndicator, {
|
|
26
|
+
size: "large",
|
|
27
|
+
color: "#6b7280"
|
|
28
|
+
}), /* @__PURE__ */ jsxs(VStack, {
|
|
29
|
+
className: "items-center gap-y-2",
|
|
30
|
+
children: [/* @__PURE__ */ jsx(H3, {
|
|
31
|
+
className: "text-center",
|
|
32
|
+
children: title
|
|
33
|
+
}), subtitle && /* @__PURE__ */ jsx(Text$1, {
|
|
34
|
+
className: "text-muted-foreground text-center",
|
|
35
|
+
children: subtitle
|
|
36
|
+
})]
|
|
37
|
+
})]
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
export { LoadingOverlay };
|
|
44
|
+
//# sourceMappingURL=loading-overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-overlay.js","names":["Text"],"sources":["../../ui/loading-overlay.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View } from 'react-native';\nimport { VStack } from './stack';\nimport { Text } from './text';\nimport { H3 } from './typography';\n\ninterface LoadingOverlayProps {\n isVisible: boolean;\n title?: string;\n subtitle?: string;\n}\n\nexport function LoadingOverlay({\n isVisible,\n title = 'Loading...',\n subtitle,\n}: LoadingOverlayProps) {\n if (!isVisible) return null;\n\n return (\n <View\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 1000,\n }}\n >\n <VStack className=\"items-center gap-y-4\">\n <ActivityIndicator size=\"large\" color=\"#6b7280\" />\n <VStack className=\"items-center gap-y-2\">\n <H3 className=\"text-center\">{title}</H3>\n {subtitle && (\n <Text className=\"text-muted-foreground text-center\">\n {subtitle}\n </Text>\n )}\n </VStack>\n </VStack>\n </View>\n );\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,eAAe,EAC7B,WACA,QAAQ,cACR,YACsB;AACtB,KAAI,CAAC,UAAW,QAAO;AAEvB,QACE,oBAAC;EACC,OAAO;GACL,UAAU;GACV,KAAK;GACL,MAAM;GACN,OAAO;GACP,QAAQ;GACR,iBAAiB;GACjB,gBAAgB;GAChB,YAAY;GACZ,QAAQ;GACT;YAED,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAkB,MAAK;IAAQ,OAAM;KAAY,EAClD,qBAAC;IAAO,WAAU;eAChB,oBAAC;KAAG,WAAU;eAAe;MAAW,EACvC,YACC,oBAACA;KAAK,WAAU;eACb;MACI;KAEF;IACF;GACJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime90 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/loading-screen.d.ts
|
|
4
|
+
interface LoadingScreenProps {
|
|
5
|
+
title?: string;
|
|
6
|
+
variant?: 'default' | 'profile' | 'form' | 'list';
|
|
7
|
+
}
|
|
8
|
+
declare function LoadingScreen({
|
|
9
|
+
title,
|
|
10
|
+
variant
|
|
11
|
+
}: LoadingScreenProps): react_jsx_runtime90.JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { LoadingScreen };
|
|
14
|
+
//# sourceMappingURL=loading-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-screen.d.ts","names":[],"sources":["../../ui/loading-screen.tsx"],"sourcesContent":[],"mappings":";;;UAOU,kBAAA;;;AAQW;AAHL,iBAAA,aAAA,CAAa;EAAA,KAAA;EAAA;AAAA,CAAA,EAG1B,kBAH0B,CAAA,EAGR,mBAAA,CAAA,GAAA,CAAA,OAHQ"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { VStack } from "./stack.js";
|
|
2
|
+
import { H3 } from "./typography.js";
|
|
3
|
+
import { Skeleton } from "./skeleton.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { SafeAreaView } from "react-native-safe-area-context";
|
|
8
|
+
|
|
9
|
+
//#region ui/loading-screen.tsx
|
|
10
|
+
function LoadingScreen({ title = "Loading...", variant = "default" }) {
|
|
11
|
+
const renderContent = () => {
|
|
12
|
+
switch (variant) {
|
|
13
|
+
case "profile": return /* @__PURE__ */ jsxs(VStack, {
|
|
14
|
+
className: "gap-y-6",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsxs(VStack, {
|
|
17
|
+
className: "gap-y-2",
|
|
18
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-3/4" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" })]
|
|
19
|
+
}),
|
|
20
|
+
/* @__PURE__ */ jsxs(VStack, {
|
|
21
|
+
className: "gap-y-4",
|
|
22
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-16 w-16 rounded-full" }), /* @__PURE__ */ jsxs(VStack, {
|
|
23
|
+
className: "gap-y-2",
|
|
24
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-2/3" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" })]
|
|
25
|
+
})]
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsxs(VStack, {
|
|
28
|
+
className: "gap-y-3",
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }),
|
|
31
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-5/6" }),
|
|
32
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-3/4" })
|
|
33
|
+
]
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
case "form": return /* @__PURE__ */ jsxs(VStack, {
|
|
38
|
+
className: "gap-y-6",
|
|
39
|
+
children: [/* @__PURE__ */ jsxs(VStack, {
|
|
40
|
+
className: "gap-y-2",
|
|
41
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-3/4" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" })]
|
|
42
|
+
}), /* @__PURE__ */ jsxs(VStack, {
|
|
43
|
+
className: "gap-y-4",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ jsxs(VStack, {
|
|
46
|
+
className: "gap-y-2",
|
|
47
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/4" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-full" })]
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ jsxs(VStack, {
|
|
50
|
+
className: "gap-y-2",
|
|
51
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/4" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-full" })]
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-full" })
|
|
54
|
+
]
|
|
55
|
+
})]
|
|
56
|
+
});
|
|
57
|
+
case "list": return /* @__PURE__ */ jsxs(VStack, {
|
|
58
|
+
className: "gap-y-4",
|
|
59
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-1/2" }), [...Array(5)].map((_, i) => /* @__PURE__ */ jsxs(VStack, {
|
|
60
|
+
className: "gap-y-2",
|
|
61
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-3/4" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" })]
|
|
62
|
+
}, i))]
|
|
63
|
+
});
|
|
64
|
+
default: return /* @__PURE__ */ jsxs(VStack, {
|
|
65
|
+
className: "gap-y-4",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ jsx(H3, {
|
|
68
|
+
className: "text-muted-foreground text-center",
|
|
69
|
+
children: title
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-full" }),
|
|
72
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-3/4" }),
|
|
73
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-1/2" })
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return /* @__PURE__ */ jsx(SafeAreaView, {
|
|
79
|
+
style: { flex: 1 },
|
|
80
|
+
children: /* @__PURE__ */ jsx(View, {
|
|
81
|
+
style: {
|
|
82
|
+
flex: 1,
|
|
83
|
+
padding: 16,
|
|
84
|
+
justifyContent: "center"
|
|
85
|
+
},
|
|
86
|
+
children: renderContent()
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
export { LoadingScreen };
|
|
93
|
+
//# sourceMappingURL=loading-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-screen.js","names":[],"sources":["../../ui/loading-screen.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { VStack } from './stack';\nimport { Skeleton } from './skeleton';\nimport { H3 } from './typography';\n\ninterface LoadingScreenProps {\n title?: string;\n variant?: 'default' | 'profile' | 'form' | 'list';\n}\n\nexport function LoadingScreen({\n title = 'Loading...',\n variant = 'default',\n}: LoadingScreenProps) {\n const renderContent = () => {\n switch (variant) {\n case 'profile':\n return (\n <VStack className=\"gap-y-6\">\n {/* Header skeleton */}\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-8 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n\n {/* Profile card skeleton */}\n <VStack className=\"gap-y-4\">\n <Skeleton className=\"h-16 w-16 rounded-full\" />\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-6 w-2/3\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n </VStack>\n\n {/* Content skeleton */}\n <VStack className=\"gap-y-3\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-5/6\" />\n <Skeleton className=\"h-4 w-3/4\" />\n </VStack>\n </VStack>\n );\n\n case 'form':\n return (\n <VStack className=\"gap-y-6\">\n {/* Header */}\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-8 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n\n {/* Form fields */}\n <VStack className=\"gap-y-4\">\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-4 w-1/4\" />\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-4 w-1/4\" />\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n </VStack>\n );\n\n case 'list':\n return (\n <VStack className=\"gap-y-4\">\n <Skeleton className=\"h-8 w-1/2\" />\n {[...Array(5)].map((_, i) => (\n <VStack key={i} className=\"gap-y-2\">\n <Skeleton className=\"h-6 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n ))}\n </VStack>\n );\n\n default:\n return (\n <VStack className=\"gap-y-4\">\n <H3 className=\"text-muted-foreground text-center\">{title}</H3>\n <Skeleton className=\"h-8 w-full\" />\n <Skeleton className=\"h-6 w-3/4\" />\n <Skeleton className=\"h-6 w-1/2\" />\n </VStack>\n );\n }\n };\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <View style={{ flex: 1, padding: 16, justifyContent: 'center' }}>\n {renderContent()}\n </View>\n </SafeAreaView>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,cAAc,EAC5B,QAAQ,cACR,UAAU,aACW;CACrB,MAAM,sBAAsB;AAC1B,UAAQ,SAAR;GACE,KAAK,UACH,QACE,qBAAC;IAAO,WAAU;;KAEhB,qBAAC;MAAO,WAAU;iBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;OAC3B;KAGT,qBAAC;MAAO,WAAU;iBAChB,oBAAC,YAAS,WAAU,2BAA2B,EAC/C,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;QAC3B;OACF;KAGT,qBAAC;MAAO,WAAU;;OAChB,oBAAC,YAAS,WAAU,eAAe;OACnC,oBAAC,YAAS,WAAU,cAAc;OAClC,oBAAC,YAAS,WAAU,cAAc;;OAC3B;;KACF;GAGb,KAAK,OACH,QACE,qBAAC;IAAO,WAAU;eAEhB,qBAAC;KAAO,WAAU;gBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;MAC3B,EAGT,qBAAC;KAAO,WAAU;;MAChB,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,gBAAgB;QAC7B;MACT,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,gBAAgB;QAC7B;MACT,oBAAC,YAAS,WAAU,gBAAgB;;MAC7B;KACF;GAGb,KAAK,OACH,QACE,qBAAC;IAAO,WAAU;eAChB,oBAAC,YAAS,WAAU,cAAc,EACjC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,MACrB,qBAAC;KAAe,WAAU;gBACxB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;OAFvB,EAGJ,CACT;KACK;GAGb,QACE,QACE,qBAAC;IAAO,WAAU;;KAChB,oBAAC;MAAG,WAAU;gBAAqC;OAAW;KAC9D,oBAAC,YAAS,WAAU,eAAe;KACnC,oBAAC,YAAS,WAAU,cAAc;KAClC,oBAAC,YAAS,WAAU,cAAc;;KAC3B;;;AAKjB,QACE,oBAAC;EAAa,OAAO,EAAE,MAAM,GAAG;YAC9B,oBAAC;GAAK,OAAO;IAAE,MAAM;IAAG,SAAS;IAAI,gBAAgB;IAAU;aAC5D,eAAe;IACX;GACM"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime151 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/marketing/FeatureGrid.d.ts
|
|
5
|
+
interface FeatureItem {
|
|
6
|
+
title: React$1.ReactNode;
|
|
7
|
+
description?: React$1.ReactNode;
|
|
8
|
+
icon?: React$1.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
declare function FeatureGrid({
|
|
11
|
+
items,
|
|
12
|
+
columns,
|
|
13
|
+
className
|
|
14
|
+
}: {
|
|
15
|
+
items: FeatureItem[];
|
|
16
|
+
columns?: 2 | 3 | 4;
|
|
17
|
+
className?: string;
|
|
18
|
+
}): react_jsx_runtime151.JSX.Element;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { FeatureGrid, FeatureItem };
|
|
21
|
+
//# sourceMappingURL=FeatureGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureGrid.d.ts","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":[],"mappings":";;;;UAGiB,WAAA;SACR,OAAA,CAAM;gBACC,OAAA,CAAM;EAFL,IAAA,CAAA,EAGR,OAAA,CAAM,SAHa;;AAEZ,iBAIA,WAAA,CAJM;EAAA,KAAA;EAAA,OAAA;EAAA;CAAA,EAAA;EACb,KAAM,EAQN,WARM,EAAA;EAAS,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA;EAGR,SAAA,CAAA,EAAA,MAAW;CACzB,CAAA,EAOD,oBAAA,CAAA,GAAA,CAAA,OAPC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { cn } from "../utils.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region ui/marketing/FeatureGrid.tsx
|
|
6
|
+
function FeatureGrid({ items, columns = 3, className }) {
|
|
7
|
+
const gridCols = columns === 4 ? "md:grid-cols-4" : columns === 2 ? "md:grid-cols-2" : "md:grid-cols-3";
|
|
8
|
+
return /* @__PURE__ */ jsx("section", {
|
|
9
|
+
className: cn("mx-auto max-w-6xl py-12", className),
|
|
10
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
11
|
+
className: cn("grid grid-cols-1 gap-6", gridCols),
|
|
12
|
+
children: items.map((it, idx) => /* @__PURE__ */ jsxs("div", {
|
|
13
|
+
className: "rounded-lg border p-6",
|
|
14
|
+
children: [
|
|
15
|
+
it.icon && /* @__PURE__ */ jsx("div", {
|
|
16
|
+
className: "text-primary mb-3",
|
|
17
|
+
children: it.icon
|
|
18
|
+
}),
|
|
19
|
+
/* @__PURE__ */ jsx("h3", {
|
|
20
|
+
className: "text-lg font-semibold",
|
|
21
|
+
children: it.title
|
|
22
|
+
}),
|
|
23
|
+
it.description && /* @__PURE__ */ jsx("p", {
|
|
24
|
+
className: "text-muted-foreground mt-2 text-base",
|
|
25
|
+
children: it.description
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
}, idx))
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { FeatureGrid };
|
|
35
|
+
//# sourceMappingURL=FeatureGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureGrid.js","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../utils';\n\nexport interface FeatureItem {\n title: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n}\n\nexport function FeatureGrid({\n items,\n columns = 3,\n className,\n}: {\n items: FeatureItem[];\n columns?: 2 | 3 | 4;\n className?: string;\n}) {\n const gridCols =\n columns === 4\n ? 'md:grid-cols-4'\n : columns === 2\n ? 'md:grid-cols-2'\n : 'md:grid-cols-3';\n return (\n <section className={cn('mx-auto max-w-6xl py-12', className)}>\n <div className={cn('grid grid-cols-1 gap-6', gridCols)}>\n {items.map((it, idx) => (\n <div key={idx} className=\"rounded-lg border p-6\">\n {it.icon && <div className=\"text-primary mb-3\">{it.icon}</div>}\n <h3 className=\"text-lg font-semibold\">{it.title}</h3>\n {it.description && (\n <p className=\"text-muted-foreground mt-2 text-base\">\n {it.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,YAAY,EAC1B,OACA,UAAU,GACV,aAKC;CACD,MAAM,WACJ,YAAY,IACR,mBACA,YAAY,IACV,mBACA;AACR,QACE,oBAAC;EAAQ,WAAW,GAAG,2BAA2B,UAAU;YAC1D,oBAAC;GAAI,WAAW,GAAG,0BAA0B,SAAS;aACnD,MAAM,KAAK,IAAI,QACd,qBAAC;IAAc,WAAU;;KACtB,GAAG,QAAQ,oBAAC;MAAI,WAAU;gBAAqB,GAAG;OAAW;KAC9D,oBAAC;MAAG,WAAU;gBAAyB,GAAG;OAAW;KACpD,GAAG,eACF,oBAAC;MAAE,WAAU;gBACV,GAAG;OACF;;MANE,IAQJ,CACN;IACE;GACE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime152 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/marketing/Hero.d.ts
|
|
5
|
+
declare function Hero({
|
|
6
|
+
title,
|
|
7
|
+
subtitle,
|
|
8
|
+
primaryCta,
|
|
9
|
+
secondaryCta,
|
|
10
|
+
className
|
|
11
|
+
}: {
|
|
12
|
+
title: React$1.ReactNode;
|
|
13
|
+
subtitle?: React$1.ReactNode;
|
|
14
|
+
primaryCta?: {
|
|
15
|
+
label: string;
|
|
16
|
+
href?: string;
|
|
17
|
+
onClick?: () => void;
|
|
18
|
+
};
|
|
19
|
+
secondaryCta?: {
|
|
20
|
+
label: string;
|
|
21
|
+
href?: string;
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
};
|
|
24
|
+
className?: string;
|
|
25
|
+
}): react_jsx_runtime152.JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Hero };
|
|
28
|
+
//# sourceMappingURL=Hero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":[],"mappings":";;;;iBAKgB,IAAA;;;;;;;SAOP,OAAA,CAAM;aACF,OAAA,CAAM;EARH,UAAI,CAAA,EAAA;IAClB,KAAA,EAAA,MAAA;IACA,IAAA,CAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,CAAA;EACA,YAAA,CAAA,EAAA;IAEO,KAAM,EAAA,MAAA;IACF,IAAM,CAAA,EAAA,MAAA;IAIlB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;IAAA,oBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { cn } from "../utils.js";
|
|
2
|
+
import { Button } from "../button.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { Link } from "expo-router";
|
|
6
|
+
|
|
7
|
+
//#region ui/marketing/Hero.tsx
|
|
8
|
+
function Hero({ title, subtitle, primaryCta, secondaryCta, className }) {
|
|
9
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
10
|
+
className: cn("mx-auto max-w-4xl py-16 text-center", className),
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ jsx("h1", {
|
|
13
|
+
className: "text-4xl font-bold tracking-tight md:text-5xl",
|
|
14
|
+
children: title
|
|
15
|
+
}),
|
|
16
|
+
subtitle && /* @__PURE__ */ jsx("p", {
|
|
17
|
+
className: "text-muted-foreground mt-4 text-lg md:text-xl",
|
|
18
|
+
children: subtitle
|
|
19
|
+
}),
|
|
20
|
+
(primaryCta || secondaryCta) && /* @__PURE__ */ jsxs("div", {
|
|
21
|
+
className: "mt-8 flex items-center justify-center gap-3",
|
|
22
|
+
children: [primaryCta && (primaryCta.href ? /* @__PURE__ */ jsx(Button, {
|
|
23
|
+
size: "lg",
|
|
24
|
+
children: /* @__PURE__ */ jsx(Link, {
|
|
25
|
+
href: primaryCta.href,
|
|
26
|
+
children: primaryCta.label
|
|
27
|
+
})
|
|
28
|
+
}) : /* @__PURE__ */ jsx(Button, {
|
|
29
|
+
size: "lg",
|
|
30
|
+
onPress: primaryCta.onClick,
|
|
31
|
+
children: primaryCta.label
|
|
32
|
+
})), secondaryCta && (secondaryCta.href ? /* @__PURE__ */ jsx(Button, {
|
|
33
|
+
variant: "outline",
|
|
34
|
+
size: "lg",
|
|
35
|
+
children: /* @__PURE__ */ jsx(Link, {
|
|
36
|
+
href: secondaryCta.href,
|
|
37
|
+
children: secondaryCta.label
|
|
38
|
+
})
|
|
39
|
+
}) : /* @__PURE__ */ jsx(Button, {
|
|
40
|
+
variant: "outline",
|
|
41
|
+
size: "lg",
|
|
42
|
+
onPress: secondaryCta.onClick,
|
|
43
|
+
children: secondaryCta.label
|
|
44
|
+
}))]
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Hero };
|
|
52
|
+
//# sourceMappingURL=Hero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.js","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button';\nimport { cn } from '../utils';\nimport { Link } from 'expo-router';\n\nexport function Hero({\n title,\n subtitle,\n primaryCta,\n secondaryCta,\n className,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n primaryCta?: { label: string; href?: string; onClick?: () => void };\n secondaryCta?: { label: string; href?: string; onClick?: () => void };\n className?: string;\n}) {\n return (\n <section className={cn('mx-auto max-w-4xl py-16 text-center', className)}>\n <h1 className=\"text-4xl font-bold tracking-tight md:text-5xl\">{title}</h1>\n {subtitle && (\n <p className=\"text-muted-foreground mt-4 text-lg md:text-xl\">\n {subtitle}\n </p>\n )}\n {(primaryCta || secondaryCta) && (\n <div className=\"mt-8 flex items-center justify-center gap-3\">\n {primaryCta &&\n (primaryCta.href ? (\n <Button size=\"lg\">\n <Link href={primaryCta.href}>{primaryCta.label}</Link>\n </Button>\n ) : (\n <Button size=\"lg\" onPress={primaryCta.onClick}>\n {primaryCta.label}\n </Button>\n ))}\n {secondaryCta &&\n (secondaryCta.href ? (\n <Button variant=\"outline\" size=\"lg\">\n <Link href={secondaryCta.href}>{secondaryCta.label}</Link>\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n size=\"lg\"\n onPress={secondaryCta.onClick}\n >\n {secondaryCta.label}\n </Button>\n ))}\n </div>\n )}\n </section>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,KAAK,EACnB,OACA,UACA,YACA,cACA,aAOC;AACD,QACE,qBAAC;EAAQ,WAAW,GAAG,uCAAuC,UAAU;;GACtE,oBAAC;IAAG,WAAU;cAAiD;KAAW;GACzE,YACC,oBAAC;IAAE,WAAU;cACV;KACC;IAEJ,cAAc,iBACd,qBAAC;IAAI,WAAU;eACZ,eACE,WAAW,OACV,oBAAC;KAAO,MAAK;eACX,oBAAC;MAAK,MAAM,WAAW;gBAAO,WAAW;OAAa;MAC/C,GAET,oBAAC;KAAO,MAAK;KAAK,SAAS,WAAW;eACnC,WAAW;MACL,GAEZ,iBACE,aAAa,OACZ,oBAAC;KAAO,SAAQ;KAAU,MAAK;eAC7B,oBAAC;MAAK,MAAM,aAAa;gBAAO,aAAa;OAAa;MACnD,GAET,oBAAC;KACC,SAAQ;KACR,MAAK;KACL,SAAS,aAAa;eAErB,aAAa;MACP;KAET;;GAEA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react_jsx_runtime153 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/marketing/PricingTable.d.ts
|
|
4
|
+
interface PricingTier {
|
|
5
|
+
name: string;
|
|
6
|
+
price: string;
|
|
7
|
+
tagline?: string;
|
|
8
|
+
features: string[];
|
|
9
|
+
cta?: {
|
|
10
|
+
label: string;
|
|
11
|
+
href?: string;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
};
|
|
14
|
+
highlighted?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare function PricingTable({
|
|
17
|
+
tiers,
|
|
18
|
+
className
|
|
19
|
+
}: {
|
|
20
|
+
tiers: PricingTier[];
|
|
21
|
+
className?: string;
|
|
22
|
+
}): react_jsx_runtime153.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { PricingTable, PricingTier };
|
|
25
|
+
//# sourceMappingURL=PricingTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PricingTable.d.ts","names":[],"sources":["../../../ui/marketing/PricingTable.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,WAAA;;;EAAA,OAAA,CAAA,EAAA,MAAW;EASZ,QAAA,EAAA,MAAY,EAAA;EAC1B,GAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAA,CAAA,EAAA,MAAA;IAER,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;;iBANe,YAAA;;;;SAIP;;IAER,oBAAA,CAAA,GAAA,CAAA"}
|