@tensor_1/react 2.4.0 → 2.5.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/dist/components/Inbox.d.ts +35 -0
- package/dist/components/Inbox.js +45 -0
- package/dist/components/Meter.d.ts +15 -0
- package/dist/components/Meter.js +28 -0
- package/dist/components/StatusPill.d.ts +1 -1
- package/dist/index.cjs +152 -78
- package/dist/index.d.cts +44 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface InboxProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/** Two-pane inbox master-detail container backed by `.uix-inbox`. Place `<InboxList>` and `<InboxDetail>` as children. */
|
|
8
|
+
declare function Inbox({ children, className, ...props }: InboxProps): react.JSX.Element;
|
|
9
|
+
interface InboxListProps extends HTMLAttributes<HTMLDivElement> {
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/** Left-pane item list. Place `<InboxItem>` children here. */
|
|
13
|
+
declare function InboxList({ children, className, ...props }: InboxListProps): react.JSX.Element;
|
|
14
|
+
interface InboxItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
15
|
+
/** Primary subject / title line. */
|
|
16
|
+
subject?: ReactNode;
|
|
17
|
+
/** Secondary preview excerpt (truncated). */
|
|
18
|
+
preview?: ReactNode;
|
|
19
|
+
/** Leading slot — avatar, icon, or priority indicator. */
|
|
20
|
+
leading?: ReactNode;
|
|
21
|
+
/** When true sets `data-unread` → bolds the subject line. */
|
|
22
|
+
unread?: boolean;
|
|
23
|
+
/** When true sets `aria-selected` → renders the accent left-border stripe. */
|
|
24
|
+
selected?: boolean;
|
|
25
|
+
children?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/** A single inbox row with subject, preview excerpt, optional leading slot, and unread/selected states. */
|
|
28
|
+
declare function InboxItem({ subject, preview, leading, unread, selected, children, className, ...props }: InboxItemProps): react.JSX.Element;
|
|
29
|
+
interface InboxDetailProps extends HTMLAttributes<HTMLDivElement> {
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
/** Right-pane detail area — renders the full content of the selected item. */
|
|
33
|
+
declare function InboxDetail({ children, className, ...props }: InboxDetailProps): react.JSX.Element;
|
|
34
|
+
|
|
35
|
+
export { Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cx } from "../cx.js";
|
|
4
|
+
function Inbox({ children, className, ...props }) {
|
|
5
|
+
return /* @__PURE__ */ jsx("div", { className: cx("uix-inbox", className), ...props, children });
|
|
6
|
+
}
|
|
7
|
+
function InboxList({ children, className, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx("div", { className: cx("uix-inbox__list", className), role: "listbox", ...props, children });
|
|
9
|
+
}
|
|
10
|
+
function InboxItem({
|
|
11
|
+
subject,
|
|
12
|
+
preview,
|
|
13
|
+
leading,
|
|
14
|
+
unread,
|
|
15
|
+
selected,
|
|
16
|
+
children,
|
|
17
|
+
className,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
20
|
+
return /* @__PURE__ */ jsxs(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
role: "option",
|
|
24
|
+
"aria-selected": selected ?? false,
|
|
25
|
+
className: cx("uix-inbox__item", className),
|
|
26
|
+
...unread ? { "data-unread": "" } : {},
|
|
27
|
+
...props,
|
|
28
|
+
children: [
|
|
29
|
+
leading,
|
|
30
|
+
subject != null && /* @__PURE__ */ jsx("div", { className: "uix-inbox__subject", children: subject }),
|
|
31
|
+
preview != null && /* @__PURE__ */ jsx("div", { className: "uix-inbox__preview", children: preview }),
|
|
32
|
+
children
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
function InboxDetail({ children, className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx("div", { className: cx("uix-inbox__detail", className), ...props, children });
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
Inbox,
|
|
42
|
+
InboxDetail,
|
|
43
|
+
InboxItem,
|
|
44
|
+
InboxList
|
|
45
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
/** Fill color tone for the meter bar. Defaults to `success` (green). */
|
|
5
|
+
type MeterTone = 'success' | 'warning' | 'danger' | 'attention' | 'overdue';
|
|
6
|
+
interface MeterProps extends HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
/** Fill level 0–100. Clamped to this range. */
|
|
8
|
+
value?: number;
|
|
9
|
+
/** Threshold tone applied via `data-tone` on the fill element. `success` is the implicit default (no attribute). */
|
|
10
|
+
tone?: MeterTone;
|
|
11
|
+
}
|
|
12
|
+
/** Horizontal utilization / threshold bar backed by `.uix-meter`. */
|
|
13
|
+
declare function Meter({ value, tone, className, ...props }: MeterProps): react.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { Meter, type MeterProps, type MeterTone };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cx } from "../cx.js";
|
|
4
|
+
function Meter({ value = 0, tone, className, ...props }) {
|
|
5
|
+
const pct = Math.max(0, Math.min(100, value));
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"div",
|
|
8
|
+
{
|
|
9
|
+
role: "meter",
|
|
10
|
+
"aria-valuenow": pct,
|
|
11
|
+
"aria-valuemin": 0,
|
|
12
|
+
"aria-valuemax": 100,
|
|
13
|
+
className: cx("uix-meter", className),
|
|
14
|
+
...props,
|
|
15
|
+
children: /* @__PURE__ */ jsx(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
className: "uix-meter__fill",
|
|
19
|
+
style: { width: `${pct}%` },
|
|
20
|
+
...tone && tone !== "success" ? { "data-tone": tone } : {}
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
Meter
|
|
28
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
-
type PillTone = 'neutral' | 'success' | 'info' | 'warning' | 'danger' | 'critical' | 'muted';
|
|
4
|
+
type PillTone = 'neutral' | 'success' | 'info' | 'warning' | 'danger' | 'critical' | 'muted' | 'attention' | 'overdue' | 'sla-ok' | 'sla-at-risk' | 'sla-breached' | 'p1' | 'p2' | 'p3' | 'p4' | 'p5';
|
|
5
5
|
type PillTreatment = 'filled' | 'outline';
|
|
6
6
|
interface StatusPillProps extends HTMLAttributes<HTMLSpanElement> {
|
|
7
7
|
tone?: PillTone;
|
package/dist/index.cjs
CHANGED
|
@@ -40,6 +40,10 @@ __export(src_exports, {
|
|
|
40
40
|
EmptyState: () => EmptyState,
|
|
41
41
|
ErrorState: () => ErrorState,
|
|
42
42
|
Field: () => Field,
|
|
43
|
+
Inbox: () => Inbox,
|
|
44
|
+
InboxDetail: () => InboxDetail,
|
|
45
|
+
InboxItem: () => InboxItem,
|
|
46
|
+
InboxList: () => InboxList,
|
|
43
47
|
Input: () => Input,
|
|
44
48
|
InputGroup: () => InputGroup,
|
|
45
49
|
Kanban: () => Kanban,
|
|
@@ -49,6 +53,7 @@ __export(src_exports, {
|
|
|
49
53
|
List: () => List,
|
|
50
54
|
ListItem: () => ListItem,
|
|
51
55
|
LoadingState: () => LoadingState,
|
|
56
|
+
Meter: () => Meter,
|
|
52
57
|
Modal: () => Modal,
|
|
53
58
|
NavFavourites: () => NavFavourites,
|
|
54
59
|
NavGroup: () => NavGroup,
|
|
@@ -1125,49 +1130,74 @@ function Progress({ value = 0, max = 100, indeterminate, className, ...props })
|
|
|
1125
1130
|
);
|
|
1126
1131
|
}
|
|
1127
1132
|
|
|
1128
|
-
// src/components/
|
|
1133
|
+
// src/components/Meter.tsx
|
|
1129
1134
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1135
|
+
function Meter({ value = 0, tone, className, ...props }) {
|
|
1136
|
+
const pct = Math.max(0, Math.min(100, value));
|
|
1137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1138
|
+
"div",
|
|
1139
|
+
{
|
|
1140
|
+
role: "meter",
|
|
1141
|
+
"aria-valuenow": pct,
|
|
1142
|
+
"aria-valuemin": 0,
|
|
1143
|
+
"aria-valuemax": 100,
|
|
1144
|
+
className: cx("uix-meter", className),
|
|
1145
|
+
...props,
|
|
1146
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1147
|
+
"div",
|
|
1148
|
+
{
|
|
1149
|
+
className: "uix-meter__fill",
|
|
1150
|
+
style: { width: `${pct}%` },
|
|
1151
|
+
...tone && tone !== "success" ? { "data-tone": tone } : {}
|
|
1152
|
+
}
|
|
1153
|
+
)
|
|
1154
|
+
}
|
|
1155
|
+
);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
// src/components/Stat.tsx
|
|
1159
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1130
1160
|
function Stat({ label, value, icon, meta, trend, className, ...props }) {
|
|
1131
|
-
return /* @__PURE__ */ (0,
|
|
1132
|
-
/* @__PURE__ */ (0,
|
|
1133
|
-
/* @__PURE__ */ (0,
|
|
1161
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: cx("uix-stat", className), ...props, children: [
|
|
1162
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "uix-stat__label", children: [
|
|
1163
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: label }),
|
|
1134
1164
|
icon
|
|
1135
1165
|
] }),
|
|
1136
|
-
/* @__PURE__ */ (0,
|
|
1137
|
-
(meta != null || trend != null) && /* @__PURE__ */ (0,
|
|
1138
|
-
trend != null && /* @__PURE__ */ (0,
|
|
1166
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "uix-stat__value", children: value }),
|
|
1167
|
+
(meta != null || trend != null) && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "uix-stat__meta", children: [
|
|
1168
|
+
trend != null && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: cx("uix-stat__trend", `uix-stat__trend--${trend.direction}`), children: trend.label }),
|
|
1139
1169
|
meta
|
|
1140
1170
|
] })
|
|
1141
1171
|
] });
|
|
1142
1172
|
}
|
|
1143
1173
|
|
|
1144
1174
|
// src/components/Tooltip.tsx
|
|
1145
|
-
var
|
|
1175
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1146
1176
|
function Tooltip({ label, children, ...props }) {
|
|
1147
|
-
return /* @__PURE__ */ (0,
|
|
1177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { "data-uix-tip": label, ...props, children });
|
|
1148
1178
|
}
|
|
1149
1179
|
|
|
1150
1180
|
// src/components/States.tsx
|
|
1151
|
-
var
|
|
1181
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1152
1182
|
function EmptyState({ icon, title, children, action, className, ...props }) {
|
|
1153
|
-
return /* @__PURE__ */ (0,
|
|
1154
|
-
icon != null && /* @__PURE__ */ (0,
|
|
1155
|
-
title != null && /* @__PURE__ */ (0,
|
|
1183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cx("uix-empty", className), ...props, children: [
|
|
1184
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "uix-empty__icon", children: icon }),
|
|
1185
|
+
title != null && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "uix-empty__title", children: title }),
|
|
1156
1186
|
children,
|
|
1157
1187
|
action
|
|
1158
1188
|
] });
|
|
1159
1189
|
}
|
|
1160
1190
|
function ErrorState({ icon, title, detail, action, className, ...props }) {
|
|
1161
|
-
return /* @__PURE__ */ (0,
|
|
1162
|
-
icon != null && /* @__PURE__ */ (0,
|
|
1163
|
-
title != null && /* @__PURE__ */ (0,
|
|
1164
|
-
detail != null && /* @__PURE__ */ (0,
|
|
1191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cx("uix-empty", "uix-empty--danger", className), role: "alert", ...props, children: [
|
|
1192
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "uix-empty__icon uix-empty__icon--danger", children: icon }),
|
|
1193
|
+
title != null && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "uix-empty__title", children: title }),
|
|
1194
|
+
detail != null && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { children: detail }),
|
|
1165
1195
|
action
|
|
1166
1196
|
] });
|
|
1167
1197
|
}
|
|
1168
1198
|
function Skeleton({ variant = "block", width, height, className, style, ...props }) {
|
|
1169
1199
|
const dims = { width, height, ...style };
|
|
1170
|
-
return /* @__PURE__ */ (0,
|
|
1200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1171
1201
|
"div",
|
|
1172
1202
|
{
|
|
1173
1203
|
className: cx(
|
|
@@ -1182,52 +1212,52 @@ function Skeleton({ variant = "block", width, height, className, style, ...props
|
|
|
1182
1212
|
);
|
|
1183
1213
|
}
|
|
1184
1214
|
function LoadingState({ rows = 3, className, ...props }) {
|
|
1185
|
-
return /* @__PURE__ */ (0,
|
|
1215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: cx("uix-stack", className), role: "status", "aria-busy": "true", ...props, children: Array.from({ length: rows }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Skeleton, { variant: "text", width: `${92 - i % 3 * 14}%` }, i)) });
|
|
1186
1216
|
}
|
|
1187
1217
|
|
|
1188
1218
|
// src/components/Label.tsx
|
|
1189
|
-
var
|
|
1219
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1190
1220
|
function Label({ color, dot, children, className, style, ...props }) {
|
|
1191
1221
|
const merged = color ? { "--label-color": color, ...style } : style;
|
|
1192
|
-
return /* @__PURE__ */ (0,
|
|
1193
|
-
dot && /* @__PURE__ */ (0,
|
|
1222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("span", { className: cx("uix-label", className), style: merged, ...props, children: [
|
|
1223
|
+
dot && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "uix-label__dot", "aria-hidden": "true" }),
|
|
1194
1224
|
children
|
|
1195
1225
|
] });
|
|
1196
1226
|
}
|
|
1197
1227
|
|
|
1198
1228
|
// src/components/Avatar.tsx
|
|
1199
|
-
var
|
|
1229
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1200
1230
|
function Avatar({ size = "md", src, alt, children, status, className, ...props }) {
|
|
1201
|
-
return /* @__PURE__ */ (0,
|
|
1202
|
-
src ? /* @__PURE__ */ (0,
|
|
1203
|
-
status && /* @__PURE__ */ (0,
|
|
1231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: cx("uix-avatar", size !== "md" && `uix-avatar--${size}`, className), ...props, children: [
|
|
1232
|
+
src ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("img", { src, alt: alt ?? "" }) : children,
|
|
1233
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "uix-avatar__status" })
|
|
1204
1234
|
] });
|
|
1205
1235
|
}
|
|
1206
1236
|
function AvatarGroup({ children, className, ...props }) {
|
|
1207
|
-
return /* @__PURE__ */ (0,
|
|
1237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: cx("uix-avatar-group", className), ...props, children });
|
|
1208
1238
|
}
|
|
1209
1239
|
function UserChip({ avatar, name, sub, className, children, ...props }) {
|
|
1210
|
-
return /* @__PURE__ */ (0,
|
|
1240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: cx("uix-user-chip", className), ...props, children: [
|
|
1211
1241
|
avatar,
|
|
1212
|
-
/* @__PURE__ */ (0,
|
|
1213
|
-
name != null && /* @__PURE__ */ (0,
|
|
1214
|
-
sub != null && /* @__PURE__ */ (0,
|
|
1242
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { children: [
|
|
1243
|
+
name != null && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "uix-user-chip__name", children: name }),
|
|
1244
|
+
sub != null && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "uix-user-chip__sub", style: { display: "block" }, children: sub })
|
|
1215
1245
|
] }),
|
|
1216
1246
|
children
|
|
1217
1247
|
] });
|
|
1218
1248
|
}
|
|
1219
1249
|
|
|
1220
1250
|
// src/components/Comments.tsx
|
|
1221
|
-
var
|
|
1251
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1222
1252
|
function Comments({ children, className, ...props }) {
|
|
1223
|
-
return /* @__PURE__ */ (0,
|
|
1253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: cx("uix-comments", className), ...props, children });
|
|
1224
1254
|
}
|
|
1225
1255
|
function Comment({ avatar, author, meta, children, className, ...props }) {
|
|
1226
|
-
return /* @__PURE__ */ (0,
|
|
1227
|
-
avatar ?? /* @__PURE__ */ (0,
|
|
1228
|
-
/* @__PURE__ */ (0,
|
|
1229
|
-
(author != null || meta != null) && /* @__PURE__ */ (0,
|
|
1230
|
-
author != null && /* @__PURE__ */ (0,
|
|
1256
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: cx("uix-comment", className), ...props, children: [
|
|
1257
|
+
avatar ?? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { "aria-hidden": "true" }),
|
|
1258
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "uix-comment__body", children: [
|
|
1259
|
+
(author != null || meta != null) && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "uix-comment__meta", children: [
|
|
1260
|
+
author != null && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "uix-comment__author", children: author }),
|
|
1231
1261
|
author != null && meta != null ? " \xB7 " : null,
|
|
1232
1262
|
meta
|
|
1233
1263
|
] }),
|
|
@@ -1237,95 +1267,134 @@ function Comment({ avatar, author, meta, children, className, ...props }) {
|
|
|
1237
1267
|
}
|
|
1238
1268
|
|
|
1239
1269
|
// src/components/Timeline.tsx
|
|
1240
|
-
var
|
|
1270
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1241
1271
|
function Timeline({ children, className, ...props }) {
|
|
1242
|
-
return /* @__PURE__ */ (0,
|
|
1272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cx("uix-timeline", className), ...props, children });
|
|
1243
1273
|
}
|
|
1244
1274
|
function TimelineItem({ meta, children, className, ...props }) {
|
|
1245
|
-
return /* @__PURE__ */ (0,
|
|
1246
|
-
/* @__PURE__ */ (0,
|
|
1247
|
-
/* @__PURE__ */ (0,
|
|
1248
|
-
/* @__PURE__ */ (0,
|
|
1275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cx("uix-timeline__item", className), ...props, children: [
|
|
1276
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "uix-timeline__rail", children: [
|
|
1277
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "uix-timeline__node" }),
|
|
1278
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "uix-timeline__line" })
|
|
1249
1279
|
] }),
|
|
1250
|
-
/* @__PURE__ */ (0,
|
|
1251
|
-
meta != null && /* @__PURE__ */ (0,
|
|
1280
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "uix-timeline__body", children: [
|
|
1281
|
+
meta != null && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "uix-timeline__meta", children: meta }),
|
|
1252
1282
|
children
|
|
1253
1283
|
] })
|
|
1254
1284
|
] });
|
|
1255
1285
|
}
|
|
1256
1286
|
|
|
1257
1287
|
// src/components/Prose.tsx
|
|
1258
|
-
var
|
|
1288
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1259
1289
|
function Prose({ children, className, ...props }) {
|
|
1260
|
-
return /* @__PURE__ */ (0,
|
|
1290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: cx("uix-prose", className), ...props, children });
|
|
1261
1291
|
}
|
|
1262
1292
|
function Note({ tone, icon, children, className, ...props }) {
|
|
1263
|
-
return /* @__PURE__ */ (0,
|
|
1264
|
-
icon != null && /* @__PURE__ */ (0,
|
|
1265
|
-
/* @__PURE__ */ (0,
|
|
1293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: cx("uix-note", tone && `uix-note--${tone}`, className), ...props, children: [
|
|
1294
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "uix-note__icon", children: icon }),
|
|
1295
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "uix-note__body", children })
|
|
1266
1296
|
] });
|
|
1267
1297
|
}
|
|
1268
1298
|
|
|
1269
1299
|
// src/components/Popover.tsx
|
|
1270
|
-
var
|
|
1300
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1271
1301
|
function Popover({ popover = "auto", children, className, ...props }) {
|
|
1272
1302
|
const popoverAttr = { popover };
|
|
1273
|
-
return /* @__PURE__ */ (0,
|
|
1303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: cx("uix-popover", className), ...popoverAttr, ...props, children });
|
|
1274
1304
|
}
|
|
1275
1305
|
|
|
1276
1306
|
// src/components/CommandPalette.tsx
|
|
1277
|
-
var
|
|
1307
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1278
1308
|
function CommandPalette({ inputProps, children, className, ...props }) {
|
|
1279
|
-
return /* @__PURE__ */ (0,
|
|
1280
|
-
/* @__PURE__ */ (0,
|
|
1281
|
-
/* @__PURE__ */ (0,
|
|
1309
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cx("uix-cmdk", className), ...props, children: [
|
|
1310
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("input", { className: "uix-cmdk__input", ...inputProps }),
|
|
1311
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "uix-cmdk__list", children })
|
|
1282
1312
|
] });
|
|
1283
1313
|
}
|
|
1284
1314
|
function CommandGroup({ label, children }) {
|
|
1285
|
-
return /* @__PURE__ */ (0,
|
|
1286
|
-
label != null && /* @__PURE__ */ (0,
|
|
1315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
1316
|
+
label != null && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "uix-cmdk__group", children: label }),
|
|
1287
1317
|
children
|
|
1288
1318
|
] });
|
|
1289
1319
|
}
|
|
1290
1320
|
function CommandItem({ icon, shortcut, active, children, className, ...props }) {
|
|
1291
|
-
return /* @__PURE__ */ (0,
|
|
1321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cx("uix-cmdk__item", className), "data-active": active || void 0, ...props, children: [
|
|
1292
1322
|
icon,
|
|
1293
|
-
/* @__PURE__ */ (0,
|
|
1323
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children }),
|
|
1294
1324
|
shortcut
|
|
1295
1325
|
] });
|
|
1296
1326
|
}
|
|
1297
1327
|
|
|
1328
|
+
// src/components/Inbox.tsx
|
|
1329
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1330
|
+
function Inbox({ children, className, ...props }) {
|
|
1331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cx("uix-inbox", className), ...props, children });
|
|
1332
|
+
}
|
|
1333
|
+
function InboxList({ children, className, ...props }) {
|
|
1334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cx("uix-inbox__list", className), role: "listbox", ...props, children });
|
|
1335
|
+
}
|
|
1336
|
+
function InboxItem({
|
|
1337
|
+
subject,
|
|
1338
|
+
preview,
|
|
1339
|
+
leading,
|
|
1340
|
+
unread,
|
|
1341
|
+
selected,
|
|
1342
|
+
children,
|
|
1343
|
+
className,
|
|
1344
|
+
...props
|
|
1345
|
+
}) {
|
|
1346
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
1347
|
+
"div",
|
|
1348
|
+
{
|
|
1349
|
+
role: "option",
|
|
1350
|
+
"aria-selected": selected ?? false,
|
|
1351
|
+
className: cx("uix-inbox__item", className),
|
|
1352
|
+
...unread ? { "data-unread": "" } : {},
|
|
1353
|
+
...props,
|
|
1354
|
+
children: [
|
|
1355
|
+
leading,
|
|
1356
|
+
subject != null && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "uix-inbox__subject", children: subject }),
|
|
1357
|
+
preview != null && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "uix-inbox__preview", children: preview }),
|
|
1358
|
+
children
|
|
1359
|
+
]
|
|
1360
|
+
}
|
|
1361
|
+
);
|
|
1362
|
+
}
|
|
1363
|
+
function InboxDetail({ children, className, ...props }) {
|
|
1364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cx("uix-inbox__detail", className), ...props, children });
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1298
1367
|
// src/components/Kanban.tsx
|
|
1299
|
-
var
|
|
1368
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1300
1369
|
function Kanban({ children, className, ...props }) {
|
|
1301
|
-
return /* @__PURE__ */ (0,
|
|
1370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cx("uix-kanban", className), ...props, children });
|
|
1302
1371
|
}
|
|
1303
1372
|
function KanbanColumn({ title, count, children, className, ...props }) {
|
|
1304
|
-
return /* @__PURE__ */ (0,
|
|
1305
|
-
(title != null || count != null) && /* @__PURE__ */ (0,
|
|
1373
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: cx("uix-kanban__col", className), ...props, children: [
|
|
1374
|
+
(title != null || count != null) && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "uix-kanban__head", children: [
|
|
1306
1375
|
title,
|
|
1307
|
-
count != null && /* @__PURE__ */ (0,
|
|
1376
|
+
count != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "uix-kanban__count", children: count })
|
|
1308
1377
|
] }),
|
|
1309
|
-
/* @__PURE__ */ (0,
|
|
1378
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "uix-kanban__body", children })
|
|
1310
1379
|
] });
|
|
1311
1380
|
}
|
|
1312
1381
|
function KanbanCard({ title, meta, children, className, ...props }) {
|
|
1313
|
-
return /* @__PURE__ */ (0,
|
|
1314
|
-
title && /* @__PURE__ */ (0,
|
|
1315
|
-
meta && /* @__PURE__ */ (0,
|
|
1382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: cx("uix-kanban__card", className), ...props, children: [
|
|
1383
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "uix-kanban__card-title", children: title }),
|
|
1384
|
+
meta && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "uix-kanban__card-meta", children: meta }),
|
|
1316
1385
|
children
|
|
1317
1386
|
] });
|
|
1318
1387
|
}
|
|
1319
1388
|
|
|
1320
1389
|
// src/components/Tree.tsx
|
|
1321
1390
|
var import_react13 = require("react");
|
|
1322
|
-
var
|
|
1323
|
-
var ChevronIcon2 = () => /* @__PURE__ */ (0,
|
|
1391
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1392
|
+
var ChevronIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("svg", { viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M2 4l4 4 4-4" }) });
|
|
1324
1393
|
function TreeNode({ node, expanded, selected, onToggle, onSelect, level = 0 }) {
|
|
1325
1394
|
const hasChildren = Array.isArray(node.children) && node.children.length > 0;
|
|
1326
1395
|
const isExpanded = expanded.has(node.id);
|
|
1327
|
-
return /* @__PURE__ */ (0,
|
|
1328
|
-
/* @__PURE__ */ (0,
|
|
1396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("li", { children: [
|
|
1397
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
1329
1398
|
"button",
|
|
1330
1399
|
{
|
|
1331
1400
|
className: "uix-tree__row",
|
|
@@ -1336,13 +1405,13 @@ function TreeNode({ node, expanded, selected, onToggle, onSelect, level = 0 }) {
|
|
|
1336
1405
|
onSelect?.(node.id);
|
|
1337
1406
|
},
|
|
1338
1407
|
children: [
|
|
1339
|
-
/* @__PURE__ */ (0,
|
|
1340
|
-
node.icon && /* @__PURE__ */ (0,
|
|
1408
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "uix-tree__toggle", children: hasChildren && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ChevronIcon2, {}) }),
|
|
1409
|
+
node.icon && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { "aria-hidden": "true", children: node.icon }),
|
|
1341
1410
|
node.label
|
|
1342
1411
|
]
|
|
1343
1412
|
}
|
|
1344
1413
|
),
|
|
1345
|
-
hasChildren && isExpanded && /* @__PURE__ */ (0,
|
|
1414
|
+
hasChildren && isExpanded && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("ul", { children: node.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
1346
1415
|
TreeNode,
|
|
1347
1416
|
{
|
|
1348
1417
|
node: child,
|
|
@@ -1370,7 +1439,7 @@ function Tree({ nodes, expanded: controlledExpanded, defaultExpanded, selected,
|
|
|
1370
1439
|
}
|
|
1371
1440
|
onToggle?.(id);
|
|
1372
1441
|
}
|
|
1373
|
-
return /* @__PURE__ */ (0,
|
|
1442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("ul", { className: cx("uix-tree", className), role: "tree", ...props, children: nodes.map((node) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
1374
1443
|
TreeNode,
|
|
1375
1444
|
{
|
|
1376
1445
|
node,
|
|
@@ -1404,6 +1473,10 @@ function Tree({ nodes, expanded: controlledExpanded, defaultExpanded, selected,
|
|
|
1404
1473
|
EmptyState,
|
|
1405
1474
|
ErrorState,
|
|
1406
1475
|
Field,
|
|
1476
|
+
Inbox,
|
|
1477
|
+
InboxDetail,
|
|
1478
|
+
InboxItem,
|
|
1479
|
+
InboxList,
|
|
1407
1480
|
Input,
|
|
1408
1481
|
InputGroup,
|
|
1409
1482
|
Kanban,
|
|
@@ -1413,6 +1486,7 @@ function Tree({ nodes, expanded: controlledExpanded, defaultExpanded, selected,
|
|
|
1413
1486
|
List,
|
|
1414
1487
|
ListItem,
|
|
1415
1488
|
LoadingState,
|
|
1489
|
+
Meter,
|
|
1416
1490
|
Modal,
|
|
1417
1491
|
NavFavourites,
|
|
1418
1492
|
NavGroup,
|
package/dist/index.d.cts
CHANGED
|
@@ -414,7 +414,7 @@ interface PaginationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
|
|
|
414
414
|
}
|
|
415
415
|
declare function Pagination({ page, pageCount, onChange, className, ...props }: PaginationProps): react.JSX.Element;
|
|
416
416
|
|
|
417
|
-
type PillTone = 'neutral' | 'success' | 'info' | 'warning' | 'danger' | 'critical' | 'muted';
|
|
417
|
+
type PillTone = 'neutral' | 'success' | 'info' | 'warning' | 'danger' | 'critical' | 'muted' | 'attention' | 'overdue' | 'sla-ok' | 'sla-at-risk' | 'sla-breached' | 'p1' | 'p2' | 'p3' | 'p4' | 'p5';
|
|
418
418
|
type PillTreatment = 'filled' | 'outline';
|
|
419
419
|
interface StatusPillProps extends HTMLAttributes<HTMLSpanElement> {
|
|
420
420
|
tone?: PillTone;
|
|
@@ -435,6 +435,17 @@ interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
435
435
|
}
|
|
436
436
|
declare function Progress({ value, max, indeterminate, className, ...props }: ProgressProps): react.JSX.Element;
|
|
437
437
|
|
|
438
|
+
/** Fill color tone for the meter bar. Defaults to `success` (green). */
|
|
439
|
+
type MeterTone = 'success' | 'warning' | 'danger' | 'attention' | 'overdue';
|
|
440
|
+
interface MeterProps extends HTMLAttributes<HTMLDivElement> {
|
|
441
|
+
/** Fill level 0–100. Clamped to this range. */
|
|
442
|
+
value?: number;
|
|
443
|
+
/** Threshold tone applied via `data-tone` on the fill element. `success` is the implicit default (no attribute). */
|
|
444
|
+
tone?: MeterTone;
|
|
445
|
+
}
|
|
446
|
+
/** Horizontal utilization / threshold bar backed by `.uix-meter`. */
|
|
447
|
+
declare function Meter({ value, tone, className, ...props }: MeterProps): react.JSX.Element;
|
|
448
|
+
|
|
438
449
|
interface StatTrend {
|
|
439
450
|
direction: 'up' | 'down';
|
|
440
451
|
label: ReactNode;
|
|
@@ -617,6 +628,37 @@ interface CommandItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
617
628
|
/** A single command row over `.uix-cmdk__item`. */
|
|
618
629
|
declare function CommandItem({ icon, shortcut, active, children, className, ...props }: CommandItemProps): react.JSX.Element;
|
|
619
630
|
|
|
631
|
+
interface InboxProps extends HTMLAttributes<HTMLDivElement> {
|
|
632
|
+
children?: ReactNode;
|
|
633
|
+
}
|
|
634
|
+
/** Two-pane inbox master-detail container backed by `.uix-inbox`. Place `<InboxList>` and `<InboxDetail>` as children. */
|
|
635
|
+
declare function Inbox({ children, className, ...props }: InboxProps): react.JSX.Element;
|
|
636
|
+
interface InboxListProps extends HTMLAttributes<HTMLDivElement> {
|
|
637
|
+
children?: ReactNode;
|
|
638
|
+
}
|
|
639
|
+
/** Left-pane item list. Place `<InboxItem>` children here. */
|
|
640
|
+
declare function InboxList({ children, className, ...props }: InboxListProps): react.JSX.Element;
|
|
641
|
+
interface InboxItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
642
|
+
/** Primary subject / title line. */
|
|
643
|
+
subject?: ReactNode;
|
|
644
|
+
/** Secondary preview excerpt (truncated). */
|
|
645
|
+
preview?: ReactNode;
|
|
646
|
+
/** Leading slot — avatar, icon, or priority indicator. */
|
|
647
|
+
leading?: ReactNode;
|
|
648
|
+
/** When true sets `data-unread` → bolds the subject line. */
|
|
649
|
+
unread?: boolean;
|
|
650
|
+
/** When true sets `aria-selected` → renders the accent left-border stripe. */
|
|
651
|
+
selected?: boolean;
|
|
652
|
+
children?: ReactNode;
|
|
653
|
+
}
|
|
654
|
+
/** A single inbox row with subject, preview excerpt, optional leading slot, and unread/selected states. */
|
|
655
|
+
declare function InboxItem({ subject, preview, leading, unread, selected, children, className, ...props }: InboxItemProps): react.JSX.Element;
|
|
656
|
+
interface InboxDetailProps extends HTMLAttributes<HTMLDivElement> {
|
|
657
|
+
children?: ReactNode;
|
|
658
|
+
}
|
|
659
|
+
/** Right-pane detail area — renders the full content of the selected item. */
|
|
660
|
+
declare function InboxDetail({ children, className, ...props }: InboxDetailProps): react.JSX.Element;
|
|
661
|
+
|
|
620
662
|
interface KanbanProps extends HTMLAttributes<HTMLDivElement> {
|
|
621
663
|
children?: ReactNode;
|
|
622
664
|
}
|
|
@@ -658,4 +700,4 @@ interface TreeProps extends Omit<HTMLAttributes<HTMLUListElement>, 'onSelect' |
|
|
|
658
700
|
}
|
|
659
701
|
declare function Tree({ nodes, expanded: controlledExpanded, defaultExpanded, selected, onToggle, onSelect, className, ...props }: TreeProps): react.JSX.Element;
|
|
660
702
|
|
|
661
|
-
export { Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, type FieldProps, Input, InputGroup, type InputGroupProps, type InputProps, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, LoadingState, type LoadingStateProps, Modal, type ModalProps, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, Note, type NoteProps, type NoteTone, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Peek, type PeekProps, type PillTone, type PillTreatment, Popover, type PopoverProps, Progress, type ProgressProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectProps, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDirection, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, type StatProps, type StatTrend, StatusPill, type StatusPillProps, SubNavItem, type SubNavItemProps, Switch, type SwitchProps, Tab, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, Textarea, type TextareaProps, Th, type ThProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toast, type ToastProps, type ToastTone, Toaster, type ToasterProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeNodeData, type TreeNodeProps, type TreeProps, UserChip, type UserChipProps, cx, useDialog };
|
|
703
|
+
export { Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, type FieldProps, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, Input, InputGroup, type InputGroupProps, type InputProps, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, LoadingState, type LoadingStateProps, Meter, type MeterProps, type MeterTone, Modal, type ModalProps, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, Note, type NoteProps, type NoteTone, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Peek, type PeekProps, type PillTone, type PillTreatment, Popover, type PopoverProps, Progress, type ProgressProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Select, type SelectProps, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDirection, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, type StatProps, type StatTrend, StatusPill, type StatusPillProps, SubNavItem, type SubNavItemProps, Switch, type SwitchProps, Tab, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, Textarea, type TextareaProps, Th, type ThProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toast, type ToastProps, type ToastTone, Toaster, type ToasterProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeNodeData, type TreeNodeProps, type TreeProps, UserChip, type UserChipProps, cx, useDialog };
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export { SortDirection, Table, TableDensity, TableProps, TableWrap, TableWrapPro
|
|
|
28
28
|
export { Pagination, PaginationProps } from './components/Pagination.js';
|
|
29
29
|
export { PillTone, PillTreatment, StatusPill, StatusPillProps } from './components/StatusPill.js';
|
|
30
30
|
export { Progress, ProgressProps } from './components/Progress.js';
|
|
31
|
+
export { Meter, MeterProps, MeterTone } from './components/Meter.js';
|
|
31
32
|
export { Stat, StatProps, StatTrend } from './components/Stat.js';
|
|
32
33
|
export { Tooltip, TooltipProps } from './components/Tooltip.js';
|
|
33
34
|
export { EmptyState, EmptyStateProps, ErrorState, ErrorStateProps, LoadingState, LoadingStateProps, Skeleton, SkeletonProps } from './components/States.js';
|
|
@@ -38,6 +39,7 @@ export { Timeline, TimelineItem, TimelineItemProps, TimelineProps } from './comp
|
|
|
38
39
|
export { Note, NoteProps, NoteTone, Prose, ProseProps } from './components/Prose.js';
|
|
39
40
|
export { Popover, PopoverProps } from './components/Popover.js';
|
|
40
41
|
export { CommandGroup, CommandGroupProps, CommandItem, CommandItemProps, CommandPalette, CommandPaletteProps } from './components/CommandPalette.js';
|
|
42
|
+
export { Inbox, InboxDetail, InboxDetailProps, InboxItem, InboxItemProps, InboxList, InboxListProps, InboxProps } from './components/Inbox.js';
|
|
41
43
|
export { Kanban, KanbanCard, KanbanCardProps, KanbanColumn, KanbanColumnProps, KanbanProps } from './components/Kanban.js';
|
|
42
44
|
export { Tree, TreeNodeData, TreeNodeProps, TreeProps } from './components/Tree.js';
|
|
43
45
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,7 @@ import { TableWrap, Table, Th, Td, Tr } from "./components/Table.js";
|
|
|
28
28
|
import { Pagination } from "./components/Pagination.js";
|
|
29
29
|
import { StatusPill } from "./components/StatusPill.js";
|
|
30
30
|
import { Progress } from "./components/Progress.js";
|
|
31
|
+
import { Meter } from "./components/Meter.js";
|
|
31
32
|
import { Stat } from "./components/Stat.js";
|
|
32
33
|
import { Tooltip } from "./components/Tooltip.js";
|
|
33
34
|
import { EmptyState, ErrorState, Skeleton, LoadingState } from "./components/States.js";
|
|
@@ -38,6 +39,7 @@ import { Timeline, TimelineItem } from "./components/Timeline.js";
|
|
|
38
39
|
import { Prose, Note } from "./components/Prose.js";
|
|
39
40
|
import { Popover } from "./components/Popover.js";
|
|
40
41
|
import { CommandPalette, CommandGroup, CommandItem } from "./components/CommandPalette.js";
|
|
42
|
+
import { Inbox, InboxList, InboxItem, InboxDetail } from "./components/Inbox.js";
|
|
41
43
|
import { Kanban, KanbanColumn, KanbanCard } from "./components/Kanban.js";
|
|
42
44
|
import { Tree } from "./components/Tree.js";
|
|
43
45
|
export {
|
|
@@ -61,6 +63,10 @@ export {
|
|
|
61
63
|
EmptyState,
|
|
62
64
|
ErrorState,
|
|
63
65
|
Field,
|
|
66
|
+
Inbox,
|
|
67
|
+
InboxDetail,
|
|
68
|
+
InboxItem,
|
|
69
|
+
InboxList,
|
|
64
70
|
Input,
|
|
65
71
|
InputGroup,
|
|
66
72
|
Kanban,
|
|
@@ -70,6 +76,7 @@ export {
|
|
|
70
76
|
List,
|
|
71
77
|
ListItem,
|
|
72
78
|
LoadingState,
|
|
79
|
+
Meter,
|
|
73
80
|
Modal,
|
|
74
81
|
NavFavourites,
|
|
75
82
|
NavGroup,
|