@contractspec/lib.ui-kit-web 0.0.0-canary-20260113162409
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/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +0 -0
- package/dist/ui/accordion.d.ts +25 -0
- package/dist/ui/accordion.d.ts.map +1 -0
- package/dist/ui/accordion.js +48 -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 +85 -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 +10 -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 +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 +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 +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 +20 -0
- package/dist/ui/avatar.d.ts.map +1 -0
- package/dist/ui/avatar.js +33 -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 +21 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/button.js +55 -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 +109 -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 +136 -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 +25 -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 +28 -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 +90 -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 +84 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/cta.d.ts +23 -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 +101 -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 +54 -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 +44 -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 +90 -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 +82 -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 +127 -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 +37 -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 +66 -0
- package/dist/ui/field.d.ts.map +1 -0
- package/dist/ui/field.js +121 -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 +94 -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 +36 -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 +89 -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 +46 -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 +19 -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 +47 -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 +28 -0
- package/dist/ui/map/MapBase.d.ts.map +1 -0
- package/dist/ui/map/MapBase.js +46 -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 +37 -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 +50 -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 +39 -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 +137 -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 +85 -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 +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/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 +107 -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 +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 +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 +39 -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 +24 -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 +32 -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 +25 -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 +22 -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 +40 -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 +100 -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 +21 -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 +86 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.d.ts +167 -0
- package/dist/ui/sidebar.d.ts.map +1 -0
- package/dist/ui/sidebar.js +379 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.d.ts +11 -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 +40 -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 +24 -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 +15 -0
- package/dist/ui/switch.d.ts.map +1 -0
- package/dist/ui/switch.js +23 -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 +71 -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 +40 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/text.d.ts +15 -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 +81 -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 +62 -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 +27 -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 +48 -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 +41 -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 +40 -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 +122 -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 +346 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Chaman Ventures, SASU
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# @contractspec/lib.ui-kit-web
|
|
2
|
+
|
|
3
|
+
Website: https://contractspec.io/
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Web-specific UI components and primitives for Next.js/React applications, built on top of Radix UI and Tailwind CSS.
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
To provide a comprehensive set of accessible, high-performance UI components specifically optimized for the modern web. While `@contractspec/lib.ui-kit` focuses on universal (native + web) compatibility, this library leverages web-only capabilities like portals, heavy data tables, and mapping libraries.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @contractspec/lib.ui-kit-web
|
|
16
|
+
# or
|
|
17
|
+
bun add @contractspec/lib.ui-kit-web
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Key Concepts
|
|
21
|
+
|
|
22
|
+
- **Radix UI Primitives**: Most components are unstyled accessible wrappers around Radix UI.
|
|
23
|
+
- **Shadcn UI Compatible**: Structure and styling closely follow the popular shadcn/ui patterns, making it easy to adopt and extend.
|
|
24
|
+
- **Web Optimizations**: Includes `SkipLink`, `VisuallyHidden`, and `LiveRegion` for WCAG compliance.
|
|
25
|
+
- **Mapping**: Integrated `maplibre-gl` components for geo-spatial visualizations.
|
|
26
|
+
|
|
27
|
+
## Exports
|
|
28
|
+
|
|
29
|
+
### Core UI
|
|
30
|
+
|
|
31
|
+
- Standard Radix wrappers: `accordion`, `dialog`, `dropdown-menu`, `popover`, `tabs`, etc.
|
|
32
|
+
- Forms: `input`, `select`, `checkbox`, `switch`, `slider`, `radio-group`.
|
|
33
|
+
- Feedback: `toast`, `alert`, `progress`, `skeleton`.
|
|
34
|
+
|
|
35
|
+
### Web Specifics
|
|
36
|
+
|
|
37
|
+
- `ui/map/*`: `MapBase`, `MapGeoJsonOverlay`, `MapHeatmapH3`, `MapMarkers`.
|
|
38
|
+
- `ui/resizable`: Resizable panel layouts.
|
|
39
|
+
- `ui/scroll-area`: Custom cross-browser scrollbars.
|
|
40
|
+
- `ui/sonner`: High-performance toast notifications.
|
|
41
|
+
|
|
42
|
+
### Accessibility
|
|
43
|
+
|
|
44
|
+
- `ui/skip-link`: For keyboard navigation users.
|
|
45
|
+
- `ui/visually-hidden`: For screen-reader only content.
|
|
46
|
+
- `ui/live-region`: Announce dynamic changes.
|
|
47
|
+
- `ui/route-announcer`: Announce page changes in SPAs.
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { Button } from '@contractspec/lib.ui-kit-web/ui/button';
|
|
53
|
+
import {
|
|
54
|
+
Dialog,
|
|
55
|
+
DialogContent,
|
|
56
|
+
DialogTrigger,
|
|
57
|
+
} from '@contractspec/lib.ui-kit-web/ui/dialog';
|
|
58
|
+
import { Input } from '@contractspec/lib.ui-kit-web/ui/input';
|
|
59
|
+
|
|
60
|
+
export function LoginModal() {
|
|
61
|
+
return (
|
|
62
|
+
<Dialog>
|
|
63
|
+
<DialogTrigger asChild>
|
|
64
|
+
<Button variant="outline">Login</Button>
|
|
65
|
+
</DialogTrigger>
|
|
66
|
+
<DialogContent className="sm:max-w-[425px]">
|
|
67
|
+
<div className="grid gap-4 py-4">
|
|
68
|
+
<Input id="email" placeholder="Email" />
|
|
69
|
+
<Button type="submit">Sign in</Button>
|
|
70
|
+
</div>
|
|
71
|
+
</DialogContent>
|
|
72
|
+
</Dialog>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/dist/index.js
ADDED
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region ui/accordion.d.ts
|
|
6
|
+
declare function Accordion({
|
|
7
|
+
...props
|
|
8
|
+
}: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime0.JSX.Element;
|
|
9
|
+
declare function AccordionItem({
|
|
10
|
+
className,
|
|
11
|
+
...props
|
|
12
|
+
}: React$1.ComponentProps<typeof AccordionPrimitive.Item>): react_jsx_runtime0.JSX.Element;
|
|
13
|
+
declare function AccordionTrigger({
|
|
14
|
+
className,
|
|
15
|
+
children,
|
|
16
|
+
...props
|
|
17
|
+
}: React$1.ComponentProps<typeof AccordionPrimitive.Trigger>): react_jsx_runtime0.JSX.Element;
|
|
18
|
+
declare function AccordionContent({
|
|
19
|
+
className,
|
|
20
|
+
children,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentProps<typeof AccordionPrimitive.Content>): react_jsx_runtime0.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
25
|
+
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../ui/accordion.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,SAAA;;GAEN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,kBAAA,CAAA,GAAA,CAAA;iBAI9C,aAAA;;;GAGN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,kBAAA,CAAA,GAAA,CAAA;iBAU9C,gBAAA;;;;GAIN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,WAAQ,kBAAA,CAAA,GAAA,CAAA;AA5BM,iBA8CvD,gBAAA,CAzCS;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA6Cf,OAAA,CAAM,cA7CS,CAAA,OA6Ca,kBAAA,CAAmB,OA7ChC,CAAA,CAAA,EA6CwC,kBAAA,CAAA,GAAA,CAAA,OA7CxC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import "react";
|
|
4
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
5
|
+
import { ChevronDownIcon } from "lucide-react";
|
|
6
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region ui/accordion.tsx
|
|
10
|
+
function Accordion({ ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Root, {
|
|
12
|
+
"data-slot": "accordion",
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function AccordionItem({ className, ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Item, {
|
|
18
|
+
"data-slot": "accordion-item",
|
|
19
|
+
className: cn("border-b last:border-b-0", className),
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function AccordionTrigger({ className, children, ...props }) {
|
|
24
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Header, {
|
|
25
|
+
className: "flex",
|
|
26
|
+
children: /* @__PURE__ */ jsxs(AccordionPrimitive.Trigger, {
|
|
27
|
+
"data-slot": "accordion-trigger",
|
|
28
|
+
className: cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium outline-hidden transition-all hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", className),
|
|
29
|
+
...props,
|
|
30
|
+
children: [children, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })]
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function AccordionContent({ className, children, ...props }) {
|
|
35
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Content, {
|
|
36
|
+
"data-slot": "accordion-content",
|
|
37
|
+
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
|
|
38
|
+
...props,
|
|
39
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
40
|
+
className: cn("pt-0 pb-4", className),
|
|
41
|
+
children
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
48
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","names":[],"sources":["../../ui/accordion.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@contractspec/lib.ui-kit-core/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium outline-hidden transition-all hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;;;AAQA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAY,GAAI;GAAS;;AAGrE,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAO,WAAU;YACnC,qBAAC,mBAAmB;GAClB,aAAU;GACV,WAAW,GACT,gTACA,UACD;GACD,GAAI;cAEH,UACD,oBAAC,mBAAgB,WAAU,gHAAgH;IAChH;GACH;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC;GAAI,WAAW,GAAG,aAAa,UAAU;GAAG;IAAe;GACjC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime258 from "react/jsx-runtime";
|
|
3
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
4
|
+
|
|
5
|
+
//#region ui/alert-dialog.d.ts
|
|
6
|
+
declare function AlertDialog({
|
|
7
|
+
...props
|
|
8
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime258.JSX.Element;
|
|
9
|
+
declare function AlertDialogTrigger({
|
|
10
|
+
...props
|
|
11
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime258.JSX.Element;
|
|
12
|
+
declare function AlertDialogPortal({
|
|
13
|
+
...props
|
|
14
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Portal>): react_jsx_runtime258.JSX.Element;
|
|
15
|
+
declare function AlertDialogOverlay({
|
|
16
|
+
className,
|
|
17
|
+
...props
|
|
18
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Overlay>): react_jsx_runtime258.JSX.Element;
|
|
19
|
+
declare function AlertDialogContent({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime258.JSX.Element;
|
|
23
|
+
declare function AlertDialogHeader({
|
|
24
|
+
className,
|
|
25
|
+
...props
|
|
26
|
+
}: React$1.ComponentPropsWithoutRef<'div'>): react_jsx_runtime258.JSX.Element;
|
|
27
|
+
declare function AlertDialogFooter({
|
|
28
|
+
className,
|
|
29
|
+
...props
|
|
30
|
+
}: React$1.ComponentPropsWithoutRef<'div'>): react_jsx_runtime258.JSX.Element;
|
|
31
|
+
declare function AlertDialogTitle({
|
|
32
|
+
className,
|
|
33
|
+
...props
|
|
34
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Title>): react_jsx_runtime258.JSX.Element;
|
|
35
|
+
declare function AlertDialogDescription({
|
|
36
|
+
className,
|
|
37
|
+
...props
|
|
38
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Description>): react_jsx_runtime258.JSX.Element;
|
|
39
|
+
declare function AlertDialogAction({
|
|
40
|
+
className,
|
|
41
|
+
...props
|
|
42
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Action>): react_jsx_runtime258.JSX.Element;
|
|
43
|
+
declare function AlertDialogCancel({
|
|
44
|
+
className,
|
|
45
|
+
...props
|
|
46
|
+
}: React$1.ComponentProps<typeof AlertDialogPrimitive.Cancel>): react_jsx_runtime258.JSX.Element;
|
|
47
|
+
//#endregion
|
|
48
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|
|
49
|
+
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../ui/alert-dialog.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,WAAA;;GAEN,OAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAIhD,kBAAA;;GAEN,OAAA,CAAM,sBAAsB,oBAAA,CAAqB,WAAQ,oBAAA,CAAA,GAAA,CAAA;iBAMnD,iBAAA;;GAEN,OAAA,CAAM,sBAAsB,oBAAA,CAAqB,UAAO,oBAAA,CAAA,GAAA,CAAA;AArBU,iBA2B5D,kBAAA,CAtBW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyBjB,OAAA,CAAM,cAzBW,CAAA,OAyBW,oBAAA,CAAqB,OAzBhC,CAAA,CAAA,EAyBwC,oBAAA,CAAA,GAAA,CAAA,OAzBxC;iBAsCX,kBAAA,CApC2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuCjD,OAAA,CAAM,cAvC2C,CAAA,OAuCrB,oBAAA,CAAqB,OAvCA,CAAA,CAAA,EAuCQ,oBAAA,CAAA,GAAA,CAAA,OAvCR;iBAuD3C,iBAAA,CAvDA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0DN,OAAA,CAAM,wBA1DA,CAAA,KAAA,CAAA,CAAA,EA0D+B,oBAAA,CAAA,GAAA,CAAA,OA1D/B;iBAoEA,iBAAA,CApEgD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuEtD,OAAA,CAAM,wBAvEgD,CAAA,KAAA,CAAA,CAAA,EAuEjB,oBAAA,CAAA,GAAA,CAAA,OAvEiB;iBAoFhD,gBAAA,CApFgD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuFtD,OAAA,CAAM,cAvFgD,CAAA,OAuF1B,oBAAA,CAAqB,KAvFK,CAAA,CAAA,EAuFC,oBAAA,CAAA,GAAA,CAAA,OAvFD;AAAA,iBAiGhD,sBAAA,CA7FkB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgGxB,OAAA,CAAM,cAhGkB,CAAA,OAgGI,oBAAA,CAAqB,WAhGzB,CAAA,CAAA,EAgGqC,oBAAA,CAAA,GAAA,CAAA,OAhGrC;iBA0GlB,iBAAA,CAxG2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2GjD,OAAA,CAAM,cA3G2C,CAAA,OA2GrB,oBAAA,CAAqB,MA3GA,CAAA,CAAA,EA2GO,oBAAA,CAAA,GAAA,CAAA,OA3GP;iBAoH3C,iBAAA,CApHA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuHN,OAAA,CAAM,cAvHA,CAAA,OAuHsB,oBAAA,CAAqB,MAvH3C,CAAA,CAAA,EAuHkD,oBAAA,CAAA,GAAA,CAAA,OAvHlD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { buttonVariants } from "./button.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
8
|
+
|
|
9
|
+
//#region ui/alert-dialog.tsx
|
|
10
|
+
function AlertDialog({ ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Root, {
|
|
12
|
+
"data-slot": "alert-dialog",
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function AlertDialogTrigger({ ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Trigger, {
|
|
18
|
+
"data-slot": "alert-dialog-trigger",
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function AlertDialogPortal({ ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Portal, {
|
|
24
|
+
"data-slot": "alert-dialog-portal",
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function AlertDialogOverlay({ className, ...props }) {
|
|
29
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Overlay, {
|
|
30
|
+
"data-slot": "alert-dialog-overlay",
|
|
31
|
+
className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className),
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function AlertDialogContent({ className, ...props }) {
|
|
36
|
+
return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialogPrimitive.Content, {
|
|
37
|
+
"data-slot": "alert-dialog-content",
|
|
38
|
+
className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", className),
|
|
39
|
+
...props
|
|
40
|
+
})] });
|
|
41
|
+
}
|
|
42
|
+
function AlertDialogHeader({ className, ...props }) {
|
|
43
|
+
return /* @__PURE__ */ jsx("div", {
|
|
44
|
+
"data-slot": "alert-dialog-header",
|
|
45
|
+
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function AlertDialogFooter({ className, ...props }) {
|
|
50
|
+
return /* @__PURE__ */ jsx("div", {
|
|
51
|
+
"data-slot": "alert-dialog-footer",
|
|
52
|
+
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function AlertDialogTitle({ className, ...props }) {
|
|
57
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Title, {
|
|
58
|
+
"data-slot": "alert-dialog-title",
|
|
59
|
+
className: cn("text-lg font-semibold", className),
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function AlertDialogDescription({ className, ...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Description, {
|
|
65
|
+
"data-slot": "alert-dialog-description",
|
|
66
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
67
|
+
...props
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function AlertDialogAction({ className, ...props }) {
|
|
71
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Action, {
|
|
72
|
+
className: cn(buttonVariants(), className),
|
|
73
|
+
...props
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function AlertDialogCancel({ className, ...props }) {
|
|
77
|
+
return /* @__PURE__ */ jsx(AlertDialogPrimitive.Cancel, {
|
|
78
|
+
className: cn(buttonVariants({ variant: "outline" }), className),
|
|
79
|
+
...props
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
//#endregion
|
|
84
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|
|
85
|
+
//# sourceMappingURL=alert-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","names":[],"sources":["../../ui/alert-dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\n\nimport { cn } from '@contractspec/lib.ui-kit-core/utils';\nimport { buttonVariants } from './button';\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n );\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn('text-lg font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: 'outline' }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"mappings":";;;;;;;;;AAQA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB;EAAK,aAAU;EAAe,GAAI;GAAS;;AAG1E,SAAS,mBAAmB,EAC1B,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB;EAAQ,aAAU;EAAuB,GAAI;GAAS;;AAIhF,SAAS,kBAAkB,EACzB,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EAAO,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GACT,0JACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,qBAAC,gCACC,oBAAC,uBAAqB,EACtB,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GACT,+WACA,UACD;EACD,GAAI;GACJ,IACgB;;AAIxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SACqC;AACxC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACqC;AACxC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,0DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GAAG,yBAAyB,UAAU;EACjD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,gBAAgB,EAAE,UAAU;EAC1C,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,eAAe,EAAE,SAAS,WAAW,CAAC,EAAE,UAAU;EAChE,GAAI;GACJ"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime269 from "react/jsx-runtime";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import * as class_variance_authority_types22 from "class-variance-authority/types";
|
|
5
|
+
|
|
6
|
+
//#region ui/alert.d.ts
|
|
7
|
+
declare const alertVariants: (props?: ({
|
|
8
|
+
variant?: "default" | "destructive" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types22.ClassProp) | undefined) => string;
|
|
10
|
+
declare function Alert({
|
|
11
|
+
className,
|
|
12
|
+
variant,
|
|
13
|
+
...props
|
|
14
|
+
}: React$1.ComponentPropsWithoutRef<'div'> & VariantProps<typeof alertVariants>): react_jsx_runtime269.JSX.Element;
|
|
15
|
+
declare function AlertTitle({
|
|
16
|
+
className,
|
|
17
|
+
...props
|
|
18
|
+
}: React$1.ComponentPropsWithoutRef<'div'>): react_jsx_runtime269.JSX.Element;
|
|
19
|
+
declare function AlertDescription({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentPropsWithoutRef<'div'>): react_jsx_runtime269.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Alert, AlertDescription, AlertTitle };
|
|
25
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","names":[],"sources":["../../ui/alert.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;IAcL,gCAAA,CAAA;iBAEQ,KAAA;;;;GAIN,OAAA,CAAM,kCAAkC,oBAAoB,iBAAc,oBAAA,CAAA,GAAA,CAAA;AAxBX,iBAmCzD,UAAA,CAjBR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoBE,OAAA,CAAM,wBApBR,CAAA,KAAA,CAAA,CAAA,EAoBuC,oBAAA,CAAA,GAAA,CAAA,OApBvC;iBAiCQ,gBAAA,CA/BK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkCX,OAAA,CAAM,wBAlCK,CAAA,KAAA,CAAA,CAAA,EAkC0B,oBAAA,CAAA,GAAA,CAAA,OAlC1B"}
|
package/dist/ui/alert.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { cn } from "@contractspec/lib.ui-kit-core/utils";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
//#region ui/alert.tsx
|
|
7
|
+
const alertVariants = cva("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
|
|
8
|
+
variants: { variant: {
|
|
9
|
+
default: "bg-card text-card-foreground",
|
|
10
|
+
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
11
|
+
} },
|
|
12
|
+
defaultVariants: { variant: "default" }
|
|
13
|
+
});
|
|
14
|
+
function Alert({ className, variant, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx("div", {
|
|
16
|
+
"data-slot": "alert",
|
|
17
|
+
role: "alert",
|
|
18
|
+
className: cn(alertVariants({ variant }), className),
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function AlertTitle({ className, ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", {
|
|
24
|
+
"data-slot": "alert-title",
|
|
25
|
+
className: cn("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className),
|
|
26
|
+
...props
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function AlertDescription({ className, ...props }) {
|
|
30
|
+
return /* @__PURE__ */ jsx("div", {
|
|
31
|
+
"data-slot": "alert-description",
|
|
32
|
+
className: cn("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", className),
|
|
33
|
+
...props
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Alert, AlertDescription, AlertTitle };
|
|
39
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","names":[],"sources":["../../ui/alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@contractspec/lib.ui-kit-core/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":";;;;;;AAKA,MAAM,gBAAgB,IACpB,qOACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,GAAG,SACqC;AACxC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,+DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACqC;AACxC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kGACA,UACD;EACD,GAAI;GACJ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as react6 from "react";
|
|
2
|
+
import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
3
|
+
|
|
4
|
+
//#region ui/aspect-ratio.d.ts
|
|
5
|
+
declare const AspectRatio: react6.ForwardRefExoticComponent<AspectRatioPrimitive.AspectRatioProps & react6.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { AspectRatio };
|
|
8
|
+
//# sourceMappingURL=aspect-ratio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../ui/aspect-ratio.tsx"],"sourcesContent":[],"mappings":";;;;cAIM,aAAW,MAAA,CAAA,0BAAA,oBAAA,CAAA,mBAAA,MAAA,CAAA,cAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../ui/aspect-ratio.tsx"],"sourcesContent":["'use client';\n\nimport * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';\n\nconst AspectRatio = AspectRatioPrimitive.Root;\n\nexport { AspectRatio };\n"],"mappings":";;;;;AAIA,MAAM,cAAc,qBAAqB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FilterSelectProps } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region ui/atoms/FilterSelect/FilterSelect.d.ts
|
|
5
|
+
declare const FilterSelect: React.FC<FilterSelectProps>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { FilterSelect };
|
|
8
|
+
//# sourceMappingURL=FilterSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSelect.d.ts","names":[],"sources":["../../../../ui/atoms/FilterSelect/FilterSelect.tsx"],"sourcesContent":[],"mappings":";;;;cAWa,cAAc,KAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Label } from "../../label.js";
|
|
2
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../select.js";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region ui/atoms/FilterSelect/FilterSelect.tsx
|
|
7
|
+
const FilterSelect = ({ value, options, onChange, placeholder = "Sélectionner...", label, disabled = false, className = "", showCounts = false }) => {
|
|
8
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
9
|
+
className: `space-y-2 ${className}`,
|
|
10
|
+
children: [label && /* @__PURE__ */ jsx(Label, {
|
|
11
|
+
className: "text-foreground text-base font-medium",
|
|
12
|
+
children: label
|
|
13
|
+
}), /* @__PURE__ */ jsxs(Select, {
|
|
14
|
+
value,
|
|
15
|
+
onValueChange: onChange,
|
|
16
|
+
disabled,
|
|
17
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
18
|
+
className: "w-full",
|
|
19
|
+
children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
|
|
20
|
+
}), /* @__PURE__ */ jsxs(SelectContent, {
|
|
21
|
+
className: "bg-background",
|
|
22
|
+
children: [/* @__PURE__ */ jsxs(SelectItem, {
|
|
23
|
+
value: "all",
|
|
24
|
+
children: ["Tous", showCounts && /* @__PURE__ */ jsxs("span", {
|
|
25
|
+
className: "text-muted-foreground ml-2 text-sm",
|
|
26
|
+
children: [
|
|
27
|
+
"(",
|
|
28
|
+
options.reduce((sum, option) => sum + (option.count || 0), 0),
|
|
29
|
+
")"
|
|
30
|
+
]
|
|
31
|
+
})]
|
|
32
|
+
}), options.map((option) => /* @__PURE__ */ jsx(SelectItem, {
|
|
33
|
+
value: option.value,
|
|
34
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
35
|
+
className: "flex w-full items-center justify-between",
|
|
36
|
+
children: [/* @__PURE__ */ jsx("span", { children: option.label }), showCounts && option.count !== void 0 && /* @__PURE__ */ jsxs("span", {
|
|
37
|
+
className: "text-muted-foreground ml-2 text-sm",
|
|
38
|
+
children: [
|
|
39
|
+
"(",
|
|
40
|
+
option.count,
|
|
41
|
+
")"
|
|
42
|
+
]
|
|
43
|
+
})]
|
|
44
|
+
})
|
|
45
|
+
}, option.value))]
|
|
46
|
+
})]
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
export { FilterSelect };
|
|
53
|
+
//# sourceMappingURL=FilterSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSelect.js","names":[],"sources":["../../../../ui/atoms/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../../select';\nimport { Label } from '../../label';\nimport type { FilterSelectProps } from './types';\n\nexport const FilterSelect: React.FC<FilterSelectProps> = ({\n value,\n options,\n onChange,\n placeholder = 'Sélectionner...',\n label,\n disabled = false,\n className = '',\n showCounts = false,\n}) => {\n return (\n <div className={`space-y-2 ${className}`}>\n {label && (\n <Label className=\"text-foreground text-base font-medium\">{label}</Label>\n )}\n <Select value={value} onValueChange={onChange} disabled={disabled}>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className=\"bg-background\">\n {/* All/Reset option */}\n <SelectItem value=\"all\">\n Tous\n {showCounts && (\n <span className=\"text-muted-foreground ml-2 text-sm\">\n ({options.reduce((sum, option) => sum + (option.count || 0), 0)}\n )\n </span>\n )}\n </SelectItem>\n\n {/* Filter options */}\n {options.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n <div className=\"flex w-full items-center justify-between\">\n <span>{option.label}</span>\n {showCounts && option.count !== undefined && (\n <span className=\"text-muted-foreground ml-2 text-sm\">\n ({option.count})\n </span>\n )}\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n};\n"],"mappings":";;;;;;AAWA,MAAa,gBAA6C,EACxD,OACA,SACA,UACA,cAAc,mBACd,OACA,WAAW,OACX,YAAY,IACZ,aAAa,YACT;AACJ,QACE,qBAAC;EAAI,WAAW,aAAa;aAC1B,SACC,oBAAC;GAAM,WAAU;aAAyC;IAAc,EAE1E,qBAAC;GAAc;GAAO,eAAe;GAAoB;cACvD,oBAAC;IAAc,WAAU;cACvB,oBAAC,eAAyB,cAAe;KAC3B,EAChB,qBAAC;IAAc,WAAU;eAEvB,qBAAC;KAAW,OAAM;gBAAM,QAErB,cACC,qBAAC;MAAK,WAAU;;OAAqC;OACjD,QAAQ,QAAQ,KAAK,WAAW,OAAO,OAAO,SAAS,IAAI,EAAE;OAAC;;OAE3D;MAEE,EAGZ,QAAQ,KAAK,WACZ,oBAAC;KAA8B,OAAO,OAAO;eAC3C,qBAAC;MAAI,WAAU;iBACb,oBAAC,oBAAM,OAAO,QAAa,EAC1B,cAAc,OAAO,UAAU,UAC9B,qBAAC;OAAK,WAAU;;QAAqC;QACjD,OAAO;QAAM;;QACV;OAEL;OARS,OAAO,MASX,CACb;KACY;IACT;GACL"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region ui/atoms/FilterSelect/types.d.ts
|
|
2
|
+
interface FilterOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
count?: number;
|
|
6
|
+
}
|
|
7
|
+
interface FilterSelectProps {
|
|
8
|
+
value: string;
|
|
9
|
+
options: FilterOption[];
|
|
10
|
+
onChange: (value: string) => void;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
label?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
showCounts?: boolean;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { FilterOption, FilterSelectProps };
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/atoms/FilterSelect/types.ts"],"sourcesContent":[],"mappings":";UAAiB,YAAA;EAAA,KAAA,EAAA,MAAA;EAMA,KAAA,EAAA,MAAA;;;UAAA,iBAAA;;WAEN"}
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region ui/atoms/LoadingSpinner/LoadingSpinner.d.ts
|
|
4
|
+
interface LoadingSpinnerProps {
|
|
5
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
6
|
+
className?: string;
|
|
7
|
+
text?: string;
|
|
8
|
+
fullScreen?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const LoadingSpinner: React.FC<LoadingSpinnerProps>;
|
|
11
|
+
declare const SkeletonLine: React.FC<{
|
|
12
|
+
className?: string;
|
|
13
|
+
}>;
|
|
14
|
+
declare const SkeletonCard: React.FC<{
|
|
15
|
+
className?: string;
|
|
16
|
+
}>;
|
|
17
|
+
declare const SkeletonTable: React.FC<{
|
|
18
|
+
rows?: number;
|
|
19
|
+
cols?: number;
|
|
20
|
+
}>;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable };
|
|
23
|
+
//# sourceMappingURL=LoadingSpinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingSpinner.d.ts","names":[],"sources":["../../../../ui/atoms/LoadingSpinner/LoadingSpinner.tsx"],"sourcesContent":[],"mappings":";;;UAIU,mBAAA;;EAAA,SAAA,CAAA,EAAA,MAAA;EAcG,IAAA,CAAA,EAAA,MAAA;EAgCA,UAAA,CAAA,EAAA,OAIZ;AAED;AAea,cArDA,cAqDe,EArDC,KAAA,CAAM,EAqDC,CArDE,mBAqDF,CAAA;cArBvB,cAAc,KAAA,CAAM;;;cAMpB,cAAc,KAAA,CAAM;;;cAepB,eAAe,KAAA,CAAM"}
|