@nexub/patterns 0.0.2 → 1.1.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/chunk-74JVLMLE.js +28 -0
- package/dist/chunk-7GYTYFUD.js +60 -0
- package/dist/chunk-AEYLZU3F.js +53 -0
- package/dist/chunk-AOE6GQSH.js +38 -0
- package/dist/chunk-EOA5C3Q4.js +27 -0
- package/dist/chunk-MXPRKZPB.js +43 -0
- package/dist/chunk-OTNHVOPC.js +23 -0
- package/dist/chunk-QMYBXQG4.js +69 -0
- package/dist/chunk-Y3TNGDKC.js +50 -0
- package/dist/chunk-YX7UO577.js +34 -0
- package/dist/components/ActivityFeed/index.js +7 -0
- package/dist/components/AuthCard/index.js +7 -0
- package/dist/components/FilterBar/index.js +7 -0
- package/dist/components/InfoList/index.js +7 -0
- package/dist/components/NotificationItem/index.js +7 -0
- package/dist/components/PlanCard/index.js +7 -0
- package/dist/components/SettingsSection/index.js +7 -0
- package/dist/components/StatCard/index.js +7 -0
- package/dist/components/StepIndicator/index.js +7 -0
- package/dist/components/UserCard/index.js +7 -0
- package/dist/index.js +43 -330
- package/package.json +13 -13
- package/dist/index.cjs +0 -361
- package/dist/index.d.cts +0 -119
package/dist/index.cjs
DELETED
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var react = require('@nexub/react');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var icons = require('@nexub/icons');
|
|
7
|
-
|
|
8
|
-
function _interopNamespace(e) {
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
27
|
-
|
|
28
|
-
// src/components/ActivityFeed/ActivityFeed.tsx
|
|
29
|
-
var Root = React__namespace.forwardRef(
|
|
30
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
-
"ul",
|
|
32
|
-
{
|
|
33
|
-
ref,
|
|
34
|
-
role: "feed",
|
|
35
|
-
"aria-label": "Activity feed",
|
|
36
|
-
className: react.cn("flex flex-col divide-y divide-[var(--color-border-default)]", className),
|
|
37
|
-
...props,
|
|
38
|
-
children
|
|
39
|
-
}
|
|
40
|
-
)
|
|
41
|
-
);
|
|
42
|
-
Root.displayName = "ActivityFeed.Root";
|
|
43
|
-
var Item = ({ avatar, title, description, timestamp, className }) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: react.cn("flex items-start gap-3 py-3", className), children: [
|
|
44
|
-
avatar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 mt-0.5", children: avatar }),
|
|
45
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
46
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-[var(--color-text-primary)]", children: title }),
|
|
47
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--color-text-muted)] mt-0.5", children: description })
|
|
48
|
-
] }),
|
|
49
|
-
timestamp && /* @__PURE__ */ jsxRuntime.jsx("time", { className: "shrink-0 text-xs text-[var(--color-text-muted)]", children: timestamp })
|
|
50
|
-
] });
|
|
51
|
-
Item.displayName = "ActivityFeed.Item";
|
|
52
|
-
var ActivityFeed = { Root, Item };
|
|
53
|
-
var FilterBar = React__namespace.forwardRef(
|
|
54
|
-
({ searchPlaceholder, onSearch, searchValue, filters, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: react.cn("flex flex-wrap items-center gap-3", className), ...props, children: [
|
|
55
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
-
"input",
|
|
57
|
-
{
|
|
58
|
-
type: "search",
|
|
59
|
-
placeholder: searchPlaceholder ?? "Search\u2026",
|
|
60
|
-
value: searchValue,
|
|
61
|
-
onChange: (e) => onSearch?.(e.target.value),
|
|
62
|
-
className: "h-9 rounded-md border border-[var(--color-border-default)] bg-[var(--color-bg-default)] px-3 py-2 text-sm placeholder:text-[var(--color-text-muted)] focus:outline-none focus:ring-2 focus:ring-[var(--color-brand-primary-500)] w-full sm:w-64"
|
|
63
|
-
}
|
|
64
|
-
),
|
|
65
|
-
filters && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-2", children: filters }),
|
|
66
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex items-center gap-2", children: actions })
|
|
67
|
-
] })
|
|
68
|
-
);
|
|
69
|
-
FilterBar.displayName = "FilterBar";
|
|
70
|
-
var StatCard = React__namespace.forwardRef(
|
|
71
|
-
({
|
|
72
|
-
label,
|
|
73
|
-
value,
|
|
74
|
-
delta,
|
|
75
|
-
deltaType = "neutral",
|
|
76
|
-
icon,
|
|
77
|
-
description,
|
|
78
|
-
className,
|
|
79
|
-
...props
|
|
80
|
-
}, ref) => {
|
|
81
|
-
const deltaColor = deltaType === "increase" ? "var(--color-success-500)" : deltaType === "decrease" ? "var(--color-error-500)" : "var(--color-text-muted)";
|
|
82
|
-
const DeltaIcon = deltaType === "increase" ? icons.TrendingUp : deltaType === "decrease" ? icons.TrendingDown : icons.Minus;
|
|
83
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
84
|
-
"div",
|
|
85
|
-
{
|
|
86
|
-
ref,
|
|
87
|
-
className: react.cn(
|
|
88
|
-
"rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-default)] p-6 flex flex-col gap-3",
|
|
89
|
-
className
|
|
90
|
-
),
|
|
91
|
-
...props,
|
|
92
|
-
children: [
|
|
93
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
94
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-[var(--color-text-muted)]", children: label }),
|
|
95
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[var(--color-text-muted)]", children: icon })
|
|
96
|
-
] }),
|
|
97
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-3xl font-bold tracking-tight text-[var(--color-text-primary)]", children: value }),
|
|
98
|
-
(delta || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
99
|
-
delta && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
100
|
-
"span",
|
|
101
|
-
{
|
|
102
|
-
className: "inline-flex items-center gap-1 text-xs font-medium",
|
|
103
|
-
style: { color: deltaColor },
|
|
104
|
-
"data-delta-type": deltaType,
|
|
105
|
-
children: [
|
|
106
|
-
/* @__PURE__ */ jsxRuntime.jsx(DeltaIcon, { size: "xs", "aria-hidden": "true" }),
|
|
107
|
-
delta
|
|
108
|
-
]
|
|
109
|
-
}
|
|
110
|
-
),
|
|
111
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--color-text-muted)]", children: description })
|
|
112
|
-
] })
|
|
113
|
-
]
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
StatCard.displayName = "StatCard";
|
|
119
|
-
var UserCard = React__namespace.forwardRef(
|
|
120
|
-
({
|
|
121
|
-
name,
|
|
122
|
-
role,
|
|
123
|
-
email,
|
|
124
|
-
avatarSrc,
|
|
125
|
-
avatarFallback,
|
|
126
|
-
actions,
|
|
127
|
-
size = "md",
|
|
128
|
-
className,
|
|
129
|
-
...props
|
|
130
|
-
}, ref) => {
|
|
131
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
132
|
-
"div",
|
|
133
|
-
{
|
|
134
|
-
ref,
|
|
135
|
-
className: react.cn(
|
|
136
|
-
"flex items-center gap-3 rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-default)] p-4",
|
|
137
|
-
className
|
|
138
|
-
),
|
|
139
|
-
...props,
|
|
140
|
-
children: [
|
|
141
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
-
react.Avatar,
|
|
143
|
-
{
|
|
144
|
-
size,
|
|
145
|
-
src: avatarSrc,
|
|
146
|
-
name,
|
|
147
|
-
fallback: avatarFallback
|
|
148
|
-
}
|
|
149
|
-
),
|
|
150
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 flex flex-col gap-0.5", children: [
|
|
151
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-[var(--color-text-primary)] truncate", children: name }),
|
|
152
|
-
role && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--color-text-muted)] truncate", children: role }),
|
|
153
|
-
email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--color-text-secondary)] truncate", children: email })
|
|
154
|
-
] }),
|
|
155
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 shrink-0", children: actions })
|
|
156
|
-
]
|
|
157
|
-
}
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
);
|
|
161
|
-
UserCard.displayName = "UserCard";
|
|
162
|
-
function AuthCard({
|
|
163
|
-
logo,
|
|
164
|
-
title,
|
|
165
|
-
description,
|
|
166
|
-
children,
|
|
167
|
-
footer,
|
|
168
|
-
className
|
|
169
|
-
}) {
|
|
170
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
171
|
-
"div",
|
|
172
|
-
{
|
|
173
|
-
className: react.cn(
|
|
174
|
-
"mx-auto w-full max-w-[400px] flex flex-col gap-6",
|
|
175
|
-
className
|
|
176
|
-
),
|
|
177
|
-
children: [
|
|
178
|
-
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: logo }),
|
|
179
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
180
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-bold tracking-tight text-[var(--color-text-primary)]", children: title }),
|
|
181
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--color-text-muted)]", children: description })
|
|
182
|
-
] }),
|
|
183
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-default)] p-6 flex flex-col gap-4", children }),
|
|
184
|
-
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center gap-2 text-sm text-[var(--color-text-muted)]", children: footer })
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
);
|
|
188
|
-
}
|
|
189
|
-
AuthCard.displayName = "AuthCard";
|
|
190
|
-
var SettingsSection = React__namespace.forwardRef(
|
|
191
|
-
({ title, description, actions, children, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: react.cn("flex flex-col gap-8", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:flex-row md:gap-8", children: [
|
|
192
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:w-1/3 flex flex-col gap-1", children: [
|
|
193
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-base font-semibold text-[var(--color-text-primary)]", children: title }),
|
|
194
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--color-text-muted)]", children: description })
|
|
195
|
-
] }),
|
|
196
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex flex-col gap-4", children: [
|
|
197
|
-
children,
|
|
198
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end gap-2", children: actions })
|
|
199
|
-
] })
|
|
200
|
-
] }) })
|
|
201
|
-
);
|
|
202
|
-
SettingsSection.displayName = "SettingsSection";
|
|
203
|
-
var Root2 = React__namespace.forwardRef(
|
|
204
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
205
|
-
"dl",
|
|
206
|
-
{
|
|
207
|
-
ref,
|
|
208
|
-
className: react.cn("divide-y divide-[var(--color-border-default)]", className),
|
|
209
|
-
...props,
|
|
210
|
-
children
|
|
211
|
-
}
|
|
212
|
-
)
|
|
213
|
-
);
|
|
214
|
-
Root2.displayName = "InfoList.Root";
|
|
215
|
-
var Item2 = ({ label, value, className }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: react.cn("flex items-center justify-between py-3 gap-4", className), children: [
|
|
216
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-sm text-[var(--color-text-muted)] shrink-0", children: label }),
|
|
217
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-sm font-medium text-[var(--color-text-primary)] text-right", children: value })
|
|
218
|
-
] });
|
|
219
|
-
Item2.displayName = "InfoList.Item";
|
|
220
|
-
var InfoList = { Root: Root2, Item: Item2 };
|
|
221
|
-
var PlanCard = React__namespace.forwardRef(
|
|
222
|
-
({
|
|
223
|
-
name,
|
|
224
|
-
price,
|
|
225
|
-
period,
|
|
226
|
-
description,
|
|
227
|
-
features,
|
|
228
|
-
cta,
|
|
229
|
-
onSelect,
|
|
230
|
-
highlighted = false,
|
|
231
|
-
badge,
|
|
232
|
-
className,
|
|
233
|
-
...props
|
|
234
|
-
}, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
235
|
-
"div",
|
|
236
|
-
{
|
|
237
|
-
ref,
|
|
238
|
-
className: react.cn(
|
|
239
|
-
"relative flex flex-col gap-6 rounded-xl border bg-[var(--color-bg-default)] p-6",
|
|
240
|
-
highlighted ? "border-[var(--color-brand-primary-500)] shadow-lg ring-1 ring-[var(--color-brand-primary-500)]" : "border-[var(--color-border-default)]",
|
|
241
|
-
className
|
|
242
|
-
),
|
|
243
|
-
...props,
|
|
244
|
-
children: [
|
|
245
|
-
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -top-3 left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(react.Badge, { tone: "info", children: badge }) }),
|
|
246
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
247
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-semibold text-[var(--color-text-primary)]", children: name }),
|
|
248
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-1", children: [
|
|
249
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-3xl font-bold text-[var(--color-text-primary)]", children: price }),
|
|
250
|
-
period && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: period })
|
|
251
|
-
] }),
|
|
252
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--color-text-muted)]", children: description })
|
|
253
|
-
] }),
|
|
254
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-2", children: features.map((feature) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
255
|
-
"li",
|
|
256
|
-
{
|
|
257
|
-
className: "flex items-center gap-2 text-sm text-[var(--color-text-secondary)]",
|
|
258
|
-
children: [
|
|
259
|
-
/* @__PURE__ */ jsxRuntime.jsx(icons.Check, { size: "xs", className: "text-[var(--color-success-500)] shrink-0", "aria-hidden": "true" }),
|
|
260
|
-
feature
|
|
261
|
-
]
|
|
262
|
-
},
|
|
263
|
-
feature
|
|
264
|
-
)) }),
|
|
265
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
266
|
-
react.Button,
|
|
267
|
-
{
|
|
268
|
-
variant: highlighted ? "primary" : "outline",
|
|
269
|
-
className: "mt-auto w-full",
|
|
270
|
-
onClick: onSelect,
|
|
271
|
-
children: cta
|
|
272
|
-
}
|
|
273
|
-
)
|
|
274
|
-
]
|
|
275
|
-
}
|
|
276
|
-
)
|
|
277
|
-
);
|
|
278
|
-
PlanCard.displayName = "PlanCard";
|
|
279
|
-
var StepIndicator = React__namespace.forwardRef(
|
|
280
|
-
({ steps, currentStep, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ol", { ref, className: react.cn("flex flex-col gap-0", className), ...props, children: steps.map((step, index) => {
|
|
281
|
-
const status = index < currentStep ? "complete" : index === currentStep ? "current" : "upcoming";
|
|
282
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "relative flex gap-4 pb-6 last:pb-0", children: [
|
|
283
|
-
index < steps.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
284
|
-
"div",
|
|
285
|
-
{
|
|
286
|
-
className: "absolute left-4 top-8 h-full w-px bg-[var(--color-border-default)]",
|
|
287
|
-
"aria-hidden": "true"
|
|
288
|
-
}
|
|
289
|
-
),
|
|
290
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
291
|
-
"div",
|
|
292
|
-
{
|
|
293
|
-
className: react.cn(
|
|
294
|
-
"relative z-10 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-xs font-semibold",
|
|
295
|
-
status === "complete" && "bg-[var(--color-brand-primary-500)] text-white",
|
|
296
|
-
status === "current" && "border-2 border-[var(--color-brand-primary-500)] text-[var(--color-brand-primary-500)] bg-[var(--color-bg-default)]",
|
|
297
|
-
status === "upcoming" && "border-2 border-[var(--color-border-default)] text-[var(--color-text-muted)] bg-[var(--color-bg-default)]"
|
|
298
|
-
),
|
|
299
|
-
"aria-current": status === "current" ? "step" : void 0,
|
|
300
|
-
children: status === "complete" ? /* @__PURE__ */ jsxRuntime.jsx(icons.Check, { size: "xs", "aria-hidden": "true" }) : index + 1
|
|
301
|
-
}
|
|
302
|
-
),
|
|
303
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 pt-0.5", children: [
|
|
304
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-[var(--color-text-primary)]", children: step.label }),
|
|
305
|
-
step.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-[var(--color-text-muted)]", children: step.description })
|
|
306
|
-
] })
|
|
307
|
-
] }, step.label);
|
|
308
|
-
}) })
|
|
309
|
-
);
|
|
310
|
-
StepIndicator.displayName = "StepIndicator";
|
|
311
|
-
var NotificationItem = React__namespace.forwardRef(
|
|
312
|
-
({ title, description, timestamp, read = false, icon, onDismiss, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
313
|
-
"div",
|
|
314
|
-
{
|
|
315
|
-
ref,
|
|
316
|
-
className: react.cn(
|
|
317
|
-
"flex items-start gap-3 p-3 rounded-lg transition-colors hover:bg-[var(--color-bg-subtle)]",
|
|
318
|
-
!read && "bg-[var(--color-bg-subtle)]",
|
|
319
|
-
className
|
|
320
|
-
),
|
|
321
|
-
...props,
|
|
322
|
-
children: [
|
|
323
|
-
!read && /* @__PURE__ */ jsxRuntime.jsx(
|
|
324
|
-
"span",
|
|
325
|
-
{
|
|
326
|
-
className: "mt-1.5 h-2 w-2 shrink-0 rounded-full bg-[var(--color-brand-primary-500)]",
|
|
327
|
-
"aria-label": "Unread"
|
|
328
|
-
}
|
|
329
|
-
),
|
|
330
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 mt-0.5", children: icon }),
|
|
331
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
332
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-[var(--color-text-primary)] truncate", children: title }),
|
|
333
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--color-text-muted)] mt-0.5 line-clamp-2", children: description }),
|
|
334
|
-
timestamp && /* @__PURE__ */ jsxRuntime.jsx("time", { className: "text-xs text-[var(--color-text-muted)] mt-1 block", children: timestamp })
|
|
335
|
-
] }),
|
|
336
|
-
onDismiss && /* @__PURE__ */ jsxRuntime.jsx(
|
|
337
|
-
"button",
|
|
338
|
-
{
|
|
339
|
-
type: "button",
|
|
340
|
-
onClick: onDismiss,
|
|
341
|
-
"aria-label": "Dismiss notification",
|
|
342
|
-
className: "shrink-0 text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)] p-1 rounded",
|
|
343
|
-
children: "\xD7"
|
|
344
|
-
}
|
|
345
|
-
)
|
|
346
|
-
]
|
|
347
|
-
}
|
|
348
|
-
)
|
|
349
|
-
);
|
|
350
|
-
NotificationItem.displayName = "NotificationItem";
|
|
351
|
-
|
|
352
|
-
exports.ActivityFeed = ActivityFeed;
|
|
353
|
-
exports.AuthCard = AuthCard;
|
|
354
|
-
exports.FilterBar = FilterBar;
|
|
355
|
-
exports.InfoList = InfoList;
|
|
356
|
-
exports.NotificationItem = NotificationItem;
|
|
357
|
-
exports.PlanCard = PlanCard;
|
|
358
|
-
exports.SettingsSection = SettingsSection;
|
|
359
|
-
exports.StatCard = StatCard;
|
|
360
|
-
exports.StepIndicator = StepIndicator;
|
|
361
|
-
exports.UserCard = UserCard;
|
package/dist/index.d.cts
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
|
|
4
|
-
interface ActivityItemProps {
|
|
5
|
-
avatar?: React.ReactNode;
|
|
6
|
-
title: React.ReactNode;
|
|
7
|
-
description?: React.ReactNode;
|
|
8
|
-
timestamp?: string;
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
declare const ActivityFeed: {
|
|
12
|
-
Root: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
|
|
13
|
-
Item: {
|
|
14
|
-
({ avatar, title, description, timestamp, className }: ActivityItemProps): react_jsx_runtime.JSX.Element;
|
|
15
|
-
displayName: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
interface FilterBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
20
|
-
searchPlaceholder?: string;
|
|
21
|
-
onSearch?: (value: string) => void;
|
|
22
|
-
searchValue?: string;
|
|
23
|
-
filters?: React.ReactNode;
|
|
24
|
-
actions?: React.ReactNode;
|
|
25
|
-
}
|
|
26
|
-
declare const FilterBar: React.ForwardRefExoticComponent<FilterBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
27
|
-
|
|
28
|
-
interface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
29
|
-
label: string;
|
|
30
|
-
value: React.ReactNode;
|
|
31
|
-
delta?: string;
|
|
32
|
-
deltaType?: 'increase' | 'decrease' | 'neutral';
|
|
33
|
-
icon?: React.ReactNode;
|
|
34
|
-
description?: string;
|
|
35
|
-
}
|
|
36
|
-
declare const StatCard: React.ForwardRefExoticComponent<StatCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
-
|
|
38
|
-
interface UserCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
39
|
-
name: string;
|
|
40
|
-
role?: string;
|
|
41
|
-
email?: string;
|
|
42
|
-
avatarSrc?: string;
|
|
43
|
-
avatarFallback?: string;
|
|
44
|
-
actions?: React.ReactNode;
|
|
45
|
-
size?: 'sm' | 'md' | 'lg';
|
|
46
|
-
}
|
|
47
|
-
declare const UserCard: React.ForwardRefExoticComponent<UserCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
48
|
-
|
|
49
|
-
interface AuthCardProps {
|
|
50
|
-
logo?: React.ReactNode;
|
|
51
|
-
title: string;
|
|
52
|
-
description?: string;
|
|
53
|
-
children: React.ReactNode;
|
|
54
|
-
footer?: React.ReactNode;
|
|
55
|
-
className?: string;
|
|
56
|
-
}
|
|
57
|
-
declare function AuthCard({ logo, title, description, children, footer, className, }: AuthCardProps): react_jsx_runtime.JSX.Element;
|
|
58
|
-
declare namespace AuthCard {
|
|
59
|
-
var displayName: string;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
interface SettingsSectionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
63
|
-
title: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
actions?: React.ReactNode;
|
|
66
|
-
children: React.ReactNode;
|
|
67
|
-
}
|
|
68
|
-
declare const SettingsSection: React.ForwardRefExoticComponent<SettingsSectionProps & React.RefAttributes<HTMLDivElement>>;
|
|
69
|
-
|
|
70
|
-
interface InfoListRootProps extends React.HTMLAttributes<HTMLDListElement> {
|
|
71
|
-
children: React.ReactNode;
|
|
72
|
-
}
|
|
73
|
-
interface InfoListItemProps {
|
|
74
|
-
label: string;
|
|
75
|
-
value: React.ReactNode;
|
|
76
|
-
className?: string;
|
|
77
|
-
}
|
|
78
|
-
declare const InfoList: {
|
|
79
|
-
Root: React.ForwardRefExoticComponent<InfoListRootProps & React.RefAttributes<HTMLDListElement>>;
|
|
80
|
-
Item: {
|
|
81
|
-
({ label, value, className }: InfoListItemProps): react_jsx_runtime.JSX.Element;
|
|
82
|
-
displayName: string;
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
interface PlanCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
87
|
-
name: string;
|
|
88
|
-
price: string;
|
|
89
|
-
period?: string;
|
|
90
|
-
description?: string;
|
|
91
|
-
features: string[];
|
|
92
|
-
cta: string;
|
|
93
|
-
onSelect?: () => void;
|
|
94
|
-
highlighted?: boolean;
|
|
95
|
-
badge?: string;
|
|
96
|
-
}
|
|
97
|
-
declare const PlanCard: React.ForwardRefExoticComponent<PlanCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
98
|
-
|
|
99
|
-
interface StepIndicatorStep {
|
|
100
|
-
label: string;
|
|
101
|
-
description?: string;
|
|
102
|
-
}
|
|
103
|
-
interface StepIndicatorProps extends React.HTMLAttributes<HTMLOListElement> {
|
|
104
|
-
steps: StepIndicatorStep[];
|
|
105
|
-
currentStep: number;
|
|
106
|
-
}
|
|
107
|
-
declare const StepIndicator: React.ForwardRefExoticComponent<StepIndicatorProps & React.RefAttributes<HTMLOListElement>>;
|
|
108
|
-
|
|
109
|
-
interface NotificationItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
110
|
-
title: string;
|
|
111
|
-
description?: string;
|
|
112
|
-
timestamp?: string;
|
|
113
|
-
read?: boolean;
|
|
114
|
-
icon?: React.ReactNode;
|
|
115
|
-
onDismiss?: () => void;
|
|
116
|
-
}
|
|
117
|
-
declare const NotificationItem: React.ForwardRefExoticComponent<NotificationItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
118
|
-
|
|
119
|
-
export { ActivityFeed, type ActivityItemProps, AuthCard, type AuthCardProps, FilterBar, type FilterBarProps, InfoList, type InfoListItemProps, type InfoListRootProps, NotificationItem, type NotificationItemProps, PlanCard, type PlanCardProps, SettingsSection, type SettingsSectionProps, StatCard, type StatCardProps, StepIndicator, type StepIndicatorProps, type StepIndicatorStep, UserCard, type UserCardProps };
|