@cloudflare/kumo 1.8.0 → 1.9.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/CHANGELOG.md +41 -0
- package/ai/component-registry.json +117 -42
- package/ai/component-registry.md +124 -17
- package/ai/schemas.ts +7 -6
- package/dist/.build-complete +1 -1
- package/dist/ai/schemas.d.ts +43 -41
- package/dist/ai/schemas.d.ts.map +1 -1
- package/dist/catalog.js +1 -1
- package/dist/{checkbox-BUV90tNU.js → checkbox-CfFoTNFI.js} +8 -8
- package/dist/{checkbox-BUV90tNU.js.map → checkbox-CfFoTNFI.js.map} +1 -1
- package/dist/{clipboard-text-BVKGunue.js → clipboard-text-1d0rHIhb.js} +24 -24
- package/dist/{clipboard-text-BVKGunue.js.map → clipboard-text-1d0rHIhb.js.map} +1 -1
- package/dist/{combobox-DyTgHki4.js → combobox-vnvi22pn.js} +4 -4
- package/dist/{combobox-DyTgHki4.js.map → combobox-vnvi22pn.js.map} +1 -1
- package/dist/{command-palette-B2hkPSQm.js → command-palette-B80cqB7K.js} +2 -2
- package/dist/{command-palette-B2hkPSQm.js.map → command-palette-B80cqB7K.js.map} +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/clipboard-text.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/flow.js +1472 -1412
- package/dist/components/flow.js.map +1 -1
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sensitive-input.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/{dialog-B2EHaSoL.js → dialog-C4BIM-74.js} +6 -6
- package/dist/{dialog-B2EHaSoL.js.map → dialog-C4BIM-74.js.map} +1 -1
- package/dist/dropdown-CfS4QcSR.js +295 -0
- package/dist/dropdown-CfS4QcSR.js.map +1 -0
- package/dist/{field-Bkh5pJay.js → field-B8xISAuX.js} +5 -5
- package/dist/{field-Bkh5pJay.js.map → field-B8xISAuX.js.map} +1 -1
- package/dist/index.js +27 -27
- package/dist/{input-DjItb3_k.js → input-DCzpefuq.js} +3 -3
- package/dist/{input-DjItb3_k.js.map → input-DCzpefuq.js.map} +1 -1
- package/dist/{input-area-BcidmGaO.js → input-area-DCaAN9nG.js} +3 -3
- package/dist/{input-area-BcidmGaO.js.map → input-area-DCaAN9nG.js.map} +1 -1
- package/dist/{input-group-CMAvOKIV.js → input-group-BbaVpJnA.js} +2 -2
- package/dist/{input-group-CMAvOKIV.js.map → input-group-BbaVpJnA.js.map} +1 -1
- package/dist/{label-Cjpb7l1F.js → label-Cd6nCDWj.js} +2 -2
- package/dist/{label-Cjpb7l1F.js.map → label-Cd6nCDWj.js.map} +1 -1
- package/dist/{link-DUqZGMVk.js → link-DJq9RWpK.js} +11 -11
- package/dist/{link-DUqZGMVk.js.map → link-DJq9RWpK.js.map} +1 -1
- package/dist/{menubar-bgBP3EJi.js → menubar-Chchzst0.js} +2 -2
- package/dist/{menubar-bgBP3EJi.js.map → menubar-Chchzst0.js.map} +1 -1
- package/dist/{meter-BziPAH9D.js → meter-Wk7_EhaO.js} +4 -4
- package/dist/{meter-BziPAH9D.js.map → meter-Wk7_EhaO.js.map} +1 -1
- package/dist/pagination-DFHoZwPJ.js +208 -0
- package/dist/pagination-DFHoZwPJ.js.map +1 -0
- package/dist/{popover-C2w2uRlu.js → popover-D20xpmdk.js} +22 -20
- package/dist/{popover-C2w2uRlu.js.map → popover-D20xpmdk.js.map} +1 -1
- package/dist/primitives/accordion.js +1 -1
- package/dist/primitives/alert-dialog.js +1 -1
- package/dist/primitives/autocomplete.js +1 -1
- package/dist/primitives/avatar.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/checkbox-group.js +1 -1
- package/dist/primitives/checkbox.js +1 -1
- package/dist/primitives/collapsible.js +1 -1
- package/dist/primitives/combobox.js +1 -1
- package/dist/primitives/context-menu.js +1 -1
- package/dist/primitives/csp-provider.js +6 -0
- package/dist/primitives/csp-provider.js.map +1 -0
- package/dist/primitives/dialog.js +1 -1
- package/dist/primitives/direction-provider.js +1 -1
- package/dist/primitives/drawer.js +6 -0
- package/dist/primitives/drawer.js.map +1 -0
- package/dist/primitives/field.js +1 -1
- package/dist/primitives/fieldset.js +2 -2
- package/dist/primitives/form.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu.js +1 -1
- package/dist/primitives/menubar.js +1 -1
- package/dist/primitives/meter.js +1 -1
- package/dist/primitives/navigation-menu.js +2 -2
- package/dist/primitives/number-field.js +1 -1
- package/dist/primitives/popover.js +1 -1
- package/dist/primitives/preview-card.js +2 -2
- package/dist/primitives/progress.js +2 -2
- package/dist/primitives/radio-group.js +1 -1
- package/dist/primitives/radio.js +2 -2
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/separator.js +1 -1
- package/dist/primitives/slider.js +1 -1
- package/dist/primitives/switch.js +1 -1
- package/dist/primitives/tabs.js +1 -1
- package/dist/primitives/toast.js +1 -1
- package/dist/primitives/toggle-group.js +1 -1
- package/dist/primitives/toggle.js +1 -1
- package/dist/primitives/toolbar.js +1 -1
- package/dist/primitives/tooltip.js +1 -1
- package/dist/primitives.js +31 -29
- package/dist/{radio-B8Jk1PFe.js → radio-ibVa4Y8a.js} +18 -18
- package/dist/{radio-B8Jk1PFe.js.map → radio-ibVa4Y8a.js.map} +1 -1
- package/dist/{schemas-DKFFjjzb.js → schemas-CdpAeJKO.js} +183 -183
- package/dist/{schemas-DKFFjjzb.js.map → schemas-CdpAeJKO.js.map} +1 -1
- package/dist/{select-BWTULnCR.js → select-DtcT1zGm.js} +21 -21
- package/dist/{select-BWTULnCR.js.map → select-DtcT1zGm.js.map} +1 -1
- package/dist/{sensitive-input-CgjTfZLO.js → sensitive-input-DHDRZRC7.js} +4 -4
- package/dist/{sensitive-input-CgjTfZLO.js.map → sensitive-input-DHDRZRC7.js.map} +1 -1
- package/dist/src/components/dropdown/dropdown.d.ts +26 -16
- package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/src/components/flow/connectors.d.ts +3 -1
- package/dist/src/components/flow/connectors.d.ts.map +1 -1
- package/dist/src/components/flow/diagram.d.ts +1 -0
- package/dist/src/components/flow/diagram.d.ts.map +1 -1
- package/dist/src/components/flow/node.d.ts +5 -1
- package/dist/src/components/flow/node.d.ts.map +1 -1
- package/dist/src/components/flow/parallel.d.ts +10 -2
- package/dist/src/components/flow/parallel.d.ts.map +1 -1
- package/dist/src/components/pagination/pagination.d.ts +134 -13
- package/dist/src/components/pagination/pagination.d.ts.map +1 -1
- package/dist/src/components/popover/popover.d.ts +7 -1
- package/dist/src/components/popover/popover.d.ts.map +1 -1
- package/dist/src/components/toast/toast.d.ts +4 -4
- package/dist/src/components/toast/toast.d.ts.map +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts +1 -1
- package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/src/primitives/csp-provider.d.ts +13 -0
- package/dist/src/primitives/csp-provider.d.ts.map +1 -0
- package/dist/src/primitives/drawer.d.ts +13 -0
- package/dist/src/primitives/drawer.d.ts.map +1 -0
- package/dist/src/primitives/index.d.ts +2 -0
- package/dist/src/primitives/index.d.ts.map +1 -1
- package/dist/styles/kumo-standalone.css +1 -1
- package/dist/{switch-DdjM7eh6.js → switch-DrbaX2iC.js} +15 -15
- package/dist/{switch-DdjM7eh6.js.map → switch-DrbaX2iC.js.map} +1 -1
- package/dist/{table-D1EXUDHL.js → table-CH9KC36S.js} +2 -2
- package/dist/{table-D1EXUDHL.js.map → table-CH9KC36S.js.map} +1 -1
- package/dist/{tabs-Bs43O3E4.js → tabs-B-Fxc6Zo.js} +2 -2
- package/dist/{tabs-Bs43O3E4.js.map → tabs-B-Fxc6Zo.js.map} +1 -1
- package/dist/{toast-BqZw7a2p.js → toast-DUYp3EtH.js} +6 -6
- package/dist/{toast-BqZw7a2p.js.map → toast-DUYp3EtH.js.map} +1 -1
- package/dist/{tooltip-BwOFPK5h.js → tooltip-D-KwZQDV.js} +2 -2
- package/dist/{tooltip-BwOFPK5h.js.map → tooltip-D-KwZQDV.js.map} +1 -1
- package/dist/vendor-base-ui-Bsg5ebHI.js +22806 -0
- package/dist/vendor-base-ui-Bsg5ebHI.js.map +1 -0
- package/dist/{vendor-utils-DD8jNJwD.js → vendor-utils-DKXfkDYu.js} +100 -101
- package/dist/vendor-utils-DKXfkDYu.js.map +1 -0
- package/package.json +10 -2
- package/dist/dropdown-mGDt95gv.js +0 -263
- package/dist/dropdown-mGDt95gv.js.map +0 -1
- package/dist/pagination-dNzgZRjV.js +0 -100
- package/dist/pagination-dNzgZRjV.js.map +0 -1
- package/dist/vendor-base-ui-B61LL9jT.js +0 -20448
- package/dist/vendor-base-ui-B61LL9jT.js.map +0 -1
- package/dist/vendor-utils-DD8jNJwD.js.map +0 -1
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as h, jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import { useState as N, useEffect as x, useMemo as b } from "react";
|
|
4
|
-
import { I as s } from "./input-group-CMAvOKIV.js";
|
|
5
|
-
import { CaretDoubleLeftIcon as v, CaretLeftIcon as I, CaretRightIcon as M, CaretDoubleRightIcon as g } from "@phosphor-icons/react";
|
|
6
|
-
const w = {
|
|
7
|
-
controls: "full"
|
|
8
|
-
};
|
|
9
|
-
function z({
|
|
10
|
-
page: i = 1,
|
|
11
|
-
perPage: t,
|
|
12
|
-
totalCount: r,
|
|
13
|
-
setPage: o,
|
|
14
|
-
text: d,
|
|
15
|
-
controls: c = w.controls
|
|
16
|
-
}) {
|
|
17
|
-
const [m, a] = N(1);
|
|
18
|
-
x(() => {
|
|
19
|
-
a(i);
|
|
20
|
-
}, [i]);
|
|
21
|
-
const f = b(() => {
|
|
22
|
-
let e = i * (t ?? 1) - (t ?? 0) + 1, u = Math.min(i * (t ?? 0), r ?? 0);
|
|
23
|
-
return Number.isNaN(e) && (e = 0), Number.isNaN(u) && (u = 0), `${e}-${u}`;
|
|
24
|
-
}, [i, t, r]), l = b(() => Math.ceil((r ?? 1) / (t ?? 1)), [r, t]);
|
|
25
|
-
return /* @__PURE__ */ h("div", { className: "flex items-center justify-between gap-2", children: [
|
|
26
|
-
/* @__PURE__ */ n("div", { className: "grow text-sm text-kumo-strong", children: d ? d({ page: i, perPage: t, totalCount: r, pageShowingRange: f }) : r && r > 0 ? `Showing ${f} of ${r}` : null }),
|
|
27
|
-
/* @__PURE__ */ n("div", { children: /* @__PURE__ */ h(s, { focusMode: "individual", children: [
|
|
28
|
-
c === "full" && /* @__PURE__ */ n(
|
|
29
|
-
s.Button,
|
|
30
|
-
{
|
|
31
|
-
variant: "secondary",
|
|
32
|
-
"aria-label": "First page",
|
|
33
|
-
disabled: i <= 1,
|
|
34
|
-
onClick: () => {
|
|
35
|
-
o(1), a(1);
|
|
36
|
-
},
|
|
37
|
-
children: /* @__PURE__ */ n(v, { size: 16 })
|
|
38
|
-
}
|
|
39
|
-
),
|
|
40
|
-
/* @__PURE__ */ n(
|
|
41
|
-
s.Button,
|
|
42
|
-
{
|
|
43
|
-
variant: "secondary",
|
|
44
|
-
"aria-label": "Previous page",
|
|
45
|
-
disabled: i <= 1,
|
|
46
|
-
onClick: () => {
|
|
47
|
-
const e = Math.max(i - 1, 1);
|
|
48
|
-
o(e), a(e);
|
|
49
|
-
},
|
|
50
|
-
children: /* @__PURE__ */ n(I, { size: 16 })
|
|
51
|
-
}
|
|
52
|
-
),
|
|
53
|
-
c === "full" && /* @__PURE__ */ n(
|
|
54
|
-
s.Input,
|
|
55
|
-
{
|
|
56
|
-
style: { width: 50 },
|
|
57
|
-
className: "text-center",
|
|
58
|
-
"aria-label": "Page number",
|
|
59
|
-
value: m,
|
|
60
|
-
onValueChange: (e) => {
|
|
61
|
-
a(Number(e));
|
|
62
|
-
},
|
|
63
|
-
onBlur: () => {
|
|
64
|
-
let e = Math.max(m, 1);
|
|
65
|
-
e = Math.min(e, l), o(e), a(e);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
),
|
|
69
|
-
/* @__PURE__ */ n(
|
|
70
|
-
s.Button,
|
|
71
|
-
{
|
|
72
|
-
variant: "secondary",
|
|
73
|
-
"aria-label": "Next page",
|
|
74
|
-
disabled: i === l,
|
|
75
|
-
onClick: () => {
|
|
76
|
-
const e = Math.min(i + 1, l);
|
|
77
|
-
o(e), a(e);
|
|
78
|
-
},
|
|
79
|
-
children: /* @__PURE__ */ n(M, { size: 16 })
|
|
80
|
-
}
|
|
81
|
-
),
|
|
82
|
-
c === "full" && /* @__PURE__ */ n(
|
|
83
|
-
s.Button,
|
|
84
|
-
{
|
|
85
|
-
variant: "secondary",
|
|
86
|
-
"aria-label": "Last page",
|
|
87
|
-
disabled: i === l,
|
|
88
|
-
onClick: () => {
|
|
89
|
-
o(l), a(l);
|
|
90
|
-
},
|
|
91
|
-
children: /* @__PURE__ */ n(g, { size: 16 })
|
|
92
|
-
}
|
|
93
|
-
)
|
|
94
|
-
] }) })
|
|
95
|
-
] });
|
|
96
|
-
}
|
|
97
|
-
export {
|
|
98
|
-
z as P
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=pagination-dNzgZRjV.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-dNzgZRjV.js","sources":["../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { InputGroup } from \"../input\";\nimport {\n CaretDoubleLeftIcon,\n CaretDoubleRightIcon,\n CaretLeftIcon,\n CaretRightIcon,\n} from \"@phosphor-icons/react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Pagination controls variant definitions. */\nexport const KUMO_PAGINATION_VARIANTS = {\n controls: {\n full: {\n classes: \"\",\n description:\n \"Full pagination controls with first, previous, page input, next, and last buttons\",\n },\n simple: {\n classes: \"\",\n description:\n \"Simple pagination controls with only previous and next buttons\",\n },\n },\n} as const;\n\nexport type KumoPaginationControls =\n keyof typeof KUMO_PAGINATION_VARIANTS.controls;\n\nexport const KUMO_PAGINATION_DEFAULT_VARIANTS = {\n controls: \"full\",\n} as const;\n\nexport interface KumoPaginationVariantsProps {\n controls?: KumoPaginationControls;\n}\n\nexport function paginationVariants({\n controls = KUMO_PAGINATION_DEFAULT_VARIANTS.controls,\n}: KumoPaginationVariantsProps = {}) {\n return cn(\n \"flex items-center justify-between gap-2\",\n KUMO_PAGINATION_VARIANTS.controls[controls].classes,\n );\n}\n\n/**\n * Pagination component props.\n *\n * @example\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={10} totalCount={100} />\n * <Pagination page={page} setPage={setPage} perPage={10} totalCount={100} controls=\"simple\" />\n * ```\n */\nexport interface PaginationProps extends KumoPaginationVariantsProps {\n /** Callback fired when the current page changes. */\n setPage: (page: number) => void;\n /**\n * Current page number (1-indexed).\n * @default 1\n */\n page?: number;\n /** Number of items displayed per page. */\n perPage?: number;\n /** Total number of items across all pages. */\n totalCount?: number;\n /** Method to provide custom pagination text */\n text?: (props: {\n page?: number;\n perPage?: number;\n totalCount?: number;\n pageShowingRange: string;\n }) => React.ReactNode;\n}\n\n/**\n * Page navigation controls with page count display.\n *\n * @example\n * ```tsx\n * <Pagination page={page} setPage={setPage} perPage={10} totalCount={100} />\n * ```\n */\nexport function Pagination({\n page = 1,\n perPage,\n totalCount,\n setPage,\n text,\n controls = KUMO_PAGINATION_DEFAULT_VARIANTS.controls,\n}: PaginationProps) {\n const [editingPage, setEditingPage] = useState<number>(1);\n\n // Value of the input as its being modified to display in the input, eventually syncs with `pagination.page`\n useEffect(() => {\n setEditingPage(page);\n }, [page]);\n\n const pageShowingRange = useMemo(() => {\n let lower = page * (perPage ?? 1) - (perPage ?? 0) + 1;\n let upper = Math.min(page * (perPage ?? 0), totalCount ?? 0);\n\n if (Number.isNaN(lower)) lower = 0;\n if (Number.isNaN(upper)) upper = 0;\n\n return `${lower}-${upper}`;\n }, [page, perPage, totalCount]);\n\n const maxPage = useMemo(() => {\n return Math.ceil((totalCount ?? 1) / (perPage ?? 1));\n }, [totalCount, perPage]);\n\n const getPaginationText = () => {\n if (text) {\n return text({ page, perPage, totalCount, pageShowingRange });\n } else if (totalCount && totalCount > 0) {\n return `Showing ${pageShowingRange} of ${totalCount}`;\n }\n return null;\n };\n\n return (\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"grow text-sm text-kumo-strong\">{getPaginationText()}</div>\n <div>\n <InputGroup focusMode=\"individual\">\n {controls === \"full\" && (\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"First page\"\n disabled={page <= 1}\n onClick={() => {\n setPage(1);\n setEditingPage(1);\n }}\n >\n <CaretDoubleLeftIcon size={16} />\n </InputGroup.Button>\n )}\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Previous page\"\n disabled={page <= 1}\n onClick={() => {\n const previousPage = Math.max(page - 1, 1);\n setPage(previousPage);\n setEditingPage(previousPage);\n }}\n >\n <CaretLeftIcon size={16} />\n </InputGroup.Button>\n {controls === \"full\" && (\n <InputGroup.Input\n style={{ width: 50 }}\n className=\"text-center\"\n aria-label=\"Page number\"\n value={editingPage}\n onValueChange={(value: string) => {\n setEditingPage(Number(value));\n }}\n onBlur={() => {\n let number = Math.max(editingPage, 1);\n number = Math.min(number, maxPage);\n setPage(number);\n setEditingPage(number);\n }}\n />\n )}\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Next page\"\n disabled={page === maxPage}\n onClick={() => {\n const nextPage = Math.min(page + 1, maxPage);\n setPage(nextPage);\n setEditingPage(nextPage);\n }}\n >\n <CaretRightIcon size={16} />\n </InputGroup.Button>\n {controls === \"full\" && (\n <InputGroup.Button\n variant=\"secondary\"\n aria-label=\"Last page\"\n disabled={page === maxPage}\n onClick={() => {\n setPage(maxPage);\n setEditingPage(maxPage);\n }}\n >\n <CaretDoubleRightIcon size={16} />\n </InputGroup.Button>\n )}\n </InputGroup>\n </div>\n </div>\n );\n}\n"],"names":["KUMO_PAGINATION_DEFAULT_VARIANTS","Pagination","page","perPage","totalCount","setPage","text","controls","editingPage","setEditingPage","useState","useEffect","pageShowingRange","useMemo","lower","upper","maxPage","jsxs","jsx","InputGroup","CaretDoubleLeftIcon","previousPage","CaretLeftIcon","value","number","nextPage","CaretRightIcon","CaretDoubleRightIcon"],"mappings":"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"}
|