@cascivo/react 0.11.1 → 0.12.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 +1 -1
- package/dist/alert-dialog/alert-dialog.js +2 -4
- package/dist/card/card.css +1 -1
- package/dist/card/card.js +21 -11
- package/dist/card/card.module.js +8 -5
- package/dist/checkbox/checkbox.js +2 -2
- package/dist/command-menu/command-menu.js +67 -71
- package/dist/dropdown/dropdown.js +48 -50
- package/dist/header-panel/header-panel.js +2 -4
- package/dist/icon-button/icon-button.js +10 -10
- package/dist/index.d.ts +29 -14
- package/dist/modal/modal.js +4 -4
- package/dist/node/alert-dialog/alert-dialog.js +2 -4
- package/dist/node/card/card.js +21 -11
- package/dist/node/card/card.module.js +8 -5
- package/dist/node/checkbox/checkbox.js +2 -2
- package/dist/node/command-menu/command-menu.js +67 -71
- package/dist/node/dropdown/dropdown.js +48 -50
- package/dist/node/header-panel/header-panel.js +2 -4
- package/dist/node/icon-button/icon-button.js +10 -10
- package/dist/node/modal/modal.js +4 -4
- package/dist/node/popover/use-popover.js +9 -9
- package/dist/node/react/src/index.js +63 -63
- package/dist/node/search/search.js +19 -22
- package/dist/node/sheet/sheet.js +2 -4
- package/dist/node/visually-hidden/visually-hidden.js +2 -13
- package/dist/popover/use-popover.js +9 -9
- package/dist/react/src/index.js +63 -63
- package/dist/search/search.js +19 -22
- package/dist/sheet/sheet.js +2 -4
- package/dist/styles.css +1 -3
- package/dist/visually-hidden/visually-hidden.js +2 -13
- package/package.json +4 -4
- package/readme.body.md +1 -1
- package/dist/node/visually-hidden/visually-hidden.module.js +0 -5
- package/dist/visually-hidden/visually-hidden.css +0 -1
- package/dist/visually-hidden/visually-hidden.module.js +0 -6
package/dist/react/src/index.js
CHANGED
|
@@ -73,66 +73,66 @@ import { CheckboxCard as He } from "../../checkbox-card/checkbox-card.js";
|
|
|
73
73
|
import { CopyButton as Ue } from "../../copy-button/copy-button.js";
|
|
74
74
|
import { Stat as We } from "../../stat/stat.js";
|
|
75
75
|
import { Status as Ge } from "../../status/status.js";
|
|
76
|
-
import
|
|
77
|
-
import { SkipNavLink as
|
|
78
|
-
import { Progress as
|
|
79
|
-
import { ProgressCircle as
|
|
80
|
-
import { Heading as
|
|
81
|
-
import { Text as
|
|
82
|
-
import { Code as
|
|
83
|
-
import { Blockquote as
|
|
84
|
-
import { List as
|
|
85
|
-
import { LogViewer as
|
|
86
|
-
import { Prose as
|
|
87
|
-
import { PullToRefresh as
|
|
88
|
-
import { QrCode as
|
|
89
|
-
import { RelativeTime as
|
|
90
|
-
import { Label as
|
|
91
|
-
import { Field as
|
|
92
|
-
import { Filter as
|
|
93
|
-
import { IconButton as
|
|
94
|
-
import { ButtonGroup as
|
|
95
|
-
import { ToggleGroup as
|
|
96
|
-
import { InlineLoading as
|
|
97
|
-
import { Notification as
|
|
98
|
-
import { ScrollArea as
|
|
99
|
-
import { Collapsible as
|
|
100
|
-
import { AspectRatio as
|
|
101
|
-
import { MenuButton as
|
|
102
|
-
import { Toggletip as
|
|
103
|
-
import { Menubar as
|
|
104
|
-
import { NavigationMenu as
|
|
105
|
-
import { TreeView as
|
|
106
|
-
import { StructuredList as
|
|
107
|
-
import { ContainedList as
|
|
108
|
-
import { DataList as
|
|
109
|
-
import { Timeline as
|
|
110
|
-
import { Item as
|
|
111
|
-
import { Calendar as
|
|
112
|
-
import { DateRangePicker as
|
|
113
|
-
import { ColorPicker as
|
|
114
|
-
import { Carousel as
|
|
115
|
-
import { Resizable as
|
|
116
|
-
import { Dock as
|
|
117
|
-
import { Drawer as
|
|
118
|
-
import { NativeSelect as
|
|
119
|
-
import { CodeSnippet as
|
|
120
|
-
import { Steps as
|
|
121
|
-
import { Tile as
|
|
122
|
-
import { Indicator as
|
|
123
|
-
import { Join as
|
|
124
|
-
import { Stack as
|
|
125
|
-
import { AppShell as
|
|
126
|
-
import { ChatBubble as
|
|
127
|
-
import { RadialProgress as
|
|
128
|
-
import { Swap as
|
|
129
|
-
import { SwipeItem as
|
|
130
|
-
import { Grid as
|
|
131
|
-
import { Flex as
|
|
132
|
-
import { Columns as
|
|
133
|
-
import { Center as
|
|
134
|
-
import { Spacer as
|
|
135
|
-
import { AutoGrid as
|
|
136
|
-
import { ThemeProvider as
|
|
137
|
-
import { ErrorBoundary as mn, FocusScope as hn, Portal as gn,
|
|
138
|
-
export { M as Accordion, N as AccordionContent, P as AccordionItem, F as AccordionTrigger, I as ActionSheet, d as Alert, ye as AlertDialog,
|
|
76
|
+
import "../../visually-hidden/visually-hidden.js";
|
|
77
|
+
import { SkipNavLink as Ke, SkipNavTarget as qe } from "../../skip-nav/skip-nav.js";
|
|
78
|
+
import { Progress as Je } from "../../progress/progress.js";
|
|
79
|
+
import { ProgressCircle as Ye } from "../../progress-circle/progress-circle.js";
|
|
80
|
+
import { Heading as Xe } from "../../heading/heading.js";
|
|
81
|
+
import { Text as Ze } from "../../text/text.js";
|
|
82
|
+
import { Code as Qe } from "../../code/code.js";
|
|
83
|
+
import { Blockquote as $e } from "../../blockquote/blockquote.js";
|
|
84
|
+
import { List as et, ListItem as tt } from "../../list/list.js";
|
|
85
|
+
import { LogViewer as nt } from "../../log-viewer/log-viewer.js";
|
|
86
|
+
import { Prose as rt } from "../../prose/prose.js";
|
|
87
|
+
import { PullToRefresh as it } from "../../pull-to-refresh/pull-to-refresh.js";
|
|
88
|
+
import { QrCode as at } from "../../qr-code/qr-code.js";
|
|
89
|
+
import { RelativeTime as ot } from "../../relative-time/relative-time.js";
|
|
90
|
+
import { Label as st } from "../../label/label.js";
|
|
91
|
+
import { Field as ct } from "../../field/field.js";
|
|
92
|
+
import { Filter as lt } from "../../filter/filter.js";
|
|
93
|
+
import { IconButton as ut } from "../../icon-button/icon-button.js";
|
|
94
|
+
import { ButtonGroup as dt } from "../../button-group/button-group.js";
|
|
95
|
+
import { ToggleGroup as ft } from "../../toggle-group/toggle-group.js";
|
|
96
|
+
import { InlineLoading as pt } from "../../inline-loading/inline-loading.js";
|
|
97
|
+
import { Notification as mt } from "../../notification/notification.js";
|
|
98
|
+
import { ScrollArea as ht } from "../../scroll-area/scroll-area.js";
|
|
99
|
+
import { Collapsible as gt } from "../../collapsible/collapsible.js";
|
|
100
|
+
import { AspectRatio as _t } from "../../aspect-ratio/aspect-ratio.js";
|
|
101
|
+
import { MenuButton as vt } from "../../menu-button/menu-button.js";
|
|
102
|
+
import { Toggletip as yt } from "../../toggletip/toggletip.js";
|
|
103
|
+
import { Menubar as bt } from "../../menubar/menubar.js";
|
|
104
|
+
import { NavigationMenu as xt } from "../../navigation-menu/navigation-menu.js";
|
|
105
|
+
import { TreeView as St, treeViewMessages as Ct } from "../../tree-view/tree-view.js";
|
|
106
|
+
import { StructuredList as wt } from "../../structured-list/structured-list.js";
|
|
107
|
+
import { ContainedList as Tt, ContainedListItem as Et } from "../../contained-list/contained-list.js";
|
|
108
|
+
import { DataList as Dt } from "../../data-list/data-list.js";
|
|
109
|
+
import { Timeline as Ot } from "../../timeline/timeline.js";
|
|
110
|
+
import { Item as kt, ItemActions as At, ItemContent as jt, ItemDescription as Mt, ItemMedia as Nt, ItemTitle as Pt } from "../../item/item.js";
|
|
111
|
+
import { Calendar as Ft } from "../../calendar/calendar.js";
|
|
112
|
+
import { DateRangePicker as It } from "../../date-range-picker/date-range-picker.js";
|
|
113
|
+
import { ColorPicker as Lt } from "../../color-picker/color-picker.js";
|
|
114
|
+
import { Carousel as Rt } from "../../carousel/carousel.js";
|
|
115
|
+
import { Resizable as zt } from "../../resizable/resizable.js";
|
|
116
|
+
import { Dock as Bt } from "../../dock/dock.js";
|
|
117
|
+
import { Drawer as Vt } from "../../drawer/drawer.js";
|
|
118
|
+
import { NativeSelect as Ht } from "../../native-select/native-select.js";
|
|
119
|
+
import { CodeSnippet as Ut } from "../../code-snippet/code-snippet.js";
|
|
120
|
+
import { Steps as Wt } from "../../steps/steps.js";
|
|
121
|
+
import { Tile as Gt } from "../../tile/tile.js";
|
|
122
|
+
import { Indicator as Kt } from "../../indicator/indicator.js";
|
|
123
|
+
import { Join as qt } from "../../join/join.js";
|
|
124
|
+
import { Stack as Jt } from "../../stack/stack.js";
|
|
125
|
+
import { AppShell as Yt } from "../../app-shell/app-shell.js";
|
|
126
|
+
import { ChatBubble as Xt } from "../../chat-bubble/chat-bubble.js";
|
|
127
|
+
import { RadialProgress as Zt } from "../../radial-progress/radial-progress.js";
|
|
128
|
+
import { Swap as Qt } from "../../swap/swap.js";
|
|
129
|
+
import { SwipeItem as $t } from "../../swipe-item/swipe-item.js";
|
|
130
|
+
import { Grid as en, GridItem as tn } from "../../layouts/src/grid/grid.js";
|
|
131
|
+
import { Flex as nn } from "../../layouts/src/flex/flex.js";
|
|
132
|
+
import { Columns as rn } from "../../layouts/src/columns/columns.js";
|
|
133
|
+
import { Center as an } from "../../layouts/src/center/center.js";
|
|
134
|
+
import { Spacer as on } from "../../layouts/src/spacer/spacer.js";
|
|
135
|
+
import { AutoGrid as sn } from "../../layouts/src/auto-grid/auto-grid.js";
|
|
136
|
+
import { ThemeProvider as cn, setTheme as ln, themePreloadScript as un, themeSignal as dn, useTheme as fn } from "./theme.js";
|
|
137
|
+
import { DismissableLayer as pn, ErrorBoundary as mn, FocusScope as hn, Portal as gn, Presence as _n, Slot as vn, SuspenseBoundary as yn, VisuallyHidden as bn, batch as xn, cn as Sn, composeRefs as Cn, computePosition as wn, computed as Tn, createMachine as En, createScope as Dn, createStreamBuffer as On, effect as kn, getLinkComponent as An, mergeProps as jn, setLinkComponent as Mn, signal as Nn, useAnchorPosition as Pn, useClipboard as Fn, useComputed as In, useControllableSignal as Ln, useDisclosure as Rn, useEffectPropSignal as zn, useId as Bn, useMachine as Vn, useMediaQuery as Hn, useRovingFocus as Un, useScope as Wn, useScrollLock as Gn, useSignal as Kn, useSignalEffect as qn, useSignals as Jn, useStreamBuffer as Yn, useTypeahead as Xn } from "@cascivo/core";
|
|
138
|
+
export { M as Accordion, N as AccordionContent, P as AccordionItem, F as AccordionTrigger, I as ActionSheet, d as Alert, ye as AlertDialog, Yt as AppShell, _t as AspectRatio, sn as AutoGrid, f as Avatar, p as AvatarGroup, c as Badge, $e as Blockquote, xe as BottomSheet, z as Breadcrumb, t as Button, dt as ButtonGroup, Ft as Calendar, r as Card, i as CardContent, a as CardFooter, o as CardHeader, s as CardTitle, Rt as Carousel, an as Center, Xt as ChatBubble, v as Checkbox, He as CheckboxCard, Qe as Code, Ut as CodeSnippet, gt as Collapsible, Lt as ColorPicker, rn as Columns, ce as Combobox, ne as CommandMenu, we as Comparison, Tt as ContainedList, Et as ContainedListItem, Se as ContextMenu, Ce as ContextMenuItem, Ue as CopyButton, Dt as DataList, te as DataTable, le as DatePicker, It as DateRangePicker, pn as DismissableLayer, Bt as Dock, Vt as Drawer, w as Dropdown, Ie as Editable, X as EmptyState, mn as ErrorBoundary, Z as Fab, ct as Field, ue as FileUploader, lt as Filter, nn as Flex, hn as FocusScope, ae as Form, en as Grid, tn as GridItem, H as Header, Be as HeaderPanel, Xe as Heading, Te as HoverCard, Ee as HoverCardContent, De as HoverCardTrigger, ut as IconButton, h as Image, Kt as Indicator, pt as InlineLoading, n as Input, Ne as InputGroup, Pe as InputGroupAddon, kt as Item, At as ItemActions, jt as ItemContent, Mt as ItemDescription, Nt as ItemMedia, Pt as ItemTitle, qt as Join, L as Kbd, st as Label, R as Link, et as List, tt as ListItem, nt as LogViewer, he as Menu, vt as MenuButton, ge as MenuItem, _e as MenuSeparator, ve as MenuTrigger, bt as Menubar, l as Modal, ke as MultiSelect, Ht as NativeSelect, xt as NavigationMenu, mt as Notification, ee as NumberInput, je as OtpInput, Q as OverflowMenu, G as Pagination, Oe as PasswordInput, fe as Popover, pe as PopoverContent, me as PopoverTrigger, gn as Portal, _n as Presence, Je as Progress, Y as ProgressBar, Ye as ProgressCircle, K as ProgressIndicator, rt as Prose, it as PullToRefresh, at as QrCode, Zt as RadialProgress, y as Radio, Le as RadioCard, Re as RadioCardGroup, b as RadioGroup, Fe as RatingGroup, ot as RelativeTime, zt as Resizable, ht as ScrollArea, $ as Search, Me as SegmentedControl, _ as Select, u as Separator, be as Sheet, ze as ShellHeader, W as SideNav, J as Skeleton, Ke as SkipNavLink, qe as SkipNavTarget, S as Slider, vn as Slot, on as Spacer, e as Spinner, Jt as Stack, We as Stat, Ge as Status, Wt as Steps, wt as StructuredList, yn as SuspenseBoundary, Qt as Swap, $t as SwipeItem, Ve as Switcher, O as Tabs, k as TabsContent, A as TabsList, j as TabsTrigger, q as Tag, Ae as TagsInput, Ze as Text, g as Textarea, cn as ThemeProvider, Gt as Tile, de as TimePicker, Ot as Timeline, T as ToastProvider, B as Toc, x as Toggle, ft as ToggleGroup, yt as Toggletip, C as Tooltip, St as TreeView, m as User, bn as VisuallyHidden, xn as batch, Sn as cn, Cn as composeRefs, wn as computePosition, Tn as computed, oe as createForm, En as createMachine, Dn as createScope, On as createStreamBuffer, E as dismissAllToasts, kn as effect, re as fuzzyMatch, ie as fuzzyScore, An as getLinkComponent, jn as mergeProps, Mn as setLinkComponent, ln as setTheme, Nn as signal, un as themePreloadScript, dn as themeSignal, Ct as treeViewMessages, Pn as useAnchorPosition, Fn as useClipboard, In as useComputed, Ln as useControllableSignal, Rn as useDisclosure, zn as useEffectPropSignal, se as useForm, Bn as useId, Vn as useMachine, Hn as useMediaQuery, U as usePopover, Un as useRovingFocus, Wn as useScope, Gn as useScrollLock, Kn as useSignal, qn as useSignalEffect, Jn as useSignals, Yn as useStreamBuffer, fn as useTheme, D as useToast, V as useTocFromRegion, Xn as useTypeahead };
|
package/dist/search/search.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import e from "./search.module.js";
|
|
4
|
-
import { cn as t,
|
|
5
|
-
import { builtin as
|
|
6
|
-
import { jsx as
|
|
7
|
-
import { useRef as
|
|
4
|
+
import { cn as t, useId as n, useSignal as r, useSignalEffect as i, useSignals as a } from "@cascivo/core";
|
|
5
|
+
import { builtin as o, t as s } from "@cascivo/i18n";
|
|
6
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
7
|
+
import { useRef as u } from "react";
|
|
8
8
|
//#region ../components/src/search/search.tsx
|
|
9
|
-
var u = 0;
|
|
10
9
|
function d() {
|
|
11
|
-
return /* @__PURE__ */
|
|
10
|
+
return /* @__PURE__ */ l("svg", {
|
|
12
11
|
viewBox: "0 0 16 16",
|
|
13
12
|
width: "16",
|
|
14
13
|
height: "16",
|
|
@@ -17,11 +16,11 @@ function d() {
|
|
|
17
16
|
strokeWidth: "1.5",
|
|
18
17
|
strokeLinecap: "round",
|
|
19
18
|
"aria-hidden": "true",
|
|
20
|
-
children: [/* @__PURE__ */
|
|
19
|
+
children: [/* @__PURE__ */ c("circle", {
|
|
21
20
|
cx: "7",
|
|
22
21
|
cy: "7",
|
|
23
22
|
r: "4.5"
|
|
24
|
-
}), /* @__PURE__ */
|
|
23
|
+
}), /* @__PURE__ */ c("line", {
|
|
25
24
|
x1: "10.5",
|
|
26
25
|
y1: "10.5",
|
|
27
26
|
x2: "14",
|
|
@@ -30,17 +29,15 @@ function d() {
|
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
31
|
function f({ value: f, defaultValue: p = "", onValueChange: m, onChange: h, onSearch: g, debounceMs: _ = 300, placeholder: v, size: y = "md", label: b, disabled: x = !1, clearLabel: S, id: C, className: w }) {
|
|
33
|
-
|
|
34
|
-
let T = v ?? o
|
|
35
|
-
k.current === "" && (u += 1, k.current = `cascade-search-${u}`);
|
|
36
|
-
let A = C ?? k.current, j = f !== void 0, M = n(j ? f : p);
|
|
32
|
+
a();
|
|
33
|
+
let T = v ?? s(o.search.placeholder), E = b ?? s(o.search.label), D = S ?? s(o.search.clear), O = u(null), k = n("cascade-search"), A = C ?? k, j = f !== void 0, M = r(j ? f : p);
|
|
37
34
|
j && (M.value = f);
|
|
38
|
-
let N =
|
|
35
|
+
let N = u(g);
|
|
39
36
|
N.current = g;
|
|
40
|
-
let P =
|
|
37
|
+
let P = u(null), F = () => {
|
|
41
38
|
P.current !== null && (clearTimeout(P.current), P.current = null);
|
|
42
39
|
};
|
|
43
|
-
|
|
40
|
+
i(() => F);
|
|
44
41
|
let I = (e) => {
|
|
45
42
|
let t = e.target.value;
|
|
46
43
|
j || (M.value = t), (m ?? h)?.(t), F(), P.current = setTimeout(() => {
|
|
@@ -51,21 +48,21 @@ function f({ value: f, defaultValue: p = "", onValueChange: m, onChange: h, onSe
|
|
|
51
48
|
}, R = () => {
|
|
52
49
|
F(), j || (M.value = ""), (m ?? h)?.(""), g?.(""), O.current?.focus();
|
|
53
50
|
}, z = M.value !== "";
|
|
54
|
-
return /* @__PURE__ */
|
|
51
|
+
return /* @__PURE__ */ l("div", {
|
|
55
52
|
className: t(e.root, w),
|
|
56
53
|
"data-size": y,
|
|
57
54
|
"data-state": z ? "filled" : "empty",
|
|
58
55
|
children: [
|
|
59
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ c("label", {
|
|
60
57
|
className: e.label,
|
|
61
58
|
htmlFor: A,
|
|
62
59
|
children: E
|
|
63
60
|
}),
|
|
64
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ c("span", {
|
|
65
62
|
className: e.icon,
|
|
66
|
-
children: /* @__PURE__ */
|
|
63
|
+
children: /* @__PURE__ */ c(d, {})
|
|
67
64
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
65
|
+
/* @__PURE__ */ c("input", {
|
|
69
66
|
ref: O,
|
|
70
67
|
id: A,
|
|
71
68
|
type: "search",
|
|
@@ -76,13 +73,13 @@ function f({ value: f, defaultValue: p = "", onValueChange: m, onChange: h, onSe
|
|
|
76
73
|
onChange: I,
|
|
77
74
|
onKeyDown: L
|
|
78
75
|
}),
|
|
79
|
-
z && /* @__PURE__ */
|
|
76
|
+
z && /* @__PURE__ */ c("button", {
|
|
80
77
|
type: "button",
|
|
81
78
|
className: e.clear,
|
|
82
79
|
"aria-label": D,
|
|
83
80
|
disabled: x,
|
|
84
81
|
onClick: R,
|
|
85
|
-
children: /* @__PURE__ */
|
|
82
|
+
children: /* @__PURE__ */ c("span", {
|
|
86
83
|
"aria-hidden": "true",
|
|
87
84
|
children: "✕"
|
|
88
85
|
})
|
package/dist/sheet/sheet.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import e from "./sheet.module.js";
|
|
4
|
-
import {
|
|
4
|
+
import { useEffectPropSignal as t, useSignalEffect as n } from "@cascivo/core";
|
|
5
5
|
import { builtin as r, t as i } from "@cascivo/i18n";
|
|
6
6
|
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
7
|
import { useId as s, useRef as c } from "react";
|
|
8
8
|
//#region ../components/src/sheet/sheet.tsx
|
|
9
9
|
function l({ open: l, onClose: u, title: d, children: f, side: p = "end" }) {
|
|
10
|
-
let m = c(null), h = s(), g = t(l);
|
|
11
|
-
g.value = l;
|
|
12
|
-
let _ = c(u);
|
|
10
|
+
let m = c(null), h = s(), g = t(l), _ = c(u);
|
|
13
11
|
return _.current = u, n(() => {
|
|
14
12
|
let e = m.current;
|
|
15
13
|
if (e) if (g.value) try {
|
package/dist/styles.css
CHANGED
|
@@ -832,7 +832,7 @@
|
|
|
832
832
|
/*$vite$:1*/
|
|
833
833
|
@layer cascivo.component{._calendar_7pqxh_2{--cascivo-calendar-bg:var(--cascivo-color-surface);--cascivo-calendar-radius:var(--cascivo-radius-overlay);--cascivo-calendar-cell-size:2.25rem;--cascivo-calendar-day-selected-bg:var(--cascivo-color-accent);--cascivo-calendar-day-selected-fg:var(--cascivo-color-accent-foreground,var(--cascivo-color-text-on-accent));--cascivo-calendar-day-today-color:var(--cascivo-color-accent);--cascivo-calendar-range-bg:color-mix(in srgb, var(--cascivo-color-accent) 16%, transparent);gap:var(--cascivo-space-2);padding:var(--cascivo-space-3);font-family:var(--cascivo-font-sans);background-color:var(--cascivo-calendar-bg);border-radius:var(--cascivo-calendar-radius);flex-direction:column;display:inline-flex}._calendar_7pqxh_2[data-size=sm]{--cascivo-calendar-cell-size:1.875rem}._calendar_7pqxh_2[data-size=md]{--cascivo-calendar-cell-size:2.25rem}._calendar_7pqxh_2[data-size=lg]{--cascivo-calendar-cell-size:2.75rem}._header_7pqxh_33{justify-content:space-between;align-items:center;margin-block-end:var(--cascivo-space-1);display:flex}._monthLabel_7pqxh_40{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._navButton_7pqxh_46{border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-base);background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;display:inline-flex}._navButton_7pqxh_46:hover{background-color:var(--cascivo-color-bg-subtle);color:var(--cascivo-color-text)}._navButton_7pqxh_46:focus-visible{box-shadow:var(--cascivo-focus-ring)}._navSpacer_7pqxh_69{block-size:2rem;inline-size:2rem}._grid_7pqxh_74{border-collapse:collapse;inline-size:100%}._weekday_7pqxh_79{padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text-muted);text-align:center;inline-size:var(--cascivo-calendar-cell-size)}._cell_7pqxh_88{text-align:center;padding:0}._cell_7pqxh_88[data-in-range]{background-color:var(--cascivo-calendar-range-bg)}._cell_7pqxh_88:has([data-in-range]){background-color:var(--cascivo-calendar-range-bg)}._empty_7pqxh_99{inline-size:var(--cascivo-calendar-cell-size);block-size:var(--cascivo-calendar-cell-size)}._day_7pqxh_104{inline-size:var(--cascivo-calendar-cell-size);block-size:var(--cascivo-calendar-cell-size);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-control);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}._day_7pqxh_104:hover:not([aria-disabled]){background-color:var(--cascivo-color-bg-subtle)}._day_7pqxh_104:focus-visible{box-shadow:var(--cascivo-focus-ring)}._day_7pqxh_104[data-today]{font-weight:var(--cascivo-font-semibold);color:var(--cascivo-calendar-day-today-color)}._day_7pqxh_104[data-in-range]{background-color:var(--cascivo-calendar-range-bg)}._day_7pqxh_104[data-selected],._day_7pqxh_104[data-range-start],._day_7pqxh_104[data-range-end]{background-color:var(--cascivo-calendar-day-selected-bg);color:var(--cascivo-calendar-day-selected-fg)}._day_7pqxh_104[aria-disabled]{opacity:.35;cursor:not-allowed}}@media (forced-colors:active){._day_7pqxh_104[data-selected]{outline:2px solid highlight}}
|
|
834
834
|
/*$vite$:1*/
|
|
835
|
-
@layer cascivo.component{.
|
|
835
|
+
@layer cascivo.component{._card_4huda_2{background-color:var(--cascivo-color-surface);border-radius:var(--cascivo-radius-surface);padding:var(--_card-p,0);overflow:hidden}._card_4huda_2[data-padding=none]{--_card-p:0}._card_4huda_2[data-padding=sm]{--_card-p:var(--cascivo-space-4)}._card_4huda_2[data-padding=md]{--_card-p:var(--cascivo-space-6)}._card_4huda_2[data-padding=lg]{--_card-p:var(--cascivo-space-8)}._card_4huda_2[data-variant=default]{border:1px solid var(--cascivo-color-border)}._card_4huda_2[data-variant=outlined]{border:1.5px solid var(--cascivo-color-border-strong)}._card_4huda_2[data-variant=elevated]{box-shadow:var(--cascivo-shadow-md);border:none}._header_4huda_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}._headerRow_4huda_49{justify-content:space-between;align-items:flex-start;gap:var(--cascivo-space-3);flex-direction:row}._headerRow_4huda_49 ._headerMain_4huda_57{gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;display:flex}._headerRow_4huda_49 ._headerActions_4huda_64{align-items:center;gap:var(--cascivo-space-1);flex-shrink:0;display:flex}._title_4huda_72{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_4huda_81{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_4huda_89{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_4huda_89>*{min-inline-size:0}}
|
|
836
836
|
/*$vite$:1*/
|
|
837
837
|
@layer cascivo.component{._carousel_1dvrl_2{gap:var(--cascivo-space-3);flex-direction:column;inline-size:100%;display:flex}._viewport_1dvrl_9{align-items:center;display:flex;position:relative}._track_1dvrl_15{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--cascivo-radius-md);inline-size:100%;display:flex;overflow-x:auto}._track_1dvrl_15::-webkit-scrollbar{display:none}._slide_1dvrl_28{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;inline-size:100%}._nav_1dvrl_35{z-index:1;block-size:2.25rem;inline-size:2.25rem;color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-full);box-shadow:var(--cascivo-shadow-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}._nav_1dvrl_35:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._nav_1dvrl_35:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._nav_1dvrl_35:disabled{opacity:.4;cursor:not-allowed}._prev_1dvrl_65{inset-inline-start:var(--cascivo-space-2)}._next_1dvrl_69{inset-inline-end:var(--cascivo-space-2)}._dots_1dvrl_73{justify-content:center;align-items:center;gap:var(--cascivo-space-2);display:flex}._dot_1dvrl_73{border-radius:var(--cascivo-radius-full);background-color:var(--cascivo-color-border-strong);cursor:pointer;block-size:.625rem;inline-size:.625rem;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out);border:none;padding:0}._dot_1dvrl_73[data-active]{background-color:var(--cascivo-color-accent)}._dot_1dvrl_73:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}}@media (prefers-reduced-motion:reduce){._track_1dvrl_15{scroll-behavior:auto}}@media (forced-colors:active){._nav_1dvrl_35:focus-visible,._dot_1dvrl_73:focus-visible{outline-offset:2px;outline:2px solid highlight}._dot_1dvrl_73[data-active]{background-color:highlight}}
|
|
838
838
|
/*$vite$:1*/
|
|
@@ -1061,6 +1061,4 @@
|
|
|
1061
1061
|
@layer cascivo.component{._tree_ufkml_2{--cascivo-tree-indent:var(--cascivo-space-5);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);margin:0;padding:0;list-style:none}._item_ufkml_12{list-style:none}._row_ufkml_16{align-items:center;gap:var(--cascivo-space-2);padding-inline-start:calc(var(--cascivo-tree-indent) * (var(--cascivo-tree-level) - 1));padding-block:var(--cascivo-space-2);border-radius:var(--cascivo-radius-control);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out);padding-inline-end:var(--cascivo-space-3);display:flex}._row_ufkml_16:hover{background-color:var(--cascivo-color-bg-subtle)}._item_ufkml_12:focus-visible{outline:none}._item_ufkml_12:focus-visible>._row_ufkml_16{box-shadow:var(--cascivo-focus-ring)}._item_ufkml_12[data-selected]>._row_ufkml_16{background-color:var(--cascivo-color-bg-subtle);color:var(--cascivo-color-text);font-weight:var(--cascivo-font-medium)}._twisty_ufkml_47{block-size:.75rem;inline-size:.75rem;transition:rotate var(--cascivo-duration-150) var(--cascivo-ease-out);background-color:currentColor;flex-shrink:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M6 4l4 4-4 4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M6 4l4 4-4 4'/%3E%3C/svg%3E") 50%/contain no-repeat}._twisty_ufkml_47[data-state=open]{rotate:90deg}._twistySpacer_ufkml_61{flex-shrink:0;block-size:.75rem;inline-size:.75rem}._icon_ufkml_67{block-size:1rem;inline-size:1rem;color:var(--cascivo-color-text-subtle);flex-shrink:0;display:inline-flex}._label_ufkml_75{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}._groupWrap_ufkml_83{visibility:hidden;transition:grid-template-rows var(--cascivo-duration-200) var(--cascivo-ease-out), visibility var(--cascivo-duration-200) var(--cascivo-ease-out);grid-template-rows:0fr;display:grid}._groupWrap_ufkml_83[data-state=open]{visibility:visible;grid-template-rows:1fr}@starting-style{._groupWrap_ufkml_83[data-state=open]{grid-template-rows:0fr}}._group_ufkml_83{min-block-size:0;margin:0;padding:0;list-style:none;overflow:hidden}}@media (prefers-reduced-motion:reduce){._groupWrap_ufkml_83,._row_ufkml_16,._twisty_ufkml_47{transition:none}}@media (forced-colors:active){._item_ufkml_12:focus-visible>._row_ufkml_16{outline-offset:-2px;outline:2px solid highlight}._item_ufkml_12[data-selected]>._row_ufkml_16{color:highlighttext;background-color:highlight}}
|
|
1062
1062
|
/*$vite$:1*/
|
|
1063
1063
|
@layer cascivo.component{._user_uuj1b_2{align-items:center;gap:var(--cascivo-space-3);min-inline-size:0;font-family:var(--cascivo-font-sans);display:inline-flex}._text_uuj1b_10{min-inline-size:0;line-height:var(--cascivo-leading-snug,1.3);flex-direction:column;display:flex}._name_uuj1b_17{color:var(--cascivo-color-text);font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._description_uuj1b_26{color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._action_uuj1b_34{align-items:center;margin-inline-start:var(--cascivo-space-2);display:inline-flex}}
|
|
1064
|
-
/*$vite$:1*/
|
|
1065
|
-
@layer cascivo.component{._visuallyHidden_1iva7_2{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
|
|
1066
1064
|
/*$vite$:1*/
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { jsx as n } from "react/jsx-runtime";
|
|
6
|
-
//#region ../components/src/visually-hidden/visually-hidden.tsx
|
|
7
|
-
function r({ children: r, className: i, ...a }) {
|
|
8
|
-
return /* @__PURE__ */ n("span", {
|
|
9
|
-
className: t(e.visuallyHidden, i),
|
|
10
|
-
...a,
|
|
11
|
-
children: r
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { r as VisuallyHidden };
|
|
3
|
+
import "@cascivo/core";
|
|
4
|
+
import "react/jsx-runtime";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cascivo/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Prebuilt cascivo design system components — use without copying source. @cascivo/themes installs with it; pair with @cascivo/charts (data-viz) and @cascivo/icons. Docs offline: npx @cascivo/docs",
|
|
6
6
|
"keywords": [
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"provenance": true
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@cascivo/
|
|
49
|
-
"@cascivo/
|
|
50
|
-
"@cascivo/
|
|
48
|
+
"@cascivo/core": "^0.6.0",
|
|
49
|
+
"@cascivo/themes": "^0.4.7",
|
|
50
|
+
"@cascivo/i18n": "^0.2.12"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@testing-library/jest-dom": "^6.9.1",
|
package/readme.body.md
CHANGED
|
@@ -389,7 +389,7 @@ routing break after adding one of these, check that the import resolves to
|
|
|
389
389
|
- **Cta** — Call-to-action band — quiet hairline-bordered section with title, description, and centered actions. Replace demo content before shipping.
|
|
390
390
|
- **DashboardLayout** — Dashboard page layout with stats strip, main content area, and optional aside.
|
|
391
391
|
- **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.
|
|
392
|
-
- **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control.
|
|
392
|
+
- **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control. ⚠ Unlike CSS `flex-direction`, `direction` defaults to `vertical` — pass `direction="horizontal"` for a row.
|
|
393
393
|
- **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.
|
|
394
394
|
- **Hero** — Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping.
|
|
395
395
|
- **Indicator** — Positions an overlay element (badge, dot, count) at a corner of its child
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer cascivo.component{._visuallyHidden_1iva7_2{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
|