@lssm-tech/lib.ui-kit 4.1.6
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 +180 -0
- package/dist/browser/index.js +1 -0
- package/dist/browser/ui/accordion.js +1 -0
- package/dist/browser/ui/alert-dialog.js +1 -0
- package/dist/browser/ui/alert.js +1 -0
- package/dist/browser/ui/aspect-ratio.js +1 -0
- package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +1 -0
- package/dist/browser/ui/atoms/FilterSelect/index.js +1 -0
- package/dist/browser/ui/atoms/FilterSelect/types.js +0 -0
- package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -0
- package/dist/browser/ui/atoms/LoadingSpinner/index.js +1 -0
- package/dist/browser/ui/atoms/Pagination/Pagination.js +1 -0
- package/dist/browser/ui/atoms/Pagination/index.js +1 -0
- package/dist/browser/ui/atoms/Pagination/types.js +0 -0
- package/dist/browser/ui/atoms/SearchInput/SearchInput.js +1 -0
- package/dist/browser/ui/atoms/SearchInput/index.js +1 -0
- package/dist/browser/ui/atoms/SearchInput/types.js +0 -0
- package/dist/browser/ui/avatar.js +1 -0
- package/dist/browser/ui/badge.js +1 -0
- package/dist/browser/ui/breadcrumb.js +1 -0
- package/dist/browser/ui/button.js +1 -0
- package/dist/browser/ui/card.js +1 -0
- package/dist/browser/ui/carousel.js +1 -0
- package/dist/browser/ui/checkbox.js +1 -0
- package/dist/browser/ui/collapsible.js +1 -0
- package/dist/browser/ui/combobox.js +1 -0
- package/dist/browser/ui/command.js +1 -0
- package/dist/browser/ui/context-menu.js +1 -0
- package/dist/browser/ui/contracts.typecheck.js +0 -0
- package/dist/browser/ui/data-table.js +1 -0
- package/dist/browser/ui/date-picker.js +1 -0
- package/dist/browser/ui/date-range-picker.js +1 -0
- package/dist/browser/ui/datetime-picker.js +1 -0
- package/dist/browser/ui/dialog.js +1 -0
- package/dist/browser/ui/dropdown-menu.js +1 -0
- package/dist/browser/ui/empty-state.js +1 -0
- package/dist/browser/ui/empty.js +1 -0
- package/dist/browser/ui/fab.js +1 -0
- package/dist/browser/ui/field.js +1 -0
- package/dist/browser/ui/form.js +1 -0
- package/dist/browser/ui/hover-card.js +1 -0
- package/dist/browser/ui/icons/Check.js +1 -0
- package/dist/browser/ui/icons/ChevronDown.js +1 -0
- package/dist/browser/ui/icons/ChevronRight.js +1 -0
- package/dist/browser/ui/icons/ChevronUp.js +1 -0
- package/dist/browser/ui/icons/CircleUser.js +1 -0
- package/dist/browser/ui/icons/Info.js +1 -0
- package/dist/browser/ui/icons/Key.js +1 -0
- package/dist/browser/ui/icons/MoonStar.js +1 -0
- package/dist/browser/ui/icons/Sun.js +1 -0
- package/dist/browser/ui/icons/X.js +1 -0
- package/dist/browser/ui/icons/iconWithClassName.js +1 -0
- package/dist/browser/ui/input-group.js +1 -0
- package/dist/browser/ui/input-otp.js +1 -0
- package/dist/browser/ui/input-password.js +1 -0
- package/dist/browser/ui/input.js +1 -0
- package/dist/browser/ui/label.js +1 -0
- package/dist/browser/ui/link.js +1 -0
- package/dist/browser/ui/list.js +1 -0
- package/dist/browser/ui/loading-button.js +1 -0
- package/dist/browser/ui/loading-overlay.js +1 -0
- package/dist/browser/ui/loading-screen.js +1 -0
- package/dist/browser/ui/marketing/FeatureGrid.js +1 -0
- package/dist/browser/ui/marketing/Hero.js +1 -0
- package/dist/browser/ui/marketing/PricingTable.js +1 -0
- package/dist/browser/ui/marketing/index.js +1 -0
- package/dist/browser/ui/menubar.js +1 -0
- package/dist/browser/ui/molecules/Autocomplete/index.js +1 -0
- package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +1 -0
- package/dist/browser/ui/molecules/SearchAndFilter/index.js +1 -0
- package/dist/browser/ui/molecules/SearchAndFilter/types.js +0 -0
- package/dist/browser/ui/molecules/SkeletonList.js +1 -0
- package/dist/browser/ui/native-select.js +1 -0
- package/dist/browser/ui/nativewind-env.d.js +0 -0
- package/dist/browser/ui/navigation-menu.js +1 -0
- package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +1 -0
- package/dist/browser/ui/organisms/ErrorBoundary/index.js +1 -0
- package/dist/browser/ui/organisms/ListPage/ListPage.js +1 -0
- package/dist/browser/ui/organisms/ListPage/index.js +1 -0
- package/dist/browser/ui/organisms/ListPage/types.js +0 -0
- package/dist/browser/ui/page-header.js +1 -0
- package/dist/browser/ui/password-strength.js +1 -0
- package/dist/browser/ui/popover.js +1 -0
- package/dist/browser/ui/portal.js +1 -0
- package/dist/browser/ui/progress.js +1 -0
- package/dist/browser/ui/radio-group.js +1 -0
- package/dist/browser/ui/select.js +1 -0
- package/dist/browser/ui/separator.js +1 -0
- package/dist/browser/ui/sheet.js +1 -0
- package/dist/browser/ui/sidebar.js +1 -0
- package/dist/browser/ui/skeleton.js +1 -0
- package/dist/browser/ui/slider.js +1 -0
- package/dist/browser/ui/stack.js +1 -0
- package/dist/browser/ui/stepper.js +1 -0
- package/dist/browser/ui/switch.js +1 -0
- package/dist/browser/ui/table.js +1 -0
- package/dist/browser/ui/tabs.js +1 -0
- package/dist/browser/ui/text.js +1 -0
- package/dist/browser/ui/textarea.js +1 -0
- package/dist/browser/ui/time-picker.js +1 -0
- package/dist/browser/ui/toast.js +1 -0
- package/dist/browser/ui/toggle-group.js +1 -0
- package/dist/browser/ui/toggle.js +1 -0
- package/dist/browser/ui/toolbar.js +1 -0
- package/dist/browser/ui/tooltip.js +1 -0
- package/dist/browser/ui/typography.js +1 -0
- package/dist/browser/ui/useColorScheme.js +1 -0
- package/dist/browser/ui/useListState.js +1 -0
- package/dist/browser/ui/usecases/UseCaseCard.js +1 -0
- package/dist/browser/ui/usecases/UserStoryCard.js +1 -0
- package/dist/browser/ui/usecases/index.js +1 -0
- package/dist/browser/ui/utils.js +1 -0
- package/dist/browser/ui/visualization/Visualization.js +1 -0
- package/dist/browser/ui/visualization/index.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/ui/accordion.d.ts +16 -0
- package/dist/ui/accordion.js +2 -0
- package/dist/ui/alert-dialog.d.ts +46 -0
- package/dist/ui/alert-dialog.js +2 -0
- package/dist/ui/alert.d.ts +17 -0
- package/dist/ui/alert.js +2 -0
- package/dist/ui/aspect-ratio.d.ts +8 -0
- package/dist/ui/aspect-ratio.js +2 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +3 -0
- package/dist/ui/atoms/FilterSelect/FilterSelect.js +2 -0
- package/dist/ui/atoms/FilterSelect/index.d.ts +2 -0
- package/dist/ui/atoms/FilterSelect/index.js +2 -0
- package/dist/ui/atoms/FilterSelect/types.d.ts +5 -0
- package/dist/ui/atoms/FilterSelect/types.js +1 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +19 -0
- package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +2 -0
- package/dist/ui/atoms/LoadingSpinner/index.d.ts +1 -0
- package/dist/ui/atoms/LoadingSpinner/index.js +2 -0
- package/dist/ui/atoms/Pagination/Pagination.d.ts +3 -0
- package/dist/ui/atoms/Pagination/Pagination.js +2 -0
- package/dist/ui/atoms/Pagination/index.d.ts +2 -0
- package/dist/ui/atoms/Pagination/index.js +2 -0
- package/dist/ui/atoms/Pagination/types.d.ts +3 -0
- package/dist/ui/atoms/Pagination/types.js +1 -0
- package/dist/ui/atoms/SearchInput/SearchInput.d.ts +3 -0
- package/dist/ui/atoms/SearchInput/SearchInput.js +2 -0
- package/dist/ui/atoms/SearchInput/index.d.ts +2 -0
- package/dist/ui/atoms/SearchInput/index.js +2 -0
- package/dist/ui/atoms/SearchInput/types.d.ts +3 -0
- package/dist/ui/atoms/SearchInput/types.js +1 -0
- package/dist/ui/avatar.d.ts +13 -0
- package/dist/ui/avatar.js +2 -0
- package/dist/ui/badge.d.ts +11 -0
- package/dist/ui/badge.js +2 -0
- package/dist/ui/breadcrumb.d.ts +12 -0
- package/dist/ui/breadcrumb.js +2 -0
- package/dist/ui/button.d.ts +16 -0
- package/dist/ui/button.js +2 -0
- package/dist/ui/card.d.ts +22 -0
- package/dist/ui/card.js +2 -0
- package/dist/ui/carousel.d.ts +1 -0
- package/dist/ui/carousel.js +2 -0
- package/dist/ui/checkbox.d.ts +12 -0
- package/dist/ui/checkbox.js +2 -0
- package/dist/ui/collapsible.d.ts +27 -0
- package/dist/ui/collapsible.js +2 -0
- package/dist/ui/combobox.d.ts +17 -0
- package/dist/ui/combobox.js +2 -0
- package/dist/ui/command.d.ts +1 -0
- package/dist/ui/command.js +2 -0
- package/dist/ui/context-menu.d.ts +83 -0
- package/dist/ui/context-menu.js +2 -0
- package/dist/ui/contracts.typecheck.d.ts +1 -0
- package/dist/ui/contracts.typecheck.js +1 -0
- package/dist/ui/data-table.d.ts +8 -0
- package/dist/ui/data-table.js +2 -0
- package/dist/ui/data-table.smoke.test.d.ts +1 -0
- package/dist/ui/date-picker.d.ts +4 -0
- package/dist/ui/date-picker.js +2 -0
- package/dist/ui/date-range-picker.d.ts +6 -0
- package/dist/ui/date-range-picker.js +2 -0
- package/dist/ui/datetime-picker.d.ts +6 -0
- package/dist/ui/datetime-picker.js +2 -0
- package/dist/ui/dialog.d.ts +51 -0
- package/dist/ui/dialog.js +2 -0
- package/dist/ui/dropdown-menu.d.ts +84 -0
- package/dist/ui/dropdown-menu.js +2 -0
- package/dist/ui/empty-state.d.ts +9 -0
- package/dist/ui/empty-state.js +2 -0
- package/dist/ui/empty.d.ts +12 -0
- package/dist/ui/empty.js +2 -0
- package/dist/ui/fab.d.ts +21 -0
- package/dist/ui/fab.js +2 -0
- package/dist/ui/field.d.ts +21 -0
- package/dist/ui/field.js +2 -0
- package/dist/ui/form.d.ts +29 -0
- package/dist/ui/form.js +2 -0
- package/dist/ui/hover-card.d.ts +25 -0
- package/dist/ui/hover-card.js +2 -0
- package/dist/ui/icons/Check.d.ts +2 -0
- package/dist/ui/icons/Check.js +2 -0
- package/dist/ui/icons/ChevronDown.d.ts +2 -0
- package/dist/ui/icons/ChevronDown.js +2 -0
- package/dist/ui/icons/ChevronRight.d.ts +2 -0
- package/dist/ui/icons/ChevronRight.js +2 -0
- package/dist/ui/icons/ChevronUp.d.ts +2 -0
- package/dist/ui/icons/ChevronUp.js +2 -0
- package/dist/ui/icons/CircleUser.d.ts +2 -0
- package/dist/ui/icons/CircleUser.js +2 -0
- package/dist/ui/icons/Info.d.ts +2 -0
- package/dist/ui/icons/Info.js +2 -0
- package/dist/ui/icons/Key.d.ts +2 -0
- package/dist/ui/icons/Key.js +2 -0
- package/dist/ui/icons/MoonStar.d.ts +2 -0
- package/dist/ui/icons/MoonStar.js +2 -0
- package/dist/ui/icons/Sun.d.ts +2 -0
- package/dist/ui/icons/Sun.js +2 -0
- package/dist/ui/icons/X.d.ts +2 -0
- package/dist/ui/icons/X.js +2 -0
- package/dist/ui/icons/iconWithClassName.d.ts +2 -0
- package/dist/ui/icons/iconWithClassName.js +2 -0
- package/dist/ui/input-group.d.ts +36 -0
- package/dist/ui/input-group.js +2 -0
- package/dist/ui/input-otp.d.ts +20 -0
- package/dist/ui/input-otp.js +2 -0
- package/dist/ui/input-password.d.ts +10 -0
- package/dist/ui/input-password.js +2 -0
- package/dist/ui/input.d.ts +8 -0
- package/dist/ui/input.js +2 -0
- package/dist/ui/label.d.ts +3 -0
- package/dist/ui/label.js +2 -0
- package/dist/ui/link.d.ts +6 -0
- package/dist/ui/link.js +2 -0
- package/dist/ui/list.d.ts +23 -0
- package/dist/ui/list.js +2 -0
- package/dist/ui/loading-button.d.ts +9 -0
- package/dist/ui/loading-button.js +2 -0
- package/dist/ui/loading-overlay.d.ts +7 -0
- package/dist/ui/loading-overlay.js +2 -0
- package/dist/ui/loading-screen.d.ts +6 -0
- package/dist/ui/loading-screen.js +2 -0
- package/dist/ui/marketing/FeatureGrid.d.ts +4 -0
- package/dist/ui/marketing/FeatureGrid.js +2 -0
- package/dist/ui/marketing/Hero.d.ts +16 -0
- package/dist/ui/marketing/Hero.js +2 -0
- package/dist/ui/marketing/PricingTable.d.ts +4 -0
- package/dist/ui/marketing/PricingTable.js +2 -0
- package/dist/ui/marketing/index.d.ts +3 -0
- package/dist/ui/marketing/index.js +2 -0
- package/dist/ui/menubar.d.ts +80 -0
- package/dist/ui/menubar.js +2 -0
- package/dist/ui/molecules/Autocomplete/index.d.ts +1 -0
- package/dist/ui/molecules/Autocomplete/index.js +2 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +3 -0
- package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +2 -0
- package/dist/ui/molecules/SearchAndFilter/index.d.ts +2 -0
- package/dist/ui/molecules/SearchAndFilter/index.js +2 -0
- package/dist/ui/molecules/SearchAndFilter/types.d.ts +4 -0
- package/dist/ui/molecules/SearchAndFilter/types.js +1 -0
- package/dist/ui/molecules/SkeletonList.d.ts +7 -0
- package/dist/ui/molecules/SkeletonList.js +2 -0
- package/dist/ui/native-select.d.ts +29 -0
- package/dist/ui/native-select.js +2 -0
- package/dist/ui/nativewind-env.d.js +1 -0
- package/dist/ui/navigation-menu.d.ts +44 -0
- package/dist/ui/navigation-menu.js +2 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +25 -0
- package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +2 -0
- package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
- package/dist/ui/organisms/ErrorBoundary/index.js +2 -0
- package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -0
- package/dist/ui/organisms/ListPage/ListPage.js +2 -0
- package/dist/ui/organisms/ListPage/index.d.ts +2 -0
- package/dist/ui/organisms/ListPage/index.js +2 -0
- package/dist/ui/organisms/ListPage/types.d.ts +44 -0
- package/dist/ui/organisms/ListPage/types.js +1 -0
- package/dist/ui/page-header.d.ts +9 -0
- package/dist/ui/page-header.js +2 -0
- package/dist/ui/password-strength.d.ts +13 -0
- package/dist/ui/password-strength.js +2 -0
- package/dist/ui/popover.d.ts +23 -0
- package/dist/ui/popover.js +2 -0
- package/dist/ui/portal.d.ts +1 -0
- package/dist/ui/portal.js +2 -0
- package/dist/ui/progress.d.ts +7 -0
- package/dist/ui/progress.js +2 -0
- package/dist/ui/radio-group.d.ts +4 -0
- package/dist/ui/radio-group.js +2 -0
- package/dist/ui/select.d.ts +60 -0
- package/dist/ui/select.js +2 -0
- package/dist/ui/separator.d.ts +6 -0
- package/dist/ui/separator.js +2 -0
- package/dist/ui/sheet.d.ts +1 -0
- package/dist/ui/sheet.js +2 -0
- package/dist/ui/sidebar.d.ts +1 -0
- package/dist/ui/sidebar.js +2 -0
- package/dist/ui/skeleton.d.ts +4 -0
- package/dist/ui/skeleton.js +2 -0
- package/dist/ui/slider.d.ts +7 -0
- package/dist/ui/slider.js +2 -0
- package/dist/ui/stack.d.ts +43 -0
- package/dist/ui/stack.js +2 -0
- package/dist/ui/stepper.d.ts +10 -0
- package/dist/ui/stepper.js +2 -0
- package/dist/ui/switch.d.ts +7 -0
- package/dist/ui/switch.js +2 -0
- package/dist/ui/table.d.ts +24 -0
- package/dist/ui/table.js +2 -0
- package/dist/ui/tabs.d.ts +6 -0
- package/dist/ui/tabs.js +2 -0
- package/dist/ui/text.d.ts +12 -0
- package/dist/ui/text.js +2 -0
- package/dist/ui/textarea.d.ts +8 -0
- package/dist/ui/textarea.js +2 -0
- package/dist/ui/time-picker.d.ts +4 -0
- package/dist/ui/time-picker.js +2 -0
- package/dist/ui/toast.d.ts +40 -0
- package/dist/ui/toast.js +2 -0
- package/dist/ui/toggle-group.d.ts +15 -0
- package/dist/ui/toggle-group.js +2 -0
- package/dist/ui/toggle.d.ts +19 -0
- package/dist/ui/toggle.js +2 -0
- package/dist/ui/toolbar.d.ts +25 -0
- package/dist/ui/toolbar.js +2 -0
- package/dist/ui/tooltip.d.ts +27 -0
- package/dist/ui/tooltip.js +2 -0
- package/dist/ui/typography.d.ts +16 -0
- package/dist/ui/typography.js +2 -0
- package/dist/ui/useColorScheme.d.ts +6 -0
- package/dist/ui/useColorScheme.js +2 -0
- package/dist/ui/useListState.d.ts +6 -0
- package/dist/ui/useListState.js +2 -0
- package/dist/ui/usecases/UseCaseCard.d.ts +7 -0
- package/dist/ui/usecases/UseCaseCard.js +2 -0
- package/dist/ui/usecases/UserStoryCard.d.ts +5 -0
- package/dist/ui/usecases/UserStoryCard.js +2 -0
- package/dist/ui/usecases/index.d.ts +2 -0
- package/dist/ui/usecases/index.js +2 -0
- package/dist/ui/utils.d.ts +2 -0
- package/dist/ui/utils.js +2 -0
- package/dist/ui/visualization/Visualization.d.ts +7 -0
- package/dist/ui/visualization/Visualization.js +2 -0
- package/dist/ui/visualization/index.d.ts +1 -0
- package/dist/ui/visualization/index.js +2 -0
- package/package.json +1776 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{styled as a0}from"nativewind";function h(b){a0(b,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as i}from"lucide-react-native";h(i);import{cn as s0}from"@contractspec/lib.ui-kit-core/utils";import*as v0 from"@rn-primitives/slot";import*as a from"react";import{Text as M1}from"react-native";import{jsx as b1}from"react/jsx-runtime";var e=a.createContext(void 0);function f({className:b,asChild:M=!1,...W}){let $=a.useContext(e);return b1(M?v0.Text:M1,{className:s0("web:select-text text-base text-foreground",$,b),...W})}import{cn as W1}from"@contractspec/lib.ui-kit-core/utils";import{cva as F0}from"class-variance-authority";import{Pressable as $1}from"react-native";import{jsx as k0}from"react/jsx-runtime";var z1=F0("group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",{variants:{variant:{default:"bg-primary web:hover:opacity-90 active:opacity-90",destructive:"bg-destructive web:hover:opacity-90 active:opacity-90",outline:"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",secondary:"bg-secondary web:hover:opacity-80 active:opacity-80",ghost:"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",link:"web:underline-offset-4 web:hover:underline web:focus:underline"},size:{default:"h-10 native:h-12 native:px-5 px-4 native:py-3 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 native:h-14 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),f1=F0("web:whitespace-nowrap font-medium native:text-base text-foreground text-sm web:transition-colors",{variants:{variant:{default:"text-primary-foreground",destructive:"text-destructive-foreground",outline:"group-active:text-accent-foreground",secondary:"text-secondary-foreground group-active:text-secondary-foreground",ghost:"group-active:text-accent-foreground",link:"text-primary group-active:underline"},size:{default:"",sm:"",lg:"native:text-lg",icon:""}},defaultVariants:{variant:"default",size:"default"}});function Y({ref:b,className:M,variant:W,size:$,...G}){return k0(e.Provider,{value:f1({variant:W,size:$,className:"web:pointer-events-none"}),children:k0($1,{className:W1(G.disabled&&"web:pointer-events-none opacity-50",z1({variant:W,size:$,className:M})),ref:b,role:"button",...G})})}import{cn as w0}from"@contractspec/lib.ui-kit-core/utils";import*as s from"@rn-primitives/label";import{Platform as T0}from"react-native";import{jsx as y0}from"react/jsx-runtime";function L0({className:b,onPress:M,onLongPress:W,onPressIn:$,onPressOut:G,disabled:I,..._}){return y0(s.Root,{className:w0("flex select-none flex-row items-center gap-2",T0.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),I&&"opacity-50"),onPress:M,onLongPress:W,onPressIn:$,onPressOut:G,disabled:I,children:y0(s.Text,{className:w0("font-medium text-foreground text-sm",T0.select({web:"leading-none"}),b),..._})})}import{Check as J0}from"lucide-react-native";h(J0);import{ChevronUp as K0}from"lucide-react-native";h(K0);import{cn as y}from"@contractspec/lib.ui-kit-core/utils";import*as X from"@rn-primitives/select";import{Platform as Y0,StyleSheet as G1,View as X1}from"react-native";import _1,{FadeIn as q1,FadeOut as I1}from"react-native-reanimated";import{jsx as D,jsxs as Z0}from"react/jsx-runtime";var M0=X.Root,I4=X.Group,b0=X.Value;function W0({ref:b,className:M,children:W,...$}){return Z0(X.Trigger,{ref:b,className:y("flex h-10 native:h-12 flex-row items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-muted-foreground text-sm web:ring-offset-background web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 [&>span]:line-clamp-1",$.disabled&&"web:cursor-not-allowed opacity-50",M),...$,children:[W,D(i,{size:16,"aria-hidden":!0,className:"text-foreground opacity-50"})]})}function J1({className:b,...M}){if(Y0.OS!=="web")return null;return D(X.ScrollUpButton,{className:y("flex web:cursor-default items-center justify-center py-1",b),...M,children:D(K0,{size:14,className:"text-foreground"})})}function K1({className:b,...M}){if(Y0.OS!=="web")return null;return D(X.ScrollDownButton,{className:y("flex web:cursor-default items-center justify-center py-1",b),...M,children:D(i,{size:14,className:"text-foreground"})})}function $0({className:b,children:M,position:W="popper",portalHost:$,...G}){let{open:I}=X.useRootContext();return D(X.Portal,{hostName:$,children:D(X.Overlay,{style:Y0.OS!=="web"?G1.absoluteFill:void 0,children:D(_1.View,{className:"z-50",entering:q1,exiting:I1,children:Z0(X.Content,{className:y("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-32 rounded-md border border-border bg-popover px-1 py-2 shadow-foreground/10 shadow-md",W==="popper"&&"data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",I?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",b),position:W,...G,children:[D(J1,{}),D(X.Viewport,{className:y("p-1",W==="popper"&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),children:M}),D(K1,{})]})})})})}function J4({className:b,...M}){return D(X.Label,{className:y("py-1.5 pr-2 native:pb-2 native:pl-10 pl-8 font-semibold native:text-base text-popover-foreground text-sm",b),...M})}function t({className:b,children:M,...W}){return Z0(X.Item,{className:y("web:group relative flex w-full web:cursor-default web:select-none flex-row items-center rounded-xs native:py-2 py-1.5 pr-2 native:pl-10 pl-8 web:outline-hidden web:hover:bg-accent/50 web:focus:bg-accent active:bg-accent",W.disabled&&"web:pointer-events-none opacity-50",b),...W,children:[D(X1,{className:"absolute left-2 native:left-3.5 flex h-3.5 w-3.5 items-center justify-center native:pt-px",children:D(X.ItemIndicator,{children:D(J0,{size:16,strokeWidth:3,className:"text-popover-foreground"})})}),D(X.ItemText,{className:"native:text-base native:text-lg text-popover-foreground text-sm web:group-focus:text-accent-foreground"})]})}function K4({className:b,...M}){return D(X.Separator,{className:y("-mx-1 my-1 h-px bg-muted",b),...M})}import{cn as R0}from"@contractspec/lib.ui-kit-core/utils";import{cva as E0}from"class-variance-authority";import{View as H0}from"react-native";import{jsx as D0}from"react/jsx-runtime";var O0="flex",Y1=E0([O0,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),Z1=E0([O0,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),R1=E0([O0,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function O4({className:b,spacing:M,align:W,justify:$,width:G,padding:I,gap:_,wrap:H,...Z}){return D0(H0,{className:R0(R1({spacing:M,align:W,justify:$,width:G,padding:I,gap:_,wrap:H}),b),...Z})}function B({className:b,spacing:M,align:W,justify:$,width:G,padding:I,gap:_,wrap:H,...Z}){return D0(H0,{className:R0(Z1({spacing:M,align:W,justify:$,width:G,padding:I,gap:_,wrap:H}),b),...Z})}function k({className:b,spacing:M,align:W,justify:$,width:G,padding:I,gap:_,...H}){return D0(H0,{className:R0(Y1({spacing:M,align:W,justify:$,width:G,padding:I,gap:_}),b),...H})}import{View as E1}from"react-native";import{jsx as C,jsxs as N}from"react/jsx-runtime";var Q0=({value:b,options:M,onChange:W,placeholder:$="Sélectionner...",label:G,disabled:I=!1,className:_="",showCounts:H=!1})=>{return N(B,{className:`space-y-2 ${_}`,children:[G&&C(L0,{className:"font-medium text-base text-foreground",children:G}),N(M0,{value:b,onValueChange:W,disabled:I,children:[C(W0,{className:"w-full",children:C(b0,{placeholder:$})}),N($0,{className:"bg-background",children:[N(t,{value:"all",label:"Tous",children:[C(f,{children:"Tous"}),H&&N(E1,{className:"ml-2 text-muted-foreground text-sm",children:["(",M.reduce((Z,w)=>Z+(w.count||0),0),")"]})]}),M.map((Z)=>C(t,{value:Z.value,label:Z.label,children:N(B,{className:"flex w-full items-center justify-between",children:[C(f,{children:Z.label}),H&&Z.count!==void 0&&N(f,{className:"ml-2 text-muted-foreground text-sm",children:["(",Z.count,")"]})]})},Z.value))]})]})]})};import{cn as u}from"@contractspec/lib.ui-kit-core/utils";import*as S from"@rn-primitives/slot";import{Platform as V0}from"react-native";import{jsx as v}from"react/jsx-runtime";function m4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:"heading","aria-level":"1",className:u("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",b),...W})}function N4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:"heading","aria-level":"2",className:u("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",b),...W})}function P4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:"heading","aria-level":"3",className:u("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",b),...W})}function g4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:"heading","aria-level":"4",className:u("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",b),...W})}function d({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{className:u("web:select-text text-base text-foreground",b),...W})}function A4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:V0.OS==="web"?"blockquote":void 0,className:u("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",b),...W})}function h4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{role:V0.OS==="web"?"code":void 0,className:u("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",b),...W})}function C4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{className:u("web:select-text text-muted-foreground text-xl",b),...W})}function d4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{className:u("web:select-text font-semibold text-foreground text-xl",b),...W})}function l4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{className:u("web:select-text font-medium text-foreground text-sm leading-none",b),...W})}function o4({className:b,asChild:M=!1,...W}){return v(M?S.Text:f,{className:u("web:select-text text-muted-foreground text-sm",b),...W})}import{ChevronLeft as H1,ChevronRight as O1,ChevronsLeft as D1,ChevronsRight as Q1}from"lucide-react-native";import{jsx as R,jsxs as F}from"react/jsx-runtime";function U1(b,M){if(M<=7)return Array.from({length:M},(W,$)=>$+1);if(b<=3)return[1,2,3,4,5,"end-ellipsis",M];if(b>=M-2)return[1,"start-ellipsis",M-4,M-3,M-2,M-1,M];return[1,"start-ellipsis",b-1,b,b+1,"end-ellipsis",M]}var U0=({currentPage:b,totalPages:M,totalItems:W,itemsPerPage:$,onPageChange:G,onItemsPerPageChange:I,disabled:_=!1,className:H="",showItemsPerPage:Z=!0,itemsPerPageOptions:w=[10,25,50,100]})=>{if(M<=0)return null;let T=Math.max(0,W),V=Math.max(1,$),O=Math.min(Math.max(b,1),M),q=T===0?0:(O-1)*V+1,g=T===0?0:Math.min(O*V,T),K=O>1&&!_,m=O<M&&!_,A=U1(O,M);return F(k,{align:"center",gap:"md",justify:"between",className:`sm:flex-row ${H}`,children:[R(k,{className:"order-2 text-base text-muted-foreground sm:order-1",children:F(f,{children:["Affichage de ",q," à ",g," sur ",T," résultats"]})}),F(B,{align:"center",gap:"sm",className:"order-1 sm:order-2",children:[F(Y,{variant:"outline",size:"sm",onPress:()=>G(1),disabled:!K,accessibilityLabel:"Première page",className:"hidden h-8 w-8 p-0 sm:flex",children:[R(D1,{className:"h-4 w-4"}),R(f,{className:"sr-only",children:"Première page"})]}),F(Y,{variant:"outline",size:"sm",onPress:()=>G(O-1),disabled:!K,accessibilityLabel:"Page précédente",className:"h-8 w-8 p-0",children:[R(H1,{className:"h-4 w-4"}),R(f,{className:"sr-only",children:"Page précédente"})]}),R(B,{align:"center",gap:"xs",children:A.map((E)=>{if(typeof E!=="number")return R(B,{className:"px-2 py-1 text-muted-foreground",children:R(f,{children:"..."})},E);return R(Y,{variant:E===O?"default":"outline",size:"sm",onPress:()=>G(E),disabled:_,accessibilityLabel:`Page ${E}`,className:"h-8 min-w-8 px-2",children:R(f,{children:E})},E)})}),F(Y,{variant:"outline",size:"sm",onPress:()=>G(O+1),disabled:!m,accessibilityLabel:"Page suivante",className:"h-8 w-8 p-0",children:[R(O1,{className:"h-4 w-4"}),R(f,{className:"sr-only",children:"Page suivante"})]}),F(Y,{variant:"outline",size:"sm",onPress:()=>G(M),disabled:!m,accessibilityLabel:"Dernière page",className:"hidden h-8 w-8 p-0 sm:flex",children:[R(Q1,{className:"h-4 w-4"}),R(f,{className:"sr-only",children:"Dernière page"})]})]}),Z&&I&&F(B,{align:"center",gap:"sm",className:"order-3 text-base",children:[R(f,{className:"text-muted-foreground",children:"Afficher:"}),F(M0,{value:{value:$.toString(),label:$.toString()},onValueChange:(E)=>{let j=parseInt(E?.value??"",10);if(!Number.isNaN(j)&&j>0)I(j)},disabled:_,children:[R(W0,{className:"h-8 w-16",children:R(b0,{placeholder:"Afficher:"})}),R($0,{className:"bg-background",children:w.map((E)=>R(t,{value:E.toString(),label:E.toString(),children:E},E))})]})]})]})};import{cn as m0}from"@contractspec/lib.ui-kit-core/utils";import{TextInput as S1}from"react-native";import{jsx as B1}from"react/jsx-runtime";function N0({className:b,placeholderClassName:M,...W}){return B1(S1,{className:m0("web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",W.editable===!1&&"web:cursor-not-allowed opacity-50",b),placeholderClassName:m0("text-muted-foreground",M),...W})}import{Search as u1,X as v1}from"lucide-react";import{View as S0}from"react-native";import{jsx as l,jsxs as P0}from"react/jsx-runtime";var B0=({value:b,onChange:M,placeholder:W="Rechercher...",onClear:$,disabled:G=!1,className:I=""})=>{let _=()=>{M(""),$?.()};return P0(S0,{className:`relative w-full ${I}`,children:[l(S0,{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3",children:l(u1,{className:"h-4 w-4 text-muted-foreground"})}),l(N0,{value:b,onChange:(H)=>M(H.nativeEvent.text),placeholder:W,editable:!G,className:"pr-10 pl-10"}),b&&l(S0,{className:"absolute inset-y-0 right-0 flex items-center pr-3",children:P0(Y,{variant:"ghost",size:"sm",onPress:_,disabled:G,className:"h-6 w-6 p-0 hover:bg-transparent",children:[l(v1,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),l(f,{className:"sr-only",children:"Effacer la recherche"})]})})]})};import{cn as o}from"@contractspec/lib.ui-kit-core/utils";import{Text as g0,View as z0}from"react-native";import{jsx as P}from"react/jsx-runtime";function f0({className:b,...M}){return P(z0,{className:o("rounded-lg border border-border bg-card shadow-2xs shadow-foreground/10",b),...M})}function E8({className:b,...M}){return P(z0,{className:o("flex flex-col gap-y-1.5 p-6",b),...M})}function H8({className:b,...M}){return P(g0,{role:"heading","aria-level":3,className:o("font-semibold text-2xl text-card-foreground leading-none tracking-tight",b),...M})}function O8({className:b,...M}){return P(g0,{className:o("text-muted-foreground text-sm",b),...M})}function G0({className:b,...M}){return P(e.Provider,{value:"text-card-foreground",children:P(z0,{className:o("p-6 pt-0",b),...M})})}function D8({className:b,...M}){return P(z0,{className:o("flex flex-row items-center p-6 pt-0",b),...M})}import*as p from"@rn-primitives/collapsible";var A0=p.Root,h0=p.Trigger,C0=p.Content;import{cn as k1}from"@contractspec/lib.ui-kit-core/utils";import*as d0 from"@rn-primitives/separator";import{jsx as F1}from"react/jsx-runtime";function l0({className:b,orientation:M="horizontal",decorative:W=!0,...$}){return F1(d0.Root,{decorative:W,orientation:M,className:k1("shrink-0 bg-border",M==="horizontal"?"h-px w-full":"h-full w-px",b),...$})}import{ChevronDown as w1,ChevronUp as T1,Filter as y1}from"lucide-react";import{useState as L1}from"react";import{View as c}from"react-native";import{jsx as Q,jsxs as n}from"react/jsx-runtime";var u0=({searchValue:b,onSearchChange:M,searchPlaceholder:W,filters:$=[],isLoading:G=!1,disabled:I=!1,className:_="",collapsible:H=!0,defaultCollapsed:Z=!1})=>{let[w,T]=L1(Z),V=$.length>0,O=$.filter((K)=>K.value).length,q=H&&V,g=()=>Q(c,{className:"flex flex-col gap-4 sm:flex-row sm:flex-wrap",children:$.map((K)=>Q(Q0,{value:{value:K.value,label:K.value},options:K.options,onChange:K.onChange,label:K.label,disabled:I||G,showCounts:K.showCounts,className:"min-w-0"},K.key))});return n(c,{className:`flex flex-col gap-4 ${_}`,children:[n(c,{className:"flex flex-col gap-4 sm:flex-row",children:[Q(c,{className:"flex-1",children:Q(B0,{value:b,onChange:M,placeholder:W,disabled:I||G,className:"w-full"})}),q&&n(A0,{open:!w,onOpenChange:T,className:"sm:hidden",children:[Q(h0,{asChild:!0,children:n(Y,{variant:"outline",className:"sm:hidden",disabled:I||G,children:[Q(y1,{className:"mr-2 h-4 w-4"}),"Filtres",O>0&&Q(f,{className:"ml-2 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-primary-foreground text-sm",children:O}),w?Q(w1,{className:"ml-2 h-4 w-4"}):Q(T1,{className:"ml-2 h-4 w-4"})]})}),Q(C0,{className:"mt-4 space-y-4",children:Q(g,{})})]})]}),V&&Q(c,{className:"hidden sm:flex",children:Q(g,{})}),O>0&&n(c,{className:"flex flex-wrap items-center gap-2",children:[Q(f,{className:"text-base text-muted-foreground",children:"Filtres actifs:"}),$.filter((K)=>K.value).map((K)=>{let m=K.options.find((A)=>A.value===K.value);return n(Y,{variant:"secondary",size:"sm",onPress:()=>K.onChange(void 0),disabled:I||G,className:"h-7 px-2 text-sm",children:[K.label,": ",m?.label,Q(f,{className:"ml-1",children:"×"})]},K.key)})]})]})};import{AlertTriangle as V1,Loader2 as o0,Plus as x,RefreshCcw as p0}from"lucide-react";import{View as L}from"react-native";import{jsx as z,jsxs as J,Fragment as X0}from"react/jsx-runtime";function t8({title:b,description:M,header:W,items:$,totalItems:G,totalPages:I,isLoading:_,isFetching:H,error:Z,listState:w,searchPlaceholder:T,filters:V=[],onRefresh:O,primaryAction:q,toolbar:g,renderItem:K,renderEmpty:m,renderStats:A,className:E="",itemClassName:j="",linkComponent:c0}){let r=c0,{searchQuery:_0,setSearchQuery:n0,filters:q0,setFilter:x0,currentPage:j0,itemsPerPage:e0,setCurrentPage:t0,setItemsPerPage:r0}=w;if(_&&!$.length)return J(k,{className:`space-y-4 md:space-y-6 ${E}`,children:[W?W:J(k,{className:"gap-1",children:[z(f,{className:"font-bold text-2xl md:text-3xl",children:b}),M&&z(d,{className:"text-base text-muted-foreground",children:M})]}),z(L,{className:"flex min-h-[400px] items-center justify-center",children:z(f0,{children:J(G0,{className:"flex items-center gap-4 p-6",children:[z(o0,{className:"h-8 w-8 animate-spin text-primary"}),J(L,{children:[z(f,{className:"font-medium",children:"Chargement..."}),z(d,{className:"text-base text-muted-foreground",children:"Récupération des données en cours"})]})]})})})]});if(Z&&!$.length)return J(k,{className:`space-y-4 md:space-y-6 ${E}`,children:[W?W:J(k,{className:"gap-1",children:[z(f,{className:"font-bold text-2xl md:text-3xl",children:b}),M&&z(d,{className:"text-base text-muted-foreground",children:M})]}),z(L,{className:"flex min-h-[400px] items-center justify-center",children:z(f0,{children:J(G0,{className:"flex flex-col items-center gap-4 p-6 text-center",children:[z(V1,{className:"h-12 w-12 text-destructive"}),J(L,{children:[z(f,{className:"font-medium",children:"Erreur de chargement"}),z(d,{className:"text-base text-muted-foreground",children:Z.message||"Une erreur est survenue"})]}),O&&J(Y,{onPress:O,variant:"outline",size:"sm",children:[z(p0,{className:"mr-2 h-4 w-4"}),"Réessayer"]})]})})})]});let i0=V.map((U)=>({key:U.key,label:U.label,value:q0[U.key]||"",options:U.options,onChange:(I0)=>{x0(U.key,I0?.value||"")},showCounts:U.showCounts}));return J(k,{className:`space-y-4 md:space-y-6 ${E}`,children:[W?W:J(B,{className:"items-center justify-between",children:[J(k,{className:"gap-1",children:[z("h1",{className:"font-bold text-2xl md:text-3xl",children:b}),M&&z("p",{className:"text-base text-muted-foreground",children:M})]}),J(B,{className:"items-center gap-4",children:[g,(_||H)&&J("div",{className:"flex items-center gap-2 text-base text-muted-foreground",children:[z(o0,{className:"h-4 w-4 animate-spin"}),z(f,{className:"hidden sm:inline",children:"Mise à jour..."})]}),O&&J(Y,{variant:"outline",size:"sm",onPress:O,disabled:Boolean(_),"aria-label":"Rafraîchir",children:[z(p0,{className:`mr-2 h-4 w-4 ${_||H?"animate-spin":""}`}),z(f,{className:"hidden sm:inline",children:"Rafraîchir"})]}),q&&z(X0,{children:q.href?r?z(r,{href:q.href,children:J(Y,{children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),z(f,{className:"hidden sm:inline",children:q.label}),z(f,{className:"sm:hidden",children:"Nouveau"})]})}):J(Y,{onPress:q.onClick??void 0,children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),z(f,{className:"hidden sm:inline",children:q.label}),z(f,{className:"sm:hidden",children:"Nouveau"})]}):J(Y,{onPress:q.onClick,children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),z(f,{className:"hidden sm:inline",children:q.label}),z(f,{className:"sm:hidden",children:"Nouveau"})]})})]})]}),A&&J(X0,{children:[A($),z(l0,{})]}),z(u0,{searchValue:_0,onSearchChange:n0,searchPlaceholder:T,filters:i0,isLoading:_}),$.length===0&&!_?m?m():z(f0,{children:J(G0,{className:"flex flex-col items-center gap-4 p-8 text-center",children:[z(L,{className:"flex h-12 w-12 items-center justify-center rounded-full bg-muted",children:z(L,{className:"h-6 w-6 rounded-full bg-muted-foreground/20"})}),J(L,{children:[z(f,{className:"font-medium",children:"Aucun élément trouvé"}),z(d,{className:"text-base text-muted-foreground",children:_0||Object.values(q0).some((U)=>U)?"Essayez de modifier vos critères de recherche":"Commencez par créer votre premier élément"})]}),q&&!_0&&!Object.values(q0).some((U)=>U)&&z(X0,{children:q.href?r?z(r,{href:q.href,children:J(Y,{children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),q.label]})}):J(Y,{onPress:q.onClick??void 0,children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),q.label]}):J(Y,{onPress:q.onClick,children:[q.icon||z(x,{className:"mr-2 h-4 w-4"}),q.label]})})]})}):J(X0,{children:[z(L,{className:`space-y-4 ${j}`,children:$.map((U,I0)=>K(U,I0))}),I>1&&z(U0,{currentPage:j0,totalPages:I,totalItems:G,itemsPerPage:e0,onPageChange:t0,onItemsPerPageChange:r0,disabled:_})]})]})}export{t8 as ListPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{r as ListPage};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as v}from"@contractspec/lib.ui-kit-core/utils";import*as P from"@rn-primitives/slot";import*as W from"react";import{Text as S}from"react-native";import{jsx as y}from"react/jsx-runtime";var w=W.createContext(void 0);function E({className:z,asChild:A=!1,...q}){let D=W.useContext(w);return y(A?P.Text:S,{className:v("web:select-text text-base text-foreground",D,z),...q})}import{cn as Y}from"@contractspec/lib.ui-kit-core/utils";import{cva as Z}from"class-variance-authority";import{View as _}from"react-native";import{jsx as R}from"react/jsx-runtime";var $="flex",k=Z([$,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),T=Z([$,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),b=Z([$,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function n({className:z,spacing:A,align:q,justify:D,width:J,padding:K,gap:O,wrap:U,...X}){return R(_,{className:Y(b({spacing:A,align:q,justify:D,width:J,padding:K,gap:O,wrap:U}),z),...X})}function M({className:z,spacing:A,align:q,justify:D,width:J,padding:K,gap:O,wrap:U,...X}){return R(_,{className:Y(T({spacing:A,align:q,justify:D,width:J,padding:K,gap:O,wrap:U}),z),...X})}function Q({className:z,spacing:A,align:q,justify:D,width:J,padding:K,gap:O,...U}){return R(_,{className:Y(k({spacing:A,align:q,justify:D,width:J,padding:K,gap:O}),z),...U})}import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import*as F from"@rn-primitives/slot";import{Platform as f}from"react-native";import{jsx as I}from"react/jsx-runtime";function H({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:"heading","aria-level":"1",className:G("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",z),...q})}function i({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:"heading","aria-level":"2",className:G("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",z),...q})}function t({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:"heading","aria-level":"3",className:G("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",z),...q})}function a({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:"heading","aria-level":"4",className:G("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",z),...q})}function V({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{className:G("web:select-text text-base text-foreground",z),...q})}function s({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:f.OS==="web"?"blockquote":void 0,className:G("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",z),...q})}function qq({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{role:f.OS==="web"?"code":void 0,className:G("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",z),...q})}function zq({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{className:G("web:select-text text-muted-foreground text-xl",z),...q})}function Aq({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{className:G("web:select-text font-semibold text-foreground text-xl",z),...q})}function Dq({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{className:G("web:select-text font-medium text-foreground text-sm leading-none",z),...q})}function Eq({className:z,asChild:A=!1,...q}){return I(A?F.Text:E,{className:G("web:select-text text-muted-foreground text-sm",z),...q})}import{cn as g}from"@contractspec/lib.ui-kit-core/utils";import{cva as u}from"class-variance-authority";import{jsx as B,jsxs as L}from"react/jsx-runtime";var C=u("",{variants:{spacing:{sm:"gap-1",md:"gap-2",lg:"gap-3"}},defaultVariants:{spacing:"md"}});function Uq({breadcrumb:z,title:A,subtitle:q,actions:D,spacing:J,className:K}){return L(Q,{className:g(C({spacing:J}),K),children:[z,L(M,{className:"items-start justify-between",children:[L(Q,{className:"gap-1",children:[B(H,{className:"font-semibold text-2xl md:text-3xl",children:A}),q?B(V,{className:"text-base text-muted-foreground",children:q}):null]}),D?B(M,{className:"flex items-center gap-2",children:D}):null]})]})}export{Uq as PageHeader};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as O}from"@contractspec/lib.ui-kit-core/utils";import*as A from"@rn-primitives/slot";import*as g from"react";import{Text as T}from"react-native";import{jsx as q}from"react/jsx-runtime";var V=g.createContext(void 0);function a({className:t,asChild:o=!1,...e}){let n=g.useContext(V);return q(o?A.Text:T,{className:O("web:select-text text-base text-foreground",n,t),...e})}import{cn as c}from"@contractspec/lib.ui-kit-core/utils";import{cva as k}from"class-variance-authority";import{View as S}from"react-native";import{jsx as z}from"react/jsx-runtime";var N="flex",w=k([N,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),F=k([N,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),M=k([N,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function K({className:t,spacing:o,align:e,justify:n,width:m,padding:f,gap:l,wrap:r,...s}){return z(S,{className:c(M({spacing:o,align:e,justify:n,width:m,padding:f,gap:l,wrap:r}),t),...s})}function h({className:t,spacing:o,align:e,justify:n,width:m,padding:f,gap:l,wrap:r,...s}){return z(S,{className:c(F({spacing:o,align:e,justify:n,width:m,padding:f,gap:l,wrap:r}),t),...s})}function P({className:t,spacing:o,align:e,justify:n,width:m,padding:f,gap:l,...r}){return z(S,{className:c(w({spacing:o,align:e,justify:n,width:m,padding:f,gap:l}),t),...r})}import{View as b}from"react-native";import*as H from"zod";import{jsx as u,jsxs as d}from"react/jsx-runtime";var W=H.string().min(8,"Password must be at least 8 characters").max(128,"Password is too long").regex(/(?=.*[a-z])/,"Password must contain at least one lowercase letter").regex(/(?=.*[A-Z])/,"Password must contain at least one uppercase letter").regex(/(?=.*\d)/,"Password must contain at least one number");function Z(t){let o=[],e=0;if(t.length>=8)e+=1;else o.push("At least 8 characters");if(/[a-z]/.test(t))e+=1;else o.push("One lowercase letter");if(/[A-Z]/.test(t))e+=1;else o.push("One uppercase letter");if(/\d/.test(t))e+=1;else o.push("One number");if(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(t))e+=1;if(t.length>=12)e+=1;let n=W.safeParse(t).success;return{score:Math.min(e,5),feedback:o,isValid:n}}function Y({password:t,showFeedback:o=!0}){let{score:e,feedback:n,isValid:m}=Z(t);if(!t)return null;let f=(r)=>{if(r<=1)return"#ef4444";if(r<=2)return"#f97316";if(r<=3)return"#eab308";if(r<=4)return"#22c55e";return"#16a34a"},l=(r)=>{if(r<=1)return"Very Weak";if(r<=2)return"Weak";if(r<=3)return"Fair";if(r<=4)return"Good";return"Strong"};return d(P,{className:"gap-y-2",children:[d(P,{className:"gap-y-1",children:[d(h,{className:"items-center justify-between",children:[u(a,{className:"text-muted-foreground text-xs",children:"Password Strength"}),u(a,{className:"font-medium text-xs",style:{color:f(e)},children:l(e)})]}),u(b,{className:"h-2 overflow-hidden rounded-full bg-gray-200",children:u(b,{className:"h-full rounded-full transition-all duration-300",style:{width:`${e/5*100}%`,backgroundColor:f(e)}})})]}),o&&n.length>0&&d(P,{className:"gap-y-1",children:[u(a,{className:"text-muted-foreground text-xs",children:"Required:"}),n.map((r,s)=>d(h,{className:"items-center gap-x-2",children:[u(b,{className:"h-1 w-1 rounded-full bg-muted-foreground"}),u(a,{className:"text-muted-foreground text-xs",children:r})]},s))]}),m&&d(h,{className:"items-center gap-x-2",children:[u(b,{className:"h-2 w-2 rounded-full bg-green-500"}),u(a,{className:"text-green-600 text-xs",children:"Meets requirements"})]})]})}export{W as passwordSchema,Z as getPasswordStrength,Y as PasswordStrength};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as M}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as z from"react";import{Text as Q}from"react-native";import{jsx as U}from"react/jsx-runtime";var J=z.createContext(void 0);function A({className:B,asChild:D=!1,...E}){let G=z.useContext(J);return U(D?L.Text:Q,{className:M("web:select-text text-base text-foreground",G,B),...E})}import{cn as V}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@rn-primitives/popover";import{Platform as W,StyleSheet as X}from"react-native";import Y,{FadeIn as Z,FadeOut as _}from"react-native-reanimated";import{jsx as w}from"react/jsx-runtime";var S=q.Root,h=q.Trigger;function O({className:B,align:D="center",sideOffset:E=4,portalHost:G,...K}){return w(q.Portal,{hostName:G,children:w(q.Overlay,{style:W.OS!=="web"?X.absoluteFill:void 0,children:w(Y.View,{entering:Z.duration(200),exiting:_,children:w(J.Provider,{value:"text-popover-foreground",children:w(q.Content,{align:D,sideOffset:E,className:V("web:fade-in-0 web:zoom-in-95 web:data-[side=bottom]:slide-in-from-top-2 web:data-[side=left]:slide-in-from-right-2 web:data-[side=right]:slide-in-from-left-2 web:data-[side=top]:slide-in-from-bottom-2 z-50 w-72 web:animate-in web:cursor-auto rounded-md border border-border bg-popover p-4 shadow-foreground/5 shadow-md web:outline-hidden",B),...K})})})})})}export{h as PopoverTrigger,O as PopoverContent,S as Popover};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{l as useModalPortalRoot,a as PortalHost,r as Portal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/progress";import{Platform as K,View as L}from"react-native";import M,{Extrapolation as O,interpolate as Q,useAnimatedStyle as R,useDerivedValue as T,withSpring as U}from"react-native-reanimated";import{jsx as q}from"react/jsx-runtime";function _({className:F,value:z,indicatorClassName:H,...J}){return q(B.Root,{className:G("relative h-4 w-full overflow-hidden rounded-full bg-secondary",F),...J,children:q(W,{value:z,className:H})})}function W({value:F,className:z}){let H=T(()=>F??0),J=R(()=>{return{width:U(`${Q(H.value,[0,100],[1,100],O.CLAMP)}%`,{overshootClamping:!0})}});if(K.OS==="web")return q(L,{className:G("h-full w-full flex-1 bg-primary web:transition-all",z),style:{transform:`translateX(-${100-(F??0)}%)`},children:q(B.Indicator,{className:G("h-full w-full",z)})});return q(B.Indicator,{asChild:!0,children:q(M.View,{style:J,className:G("h-full bg-foreground",z)})})}export{_ as Progress};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as z}from"@contractspec/lib.ui-kit-core/utils";import*as h from"@rn-primitives/radio-group";import{Platform as A}from"react-native";import{jsx as y}from"react/jsx-runtime";function D({className:w,...q}){return y(h.Root,{className:z("gap-3",w),...q})}function E({className:w,...q}){return y(h.Item,{className:z("aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input shadow-2xs shadow-black/5 dark:bg-input/30",A.select({web:"outline-hidden transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40"}),q.disabled&&"opacity-50",w),...q,children:y(h.Indicator,{className:"size-2 rounded-full bg-primary"})})}export{E as RadioGroupItem,D as RadioGroup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{styled as Y}from"nativewind";function q(W){Y(W,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as E}from"lucide-react-native";q(E);import{Check as I}from"lucide-react-native";q(I);import{ChevronUp as J}from"lucide-react-native";q(J);import{cn as g}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@rn-primitives/select";import{Platform as K,StyleSheet as Z,View as _}from"react-native";import $,{FadeIn as m,FadeOut as A}from"react-native-reanimated";import{jsx as y,jsxs as Q}from"react/jsx-runtime";var N=f.Root,x=f.Group,S=f.Value;function j({ref:W,className:L,children:M,...z}){return Q(f.Trigger,{ref:W,className:g("flex h-10 native:h-12 flex-row items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-muted-foreground text-sm web:ring-offset-background web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 [&>span]:line-clamp-1",z.disabled&&"web:cursor-not-allowed opacity-50",L),...z,children:[M,y(E,{size:16,"aria-hidden":!0,className:"text-foreground opacity-50"})]})}function C({className:W,...L}){if(K.OS!=="web")return null;return y(f.ScrollUpButton,{className:g("flex web:cursor-default items-center justify-center py-1",W),...L,children:y(J,{size:14,className:"text-foreground"})})}function G({className:W,...L}){if(K.OS!=="web")return null;return y(f.ScrollDownButton,{className:g("flex web:cursor-default items-center justify-center py-1",W),...L,children:y(E,{size:14,className:"text-foreground"})})}function r({className:W,children:L,position:M="popper",portalHost:z,...R}){let{open:X}=f.useRootContext();return y(f.Portal,{hostName:z,children:y(f.Overlay,{style:K.OS!=="web"?Z.absoluteFill:void 0,children:y($.View,{className:"z-50",entering:m,exiting:A,children:Q(f.Content,{className:g("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-32 rounded-md border border-border bg-popover px-1 py-2 shadow-foreground/10 shadow-md",M==="popper"&&"data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",X?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",W),position:M,...R,children:[y(C,{}),y(f.Viewport,{className:g("p-1",M==="popper"&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),children:L}),y(G,{})]})})})})}function t({className:W,...L}){return y(f.Label,{className:g("py-1.5 pr-2 native:pb-2 native:pl-10 pl-8 font-semibold native:text-base text-popover-foreground text-sm",W),...L})}function o({className:W,children:L,...M}){return Q(f.Item,{className:g("web:group relative flex w-full web:cursor-default web:select-none flex-row items-center rounded-xs native:py-2 py-1.5 pr-2 native:pl-10 pl-8 web:outline-hidden web:hover:bg-accent/50 web:focus:bg-accent active:bg-accent",M.disabled&&"web:pointer-events-none opacity-50",W),...M,children:[y(_,{className:"absolute left-2 native:left-3.5 flex h-3.5 w-3.5 items-center justify-center native:pt-px",children:y(f.ItemIndicator,{children:y(I,{size:16,strokeWidth:3,className:"text-popover-foreground"})})}),y(f.ItemText,{className:"native:text-base native:text-lg text-popover-foreground text-sm web:group-focus:text-accent-foreground"})]})}function n({className:W,...L}){return y(f.Separator,{className:g("-mx-1 my-1 h-px bg-muted",W),...L})}export{S as SelectValue,j as SelectTrigger,n as SelectSeparator,C as SelectScrollUpButton,G as SelectScrollDownButton,t as SelectLabel,o as SelectItem,x as SelectGroup,r as SelectContent,N as Select};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as y}from"@contractspec/lib.ui-kit-core/utils";import*as g from"@rn-primitives/separator";import{jsx as z}from"react/jsx-runtime";function B({className:h,orientation:f="horizontal",decorative:q=!0,...w}){return z(g.Root,{decorative:q,orientation:f,className:y("shrink-0 bg-border",f==="horizontal"?"h-px w-full":"h-full w-px",h),...w})}export{B as Separator};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="null";export{e as sheet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e="null";export{e as sidebar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import*as C from"react";import H,{useAnimatedStyle as I,useSharedValue as J,withRepeat as K,withSequence as L,withTiming as z}from"react-native-reanimated";import{jsx as M}from"react/jsx-runtime";var B=1000;function Q({className:D,...E}){let f=J(1);C.useEffect(()=>{f.value=K(L(z(0.5,{duration:B}),z(1,{duration:B})),-1)},[]);let F=I(()=>({opacity:f.value}));return M(H.View,{style:F,className:G("rounded-md bg-secondary dark:bg-muted",D),...E})}export{Q as Skeleton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as w}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@rn-primitives/slider";import{jsx as g,jsxs as y}from"react/jsx-runtime";function A({className:h,...q}){return y(f.Root,{className:w("relative flex w-full flex-row items-center data-[disabled]:opacity-50",h),...q,children:[g(f.Track,{className:"relative h-1.5 flex-1 overflow-hidden rounded-full bg-muted",children:g(f.Range,{className:"absolute h-full rounded-full bg-primary"})}),g(f.Thumb,{className:"ml-[-8] h-4 w-4 rounded-full border border-primary bg-background"})]})}export{A as Slider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as J}from"@contractspec/lib.ui-kit-core/utils";import{cva as K}from"class-variance-authority";import{View as L}from"react-native";import{jsx as O}from"react/jsx-runtime";var M="flex",P=K([M,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),Q=K([M,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),R=K([M,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function X({className:q,spacing:z,align:A,justify:C,width:D,padding:E,gap:F,wrap:G,...I}){return O(L,{className:J(R({spacing:z,align:A,justify:C,width:D,padding:E,gap:F,wrap:G}),q),...I})}function Y({className:q,spacing:z,align:A,justify:C,width:D,padding:E,gap:F,wrap:G,...I}){return O(L,{className:J(Q({spacing:z,align:A,justify:C,width:D,padding:E,gap:F,wrap:G}),q),...I})}function Z({className:q,spacing:z,align:A,justify:C,width:D,padding:E,gap:F,...G}){return O(L,{className:J(P({spacing:z,align:A,justify:C,width:D,padding:E,gap:F}),q),...G})}export{Z as VStack,Y as HStack,X as Box};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import{cva as L}from"class-variance-authority";import{View as M}from"react-native";import{jsx as P}from"react/jsx-runtime";var O="flex",U=L([O,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),W=L([O,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),X=L([O,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function H({className:A,spacing:C,align:D,justify:E,width:F,padding:G,gap:q,wrap:I,...J}){return P(M,{className:K(X({spacing:C,align:D,justify:E,width:F,padding:G,gap:q,wrap:I}),A),...J})}function Q({className:A,spacing:C,align:D,justify:E,width:F,padding:G,gap:q,wrap:I,...J}){return P(M,{className:K(W({spacing:C,align:D,justify:E,width:F,padding:G,gap:q,wrap:I}),A),...J})}function b({className:A,spacing:C,align:D,justify:E,width:F,padding:G,gap:q,...I}){return P(M,{className:K(U({spacing:C,align:D,justify:E,width:F,padding:G,gap:q}),A),...I})}import{cn as R}from"@contractspec/lib.ui-kit-core/utils";import{cva as Y}from"class-variance-authority";import{View as Z}from"react-native";import{jsx as T}from"react/jsx-runtime";var _=Y("h-2 w-2 rounded-full",{variants:{state:{active:"bg-primary",inactive:"bg-muted-foreground/20"},size:{sm:"",md:"h-2.5 w-2.5"}},defaultVariants:{state:"inactive",size:"md"}});function V({current:A,total:C,size:D,className:E}){let F=Array.from({length:Math.max(0,C)});return T(Q,{className:R("items-center gap-2",E),children:F.map((G,q)=>T(Z,{className:R(_({state:q+1===A?"active":"inactive",size:D}))},q))})}export{V as Stepper};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useColorScheme as K}from"nativewind";var L="light";function M(){let{colorScheme:E,setColorScheme:C,toggleColorScheme:D}=K();return{colorScheme:E??L,isDarkColorScheme:E==="dark",setColorScheme:C,toggleColorScheme:D}}import{cn as k}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@rn-primitives/switch";import{Platform as Q}from"react-native";import U,{interpolateColor as Y,useAnimatedStyle as q,useDerivedValue as Z,withTiming as _}from"react-native-reanimated";import{jsx as g}from"react/jsx-runtime";function $({className:E,...C}){return g(f.Root,{className:k("peer h-6 w-11 shrink-0 cursor-pointer flex-row items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed",C.checked?"bg-primary":"bg-input",C.disabled&&"opacity-50",E),...C,children:g(f.Thumb,{className:k("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-foreground/5 shadow-md ring-0 transition-transform",C.checked?"translate-x-5":"translate-x-0")})})}var z={light:{primary:"rgb(24, 24, 27)",input:"rgb(228, 228, 231)"},dark:{primary:"rgb(250, 250, 250)",input:"rgb(39, 39, 42)"}};function P({className:E,...C}){let{colorScheme:D}=M(),F=D==="dark"?"dark":"light",H=Z(()=>C.checked?18:0),I=q(()=>{return{backgroundColor:Y(H.value,[0,18],[z[F].input,z[F].primary])}}),J=q(()=>({transform:[{translateX:_(H.value,{duration:200})}]}));return g(U.View,{style:I,className:k("h-8 w-[46px] rounded-full",C.disabled&&"opacity-50"),children:g(f.Root,{className:k("h-8 w-[46px] shrink-0 flex-row items-center rounded-full border-2 border-transparent",C.checked?"bg-primary":"bg-input",E),...C,children:g(U.View,{style:J,children:g(f.Thumb,{className:"h-7 w-7 rounded-full bg-background shadow-foreground/25 shadow-md ring-0"})})})})}var O=Q.select({web:$,default:P});export{O as Switch};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import*as I from"@rn-primitives/slot";import*as D from"react";import{Text as L}from"react-native";import{jsx as M}from"react/jsx-runtime";var G=D.createContext(void 0);function S({className:f,asChild:g=!1,...E}){let J=D.useContext(G);return M(g?I.Text:L,{className:K("web:select-text text-base text-foreground",J,f),...E})}import{cn as A}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@rn-primitives/table";import{jsx as z}from"react/jsx-runtime";function Y({className:f,...g}){return z(q.Root,{className:A("w-full caption-bottom text-sm",f),...g})}function Z({className:f,...g}){return z(q.Header,{className:A("border-border [&_tr]:border-b",f),...g})}function _({className:f,style:g,...E}){return z(q.Body,{className:A("flex-1 border-border [&_tr:last-child]:border-0",f),style:[{minHeight:2},g],...E})}function $({className:f,...g}){return z(q.Footer,{className:A("bg-muted/50 font-medium [&>tr]:last:border-b-0",f),...g})}function w({className:f,...g}){return z(q.Row,{className:A("flex-row border-border border-b web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted",f),...g})}function B({className:f,...g}){return z(G.Provider,{value:"text-muted-foreground",children:z(q.Head,{className:A("h-12 justify-center px-4 text-left font-medium [&:has([role=checkbox])]:pr-0",f),...g})})}function F({className:f,...g}){return z(q.Cell,{className:A("p-4 align-middle [&:has([role=checkbox])]:pr-0",f),...g})}export{w as TableRow,Z as TableHeader,B as TableHead,$ as TableFooter,F as TableCell,_ as TableBody,Y as Table};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as w}from"@contractspec/lib.ui-kit-core/utils";import*as d from"@rn-primitives/tabs";import{Platform as z}from"react-native";import{jsx as y}from"react/jsx-runtime";function E({className:q,...h}){return y(d.Root,{className:w("flex flex-col gap-2",q),...h})}function F({className:q,...h}){return y(d.List,{className:w("flex h-9 flex-row items-center justify-center rounded-lg bg-muted p-[3px]",z.select({web:"inline-flex w-fit",native:"mr-auto"}),q),...h})}function G({className:q,...h}){let{value:A}=d.useRootContext();return y(d.Trigger,{className:w("flex h-[calc(100%-1px)] flex-row items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 shadow-black/5 shadow-none",z.select({web:"inline-flex cursor-default whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0"}),h.disabled&&"opacity-50",h.value===A&&"bg-background dark:border-foreground/10 dark:bg-input/30",q),...h})}function H({className:q,...h}){return y(d.Content,{className:w(z.select({web:"flex-1 outline-none"}),q),...h})}export{G as TabsTrigger,F as TabsList,H as TabsContent,E as Tabs};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as A}from"@contractspec/lib.ui-kit-core/utils";import*as g from"@rn-primitives/slot";import*as f from"react";import{Text as B}from"react-native";import{jsx as E}from"react/jsx-runtime";var D=f.createContext(void 0);function I({className:q,asChild:w=!1,...y}){let z=f.useContext(D);return E(w?g.Text:B,{className:A("web:select-text text-base text-foreground",z,q),...y})}export{D as TextClassContext,I as Text};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import*as w from"react";import{TextInput as B}from"react-native";import{jsx as E}from"react/jsx-runtime";var D=w.forwardRef(({className:y,placeholderClassName:z,...g},A)=>{return E(B,{ref:A,className:q("web:flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",g.editable===!1&&"web:cursor-not-allowed opacity-50",y),placeholderClassName:q("text-muted-foreground",z),multiline:!0,...g})});D.displayName="Textarea";export{D as Textarea};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as Z}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as E from"react";import{Text as _}from"react-native";import{jsx as M}from"react/jsx-runtime";var $=E.createContext(void 0);function O({className:q,asChild:z=!1,...A}){let F=E.useContext($);return M(z?L.Text:_,{className:Z("web:select-text text-base text-foreground",F,q),...A})}import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import R from"@react-native-community/datetimepicker";import{useMemo as V,useState as y}from"react";import{Platform as Q,Pressable as f,View as g}from"react-native";import{jsx as I,jsxs as k}from"react/jsx-runtime";function S(q,z){if(!q)return"";try{return q.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!z})}catch{return""}}function p({value:q,onChange:z,disabled:A,placeholder:F="Select time",is24Hour:B=!0,className:U}){let[W,J]=y(!1),X=V(()=>({is24Hour:B,timeZoneName:void 0}),[B]),Y=(w,K)=>{if(Q.OS!=="ios")J(!1);if(K)z(K)};return k(g,{className:G("w-full",U),children:[I(f,{disabled:A,onPress:()=>J(!0),className:G("h-12 flex-row items-center rounded-md border border-input bg-background px-3",A&&"opacity-50"),children:I(O,{className:G("text-base text-foreground",!q&&"opacity-50"),children:q?S(q,B):F})}),W&&I(R,{value:q??new Date,mode:"time",display:Q.OS==="ios"?"spinner":"default",onChange:Y,...X})]})}export{p as TimePicker};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as P}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as H from"react";import{Text as Q}from"react-native";import{jsx as S}from"react/jsx-runtime";var G=H.createContext(void 0);function J({className:f,asChild:q=!1,...z}){let E=H.useContext(G);return S(q?L.Text:Q,{className:P("web:select-text text-base text-foreground",E,f),...z})}import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/toast";import{X as U}from"lucide-react-native";import{View as K}from"react-native";import{jsx as y,jsxs as M}from"react/jsx-runtime";function W({className:f,...q}){return y(B.Root,{className:F("rounded-lg border border-border bg-popover p-4 shadow-foreground/5 shadow-md",f),...q})}function O({className:f,...q}){return y(G.Provider,{value:"font-medium text-base text-popover-foreground",children:y(B.Title,{className:F(f),...q})})}function V({className:f,...q}){return y(G.Provider,{value:"text-sm text-muted-foreground",children:y(B.Description,{className:F(f),...q})})}function v({className:f,children:q,...z}){return y(G.Provider,{value:"font-medium text-sm text-foreground",children:y(B.Action,{className:F("mt-3 inline-flex min-h-9 items-center justify-center rounded-md border border-input px-3",f),...z,children:q})})}function Y({className:f,children:q,...z}){return y(B.Close,{className:F("absolute top-2 right-2 inline-flex h-8 w-8 items-center justify-center rounded-md",f),...z,children:q??y(U,{size:16})})}function u({className:f,children:q,...z}){return y(K,{className:F("flex flex-col gap-2",f),...z,children:q})}function Z({title:f,description:q}){return M(K,{className:"flex-1 gap-1",children:[f?y(J,{className:"font-medium text-base",children:f}):null,q?y(J,{className:"text-muted-foreground text-sm",children:q}):null]})}function _({title:f,description:q,action:z,open:E,onOpenChange:I}){if(!E)return null;return y(W,{open:E,onOpenChange:I,children:M(K,{className:"flex-row items-start gap-3",children:[y(Z,{description:q,title:f}),z,y(Y,{onPress:()=>I(!1)})]})})}function g(f){let q=Math.random().toString(36).slice(2),z=f.open;return{id:q,dismiss:()=>{z=!1,f.onOpenChange(!1)},element:y(_,{...f,open:z,onOpenChange:(E)=>{z=E,f.onOpenChange(E)}})}}export{g as toastCard,u as ToastViewport,O as ToastTitle,Z as ToastText,V as ToastDescription,Y as ToastClose,_ as ToastCard,v as ToastAction,W as Toast};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as _}from"@contractspec/lib.ui-kit-core/utils";import*as U from"@rn-primitives/slot";import*as J from"react";import{Text as $}from"react-native";import{jsx as y}from"react/jsx-runtime";var E=J.createContext(void 0);function d({className:f,asChild:A=!1,...w}){let q=J.useContext(E);return y(A?U.Text:$,{className:_("web:select-text text-base text-foreground",q,f),...w})}import{cn as L}from"@contractspec/lib.ui-kit-core/utils";import*as W from"@rn-primitives/toggle";import{cva as X}from"class-variance-authority";import*as Y from"react";import{jsx as M}from"react/jsx-runtime";var O=X("web:group web:inline-flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:hover:bg-muted web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 active:bg-muted",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent web:hover:bg-accent active:bg-accent"},size:{default:"h-10 native:h-12 native:px-[12] px-3",sm:"h-9 native:h-10 native:px-[9] px-2.5",lg:"h-11 native:h-14 native:px-6 px-5"}},defaultVariants:{variant:"default",size:"default"}}),P=X("font-medium native:text-base text-foreground text-sm",{variants:{variant:{default:"",outline:"web:group-hover:text-accent-foreground web:group-active:text-accent-foreground"},size:{default:"",sm:"",lg:""}},defaultVariants:{variant:"default",size:"default"}});function j({className:f,variant:A,size:w,...q}){return M(E.Provider,{value:L(P({variant:A,size:w}),q.pressed?"text-accent-foreground":"web:group-hover:text-muted-foreground",f),children:M(W.Root,{className:L(O({variant:A,size:w}),q.disabled&&"web:pointer-events-none opacity-50",q.pressed&&"bg-accent",f),...q})})}function N({className:f,icon:A,...w}){let q=Y.useContext(E);return M(A,{className:L(q,f),...w})}import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/toggle-group";import*as H from"react";import{jsx as F}from"react/jsx-runtime";var Z=H.createContext(null);function g({className:f,variant:A,size:w,children:q,...D}){return F(B.Root,{className:K("flex flex-row items-center justify-center gap-1",f),...D,children:F(Z.Provider,{value:{variant:A,size:w},children:q})})}function R(){let f=H.useContext(Z);if(f===null)throw Error("ToggleGroup compound components cannot be rendered outside the ToggleGroup component");return f}function x({className:f,children:A,variant:w,size:q,...D}){let Q=R(),{value:S}=B.useRootContext();return F(E.Provider,{value:K(P({variant:w,size:q}),B.utils.getIsSelected(S,D.value)?"text-accent-foreground":"web:group-hover:text-muted-foreground"),children:F(B.Item,{className:K(O({variant:Q.variant||w,size:Q.size||q}),D.disabled&&"web:pointer-events-none opacity-50",B.utils.getIsSelected(S,D.value)&&"bg-accent",f),...D,children:A})})}function l({className:f,icon:A,...w}){let q=H.useContext(E);return F(A,{className:K(q,f),...w})}export{x as ToggleGroupItem,l as ToggleGroupIcon,g as ToggleGroup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as L}from"@contractspec/lib.ui-kit-core/utils";import*as G from"@rn-primitives/slot";import*as B from"react";import{Text as M}from"react-native";import{jsx as O}from"react/jsx-runtime";var D=B.createContext(void 0);function X({className:q,asChild:w=!1,...A}){let f=B.useContext(D);return O(w?G.Text:M,{className:L("web:select-text text-base text-foreground",f,q),...A})}import{cn as E}from"@contractspec/lib.ui-kit-core/utils";import*as H from"@rn-primitives/toggle";import{cva as J}from"class-variance-authority";import*as K from"react";import{jsx as F}from"react/jsx-runtime";var P=J("web:group web:inline-flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:hover:bg-muted web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 active:bg-muted",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent web:hover:bg-accent active:bg-accent"},size:{default:"h-10 native:h-12 native:px-[12] px-3",sm:"h-9 native:h-10 native:px-[9] px-2.5",lg:"h-11 native:h-14 native:px-6 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Q=J("font-medium native:text-base text-foreground text-sm",{variants:{variant:{default:"",outline:"web:group-hover:text-accent-foreground web:group-active:text-accent-foreground"},size:{default:"",sm:"",lg:""}},defaultVariants:{variant:"default",size:"default"}});function R({className:q,variant:w,size:A,...f}){return F(D.Provider,{value:E(Q({variant:w,size:A}),f.pressed?"text-accent-foreground":"web:group-hover:text-muted-foreground",q),children:F(H.Root,{className:E(P({variant:w,size:A}),f.disabled&&"web:pointer-events-none opacity-50",f.pressed&&"bg-accent",q),...f})})}function b({className:q,icon:w,...A}){let f=K.useContext(D);return F(w,{className:E(f,q),...A})}export{P as toggleVariants,Q as toggleTextVariants,b as ToggleIcon,R as Toggle};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as O}from"@contractspec/lib.ui-kit-core/utils";import*as K from"@rn-primitives/slot";import*as F from"react";import{Text as P}from"react-native";import{jsx as Q}from"react/jsx-runtime";var E=F.createContext(void 0);function W({className:q,asChild:w=!1,...f}){let D=F.useContext(E);return Q(w?K.Text:P,{className:O("web:select-text text-base text-foreground",D,q),...f})}import{cn as A}from"@contractspec/lib.ui-kit-core/utils";import*as y from"@rn-primitives/toolbar";import*as H from"react";import{jsx as z}from"react/jsx-runtime";var M=H.createContext(null);function $({className:q,...w}){return z(y.Root,{className:A("flex flex-row items-center gap-1",q),...w})}function B({className:q,children:w,...f}){return z(E.Provider,{value:"font-medium text-sm text-foreground",children:z(y.Button,{className:A("min-h-9 items-center justify-center rounded-md px-3 active:bg-accent",f.disabled&&"opacity-50",q),...f,children:w})})}function G({className:q,children:w,...f}){return z(E.Provider,{value:"font-medium text-sm text-primary",children:z(y.Link,{className:A("min-h-9 items-center justify-center rounded-md px-3",q),...f,children:w})})}function I({className:q,children:w,...f}){return z(M.Provider,{value:f,children:z(y.ToggleGroup,{className:A("flex flex-row items-center gap-1",q),...f,children:w})})}function L({className:q,children:w,...f}){let D=H.useContext(M),J=D?.type==="single"?D.value===f.value:Array.isArray(D?.value)&&D.value.includes(f.value);return z(E.Provider,{value:A("font-medium text-sm",J?"text-accent-foreground":"text-foreground"),children:z(y.ToggleItem,{className:A("min-h-9 items-center justify-center rounded-md px-3 active:bg-accent",J&&"bg-accent",f.disabled&&"opacity-50",q),...f,children:w})})}function R({className:q,...w}){return z(y.Separator,{className:A("mx-1 h-5 w-px bg-border",q),...w})}export{L as ToolbarToggleItem,I as ToolbarToggleGroup,R as ToolbarSeparator,G as ToolbarLink,B as ToolbarButton,$ as Toolbar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as M}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as z from"react";import{Text as Q}from"react-native";import{jsx as U}from"react/jsx-runtime";var J=z.createContext(void 0);function A({className:B,asChild:D=!1,...E}){let G=z.useContext(J);return U(D?L.Text:Q,{className:M("web:select-text text-base text-foreground",G,B),...E})}import{cn as V}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@rn-primitives/tooltip";import{Platform as K,StyleSheet as W}from"react-native";import X,{FadeIn as Y,FadeOut as Z}from"react-native-reanimated";import{jsx as w}from"react/jsx-runtime";var H=q.Root,S=q.Trigger;function h({className:B,sideOffset:D=4,portalHost:E,...G}){return w(q.Portal,{hostName:E,children:w(q.Overlay,{style:K.OS!=="web"?W.absoluteFill:void 0,children:w(X.View,{entering:K.select({web:void 0,default:Y}),exiting:K.select({web:void 0,default:Z}),children:w(J.Provider,{value:"text-sm native:text-base text-popover-foreground",children:w(q.Content,{sideOffset:D,className:V("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 web:fade-in-0 web:zoom-in-95 z-50 web:animate-in overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 shadow-foreground/5 shadow-md",B),...G})})})})})}export{S as TooltipTrigger,h as TooltipContent,H as Tooltip};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import*as I from"@rn-primitives/slot";import*as G from"react";import{Text as O}from"react-native";import{jsx as V}from"react/jsx-runtime";var U=G.createContext(void 0);function A({className:q,asChild:w=!1,...y}){let z=G.useContext(U);return V(w?I.Text:O,{className:K("web:select-text text-base text-foreground",z,q),...y})}import{cn as E}from"@contractspec/lib.ui-kit-core/utils";import*as D from"@rn-primitives/slot";import{Platform as J}from"react-native";import{jsx as F}from"react/jsx-runtime";function M({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:"heading","aria-level":"1",className:E("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",q),...y})}function Q({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:"heading","aria-level":"2",className:E("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",q),...y})}function R({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:"heading","aria-level":"3",className:E("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",q),...y})}function S({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:"heading","aria-level":"4",className:E("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",q),...y})}function b({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{className:E("web:select-text text-base text-foreground",q),...y})}function f({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:J.OS==="web"?"blockquote":void 0,className:E("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",q),...y})}function L({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{role:J.OS==="web"?"code":void 0,className:E("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",q),...y})}function k({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{className:E("web:select-text text-muted-foreground text-xl",q),...y})}function P({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{className:E("web:select-text font-semibold text-foreground text-xl",q),...y})}function v({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{className:E("web:select-text font-medium text-foreground text-sm leading-none",q),...y})}function H({className:q,asChild:w=!1,...y}){return F(w?D.Text:A,{className:E("web:select-text text-muted-foreground text-sm",q),...y})}export{v as Small,b as P,H as Muted,k as Lead,P as Large,S as H4,R as H3,Q as H2,M as H1,L as Code,f as BlockQuote};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useColorScheme as c}from"nativewind";var l="light";function t(){let{colorScheme:e,setColorScheme:o,toggleColorScheme:r}=c();return{colorScheme:e??l,isDarkColorScheme:e==="dark",setColorScheme:o,toggleColorScheme:r}}export{t as useColorScheme};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as z,useMemo as A,useState as D}from"react";var q=({initialSearch:E="",initialFilters:G={},initialPage:H=1,initialItemsPerPage:J=25}={})=>{let[K,V]=D(E),[L,N]=D(G),[O,x]=D(H),[T,W]=D(J),Y=z((j,B)=>{N((U)=>({...U,[j]:B})),x(1)},[]),Z=z(()=>{N({}),x(1)},[]),_=z((j)=>{V(j),x(1)},[]),$=z((j)=>{W(j),x(1)},[]),M=z(()=>{V(E),N(G),x(H),W(J)},[E,G,H,J]),R=A(()=>{let j={search:K,page:O,limit:T},B={};return Object.entries(L).forEach(([U,X])=>{if(X)B[U]=X}),{...j,...B}},[K,L,O,T]);return{searchQuery:K,setSearchQuery:_,filters:L,setFilter:Y,clearFilters:Z,currentPage:O,itemsPerPage:T,setCurrentPage:x,setItemsPerPage:$,queryParams:R,resetAll:M}};export{q as useListState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as _}from"@contractspec/lib.ui-kit-core/utils";import*as P from"@rn-primitives/slot";import*as D from"react";import{Text as $}from"react-native";import{jsx as R}from"react/jsx-runtime";var F=D.createContext(void 0);function G({className:U,asChild:m=!1,...L}){let H=D.useContext(F);return R(m?P.Text:$,{className:_("web:select-text text-base text-foreground",H,U),...L})}import{cn as z}from"@contractspec/lib.ui-kit-core/utils";import{cva as W}from"class-variance-authority";import{Pressable as S}from"react-native";import{jsx as Q}from"react/jsx-runtime";var T=W("group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",{variants:{variant:{default:"bg-primary web:hover:opacity-90 active:opacity-90",destructive:"bg-destructive web:hover:opacity-90 active:opacity-90",outline:"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",secondary:"bg-secondary web:hover:opacity-80 active:opacity-80",ghost:"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",link:"web:underline-offset-4 web:hover:underline web:focus:underline"},size:{default:"h-10 native:h-12 native:px-5 px-4 native:py-3 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 native:h-14 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),C=W("web:whitespace-nowrap font-medium native:text-base text-foreground text-sm web:transition-colors",{variants:{variant:{default:"text-primary-foreground",destructive:"text-destructive-foreground",outline:"group-active:text-accent-foreground",secondary:"text-secondary-foreground group-active:text-secondary-foreground",ghost:"group-active:text-accent-foreground",link:"text-primary group-active:underline"},size:{default:"",sm:"",lg:"native:text-lg",icon:""}},defaultVariants:{variant:"default",size:"default"}});function X({ref:U,className:m,variant:L,size:H,...f}){return Q(F.Provider,{value:C({variant:L,size:H,className:"web:pointer-events-none"}),children:Q(S,{className:z(f.disabled&&"web:pointer-events-none opacity-50",T({variant:L,size:H,className:m})),ref:U,role:"button",...f})})}import{cn as I}from"@contractspec/lib.ui-kit-core/utils";import{cva as J}from"class-variance-authority";import{View as K}from"react-native";import{jsx as O}from"react/jsx-runtime";var M="flex",b=J([M,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),o=J([M,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),N=J([M,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function c({className:U,spacing:m,align:L,justify:H,width:f,padding:k,gap:q,wrap:A,...E}){return O(K,{className:I(N({spacing:m,align:L,justify:H,width:f,padding:k,gap:q,wrap:A}),U),...E})}function Y({className:U,spacing:m,align:L,justify:H,width:f,padding:k,gap:q,wrap:A,...E}){return O(K,{className:I(o({spacing:m,align:L,justify:H,width:f,padding:k,gap:q,wrap:A}),U),...E})}function Z({className:U,spacing:m,align:L,justify:H,width:f,padding:k,gap:q,...A}){return O(K,{className:I(b({spacing:m,align:L,justify:H,width:f,padding:k,gap:q}),U),...A})}import{Link as V}from"expo-router";import{jsx as B,jsxs as h}from"react/jsx-runtime";function HL({title:U,summary:m,ctaHref:L,ctaLabel:H="Learn more",onCtaClick:f}){return h(Z,{className:"rounded-lg border p-4",gap:"sm",children:[B(G,{className:"font-semibold text-lg",children:U}),m&&B(G,{className:"text-base text-muted-foreground",children:m}),L&&B(Y,{children:B(V,{href:L,children:B(X,{size:"sm",variant:"outline",onPress:f,children:H})})})]})}export{HL as UseCaseCard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as X}from"@contractspec/lib.ui-kit-core/utils";import*as P from"@rn-primitives/slot";import*as E from"react";import{Text as Y}from"react-native";import{jsx as _}from"react/jsx-runtime";var Z=E.createContext(void 0);function D({className:T,asChild:m=!1,...O}){let U=E.useContext(Z);return _(m?P.Text:Y,{className:X("web:select-text text-base text-foreground",U,T),...O})}import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import{cva as I}from"class-variance-authority";import{View as J}from"react-native";import{jsx as L}from"react/jsx-runtime";var K="flex",$=I([K,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),B=I([K,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),H=I([K,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function C({className:T,spacing:m,align:O,justify:U,width:f,padding:q,gap:z,wrap:A,...F}){return L(J,{className:G(H({spacing:m,align:O,justify:U,width:f,padding:q,gap:z,wrap:A}),T),...F})}function u({className:T,spacing:m,align:O,justify:U,width:f,padding:q,gap:z,wrap:A,...F}){return L(J,{className:G(B({spacing:m,align:O,justify:U,width:f,padding:q,gap:z,wrap:A}),T),...F})}function Q({className:T,spacing:m,align:O,justify:U,width:f,padding:q,gap:z,...A}){return L(J,{className:G($({spacing:m,align:O,justify:U,width:f,padding:q,gap:z}),T),...A})}import{jsx as M,jsxs as W}from"react/jsx-runtime";function d({title:T,body:m,outcome:O}){return W(Q,{className:"rounded-lg border p-4",gap:"sm",children:[M(D,{className:"font-semibold text-lg",children:T}),m&&M(D,{className:"text-base text-muted-foreground",children:m}),O&&W(D,{className:"text-base",children:[M(D,{className:"font-medium",children:"Outcome:"})," ",O]})]})}export{d as UserStoryCard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{s as UserStoryCard,o as UseCaseCard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";function s(...r){return t(e(r))}export{s as cn};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as D}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as B from"react";import{Text as k}from"react-native";import{jsx as y}from"react/jsx-runtime";var T=B.createContext(void 0);function $({className:q,asChild:I=!1,...K}){let J=B.useContext(T);return y(I?L.Text:k,{className:D("web:select-text text-base text-foreground",J,q),...K})}import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import{cva as H}from"class-variance-authority";import{View as G}from"react-native";import{jsx as M}from"react/jsx-runtime";var E="flex",f=H([E,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),v=H([E,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),S=H([E,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function Zq({className:q,spacing:I,align:K,justify:J,width:U,padding:Y,gap:_,wrap:Z,...X}){return M(G,{className:F(S({spacing:I,align:K,justify:J,width:U,padding:Y,gap:_,wrap:Z}),q),...X})}function _q({className:q,spacing:I,align:K,justify:J,width:U,padding:Y,gap:_,wrap:Z,...X}){return M(G,{className:F(v({spacing:I,align:K,justify:J,width:U,padding:Y,gap:_,wrap:Z}),q),...X})}function O({className:q,spacing:I,align:K,justify:J,width:U,padding:Y,gap:_,...Z}){return M(G,{className:F(f({spacing:I,align:K,justify:J,width:U,padding:Y,gap:_}),q),...Z})}import{buildVisualizationEChartsOption as N,formatVisualizationValue as R}from"@contractspec/lib.presentation-runtime-core";import w,{SVGRenderer as P}from"@wuba/react-native-echarts/svgChart";import{BarChart as V,FunnelChart as C,HeatmapChart as j,LineChart as g,MapChart as u,PieChart as x,ScatterChart as h}from"echarts/charts";import{AriaComponent as p,GeoComponent as c,GridComponent as r,LegendComponent as d,TitleComponent as n,TooltipComponent as m,VisualMapComponent as i}from"echarts/components";import*as A from"echarts/core";import{useEffect as l,useMemo as o,useRef as s,useState as t}from"react";import{View as a}from"react-native";import{jsx as Q,jsxs as W}from"react/jsx-runtime";A.use([p,n,m,r,d,i,c,P,g,V,x,h,j,C,u]);function zq({model:q,className:I,height:K=280,onDataPointPress:J}){let U=s(null),[Y,_]=t(320),Z=o(()=>N(q),[q]);if(l(()=>{if(!b(q)||!U.current||Y<=0)return;if(q.kind==="geo"&&q.geo?.geoJson?.type==="inline")A.registerMap("contractspec-visualization-geo",q.geo.geoJson.data);let X=A.init(U.current,"light",{renderer:"svg",width:Y,height:K});if(X.setOption(Z),J)X.on("click",J);return()=>{if(J)X.off("click",J);X.dispose()}},[K,q,J,Z,Y]),q.kind==="metric")return Q(e,{className:I,model:q});if(!b(q))return Q(qq,{className:I,model:q});return W(O,{gap:"sm",className:I,children:[Q(a,{className:"w-full",onLayout:(X)=>_(Math.max(X.nativeEvent.layout.width,1)),style:{height:K},children:Q(w,{ref:U})}),Q(z,{model:q})]})}function e({className:q,model:I}){return W(O,{gap:"xs",className:q,children:[Q($,{className:"text-muted-foreground text-sm",children:I.metric?.label??I.title}),Q($,{className:"font-semibold text-3xl",children:R(I.metric?.value,I.metric?.format)}),I.metric?.comparisonValue!=null?W($,{className:"text-muted-foreground text-sm",children:["Comparison:"," ",R(I.metric.comparisonValue,I.metric.format)]}):null,Q(z,{model:I})]})}function qq({className:q,model:I}){return W(O,{gap:"sm",className:q,children:[Q($,{className:"text-muted-foreground text-sm",children:"This visualization falls back to a summary view on native."}),Q(z,{model:I})]})}function z({model:q}){if(!q.table.columns.length||!q.table.rows.length)return null;return W(O,{gap:"xs",children:[Q($,{className:"font-medium text-sm",children:"Data summary"}),q.table.rows.slice(0,6).map((I,K)=>Q($,{className:"text-muted-foreground text-sm",children:q.table.columns.map((J)=>`${J.label}: ${String(I[J.key]??"—")}`).join(" • ")},`summary-${K}`))]})}function b(q){if(q.kind==="metric")return!1;if(q.kind==="geo"&&q.geo?.mode==="slippy-map")return!1;if(q.kind==="geo"&&q.geo?.geoJson?.type==="url")return!1;return!0}export{zq as Visualization};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{t as Visualization};
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as AccordionPrimitive from '@rn-primitives/accordion';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare function Accordion({ children, ...props }: Omit<AccordionPrimitive.RootProps, 'asChild'> & {
|
|
4
|
+
ref?: React.RefObject<AccordionPrimitive.RootRef>;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function AccordionItem({ className, value, ...props }: AccordionPrimitive.ItemProps & {
|
|
7
|
+
ref?: React.RefObject<AccordionPrimitive.ItemRef>;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.TriggerProps & {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
ref?: React.RefObject<AccordionPrimitive.TriggerRef>;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.ContentProps & {
|
|
14
|
+
ref?: React.RefObject<AccordionPrimitive.ContentRef>;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{styled as O}from"nativewind";function Y(W){O(W,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as Q}from"lucide-react-native";Y(Q);import{cn as R}from"@contractspec/lib.ui-kit-core/utils";import*as Z from"@rn-primitives/slot";import*as G from"react";import{Text as S}from"react-native";import{jsx as U}from"react/jsx-runtime";var H=G.createContext(void 0);function p({className:W,asChild:M=!1,...q}){let B=G.useContext(H);return U(M?Z.Text:S,{className:R("web:select-text text-base text-foreground",B,W),...q})}import{cn as z}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@rn-primitives/accordion";import{Platform as X,Pressable as k,View as $}from"react-native";import J,{Extrapolation as D,FadeIn as F,FadeOutUp as b,interpolate as E,LayoutAnimationConfig as V,LinearTransition as I,useAnimatedStyle as P,useDerivedValue as w,withTiming as _}from"react-native-reanimated";import{jsx as y,jsxs as v}from"react/jsx-runtime";function i({children:W,...M}){return y(V,{skipEntering:!0,children:y(f.Root,{...M,asChild:X.OS!=="web",children:y(J.View,{layout:I.duration(200),children:W})})})}function n({className:W,value:M,...q}){return y(J.View,{className:"overflow-hidden",layout:I.duration(200),children:y(f.Item,{className:z("border-border border-b",W),value:M,...q})})}var g=X.OS==="web"?$:k;function a({className:W,children:M,...q}){let{isExpanded:B}=f.useItemContext(),K=w(()=>B?_(1,{duration:250}):_(0,{duration:200})),L=P(()=>({transform:[{rotate:`${K.value*180}deg`}],opacity:E(K.value,[0,1],[1,0.8],D.CLAMP)}));return y(H.Provider,{value:"native:text-lg font-medium web:group-hover:underline",children:y(f.Header,{className:"flex",children:y(f.Trigger,{...q,asChild:!0,children:v(g,{className:z("group flex web:flex-1 flex-row items-center justify-between py-4 web:transition-all web:focus-visible:outline-hidden web:focus-visible:ring-1 web:focus-visible:ring-muted-foreground",W),children:[M,y(J.View,{style:L,children:y(Q,{size:18,className:"shrink-0 text-foreground"})})]})})})})}function e({className:W,children:M,...q}){let{isExpanded:B}=f.useItemContext();return y(H.Provider,{value:"native:text-lg",children:y(f.Content,{className:z("overflow-hidden text-sm web:transition-all",B?"web:animate-accordion-down":"web:animate-accordion-up"),...q,children:y(u,{className:z("pb-4",W),children:M})})})}function u({children:W,className:M}){if(X.OS==="web")return y($,{className:z("pb-4",M),children:W});return y(J.View,{entering:F,exiting:b.duration(200),className:z("pb-4",M),children:W})}export{a as AccordionTrigger,n as AccordionItem,e as AccordionContent,i as Accordion};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as AlertDialogPrimitive from '@rn-primitives/alert-dialog';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { View, type ViewProps } from 'react-native';
|
|
4
|
+
declare const AlertDialog: {
|
|
5
|
+
({ asChild, open: openProp, defaultOpen, onOpenChange: onOpenChangeProp, ref, ...viewProps }: {
|
|
6
|
+
open?: boolean;
|
|
7
|
+
onOpenChange?: (value: boolean) => void;
|
|
8
|
+
defaultOpen?: boolean;
|
|
9
|
+
} & ViewProps & {
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
} & React.RefAttributes<View>): React.JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
declare const AlertDialogTrigger: {
|
|
15
|
+
({ asChild, onPress: onPressProp, disabled, ref, ...props }: Omit<import("react-native").PressableProps & React.RefAttributes<View>, "ref"> & {
|
|
16
|
+
asChild?: boolean;
|
|
17
|
+
} & {
|
|
18
|
+
onKeyDown?: (ev: React.KeyboardEvent) => void;
|
|
19
|
+
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
20
|
+
} & React.RefAttributes<View>): React.JSX.Element;
|
|
21
|
+
displayName: string;
|
|
22
|
+
};
|
|
23
|
+
declare const AlertDialogPortal: typeof AlertDialogPrimitive.Portal;
|
|
24
|
+
declare function AlertDialogOverlayNative({ className, children, ...props }: AlertDialogPrimitive.OverlayProps & {
|
|
25
|
+
ref?: React.RefObject<AlertDialogPrimitive.OverlayRef>;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare const AlertDialogOverlay: typeof AlertDialogOverlayNative;
|
|
28
|
+
declare function AlertDialogContent({ className, portalHost, ...props }: AlertDialogPrimitive.ContentProps & {
|
|
29
|
+
ref?: React.RefObject<AlertDialogPrimitive.ContentRef>;
|
|
30
|
+
portalHost?: string;
|
|
31
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
declare function AlertDialogHeader({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare function AlertDialogFooter({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
declare function AlertDialogTitle({ className, ...props }: AlertDialogPrimitive.TitleProps & {
|
|
35
|
+
ref?: React.RefObject<AlertDialogPrimitive.TitleRef>;
|
|
36
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
declare function AlertDialogDescription({ className, ...props }: AlertDialogPrimitive.DescriptionProps & {
|
|
38
|
+
ref?: React.RefObject<AlertDialogPrimitive.DescriptionRef>;
|
|
39
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
declare function AlertDialogAction({ className, ...props }: AlertDialogPrimitive.ActionProps & {
|
|
41
|
+
ref?: React.RefObject<AlertDialogPrimitive.ActionRef>;
|
|
42
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
declare function AlertDialogCancel({ className, ...props }: AlertDialogPrimitive.CancelProps & {
|
|
44
|
+
ref?: React.RefObject<AlertDialogPrimitive.CancelRef>;
|
|
45
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{cn as I}from"@contractspec/lib.ui-kit-core/utils";import*as Z from"@rn-primitives/slot";import*as S from"react";import{Text as R}from"react-native";import{jsx as W}from"react/jsx-runtime";var Q=S.createContext(void 0);function T({className:q,asChild:G=!1,...K}){let M=S.useContext(Q);return W(G?Z.Text:R,{className:I("web:select-text text-base text-foreground",M,q),...K})}import{cn as w}from"@contractspec/lib.ui-kit-core/utils";import{cva as $}from"class-variance-authority";import{Pressable as f}from"react-native";import{jsx as _}from"react/jsx-runtime";var U=$("group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",{variants:{variant:{default:"bg-primary web:hover:opacity-90 active:opacity-90",destructive:"bg-destructive web:hover:opacity-90 active:opacity-90",outline:"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",secondary:"bg-secondary web:hover:opacity-80 active:opacity-80",ghost:"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",link:"web:underline-offset-4 web:hover:underline web:focus:underline"},size:{default:"h-10 native:h-12 native:px-5 px-4 native:py-3 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 native:h-14 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),X=$("web:whitespace-nowrap font-medium native:text-base text-foreground text-sm web:transition-colors",{variants:{variant:{default:"text-primary-foreground",destructive:"text-destructive-foreground",outline:"group-active:text-accent-foreground",secondary:"text-secondary-foreground group-active:text-secondary-foreground",ghost:"group-active:text-accent-foreground",link:"text-primary group-active:underline"},size:{default:"",sm:"",lg:"native:text-lg",icon:""}},defaultVariants:{variant:"default",size:"default"}});function j({ref:q,className:G,variant:K,size:M,...Y}){return _(Q.Provider,{value:X({variant:K,size:M,className:"web:pointer-events-none"}),children:_(f,{className:w(Y.disabled&&"web:pointer-events-none opacity-50",U({variant:K,size:M,className:G})),ref:q,role:"button",...Y})})}import{cn as L}from"@contractspec/lib.ui-kit-core/utils";import*as E from"@rn-primitives/alert-dialog";import{Platform as k,View as B}from"react-native";import F,{FadeIn as H,FadeOut as z}from"react-native-reanimated";import{jsx as J}from"react/jsx-runtime";var i=E.Root,o=E.Trigger,P=E.Portal;function h({className:q,...G}){let{open:K}=E.useRootContext();return J(E.Overlay,{className:L("absolute top-0 right-0 bottom-0 left-0 z-50 flex items-center justify-center bg-black/80 p-2",K?"web:fade-in-0 web:animate-in":"web:fade-out-0 web:animate-out",q),...G})}function y({className:q,children:G,...K}){return J(E.Overlay,{className:L("absolute top-0 right-0 bottom-0 left-0 z-50 flex items-center justify-center bg-black/80 p-2",q),...K,asChild:!0,children:J(F.View,{entering:H.duration(150),exiting:z.duration(150),children:G})})}var O=k.select({web:h,default:y});function l({className:q,portalHost:G,...K}){let{open:M}=E.useRootContext();return J(P,{hostName:G,children:J(O,{children:J(E.Content,{className:L("z-50 max-w-lg gap-4 rounded-lg border border-border bg-background p-6 shadow-foreground/10 shadow-lg web:duration-200",M?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",q),...K})})})}function r({className:q,...G}){return J(B,{className:L("flex flex-col gap-2",q),...G})}function e({className:q,...G}){return J(B,{className:L("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",q),...G})}function t({className:q,...G}){return J(E.Title,{className:L("font-semibold native:text-xl text-foreground text-lg",q),...G})}function s({className:q,...G}){return J(E.Description,{className:L("native:text-base text-muted-foreground text-sm",q),...G})}function a({className:q,...G}){return J(Q.Provider,{value:X({className:q}),children:J(E.Action,{className:L(U(),q),...G})})}function qq({className:q,...G}){return J(Q.Provider,{value:X({className:q,variant:"outline"}),children:J(E.Cancel,{className:L(U({variant:"outline",className:q})),...G})})}export{o as AlertDialogTrigger,t as AlertDialogTitle,P as AlertDialogPortal,O as AlertDialogOverlay,r as AlertDialogHeader,e as AlertDialogFooter,s as AlertDialogDescription,l as AlertDialogContent,qq as AlertDialogCancel,a as AlertDialogAction,i as AlertDialog};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
import type { LucideIcon } from 'lucide-react-native';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { View, type ViewProps } from 'react-native';
|
|
5
|
+
import { Text } from './text';
|
|
6
|
+
declare const alertVariants: (props?: ({
|
|
7
|
+
variant?: "default" | "destructive" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
declare function Alert({ className, variant, children, icon: Icon, iconSize, iconClassName, ...props }: ViewProps & VariantProps<typeof alertVariants> & {
|
|
10
|
+
ref?: React.RefObject<View>;
|
|
11
|
+
icon: LucideIcon;
|
|
12
|
+
iconSize?: number;
|
|
13
|
+
iconClassName?: string;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function AlertTitle({ className, ...props }: React.ComponentProps<typeof Text>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function AlertDescription({ className, ...props }: React.ComponentProps<typeof Text>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export { Alert, AlertDescription, AlertTitle };
|
package/dist/ui/alert.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{cn as Q}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as B from"react";import{Text as U}from"react-native";import{jsx as X}from"react/jsx-runtime";var W=B.createContext(void 0);function H({className:q,asChild:f=!1,...F}){let G=B.useContext(W);return X(f?L.Text:U,{className:Q("web:select-text text-base text-foreground",G,q),...F})}import{cn as O}from"@contractspec/lib.ui-kit-core/utils";import{useTheme as Y}from"@react-navigation/native";import{cva as Z}from"class-variance-authority";import{View as M}from"react-native";import{jsx as E,jsxs as $}from"react/jsx-runtime";var _=Z("relative w-full rounded-lg border border-border bg-background p-4 shadow-2xs shadow-foreground/10",{variants:{variant:{default:"",destructive:"border-destructive"}},defaultVariants:{variant:"default"}});function A({className:q,variant:f,children:F,icon:G,iconSize:J=16,iconClassName:g,...P}){let{colors:K}=Y();return $(M,{role:"alert",className:_({variant:f,className:q}),...P,children:[E(M,{className:"absolute top-4 left-3.5 -translate-y-0.5",children:E(G,{size:J,color:f==="destructive"?K.notification:K.text})}),F]})}function V({className:q,...f}){return E(H,{className:O("mb-1 pl-7 font-medium text-base text-foreground leading-none tracking-tight",q),...f})}function d({className:q,...f}){return E(H,{className:O("pl-7 text-foreground text-sm leading-relaxed",q),...f})}export{V as AlertTitle,d as AlertDescription,A as Alert};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const AspectRatio: {
|
|
2
|
+
({ asChild, ratio, style, ref, ...props }: Omit<import("@rn-primitives/types").SlottableViewProps, "style"> & {
|
|
3
|
+
ratio?: number;
|
|
4
|
+
style?: import("react-native").ViewStyle;
|
|
5
|
+
} & import("react").RefAttributes<import("react-native").View>): React.JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
export { AspectRatio };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{styled as e}from"nativewind";function H(f){e(f,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as K}from"lucide-react-native";H(K);import{cn as d}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/slot";import*as L from"react";import{Text as l}from"react-native";import{jsx as x}from"react/jsx-runtime";var t=L.createContext(void 0);function Q({className:f,asChild:W=!1,...T}){let u=L.useContext(t);return x(W?B.Text:l,{className:d("web:select-text text-base text-foreground",u,f),...T})}import{cn as C}from"@contractspec/lib.ui-kit-core/utils";import*as X from"@rn-primitives/label";import{Platform as V}from"react-native";import{jsx as S}from"react/jsx-runtime";function v({className:f,onPress:W,onLongPress:T,onPressIn:u,onPressOut:I,disabled:M,...$}){return S(X.Root,{className:C("flex select-none flex-row items-center gap-2",V.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),M&&"opacity-50"),onPress:W,onLongPress:T,onPressIn:u,onPressOut:I,disabled:M,children:S(X.Text,{className:C("font-medium text-foreground text-sm",V.select({web:"leading-none"}),f),...$})})}import{Check as Y}from"lucide-react-native";H(Y);import{ChevronUp as Z}from"lucide-react-native";H(Z);import{cn as z}from"@contractspec/lib.ui-kit-core/utils";import*as m from"@rn-primitives/select";import{Platform as _,StyleSheet as r,View as o}from"react-native";import j,{FadeIn as c,FadeOut as i}from"react-native-reanimated";import{jsx as F,jsxs as A}from"react/jsx-runtime";var P=m.Root,km=m.Group,N=m.Value;function h({ref:f,className:W,children:T,...u}){return A(m.Trigger,{ref:f,className:z("flex h-10 native:h-12 flex-row items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-muted-foreground text-sm web:ring-offset-background web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 [&>span]:line-clamp-1",u.disabled&&"web:cursor-not-allowed opacity-50",W),...u,children:[T,F(K,{size:16,"aria-hidden":!0,className:"text-foreground opacity-50"})]})}function n({className:f,...W}){if(_.OS!=="web")return null;return F(m.ScrollUpButton,{className:z("flex web:cursor-default items-center justify-center py-1",f),...W,children:F(Z,{size:14,className:"text-foreground"})})}function p({className:f,...W}){if(_.OS!=="web")return null;return F(m.ScrollDownButton,{className:z("flex web:cursor-default items-center justify-center py-1",f),...W,children:F(K,{size:14,className:"text-foreground"})})}function w({className:f,children:W,position:T="popper",portalHost:u,...I}){let{open:M}=m.useRootContext();return F(m.Portal,{hostName:u,children:F(m.Overlay,{style:_.OS!=="web"?r.absoluteFill:void 0,children:F(j.View,{className:"z-50",entering:c,exiting:i,children:A(m.Content,{className:z("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-32 rounded-md border border-border bg-popover px-1 py-2 shadow-foreground/10 shadow-md",T==="popper"&&"data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",M?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",f),position:T,...I,children:[F(n,{}),F(m.Viewport,{className:z("p-1",T==="popper"&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),children:W}),F(p,{})]})})})})}function Dm({className:f,...W}){return F(m.Label,{className:z("py-1.5 pr-2 native:pb-2 native:pl-10 pl-8 font-semibold native:text-base text-popover-foreground text-sm",f),...W})}function y({className:f,children:W,...T}){return A(m.Item,{className:z("web:group relative flex w-full web:cursor-default web:select-none flex-row items-center rounded-xs native:py-2 py-1.5 pr-2 native:pl-10 pl-8 web:outline-hidden web:hover:bg-accent/50 web:focus:bg-accent active:bg-accent",T.disabled&&"web:pointer-events-none opacity-50",f),...T,children:[F(o,{className:"absolute left-2 native:left-3.5 flex h-3.5 w-3.5 items-center justify-center native:pt-px",children:F(m.ItemIndicator,{children:F(Y,{size:16,strokeWidth:3,className:"text-popover-foreground"})})}),F(m.ItemText,{className:"native:text-base native:text-lg text-popover-foreground text-sm web:group-focus:text-accent-foreground"})]})}function bm({className:f,...W}){return F(m.Separator,{className:z("-mx-1 my-1 h-px bg-muted",f),...W})}import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import{cva as O}from"class-variance-authority";import{View as U}from"react-native";import{jsx as b}from"react/jsx-runtime";var k="flex",a=O([k,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),s=O([k,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),mm=O([k,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function Pm({className:f,spacing:W,align:T,justify:u,width:I,padding:M,gap:$,wrap:q,...R}){return b(U,{className:G(mm({spacing:W,align:T,justify:u,width:I,padding:M,gap:$,wrap:q}),f),...R})}function D({className:f,spacing:W,align:T,justify:u,width:I,padding:M,gap:$,wrap:q,...R}){return b(U,{className:G(s({spacing:W,align:T,justify:u,width:I,padding:M,gap:$,wrap:q}),f),...R})}function Nm({className:f,spacing:W,align:T,justify:u,width:I,padding:M,gap:$,...q}){return b(U,{className:G(a({spacing:W,align:T,justify:u,width:I,padding:M,gap:$}),f),...q})}import{View as fm}from"react-native";import{jsx as J,jsxs as E}from"react/jsx-runtime";var xm=({value:f,options:W,onChange:T,placeholder:u="S\xE9lectionner...",label:I,disabled:M=!1,className:$="",showCounts:q=!1})=>{return E(D,{className:`space-y-2 ${$}`,children:[I&&J(v,{className:"font-medium text-base text-foreground",children:I}),E(P,{value:f,onValueChange:T,disabled:M,children:[J(h,{className:"w-full",children:J(N,{placeholder:u})}),E(w,{className:"bg-background",children:[E(y,{value:"all",label:"Tous",children:[J(Q,{children:"Tous"}),q&&E(fm,{className:"ml-2 text-muted-foreground text-sm",children:["(",W.reduce((R,g)=>R+(g.count||0),0),")"]})]}),W.map((R)=>J(y,{value:R.value,label:R.label,children:E(D,{className:"flex w-full items-center justify-between",children:[J(Q,{children:R.label}),q&&R.count!==void 0&&E(Q,{className:"ml-2 text-muted-foreground text-sm",children:["(",R.count,")"]})]})},R.value))]})]})]})};export{xm as FilterSelect};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{styled as g}from"nativewind";function E(f){g(f,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as J}from"lucide-react-native";E(J);import{cn as d}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/slot";import*as K from"react";import{Text as l}from"react-native";import{jsx as r}from"react/jsx-runtime";var t=K.createContext(void 0);function L({className:f,asChild:F=!1,...W}){let u=K.useContext(t);return r(F?B.Text:l,{className:d("web:select-text text-base text-foreground",u,f),...W})}import{cn as C}from"@contractspec/lib.ui-kit-core/utils";import*as Q from"@rn-primitives/label";import{Platform as V}from"react-native";import{jsx as S}from"react/jsx-runtime";function e({className:f,onPress:F,onLongPress:W,onPressIn:u,onPressOut:y,disabled:I,...R}){return S(Q.Root,{className:C("flex select-none flex-row items-center gap-2",V.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),I&&"opacity-50"),onPress:F,onLongPress:W,onPressIn:u,onPressOut:y,disabled:I,children:S(Q.Text,{className:C("font-medium text-foreground text-sm",V.select({web:"leading-none"}),f),...R})})}import{Check as X}from"lucide-react-native";E(X);import{ChevronUp as Y}from"lucide-react-native";E(Y);import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import*as m from"@rn-primitives/select";import{Platform as Z,StyleSheet as x,View as o}from"react-native";import j,{FadeIn as c,FadeOut as i}from"react-native-reanimated";import{jsx as T,jsxs as A}from"react/jsx-runtime";var v=m.Root,Dm=m.Group,P=m.Value;function N({ref:f,className:F,children:W,...u}){return A(m.Trigger,{ref:f,className:q("flex h-10 native:h-12 flex-row items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-muted-foreground text-sm web:ring-offset-background web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 [&>span]:line-clamp-1",u.disabled&&"web:cursor-not-allowed opacity-50",F),...u,children:[W,T(J,{size:16,"aria-hidden":!0,className:"text-foreground opacity-50"})]})}function p({className:f,...F}){if(Z.OS!=="web")return null;return T(m.ScrollUpButton,{className:q("flex web:cursor-default items-center justify-center py-1",f),...F,children:T(Y,{size:14,className:"text-foreground"})})}function n({className:f,...F}){if(Z.OS!=="web")return null;return T(m.ScrollDownButton,{className:q("flex web:cursor-default items-center justify-center py-1",f),...F,children:T(J,{size:14,className:"text-foreground"})})}function h({className:f,children:F,position:W="popper",portalHost:u,...y}){let{open:I}=m.useRootContext();return T(m.Portal,{hostName:u,children:T(m.Overlay,{style:Z.OS!=="web"?x.absoluteFill:void 0,children:T(j.View,{className:"z-50",entering:c,exiting:i,children:A(m.Content,{className:q("data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-32 rounded-md border border-border bg-popover px-1 py-2 shadow-foreground/10 shadow-md",W==="popper"&&"data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",I?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",f),position:W,...y,children:[T(p,{}),T(m.Viewport,{className:q("p-1",W==="popper"&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),children:F}),T(n,{})]})})})})}function bm({className:f,...F}){return T(m.Label,{className:q("py-1.5 pr-2 native:pb-2 native:pl-10 pl-8 font-semibold native:text-base text-popover-foreground text-sm",f),...F})}function _({className:f,children:F,...W}){return A(m.Item,{className:q("web:group relative flex w-full web:cursor-default web:select-none flex-row items-center rounded-xs native:py-2 py-1.5 pr-2 native:pl-10 pl-8 web:outline-hidden web:hover:bg-accent/50 web:focus:bg-accent active:bg-accent",W.disabled&&"web:pointer-events-none opacity-50",f),...W,children:[T(o,{className:"absolute left-2 native:left-3.5 flex h-3.5 w-3.5 items-center justify-center native:pt-px",children:T(m.ItemIndicator,{children:T(X,{size:16,strokeWidth:3,className:"text-popover-foreground"})})}),T(m.ItemText,{className:"native:text-base native:text-lg text-popover-foreground text-sm web:group-focus:text-accent-foreground"})]})}function Bm({className:f,...F}){return T(m.Separator,{className:q("-mx-1 my-1 h-px bg-muted",f),...F})}import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import{cva as O}from"class-variance-authority";import{View as U}from"react-native";import{jsx as b}from"react/jsx-runtime";var k="flex",a=O([k,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),s=O([k,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),mm=O([k,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function Pm({className:f,spacing:F,align:W,justify:u,width:y,padding:I,gap:R,wrap:$,...M}){return b(U,{className:G(mm({spacing:F,align:W,justify:u,width:y,padding:I,gap:R,wrap:$}),f),...M})}function D({className:f,spacing:F,align:W,justify:u,width:y,padding:I,gap:R,wrap:$,...M}){return b(U,{className:G(s({spacing:F,align:W,justify:u,width:y,padding:I,gap:R,wrap:$}),f),...M})}function Nm({className:f,spacing:F,align:W,justify:u,width:y,padding:I,gap:R,...$}){return b(U,{className:G(a({spacing:F,align:W,justify:u,width:y,padding:I,gap:R}),f),...$})}import{View as fm}from"react-native";import{jsx as H,jsxs as z}from"react/jsx-runtime";var Fm=({value:f,options:F,onChange:W,placeholder:u="S\xE9lectionner...",label:y,disabled:I=!1,className:R="",showCounts:$=!1})=>{return z(D,{className:`space-y-2 ${R}`,children:[y&&H(e,{className:"font-medium text-base text-foreground",children:y}),z(v,{value:f,onValueChange:W,disabled:I,children:[H(N,{className:"w-full",children:H(P,{placeholder:u})}),z(h,{className:"bg-background",children:[z(_,{value:"all",label:"Tous",children:[H(L,{children:"Tous"}),$&&z(fm,{className:"ml-2 text-muted-foreground text-sm",children:["(",F.reduce((M,w)=>M+(w.count||0),0),")"]})]}),F.map((M)=>H(_,{value:M.value,label:M.label,children:z(D,{className:"flex w-full items-center justify-between",children:[H(L,{children:M.label}),$&&M.count!==void 0&&z(L,{className:"ml-2 text-muted-foreground text-sm",children:["(",M.count,")"]})]})},M.value))]})]})]})};export{Fm as FilterSelect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|