@tomny-dev/uzi 0.6.3 → 0.7.0-pr.78.214.1.87d1ede
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/components/conversation/Conversation.d.ts +18 -0
- package/dist/components/conversation/Conversation.d.ts.map +1 -0
- package/dist/components/conversation/Conversation.test.d.ts +2 -0
- package/dist/components/conversation/Conversation.test.d.ts.map +1 -0
- package/dist/components/multi-select/MultiSelect.d.ts +9 -0
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/multi-select/MultiSelect.test.d.ts +2 -0
- package/dist/components/multi-select/MultiSelect.test.d.ts.map +1 -0
- package/dist/index.cjs +19 -11
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/index26.js +10 -2
- package/dist/index26.js.map +1 -1
- package/dist/index27.cjs +13 -1
- package/dist/index27.cjs.map +1 -1
- package/dist/index27.js +74 -37
- package/dist/index27.js.map +1 -1
- package/dist/index28.cjs +74 -37
- package/dist/index28.cjs.map +1 -1
- package/dist/index53.js +26 -16
- package/dist/index53.js.map +1 -1
- package/dist/index54.cjs +37 -20
- package/dist/index54.cjs.map +1 -1
- package/dist/index54.js +57 -23
- package/dist/index54.js.map +1 -1
- package/dist/index55.cjs +63 -24
- package/dist/index55.cjs.map +1 -1
- package/dist/index55.js +16 -16
- package/dist/index55.js.map +1 -1
- package/dist/index56.cjs +19 -20
- package/dist/index56.cjs.map +1 -1
- package/dist/index56.js +24 -21
- package/dist/index56.js.map +1 -1
- package/dist/index57.cjs +25 -22
- package/dist/index57.cjs.map +1 -1
- package/dist/index57.js +17 -10
- package/dist/index57.js.map +1 -1
- package/dist/index58.cjs +23 -11
- package/dist/index58.cjs.map +1 -1
- package/dist/index58.js +25 -14
- package/dist/index58.js.map +1 -1
- package/dist/index59.cjs +25 -13
- package/dist/index59.cjs.map +1 -1
- package/dist/index59.js +10 -11
- package/dist/index59.js.map +1 -1
- package/dist/index60.cjs +11 -13
- package/dist/index60.cjs.map +1 -1
- package/dist/index60.js +13 -16
- package/dist/index60.js.map +1 -1
- package/dist/index61.cjs +13 -16
- package/dist/index61.cjs.map +1 -1
- package/dist/index61.js +10 -8
- package/dist/index61.js.map +1 -1
- package/dist/index62.cjs +11 -10
- package/dist/index62.cjs.map +1 -1
- package/dist/index62.js +15 -87
- package/dist/index62.js.map +1 -1
- package/dist/index63.cjs +15 -89
- package/dist/index63.cjs.map +1 -1
- package/dist/index63.js +9 -21
- package/dist/index63.js.map +1 -1
- package/dist/index64.cjs +12 -30
- package/dist/index64.cjs.map +1 -1
- package/dist/index64.js +89 -43
- package/dist/index64.js.map +1 -1
- package/dist/index65.cjs +88 -42
- package/dist/index65.cjs.map +1 -1
- package/dist/index65.js +14 -50
- package/dist/index65.js.map +1 -1
- package/dist/index66.cjs +15 -69
- package/dist/index66.cjs.map +1 -1
- package/dist/index66.js +25 -414
- package/dist/index66.js.map +1 -1
- package/dist/index67.cjs +25 -416
- package/dist/index67.cjs.map +1 -1
- package/dist/index67.js +56 -58
- package/dist/index67.js.map +1 -1
- package/dist/index68.cjs +82 -85
- package/dist/index68.cjs.map +1 -1
- package/dist/index68.js +419 -226
- package/dist/index68.js.map +1 -1
- package/dist/index69.cjs +420 -225
- package/dist/index69.cjs.map +1 -1
- package/dist/index69.js +58 -42
- package/dist/index69.js.map +1 -1
- package/dist/index70.cjs +85 -61
- package/dist/index70.cjs.map +1 -1
- package/dist/index70.js +236 -76
- package/dist/index70.js.map +1 -1
- package/dist/index71.cjs +235 -75
- package/dist/index71.cjs.map +1 -1
- package/dist/index71.js +42 -20
- package/dist/index71.js.map +1 -1
- package/dist/index72.cjs +60 -27
- package/dist/index72.cjs.map +1 -1
- package/dist/index72.js +73 -88
- package/dist/index72.js.map +1 -1
- package/dist/index73.cjs +73 -90
- package/dist/index73.cjs.map +1 -1
- package/dist/index73.js +17 -15
- package/dist/index73.js.map +1 -1
- package/dist/index74.cjs +22 -19
- package/dist/index74.cjs.map +1 -1
- package/dist/index74.js +85 -143
- package/dist/index74.js.map +1 -1
- package/dist/index75.cjs +87 -143
- package/dist/index75.cjs.map +1 -1
- package/dist/index75.js +23 -0
- package/dist/index75.js.map +1 -0
- package/dist/index76.cjs +31 -0
- package/dist/index76.cjs.map +1 -0
- package/dist/index76.js +159 -0
- package/dist/index76.js.map +1 -0
- package/dist/index77.cjs +161 -0
- package/dist/index77.cjs.map +1 -0
- package/dist/style.css +150 -0
- package/package.json +1 -1
package/dist/index76.js
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { cx } from "./index3.js";
|
|
2
|
+
import empty_state_page_module_default from "./index75.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/empty-state-page/EmptyStatePage.tsx
|
|
6
|
+
/** Inline SVG icon for the "no data" variant */
|
|
7
|
+
function NoDataIcon() {
|
|
8
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
9
|
+
viewBox: "0 0 48 48",
|
|
10
|
+
fill: "none",
|
|
11
|
+
className: empty_state_page_module_default.iconSvg,
|
|
12
|
+
"aria-hidden": "true",
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ jsx("rect", {
|
|
15
|
+
x: "8",
|
|
16
|
+
y: "10",
|
|
17
|
+
width: "32",
|
|
18
|
+
height: "28",
|
|
19
|
+
rx: "4",
|
|
20
|
+
stroke: "currentColor",
|
|
21
|
+
strokeWidth: "2"
|
|
22
|
+
}),
|
|
23
|
+
/* @__PURE__ */ jsx("line", {
|
|
24
|
+
x1: "8",
|
|
25
|
+
y1: "18",
|
|
26
|
+
x2: "40",
|
|
27
|
+
y2: "18",
|
|
28
|
+
stroke: "currentColor",
|
|
29
|
+
strokeWidth: "2"
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsx("line", {
|
|
32
|
+
x1: "16",
|
|
33
|
+
y1: "24",
|
|
34
|
+
x2: "28",
|
|
35
|
+
y2: "24",
|
|
36
|
+
stroke: "currentColor",
|
|
37
|
+
strokeWidth: "2",
|
|
38
|
+
strokeLinecap: "round"
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ jsx("line", {
|
|
41
|
+
x1: "16",
|
|
42
|
+
y1: "30",
|
|
43
|
+
x2: "32",
|
|
44
|
+
y2: "30",
|
|
45
|
+
stroke: "currentColor",
|
|
46
|
+
strokeWidth: "2",
|
|
47
|
+
strokeLinecap: "round"
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Inline SVG icon for the "no connection" variant */
|
|
53
|
+
function NoConnectionIcon() {
|
|
54
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
55
|
+
viewBox: "0 0 48 48",
|
|
56
|
+
fill: "none",
|
|
57
|
+
className: empty_state_page_module_default.iconSvg,
|
|
58
|
+
"aria-hidden": "true",
|
|
59
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
60
|
+
cx: "24",
|
|
61
|
+
cy: "24",
|
|
62
|
+
r: "14",
|
|
63
|
+
stroke: "currentColor",
|
|
64
|
+
strokeWidth: "2"
|
|
65
|
+
}), /* @__PURE__ */ jsx("path", {
|
|
66
|
+
d: "M18 18l12 12M30 18L18 30",
|
|
67
|
+
stroke: "currentColor",
|
|
68
|
+
strokeWidth: "2",
|
|
69
|
+
strokeLinecap: "round"
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/** Inline SVG icon for the "no permissions" variant */
|
|
74
|
+
function NoPermissionsIcon() {
|
|
75
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
76
|
+
viewBox: "0 0 48 48",
|
|
77
|
+
fill: "none",
|
|
78
|
+
className: empty_state_page_module_default.iconSvg,
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsx("rect", {
|
|
82
|
+
x: "12",
|
|
83
|
+
y: "20",
|
|
84
|
+
width: "24",
|
|
85
|
+
height: "18",
|
|
86
|
+
rx: "3",
|
|
87
|
+
stroke: "currentColor",
|
|
88
|
+
strokeWidth: "2"
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ jsx("path", {
|
|
91
|
+
d: "M20 20v-6a4 4 0 018 0v6",
|
|
92
|
+
stroke: "currentColor",
|
|
93
|
+
strokeWidth: "2"
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ jsx("circle", {
|
|
96
|
+
cx: "24",
|
|
97
|
+
cy: "30",
|
|
98
|
+
r: "2",
|
|
99
|
+
fill: "currentColor"
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
var variantMap = {
|
|
105
|
+
noData: {
|
|
106
|
+
icon: NoDataIcon,
|
|
107
|
+
title: "No data yet",
|
|
108
|
+
description: "When you add data, it will appear here."
|
|
109
|
+
},
|
|
110
|
+
noConnection: {
|
|
111
|
+
icon: NoConnectionIcon,
|
|
112
|
+
title: "No connection",
|
|
113
|
+
description: "Check your network settings and try again."
|
|
114
|
+
},
|
|
115
|
+
noPermissions: {
|
|
116
|
+
icon: NoPermissionsIcon,
|
|
117
|
+
title: "Access denied",
|
|
118
|
+
description: "You don't have permission to view this content."
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* EmptyStatePage — a Card-based page template with variant icons, title, description, and actions.
|
|
123
|
+
*
|
|
124
|
+
* Layout:
|
|
125
|
+
* Card → Icon → Title → Description → Actions
|
|
126
|
+
*/
|
|
127
|
+
function EmptyStatePage({ variant = "noData", title, description, primaryAction, secondaryAction, icon, className }) {
|
|
128
|
+
const { icon: VariantIcon, title: defaultTitle, description: defaultDescription } = variantMap[variant];
|
|
129
|
+
return /* @__PURE__ */ jsx("div", {
|
|
130
|
+
className: cx(empty_state_page_module_default.wrapper, className),
|
|
131
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
132
|
+
className: empty_state_page_module_default.card,
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ jsx("div", {
|
|
135
|
+
className: empty_state_page_module_default.iconArea,
|
|
136
|
+
children: icon ?? /* @__PURE__ */ jsx(VariantIcon, {})
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ jsxs("div", {
|
|
139
|
+
className: empty_state_page_module_default.content,
|
|
140
|
+
children: [/* @__PURE__ */ jsx("h2", {
|
|
141
|
+
className: empty_state_page_module_default.title,
|
|
142
|
+
children: title ?? defaultTitle
|
|
143
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
144
|
+
className: empty_state_page_module_default.description,
|
|
145
|
+
children: description ?? defaultDescription
|
|
146
|
+
})]
|
|
147
|
+
}),
|
|
148
|
+
(primaryAction || secondaryAction) && /* @__PURE__ */ jsxs("div", {
|
|
149
|
+
className: empty_state_page_module_default.actions,
|
|
150
|
+
children: [primaryAction, secondaryAction]
|
|
151
|
+
})
|
|
152
|
+
]
|
|
153
|
+
})
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
export { EmptyStatePage };
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=index76.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index76.js","names":[],"sources":["../src/components/empty-state-page/EmptyStatePage.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./empty-state-page.module.css\";\n\nexport type EmptyStatePageVariant = \"noData\" | \"noConnection\" | \"noPermissions\";\n\nexport interface EmptyStatePageProps {\n /** Page variant driving icon, title, description defaults */\n variant?: EmptyStatePageVariant;\n /** Optional title override */\n title?: string;\n /** Optional description override */\n description?: string;\n /** Primary action button */\n primaryAction?: React.ReactNode;\n /** Secondary action button */\n secondaryAction?: React.ReactNode;\n /** Optional custom SVG icon (overrides variant icon) */\n icon?: React.ReactNode;\n /** Additional class name */\n className?: string;\n}\n\n/** Inline SVG icon for the \"no data\" variant */\nfunction NoDataIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <rect x=\"8\" y=\"10\" width=\"32\" height=\"28\" rx=\"4\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <line x1=\"8\" y1=\"18\" x2=\"40\" y2=\"18\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <line x1=\"16\" y1=\"24\" x2=\"28\" y2=\"24\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n <line x1=\"16\" y1=\"30\" x2=\"32\" y2=\"30\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n/** Inline SVG icon for the \"no connection\" variant */\nfunction NoConnectionIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <circle cx=\"24\" cy=\"24\" r=\"14\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M18 18l12 12M30 18L18 30\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n/** Inline SVG icon for the \"no permissions\" variant */\nfunction NoPermissionsIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <rect x=\"12\" y=\"20\" width=\"24\" height=\"18\" rx=\"3\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M20 20v-6a4 4 0 018 0v6\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <circle cx=\"24\" cy=\"30\" r=\"2\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nconst variantMap: Record<\n EmptyStatePageVariant,\n { icon: React.FC; title: string; description: string }\n> = {\n noData: {\n icon: NoDataIcon,\n title: \"No data yet\",\n description: \"When you add data, it will appear here.\",\n },\n noConnection: {\n icon: NoConnectionIcon,\n title: \"No connection\",\n description: \"Check your network settings and try again.\",\n },\n noPermissions: {\n icon: NoPermissionsIcon,\n title: \"Access denied\",\n description: \"You don't have permission to view this content.\",\n },\n};\n\n/**\n * EmptyStatePage — a Card-based page template with variant icons, title, description, and actions.\n *\n * Layout:\n * Card → Icon → Title → Description → Actions\n */\nexport function EmptyStatePage({\n variant = \"noData\",\n title,\n description,\n primaryAction,\n secondaryAction,\n icon,\n className,\n}: EmptyStatePageProps) {\n const { icon: VariantIcon, title: defaultTitle, description: defaultDescription } = variantMap[variant];\n\n return (\n <div className={cx(styles.wrapper, className)}>\n <div className={styles.card}>\n <div className={styles.iconArea}>\n {icon ?? <VariantIcon />}\n </div>\n <div className={styles.content}>\n <h2 className={styles.title}>{title ?? defaultTitle}</h2>\n <p className={styles.description}>{description ?? defaultDescription}</p>\n </div>\n {(primaryAction || secondaryAction) && (\n <div className={styles.actions}>\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAwBA,SAAS,aAAa;CACpB,OACE,qBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAO,WAAW,gCAAO;EAAS,eAAY;YAA5E;GACE,oBAAC,QAAD;IAAM,GAAE;IAAI,GAAE;IAAK,OAAM;IAAK,QAAO;IAAK,IAAG;IAAI,QAAO;IAAe,aAAY;GAAK,CAAA;GACxF,oBAAC,QAAD;IAAM,IAAG;IAAI,IAAG;IAAK,IAAG;IAAK,IAAG;IAAK,QAAO;IAAe,aAAY;GAAK,CAAA;GAC5E,oBAAC,QAAD;IAAM,IAAG;IAAK,IAAG;IAAK,IAAG;IAAK,IAAG;IAAK,QAAO;IAAe,aAAY;IAAI,eAAc;GAAS,CAAA;GACnG,oBAAC,QAAD;IAAM,IAAG;IAAK,IAAG;IAAK,IAAG;IAAK,IAAG;IAAK,QAAO;IAAe,aAAY;IAAI,eAAc;GAAS,CAAA;EAChG;;AAET;;AAGA,SAAS,mBAAmB;CAC1B,OACE,qBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAO,WAAW,gCAAO;EAAS,eAAY;YAA5E,CACE,oBAAC,UAAD;GAAQ,IAAG;GAAK,IAAG;GAAK,GAAE;GAAK,QAAO;GAAe,aAAY;EAAK,CAAA,GACtE,oBAAC,QAAD;GAAM,GAAE;GAA2B,QAAO;GAAe,aAAY;GAAI,eAAc;EAAS,CAAA,CAC7F;;AAET;;AAGA,SAAS,oBAAoB;CAC3B,OACE,qBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAO,WAAW,gCAAO;EAAS,eAAY;YAA5E;GACE,oBAAC,QAAD;IAAM,GAAE;IAAK,GAAE;IAAK,OAAM;IAAK,QAAO;IAAK,IAAG;IAAI,QAAO;IAAe,aAAY;GAAK,CAAA;GACzF,oBAAC,QAAD;IAAM,GAAE;IAA0B,QAAO;IAAe,aAAY;GAAK,CAAA;GACzE,oBAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAK,GAAE;IAAI,MAAK;GAAgB,CAAA;EAChD;;AAET;AAEA,IAAM,aAGF;CACF,QAAQ;EACN,MAAM;EACN,OAAO;EACP,aAAa;CACf;CACA,cAAc;EACZ,MAAM;EACN,OAAO;EACP,aAAa;CACf;CACA,eAAe;EACb,MAAM;EACN,OAAO;EACP,aAAa;CACf;AACF;;;;;;;AAQA,SAAgB,eAAe,EAC7B,UAAU,UACV,OACA,aACA,eACA,iBACA,MACA,aACsB;CACtB,MAAM,EAAE,MAAM,aAAa,OAAO,cAAc,aAAa,uBAAuB,WAAW;CAE/F,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,gCAAO,SAAS,SAAS;YAC1C,qBAAC,OAAD;GAAK,WAAW,gCAAO;aAAvB;IACE,oBAAC,OAAD;KAAK,WAAW,gCAAO;eACpB,QAAQ,oBAAC,aAAD,CAAc,CAAA;IACpB,CAAA;IACL,qBAAC,OAAD;KAAK,WAAW,gCAAO;eAAvB,CACE,oBAAC,MAAD;MAAI,WAAW,gCAAO;gBAAQ,SAAS;KAAiB,CAAA,GACxD,oBAAC,KAAD;MAAG,WAAW,gCAAO;gBAAc,eAAe;KAAsB,CAAA,CACrE;;KACH,iBAAiB,oBACjB,qBAAC,OAAD;KAAK,WAAW,gCAAO;eAAvB,CACG,eACA,eACE;;GAEJ;;CACF,CAAA;AAET"}
|
package/dist/index77.cjs
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
const require_runtime = require("./index2.cjs");
|
|
2
|
+
const require_cx = require("./index4.cjs");
|
|
3
|
+
const require_empty_state_page_module = require("./index76.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_runtime.__toESM(react, 1);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region src/components/empty-state-page/EmptyStatePage.tsx
|
|
8
|
+
/** Inline SVG icon for the "no data" variant */
|
|
9
|
+
function NoDataIcon() {
|
|
10
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
11
|
+
viewBox: "0 0 48 48",
|
|
12
|
+
fill: "none",
|
|
13
|
+
className: require_empty_state_page_module.default.iconSvg,
|
|
14
|
+
"aria-hidden": "true",
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
17
|
+
x: "8",
|
|
18
|
+
y: "10",
|
|
19
|
+
width: "32",
|
|
20
|
+
height: "28",
|
|
21
|
+
rx: "4",
|
|
22
|
+
stroke: "currentColor",
|
|
23
|
+
strokeWidth: "2"
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
|
|
26
|
+
x1: "8",
|
|
27
|
+
y1: "18",
|
|
28
|
+
x2: "40",
|
|
29
|
+
y2: "18",
|
|
30
|
+
stroke: "currentColor",
|
|
31
|
+
strokeWidth: "2"
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
|
|
34
|
+
x1: "16",
|
|
35
|
+
y1: "24",
|
|
36
|
+
x2: "28",
|
|
37
|
+
y2: "24",
|
|
38
|
+
stroke: "currentColor",
|
|
39
|
+
strokeWidth: "2",
|
|
40
|
+
strokeLinecap: "round"
|
|
41
|
+
}),
|
|
42
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
|
|
43
|
+
x1: "16",
|
|
44
|
+
y1: "30",
|
|
45
|
+
x2: "32",
|
|
46
|
+
y2: "30",
|
|
47
|
+
stroke: "currentColor",
|
|
48
|
+
strokeWidth: "2",
|
|
49
|
+
strokeLinecap: "round"
|
|
50
|
+
})
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/** Inline SVG icon for the "no connection" variant */
|
|
55
|
+
function NoConnectionIcon() {
|
|
56
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
57
|
+
viewBox: "0 0 48 48",
|
|
58
|
+
fill: "none",
|
|
59
|
+
className: require_empty_state_page_module.default.iconSvg,
|
|
60
|
+
"aria-hidden": "true",
|
|
61
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
62
|
+
cx: "24",
|
|
63
|
+
cy: "24",
|
|
64
|
+
r: "14",
|
|
65
|
+
stroke: "currentColor",
|
|
66
|
+
strokeWidth: "2"
|
|
67
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
68
|
+
d: "M18 18l12 12M30 18L18 30",
|
|
69
|
+
stroke: "currentColor",
|
|
70
|
+
strokeWidth: "2",
|
|
71
|
+
strokeLinecap: "round"
|
|
72
|
+
})]
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/** Inline SVG icon for the "no permissions" variant */
|
|
76
|
+
function NoPermissionsIcon() {
|
|
77
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
78
|
+
viewBox: "0 0 48 48",
|
|
79
|
+
fill: "none",
|
|
80
|
+
className: require_empty_state_page_module.default.iconSvg,
|
|
81
|
+
"aria-hidden": "true",
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
84
|
+
x: "12",
|
|
85
|
+
y: "20",
|
|
86
|
+
width: "24",
|
|
87
|
+
height: "18",
|
|
88
|
+
rx: "3",
|
|
89
|
+
stroke: "currentColor",
|
|
90
|
+
strokeWidth: "2"
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
93
|
+
d: "M20 20v-6a4 4 0 018 0v6",
|
|
94
|
+
stroke: "currentColor",
|
|
95
|
+
strokeWidth: "2"
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
98
|
+
cx: "24",
|
|
99
|
+
cy: "30",
|
|
100
|
+
r: "2",
|
|
101
|
+
fill: "currentColor"
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
var variantMap = {
|
|
107
|
+
noData: {
|
|
108
|
+
icon: NoDataIcon,
|
|
109
|
+
title: "No data yet",
|
|
110
|
+
description: "When you add data, it will appear here."
|
|
111
|
+
},
|
|
112
|
+
noConnection: {
|
|
113
|
+
icon: NoConnectionIcon,
|
|
114
|
+
title: "No connection",
|
|
115
|
+
description: "Check your network settings and try again."
|
|
116
|
+
},
|
|
117
|
+
noPermissions: {
|
|
118
|
+
icon: NoPermissionsIcon,
|
|
119
|
+
title: "Access denied",
|
|
120
|
+
description: "You don't have permission to view this content."
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* EmptyStatePage — a Card-based page template with variant icons, title, description, and actions.
|
|
125
|
+
*
|
|
126
|
+
* Layout:
|
|
127
|
+
* Card → Icon → Title → Description → Actions
|
|
128
|
+
*/
|
|
129
|
+
function EmptyStatePage({ variant = "noData", title, description, primaryAction, secondaryAction, icon, className }) {
|
|
130
|
+
const { icon: VariantIcon, title: defaultTitle, description: defaultDescription } = variantMap[variant];
|
|
131
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
132
|
+
className: require_cx.cx(require_empty_state_page_module.default.wrapper, className),
|
|
133
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
134
|
+
className: require_empty_state_page_module.default.card,
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
137
|
+
className: require_empty_state_page_module.default.iconArea,
|
|
138
|
+
children: icon ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(VariantIcon, {})
|
|
139
|
+
}),
|
|
140
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
141
|
+
className: require_empty_state_page_module.default.content,
|
|
142
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
|
|
143
|
+
className: require_empty_state_page_module.default.title,
|
|
144
|
+
children: title ?? defaultTitle
|
|
145
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
146
|
+
className: require_empty_state_page_module.default.description,
|
|
147
|
+
children: description ?? defaultDescription
|
|
148
|
+
})]
|
|
149
|
+
}),
|
|
150
|
+
(primaryAction || secondaryAction) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
151
|
+
className: require_empty_state_page_module.default.actions,
|
|
152
|
+
children: [primaryAction, secondaryAction]
|
|
153
|
+
})
|
|
154
|
+
]
|
|
155
|
+
})
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
//#endregion
|
|
159
|
+
exports.EmptyStatePage = EmptyStatePage;
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=index77.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index77.cjs","names":[],"sources":["../src/components/empty-state-page/EmptyStatePage.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./empty-state-page.module.css\";\n\nexport type EmptyStatePageVariant = \"noData\" | \"noConnection\" | \"noPermissions\";\n\nexport interface EmptyStatePageProps {\n /** Page variant driving icon, title, description defaults */\n variant?: EmptyStatePageVariant;\n /** Optional title override */\n title?: string;\n /** Optional description override */\n description?: string;\n /** Primary action button */\n primaryAction?: React.ReactNode;\n /** Secondary action button */\n secondaryAction?: React.ReactNode;\n /** Optional custom SVG icon (overrides variant icon) */\n icon?: React.ReactNode;\n /** Additional class name */\n className?: string;\n}\n\n/** Inline SVG icon for the \"no data\" variant */\nfunction NoDataIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <rect x=\"8\" y=\"10\" width=\"32\" height=\"28\" rx=\"4\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <line x1=\"8\" y1=\"18\" x2=\"40\" y2=\"18\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <line x1=\"16\" y1=\"24\" x2=\"28\" y2=\"24\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n <line x1=\"16\" y1=\"30\" x2=\"32\" y2=\"30\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n/** Inline SVG icon for the \"no connection\" variant */\nfunction NoConnectionIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <circle cx=\"24\" cy=\"24\" r=\"14\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M18 18l12 12M30 18L18 30\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n/** Inline SVG icon for the \"no permissions\" variant */\nfunction NoPermissionsIcon() {\n return (\n <svg viewBox=\"0 0 48 48\" fill=\"none\" className={styles.iconSvg} aria-hidden=\"true\">\n <rect x=\"12\" y=\"20\" width=\"24\" height=\"18\" rx=\"3\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <path d=\"M20 20v-6a4 4 0 018 0v6\" stroke=\"currentColor\" strokeWidth=\"2\" />\n <circle cx=\"24\" cy=\"30\" r=\"2\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nconst variantMap: Record<\n EmptyStatePageVariant,\n { icon: React.FC; title: string; description: string }\n> = {\n noData: {\n icon: NoDataIcon,\n title: \"No data yet\",\n description: \"When you add data, it will appear here.\",\n },\n noConnection: {\n icon: NoConnectionIcon,\n title: \"No connection\",\n description: \"Check your network settings and try again.\",\n },\n noPermissions: {\n icon: NoPermissionsIcon,\n title: \"Access denied\",\n description: \"You don't have permission to view this content.\",\n },\n};\n\n/**\n * EmptyStatePage — a Card-based page template with variant icons, title, description, and actions.\n *\n * Layout:\n * Card → Icon → Title → Description → Actions\n */\nexport function EmptyStatePage({\n variant = \"noData\",\n title,\n description,\n primaryAction,\n secondaryAction,\n icon,\n className,\n}: EmptyStatePageProps) {\n const { icon: VariantIcon, title: defaultTitle, description: defaultDescription } = variantMap[variant];\n\n return (\n <div className={cx(styles.wrapper, className)}>\n <div className={styles.card}>\n <div className={styles.iconArea}>\n {icon ?? <VariantIcon />}\n </div>\n <div className={styles.content}>\n <h2 className={styles.title}>{title ?? defaultTitle}</h2>\n <p className={styles.description}>{description ?? defaultDescription}</p>\n </div>\n {(primaryAction || secondaryAction) && (\n <div className={styles.actions}>\n {primaryAction}\n {secondaryAction}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -1089,6 +1089,14 @@ body {
|
|
|
1089
1089
|
color: var(--muted-foreground);
|
|
1090
1090
|
}
|
|
1091
1091
|
|
|
1092
|
+
.uzi-multi-select-module__summary__tu-Me {
|
|
1093
|
+
min-width: 0;
|
|
1094
|
+
overflow: hidden;
|
|
1095
|
+
text-overflow: ellipsis;
|
|
1096
|
+
white-space: nowrap;
|
|
1097
|
+
font-weight: 500;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1092
1100
|
.uzi-multi-select-module__chip__46Ms- {
|
|
1093
1101
|
display: inline-flex;
|
|
1094
1102
|
align-items: center;
|
|
@@ -1145,6 +1153,37 @@ body {
|
|
|
1145
1153
|
animation: uzi-multi-select-module__menuFadeIn__Plo7- 140ms ease;
|
|
1146
1154
|
}
|
|
1147
1155
|
|
|
1156
|
+
.uzi-multi-select-module__bulkAction__CTqPY {
|
|
1157
|
+
width: 100%;
|
|
1158
|
+
display: flex;
|
|
1159
|
+
align-items: center;
|
|
1160
|
+
border: none;
|
|
1161
|
+
border-radius: var(--uzi-menu-item-radius);
|
|
1162
|
+
background: transparent;
|
|
1163
|
+
color: inherit;
|
|
1164
|
+
padding: var(--uzi-menu-item-padding-y) var(--uzi-menu-item-padding-x);
|
|
1165
|
+
font: inherit;
|
|
1166
|
+
font-weight: 600;
|
|
1167
|
+
cursor: pointer;
|
|
1168
|
+
outline: none;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
.uzi-multi-select-module__bulkAction__CTqPY[data-highlighted] {
|
|
1172
|
+
background: var(--ts-menu-hover-bg, var(--accent));
|
|
1173
|
+
color: var(--ts-menu-hover-fg, var(--accent-foreground));
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
.uzi-multi-select-module__bulkAction__CTqPY[data-disabled] {
|
|
1177
|
+
opacity: 0.5;
|
|
1178
|
+
cursor: not-allowed;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.uzi-multi-select-module__separator__UOVk4 {
|
|
1182
|
+
height: 1px;
|
|
1183
|
+
margin: var(--uzi-menu-padding) 0;
|
|
1184
|
+
background: var(--ts-menu-border, var(--border));
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1148
1187
|
.uzi-multi-select-module__option__-Ioqk {
|
|
1149
1188
|
width: 100%;
|
|
1150
1189
|
display: flex;
|
|
@@ -1206,6 +1245,23 @@ body {
|
|
|
1206
1245
|
.uzi-multi-select-module__optionLabel__cVoN7 {
|
|
1207
1246
|
min-width: 0;
|
|
1208
1247
|
flex: 1;
|
|
1248
|
+
display: inline-flex;
|
|
1249
|
+
align-items: center;
|
|
1250
|
+
gap: var(--uzi-menu-item-gap);
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
.uzi-multi-select-module__optionIcon__TQddK {
|
|
1254
|
+
width: 1rem;
|
|
1255
|
+
height: 1rem;
|
|
1256
|
+
display: inline-flex;
|
|
1257
|
+
align-items: center;
|
|
1258
|
+
justify-content: center;
|
|
1259
|
+
flex-shrink: 0;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.uzi-multi-select-module__optionIcon__TQddK > * {
|
|
1263
|
+
max-width: 100%;
|
|
1264
|
+
max-height: 100%;
|
|
1209
1265
|
}
|
|
1210
1266
|
|
|
1211
1267
|
@keyframes uzi-multi-select-module__menuFadeIn__Plo7- {
|
|
@@ -2242,6 +2298,100 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
|
|
|
2242
2298
|
.uzi-layout-primitives-module__gap-md__tHIwH { gap: var(--uzi-space-4, 1rem); }
|
|
2243
2299
|
.uzi-layout-primitives-module__gap-lg__iUm9X { gap: var(--uzi-space-5, 1.5rem); }
|
|
2244
2300
|
.uzi-layout-primitives-module__gap-xl__O-6Na { gap: var(--uzi-space-6, 2rem); }
|
|
2301
|
+
.uzi-conversation-module__root__0Sor6 {
|
|
2302
|
+
display: flex;
|
|
2303
|
+
flex-direction: column;
|
|
2304
|
+
min-width: 0;
|
|
2305
|
+
min-height: 0;
|
|
2306
|
+
height: 100%;
|
|
2307
|
+
overflow: hidden;
|
|
2308
|
+
background: var(--uzi-surface-base, var(--background));
|
|
2309
|
+
color: var(--uzi-text-primary, var(--foreground));
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
.uzi-conversation-module__header__Qsxrb,
|
|
2313
|
+
.uzi-conversation-module__attachments__bOZvJ,
|
|
2314
|
+
.uzi-conversation-module__composer__DsGDz {
|
|
2315
|
+
flex-shrink: 0;
|
|
2316
|
+
background: var(--uzi-surface-subtle, var(--muted));
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
.uzi-conversation-module__header__Qsxrb {
|
|
2320
|
+
border-bottom: 1px solid var(--uzi-border-default, var(--border));
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2323
|
+
.uzi-conversation-module__attachments__bOZvJ,
|
|
2324
|
+
.uzi-conversation-module__composer__DsGDz {
|
|
2325
|
+
border-top: 1px solid var(--uzi-border-default, var(--border));
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
.uzi-conversation-module__messages__onvAy {
|
|
2329
|
+
flex: 1;
|
|
2330
|
+
min-height: 0;
|
|
2331
|
+
overflow-y: auto;
|
|
2332
|
+
padding: var(--uzi-space-4, 1rem);
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
.uzi-conversation-module__message__y1o-R {
|
|
2336
|
+
display: flex;
|
|
2337
|
+
flex-direction: column;
|
|
2338
|
+
min-width: 0;
|
|
2339
|
+
max-width: 100%;
|
|
2340
|
+
margin-bottom: var(--uzi-space-4, 1rem);
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2343
|
+
.uzi-conversation-module__assistant__ZpASb,
|
|
2344
|
+
.uzi-conversation-module__system__Ub04L {
|
|
2345
|
+
align-items: flex-start;
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2348
|
+
.uzi-conversation-module__user__wonj7 {
|
|
2349
|
+
align-items: flex-end;
|
|
2350
|
+
}
|
|
2351
|
+
|
|
2352
|
+
.uzi-conversation-module__label__139uJ {
|
|
2353
|
+
margin-bottom: var(--uzi-space-1, 0.25rem);
|
|
2354
|
+
color: var(--uzi-text-secondary, var(--muted-foreground));
|
|
2355
|
+
font-size: var(--uzi-font-xs, 0.6875rem);
|
|
2356
|
+
font-weight: 600;
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
.uzi-conversation-module__bubble__kBvwU {
|
|
2360
|
+
min-width: 0;
|
|
2361
|
+
max-width: min(100%, 52rem);
|
|
2362
|
+
border-radius: var(--uzi-radius-lg, 0.875rem);
|
|
2363
|
+
padding: var(--uzi-space-3, 0.75rem) var(--uzi-space-3, 0.75rem);
|
|
2364
|
+
font-size: var(--uzi-font-body, 0.875rem);
|
|
2365
|
+
line-height: 1.55;
|
|
2366
|
+
overflow-wrap: anywhere;
|
|
2367
|
+
}
|
|
2368
|
+
|
|
2369
|
+
.uzi-conversation-module__assistant__ZpASb .uzi-conversation-module__bubble__kBvwU,
|
|
2370
|
+
.uzi-conversation-module__system__Ub04L .uzi-conversation-module__bubble__kBvwU {
|
|
2371
|
+
border: 1px solid var(--uzi-border-default, var(--border));
|
|
2372
|
+
background: var(--uzi-surface-subtle, var(--muted));
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
.uzi-conversation-module__user__wonj7 .uzi-conversation-module__bubble__kBvwU {
|
|
2376
|
+
max-width: min(82%, 44rem);
|
|
2377
|
+
background: var(--uzi-accent-primary, var(--primary));
|
|
2378
|
+
color: var(--uzi-text-on-accent, var(--primary-foreground));
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
.uzi-conversation-module__status__GSYd0 {
|
|
2382
|
+
color: var(--uzi-text-secondary, var(--muted-foreground));
|
|
2383
|
+
font-size: var(--uzi-font-small, 0.75rem);
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
@media (max-width: 720px) {
|
|
2387
|
+
.uzi-conversation-module__messages__onvAy {
|
|
2388
|
+
padding: var(--uzi-space-3, 0.75rem);
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2391
|
+
.uzi-conversation-module__user__wonj7 .uzi-conversation-module__bubble__kBvwU {
|
|
2392
|
+
max-width: 92%;
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2245
2395
|
.uzi-stat-module__stat__R4Ke6 {
|
|
2246
2396
|
min-width: 0;
|
|
2247
2397
|
display: grid;
|