@cascivo/react 0.6.2 → 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 +55 -4
- package/dist/breadcrumb/breadcrumb.js +15 -15
- package/dist/card/card.css +1 -1
- package/dist/card/card.module.js +5 -5
- package/dist/dock/dock.js +21 -21
- package/dist/header/header.js +20 -20
- package/dist/index.d.ts +26 -1
- package/dist/layouts/src/columns/columns.css +1 -1
- package/dist/layouts/src/columns/columns.js +7 -3
- package/dist/layouts/src/columns/columns.module.js +4 -1
- package/dist/layouts/src/grid/grid.css +1 -1
- package/dist/layouts/src/grid/grid.js +6 -3
- package/dist/layouts/src/grid/grid.module.js +3 -2
- package/dist/navigation-menu/navigation-menu.js +54 -50
- package/dist/relative-time/relative-time.js +2 -1
- package/dist/search/search.css +1 -1
- package/dist/search/search.module.js +5 -5
- package/dist/shell-header/shell-header.js +63 -63
- package/dist/side-nav/side-nav.js +127 -120
- package/dist/styles.css +5 -5
- package/dist/switcher/switcher.js +13 -11
- package/dist/toast/toast.css +1 -1
- package/dist/toast/toast.module.js +7 -7
- package/dist/toc/use-toc-from-region.js +8 -7
- package/package.json +3 -3
- package/readme.body.md +55 -4
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` —
|
|
57
|
-
> With a bundler you don't need it; import it
|
|
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
|
|
|
@@ -116,6 +125,48 @@ aliases are documented in
|
|
|
116
125
|
All components are client components (`'use client'` is preserved in the
|
|
117
126
|
bundle), so the package works in Next.js App Router projects out of the box.
|
|
118
127
|
|
|
128
|
+
## Using with AI tools (v0, Cursor, Claude Code, Gemini)
|
|
129
|
+
|
|
130
|
+
cascivo is AI-first, but a model can only build with it if the knowledge reaches
|
|
131
|
+
the tool. cascivo has no training-data footprint yet, so **don't rely on a tool
|
|
132
|
+
fetching cascivo.com** — that channel is the least reliable one. Use the channels
|
|
133
|
+
that travel with the package instead:
|
|
134
|
+
|
|
135
|
+
- **One file, one fetch — paste or link this into any chat/agent:**
|
|
136
|
+
[`https://cascivo.com/llms-full.txt`](https://cascivo.com/llms-full.txt). It is
|
|
137
|
+
the entire library — setup, the signals/CSS-layer rules, and every component's
|
|
138
|
+
props/examples/a11y — inlined, so a single successful fetch is enough. The
|
|
139
|
+
shorter index is [`llms.txt`](https://cascivo.com/llms.txt).
|
|
140
|
+
- **v0 / shadcn CLI** — components install straight from the
|
|
141
|
+
[shadcn-compatible registry](https://cascivo.com/r/shadcn/registry.json):
|
|
142
|
+
|
|
143
|
+
```sh
|
|
144
|
+
npx shadcn@latest add https://cascivo.com/r/shadcn/button.json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Each item inlines its own source and points its dependencies at absolute
|
|
148
|
+
`https://cascivo.com/r/shadcn/<name>.json` URLs, so the CLI resolves them
|
|
149
|
+
transitively. Register the whole namespace in `components.json` to use short
|
|
150
|
+
names (`npx shadcn add @cascivo/button`):
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{ "registries": { "@cascivo": "https://cascivo.com/r/shadcn/{name}.json" } }
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
- **MCP-capable agents** (Claude Code, Cursor, Gemini CLI, Windsurf) — point the
|
|
157
|
+
client at the [`@cascivo/mcp`](https://www.npmjs.com/package/@cascivo/mcp)
|
|
158
|
+
server so it can query components with no web fetch at all:
|
|
159
|
+
|
|
160
|
+
```json
|
|
161
|
+
{ "mcpServers": { "cascivo": { "command": "npx", "args": ["-y", "@cascivo/mcp"] } } }
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**One rule to give the model:** cascivo is signal-driven — use `useSignal` /
|
|
165
|
+
`useComputed` / `useSignalEffect` from `@cascivo/core`, never `useState` /
|
|
166
|
+
`useEffect`, and in any app without the Babel signals transform a component that
|
|
167
|
+
reads `signal.value` in render must call `useSignals()` first or it won't
|
|
168
|
+
re-render. `llms-full.txt` carries the full contract.
|
|
169
|
+
|
|
119
170
|
## Guides
|
|
120
171
|
|
|
121
172
|
- [Theming & branding](https://github.com/cascivo/cascivo/blob/main/docs/THEMING.md) — match a brand by overriding tokens (layer cascade, the `data-theme` specificity footgun, per-role radius/control-height tokens, a starter theme).
|
|
@@ -311,7 +362,7 @@ routing break after adding one of these, check that the import resolves to
|
|
|
311
362
|
- **DashboardLayout** — Dashboard page layout with stats strip, main content area, and optional aside.
|
|
312
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.
|
|
313
364
|
- **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control.
|
|
314
|
-
- **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.
|
|
315
366
|
- **Hero** — Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping.
|
|
316
367
|
- **Indicator** — Positions an overlay element (badge, dot, count) at a corner of its child
|
|
317
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,
|
|
5
|
-
import { builtin as
|
|
6
|
-
import { jsx as
|
|
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
|
|
9
|
-
|
|
10
|
-
let
|
|
11
|
-
return
|
|
12
|
-
|
|
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
|
-
...
|
|
15
|
-
]), /* @__PURE__ */
|
|
16
|
-
"aria-label":
|
|
17
|
-
className: t(e.breadcrumb,
|
|
18
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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 {
|
|
28
|
+
export { s as Breadcrumb };
|
package/dist/card/card.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer cascivo.component{.
|
|
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}}
|
package/dist/card/card.module.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import './card.css';
|
|
4
4
|
var e = {
|
|
5
|
-
card: "
|
|
6
|
-
header: "
|
|
7
|
-
title: "
|
|
8
|
-
content: "
|
|
9
|
-
footer: "
|
|
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 {
|
|
5
|
-
import { builtin as
|
|
6
|
-
import { jsx as
|
|
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
|
|
9
|
-
return
|
|
10
|
-
"aria-label":
|
|
11
|
-
className: [e.dock,
|
|
12
|
-
children:
|
|
13
|
-
let
|
|
14
|
-
return /* @__PURE__ */
|
|
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":
|
|
17
|
-
"aria-current":
|
|
18
|
-
...
|
|
19
|
-
type:
|
|
20
|
-
onClick:
|
|
21
|
-
children: [/* @__PURE__ */
|
|
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:
|
|
25
|
-
}), /* @__PURE__ */
|
|
24
|
+
children: n.icon
|
|
25
|
+
}), /* @__PURE__ */ a("span", {
|
|
26
26
|
className: e.label,
|
|
27
|
-
children:
|
|
27
|
+
children: n.label
|
|
28
28
|
})]
|
|
29
|
-
},
|
|
29
|
+
}, r);
|
|
30
30
|
})
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
//#endregion
|
|
34
|
-
export {
|
|
34
|
+
export { s as Dock };
|
package/dist/header/header.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import e from "./header.module.js";
|
|
4
|
-
import { cn as t,
|
|
5
|
-
import { builtin as
|
|
6
|
-
import { jsx as
|
|
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
|
|
9
|
-
|
|
10
|
-
let
|
|
11
|
-
return /* @__PURE__ */
|
|
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":
|
|
14
|
-
className: t(e.header,
|
|
15
|
-
...
|
|
13
|
+
"data-sticky": d || void 0,
|
|
14
|
+
className: t(e.header, p),
|
|
15
|
+
...m,
|
|
16
16
|
children: [
|
|
17
|
-
|
|
17
|
+
c && /* @__PURE__ */ o("div", {
|
|
18
18
|
className: e.brand,
|
|
19
|
-
children:
|
|
19
|
+
children: c
|
|
20
20
|
}),
|
|
21
|
-
|
|
22
|
-
"aria-label":
|
|
21
|
+
l && l.length > 0 && /* @__PURE__ */ o("nav", {
|
|
22
|
+
"aria-label": g,
|
|
23
23
|
className: e.nav,
|
|
24
|
-
children: /* @__PURE__ */
|
|
24
|
+
children: /* @__PURE__ */ o("ul", {
|
|
25
25
|
className: e.list,
|
|
26
|
-
children:
|
|
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__ */
|
|
36
|
-
|
|
35
|
+
/* @__PURE__ */ o("div", { className: e.spacer }),
|
|
36
|
+
u && /* @__PURE__ */ o("div", {
|
|
37
37
|
className: e.actions,
|
|
38
|
-
children:
|
|
38
|
+
children: u
|
|
39
39
|
})
|
|
40
40
|
]
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
|
-
export {
|
|
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{.
|
|
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,
|
|
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
|
|
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
|
-
...
|
|
15
|
+
...c,
|
|
16
|
+
children: /* @__PURE__ */ n("div", {
|
|
17
|
+
className: e.columns,
|
|
18
|
+
children: s
|
|
19
|
+
})
|
|
16
20
|
});
|
|
17
21
|
}
|
|
18
22
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer cascivo.component{.
|
|
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
|
|
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:
|
|
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 }) {
|
|
@@ -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,
|
|
5
|
-
import { jsx as
|
|
6
|
-
import { useId as
|
|
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
|
|
9
|
-
|
|
10
|
-
let
|
|
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__ */
|
|
14
|
+
return /* @__PURE__ */ l("nav", {
|
|
15
15
|
"aria-label": n,
|
|
16
|
-
className: r(e.nav,
|
|
16
|
+
className: r(e.nav, a),
|
|
17
17
|
"data-orientation": i,
|
|
18
|
-
children: /* @__PURE__ */
|
|
18
|
+
children: /* @__PURE__ */ l("ul", {
|
|
19
19
|
role: "list",
|
|
20
20
|
className: e.list,
|
|
21
|
-
children: t.map((e, t) => /* @__PURE__ */
|
|
21
|
+
children: t.map((e, t) => /* @__PURE__ */ l(m, {
|
|
22
22
|
item: e,
|
|
23
|
-
baseId:
|
|
23
|
+
baseId: u,
|
|
24
24
|
openId: f,
|
|
25
|
-
itemProps:
|
|
25
|
+
itemProps: p.getItemProps(t)
|
|
26
26
|
}, e.id))
|
|
27
27
|
})
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
let
|
|
33
|
-
anchorRef:
|
|
34
|
-
floatingRef:
|
|
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:
|
|
37
|
-
}), { ref:
|
|
38
|
-
|
|
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__ */
|
|
54
|
+
children: [/* @__PURE__ */ l("button", {
|
|
41
55
|
ref: (e) => {
|
|
42
|
-
|
|
56
|
+
d.current = e, b(e);
|
|
43
57
|
},
|
|
44
58
|
type: "button",
|
|
45
|
-
"aria-expanded":
|
|
46
|
-
"aria-controls":
|
|
47
|
-
"data-state":
|
|
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
|
-
|
|
65
|
+
o.value = g ? null : t.id;
|
|
52
66
|
},
|
|
53
67
|
onKeyDown: (e) => {
|
|
54
|
-
|
|
68
|
+
x(e), !e.defaultPrevented && e.key === "Escape" && (o.value = null);
|
|
55
69
|
},
|
|
56
|
-
...
|
|
70
|
+
...S,
|
|
57
71
|
children: t.label
|
|
58
|
-
}), /* @__PURE__ */
|
|
59
|
-
present:
|
|
60
|
-
children: /* @__PURE__ */
|
|
61
|
-
panelId:
|
|
62
|
-
floatingRef:
|
|
63
|
-
floatingStyle:
|
|
72
|
+
}), /* @__PURE__ */ l(n, {
|
|
73
|
+
present: g,
|
|
74
|
+
children: /* @__PURE__ */ l(h, {
|
|
75
|
+
panelId: _,
|
|
76
|
+
floatingRef: p,
|
|
77
|
+
floatingStyle: y,
|
|
64
78
|
onClose: () => {
|
|
65
|
-
|
|
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
|
|
83
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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 {
|
|
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 (
|
|
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
|
});
|
package/dist/search/search.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer cascivo.component{.
|
|
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}}
|