@lssm/lib.ui-kit-web 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/node_modules/sonner/dist/index.js +630 -0
- package/dist/node_modules/sonner/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/ui/accordion.d.ts +25 -0
- package/dist/ui/accordion.d.ts.map +1 -0
- package/dist/ui/accordion.js +49 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +49 -0
- package/dist/ui/alert-dialog.d.ts.map +1 -0
- package/dist/ui/alert-dialog.js +86 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +25 -0
- package/dist/ui/alert.d.ts.map +1 -0
- package/dist/ui/alert.js +39 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.d.ts +8 -0
- package/dist/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/ui/aspect-ratio.js +11 -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 +53 -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 +1 -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 +46 -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 +157 -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 +1 -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 +1 -0
- package/dist/ui/avatar.d.ts +20 -0
- package/dist/ui/avatar.d.ts.map +1 -0
- package/dist/ui/avatar.js +34 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +20 -0
- package/dist/ui/badge.d.ts.map +1 -0
- package/dist/ui/badge.js +27 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.d.ts +38 -0
- package/dist/ui/breadcrumb.d.ts.map +1 -0
- package/dist/ui/breadcrumb.js +72 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.d.ts +23 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/button.js +44 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.d.ts +27 -0
- package/dist/ui/calendar.d.ts.map +1 -0
- package/dist/ui/calendar.js +110 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/card.d.ts +35 -0
- package/dist/ui/card.d.ts.map +1 -0
- package/dist/ui/card.js +58 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.d.ts +48 -0
- package/dist/ui/carousel.d.ts.map +1 -0
- package/dist/ui/carousel.js +137 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/checkbox.d.ts +12 -0
- package/dist/ui/checkbox.d.ts.map +1 -0
- package/dist/ui/checkbox.js +26 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/collapsible.d.ts +16 -0
- package/dist/ui/collapsible.d.ts.map +1 -0
- package/dist/ui/collapsible.js +29 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/command.d.ts +53 -0
- package/dist/ui/command.d.ts.map +1 -0
- package/dist/ui/command.js +91 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +31 -0
- package/dist/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/ui/confirm-dialog.js +34 -0
- package/dist/ui/confirm-dialog.js.map +1 -0
- package/dist/ui/context-menu.d.ts +35 -0
- package/dist/ui/context-menu.d.ts.map +1 -0
- package/dist/ui/context-menu.js +85 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/cta.d.ts +15 -0
- package/dist/ui/cta.d.ts.map +1 -0
- package/dist/ui/cta.js +39 -0
- package/dist/ui/cta.js.map +1 -0
- package/dist/ui/date-picker.d.ts +26 -0
- package/dist/ui/date-picker.d.ts.map +1 -0
- package/dist/ui/date-picker.js +102 -0
- package/dist/ui/date-picker.js.map +1 -0
- package/dist/ui/date-range-picker.d.ts +26 -0
- package/dist/ui/date-range-picker.d.ts.map +1 -0
- package/dist/ui/date-range-picker.js +55 -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 +48 -0
- package/dist/ui/dialog.d.ts.map +1 -0
- package/dist/ui/dialog.js +91 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/drawer.d.ts +45 -0
- package/dist/ui/drawer.d.ts.map +1 -0
- package/dist/ui/drawer.js +83 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +78 -0
- package/dist/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/dropdown-menu.js +128 -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 +43 -0
- package/dist/ui/empty-state.js.map +1 -0
- package/dist/ui/empty.d.ts +36 -0
- package/dist/ui/empty.d.ts.map +1 -0
- package/dist/ui/empty.js +62 -0
- package/dist/ui/empty.js.map +1 -0
- package/dist/ui/field.d.ts +65 -0
- package/dist/ui/field.d.ts.map +1 -0
- package/dist/ui/field.js +122 -0
- package/dist/ui/field.js.map +1 -0
- package/dist/ui/focus-on-route-change.d.ts +9 -0
- package/dist/ui/focus-on-route-change.d.ts.map +1 -0
- package/dist/ui/focus-on-route-change.js +17 -0
- package/dist/ui/focus-on-route-change.js.map +1 -0
- package/dist/ui/form.d.ts +47 -0
- package/dist/ui/form.d.ts.map +1 -0
- package/dist/ui/form.js +95 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.d.ts +20 -0
- package/dist/ui/hover-card.d.ts.map +1 -0
- package/dist/ui/hover-card.js +37 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/input-group.d.ts +44 -0
- package/dist/ui/input-group.d.ts.map +1 -0
- package/dist/ui/input-group.js +84 -0
- package/dist/ui/input-group.js.map +1 -0
- package/dist/ui/input-otp.d.ts +39 -0
- package/dist/ui/input-otp.d.ts.map +1 -0
- package/dist/ui/input-otp.js +47 -0
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.ts +13 -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 +12 -0
- package/dist/ui/label.d.ts.map +1 -0
- package/dist/ui/label.js +20 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/link.d.ts +9 -0
- package/dist/ui/link.d.ts.map +1 -0
- package/dist/ui/link.js +18 -0
- package/dist/ui/link.js.map +1 -0
- package/dist/ui/live-region.d.ts +17 -0
- package/dist/ui/live-region.d.ts.map +1 -0
- package/dist/ui/live-region.js +48 -0
- package/dist/ui/live-region.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 +21 -0
- package/dist/ui/loading-button.js.map +1 -0
- package/dist/ui/map/MapBase.d.ts +29 -0
- package/dist/ui/map/MapBase.d.ts.map +1 -0
- package/dist/ui/map/MapBase.js +48 -0
- package/dist/ui/map/MapBase.js.map +1 -0
- package/dist/ui/map/MapGeoJsonOverlay.d.ts +16 -0
- package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
- package/dist/ui/map/MapGeoJsonOverlay.js +39 -0
- package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
- package/dist/ui/map/MapHeatmapH3.d.ts +18 -0
- package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
- package/dist/ui/map/MapHeatmapH3.js +52 -0
- package/dist/ui/map/MapHeatmapH3.js.map +1 -0
- package/dist/ui/map/MapMarkers.d.ts +20 -0
- package/dist/ui/map/MapMarkers.d.ts.map +1 -0
- package/dist/ui/map/MapMarkers.js +35 -0
- package/dist/ui/map/MapMarkers.js.map +1 -0
- package/dist/ui/map/index.d.ts +5 -0
- package/dist/ui/map/index.js +6 -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 +53 -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 +85 -0
- package/dist/ui/menubar.d.ts.map +1 -0
- package/dist/ui/menubar.js +138 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/molecules/Autocomplete/index.d.ts +7 -0
- package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
- package/dist/ui/molecules/Autocomplete/index.js +86 -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 +103 -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 +24 -0
- package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
- package/dist/ui/molecules/SearchAndFilter/types.js +1 -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/nav-layout.d.ts +71 -0
- package/dist/ui/nav-layout.d.ts.map +1 -0
- package/dist/ui/nav-layout.js +133 -0
- package/dist/ui/nav-layout.js.map +1 -0
- package/dist/ui/navigation-menu.d.ts +47 -0
- package/dist/ui/navigation-menu.d.ts.map +1 -0
- package/dist/ui/navigation-menu.js +83 -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 +112 -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 +41 -0
- package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
- package/dist/ui/organisms/ListPage/types.js +1 -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 +40 -0
- package/dist/ui/page-header.js.map +1 -0
- package/dist/ui/pagination.d.ts +50 -0
- package/dist/ui/pagination.d.ts.map +1 -0
- package/dist/ui/pagination.js +65 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.d.ts +23 -0
- package/dist/ui/popover.d.ts.map +1 -0
- package/dist/ui/popover.js +40 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.d.ts +13 -0
- package/dist/ui/progress.d.ts.map +1 -0
- package/dist/ui/progress.js +25 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio-group.d.ts +16 -0
- package/dist/ui/radio-group.d.ts.map +1 -0
- package/dist/ui/radio-group.js +33 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.d.ts +36 -0
- package/dist/ui/resizable.d.ts.map +1 -0
- package/dist/ui/resizable.js +26 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/route-announcer.d.ts +11 -0
- package/dist/ui/route-announcer.d.ts.map +1 -0
- package/dist/ui/route-announcer.js +23 -0
- package/dist/ui/route-announcer.js.map +1 -0
- package/dist/ui/scroll-area.d.ts +18 -0
- package/dist/ui/scroll-area.d.ts.map +1 -0
- package/dist/ui/scroll-area.js +41 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/section.d.ts +27 -0
- package/dist/ui/section.d.ts.map +1 -0
- package/dist/ui/section.js +63 -0
- package/dist/ui/section.js.map +1 -0
- package/dist/ui/select.d.ts +52 -0
- package/dist/ui/select.d.ts.map +1 -0
- package/dist/ui/select.js +101 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts +14 -0
- package/dist/ui/separator.d.ts.map +1 -0
- package/dist/ui/separator.js +22 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.d.ts +41 -0
- package/dist/ui/sheet.d.ts.map +1 -0
- package/dist/ui/sheet.js +87 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.d.ts +77 -0
- package/dist/ui/sidebar.d.ts.map +1 -0
- package/dist/ui/sidebar.js +380 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.d.ts +10 -0
- package/dist/ui/skeleton.d.ts.map +1 -0
- package/dist/ui/skeleton.js +15 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/skip-link.d.ts +17 -0
- package/dist/ui/skip-link.d.ts.map +1 -0
- package/dist/ui/skip-link.js +17 -0
- package/dist/ui/skip-link.js.map +1 -0
- package/dist/ui/slider.d.ts +16 -0
- package/dist/ui/slider.d.ts.map +1 -0
- package/dist/ui/slider.js +41 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.d.ts +10 -0
- package/dist/ui/sonner.d.ts.map +1 -0
- package/dist/ui/sonner.js +25 -0
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/stack.d.ts +48 -0
- package/dist/ui/stack.d.ts.map +1 -0
- package/dist/ui/stack.js +158 -0
- package/dist/ui/stack.js.map +1 -0
- package/dist/ui/stat-card-group.d.ts +19 -0
- package/dist/ui/stat-card-group.d.ts.map +1 -0
- package/dist/ui/stat-card-group.js +39 -0
- package/dist/ui/stat-card-group.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 +37 -0
- package/dist/ui/stepper.js.map +1 -0
- package/dist/ui/switch.d.ts +12 -0
- package/dist/ui/switch.d.ts.map +1 -0
- package/dist/ui/switch.js +24 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.d.ts +39 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +72 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +24 -0
- package/dist/ui/tabs.d.ts.map +1 -0
- package/dist/ui/tabs.js +41 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/text.d.ts +16 -0
- package/dist/ui/text.d.ts.map +1 -0
- package/dist/ui/text.js +16 -0
- package/dist/ui/text.js.map +1 -0
- package/dist/ui/textarea.d.ts +12 -0
- package/dist/ui/textarea.d.ts.map +1 -0
- package/dist/ui/textarea.js +16 -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 +82 -0
- package/dist/ui/time-picker.js.map +1 -0
- package/dist/ui/toast.d.ts +20 -0
- package/dist/ui/toast.d.ts.map +1 -0
- package/dist/ui/toast.js +63 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.d.ts +7 -0
- package/dist/ui/toaster.d.ts.map +1 -0
- package/dist/ui/toaster.js +28 -0
- package/dist/ui/toaster.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +24 -0
- package/dist/ui/toggle-group.d.ts.map +1 -0
- package/dist/ui/toggle-group.js +49 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.ts +20 -0
- package/dist/ui/toggle.d.ts.map +1 -0
- package/dist/ui/toggle.js +42 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.d.ts +24 -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 +87 -0
- package/dist/ui/typography.js.map +1 -0
- package/dist/ui/use-media-query.d.ts +5 -0
- package/dist/ui/use-media-query.d.ts.map +1 -0
- package/dist/ui/use-media-query.js +20 -0
- package/dist/ui/use-media-query.js.map +1 -0
- package/dist/ui/use-mobile.d.ts +5 -0
- package/dist/ui/use-mobile.d.ts.map +1 -0
- package/dist/ui/use-mobile.js +21 -0
- package/dist/ui/use-mobile.js.map +1 -0
- package/dist/ui/use-reduced-motion.d.ts +5 -0
- package/dist/ui/use-reduced-motion.d.ts.map +1 -0
- package/dist/ui/use-reduced-motion.js +18 -0
- package/dist/ui/use-reduced-motion.js.map +1 -0
- package/dist/ui/use-toast.d.ts +50 -0
- package/dist/ui/use-toast.d.ts.map +1 -0
- package/dist/ui/use-toast.js +123 -0
- package/dist/ui/use-toast.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/dist/ui/visually-hidden.d.ts +10 -0
- package/dist/ui/visually-hidden.d.ts.map +1 -0
- package/dist/ui/visually-hidden.js +31 -0
- package/dist/ui/visually-hidden.js.map +1 -0
- package/package.json +222 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":["React","open"],"sources":["../../ui/sidebar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeft } from 'lucide-react';\n\nimport { useIsMobile } from './use-mobile';\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport { Sheet, SheetContent } from './sheet';\nimport { Skeleton } from './skeleton';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ninterface SidebarContext {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n }\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n }\n);\nSidebarProvider.displayName = 'SidebarProvider';\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n }\n>(\n (\n {\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n ref={ref}\n className=\"text-sidebar-foreground group peer hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-2xs\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n }\n);\nSidebar.displayName = 'Sidebar';\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n});\nSidebarTrigger.displayName = 'SidebarTrigger';\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'>\n>(({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n});\nSidebarRail.displayName = 'SidebarRail';\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'main'>\n>(({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n 'bg-background relative flex min-h-svh flex-1 flex-col',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-2xs md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2',\n className\n )}\n {...props}\n />\n );\n});\nSidebarInset.displayName = 'SidebarInset';\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n React.ComponentProps<typeof Input>\n>(({ className, ...props }, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'focus-visible:ring-sidebar-ring bg-background h-8 w-full shadow-none focus-visible:ring-2',\n className\n )}\n {...props}\n />\n );\n});\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n );\n});\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n );\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-sm font-medium outline-hidden transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn('w-full text-base', className)}\n {...props}\n />\n));\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<'ul'>\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n));\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<'li'>\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n));\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-base outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-base',\n sm: 'h-7 text-sm',\n lg: 'h-12 text-base group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n }\n);\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-sm font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n));\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n showIcon?: boolean;\n }\n>(({ className, showIcon = false, ...props }, ref) => {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\nconst SidebarMenuSub = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<'ul'>\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n));\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<'li'>\n>(({ ...props }, ref) => <li ref={ref} {...props} />);\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-sm',\n size === 'md' && 'text-base',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime119 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region ui/skeleton.d.ts
|
|
4
|
+
declare function Skeleton({
|
|
5
|
+
className,
|
|
6
|
+
...props
|
|
7
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime119.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Skeleton };
|
|
10
|
+
//# sourceMappingURL=skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":[],"mappings":";;;iBAES,QAAA;;;GAAkC,KAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/skeleton.tsx
|
|
5
|
+
function Skeleton({ className,...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", {
|
|
7
|
+
"data-slot": "skeleton",
|
|
8
|
+
className: cn("bg-accent animate-pulse rounded-md", className),
|
|
9
|
+
...props
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { Skeleton };
|
|
15
|
+
//# sourceMappingURL=skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.js","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":["import { cn } from './utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse rounded-md', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,UAAW,GAAG,SAAsC;AACtE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime85 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/skip-link.d.ts
|
|
5
|
+
interface SkipLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
6
|
+
targetId?: string;
|
|
7
|
+
children?: React$1.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
declare function SkipLink({
|
|
10
|
+
targetId,
|
|
11
|
+
children,
|
|
12
|
+
className,
|
|
13
|
+
...props
|
|
14
|
+
}: SkipLinkProps): react_jsx_runtime85.JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { SkipLink };
|
|
17
|
+
//# sourceMappingURL=skip-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip-link.d.ts","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":[],"mappings":";;;;UAEU,aAAA,SAAsB,OAAA,CAAM,qBAAqB;;aAE9C,OAAA,CAAM;AAJY;AAE4B,iBAQ3C,QAAA,CAR2C;EAAA,QAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAaxD,aAbwD,CAAA,EAa3C,mBAAA,CAAA,GAAA,CAAA,OAb2C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/skip-link.tsx
|
|
5
|
+
const defaultClasses = "sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs";
|
|
6
|
+
function SkipLink({ targetId = "main", children, className,...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx("a", {
|
|
8
|
+
className: [defaultClasses, className].filter(Boolean).join(" "),
|
|
9
|
+
href: `#${targetId}`,
|
|
10
|
+
...props,
|
|
11
|
+
children: children ?? "Skip to main content"
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { SkipLink };
|
|
17
|
+
//# sourceMappingURL=skip-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip-link.js","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":["import * as React from 'react';\n\ninterface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n targetId?: string;\n children?: React.ReactNode;\n}\n\nconst defaultClasses =\n 'sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs';\n\nexport function SkipLink({\n targetId = 'main',\n children,\n className,\n ...props\n}: SkipLinkProps) {\n return (\n <a\n className={[defaultClasses, className].filter(Boolean).join(' ')}\n href={`#${targetId}`}\n {...props}\n >\n {children ?? 'Skip to main content'}\n </a>\n );\n}\n"],"mappings":";;;;AAOA,MAAM,iBACJ;AAEF,SAAgB,SAAS,EACvB,WAAW,QACX,UACA,UACA,GAAG,SACa;AAChB,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAChE,MAAM,IAAI;EACV,GAAI;YAEH,YAAY;GACX"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime63 from "react/jsx-runtime";
|
|
3
|
+
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
4
|
+
|
|
5
|
+
//#region ui/slider.d.ts
|
|
6
|
+
declare function Slider({
|
|
7
|
+
className,
|
|
8
|
+
defaultValue,
|
|
9
|
+
value,
|
|
10
|
+
min,
|
|
11
|
+
max,
|
|
12
|
+
...props
|
|
13
|
+
}: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime63.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Slider };
|
|
16
|
+
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","names":[],"sources":["../../ui/slider.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;;;;;GAON,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { cn } from "./utils.js";
|
|
5
|
+
import * as React$1 from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
8
|
+
|
|
9
|
+
//#region ui/slider.tsx
|
|
10
|
+
function Slider({ className, defaultValue, value, min = 0, max = 100,...props }) {
|
|
11
|
+
const _values = React$1.useMemo(() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max], [
|
|
12
|
+
value,
|
|
13
|
+
defaultValue,
|
|
14
|
+
min,
|
|
15
|
+
max
|
|
16
|
+
]);
|
|
17
|
+
return /* @__PURE__ */ jsxs(SliderPrimitive.Root, {
|
|
18
|
+
"data-slot": "slider",
|
|
19
|
+
defaultValue,
|
|
20
|
+
value,
|
|
21
|
+
min,
|
|
22
|
+
max,
|
|
23
|
+
className: cn("relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className),
|
|
24
|
+
...props,
|
|
25
|
+
children: [/* @__PURE__ */ jsx(SliderPrimitive.Track, {
|
|
26
|
+
"data-slot": "slider-track",
|
|
27
|
+
className: cn("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),
|
|
28
|
+
children: /* @__PURE__ */ jsx(SliderPrimitive.Range, {
|
|
29
|
+
"data-slot": "slider-range",
|
|
30
|
+
className: cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")
|
|
31
|
+
})
|
|
32
|
+
}), Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx(SliderPrimitive.Thumb, {
|
|
33
|
+
"data-slot": "slider-thumb",
|
|
34
|
+
className: "border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-2xs transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
|
|
35
|
+
}, index))]
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { Slider };
|
|
41
|
+
//# sourceMappingURL=slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.js","names":["React"],"sources":["../../ui/slider.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as SliderPrimitive from '@radix-ui/react-slider';\n\nimport { cn } from './utils';\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max]\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n 'relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n 'bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5'\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n 'bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full'\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-2xs transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"mappings":";;;;;;;;;AAOA,SAAS,OAAO,EACd,WACA,cACA,OACA,MAAM,GACN,MAAM,IACN,GAAG,SACiD;CACpD,MAAM,UAAUA,QAAM,cAElB,MAAM,QAAQ,MAAM,GAChB,QACA,MAAM,QAAQ,aAAa,GACzB,eACA,CAAC,KAAK,IAAI,EAClB;EAAC;EAAO;EAAc;EAAK;EAAI,CAChC;AAED,QACE,qBAAC,gBAAgB;EACf,aAAU;EACI;EACP;EACF;EACA;EACL,WAAW,GACT,qOACA,UACD;EACD,GAAI;aAEJ,oBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT,oMACD;aAED,oBAAC,gBAAgB;IACf,aAAU;IACV,WAAW,GACT,8FACD;KACD;IACoB,EACvB,MAAM,KAAK,EAAE,QAAQ,QAAQ,QAAQ,GAAG,GAAG,UAC1C,oBAAC,gBAAgB;GACf,aAAU;GAEV,WAAU;KADL,MAEL,CACF;GACmB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime74 from "react/jsx-runtime";
|
|
2
|
+
import { ToasterProps } from "sonner";
|
|
3
|
+
|
|
4
|
+
//#region ui/sonner.d.ts
|
|
5
|
+
declare const Toaster: ({
|
|
6
|
+
...props
|
|
7
|
+
}: ToasterProps) => react_jsx_runtime74.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Toaster };
|
|
10
|
+
//# sourceMappingURL=sonner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonner.d.ts","names":[],"sources":["../../ui/sonner.tsx"],"sourcesContent":[],"mappings":";;;;cAKM;;GAAyB,iBAAY,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { $e } from "../node_modules/sonner/dist/index.js";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { useTheme } from "next-themes";
|
|
7
|
+
|
|
8
|
+
//#region ui/sonner.tsx
|
|
9
|
+
const Toaster = ({ ...props }) => {
|
|
10
|
+
const { theme = "system" } = useTheme();
|
|
11
|
+
return /* @__PURE__ */ jsx($e, {
|
|
12
|
+
theme,
|
|
13
|
+
className: "toaster group",
|
|
14
|
+
style: {
|
|
15
|
+
"--normal-bg": "var(--popover)",
|
|
16
|
+
"--normal-text": "var(--popover-foreground)",
|
|
17
|
+
"--normal-border": "var(--border)"
|
|
18
|
+
},
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Toaster };
|
|
25
|
+
//# sourceMappingURL=sonner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonner.js","names":["Sonner"],"sources":["../../ui/sonner.tsx"],"sourcesContent":["'use client';\n\nimport { useTheme } from 'next-themes';\nimport { Toaster as Sonner, type ToasterProps } from 'sonner';\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className=\"toaster group\"\n style={\n {\n '--normal-bg': 'var(--popover)',\n '--normal-text': 'var(--popover-foreground)',\n '--normal-border': 'var(--border)',\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster };\n"],"mappings":";;;;;;;;AAKA,MAAM,WAAW,EAAE,GAAG,YAA0B;CAC9C,MAAM,EAAE,QAAQ,aAAa,UAAU;AAEvC,QACE,oBAACA;EACQ;EACP,WAAU;EACV,OACE;GACE,eAAe;GACf,iBAAiB;GACjB,mBAAmB;GACpB;EAEH,GAAI;GACJ"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import * as class_variance_authority_types1 from "class-variance-authority/types";
|
|
4
|
+
|
|
5
|
+
//#region ui/stack.d.ts
|
|
6
|
+
declare const vStackVariants: (props?: ({
|
|
7
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
8
|
+
align?: "start" | "center" | "end" | "stretch" | null | undefined;
|
|
9
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string;
|
|
11
|
+
declare const VStack: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
12
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
13
|
+
align?: "start" | "center" | "end" | "stretch" | null | undefined;
|
|
14
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
15
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string> & {
|
|
16
|
+
as?: "div" | "section" | "nav" | "main" | "header" | "footer" | "article" | "aside";
|
|
17
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
declare const hStackVariants: (props?: ({
|
|
19
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
20
|
+
align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
|
|
21
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
22
|
+
wrap?: "wrap" | "nowrap" | "wrapReverse" | null | undefined;
|
|
23
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string;
|
|
24
|
+
declare const HStack: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
25
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
26
|
+
align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
|
|
27
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
28
|
+
wrap?: "wrap" | "nowrap" | "wrapReverse" | null | undefined;
|
|
29
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string> & {
|
|
30
|
+
as?: "div" | "section" | "nav" | "header" | "footer" | "article" | "aside";
|
|
31
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
32
|
+
declare const boxVariants: (props?: ({
|
|
33
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
34
|
+
align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
|
|
35
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
36
|
+
wrap?: "wrap" | "nowrap" | "wrapReverse" | null | undefined;
|
|
37
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string;
|
|
38
|
+
declare const Box: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
39
|
+
gap?: "sm" | "md" | "lg" | "none" | "xs" | "xl" | "2xl" | null | undefined;
|
|
40
|
+
align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
|
|
41
|
+
justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
42
|
+
wrap?: "wrap" | "nowrap" | "wrapReverse" | null | undefined;
|
|
43
|
+
} & class_variance_authority_types1.ClassProp) | undefined) => string> & {
|
|
44
|
+
as?: "div" | "section" | "nav" | "header" | "footer" | "article" | "aside";
|
|
45
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { Box, HStack, VStack, boxVariants, hStackVariants, vStackVariants };
|
|
48
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","names":[],"sources":["../../ui/stack.tsx"],"sourcesContent":[],"mappings":";;;;;cAIM,sBAyDL;;;EAzDK,OAAA,CAAA,EAAA,OA+BJ,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,QAAA,GAAA,QAAA,GAAA,IAAA,GAAA,SAAA;IAAA,+BAAA,CAAA,SA0BD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;cAXK,MAAM,EAAA,OAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,cAAA,CAAA,cAAA,CAAA,GAAA,YAAA,CAAA,CAAA,MAAA,EAAA,CAAA;EAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,MAAA,GAAA,IAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,SAAA;EAAA,KAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,IAAA,GAAA,SAAA;EAAA,OAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,QAAA,GAAA,QAAA,GAAA,IAAA,GAAA,SAAA;IAAA,+BAAA,CAAA;;CAAA,wBAAA,eAAA,CAAA,CAAA;cAcN,cAdM,EAAA,CAAA,KA2DA,CA3DA,EAAA,CAAA;EAcN,GAAA,CAAA,EAAA,IAAA,GAAA,IAsCJ,GAAA,IAAA,GAAA,MAAA,GAAA,IAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,SAAA;EAOI,KAAA,CAAA,EAAA,OAWL,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,UAAA,GAAA,IAAA,GAAA,SAAA;EAXW,OAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,QAAA,GAAA,QAAA,GAAA,IAAA,GAAA,SAAA;EAAA,IAAA,CAAA,EAAA,MAAA,GAAA,QAAA,GAAA,aAAA,GAAA,IAAA,GAAA,SAAA;CAAA,GAPV,+BAAA,CAAA,SAOU,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;cAAN,MAAM,EAAA,OAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,cAAA,CAAA,cAAA,CAAA,GAAA,YAAA,CAAA,CAAA,KAoDV,CApDU,EAAA,CAAA;;;EAAA,OAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,QAAA,GAAA,QAAA,GAAA,IAAA,GAAA,SAAA;EAAA,IAAA,CAAA,EAAA,MAAA,GAAA,QAAA,GAAA,aAAA,GAAA,IAAA,GAAA,SAAA;AAAA,CAAA,GAAA,+BAAA,CAAA,SAoDV,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA,CAAA,GAAA;EAOI,EAAA,CAAA,EAAA,KAWL,GAAA,SAAA,GAAA,KAAA,GAAA,QAAA,GAAA,QAAA,GAAA,SAAA,GAAA,OAAA;CAXQ,wBAAA,eAAA,CAAA,CAAA;cA7CH,WA6CG,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA;EAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,MAAA,GAAA,IAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,SAAA;EAAA,KAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,UAAA,GAAA,IAAA,GAAA,SAAA;;;CAAA,GAPP,+BAAA,CAAA,SAOO,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;cAAH,GAAG,EAAA,OAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,cAAA,CAAA,cAAA,CAAA,GAAA,YAAA,CAAA,CAAA,MAAA,EAAA,CAAA;;;;;IAAA,+BAAA,CAAA"}
|
package/dist/ui/stack.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { cn } from "./utils.js";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
//#region ui/stack.tsx
|
|
7
|
+
const vStackVariants = cva("flex flex-col", {
|
|
8
|
+
variants: {
|
|
9
|
+
gap: {
|
|
10
|
+
none: "gap-0",
|
|
11
|
+
xs: "gap-1",
|
|
12
|
+
sm: "gap-2",
|
|
13
|
+
md: "gap-3",
|
|
14
|
+
lg: "gap-4",
|
|
15
|
+
xl: "gap-6",
|
|
16
|
+
"2xl": "gap-8"
|
|
17
|
+
},
|
|
18
|
+
align: {
|
|
19
|
+
start: "items-start",
|
|
20
|
+
center: "items-center",
|
|
21
|
+
end: "items-end",
|
|
22
|
+
stretch: "items-stretch"
|
|
23
|
+
},
|
|
24
|
+
justify: {
|
|
25
|
+
start: "justify-start",
|
|
26
|
+
center: "justify-center",
|
|
27
|
+
end: "justify-end",
|
|
28
|
+
between: "justify-between",
|
|
29
|
+
around: "justify-around",
|
|
30
|
+
evenly: "justify-evenly"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: {
|
|
34
|
+
gap: "md",
|
|
35
|
+
align: "stretch",
|
|
36
|
+
justify: "start"
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const VStack = React$1.forwardRef(({ className, gap, align, justify, as = "div",...props }, ref) => {
|
|
40
|
+
return /* @__PURE__ */ jsx(as, {
|
|
41
|
+
ref,
|
|
42
|
+
className: cn(vStackVariants({
|
|
43
|
+
gap,
|
|
44
|
+
align,
|
|
45
|
+
justify
|
|
46
|
+
}), className),
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
VStack.displayName = "VStack";
|
|
51
|
+
const hStackVariants = cva("flex flex-row", {
|
|
52
|
+
variants: {
|
|
53
|
+
gap: {
|
|
54
|
+
none: "gap-0",
|
|
55
|
+
xs: "gap-1",
|
|
56
|
+
sm: "gap-2",
|
|
57
|
+
md: "gap-3",
|
|
58
|
+
lg: "gap-4",
|
|
59
|
+
xl: "gap-6",
|
|
60
|
+
"2xl": "gap-8"
|
|
61
|
+
},
|
|
62
|
+
align: {
|
|
63
|
+
start: "items-start",
|
|
64
|
+
center: "items-center",
|
|
65
|
+
end: "items-end",
|
|
66
|
+
stretch: "items-stretch",
|
|
67
|
+
baseline: "items-baseline"
|
|
68
|
+
},
|
|
69
|
+
justify: {
|
|
70
|
+
start: "justify-start",
|
|
71
|
+
center: "justify-center",
|
|
72
|
+
end: "justify-end",
|
|
73
|
+
between: "justify-between",
|
|
74
|
+
around: "justify-around",
|
|
75
|
+
evenly: "justify-evenly"
|
|
76
|
+
},
|
|
77
|
+
wrap: {
|
|
78
|
+
nowrap: "flex-nowrap",
|
|
79
|
+
wrap: "flex-wrap",
|
|
80
|
+
wrapReverse: "flex-wrap-reverse"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
defaultVariants: {
|
|
84
|
+
gap: "md",
|
|
85
|
+
align: "center",
|
|
86
|
+
justify: "start",
|
|
87
|
+
wrap: "wrap"
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const HStack = React$1.forwardRef(({ className, gap, align, justify, wrap, as = "div",...props }, ref) => {
|
|
91
|
+
return /* @__PURE__ */ jsx(as, {
|
|
92
|
+
ref,
|
|
93
|
+
className: cn(hStackVariants({
|
|
94
|
+
gap,
|
|
95
|
+
align,
|
|
96
|
+
justify,
|
|
97
|
+
wrap
|
|
98
|
+
}), className),
|
|
99
|
+
...props
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
HStack.displayName = "HStack";
|
|
103
|
+
const boxVariants = cva("flex flex-row", {
|
|
104
|
+
variants: {
|
|
105
|
+
gap: {
|
|
106
|
+
none: "gap-0",
|
|
107
|
+
xs: "gap-1",
|
|
108
|
+
sm: "gap-2",
|
|
109
|
+
md: "gap-3",
|
|
110
|
+
lg: "gap-4",
|
|
111
|
+
xl: "gap-6",
|
|
112
|
+
"2xl": "gap-8"
|
|
113
|
+
},
|
|
114
|
+
align: {
|
|
115
|
+
start: "items-start",
|
|
116
|
+
center: "items-center",
|
|
117
|
+
end: "items-end",
|
|
118
|
+
stretch: "items-stretch",
|
|
119
|
+
baseline: "items-baseline"
|
|
120
|
+
},
|
|
121
|
+
justify: {
|
|
122
|
+
start: "justify-start",
|
|
123
|
+
center: "justify-center",
|
|
124
|
+
end: "justify-end",
|
|
125
|
+
between: "justify-between",
|
|
126
|
+
around: "justify-around",
|
|
127
|
+
evenly: "justify-evenly"
|
|
128
|
+
},
|
|
129
|
+
wrap: {
|
|
130
|
+
nowrap: "flex-nowrap",
|
|
131
|
+
wrap: "flex-wrap",
|
|
132
|
+
wrapReverse: "flex-wrap-reverse"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
defaultVariants: {
|
|
136
|
+
gap: "md",
|
|
137
|
+
align: "center",
|
|
138
|
+
justify: "center",
|
|
139
|
+
wrap: "nowrap"
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
const Box = React$1.forwardRef(({ className, gap, align, justify, wrap, as = "div",...props }, ref) => {
|
|
143
|
+
return /* @__PURE__ */ jsx(as, {
|
|
144
|
+
ref,
|
|
145
|
+
className: cn(boxVariants({
|
|
146
|
+
gap,
|
|
147
|
+
align,
|
|
148
|
+
justify,
|
|
149
|
+
wrap
|
|
150
|
+
}), className),
|
|
151
|
+
...props
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
Box.displayName = "Box";
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
export { Box, HStack, VStack, boxVariants, hStackVariants, vStackVariants };
|
|
158
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","names":["React"],"sources":["../../ui/stack.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from './utils';\n\nconst vStackVariants = cva('flex flex-col', {\n variants: {\n gap: {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6',\n '2xl': 'gap-8',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n },\n defaultVariants: {\n gap: 'md',\n align: 'stretch',\n justify: 'start',\n },\n});\n\ntype VStackProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof vStackVariants> & {\n as?:\n | 'div'\n | 'section'\n | 'nav'\n | 'main'\n | 'header'\n | 'footer'\n | 'article'\n | 'aside';\n };\n\nconst VStack = React.forwardRef<HTMLDivElement, VStackProps>(\n ({ className, gap, align, justify, as = 'div', ...props }, ref) => {\n const Comp: any = as;\n return (\n <Comp\n ref={ref}\n className={cn(vStackVariants({ gap, align, justify }), className)}\n {...props}\n />\n );\n }\n);\nVStack.displayName = 'VStack';\n\nconst hStackVariants = cva('flex flex-row', {\n variants: {\n gap: {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6',\n '2xl': 'gap-8',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n wrap: {\n nowrap: 'flex-nowrap',\n wrap: 'flex-wrap',\n wrapReverse: 'flex-wrap-reverse',\n },\n },\n defaultVariants: {\n gap: 'md',\n align: 'center',\n justify: 'start',\n wrap: 'wrap',\n },\n});\n\ntype HStackProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof hStackVariants> & {\n as?: 'div' | 'section' | 'nav' | 'header' | 'footer' | 'article' | 'aside';\n };\n\nconst HStack = React.forwardRef<HTMLDivElement, HStackProps>(\n ({ className, gap, align, justify, wrap, as = 'div', ...props }, ref) => {\n const Comp: any = as;\n return (\n <Comp\n ref={ref}\n className={cn(hStackVariants({ gap, align, justify, wrap }), className)}\n {...props}\n />\n );\n }\n);\nHStack.displayName = 'HStack';\n\nconst boxVariants = cva('flex flex-row', {\n variants: {\n gap: {\n none: 'gap-0',\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6',\n '2xl': 'gap-8',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n },\n wrap: {\n nowrap: 'flex-nowrap',\n wrap: 'flex-wrap',\n wrapReverse: 'flex-wrap-reverse',\n },\n },\n defaultVariants: {\n gap: 'md',\n align: 'center',\n justify: 'center',\n wrap: 'nowrap',\n },\n});\n\ntype BoxProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof boxVariants> & {\n as?: 'div' | 'section' | 'nav' | 'header' | 'footer' | 'article' | 'aside';\n };\n\nconst Box = React.forwardRef<HTMLDivElement, BoxProps>(\n ({ className, gap, align, justify, wrap, as = 'div', ...props }, ref) => {\n const Comp: any = as;\n return (\n <Comp\n ref={ref}\n className={cn(boxVariants({ gap, align, justify, wrap }), className)}\n {...props}\n />\n );\n }\n);\nBox.displayName = 'Box';\n\nexport { VStack, HStack, vStackVariants, hStackVariants, boxVariants, Box };\n"],"mappings":";;;;;;AAIA,MAAM,iBAAiB,IAAI,iBAAiB;CAC1C,UAAU;EACR,KAAK;GACH,MAAM;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,OAAO;GACR;EACD,OAAO;GACL,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACV;EACD,SAAS;GACP,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACF;CACD,iBAAiB;EACf,KAAK;EACL,OAAO;EACP,SAAS;EACV;CACF,CAAC;AAeF,MAAM,SAASA,QAAM,YAClB,EAAE,WAAW,KAAK,OAAO,SAAS,KAAK,MAAO,GAAG,SAAS,QAAQ;AAEjE,QACE,oBAFgB;EAGT;EACL,WAAW,GAAG,eAAe;GAAE;GAAK;GAAO;GAAS,CAAC,EAAE,UAAU;EACjE,GAAI;GACJ;EAGP;AACD,OAAO,cAAc;AAErB,MAAM,iBAAiB,IAAI,iBAAiB;CAC1C,UAAU;EACR,KAAK;GACH,MAAM;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,OAAO;GACR;EACD,OAAO;GACL,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,UAAU;GACX;EACD,SAAS;GACP,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACD,MAAM;GACJ,QAAQ;GACR,MAAM;GACN,aAAa;GACd;EACF;CACD,iBAAiB;EACf,KAAK;EACL,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACF,CAAC;AAOF,MAAM,SAASA,QAAM,YAClB,EAAE,WAAW,KAAK,OAAO,SAAS,MAAM,KAAK,MAAO,GAAG,SAAS,QAAQ;AAEvE,QACE,oBAFgB;EAGT;EACL,WAAW,GAAG,eAAe;GAAE;GAAK;GAAO;GAAS;GAAM,CAAC,EAAE,UAAU;EACvE,GAAI;GACJ;EAGP;AACD,OAAO,cAAc;AAErB,MAAM,cAAc,IAAI,iBAAiB;CACvC,UAAU;EACR,KAAK;GACH,MAAM;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,OAAO;GACR;EACD,OAAO;GACL,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,UAAU;GACX;EACD,SAAS;GACP,OAAO;GACP,QAAQ;GACR,KAAK;GACL,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACD,MAAM;GACJ,QAAQ;GACR,MAAM;GACN,aAAa;GACd;EACF;CACD,iBAAiB;EACf,KAAK;EACL,OAAO;EACP,SAAS;EACT,MAAM;EACP;CACF,CAAC;AAOF,MAAM,MAAMA,QAAM,YACf,EAAE,WAAW,KAAK,OAAO,SAAS,MAAM,KAAK,MAAO,GAAG,SAAS,QAAQ;AAEvE,QACE,oBAFgB;EAGT;EACL,WAAW,GAAG,YAAY;GAAE;GAAK;GAAO;GAAS;GAAM,CAAC,EAAE,UAAU;EACpE,GAAI;GACJ;EAGP;AACD,IAAI,cAAc"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime250 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ui/stat-card-group.d.ts
|
|
5
|
+
interface StatItem {
|
|
6
|
+
label: React$1.ReactNode;
|
|
7
|
+
value: React$1.ReactNode;
|
|
8
|
+
tone?: 'blue' | 'green' | 'amber';
|
|
9
|
+
}
|
|
10
|
+
declare function StatCardGroup({
|
|
11
|
+
items,
|
|
12
|
+
className
|
|
13
|
+
}: {
|
|
14
|
+
items: StatItem[];
|
|
15
|
+
className?: string;
|
|
16
|
+
}): react_jsx_runtime250.JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { StatCardGroup, StatItem };
|
|
19
|
+
//# sourceMappingURL=stat-card-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card-group.d.ts","names":[],"sources":["../../ui/stat-card-group.tsx"],"sourcesContent":[],"mappings":";;;;UAIiB,QAAA;SACR,OAAA,CAAM;SACN,OAAA,CAAM;EAFE,IAAA,CAAA,EAAA,MAAQ,GAAA,OAAA,GAChB,OAAM;AAiBf;AACE,iBADc,aAAA,CACd;EAAA,KAAA;EAAA;CAAA,EAAA;EACA,KAAA,EAEO,QAFP,EAAA;EAEO,SAAA,CAAA,EAAA,MAAA;CAER,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Card, CardContent } from "./card.js";
|
|
2
|
+
import { HStack, VStack } from "./stack.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region ui/stat-card-group.tsx
|
|
7
|
+
function toneClasses(tone) {
|
|
8
|
+
switch (tone) {
|
|
9
|
+
case "green": return "bg-green-50 text-green-800";
|
|
10
|
+
case "amber": return "bg-amber-50 text-amber-800";
|
|
11
|
+
case "blue":
|
|
12
|
+
default: return "bg-blue-50 text-blue-800";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function StatCardGroup({ items, className }) {
|
|
16
|
+
return /* @__PURE__ */ jsx(HStack, {
|
|
17
|
+
className: className + " w-full flex-wrap gap-3",
|
|
18
|
+
children: items.map((it, idx) => /* @__PURE__ */ jsx(Card, {
|
|
19
|
+
className: "border-none shadow-2xs",
|
|
20
|
+
children: /* @__PURE__ */ jsx(CardContent, {
|
|
21
|
+
className: "px-4 py-3",
|
|
22
|
+
children: /* @__PURE__ */ jsxs(VStack, {
|
|
23
|
+
className: "gap-1",
|
|
24
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
25
|
+
className: `w-fit rounded-xs px-2 py-0.5 text-sm ${toneClasses(it.tone)}`,
|
|
26
|
+
children: it.label
|
|
27
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: "text-xl font-semibold",
|
|
29
|
+
children: it.value
|
|
30
|
+
})]
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
}, idx))
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { StatCardGroup };
|
|
39
|
+
//# sourceMappingURL=stat-card-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card-group.js","names":[],"sources":["../../ui/stat-card-group.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Card, CardContent } from './card';\nimport { HStack, VStack } from './stack';\n\nexport interface StatItem {\n label: React.ReactNode;\n value: React.ReactNode;\n tone?: 'blue' | 'green' | 'amber';\n}\n\nfunction toneClasses(tone?: StatItem['tone']) {\n switch (tone) {\n case 'green':\n return 'bg-green-50 text-green-800';\n case 'amber':\n return 'bg-amber-50 text-amber-800';\n case 'blue':\n default:\n return 'bg-blue-50 text-blue-800';\n }\n}\n\nexport function StatCardGroup({\n items,\n className,\n}: {\n items: StatItem[];\n className?: string;\n}) {\n return (\n <HStack className={className + ' w-full flex-wrap gap-3'}>\n {items.map((it, idx) => (\n <Card key={idx} className=\"border-none shadow-2xs\">\n <CardContent className=\"px-4 py-3\">\n <VStack className=\"gap-1\">\n <div\n className={`w-fit rounded-xs px-2 py-0.5 text-sm ${toneClasses(it.tone)}`}\n >\n {it.label}\n </div>\n <div className=\"text-xl font-semibold\">{it.value}</div>\n </VStack>\n </CardContent>\n </Card>\n ))}\n </HStack>\n );\n}\n"],"mappings":";;;;;;AAUA,SAAS,YAAY,MAAyB;AAC5C,SAAQ,MAAR;EACE,KAAK,QACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK;EACL,QACE,QAAO;;;AAIb,SAAgB,cAAc,EAC5B,OACA,aAIC;AACD,QACE,oBAAC;EAAO,WAAW,YAAY;YAC5B,MAAM,KAAK,IAAI,QACd,oBAAC;GAAe,WAAU;aACxB,oBAAC;IAAY,WAAU;cACrB,qBAAC;KAAO,WAAU;gBAChB,oBAAC;MACC,WAAW,wCAAwC,YAAY,GAAG,KAAK;gBAEtE,GAAG;OACA,EACN,oBAAC;MAAI,WAAU;gBAAyB,GAAG;OAAY;MAChD;KACG;KAVL,IAWJ,CACP;GACK"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as react_jsx_runtime205 from "react/jsx-runtime";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import * as class_variance_authority_types20 from "class-variance-authority/types";
|
|
4
|
+
|
|
5
|
+
//#region ui/stepper.d.ts
|
|
6
|
+
declare const dotVariants: (props?: ({
|
|
7
|
+
state?: "active" | "inactive" | null | undefined;
|
|
8
|
+
size?: "sm" | "md" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types20.ClassProp) | undefined) => string;
|
|
10
|
+
interface StepperProps extends VariantProps<typeof dotVariants> {
|
|
11
|
+
current: number;
|
|
12
|
+
total: number;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function Stepper({
|
|
16
|
+
current,
|
|
17
|
+
total,
|
|
18
|
+
size,
|
|
19
|
+
className
|
|
20
|
+
}: StepperProps): react_jsx_runtime205.JSX.Element;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Stepper, StepperProps };
|
|
23
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","names":[],"sources":["../../ui/stepper.tsx"],"sourcesContent":[],"mappings":";;;;;cAKM;;;IAeJ,gCAAA,CAAA;AAfI,UAiBW,YAAA,SAAqB,YAFpC,CAAA,OAEwD,WAFxD,CAAA,CAAA;EAEe,OAAA,EAAA,MAAa;EAMd,KAAA,EAAA,MAAO;EAAG,SAAA,CAAA,EAAA,MAAA;;AAAgB,iBAA1B,OAAA,CAA0B;EAAA,OAAA;EAAA,KAAA;EAAA,IAAA;EAAA;AAAA,CAAA,EAAmB,YAAnB,CAAA,EAA+B,oBAAA,CAAA,GAAA,CAAA,OAA/B"}
|