@pibit.ai/cure-design-system 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/foundations/dot-icon/index.d.ts +7 -0
- package/dist/foundations/dot-icon/index.d.ts.map +1 -0
- package/dist/foundations/dot-icon/index.js +10 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -34
- package/dist/patterns/table/table.js +1 -1
- package/dist/patterns/tree-view/index.d.ts +2 -0
- package/dist/patterns/tree-view/index.d.ts.map +1 -0
- package/dist/patterns/tree-view/tree-view.d.ts +61 -0
- package/dist/patterns/tree-view/tree-view.d.ts.map +1 -0
- package/dist/patterns/tree-view/tree-view.js +167 -0
- package/dist/primitives/badge/badge-types.d.ts +17 -0
- package/dist/primitives/badge/badge-types.d.ts.map +1 -0
- package/dist/primitives/badge/badge-types.js +8 -0
- package/dist/primitives/badge/badge.d.ts +115 -22
- package/dist/primitives/badge/badge.d.ts.map +1 -1
- package/dist/primitives/badge/badge.js +292 -38
- package/dist/primitives/badge/index.d.ts +2 -1
- package/dist/primitives/badge/index.d.ts.map +1 -1
- package/dist/primitives/heading/heading.d.ts +1 -1
- package/dist/primitives/text/text.d.ts +1 -1
- package/dist/styles/components.css +1 -1
- package/package.json +3 -2
- package/dist/patterns/table/TableWrapper.js +0 -141
- package/dist/patterns/tree/TreeDemo.d.ts +0 -7
- package/dist/patterns/tree/TreeDemo.d.ts.map +0 -1
- package/dist/patterns/tree/TreeStructure.d.ts +0 -14
- package/dist/patterns/tree/TreeStructure.d.ts.map +0 -1
- package/dist/patterns/tree/constants.d.ts +0 -18
- package/dist/patterns/tree/constants.d.ts.map +0 -1
- package/dist/patterns/tree/helper.d.ts +0 -6
- package/dist/patterns/tree/helper.d.ts.map +0 -1
- package/dist/patterns/tree/interface.d.ts +0 -9
- package/dist/patterns/tree/interface.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/dot-icon/index.tsx"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B;AAQD,eAAO,MAAM,GAAG,GAAI,qBAA4B,QAAQ,4CAIvD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { cx as r } from "../../utils/cn.js";
|
|
3
|
+
const c = {
|
|
4
|
+
sm: "size-1.5",
|
|
5
|
+
md: "size-2",
|
|
6
|
+
lg: "size-2.5"
|
|
7
|
+
}, t = ({ className: e, size: i = "md" }) => /* @__PURE__ */ s("svg", { viewBox: "0 0 8 8", "aria-hidden": "true", className: r(c[i], "fill-current", e), children: /* @__PURE__ */ s("circle", { cx: 4, cy: 4, r: 4 }) });
|
|
8
|
+
export {
|
|
9
|
+
t as Dot
|
|
10
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -2,12 +2,13 @@ export { Button, type ButtonProps, type Props as ButtonPropsAll, type CommonProp
|
|
|
2
2
|
export { Input, type InputProps } from './primitives/input';
|
|
3
3
|
export { Checkbox, type CheckboxProps } from './primitives/checkbox';
|
|
4
4
|
export { Toggle, type ToggleProps } from './primitives/toggle';
|
|
5
|
-
export { Badge, type BadgeProps } from './primitives/badge';
|
|
5
|
+
export { Badge, BadgeWithDot, BadgeWithIcon, BadgeWithFlag, BadgeWithImage, BadgeWithButton, BadgeIcon, filledColors, type BadgeColor, type BadgeProps, type BadgeWithDotProps, type BadgeWithIconProps, type BadgeWithFlagProps, type BadgeWithImageProps, type BadgeWithButtonProps, type BadgeIconProps, type BadgeColors, type BadgeTypes, type Sizes, type FlagTypes, type IconComponentType, type BadgeTypeToColorMap, } from './primitives/badge';
|
|
6
6
|
export { Avatar, type AvatarProps } from './primitives/avatar';
|
|
7
7
|
export { Icon, type IconProps, type IconName } from './primitives/icon';
|
|
8
8
|
export { Text, type TextProps } from './primitives/text';
|
|
9
9
|
export { Heading, type HeadingProps } from './primitives/heading';
|
|
10
|
-
export { Table, TableCard, TableCell
|
|
10
|
+
export { Table, TableCard, TableCell } from './patterns/table';
|
|
11
|
+
export { TreeView, buildTreeViewNodes, type TreeViewNode, type TreeViewProps, type TreeViewBuildConfig } from './patterns/tree-view';
|
|
11
12
|
export { cn, cx, sortCx } from './utils/cn';
|
|
12
13
|
export { isReactComponent, isFunctionComponent, isClassComponent, isForwardRefComponent } from './utils/is-react-component';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,IAAI,cAAc,EAAE,KAAK,WAAW,IAAI,iBAAiB,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5J,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,IAAI,cAAc,EAAE,KAAK,WAAW,IAAI,iBAAiB,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5J,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACH,KAAK,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,SAAS,EACT,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGrI,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,40 +1,46 @@
|
|
|
1
1
|
import "./styles/theme.css";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import { cn as
|
|
4
|
-
import { isClassComponent as
|
|
5
|
-
import { Button as
|
|
6
|
-
import { Input as
|
|
7
|
-
import { Checkbox as
|
|
3
|
+
import { cn as a, cx as m, sortCx as p } from "./utils/cn.js";
|
|
4
|
+
import { isClassComponent as i, isForwardRefComponent as x, isFunctionComponent as f, isReactComponent as l } from "./utils/is-react-component.js";
|
|
5
|
+
import { Button as s, styles as g } from "./primitives/button/button.js";
|
|
6
|
+
import { Input as B } from "./primitives/input/input.js";
|
|
7
|
+
import { Checkbox as T } from "./primitives/checkbox/checkbox.js";
|
|
8
8
|
import { Toggle as h } from "./primitives/toggle/toggle.js";
|
|
9
|
-
import { Badge as
|
|
10
|
-
import { Avatar as
|
|
11
|
-
import { Icon as
|
|
12
|
-
import { Text as
|
|
13
|
-
import { Heading as
|
|
14
|
-
import { Table as
|
|
15
|
-
import {
|
|
9
|
+
import { Badge as I, BadgeIcon as W, BadgeWithButton as w, BadgeWithDot as F, BadgeWithFlag as y, BadgeWithIcon as R, BadgeWithImage as V, filledColors as k } from "./primitives/badge/badge.js";
|
|
10
|
+
import { Avatar as A } from "./primitives/avatar/avatar.js";
|
|
11
|
+
import { Icon as H } from "./primitives/icon/icon.js";
|
|
12
|
+
import { Text as S } from "./primitives/text/text.js";
|
|
13
|
+
import { Heading as q } from "./primitives/heading/heading.js";
|
|
14
|
+
import { Table as E, TableCard as G, TableCell as J } from "./patterns/table/table.js";
|
|
15
|
+
import { TreeView as L, buildTreeViewNodes as M } from "./patterns/tree-view/tree-view.js";
|
|
16
16
|
export {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
R as
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
A as Avatar,
|
|
18
|
+
I as Badge,
|
|
19
|
+
W as BadgeIcon,
|
|
20
|
+
w as BadgeWithButton,
|
|
21
|
+
F as BadgeWithDot,
|
|
22
|
+
y as BadgeWithFlag,
|
|
23
|
+
R as BadgeWithIcon,
|
|
24
|
+
V as BadgeWithImage,
|
|
25
|
+
s as Button,
|
|
26
|
+
T as Checkbox,
|
|
27
|
+
q as Heading,
|
|
28
|
+
H as Icon,
|
|
29
|
+
B as Input,
|
|
30
|
+
E as Table,
|
|
31
|
+
G as TableCard,
|
|
32
|
+
J as TableCell,
|
|
33
|
+
S as Text,
|
|
30
34
|
h as Toggle,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
L as TreeView,
|
|
36
|
+
M as buildTreeViewNodes,
|
|
37
|
+
g as buttonStyles,
|
|
38
|
+
a as cn,
|
|
39
|
+
m as cx,
|
|
40
|
+
k as filledColors,
|
|
41
|
+
i as isClassComponent,
|
|
42
|
+
x as isForwardRefComponent,
|
|
43
|
+
f as isFunctionComponent,
|
|
44
|
+
l as isReactComponent,
|
|
45
|
+
p as sortCx
|
|
40
46
|
};
|
|
@@ -60,7 +60,7 @@ const E = ({ title: s, badge: l, description: n, contentTrailing: c, className:
|
|
|
60
60
|
/* @__PURE__ */ u("div", { className: "flex flex-1 flex-col gap-0.5", children: [
|
|
61
61
|
/* @__PURE__ */ u("div", { className: "flex items-center gap-2", children: [
|
|
62
62
|
/* @__PURE__ */ o("h2", { className: d("font-semibold text-primary", a === "sm" ? "text-md" : "text-lg"), children: s }),
|
|
63
|
-
l ? O(l) ? l : /* @__PURE__ */ o(Y, {
|
|
63
|
+
l ? O(l) ? l : /* @__PURE__ */ o(Y, { color: "brand", size: "sm", children: l }) : null
|
|
64
64
|
] }),
|
|
65
65
|
n && /* @__PURE__ */ o("p", { className: "text-sm text-tertiary", children: n })
|
|
66
66
|
] }),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface TreeViewNode {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
type: string;
|
|
5
|
+
children: TreeViewNode[];
|
|
6
|
+
metadata?: any;
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export interface TreeViewProps {
|
|
11
|
+
/** Raw data array. The component converts it internally using `config`. */
|
|
12
|
+
data: Record<string, any>[];
|
|
13
|
+
/** Config that tells the component how to read your raw data. */
|
|
14
|
+
config: TreeViewBuildConfig;
|
|
15
|
+
/** Component to render the content area of each row (icon, label, etc.) */
|
|
16
|
+
CustomNode: React.FC<{
|
|
17
|
+
node: TreeViewNode;
|
|
18
|
+
isSelected: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
/** Called when a parent row (with children) is clicked */
|
|
21
|
+
onNodeClick?: (node: TreeViewNode) => void;
|
|
22
|
+
/** ID of the currently selected node */
|
|
23
|
+
selectedNodeId?: string | null;
|
|
24
|
+
/** Show search input above the tree */
|
|
25
|
+
showSearch?: boolean;
|
|
26
|
+
/** Placeholder text for the search input */
|
|
27
|
+
searchPlaceholder?: string;
|
|
28
|
+
/** Class name(s) for the search wrapper (container around the input) */
|
|
29
|
+
searchClassName?: string;
|
|
30
|
+
/** Class name(s) for the search input element */
|
|
31
|
+
searchInputClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Config for building TreeViewNode[] from arbitrary data.
|
|
35
|
+
* Tells the build function which keys to use for label, children, and where to store the original node data.
|
|
36
|
+
*/
|
|
37
|
+
export interface TreeViewBuildConfig {
|
|
38
|
+
/** Key in each source item that holds the node label */
|
|
39
|
+
labelKey: string;
|
|
40
|
+
/** Key in each source item that holds the children array */
|
|
41
|
+
childrenKey: string;
|
|
42
|
+
/** Key on the built node where the original source item is stored (default: "metadata") */
|
|
43
|
+
dataKey?: string;
|
|
44
|
+
/** Key in each source item for type (default: "type") */
|
|
45
|
+
typeKey?: string;
|
|
46
|
+
/** Key in each source item for id; if missing, a path-based id is generated */
|
|
47
|
+
idKey?: string;
|
|
48
|
+
/** Optional max depth to traverse (default: no limit) */
|
|
49
|
+
maxDepth?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Converts any array of items into TreeViewNode[] using the given config.
|
|
53
|
+
* Uses config.labelKey for the label, config.childrenKey for the children array,
|
|
54
|
+
* and stores the original item on each node under config.dataKey (default "metadata").
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildTreeViewNodes<T extends Record<string, any>>(data: T[], config: TreeViewBuildConfig, parentPath?: string): TreeViewNode[];
|
|
57
|
+
export declare const TreeView: {
|
|
58
|
+
({ data, config, CustomNode, onNodeClick, selectedNodeId, showSearch, searchPlaceholder, searchClassName, searchInputClassName, }: TreeViewProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
displayName: string;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=tree-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-view.d.ts","sourceRoot":"","sources":["../../../src/patterns/tree-view/tree-view.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5B,iEAAiE;IACjE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,2EAA2E;IAC3E,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,mBAAmB,EAC3B,UAAU,GAAE,MAAW,GACxB,YAAY,EAAE,CAuChB;AAqBD,eAAO,MAAM,QAAQ;uIAUlB,aAAa;;CAuDf,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { jsxs as A, jsx as r, Fragment as j } from "react/jsx-runtime";
|
|
2
|
+
import { useState as $ } from "react";
|
|
3
|
+
import { SearchSm as T, ChevronDown as K, ChevronRight as V } from "@untitledui/icons";
|
|
4
|
+
import { cn as k } from "../../utils/cn.js";
|
|
5
|
+
import { Input as I } from "../../primitives/input/input.js";
|
|
6
|
+
const N = 10;
|
|
7
|
+
function C(e, t, s = "") {
|
|
8
|
+
const {
|
|
9
|
+
labelKey: u,
|
|
10
|
+
childrenKey: n,
|
|
11
|
+
dataKey: p = "metadata",
|
|
12
|
+
typeKey: y = "type",
|
|
13
|
+
idKey: o,
|
|
14
|
+
maxDepth: i
|
|
15
|
+
} = t, f = s ? s.split(".").length : 0;
|
|
16
|
+
return i != null && f >= i ? [] : (Array.isArray(e) ? e : Object.values(e)).map((l, w) => {
|
|
17
|
+
const v = o != null ? l[o] : void 0, c = String(v ?? w), h = s ? `${s}.${c}` : c, a = l[n], d = Array.isArray(a) ? a : a != null ? Object.values(a) : [];
|
|
18
|
+
return {
|
|
19
|
+
id: h,
|
|
20
|
+
label: l[u] ?? "Untitled",
|
|
21
|
+
type: l[y] ?? "Untitled",
|
|
22
|
+
isOpen: !1,
|
|
23
|
+
children: d.length > 0 ? C(d, t, h) : [],
|
|
24
|
+
[p]: l
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function O(e, t) {
|
|
29
|
+
const s = e.label ?? "", u = Array.isArray(e.children) ? e.children : [];
|
|
30
|
+
return s.toLowerCase().includes(t.toLowerCase()) ? !0 : u.some((n) => O(n, t));
|
|
31
|
+
}
|
|
32
|
+
const _ = () => /* @__PURE__ */ r("div", { className: "flex h-[28px] items-center px-[13px] shrink-0", children: /* @__PURE__ */ r("div", { className: "relative h-full w-0 shrink-0", children: /* @__PURE__ */ r(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
className: "absolute inset-y-0 bg-(--color-border-secondary)",
|
|
36
|
+
style: { left: "-0.5px", width: 1 }
|
|
37
|
+
}
|
|
38
|
+
) }) }), D = ({
|
|
39
|
+
data: e,
|
|
40
|
+
config: t,
|
|
41
|
+
CustomNode: s,
|
|
42
|
+
onNodeClick: u,
|
|
43
|
+
selectedNodeId: n,
|
|
44
|
+
showSearch: p = !1,
|
|
45
|
+
searchPlaceholder: y = "Search...",
|
|
46
|
+
searchClassName: o,
|
|
47
|
+
searchInputClassName: i
|
|
48
|
+
}) => {
|
|
49
|
+
const [f, b] = $(() => C(e, t)), [l, w] = $("");
|
|
50
|
+
function v(c, h) {
|
|
51
|
+
const a = structuredClone(f), d = h.split("-"), g = Number(d[0]);
|
|
52
|
+
d.shift();
|
|
53
|
+
let m = a[g];
|
|
54
|
+
d.length > 0 && (m = d.reduce((x, L) => x.children[Number(L)], a[g])), m.isOpen = !m.isOpen, b(a);
|
|
55
|
+
}
|
|
56
|
+
return /* @__PURE__ */ A("div", { className: "min-w-max", children: [
|
|
57
|
+
p && /* @__PURE__ */ r("div", { className: k("mb-2", o), children: /* @__PURE__ */ r(
|
|
58
|
+
I,
|
|
59
|
+
{
|
|
60
|
+
type: "search",
|
|
61
|
+
placeholder: y,
|
|
62
|
+
value: l,
|
|
63
|
+
onChange: (c) => w(c),
|
|
64
|
+
size: "sm",
|
|
65
|
+
className: i,
|
|
66
|
+
leftIcon: /* @__PURE__ */ r(
|
|
67
|
+
T,
|
|
68
|
+
{
|
|
69
|
+
className: "text-(--color-fg-quaternary)",
|
|
70
|
+
style: { width: 14, height: 14 }
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
) }),
|
|
75
|
+
/* @__PURE__ */ r("div", { className: "flex flex-col", children: f.map((c, h) => /* @__PURE__ */ r(
|
|
76
|
+
S,
|
|
77
|
+
{
|
|
78
|
+
node: c,
|
|
79
|
+
parentId: String(h),
|
|
80
|
+
depth: 0,
|
|
81
|
+
handleToggle: v,
|
|
82
|
+
onNodeClick: u,
|
|
83
|
+
selectedNodeId: n,
|
|
84
|
+
CustomNode: s,
|
|
85
|
+
query: l
|
|
86
|
+
},
|
|
87
|
+
c.id || h
|
|
88
|
+
)) })
|
|
89
|
+
] });
|
|
90
|
+
};
|
|
91
|
+
D.displayName = "TreeView";
|
|
92
|
+
const S = ({
|
|
93
|
+
node: e,
|
|
94
|
+
parentId: t,
|
|
95
|
+
depth: s = 0,
|
|
96
|
+
handleToggle: u,
|
|
97
|
+
onNodeClick: n,
|
|
98
|
+
selectedNodeId: p,
|
|
99
|
+
CustomNode: y,
|
|
100
|
+
query: o
|
|
101
|
+
}) => {
|
|
102
|
+
const i = o.length > 0, f = Array.isArray(e.children) ? e.children : [], b = e.label ?? "";
|
|
103
|
+
if (i && !O(e, o))
|
|
104
|
+
return null;
|
|
105
|
+
const l = f.length > 0, w = p != null && e.id === p, v = l && (i || (e.isOpen ?? !1)), c = (m) => {
|
|
106
|
+
m.stopPropagation(), l && (i || u(e, t), n == null || n(e));
|
|
107
|
+
}, h = s === 0 ? "pl-[6px]" : "", a = s === 0 ? "pl-[2px]" : "pl-[8px]", d = i && b.toLowerCase().includes(o.toLowerCase()), g = i ? !0 : e.isOpen;
|
|
108
|
+
return /* @__PURE__ */ A("div", { className: "relative", children: [
|
|
109
|
+
/* @__PURE__ */ A(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
className: `flex h-[28px] w-full items-center pr-[8px] rounded-sm ${h} ${d ? "bg-(--color-bg-secondary)" : ""} ${l ? "cursor-pointer hover:bg-(--color-bg-secondary)" : ""}`,
|
|
113
|
+
onClick: c,
|
|
114
|
+
children: [
|
|
115
|
+
s > 0 && Array.from({ length: s }).map((m, x) => /* @__PURE__ */ r(_, {}, x)),
|
|
116
|
+
l ? /* @__PURE__ */ r(
|
|
117
|
+
"div",
|
|
118
|
+
{
|
|
119
|
+
className: `flex flex-col h-full items-center shrink-0 ${a} ${g ? "justify-end" : "justify-center"}`,
|
|
120
|
+
children: g ? /* @__PURE__ */ A(j, { children: [
|
|
121
|
+
/* @__PURE__ */ r(
|
|
122
|
+
K,
|
|
123
|
+
{
|
|
124
|
+
className: "shrink-0 text-(--color-gray-400)",
|
|
125
|
+
style: { width: N, height: N }
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
/* @__PURE__ */ r("div", { className: "relative h-[8px] w-0 shrink-0", children: /* @__PURE__ */ r(
|
|
129
|
+
"div",
|
|
130
|
+
{
|
|
131
|
+
className: "absolute inset-y-0 bg-(--color-border-secondary)",
|
|
132
|
+
style: { left: "-0.5px", width: 1 }
|
|
133
|
+
}
|
|
134
|
+
) })
|
|
135
|
+
] }) : /* @__PURE__ */ r(
|
|
136
|
+
V,
|
|
137
|
+
{
|
|
138
|
+
className: "shrink-0 text-(--color-gray-400)",
|
|
139
|
+
style: { width: N, height: N }
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
) : s > 0 ? /* @__PURE__ */ r("div", { className: "h-full w-[6px] shrink-0" }) : null,
|
|
144
|
+
/* @__PURE__ */ r("div", { className: "flex flex-1 h-full items-center min-w-0 pl-[2px]", children: /* @__PURE__ */ r(y, { node: e, isSelected: w }) })
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
v && /* @__PURE__ */ r("div", { className: "relative", children: f.map((m, x) => /* @__PURE__ */ r(
|
|
149
|
+
S,
|
|
150
|
+
{
|
|
151
|
+
node: m,
|
|
152
|
+
parentId: `${t}-${x}`,
|
|
153
|
+
depth: s + 1,
|
|
154
|
+
handleToggle: u,
|
|
155
|
+
onNodeClick: n,
|
|
156
|
+
selectedNodeId: p,
|
|
157
|
+
CustomNode: y,
|
|
158
|
+
query: o
|
|
159
|
+
},
|
|
160
|
+
m.id || `${t}-${x}`
|
|
161
|
+
)) })
|
|
162
|
+
] });
|
|
163
|
+
};
|
|
164
|
+
export {
|
|
165
|
+
D as TreeView,
|
|
166
|
+
C as buildTreeViewNodes
|
|
167
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ComponentType, SVGProps } from 'react';
|
|
2
|
+
export declare const badgeTypes: {
|
|
3
|
+
readonly pillColor: "pill-color";
|
|
4
|
+
readonly color: "color";
|
|
5
|
+
readonly modern: "modern";
|
|
6
|
+
};
|
|
7
|
+
export type BadgeTypes = (typeof badgeTypes)[keyof typeof badgeTypes];
|
|
8
|
+
export type BadgeColors = "clear" | "gray" | "brand" | "error" | "warning" | "success" | "gray-blue" | "blue-light" | "blue" | "indigo" | "purple" | "pink" | "orange";
|
|
9
|
+
export type Sizes = "xs" | "sm" | "md" | "lg";
|
|
10
|
+
export type FlagTypes = string;
|
|
11
|
+
export type IconComponentType = ComponentType<SVGProps<SVGSVGElement>>;
|
|
12
|
+
export type BadgeTypeToColorMap<T extends Record<string, {
|
|
13
|
+
styles: Record<string, unknown>;
|
|
14
|
+
}>> = {
|
|
15
|
+
[K in keyof T]: keyof T[K]["styles"];
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=badge-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-types.d.ts","sourceRoot":"","sources":["../../../src/primitives/badge/badge-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,MAAM,MAAM,WAAW,GACjB,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,CAAC;AAEf,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,IAAI;KAC5F,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;CACvC,CAAC"}
|
|
@@ -1,28 +1,121 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
declare const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { MouseEventHandler, ReactNode } from 'react';
|
|
2
|
+
import { BadgeColors, BadgeTypeToColorMap, BadgeTypes, FlagTypes, IconComponentType, Sizes } from './badge-types';
|
|
3
|
+
export declare const filledColors: Record<BadgeColors, {
|
|
4
|
+
root: string;
|
|
5
|
+
addon: string;
|
|
6
|
+
addonButton: string;
|
|
7
|
+
}>;
|
|
8
|
+
declare const withPillTypes: {
|
|
9
|
+
"pill-color": {
|
|
10
|
+
common: string;
|
|
11
|
+
styles: Record<BadgeColors, {
|
|
12
|
+
root: string;
|
|
13
|
+
addon: string;
|
|
14
|
+
addonButton: string;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
color: {
|
|
18
|
+
common: string;
|
|
19
|
+
styles: Record<BadgeColors, {
|
|
20
|
+
root: string;
|
|
21
|
+
addon: string;
|
|
22
|
+
addonButton: string;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
modern: {
|
|
26
|
+
common: string;
|
|
27
|
+
styles: Record<BadgeColors, {
|
|
28
|
+
root: string;
|
|
29
|
+
addon: string;
|
|
30
|
+
addonButton: string;
|
|
31
|
+
}>;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
declare const withBadgeTypes: {
|
|
35
|
+
"pill-color": {
|
|
36
|
+
common: string;
|
|
37
|
+
styles: Record<BadgeColors, {
|
|
38
|
+
root: string;
|
|
39
|
+
addon: string;
|
|
40
|
+
addonButton: string;
|
|
41
|
+
}>;
|
|
42
|
+
};
|
|
43
|
+
color: {
|
|
44
|
+
common: string;
|
|
45
|
+
styles: Record<BadgeColors, {
|
|
46
|
+
root: string;
|
|
47
|
+
addon: string;
|
|
48
|
+
addonButton: string;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
modern: {
|
|
52
|
+
common: string;
|
|
53
|
+
styles: Record<BadgeColors, {
|
|
54
|
+
root: string;
|
|
55
|
+
addon: string;
|
|
56
|
+
}>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export type BadgeColor<T extends BadgeTypes> = BadgeTypeToColorMap<typeof withPillTypes>[T];
|
|
60
|
+
export interface BadgeProps<T extends BadgeTypes> {
|
|
61
|
+
type?: T;
|
|
62
|
+
size?: Sizes;
|
|
63
|
+
color?: BadgeColor<T>;
|
|
9
64
|
children: ReactNode;
|
|
10
|
-
/** Additional CSS classes */
|
|
11
65
|
className?: string;
|
|
12
|
-
/** Icon to display before text */
|
|
13
|
-
icon?: ReactNode;
|
|
14
66
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export declare
|
|
24
|
-
export
|
|
25
|
-
|
|
67
|
+
export declare const Badge: <T extends BadgeTypes>(props: BadgeProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
68
|
+
export interface BadgeWithDotProps<T extends BadgeTypes> {
|
|
69
|
+
type?: T;
|
|
70
|
+
size?: Sizes;
|
|
71
|
+
color?: BadgeTypeToColorMap<typeof withBadgeTypes>[T];
|
|
72
|
+
className?: string;
|
|
73
|
+
children: ReactNode;
|
|
74
|
+
}
|
|
75
|
+
export declare const BadgeWithDot: <T extends BadgeTypes>(props: BadgeWithDotProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
export interface BadgeWithIconProps<T extends BadgeTypes> {
|
|
77
|
+
type?: T;
|
|
78
|
+
size?: Sizes;
|
|
79
|
+
color?: BadgeTypeToColorMap<typeof withBadgeTypes>[T];
|
|
80
|
+
iconLeading?: ReactNode;
|
|
81
|
+
iconTrailing?: ReactNode;
|
|
82
|
+
children: ReactNode;
|
|
83
|
+
className?: string;
|
|
84
|
+
}
|
|
85
|
+
export declare const BadgeWithIcon: <T extends BadgeTypes>(props: BadgeWithIconProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
export interface BadgeWithFlagProps<T extends BadgeTypes> {
|
|
87
|
+
type?: T;
|
|
88
|
+
size?: Sizes;
|
|
89
|
+
flag?: FlagTypes;
|
|
90
|
+
color?: BadgeTypeToColorMap<typeof withPillTypes>[T];
|
|
91
|
+
children: ReactNode;
|
|
92
|
+
}
|
|
93
|
+
export declare const BadgeWithFlag: <T extends BadgeTypes>(props: BadgeWithFlagProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export interface BadgeWithImageProps<T extends BadgeTypes> {
|
|
95
|
+
type?: T;
|
|
96
|
+
size?: Sizes;
|
|
97
|
+
imgSrc: string;
|
|
98
|
+
color?: BadgeTypeToColorMap<typeof withPillTypes>[T];
|
|
99
|
+
children: ReactNode;
|
|
100
|
+
}
|
|
101
|
+
export declare const BadgeWithImage: <T extends BadgeTypes>(props: BadgeWithImageProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
102
|
+
export interface BadgeWithButtonProps<T extends BadgeTypes> {
|
|
103
|
+
type?: T;
|
|
104
|
+
size?: Sizes;
|
|
105
|
+
icon?: IconComponentType;
|
|
106
|
+
color?: BadgeTypeToColorMap<typeof withPillTypes>[T];
|
|
107
|
+
children: ReactNode;
|
|
108
|
+
buttonLabel?: string;
|
|
109
|
+
onButtonClick?: MouseEventHandler<HTMLButtonElement>;
|
|
110
|
+
}
|
|
111
|
+
export declare const BadgeWithButton: <T extends BadgeTypes>(props: BadgeWithButtonProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
112
|
+
export interface BadgeIconProps<T extends BadgeTypes> {
|
|
113
|
+
type?: T;
|
|
114
|
+
size?: Sizes;
|
|
115
|
+
icon: IconComponentType;
|
|
116
|
+
color?: BadgeTypeToColorMap<typeof withPillTypes>[T];
|
|
117
|
+
children?: ReactNode;
|
|
26
118
|
}
|
|
119
|
+
export declare const BadgeIcon: <T extends BadgeTypes>(props: BadgeIconProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
27
120
|
export {};
|
|
28
121
|
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/primitives/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/primitives/badge/badge.tsx"],"names":[],"mappings":"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"}
|