@cascivo/react 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -53,9 +53,18 @@ Components ship with `'use client'` preserved in the bundle, so they work inside
53
53
  RSC without any extra wrapper.
54
54
 
55
55
  > **No bundler? (CDN, import maps, plain `<link>`)** Import the aggregate sheet
56
- > `@cascivo/react/styles.css` — it contains every component's CSS in one file.
57
- > With a bundler you don't need it; import it only if you prefer one explicit
58
- > stylesheet over per-component tree-shaking.
56
+ > `@cascivo/react/styles.css` — every component's CSS in one file (~273 KB /
57
+ > ~37 KB gzip, not tree-shaken). With a bundler (CSR) you don't need it; import it
58
+ > only if you prefer one explicit stylesheet over per-component tree-shaking, or
59
+ > for Vite SSR (below), where it is required.
60
+
61
+ > **Vite SSR / TanStack Start / Remix / workerd?** Those per-component `.css`
62
+ > imports need a bundler to resolve them; a bare server-side ESM loader throws
63
+ > `Unknown file extension ".css"`. Add `ssr: { noExternal: [/^@cascivo\//] }` (or
64
+ > the `cascivoSsr()` plugin from `@cascivo/vite-plugin`) and import
65
+ > `@cascivo/react/styles.css` once in your root entry. Full recipe:
66
+ > [USING-WITH-VITE-SSR.md](https://github.com/cascivo/cascivo/blob/main/docs/USING-WITH-VITE-SSR.md).
67
+ > Next.js App Router needs none of this.
59
68
 
60
69
  ## Use
61
70
 
@@ -353,7 +362,7 @@ routing break after adding one of these, check that the import resolves to
353
362
  - **DashboardLayout** — Dashboard page layout with stats strip, main content area, and optional aside.
354
363
  - **FeatureGrid** — Feature section — AutoGrid of items with optional title, description, and icon slots. Icons are optional; the grid works text-only. Replace demo content before shipping.
355
364
  - **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control.
356
- - **Grid** — CSS grid layout primitive with responsive column collapsing.
365
+ - **Grid** — CSS grid layout primitive with responsive column collapsing. Establishes its own containment, so responsive `cols` adapt to the grid’s own slot width with no wrapper or container ancestor required.
357
366
  - **Hero** — Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping.
358
367
  - **Indicator** — Positions an overlay element (badge, dot, count) at a corner of its child
359
368
  - **Join** — Groups adjacent children into a seamless joined element by removing interior borders and radii
@@ -1,28 +1,28 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./breadcrumb.module.js";
4
- import { cn as t, useSignals as n } from "@cascivo/core";
5
- import { builtin as r, t as i } from "@cascivo/i18n";
6
- import { jsx as a } from "react/jsx-runtime";
4
+ import { cn as t, getLinkComponent as n, useSignals as r } from "@cascivo/core";
5
+ import { builtin as i, t as a } from "@cascivo/i18n";
6
+ import { jsx as o } from "react/jsx-runtime";
7
7
  //#region ../components/src/breadcrumb/breadcrumb.tsx
8
- function o({ items: o, maxVisible: s, className: c, ariaLabel: l }) {
9
- n();
10
- let u = l ?? i(r.breadcrumb.nav), d = o, f = o[0];
11
- return f !== void 0 && s !== void 0 && o.length > s && (d = [
12
- f,
8
+ function s({ items: s, maxVisible: c, className: l, ariaLabel: u }) {
9
+ r();
10
+ let d = n(), f = u ?? a(i.breadcrumb.nav), p = s, m = s[0];
11
+ return m !== void 0 && c !== void 0 && s.length > c && (p = [
12
+ m,
13
13
  { label: "…" },
14
- ...o.slice(o.length - (s - 2))
15
- ]), /* @__PURE__ */ a("nav", {
16
- "aria-label": u,
17
- className: t(e.breadcrumb, c),
18
- children: /* @__PURE__ */ a("ol", { children: d.map((e, t) => /* @__PURE__ */ a("li", { children: t === d.length - 1 ? /* @__PURE__ */ a("span", {
14
+ ...s.slice(s.length - (c - 2))
15
+ ]), /* @__PURE__ */ o("nav", {
16
+ "aria-label": f,
17
+ className: t(e.breadcrumb, l),
18
+ children: /* @__PURE__ */ o("ol", { children: p.map((e, t) => /* @__PURE__ */ o("li", { children: t === p.length - 1 ? /* @__PURE__ */ o("span", {
19
19
  "aria-current": "page",
20
20
  children: e.label
21
- }) : e.href === void 0 ? /* @__PURE__ */ a("span", { children: e.label }) : /* @__PURE__ */ a("a", {
21
+ }) : e.href === void 0 ? /* @__PURE__ */ o("span", { children: e.label }) : /* @__PURE__ */ o(d, {
22
22
  href: e.href,
23
23
  children: e.label
24
24
  }) }, `${t}-${e.label}`)) })
25
25
  });
26
26
  }
27
27
  //#endregion
28
- export { o as Breadcrumb };
28
+ export { s as Breadcrumb };
@@ -1 +1 @@
1
- @layer cascivo.component{._card_hb4jd_2{background-color:var(--cascivo-color-surface);border-radius:var(--cascivo-radius-surface);padding:var(--_card-p,0);overflow:hidden}._card_hb4jd_2[data-padding=none]{--_card-p:0}._card_hb4jd_2[data-padding=sm]{--_card-p:var(--cascivo-space-4)}._card_hb4jd_2[data-padding=md]{--_card-p:var(--cascivo-space-6)}._card_hb4jd_2[data-padding=lg]{--_card-p:var(--cascivo-space-8)}._card_hb4jd_2[data-variant=default]{border:1px solid var(--cascivo-color-border)}._card_hb4jd_2[data-variant=outlined]{border:1.5px solid var(--cascivo-color-border-strong)}._card_hb4jd_2[data-variant=elevated]{box-shadow:var(--cascivo-shadow-md);border:none}._header_hb4jd_35{padding:var(--_card-p,var(--cascivo-space-6));gap:var(--cascivo-space-1);flex-direction:column;padding-block-end:0;display:flex}._title_hb4jd_43{font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-lg);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-tight);margin:0}._content_hb4jd_52{padding:var(--_card-p,var(--cascivo-space-6));color:var(--cascivo-color-text-subtle);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-relaxed)}._footer_hb4jd_60{padding:var(--_card-p,var(--cascivo-space-6));align-items:center;gap:var(--cascivo-space-2);padding-block-start:0;display:flex}}
1
+ @layer cascivo.component{._card_16415_2{background-color:var(--cascivo-color-surface);border-radius:var(--cascivo-radius-surface);padding:var(--_card-p,0);overflow:hidden}._card_16415_2[data-padding=none]{--_card-p:0}._card_16415_2[data-padding=sm]{--_card-p:var(--cascivo-space-4)}._card_16415_2[data-padding=md]{--_card-p:var(--cascivo-space-6)}._card_16415_2[data-padding=lg]{--_card-p:var(--cascivo-space-8)}._card_16415_2[data-variant=default]{border:1px solid var(--cascivo-color-border)}._card_16415_2[data-variant=outlined]{border:1.5px solid var(--cascivo-color-border-strong)}._card_16415_2[data-variant=elevated]{box-shadow:var(--cascivo-shadow-md);border:none}._header_16415_35{padding:var(--_card-p,var(--cascivo-space-6));gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;padding-block-end:0;display:flex}._title_16415_46{font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-lg);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-tight);margin:0}._content_16415_55{padding:var(--_card-p,var(--cascivo-space-6));color:var(--cascivo-color-text-subtle);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-relaxed)}._footer_16415_63{padding:var(--_card-p,var(--cascivo-space-6));align-items:center;gap:var(--cascivo-space-2);min-inline-size:0;padding-block-start:0;display:flex}._footer_16415_63>*{min-inline-size:0}}
@@ -2,11 +2,11 @@
2
2
 
3
3
  import './card.css';
4
4
  var e = {
5
- card: "_card_hb4jd_2",
6
- header: "_header_hb4jd_35",
7
- title: "_title_hb4jd_43",
8
- content: "_content_hb4jd_52",
9
- footer: "_footer_hb4jd_60"
5
+ card: "_card_16415_2",
6
+ header: "_header_16415_35",
7
+ title: "_title_16415_46",
8
+ content: "_content_16415_55",
9
+ footer: "_footer_16415_63"
10
10
  };
11
11
  //#endregion
12
12
  export { e as default };
package/dist/dock/dock.js CHANGED
@@ -1,34 +1,34 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./dock.module.js";
4
- import { useSignals as t } from "@cascivo/core";
5
- import { builtin as n, t as r } from "@cascivo/i18n";
6
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import { getLinkComponent as t, useSignals as n } from "@cascivo/core";
5
+ import { builtin as r, t as i } from "@cascivo/i18n";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
7
  //#region ../components/src/dock/dock.tsx
8
- function o({ items: o, activeIndex: s, className: c, ariaLabel: l }) {
9
- return t(), /* @__PURE__ */ i("nav", {
10
- "aria-label": l ?? r(n.dock.nav),
11
- className: [e.dock, c].filter(Boolean).join(" "),
12
- children: o.map((t, n) => {
13
- let r = n === s;
14
- return /* @__PURE__ */ a(t.href ? "a" : "button", {
8
+ function s({ items: s, activeIndex: c, className: l, ariaLabel: u }) {
9
+ return n(), /* @__PURE__ */ a("nav", {
10
+ "aria-label": u ?? i(r.dock.nav),
11
+ className: [e.dock, l].filter(Boolean).join(" "),
12
+ children: s.map((n, r) => {
13
+ let i = r === c;
14
+ return /* @__PURE__ */ o(n.href ? t() : "button", {
15
15
  className: e.item,
16
- "data-active": r || void 0,
17
- "aria-current": r ? "page" : void 0,
18
- ...t.href ? { href: t.href } : {},
19
- type: t.href ? void 0 : "button",
20
- onClick: t.onClick,
21
- children: [/* @__PURE__ */ i("span", {
16
+ "data-active": i || void 0,
17
+ "aria-current": i ? "page" : void 0,
18
+ ...n.href ? { href: n.href } : {},
19
+ type: n.href ? void 0 : "button",
20
+ onClick: n.onClick,
21
+ children: [/* @__PURE__ */ a("span", {
22
22
  className: e.icon,
23
23
  "aria-hidden": "true",
24
- children: t.icon
25
- }), /* @__PURE__ */ i("span", {
24
+ children: n.icon
25
+ }), /* @__PURE__ */ a("span", {
26
26
  className: e.label,
27
- children: t.label
27
+ children: n.label
28
28
  })]
29
- }, n);
29
+ }, r);
30
30
  })
31
31
  });
32
32
  }
33
33
  //#endregion
34
- export { o as Dock };
34
+ export { s as Dock };
@@ -1,29 +1,29 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./header.module.js";
4
- import { cn as t, useSignals as n } from "@cascivo/core";
5
- import { builtin as r, t as i } from "@cascivo/i18n";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ import { cn as t, getLinkComponent as n, useSignals as r } from "@cascivo/core";
5
+ import { builtin as i, t as a } from "@cascivo/i18n";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region ../components/src/header/header.tsx
8
- function s({ brand: s, links: c, actions: l, sticky: u = !1, labels: d, className: f, ...p }) {
9
- n();
10
- let m = d?.nav ?? i(r.header.nav);
11
- return /* @__PURE__ */ o("header", {
8
+ function c({ brand: c, links: l, actions: u, sticky: d = !1, labels: f, className: p, ...m }) {
9
+ r();
10
+ let h = n(), g = f?.nav ?? a(i.header.nav);
11
+ return /* @__PURE__ */ s("header", {
12
12
  role: "banner",
13
- "data-sticky": u || void 0,
14
- className: t(e.header, f),
15
- ...p,
13
+ "data-sticky": d || void 0,
14
+ className: t(e.header, p),
15
+ ...m,
16
16
  children: [
17
- s && /* @__PURE__ */ a("div", {
17
+ c && /* @__PURE__ */ o("div", {
18
18
  className: e.brand,
19
- children: s
19
+ children: c
20
20
  }),
21
- c && c.length > 0 && /* @__PURE__ */ a("nav", {
22
- "aria-label": m,
21
+ l && l.length > 0 && /* @__PURE__ */ o("nav", {
22
+ "aria-label": g,
23
23
  className: e.nav,
24
- children: /* @__PURE__ */ a("ul", {
24
+ children: /* @__PURE__ */ o("ul", {
25
25
  className: e.list,
26
- children: c.map((t, n) => /* @__PURE__ */ a("li", { children: /* @__PURE__ */ a("a", {
26
+ children: l.map((t, n) => /* @__PURE__ */ o("li", { children: /* @__PURE__ */ o(h, {
27
27
  href: t.href,
28
28
  "aria-current": t.active ? "page" : void 0,
29
29
  "data-state": t.active ? "active" : void 0,
@@ -32,13 +32,13 @@ function s({ brand: s, links: c, actions: l, sticky: u = !1, labels: d, classNam
32
32
  }) }, t.id ?? `${n}-${t.href}`))
33
33
  })
34
34
  }),
35
- /* @__PURE__ */ a("div", { className: e.spacer }),
36
- l && /* @__PURE__ */ a("div", {
35
+ /* @__PURE__ */ o("div", { className: e.spacer }),
36
+ u && /* @__PURE__ */ o("div", {
37
37
  className: e.actions,
38
- children: l
38
+ children: u
39
39
  })
40
40
  ]
41
41
  });
42
42
  }
43
43
  //#endregion
44
- export { s as Header };
44
+ export { c as Header };
package/dist/index.d.ts CHANGED
@@ -634,6 +634,22 @@ declare function Header({
634
634
  ...props
635
635
  }: HeaderProps): import("react").JSX.Element;
636
636
  type SideNavTone = 'default' | 'danger' | 'warning' | 'success';
637
+ /**
638
+ * The anchor props cascivo computes for a nav item — the exact bag it spreads onto
639
+ * the link element. Passed to a `render` hatch so a custom link (e.g. a router
640
+ * `<Link>`) can carry the same active-state and accessibility attributes.
641
+ */
642
+ interface SideNavLinkProps {
643
+ href?: string | undefined;
644
+ className?: string | undefined;
645
+ 'aria-current'?: 'page' | undefined;
646
+ 'aria-label'?: string | undefined;
647
+ 'aria-disabled'?: boolean | undefined;
648
+ 'data-state'?: 'active' | undefined;
649
+ 'data-tone'?: Exclude<SideNavTone, 'default'> | undefined;
650
+ tabIndex?: number | undefined;
651
+ onClick: (e: MouseEvent<HTMLAnchorElement>) => void;
652
+ }
637
653
  /** A selectable/navigable sub-item (link when `href` is set, action when `onSelect` is set). */
638
654
  interface SideNavLinkSubItem {
639
655
  /** Stable React key. Provide when `label`/`href` may repeat (e.g. placeholder `#` links). */
@@ -672,9 +688,17 @@ interface SideNavItem {
672
688
  /**
673
689
  * Escape hatch: render arbitrary content inside the item's shell so it inherits
674
690
  * alignment and the collapse context. When set, the item's own fields are ignored.
691
+ *
692
+ * `children` is the computed icon + label + trailing node (so a custom link keeps
693
+ * the default layout), and `linkProps` is the anchor prop bag cascivo would spread
694
+ * onto the `<a>` (including active-state and a11y attributes) — spread it onto your
695
+ * router `<Link>` to preserve them. For a global router integration prefer
696
+ * `setLinkComponent` from `@cascivo/core` over a per-item hatch.
675
697
  */
676
698
  render?: (ctx: {
677
699
  collapsed: boolean;
700
+ children: ReactNode;
701
+ linkProps: SideNavLinkProps;
678
702
  }) => ReactNode;
679
703
  }
680
704
  interface SideNavGroup {
@@ -3280,6 +3304,7 @@ declare function Columns({
3280
3304
  gap,
3281
3305
  className,
3282
3306
  style,
3307
+ children,
3283
3308
  ...props
3284
3309
  }: ColumnsProps): import("react").JSX.Element;
3285
3310
  interface CenterProps extends HTMLAttributes<HTMLDivElement> {
@@ -3395,4 +3420,4 @@ declare function themePreloadScript(options?: {
3395
3420
  attribute?: string;
3396
3421
  defaultTheme?: string;
3397
3422
  }): 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 };
3423
+ 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, SideNavLinkProps, 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 };
@@ -1 +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}}}
1
+ @layer cascivo.component{._columns-container_1efih_2{display:grid;container-type:inline-size}._columns_1efih_2{grid-template-columns:repeat(var(--_cols,2), minmax(0, 1fr));gap:var(--_gap,var(--cascivo-space-4));min-inline-size:0;display:grid}@container (width<=40rem){._columns_1efih_2{grid-template-columns:1fr}}}
@@ -4,15 +4,19 @@ import e from "./columns.module.js";
4
4
  import { cn as t } from "@cascivo/core";
5
5
  import { jsx as n } from "react/jsx-runtime";
6
6
  //#region ../layouts/src/columns/columns.tsx
7
- function r({ count: r = 2, gap: i = 4, className: a, style: o, ...s }) {
7
+ function r({ count: r = 2, gap: i = 4, className: a, style: o, children: s, ...c }) {
8
8
  return /* @__PURE__ */ n("div", {
9
- className: t(e.columns, a),
9
+ className: t(e["columns-container"], a),
10
10
  style: {
11
11
  "--_cols": String(r),
12
12
  "--_gap": `var(--cascivo-space-${i})`,
13
13
  ...o
14
14
  },
15
- ...s
15
+ ...c,
16
+ children: /* @__PURE__ */ n("div", {
17
+ className: e.columns,
18
+ children: s
19
+ })
16
20
  });
17
21
  }
18
22
  //#endregion
@@ -1,6 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import './columns.css';
4
- var e = { columns: "_columns_yqrkk_2" };
4
+ var e = {
5
+ "columns-container": "_columns-container_1efih_2",
6
+ columns: "_columns_1efih_2"
7
+ };
5
8
  //#endregion
6
9
  export { e as default };
@@ -1 +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)))))}}}
1
+ @layer cascivo.component{._grid-container_qly9o_5{display:grid;container-type:inline-size}._grid_qly9o_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);min-inline-size:0;display:grid;container-type:inline-size}@container (width<=40rem){._grid_qly9o_2:not([data-responsive]){grid-template-columns:1fr}}@container (width>=30rem){._grid_qly9o_2[data-responsive]{grid-template-columns:repeat(var(--_grid-cols-sm,var(--_grid-cols,12)), minmax(0, 1fr))}}@container (width>=40rem){._grid_qly9o_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_qly9o_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_qly9o_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_qly9o_55{grid-column:span var(--_span,1)}@container (width>=30rem){._grid-item_qly9o_55[data-responsive]{grid-column:span var(--_span-sm,var(--_span,1))}}@container (width>=40rem){._grid-item_qly9o_55[data-responsive]{grid-column:span var(--_span-md,var(--_span-sm,var(--_span,1)))}}@container (width>=64rem){._grid-item_qly9o_55[data-responsive]{grid-column:span var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span,1))))}}@container (width>=80rem){._grid-item_qly9o_55[data-responsive]{grid-column:span var(--_span-xl,var(--_span-lg,var(--_span-md,var(--_span-sm,var(--_span,1)))))}}}
@@ -25,8 +25,7 @@ function i(e, t) {
25
25
  }
26
26
  function a({ cols: a = 12, gap: o = 4, align: s, justify: c, className: l, style: u, children: d, ...f }) {
27
27
  return /* @__PURE__ */ n("div", {
28
- className: t(e.grid, l),
29
- "data-responsive": r(a) ? "" : void 0,
28
+ className: t(e["grid-container"], l),
30
29
  style: {
31
30
  ...i("--_grid-cols", a),
32
31
  "--_grid-gap": `var(--cascivo-space-${o})`,
@@ -35,7 +34,11 @@ function a({ cols: a = 12, gap: o = 4, align: s, justify: c, className: l, style
35
34
  ...u
36
35
  },
37
36
  ...f,
38
- children: d
37
+ children: /* @__PURE__ */ n("div", {
38
+ className: e.grid,
39
+ "data-responsive": r(a) ? "" : void 0,
40
+ children: d
41
+ })
39
42
  });
40
43
  }
41
44
  function o({ span: a, className: o, style: s, ...c }) {
@@ -2,8 +2,9 @@
2
2
 
3
3
  import './grid.css';
4
4
  var e = {
5
- grid: "_grid_1awa2_2",
6
- "grid-item": "_grid-item_1awa2_46"
5
+ "grid-container": "_grid-container_qly9o_5",
6
+ grid: "_grid_qly9o_2",
7
+ "grid-item": "_grid-item_qly9o_55"
7
8
  };
8
9
  //#endregion
9
10
  export { e as default };
@@ -1,88 +1,92 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./navigation-menu.module.js";
4
- import { DismissableLayer as t, Presence as n, cn as r, useAnchorPosition as i, useRovingFocus as a, useSignal as o, useSignals as s } from "@cascivo/core";
5
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
- import { useId as u, useRef as d } from "react";
4
+ import { DismissableLayer as t, Presence as n, cn as r, getLinkComponent as i, useAnchorPosition as a, useRovingFocus as o, useSignal as s, useSignals as c } from "@cascivo/core";
5
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ import { useId as d, useRef as f } from "react";
7
7
  //#region ../components/src/navigation-menu/navigation-menu.tsx
8
- function f({ items: t, "aria-label": n, orientation: i = "horizontal", className: l }) {
9
- s();
10
- let d = u(), f = o(null), m = a({
8
+ function p({ items: t, "aria-label": n, orientation: i = "horizontal", className: a }) {
9
+ c();
10
+ let u = d(), f = s(null), p = o({
11
11
  orientation: i,
12
12
  loop: !0
13
13
  });
14
- return /* @__PURE__ */ c("nav", {
14
+ return /* @__PURE__ */ l("nav", {
15
15
  "aria-label": n,
16
- className: r(e.nav, l),
16
+ className: r(e.nav, a),
17
17
  "data-orientation": i,
18
- children: /* @__PURE__ */ c("ul", {
18
+ children: /* @__PURE__ */ l("ul", {
19
19
  role: "list",
20
20
  className: e.list,
21
- children: t.map((e, t) => /* @__PURE__ */ c(p, {
21
+ children: t.map((e, t) => /* @__PURE__ */ l(m, {
22
22
  item: e,
23
- baseId: d,
23
+ baseId: u,
24
24
  openId: f,
25
- itemProps: m.getItemProps(t)
25
+ itemProps: p.getItemProps(t)
26
26
  }, e.id))
27
27
  })
28
28
  });
29
29
  }
30
- function p({ item: t, baseId: r, openId: a, itemProps: o }) {
31
- s();
32
- let u = d(null), f = d(null), p = t.content != null, h = a.value === t.id, g = `${r}-panel-${t.id}`, { anchorStyle: _, floatingStyle: v } = i({
33
- anchorRef: u,
34
- floatingRef: f,
30
+ function m({ item: t, baseId: r, openId: o, itemProps: s }) {
31
+ c();
32
+ let d = f(null), p = f(null), m = t.content != null, g = o.value === t.id, _ = `${r}-panel-${t.id}`, { anchorStyle: v, floatingStyle: y } = a({
33
+ anchorRef: d,
34
+ floatingRef: p,
35
35
  placement: "bottom-start",
36
- enabled: h
37
- }), { ref: y, onKeyDown: b, ...x } = o;
38
- return p ? /* @__PURE__ */ l("li", {
36
+ enabled: g
37
+ }), { ref: b, onKeyDown: x, ...S } = s;
38
+ if (!m) {
39
+ let n = i();
40
+ return /* @__PURE__ */ l("li", {
41
+ className: e.item,
42
+ children: /* @__PURE__ */ l(n, {
43
+ ref: (e) => b(e),
44
+ href: t.href,
45
+ className: e.link,
46
+ onKeyDown: x,
47
+ ...S,
48
+ children: t.label
49
+ })
50
+ });
51
+ }
52
+ return /* @__PURE__ */ u("li", {
39
53
  className: e.item,
40
- children: [/* @__PURE__ */ c("button", {
54
+ children: [/* @__PURE__ */ l("button", {
41
55
  ref: (e) => {
42
- u.current = e, y(e);
56
+ d.current = e, b(e);
43
57
  },
44
58
  type: "button",
45
- "aria-expanded": h,
46
- "aria-controls": g,
47
- "data-state": h ? "open" : "closed",
59
+ "aria-expanded": g,
60
+ "aria-controls": _,
61
+ "data-state": g ? "open" : "closed",
48
62
  className: e.trigger,
49
- style: _,
63
+ style: v,
50
64
  onClick: () => {
51
- a.value = h ? null : t.id;
65
+ o.value = g ? null : t.id;
52
66
  },
53
67
  onKeyDown: (e) => {
54
- b(e), !e.defaultPrevented && e.key === "Escape" && (a.value = null);
68
+ x(e), !e.defaultPrevented && e.key === "Escape" && (o.value = null);
55
69
  },
56
- ...x,
70
+ ...S,
57
71
  children: t.label
58
- }), /* @__PURE__ */ c(n, {
59
- present: h,
60
- children: /* @__PURE__ */ c(m, {
61
- panelId: g,
62
- floatingRef: f,
63
- floatingStyle: v,
72
+ }), /* @__PURE__ */ l(n, {
73
+ present: g,
74
+ children: /* @__PURE__ */ l(h, {
75
+ panelId: _,
76
+ floatingRef: p,
77
+ floatingStyle: y,
64
78
  onClose: () => {
65
- a.value = null, u.current?.focus();
79
+ o.value = null, d.current?.focus();
66
80
  },
67
81
  children: t.content
68
82
  })
69
83
  })]
70
- }) : /* @__PURE__ */ c("li", {
71
- className: e.item,
72
- children: /* @__PURE__ */ c("a", {
73
- ref: (e) => y(e),
74
- href: t.href,
75
- className: e.link,
76
- onKeyDown: b,
77
- ...x,
78
- children: t.label
79
- })
80
84
  });
81
85
  }
82
- function m({ panelId: n, floatingRef: r, floatingStyle: i, onClose: a, children: o }) {
83
- return /* @__PURE__ */ c(t, {
86
+ function h({ panelId: n, floatingRef: r, floatingStyle: i, onClose: a, children: o }) {
87
+ return /* @__PURE__ */ l(t, {
84
88
  onDismiss: a,
85
- children: /* @__PURE__ */ c("div", {
89
+ children: /* @__PURE__ */ l("div", {
86
90
  ref: r,
87
91
  id: n,
88
92
  className: e.panel,
@@ -92,4 +96,4 @@ function m({ panelId: n, floatingRef: r, floatingStyle: i, onClose: a, children:
92
96
  });
93
97
  }
94
98
  //#endregion
95
- export { f as NavigationMenu };
99
+ export { p as NavigationMenu };
@@ -43,7 +43,7 @@ function _({ date: c, sync: l = !0, now: u, format: d, className: f, ...p }) {
43
43
  i();
44
44
  let m = g(c), _ = u !== void 0, v = n(u ?? Date.now());
45
45
  _ && (v.value = u), r(() => {
46
- if (!l || _ || typeof window > "u") return;
46
+ if (_ || typeof window > "u" || (v.value = Date.now(), !l)) return;
47
47
  let { nextUpdateMs: e } = h(m - v.value), t = window.setInterval(() => {
48
48
  v.value = Date.now();
49
49
  }, e);
@@ -57,6 +57,7 @@ function _({ date: c, sync: l = !0, now: u, format: d, className: f, ...p }) {
57
57
  timeStyle: "short"
58
58
  }),
59
59
  className: t(e.relativeTime, f),
60
+ suppressHydrationWarning: !0,
60
61
  ...p,
61
62
  children: x
62
63
  });
@@ -1 +1 @@
1
- @layer cascivo.component{._root_22xq7_2{align-items:center;inline-size:100%;display:inline-flex;position:relative}._root_22xq7_2[data-size=sm]{--_search-height:2rem;--_search-font:var(--cascivo-text-sm);--_search-px:var(--cascivo-space-3)}._root_22xq7_2[data-size=md]{--_search-height:2.5rem;--_search-font:var(--cascivo-text-sm);--_search-px:var(--cascivo-space-4)}._root_22xq7_2[data-size=lg]{--_search-height:3rem;--_search-font:var(--cascivo-text-base);--_search-px:var(--cascivo-space-4)}._label_22xq7_28{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._icon_22xq7_41{color:var(--cascivo-color-text-muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute;inset-inline-start:var(--_search-px,var(--cascivo-space-4))}._input_22xq7_50{inline-size:100%;block-size:var(--_search-height,2.5rem);font-family:var(--cascivo-font-sans);font-size:var(--_search-font,var(--cascivo-text-sm));color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none;padding-inline-start:calc(var(--_search-px,var(--cascivo-space-4)) + 1rem + var(--cascivo-space-2));padding-inline-end:calc(var(--_search-px,var(--cascivo-space-4)) + 1.5rem)}._input_22xq7_50::-webkit-search-cancel-button{appearance:none;display:none}._input_22xq7_50::-webkit-search-decoration{appearance:none;display:none}._input_22xq7_50::placeholder{color:var(--cascivo-color-text-muted)}._input_22xq7_50:hover:not(:disabled):not(:focus){border-color:var(--cascivo-color-border-strong)}._input_22xq7_50:focus{border-color:var(--cascivo-color-accent);box-shadow:var(--cascivo-focus-ring)}._input_22xq7_50:disabled{opacity:.5;cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._clear_22xq7_96{block-size:1.5rem;inline-size:1.5rem;font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-none);color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-inline-end:var(--cascivo-space-2)}._clear_22xq7_96:hover:not(:disabled){color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._clear_22xq7_96:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._clear_22xq7_96:disabled{cursor:not-allowed}}
1
+ @layer cascivo.component{._root_1m8s8_2{inline-size:var(--cascivo-search-width,100%);align-items:center;display:inline-flex;position:relative}._root_1m8s8_2[data-size=sm]{--_search-height:2rem;--_search-font:var(--cascivo-text-sm);--_search-px:var(--cascivo-space-3)}._root_1m8s8_2[data-size=md]{--_search-height:2.5rem;--_search-font:var(--cascivo-text-sm);--_search-px:var(--cascivo-space-4)}._root_1m8s8_2[data-size=lg]{--_search-height:3rem;--_search-font:var(--cascivo-text-base);--_search-px:var(--cascivo-space-4)}._label_1m8s8_31{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._icon_1m8s8_44{color:var(--cascivo-color-text-muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute;inset-inline-start:var(--_search-px,var(--cascivo-space-4))}._input_1m8s8_53{inline-size:100%;block-size:var(--_search-height,2.5rem);font-family:var(--cascivo-font-sans);font-size:var(--_search-font,var(--cascivo-text-sm));color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none;padding-inline-start:calc(var(--_search-px,var(--cascivo-space-4)) + 1rem + var(--cascivo-space-2));padding-inline-end:calc(var(--_search-px,var(--cascivo-space-4)) + 1.5rem)}._input_1m8s8_53::-webkit-search-cancel-button{appearance:none;display:none}._input_1m8s8_53::-webkit-search-decoration{appearance:none;display:none}._input_1m8s8_53::placeholder{color:var(--cascivo-color-text-muted)}._input_1m8s8_53:hover:not(:disabled):not(:focus){border-color:var(--cascivo-color-border-strong)}._input_1m8s8_53:focus{border-color:var(--cascivo-color-accent);box-shadow:var(--cascivo-focus-ring)}._input_1m8s8_53:disabled{opacity:.5;cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._clear_1m8s8_99{block-size:1.5rem;inline-size:1.5rem;font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-none);color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-inline-end:var(--cascivo-space-2)}._clear_1m8s8_99:hover:not(:disabled){color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._clear_1m8s8_99:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._clear_1m8s8_99:disabled{cursor:not-allowed}}
@@ -2,11 +2,11 @@
2
2
 
3
3
  import './search.css';
4
4
  var e = {
5
- root: "_root_22xq7_2",
6
- label: "_label_22xq7_28",
7
- icon: "_icon_22xq7_41",
8
- input: "_input_22xq7_50",
9
- clear: "_clear_22xq7_96"
5
+ root: "_root_1m8s8_2",
6
+ label: "_label_1m8s8_31",
7
+ icon: "_icon_1m8s8_44",
8
+ input: "_input_1m8s8_53",
9
+ clear: "_clear_1m8s8_99"
10
10
  };
11
11
  //#endregion
12
12
  export { e as default };