@cascivo/react 0.5.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/form/form.js CHANGED
@@ -19,24 +19,33 @@ async function c(e, t) {
19
19
  return r;
20
20
  }
21
21
  function l(e) {
22
- let n = r({ ...e.initialValues }), i = r({}), a = r({}), o = r(!1), s = (e, t) => {
23
- n.value = {
22
+ let n = r({ ...e.initialValues }), i = r({}), a = r({}), o = r(!1), s = async (t) => {
23
+ let n = {};
24
+ return e.schema && (n = await c(e.schema, t)), Object.keys(n).length === 0 && e.validate && (n = await e.validate(t)), n;
25
+ }, l = 0, u = (t, r) => {
26
+ if (n.value = {
24
27
  ...n.value,
25
- [e]: t
26
- };
28
+ [t]: r
29
+ }, !e.validateOnChange) return;
30
+ let a = ++l;
31
+ s(n.value).then((e) => {
32
+ if (a !== l) return;
33
+ let n = { ...i.value }, r = e[t];
34
+ r === void 0 ? delete n[t] : n[t] = r, i.value = n;
35
+ });
27
36
  };
28
37
  return {
29
38
  values: n,
30
39
  errors: i,
31
40
  touched: a,
32
41
  submitting: o,
33
- setValue: s,
42
+ setValue: u,
34
43
  field(e) {
35
44
  return {
36
45
  get value() {
37
46
  return n.value[e];
38
47
  },
39
- onChange: (t) => s(e, t),
48
+ onChange: (t) => u(e, t),
40
49
  onBlur: () => {
41
50
  a.value = {
42
51
  ...a.value,
@@ -51,11 +60,9 @@ function l(e) {
51
60
  async submit(r) {
52
61
  o.value = !0;
53
62
  try {
54
- let o = {};
55
- e.schema && (o = await c(e.schema, n.value)), Object.keys(o).length === 0 && e.validate && (o = await e.validate(n.value));
56
- let s = Object.fromEntries(Object.keys(e.initialValues).map((e) => [e, !0]));
63
+ let o = await s(n.value), c = Object.fromEntries(Object.keys(e.initialValues).map((e) => [e, !0]));
57
64
  t(() => {
58
- i.value = o, a.value = s;
65
+ i.value = o, a.value = c;
59
66
  }), Object.keys(o).length === 0 && await r(n.value);
60
67
  } finally {
61
68
  o.value = !1;
package/dist/index.d.ts CHANGED
@@ -1051,21 +1051,52 @@ interface CommandPage {
1051
1051
  placeholder?: string;
1052
1052
  groups: CommandGroup[];
1053
1053
  }
1054
+ /** An inline action revealed on the active/hovered row (e.g. "Open ↵", "New tab ⌘↵"). */
1055
+ interface CommandAction {
1056
+ id: string;
1057
+ label: string;
1058
+ /** Keycaps shown after the label, e.g. ['↵'] or ['⌘', '↵']. */
1059
+ shortcut?: string[];
1060
+ onSelect: () => void;
1061
+ }
1062
+ /** A status pill shown on the right of a row (e.g. cluster health). */
1063
+ interface CommandStatus {
1064
+ label: string;
1065
+ tone?: 'healthy' | 'degraded' | 'neutral';
1066
+ }
1054
1067
  interface CommandItem {
1055
1068
  id: string;
1056
1069
  label: string;
1070
+ /** Secondary metadata line rendered in mono beneath the label (e.g. `region · plan · id`). */
1071
+ description?: string;
1057
1072
  icon?: ReactNode;
1058
1073
  shortcut?: string[];
1059
1074
  keywords?: string[];
1060
- /** Exactly one of onSelect or page is required */
1075
+ status?: CommandStatus;
1076
+ /**
1077
+ * Inline actions revealed when the row is active/hovered. The first is the
1078
+ * primary (Enter), the second the secondary (Cmd/Ctrl+Enter); each is also
1079
+ * clickable. Takes precedence over `onSelect` for keyboard activation.
1080
+ */
1081
+ actions?: CommandAction[];
1082
+ /** Primary activation. Exactly one of onSelect, page, or actions drives a row. */
1061
1083
  onSelect?: () => void;
1062
1084
  disabled?: boolean;
1063
1085
  page?: CommandPage;
1064
1086
  }
1065
1087
  interface CommandGroup {
1066
1088
  heading?: string;
1089
+ /** Associates the group with a scope id; hidden unless that scope (or none) is active. */
1090
+ scope?: string;
1067
1091
  items: CommandItem[];
1068
1092
  }
1093
+ /** A filter scope selectable via pill, typed prefix (`c:`/`c `), or Tab. */
1094
+ interface CommandScope {
1095
+ id: string;
1096
+ label: string;
1097
+ /** Single-char prefix that activates this scope when typed, e.g. 'c' or '>'. */
1098
+ prefix?: string;
1099
+ }
1069
1100
  interface CommandMenuProps {
1070
1101
  open: boolean;
1071
1102
  onOpenChange: (open: boolean) => void;
@@ -1076,13 +1107,23 @@ interface CommandMenuProps {
1076
1107
  label?: string;
1077
1108
  loading?: boolean;
1078
1109
  onQueryChange?: (query: string) => void;
1110
+ /** Selectable filter scopes; enables the scope bar, chip, prefixes, and Tab cycling. */
1111
+ scopes?: CommandScope[];
1079
1112
  className?: string;
1080
1113
  }
1114
+ interface FuzzyMatch {
1115
+ score: number;
1116
+ /** Indices in `text` that matched, in order. */
1117
+ indices: number[];
1118
+ }
1081
1119
  /**
1082
1120
  * Fuzzy subsequence matcher. Every character of `query` must appear in order
1083
- * (case-insensitive) in `text`. Returns 0 for no match; higher is better.
1084
- * Consecutive runs and word-start matches score bonuses.
1121
+ * (case-insensitive) in `text`. Returns null for no match; higher score is
1122
+ * better. Consecutive runs and word-start matches score bonuses. `indices`
1123
+ * are the matched character positions, used to highlight the glyphs.
1085
1124
  */
1125
+ declare function fuzzyMatch(query: string, text: string): FuzzyMatch | null;
1126
+ /** Score-only helper (backwards compatible). Returns 0 for no match. */
1086
1127
  declare function fuzzyScore(query: string, text: string): number;
1087
1128
  declare function CommandMenu({
1088
1129
  open,
@@ -1094,6 +1135,7 @@ declare function CommandMenu({
1094
1135
  label,
1095
1136
  loading,
1096
1137
  onQueryChange,
1138
+ scopes,
1097
1139
  className
1098
1140
  }: CommandMenuProps): import("react").JSX.Element;
1099
1141
  interface StandardSchemaV1<Input = unknown, Output = Input> {
@@ -1127,6 +1169,13 @@ interface FormConfig<T extends Record<string, unknown>> {
1127
1169
  validate?: (values: T) => Errors<T> | Promise<Errors<T>>;
1128
1170
  /** Standard Schema V1 compatible schema (zod, valibot, arktype, …). Runs before validate(). */
1129
1171
  schema?: StandardSchemaV1;
1172
+ /**
1173
+ * Revalidate on every `setValue`/`field().onChange`, updating only the changed
1174
+ * field's error (other fields' errors are left untouched until submit). Off by
1175
+ * default — validation runs on submit only. Because updates flow through
1176
+ * signals, keystroke-frequency revalidation triggers no React re-render.
1177
+ */
1178
+ validateOnChange?: boolean;
1130
1179
  }
1131
1180
  interface FormStore<T extends Record<string, unknown>> {
1132
1181
  values: Signal<T>;
@@ -3169,4 +3218,181 @@ declare function SwipeItem({
3169
3218
  trailingActions,
3170
3219
  className
3171
3220
  }: SwipeItemProps): import("react").JSX.Element;
3172
- export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, FocusScope, Form, FormConfig, FormProps, FormStore, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, Link, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, Resizable, ResizableProps, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, SortDirection, SortState, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag$1 as Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VisuallyHidden, VisuallyHiddenProps, createForm, dismissAllToasts, fuzzyScore, treeViewMessages, useForm, usePopover, useToast, useTocFromRegion };
3221
+ type SpaceStep$4 = 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
3222
+ /** A scalar value, or a per-breakpoint object keyed by the canonical scale. */
3223
+ type Responsive<T> = T | Partial<Record<'base' | 'sm' | 'md' | 'lg' | 'xl', T>>;
3224
+ /** Grid track alignment keyword (maps directly to `align-items` / `justify-items`). */
3225
+ type GridAlign = 'start' | 'center' | 'end' | 'stretch';
3226
+ interface GridProps extends HTMLAttributes<HTMLDivElement> {
3227
+ /** Column count. A number, or `{ base, sm, md, lg, xl }` for responsive columns. */
3228
+ cols?: Responsive<number>;
3229
+ gap?: SpaceStep$4;
3230
+ /** Block-axis alignment of items within their cells (`align-items`). Defaults to `stretch`. */
3231
+ align?: GridAlign;
3232
+ /** Inline-axis alignment of items within their cells (`justify-items`). Defaults to `stretch`. */
3233
+ justify?: GridAlign;
3234
+ }
3235
+ declare function Grid({
3236
+ cols,
3237
+ gap,
3238
+ align,
3239
+ justify,
3240
+ className,
3241
+ style,
3242
+ children,
3243
+ ...props
3244
+ }: GridProps): import("react").JSX.Element;
3245
+ interface GridItemProps extends HTMLAttributes<HTMLDivElement> {
3246
+ /** Column span. A number, or `{ base, sm, md, lg, xl }` for responsive spans. */
3247
+ span?: Responsive<number>;
3248
+ }
3249
+ declare function GridItem({
3250
+ span,
3251
+ className,
3252
+ style,
3253
+ ...props
3254
+ }: GridItemProps): import("react").JSX.Element;
3255
+ type SpaceStep$3 = 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
3256
+ interface FlexProps extends HTMLAttributes<HTMLDivElement> {
3257
+ direction?: 'vertical' | 'horizontal';
3258
+ gap?: SpaceStep$3;
3259
+ align?: 'start' | 'center' | 'end' | 'stretch';
3260
+ justify?: 'start' | 'center' | 'end' | 'between';
3261
+ wrap?: boolean;
3262
+ }
3263
+ declare function Flex({
3264
+ direction,
3265
+ gap,
3266
+ align,
3267
+ justify,
3268
+ wrap,
3269
+ className,
3270
+ style,
3271
+ ...props
3272
+ }: FlexProps): import("react").JSX.Element;
3273
+ type SpaceStep$2 = 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
3274
+ interface ColumnsProps extends HTMLAttributes<HTMLDivElement> {
3275
+ count?: 2 | 3 | 4;
3276
+ gap?: SpaceStep$2;
3277
+ }
3278
+ declare function Columns({
3279
+ count,
3280
+ gap,
3281
+ className,
3282
+ style,
3283
+ ...props
3284
+ }: ColumnsProps): import("react").JSX.Element;
3285
+ interface CenterProps extends HTMLAttributes<HTMLDivElement> {
3286
+ maxWidth?: string;
3287
+ }
3288
+ declare function Center({
3289
+ maxWidth,
3290
+ className,
3291
+ style,
3292
+ ...props
3293
+ }: CenterProps): import("react").JSX.Element;
3294
+ type SpaceStep$1 = 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
3295
+ interface SpacerProps extends HTMLAttributes<HTMLDivElement> {
3296
+ size?: SpaceStep$1;
3297
+ }
3298
+ declare function Spacer({
3299
+ size,
3300
+ className,
3301
+ style,
3302
+ ...props
3303
+ }: SpacerProps): import("react").JSX.Element;
3304
+ type SpaceStep = 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
3305
+ interface AutoGridProps extends HTMLAttributes<HTMLDivElement> {
3306
+ /** Minimum track size before items wrap to fewer columns. */
3307
+ min?: string;
3308
+ gap?: SpaceStep;
3309
+ className?: string | undefined;
3310
+ }
3311
+ declare function AutoGrid({
3312
+ min,
3313
+ gap,
3314
+ className,
3315
+ style,
3316
+ ...props
3317
+ }: AutoGridProps): import("react").JSX.Element;
3318
+ /**
3319
+ * Set the active theme imperatively, from anywhere. Persists the choice and
3320
+ * drives the `data-theme` attribute through the mounted {@link ThemeProvider}.
3321
+ */
3322
+ declare function setTheme(next: string): void;
3323
+ /**
3324
+ * Read and set the active theme. The returned signal is reactive — a component
3325
+ * that reads `.value` re-renders when the theme changes (this hook calls
3326
+ * `useSignals()` for you, so it works in React apps with no Babel transform).
3327
+ *
3328
+ * ```tsx
3329
+ * const [theme, setTheme] = useTheme()
3330
+ * return <button onClick={() => setTheme(theme.value === 'dark' ? 'light' : 'dark')}>
3331
+ * {theme.value}
3332
+ * </button>
3333
+ * ```
3334
+ */
3335
+ declare function useTheme(): readonly [Signal<string>, (next: string) => void];
3336
+ interface ThemeProviderProps {
3337
+ /**
3338
+ * Theme to use when nothing is persisted yet. Falls back to the visitor's OS
3339
+ * `prefers-color-scheme` (light/dark), then to `'light'`.
3340
+ */
3341
+ defaultTheme?: string;
3342
+ /**
3343
+ * Controlled theme. When set, the provider mirrors it on every render and the
3344
+ * persisted value is ignored — the parent owns the state (React semantics).
3345
+ */
3346
+ value?: string;
3347
+ /** localStorage key for the persisted choice. Defaults to `cascivo-theme`. */
3348
+ storageKey?: string;
3349
+ /** Attribute written to the target element. Defaults to `data-theme`. */
3350
+ attribute?: string;
3351
+ /**
3352
+ * Element to theme. Omit to theme the whole document (`<html>`). Pass a ref to
3353
+ * a container to scope the theme to a subtree — cascivo themes resolve against
3354
+ * the nearest `data-theme`, so a scoped subtree can differ from the page.
3355
+ */
3356
+ target?: RefObject<HTMLElement | null>;
3357
+ /** Called whenever the active theme changes. */
3358
+ onChange?: (theme: string) => void;
3359
+ children?: ReactNode;
3360
+ }
3361
+ /**
3362
+ * Binds the active theme signal to a `data-theme` attribute and persists the
3363
+ * choice — the reusable, SSR-safe form of the wiring apps otherwise hand-roll.
3364
+ *
3365
+ * - No flash of the wrong theme: pair with {@link themePreloadScript} in your
3366
+ * document `<head>` so the correct theme paints on first byte.
3367
+ * - No banned React hooks: the DOM write happens in `useSignalEffect`, not
3368
+ * `useEffect`; there is no `useState`/`useContext`.
3369
+ * - Uncontrolled by default (persists to localStorage); pass `value` to control.
3370
+ */
3371
+ declare function ThemeProvider({
3372
+ defaultTheme,
3373
+ value,
3374
+ storageKey,
3375
+ attribute,
3376
+ target,
3377
+ onChange,
3378
+ children
3379
+ }: ThemeProviderProps): ReactNode;
3380
+ /**
3381
+ * A tiny script to inline in your document `<head>` (before the app bundle) so
3382
+ * the persisted theme paints on the first byte — no flash of the wrong theme on
3383
+ * SSR or a hard reload. Pass the same `storageKey`/`attribute`/`defaultTheme`
3384
+ * you give {@link ThemeProvider}.
3385
+ *
3386
+ * ```tsx
3387
+ * // Next.js app/layout.tsx
3388
+ * <head>
3389
+ * <script dangerouslySetInnerHTML={{ __html: themePreloadScript() }} />
3390
+ * </head>
3391
+ * ```
3392
+ */
3393
+ declare function themePreloadScript(options?: {
3394
+ storageKey?: string;
3395
+ attribute?: string;
3396
+ defaultTheme?: string;
3397
+ }): string;
3398
+ export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, AutoGrid, AutoGridProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, Center, CenterProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Columns, ColumnsProps, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandAction, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, CommandScope, CommandStatus, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, Flex, FlexProps, FocusScope, Form, FormConfig, FormProps, FormStore, FuzzyMatch, Grid, GridAlign, GridItem, GridItemProps, GridProps, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, Link, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, Resizable, ResizableProps, Responsive, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, SortDirection, SortState, Spacer, SpacerProps, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag$1 as Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, ThemeProvider, type ThemeProviderProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VisuallyHidden, VisuallyHiddenProps, createForm, dismissAllToasts, fuzzyMatch, fuzzyScore, setTheme, themePreloadScript, treeViewMessages, useForm, usePopover, useTheme, useToast, useTocFromRegion };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._auto-grid_v8cqo_2{grid-template-columns:repeat(auto-fill, minmax(min(var(--_min,16rem), 100%), 1fr));gap:var(--_gap,var(--cascivo-space-4));display:grid}}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import e from "./auto-grid.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/auto-grid/auto-grid.tsx
7
+ function r({ min: r = "16rem", gap: i = 4, className: a, style: o, ...s }) {
8
+ return /* @__PURE__ */ n("div", {
9
+ className: t(e["auto-grid"], a),
10
+ style: {
11
+ "--_min": r,
12
+ "--_gap": `var(--cascivo-space-${i})`,
13
+ ...o
14
+ },
15
+ ...s
16
+ });
17
+ }
18
+ //#endregion
19
+ export { r as AutoGrid };
@@ -0,0 +1,7 @@
1
+ "use client";
2
+
3
+ import './auto-grid.css';
4
+ //#region ../layouts/src/auto-grid/auto-grid.module.css
5
+ var e = { "auto-grid": "_auto-grid_v8cqo_2" };
6
+ //#endregion
7
+ export { e as default };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._center_1euo8_2{max-inline-size:var(--_center-max,48rem);padding-inline:var(--cascivo-space-4);inline-size:100%;margin-inline:auto}}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+
3
+ import e from "./center.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/center/center.tsx
7
+ function r({ maxWidth: r = "48rem", className: i, style: a, ...o }) {
8
+ return /* @__PURE__ */ n("div", {
9
+ className: t(e.center, i),
10
+ style: {
11
+ "--_center-max": r,
12
+ ...a
13
+ },
14
+ ...o
15
+ });
16
+ }
17
+ //#endregion
18
+ export { r as Center };
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import './center.css';
4
+ var e = { center: "_center_1euo8_2" };
5
+ //#endregion
6
+ export { e as default };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._columns_yqrkk_2{grid-template-columns:repeat(var(--_cols,2), minmax(0, 1fr));gap:var(--_gap,var(--cascivo-space-4));display:grid;container-type:inline-size}@container (width<=40rem){._columns_yqrkk_2{grid-template-columns:1fr}}}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import e from "./columns.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/columns/columns.tsx
7
+ function r({ count: r = 2, gap: i = 4, className: a, style: o, ...s }) {
8
+ return /* @__PURE__ */ n("div", {
9
+ className: t(e.columns, a),
10
+ style: {
11
+ "--_cols": String(r),
12
+ "--_gap": `var(--cascivo-space-${i})`,
13
+ ...o
14
+ },
15
+ ...s
16
+ });
17
+ }
18
+ //#endregion
19
+ export { r as Columns };
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import './columns.css';
4
+ var e = { columns: "_columns_yqrkk_2" };
5
+ //#endregion
6
+ export { e as default };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._flex_1cngp_2{gap:var(--_flex-gap,var(--cascivo-space-4));display:flex}._flex_1cngp_2[data-direction=vertical]{flex-direction:column}._flex_1cngp_2[data-direction=horizontal]{flex-direction:row}._flex_1cngp_2[data-wrap]{flex-wrap:wrap}}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ import e from "./flex.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/flex/flex.tsx
7
+ function r({ direction: r = "vertical", gap: i = 4, align: a, justify: o, wrap: s = !1, className: c, style: l, ...u }) {
8
+ return /* @__PURE__ */ n("div", {
9
+ className: t(e.flex, c),
10
+ "data-direction": r,
11
+ "data-wrap": s ? "" : void 0,
12
+ style: {
13
+ "--_flex-gap": `var(--cascivo-space-${i})`,
14
+ ...a ? { alignItems: a === "start" || a === "end" ? `flex-${a}` : a } : {},
15
+ ...o ? { justifyContent: o === "between" ? "space-between" : o === "start" || o === "end" ? `flex-${o}` : o } : {},
16
+ ...l
17
+ },
18
+ ...u
19
+ });
20
+ }
21
+ //#endregion
22
+ export { r as Flex };
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import './flex.css';
4
+ var e = { flex: "_flex_1cngp_2" };
5
+ //#endregion
6
+ export { e as default };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._grid_1awa2_2{grid-template-columns:repeat(var(--_grid-cols,12), minmax(0, 1fr));gap:var(--_grid-gap,var(--cascivo-space-4));align-items:var(--_grid-align,stretch);justify-items:var(--_grid-justify,stretch);display:grid;container-type:inline-size}@container (width<=40rem){._grid_1awa2_2:not([data-responsive]){grid-template-columns:1fr}}@container (width>=30rem){._grid_1awa2_2[data-responsive]{grid-template-columns:repeat(var(--_grid-cols-sm,var(--_grid-cols,12)), minmax(0, 1fr))}}@container (width>=40rem){._grid_1awa2_2[data-responsive]{grid-template-columns:repeat(var(--_grid-cols-md,var(--_grid-cols-sm,var(--_grid-cols,12))), minmax(0, 1fr))}}@container (width>=64rem){._grid_1awa2_2[data-responsive]{grid-template-columns:repeat(var(--_grid-cols-lg,var(--_grid-cols-md,var(--_grid-cols-sm,var(--_grid-cols,12)))), minmax(0, 1fr))}}@container (width>=80rem){._grid_1awa2_2[data-responsive]{grid-template-columns:repeat(var(--_grid-cols-xl,var(--_grid-cols-lg,var(--_grid-cols-md,var(--_grid-cols-sm,var(--_grid-cols,12))))), minmax(0, 1fr))}}._grid-item_1awa2_46{grid-column:span var(--_span,1)}@container (width>=30rem){._grid-item_1awa2_46[data-responsive]{grid-column:span var(--_span-sm,var(--_span,1))}}@container (width>=40rem){._grid-item_1awa2_46[data-responsive]{grid-column:span var(--_span-md,var(--_span-sm,var(--_span,1)))}}@container (width>=64rem){._grid-item_1awa2_46[data-responsive]{grid-column:span var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span,1))))}}@container (width>=80rem){._grid-item_1awa2_46[data-responsive]{grid-column:span var(--_span-xl,var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span,1)))))}}}
@@ -0,0 +1,54 @@
1
+ "use client";
2
+
3
+ import e from "./grid.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/grid/grid.tsx
7
+ function r(e) {
8
+ return typeof e == "object" && !!e;
9
+ }
10
+ function i(e, t) {
11
+ if (t === void 0) return {};
12
+ if (!r(t)) return { [e]: String(t) };
13
+ let n = {};
14
+ t.base !== void 0 && (n[e] = String(t.base));
15
+ for (let r of [
16
+ "sm",
17
+ "md",
18
+ "lg",
19
+ "xl"
20
+ ]) {
21
+ let i = t[r];
22
+ i !== void 0 && (n[`${e}-${r}`] = String(i));
23
+ }
24
+ return n;
25
+ }
26
+ function a({ cols: a = 12, gap: o = 4, align: s, justify: c, className: l, style: u, children: d, ...f }) {
27
+ return /* @__PURE__ */ n("div", {
28
+ className: t(e.grid, l),
29
+ "data-responsive": r(a) ? "" : void 0,
30
+ style: {
31
+ ...i("--_grid-cols", a),
32
+ "--_grid-gap": `var(--cascivo-space-${o})`,
33
+ ...s ? { "--_grid-align": s } : {},
34
+ ...c ? { "--_grid-justify": c } : {},
35
+ ...u
36
+ },
37
+ ...f,
38
+ children: d
39
+ });
40
+ }
41
+ function o({ span: a, className: o, style: s, ...c }) {
42
+ let l = a !== void 0 && r(a);
43
+ return /* @__PURE__ */ n("div", {
44
+ className: t(e["grid-item"], o),
45
+ "data-responsive": l ? "" : void 0,
46
+ style: {
47
+ ...i("--_span", a),
48
+ ...s
49
+ },
50
+ ...c
51
+ });
52
+ }
53
+ //#endregion
54
+ export { a as Grid, o as GridItem };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+
3
+ import './grid.css';
4
+ var e = {
5
+ grid: "_grid_1awa2_2",
6
+ "grid-item": "_grid-item_1awa2_46"
7
+ };
8
+ //#endregion
9
+ export { e as default };
@@ -0,0 +1 @@
1
+ @layer cascivo.component{._spacer_9ie78_2{block-size:var(--_spacer-size,var(--cascivo-space-4));flex-shrink:0}}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+
3
+ import e from "./spacer.module.js";
4
+ import { cn as t } from "@cascivo/core";
5
+ import { jsx as n } from "react/jsx-runtime";
6
+ //#region ../layouts/src/spacer/spacer.tsx
7
+ function r({ size: r = 4, className: i, style: a, ...o }) {
8
+ return /* @__PURE__ */ n("div", {
9
+ role: "none",
10
+ className: t(e.spacer, i),
11
+ style: {
12
+ "--_spacer-size": `var(--cascivo-space-${r})`,
13
+ ...a
14
+ },
15
+ ...o
16
+ });
17
+ }
18
+ //#endregion
19
+ export { r as Spacer };
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import './spacer.css';
4
+ var e = { spacer: "_spacer_9ie78_2" };
5
+ //#endregion
6
+ export { e as default };