@bestow-ui/react 0.1.0 → 0.2.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/index.cjs +319 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +555 -150
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +145 -2
- package/dist/index.d.ts +145 -2
- package/dist/index.js +302 -18
- package/dist/index.js.map +1 -1
- package/package.json +7 -3
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
10
|
for (var name in all)
|
|
@@ -16,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
|
|
21
31
|
// src/index.ts
|
|
@@ -24,19 +34,26 @@ __export(index_exports, {
|
|
|
24
34
|
Button: () => Button,
|
|
25
35
|
Checkbox: () => Checkbox,
|
|
26
36
|
Input: () => Input,
|
|
37
|
+
Modal: () => Modal,
|
|
38
|
+
ModalClose: () => ModalClose,
|
|
39
|
+
Select: () => Select,
|
|
27
40
|
Stack: () => Stack,
|
|
28
41
|
TextField: () => TextField,
|
|
29
42
|
ThemeProvider: () => ThemeProvider,
|
|
43
|
+
ToastProvider: () => ToastProvider,
|
|
44
|
+
Tooltip: () => Tooltip,
|
|
30
45
|
Typography: () => Typography,
|
|
31
46
|
themeClass: () => themeClass,
|
|
47
|
+
usePortalClassName: () => usePortalClassName,
|
|
32
48
|
useTheme: () => useTheme,
|
|
49
|
+
useToast: () => useToast,
|
|
33
50
|
vars: () => vars
|
|
34
51
|
});
|
|
35
52
|
module.exports = __toCommonJS(index_exports);
|
|
36
53
|
|
|
37
54
|
// src/theme/contract.css.ts
|
|
38
|
-
var themeClass = { light: "
|
|
39
|
-
var vars = { space: { "0": "var(--tkagtb0)", "1": "var(--tkagtb1)", "2": "var(--tkagtb2)", "3": "var(--tkagtb3)", "4": "var(--tkagtb4)", "5": "var(--tkagtb5)", "6": "var(--tkagtb6)", "8": "var(--tkagtb7)", "10": "var(--tkagtb8)", "12": "var(--tkagtb9)", "16": "var(--tkagtba)" }, radius: { none: "var(--tkagtbb)", sm: "var(--tkagtbc)", md: "var(--tkagtbd)", lg: "var(--tkagtbe)", xl: "var(--tkagtbf)", full: "var(--tkagtbg)" }, font: { family: { sans: "var(--tkagtbh)", mono: "var(--tkagtbi)" }, size: { xs: "var(--tkagtbj)", sm: "var(--tkagtbk)", md: "var(--tkagtbl)", lg: "var(--tkagtbm)", xl: "var(--tkagtbn)", "2xl": "var(--tkagtbo)", "3xl": "var(--tkagtbp)", "4xl": "var(--tkagtbq)" }, weight: { regular: "var(--tkagtbr)", medium: "var(--tkagtbs)", semibold: "var(--tkagtbt)", bold: "var(--tkagtbu)" }, lineHeight: { tight: "var(--tkagtbv)", normal: "var(--tkagtbw)", relaxed: "var(--tkagtbx)" } }, shadow: { sm: "var(--tkagtby)", md: "var(--tkagtbz)", lg: "var(--tkagtb10)" }, duration: { fast: "var(--tkagtb11)", normal: "var(--tkagtb12)", slow: "var(--tkagtb13)" }, color: { bg: { "default": "var(--
|
|
55
|
+
var themeClass = { light: "tkagtb29", dark: "tkagtb2a" };
|
|
56
|
+
var vars = { space: { "0": "var(--tkagtb0)", "1": "var(--tkagtb1)", "2": "var(--tkagtb2)", "3": "var(--tkagtb3)", "4": "var(--tkagtb4)", "5": "var(--tkagtb5)", "6": "var(--tkagtb6)", "8": "var(--tkagtb7)", "10": "var(--tkagtb8)", "12": "var(--tkagtb9)", "16": "var(--tkagtba)" }, radius: { none: "var(--tkagtbb)", sm: "var(--tkagtbc)", md: "var(--tkagtbd)", lg: "var(--tkagtbe)", xl: "var(--tkagtbf)", full: "var(--tkagtbg)" }, font: { family: { sans: "var(--tkagtbh)", mono: "var(--tkagtbi)" }, size: { xs: "var(--tkagtbj)", sm: "var(--tkagtbk)", md: "var(--tkagtbl)", lg: "var(--tkagtbm)", xl: "var(--tkagtbn)", "2xl": "var(--tkagtbo)", "3xl": "var(--tkagtbp)", "4xl": "var(--tkagtbq)" }, weight: { regular: "var(--tkagtbr)", medium: "var(--tkagtbs)", semibold: "var(--tkagtbt)", bold: "var(--tkagtbu)" }, lineHeight: { tight: "var(--tkagtbv)", normal: "var(--tkagtbw)", relaxed: "var(--tkagtbx)" } }, shadow: { sm: "var(--tkagtby)", md: "var(--tkagtbz)", lg: "var(--tkagtb10)" }, duration: { fast: "var(--tkagtb11)", normal: "var(--tkagtb12)", slow: "var(--tkagtb13)" }, zIndex: { dropdown: "var(--tkagtb14)", overlay: "var(--tkagtb15)", modal: "var(--tkagtb16)", toast: "var(--tkagtb17)", tooltip: "var(--tkagtb18)" }, color: { bg: { "default": "var(--tkagtb19)", subtle: "var(--tkagtb1a)", muted: "var(--tkagtb1b)", inverse: "var(--tkagtb1c)", overlay: "var(--tkagtb1d)" }, fg: { "default": "var(--tkagtb1e)", muted: "var(--tkagtb1f)", subtle: "var(--tkagtb1g)", inverse: "var(--tkagtb1h)" }, border: { "default": "var(--tkagtb1i)", strong: "var(--tkagtb1j)", focus: "var(--tkagtb1k)" }, primary: { solid: "var(--tkagtb1l)", solidHover: "var(--tkagtb1m)", contrast: "var(--tkagtb1n)", subtle: "var(--tkagtb1o)", subtleHover: "var(--tkagtb1p)", text: "var(--tkagtb1q)" }, neutral: { solid: "var(--tkagtb1r)", solidHover: "var(--tkagtb1s)", contrast: "var(--tkagtb1t)", subtle: "var(--tkagtb1u)", subtleHover: "var(--tkagtb1v)", text: "var(--tkagtb1w)" }, danger: { solid: "var(--tkagtb1x)", solidHover: "var(--tkagtb1y)", contrast: "var(--tkagtb1z)", subtle: "var(--tkagtb20)", subtleHover: "var(--tkagtb21)", text: "var(--tkagtb22)" }, success: { solid: "var(--tkagtb23)", solidHover: "var(--tkagtb24)", contrast: "var(--tkagtb25)", subtle: "var(--tkagtb26)", subtleHover: "var(--tkagtb27)", text: "var(--tkagtb28)" } } };
|
|
40
57
|
|
|
41
58
|
// src/theme/ThemeProvider.tsx
|
|
42
59
|
var import_react = require("react");
|
|
@@ -47,7 +64,8 @@ function cx(...classNames) {
|
|
|
47
64
|
}
|
|
48
65
|
|
|
49
66
|
// src/theme/ThemeProvider.css.ts
|
|
50
|
-
var
|
|
67
|
+
var portal = "sfyhlv0";
|
|
68
|
+
var root = "sfyhlv1 sfyhlv0";
|
|
51
69
|
|
|
52
70
|
// src/theme/ThemeProvider.tsx
|
|
53
71
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -58,6 +76,9 @@ var ThemeProvider = (0, import_react.forwardRef)(function ThemeProvider2({ theme
|
|
|
58
76
|
function useTheme() {
|
|
59
77
|
return (0, import_react.useContext)(ThemeContext);
|
|
60
78
|
}
|
|
79
|
+
function usePortalClassName() {
|
|
80
|
+
return cx(themeClass[useTheme()], portal);
|
|
81
|
+
}
|
|
61
82
|
|
|
62
83
|
// src/components/Button/Button.tsx
|
|
63
84
|
var import_react2 = require("react");
|
|
@@ -91,10 +112,10 @@ var import_react3 = require("react");
|
|
|
91
112
|
|
|
92
113
|
// src/utils/mergeRefs.ts
|
|
93
114
|
function mergeRefs(...refs) {
|
|
94
|
-
return (
|
|
115
|
+
return (value2) => {
|
|
95
116
|
for (const ref of refs) {
|
|
96
|
-
if (typeof ref === "function") ref(
|
|
97
|
-
else if (ref) ref.current =
|
|
117
|
+
if (typeof ref === "function") ref(value2);
|
|
118
|
+
else if (ref) ref.current = value2;
|
|
98
119
|
}
|
|
99
120
|
};
|
|
100
121
|
}
|
|
@@ -203,17 +224,187 @@ var TextField = (0, import_react5.forwardRef)(function TextField2({ label: label
|
|
|
203
224
|
] });
|
|
204
225
|
});
|
|
205
226
|
|
|
206
|
-
// src/components/
|
|
227
|
+
// src/components/Modal/Modal.tsx
|
|
228
|
+
var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
229
|
+
|
|
230
|
+
// src/icons/index.tsx
|
|
231
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
232
|
+
var base = { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", "aria-hidden": true };
|
|
233
|
+
function CloseIcon(props) {
|
|
234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { ...base, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M4 4l8 8M12 4l-8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
|
|
235
|
+
}
|
|
236
|
+
function ChevronDownIcon(props) {
|
|
237
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { ...base, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
238
|
+
}
|
|
239
|
+
function CheckIcon(props) {
|
|
240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { ...base, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M3.5 8.5l3 3 6-7", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// src/components/Modal/Modal.css.ts
|
|
244
|
+
var import_createRuntimeFn4 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
245
|
+
var body = "_1pdsmv0a";
|
|
246
|
+
var closeButton = "_1pdsmv09";
|
|
247
|
+
var content = (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
248
|
+
var description = "_1pdsmv08";
|
|
249
|
+
var footer = "_1pdsmv0b";
|
|
250
|
+
var header = "_1pdsmv05";
|
|
251
|
+
var headings = "_1pdsmv06";
|
|
252
|
+
var overlay = "_1pdsmv00";
|
|
253
|
+
var title = "_1pdsmv07";
|
|
254
|
+
|
|
255
|
+
// src/components/Modal/Modal.tsx
|
|
256
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
257
|
+
function Modal({
|
|
258
|
+
open,
|
|
259
|
+
defaultOpen,
|
|
260
|
+
onOpenChange,
|
|
261
|
+
trigger: trigger2,
|
|
262
|
+
title: title3,
|
|
263
|
+
description: description3,
|
|
264
|
+
children,
|
|
265
|
+
footer: footer2,
|
|
266
|
+
size,
|
|
267
|
+
hideCloseButton = false,
|
|
268
|
+
closeOnOverlayClick = true,
|
|
269
|
+
className
|
|
270
|
+
}) {
|
|
271
|
+
const portalClassName = usePortalClassName();
|
|
272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
|
|
273
|
+
trigger2 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog.Trigger, { asChild: true, children: trigger2 }),
|
|
274
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Dialog.Portal, { children: [
|
|
275
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog.Overlay, { className: cx(portalClassName, overlay) }),
|
|
276
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
277
|
+
Dialog.Content,
|
|
278
|
+
{
|
|
279
|
+
className: cx(portalClassName, content({ size }), className),
|
|
280
|
+
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
281
|
+
...description3 ? {} : { "aria-describedby": void 0 },
|
|
282
|
+
children: [
|
|
283
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: header, children: [
|
|
284
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: headings, children: [
|
|
285
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog.Title, { className: title, children: title3 }),
|
|
286
|
+
description3 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog.Description, { className: description, children: description3 })
|
|
287
|
+
] }),
|
|
288
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Dialog.Close, { className: closeButton, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CloseIcon, {}) })
|
|
289
|
+
] }),
|
|
290
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: body, children }),
|
|
291
|
+
footer2 && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: footer, children: footer2 })
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
)
|
|
295
|
+
] })
|
|
296
|
+
] });
|
|
297
|
+
}
|
|
298
|
+
var ModalClose = Dialog.Close;
|
|
299
|
+
|
|
300
|
+
// src/components/Select/Select.tsx
|
|
301
|
+
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
207
302
|
var import_react6 = require("react");
|
|
208
303
|
|
|
304
|
+
// src/components/Select/Select.css.ts
|
|
305
|
+
var content2 = "_1kx81e83";
|
|
306
|
+
var icon2 = "_1kx81e82";
|
|
307
|
+
var item = "_1kx81e85";
|
|
308
|
+
var itemIndicator = "_1kx81e86";
|
|
309
|
+
var trigger = "_1kx81e80";
|
|
310
|
+
var value = "_1kx81e81";
|
|
311
|
+
var viewport = "_1kx81e84";
|
|
312
|
+
|
|
313
|
+
// src/components/Select/Select.tsx
|
|
314
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
315
|
+
var Select = (0, import_react6.forwardRef)(function Select2({
|
|
316
|
+
options,
|
|
317
|
+
value: value2,
|
|
318
|
+
defaultValue,
|
|
319
|
+
onValueChange,
|
|
320
|
+
placeholder,
|
|
321
|
+
label: label2,
|
|
322
|
+
helperText: helperText2,
|
|
323
|
+
error,
|
|
324
|
+
size,
|
|
325
|
+
fullWidth,
|
|
326
|
+
disabled,
|
|
327
|
+
required,
|
|
328
|
+
name,
|
|
329
|
+
id,
|
|
330
|
+
"aria-label": ariaLabel,
|
|
331
|
+
className
|
|
332
|
+
}, ref) {
|
|
333
|
+
const generatedId = (0, import_react6.useId)();
|
|
334
|
+
const triggerId = id ?? generatedId;
|
|
335
|
+
const helperId = helperText2 ? `${triggerId}-helper` : void 0;
|
|
336
|
+
const portalClassName = usePortalClassName();
|
|
337
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
338
|
+
label2 && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { htmlFor: triggerId, className: label, children: [
|
|
339
|
+
label2,
|
|
340
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
341
|
+
] }),
|
|
342
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
343
|
+
RadixSelect.Root,
|
|
344
|
+
{
|
|
345
|
+
value: value2,
|
|
346
|
+
defaultValue,
|
|
347
|
+
onValueChange,
|
|
348
|
+
disabled,
|
|
349
|
+
required,
|
|
350
|
+
name,
|
|
351
|
+
children: [
|
|
352
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
353
|
+
RadixSelect.Trigger,
|
|
354
|
+
{
|
|
355
|
+
ref,
|
|
356
|
+
id: triggerId,
|
|
357
|
+
"aria-label": ariaLabel,
|
|
358
|
+
"aria-invalid": error || void 0,
|
|
359
|
+
"aria-describedby": helperId,
|
|
360
|
+
"data-invalid": error || void 0,
|
|
361
|
+
className: cx(root3({ size, fullWidth }), trigger, className),
|
|
362
|
+
children: [
|
|
363
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: value, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.Value, { placeholder }) }),
|
|
364
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.Icon, { className: icon2, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ChevronDownIcon, {}) })
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
),
|
|
368
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
369
|
+
RadixSelect.Content,
|
|
370
|
+
{
|
|
371
|
+
position: "popper",
|
|
372
|
+
sideOffset: 4,
|
|
373
|
+
collisionPadding: 8,
|
|
374
|
+
className: cx(portalClassName, content2),
|
|
375
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.Viewport, { className: viewport, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
376
|
+
RadixSelect.Item,
|
|
377
|
+
{
|
|
378
|
+
value: option.value,
|
|
379
|
+
disabled: option.disabled,
|
|
380
|
+
className: item,
|
|
381
|
+
children: [
|
|
382
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.ItemText, { children: option.label }),
|
|
383
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CheckIcon, {}) })
|
|
384
|
+
]
|
|
385
|
+
},
|
|
386
|
+
option.value
|
|
387
|
+
)) })
|
|
388
|
+
}
|
|
389
|
+
) })
|
|
390
|
+
]
|
|
391
|
+
}
|
|
392
|
+
),
|
|
393
|
+
helperText2 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText2 })
|
|
394
|
+
] });
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
// src/components/Stack/Stack.tsx
|
|
398
|
+
var import_react7 = require("react");
|
|
399
|
+
|
|
209
400
|
// src/components/Stack/Stack.css.ts
|
|
210
|
-
var
|
|
211
|
-
var stack = (0,
|
|
401
|
+
var import_createRuntimeFn5 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
402
|
+
var stack = (0, import_createRuntimeFn5.createRuntimeFn)({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
|
|
212
403
|
|
|
213
404
|
// src/components/Stack/Stack.tsx
|
|
214
|
-
var
|
|
215
|
-
var Stack = (0,
|
|
216
|
-
return /* @__PURE__ */ (0,
|
|
405
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
406
|
+
var Stack = (0, import_react7.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
217
408
|
Component,
|
|
218
409
|
{
|
|
219
410
|
ref,
|
|
@@ -223,15 +414,118 @@ var Stack = (0, import_react6.forwardRef)(function Stack2({ as: Component = "div
|
|
|
223
414
|
);
|
|
224
415
|
});
|
|
225
416
|
|
|
417
|
+
// src/components/Toast/Toast.tsx
|
|
418
|
+
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
419
|
+
var import_react8 = require("react");
|
|
420
|
+
|
|
421
|
+
// src/components/Toast/Toast.css.ts
|
|
422
|
+
var import_createRuntimeFn6 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
423
|
+
var action = "_1g11zvx7";
|
|
424
|
+
var close = "_1g11zvx8";
|
|
425
|
+
var description2 = "_1g11zvx6";
|
|
426
|
+
var title2 = "_1g11zvx5";
|
|
427
|
+
var toast = (0, import_createRuntimeFn6.createRuntimeFn)({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", danger: "_1g11zvx4" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
|
|
428
|
+
var viewport2 = "_1g11zvx0";
|
|
429
|
+
|
|
430
|
+
// src/components/Toast/Toast.tsx
|
|
431
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
432
|
+
var REMOVE_DELAY = 500;
|
|
433
|
+
var ToastContext = (0, import_react8.createContext)(null);
|
|
434
|
+
function ToastProvider({ children, duration = 5e3, label: label2 = "\uC54C\uB9BC" }) {
|
|
435
|
+
const [toasts, setToasts] = (0, import_react8.useState)([]);
|
|
436
|
+
const nextId = (0, import_react8.useRef)(0);
|
|
437
|
+
const portalClassName = usePortalClassName();
|
|
438
|
+
const toast2 = (0, import_react8.useCallback)((options) => {
|
|
439
|
+
const id = nextId.current++;
|
|
440
|
+
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
441
|
+
return id;
|
|
442
|
+
}, []);
|
|
443
|
+
const dismiss = (0, import_react8.useCallback)((id) => {
|
|
444
|
+
const isTarget = (t) => id === void 0 || t.id === id;
|
|
445
|
+
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
446
|
+
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
447
|
+
}, []);
|
|
448
|
+
const value2 = (0, import_react8.useMemo)(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
449
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ToastContext.Provider, { value: value2, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(RadixToast.Provider, { duration, label: label2, swipeDirection: "right", children: [
|
|
450
|
+
children,
|
|
451
|
+
toasts.map(({ id, open, title: title3, description: description3, variant, duration: itemDuration, action: action2 }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
452
|
+
RadixToast.Root,
|
|
453
|
+
{
|
|
454
|
+
open,
|
|
455
|
+
duration: itemDuration,
|
|
456
|
+
onOpenChange: (nextOpen) => {
|
|
457
|
+
if (!nextOpen) dismiss(id);
|
|
458
|
+
},
|
|
459
|
+
className: toast({ variant }),
|
|
460
|
+
children: [
|
|
461
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixToast.Title, { className: title2, children: title3 }),
|
|
462
|
+
description3 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixToast.Description, { className: description2, children: description3 }),
|
|
463
|
+
action2 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixToast.Action, { asChild: true, altText: action2.altText ?? action2.label, className: action, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action2.onClick, children: action2.label }) }),
|
|
464
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CloseIcon, {}) })
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
id
|
|
468
|
+
)),
|
|
469
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixToast.Viewport, { className: cx(portalClassName, viewport2) })
|
|
470
|
+
] }) });
|
|
471
|
+
}
|
|
472
|
+
function useToast() {
|
|
473
|
+
const context = (0, import_react8.useContext)(ToastContext);
|
|
474
|
+
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
475
|
+
return context;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// src/components/Tooltip/Tooltip.tsx
|
|
479
|
+
var RadixTooltip = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
480
|
+
|
|
481
|
+
// src/components/Tooltip/Tooltip.css.ts
|
|
482
|
+
var arrow = "z7rufs1";
|
|
483
|
+
var content3 = "z7rufs0";
|
|
484
|
+
|
|
485
|
+
// src/components/Tooltip/Tooltip.tsx
|
|
486
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
487
|
+
function Tooltip({
|
|
488
|
+
content: content4,
|
|
489
|
+
children,
|
|
490
|
+
side = "top",
|
|
491
|
+
align = "center",
|
|
492
|
+
delay = 300,
|
|
493
|
+
open,
|
|
494
|
+
defaultOpen,
|
|
495
|
+
onOpenChange,
|
|
496
|
+
disabled,
|
|
497
|
+
className
|
|
498
|
+
}) {
|
|
499
|
+
const portalClassName = usePortalClassName();
|
|
500
|
+
if (disabled || content4 == null || content4 === "") return children;
|
|
501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
502
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(RadixTooltip.Trigger, { asChild: true, children }),
|
|
503
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(RadixTooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
504
|
+
RadixTooltip.Content,
|
|
505
|
+
{
|
|
506
|
+
side,
|
|
507
|
+
align,
|
|
508
|
+
sideOffset: 6,
|
|
509
|
+
collisionPadding: 8,
|
|
510
|
+
className: cx(portalClassName, content3, className),
|
|
511
|
+
children: [
|
|
512
|
+
content4,
|
|
513
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(RadixTooltip.Arrow, { className: arrow, width: 10, height: 5 })
|
|
514
|
+
]
|
|
515
|
+
}
|
|
516
|
+
) })
|
|
517
|
+
] }) });
|
|
518
|
+
}
|
|
519
|
+
|
|
226
520
|
// src/components/Typography/Typography.tsx
|
|
227
|
-
var
|
|
521
|
+
var import_react9 = require("react");
|
|
228
522
|
|
|
229
523
|
// src/components/Typography/Typography.css.ts
|
|
230
|
-
var
|
|
231
|
-
var typography = (0,
|
|
524
|
+
var import_createRuntimeFn7 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
525
|
+
var typography = (0, import_createRuntimeFn7.createRuntimeFn)({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", inherit: "kioliog" }, weight: { regular: "kiolioh", medium: "kiolioi", semibold: "kiolioj", bold: "kioliok" }, align: { start: "kioliol", center: "kioliom", end: "kiolion" }, truncate: { true: "kiolioo" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
|
|
232
526
|
|
|
233
527
|
// src/components/Typography/Typography.tsx
|
|
234
|
-
var
|
|
528
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
235
529
|
var defaultElement = {
|
|
236
530
|
display: "h1",
|
|
237
531
|
h1: "h1",
|
|
@@ -243,9 +537,9 @@ var defaultElement = {
|
|
|
243
537
|
"body-sm": "p",
|
|
244
538
|
caption: "span"
|
|
245
539
|
};
|
|
246
|
-
var Typography = (0,
|
|
540
|
+
var Typography = (0, import_react9.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
247
541
|
const Component = as ?? defaultElement[variant];
|
|
248
|
-
return /* @__PURE__ */ (0,
|
|
542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
249
543
|
Component,
|
|
250
544
|
{
|
|
251
545
|
ref,
|
|
@@ -259,12 +553,19 @@ var Typography = (0, import_react7.forwardRef)(function Typography2({ variant =
|
|
|
259
553
|
Button,
|
|
260
554
|
Checkbox,
|
|
261
555
|
Input,
|
|
556
|
+
Modal,
|
|
557
|
+
ModalClose,
|
|
558
|
+
Select,
|
|
262
559
|
Stack,
|
|
263
560
|
TextField,
|
|
264
561
|
ThemeProvider,
|
|
562
|
+
ToastProvider,
|
|
563
|
+
Tooltip,
|
|
265
564
|
Typography,
|
|
266
565
|
themeClass,
|
|
566
|
+
usePortalClassName,
|
|
267
567
|
useTheme,
|
|
568
|
+
useToast,
|
|
268
569
|
vars
|
|
269
570
|
});
|
|
270
571
|
//# sourceMappingURL=index.cjs.map
|