ics-ui-kit 0.1.0-alpha.1

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.
Files changed (79) hide show
  1. package/dist/components/badge/Badge.d.ts +126 -0
  2. package/dist/components/badge/Badge.stories.d.ts +10 -0
  3. package/dist/components/button/Button.d.ts +227 -0
  4. package/dist/components/button/Button.stories.d.ts +16 -0
  5. package/dist/components/icon/Icon.d.ts +45 -0
  6. package/dist/components/icon/Icon.stories.d.ts +36 -0
  7. package/dist/components/input/input/Input.d.ts +8 -0
  8. package/dist/components/input/input/Input.stories.d.ts +29 -0
  9. package/dist/components/input/input/context/InputContext.d.ts +14 -0
  10. package/dist/components/input/secret-input/SecretInput.d.ts +3 -0
  11. package/dist/components/input/secret-input/SecretInput.stories.d.ts +29 -0
  12. package/dist/components/input/secret-input/components/ShowValueToggler.d.ts +4 -0
  13. package/dist/components/input/text-input/TextInput.d.ts +3 -0
  14. package/dist/components/input/text-input/TextInput.stories.d.ts +29 -0
  15. package/dist/components/input/text-input/components/CopyButton.d.ts +4 -0
  16. package/dist/components/label/Label.d.ts +4 -0
  17. package/dist/components/label/Label.stories.d.ts +15 -0
  18. package/dist/components/scheduler/Scheduler.d.ts +73 -0
  19. package/dist/components/scheduler/Scheduler.stories.d.ts +14 -0
  20. package/dist/components/scheduler/components/day/Day.d.ts +65 -0
  21. package/dist/components/scheduler/components/day/Day.stories.d.ts +6 -0
  22. package/dist/components/scheduler/components/day-column/DayColumn.d.ts +6 -0
  23. package/dist/components/scheduler/components/day-column/DayColumn.stories.d.ts +23 -0
  24. package/dist/components/scheduler/components/day-columns/DayColumns.d.ts +5 -0
  25. package/dist/components/scheduler/components/day-columns/DayColumns.stories.d.ts +22 -0
  26. package/dist/components/scheduler/components/hour-rows/HourRows.d.ts +1 -0
  27. package/dist/components/scheduler/components/hour-rows/HourRows.stories.d.ts +12 -0
  28. package/dist/components/scheduler/components/scheduled-event/ScheduledEvent.d.ts +9 -0
  29. package/dist/components/scheduler/components/scheduled-event/ScheduledEvent.stories.d.ts +7 -0
  30. package/dist/components/scheduler/components/scheduled-event/ScheduledEventResizeHandler.d.ts +2 -0
  31. package/dist/components/scheduler/components/time-ruler/CurrentTimeMarker.d.ts +5 -0
  32. package/dist/components/scheduler/components/time-ruler/TimeRuler.d.ts +5 -0
  33. package/dist/components/scheduler/components/time-ruler/TimeRuler.stories.d.ts +7 -0
  34. package/dist/components/scheduler/components/week-days/WeekDays.d.ts +1 -0
  35. package/dist/components/scheduler/components/week-days/WeekDays.stories.d.ts +15 -0
  36. package/dist/components/scheduler/context/SchedulerContext.d.ts +32 -0
  37. package/dist/components/scheduler/index.d.ts +1 -0
  38. package/dist/components/scheduler/story-utils/SchedulerContextDecorator.d.ts +1 -0
  39. package/dist/components/scheduler/story-utils/SchedulerStoriesData.d.ts +2 -0
  40. package/dist/components/scheduler/types.d.ts +7 -0
  41. package/dist/components/scheduler/utils/SchedulerUtils.d.ts +34 -0
  42. package/dist/components/scheduler.d.ts +2 -0
  43. package/dist/components/scheduler.js +8025 -0
  44. package/dist/components/scheduler.js.map +1 -0
  45. package/dist/components/separator/separator.d.ts +44 -0
  46. package/dist/components/separator/separator.stories.d.ts +6 -0
  47. package/dist/components/toast/Toast.d.ts +406 -0
  48. package/dist/components/toast/Toast.stories.d.ts +450 -0
  49. package/dist/components/toast/components/large-toast/LargeToast.d.ts +2 -0
  50. package/dist/components/toast/components/medium-toast/MediumToast.d.ts +2 -0
  51. package/dist/components/toast/components/small-toast/SmallToast.d.ts +2 -0
  52. package/dist/components/toast/components/toast-action/ToastAction.d.ts +2 -0
  53. package/dist/components/toast/components/toast-action/ToastAction.stories.d.ts +42 -0
  54. package/dist/components/toast/components/toast-close-action/ToastCloseButton.d.ts +4 -0
  55. package/dist/components/toast/components/toast-close-action/ToastCloseButton.stories.d.ts +41 -0
  56. package/dist/components/toast/components/toast-container/ToastContainer.d.ts +4 -0
  57. package/dist/components/toast/components/toast-icon/ToastIcon.d.ts +5 -0
  58. package/dist/components/toast/components/toast-icon/ToastIcon.stories.d.ts +41 -0
  59. package/dist/components/toast/context/ToastContext.d.ts +9 -0
  60. package/dist/components/toast/hooks/useToast.d.ts +6 -0
  61. package/dist/components/toast/hooks/useToastContainer.d.ts +9 -0
  62. package/dist/components/toast/hooks/useToastContext.d.ts +12 -0
  63. package/dist/components/toast/utils/ToastUtils.d.ts +5 -0
  64. package/dist/components/ui/tooltip.d.ts +7 -0
  65. package/dist/index-DBNvHuQo.js +266 -0
  66. package/dist/index-DBNvHuQo.js.map +1 -0
  67. package/dist/index.d.ts +4 -0
  68. package/dist/index.js +533 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/lib/utils/date/date.d.ts +1 -0
  71. package/dist/lib/utils/date/getFirstDayOfWeek.d.ts +7 -0
  72. package/dist/lib/utils/date/getFirstDayOfWeek.test.d.ts +1 -0
  73. package/dist/lib/utils/date/roundDateTime.d.ts +10 -0
  74. package/dist/lib/utils/date/roundDateTime.test.d.ts +1 -0
  75. package/dist/lib/utils/storybook.d.ts +2 -0
  76. package/dist/lib/utils.d.ts +2 -0
  77. package/dist/styles.css +1598 -0
  78. package/dist/types/css.d.ts +4 -0
  79. package/package.json +96 -0
package/dist/index.js ADDED
@@ -0,0 +1,533 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
33
+ import { forwardRef, createContext, useContext, createElement } from "react";
34
+ import { c as ce, S as Slot } from "./index-DBNvHuQo.js";
35
+ import { twMerge } from "tailwind-merge";
36
+ const buttonVariants = ce({
37
+ base: "inline-flex shrink-0 cursor-pointer select-none items-center justify-center rounded-md font-medium text-primary-fg",
38
+ variants: {
39
+ variant: {
40
+ primary: "bg-primary text-primary-bg hover:bg-primary-hover",
41
+ secondary: "bg-primary-bg hover:bg-primary-bg-hover",
42
+ outline: "border border-solid border-secondary-border bg-secondary-bg hover:border-primary-border hover:bg-secondary-bg-hover",
43
+ ghost: "bg-transparent hover:bg-secondary-bg-hover",
44
+ link: "bg-transparent text-muted underline underline-offset-base hover:text-primary-fg",
45
+ text: "bg-transparent text-muted hover:text-primary-fg"
46
+ },
47
+ state: {
48
+ default: "",
49
+ disabled: "pointer-events-none opacity-50"
50
+ },
51
+ status: {
52
+ default: "",
53
+ info: "text-status-info",
54
+ success: "text-status-success",
55
+ warning: "text-status-warning",
56
+ error: "text-status-error"
57
+ },
58
+ size: {
59
+ xs: "h-7 gap-2 px-2 py-1.5 text-xs leading-none",
60
+ sm: "h-8 gap-2 px-3 py-2 text-xs leading-none",
61
+ md: "h-9 gap-2 px-4 py-2 text-sm leading-none",
62
+ lg: "h-10 gap-2 px-6 py-2 text-base leading-none",
63
+ xl: "h-11 gap-3 px-8 py-3 text-lg leading-none"
64
+ },
65
+ iconOnly: {
66
+ true: "",
67
+ false: ""
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ variant: "primary",
72
+ size: "md",
73
+ status: "default",
74
+ state: "default",
75
+ iconOnly: false
76
+ },
77
+ compoundVariants: [
78
+ /*
79
+ * Statuses
80
+ */
81
+ // Primary
82
+ {
83
+ variant: "primary",
84
+ status: ["info", "success", "warning", "error"],
85
+ class: "text-white hover:text-white"
86
+ },
87
+ {
88
+ variant: "primary",
89
+ status: "info",
90
+ class: "bg-status-info hover:bg-status-info-hover"
91
+ },
92
+ {
93
+ variant: "primary",
94
+ status: "success",
95
+ class: "bg-status-success hover:bg-status-success-hover"
96
+ },
97
+ {
98
+ variant: "primary",
99
+ status: "warning",
100
+ class: "bg-status-warning hover:bg-status-warning-hover"
101
+ },
102
+ {
103
+ variant: "primary",
104
+ status: "error",
105
+ class: "bg-status-error hover:bg-status-error-hover"
106
+ },
107
+ // Secondary
108
+ {
109
+ variant: "secondary",
110
+ status: "info",
111
+ class: "bg-status-info-bg hover:bg-status-info-bg-hover"
112
+ },
113
+ {
114
+ variant: "secondary",
115
+ status: "success",
116
+ class: "bg-status-success-bg hover:bg-status-success-bg-hover"
117
+ },
118
+ {
119
+ variant: "secondary",
120
+ status: "warning",
121
+ class: "bg-status-warning-bg hover:bg-status-warning-bg-hover"
122
+ },
123
+ {
124
+ variant: "secondary",
125
+ status: "error",
126
+ class: "bg-status-error-bg hover:bg-status-error-bg-hover"
127
+ },
128
+ // Outline
129
+ {
130
+ variant: "outline",
131
+ status: "info",
132
+ class: "border-status-info-border hover:border-status-info-border hover:bg-status-info-bg"
133
+ },
134
+ {
135
+ variant: "outline",
136
+ status: "success",
137
+ class: "border-status-success-border hover:border-status-success-border hover:bg-status-success-bg"
138
+ },
139
+ {
140
+ variant: "outline",
141
+ status: "warning",
142
+ class: "border-status-warning-border hover:border-status-warning-border hover:bg-status-warning-bg"
143
+ },
144
+ {
145
+ variant: "outline",
146
+ status: "error",
147
+ class: "border-status-error-secondary-border hover:border-status-error-secondary-border hover:bg-status-error-bg"
148
+ },
149
+ // Ghost
150
+ {
151
+ variant: "ghost",
152
+ status: "info",
153
+ class: "text-status-info hover:bg-status-info-bg"
154
+ },
155
+ {
156
+ variant: "ghost",
157
+ status: "success",
158
+ class: "text-status-success hover:bg-status-success-bg"
159
+ },
160
+ {
161
+ variant: "ghost",
162
+ status: "warning",
163
+ class: "text-status-warning hover:bg-status-warning-bg"
164
+ },
165
+ {
166
+ variant: "ghost",
167
+ status: "error",
168
+ class: "text-status-error hover:bg-status-error-bg"
169
+ },
170
+ // Text & Link
171
+ {
172
+ variant: ["text", "link"],
173
+ status: "info",
174
+ class: "text-status-info/70 hover:text-status-info"
175
+ },
176
+ {
177
+ variant: ["text", "link"],
178
+ status: "success",
179
+ class: "text-status-success/70 hover:text-status-success"
180
+ },
181
+ {
182
+ variant: ["text", "link"],
183
+ status: "warning",
184
+ class: "text-status-warning/70 hover:text-status-warning"
185
+ },
186
+ {
187
+ variant: ["text", "link"],
188
+ status: "error",
189
+ class: "text-status-error/70 hover:text-status-error"
190
+ },
191
+ /*
192
+ * IconOnly
193
+ */
194
+ {
195
+ iconOnly: true,
196
+ size: "xl",
197
+ class: "p-3.5"
198
+ },
199
+ {
200
+ iconOnly: true,
201
+ size: "lg",
202
+ class: "p-3"
203
+ },
204
+ {
205
+ iconOnly: true,
206
+ size: "md",
207
+ class: "p-2.5"
208
+ },
209
+ {
210
+ iconOnly: true,
211
+ size: "sm",
212
+ class: "p-2"
213
+ },
214
+ {
215
+ iconOnly: true,
216
+ size: "xs",
217
+ class: "p-1.5"
218
+ }
219
+ ]
220
+ });
221
+ const Button = forwardRef(
222
+ (_a, ref) => {
223
+ var _b = _a, { variant, state, size, children, status, className, iconOnly, asChild = false } = _b, props = __objRest(_b, ["variant", "state", "size", "children", "status", "className", "iconOnly", "asChild"]);
224
+ const Comp = asChild ? Slot : "button";
225
+ return /* @__PURE__ */ jsx(
226
+ Comp,
227
+ __spreadProps(__spreadValues({
228
+ className: buttonVariants({ variant, state, size, status, iconOnly, className }),
229
+ ref
230
+ }, props), {
231
+ children
232
+ })
233
+ );
234
+ }
235
+ );
236
+ const separatorVariants = ce({
237
+ variants: {
238
+ orientation: {
239
+ horizontal: "h-px w-full bg-secondary-border",
240
+ vertical: "h-full w-px bg-secondary-border"
241
+ }
242
+ }
243
+ });
244
+ const Separator = ({ orientation, className }) => {
245
+ return /* @__PURE__ */ jsx("div", { className: separatorVariants({ orientation, className }) });
246
+ };
247
+ const ToastContext = createContext(null);
248
+ const useToastContext = () => {
249
+ const context = useContext(ToastContext);
250
+ if (!context) {
251
+ throw new Error("useToastContext must be used within a ToastProvider");
252
+ }
253
+ return context;
254
+ };
255
+ /**
256
+ * @license lucide-react v0.460.0 - ISC
257
+ *
258
+ * This source code is licensed under the ISC license.
259
+ * See the LICENSE file in the root directory of this source tree.
260
+ */
261
+ const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
262
+ const mergeClasses = (...classes) => classes.filter((className, index, array) => {
263
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
264
+ }).join(" ").trim();
265
+ /**
266
+ * @license lucide-react v0.460.0 - ISC
267
+ *
268
+ * This source code is licensed under the ISC license.
269
+ * See the LICENSE file in the root directory of this source tree.
270
+ */
271
+ var defaultAttributes = {
272
+ xmlns: "http://www.w3.org/2000/svg",
273
+ width: 24,
274
+ height: 24,
275
+ viewBox: "0 0 24 24",
276
+ fill: "none",
277
+ stroke: "currentColor",
278
+ strokeWidth: 2,
279
+ strokeLinecap: "round",
280
+ strokeLinejoin: "round"
281
+ };
282
+ /**
283
+ * @license lucide-react v0.460.0 - ISC
284
+ *
285
+ * This source code is licensed under the ISC license.
286
+ * See the LICENSE file in the root directory of this source tree.
287
+ */
288
+ const Icon$1 = forwardRef(
289
+ (_c, ref) => {
290
+ var _d = _c, {
291
+ color = "currentColor",
292
+ size = 24,
293
+ strokeWidth = 2,
294
+ absoluteStrokeWidth,
295
+ className = "",
296
+ children,
297
+ iconNode
298
+ } = _d, rest = __objRest(_d, [
299
+ "color",
300
+ "size",
301
+ "strokeWidth",
302
+ "absoluteStrokeWidth",
303
+ "className",
304
+ "children",
305
+ "iconNode"
306
+ ]);
307
+ return createElement(
308
+ "svg",
309
+ __spreadValues(__spreadProps(__spreadValues({
310
+ ref
311
+ }, defaultAttributes), {
312
+ width: size,
313
+ height: size,
314
+ stroke: color,
315
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
316
+ className: mergeClasses("lucide", className)
317
+ }), rest),
318
+ [
319
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
320
+ ...Array.isArray(children) ? children : [children]
321
+ ]
322
+ );
323
+ }
324
+ );
325
+ /**
326
+ * @license lucide-react v0.460.0 - ISC
327
+ *
328
+ * This source code is licensed under the ISC license.
329
+ * See the LICENSE file in the root directory of this source tree.
330
+ */
331
+ const createLucideIcon = (iconName, iconNode) => {
332
+ const Component = forwardRef(
333
+ (_a, ref) => {
334
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
335
+ return createElement(Icon$1, __spreadValues({
336
+ ref,
337
+ iconNode,
338
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
339
+ }, props));
340
+ }
341
+ );
342
+ Component.displayName = `${iconName}`;
343
+ return Component;
344
+ };
345
+ /**
346
+ * @license lucide-react v0.460.0 - ISC
347
+ *
348
+ * This source code is licensed under the ISC license.
349
+ * See the LICENSE file in the root directory of this source tree.
350
+ */
351
+ const X = createLucideIcon("X", [
352
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
353
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
354
+ ]);
355
+ const iconVariants = ce({
356
+ base: "h-4 w-4",
357
+ variants: {
358
+ size: {
359
+ sm: "h-3 w-3",
360
+ md: "h-4 w-4"
361
+ }
362
+ },
363
+ defaultVariants: {
364
+ size: "md"
365
+ }
366
+ });
367
+ const Icon = ({ icon: Icon2, className, size }) => {
368
+ return /* @__PURE__ */ jsx(Icon2, { className: iconVariants({ size, className }) });
369
+ };
370
+ const getVariantByFocus = (toastFocus) => {
371
+ const variantByFocus = {
372
+ low: "ghost",
373
+ medium: "secondary",
374
+ high: "primary"
375
+ };
376
+ return variantByFocus[toastFocus];
377
+ };
378
+ function getButtonProps(toastProps, actionType) {
379
+ const { size: toastSize, focus: toastFocus, status: toastStatus } = toastProps;
380
+ const isHighFocusSmall = ["medium", "high"].includes(toastFocus) && toastSize === "sm";
381
+ const baseProps = {
382
+ status: isHighFocusSmall ? toastStatus : "default"
383
+ };
384
+ {
385
+ return __spreadProps(__spreadValues({}, baseProps), {
386
+ size: toastSize === "lg" ? "xl" : "lg",
387
+ iconOnly: true,
388
+ variant: toastSize === "sm" ? getVariantByFocus(toastFocus) : "text"
389
+ });
390
+ }
391
+ }
392
+ const toastCloseButtonVariants = ce({
393
+ variants: {
394
+ status: {
395
+ default: "",
396
+ info: "",
397
+ success: "",
398
+ warning: "",
399
+ error: ""
400
+ },
401
+ focus: {
402
+ low: "",
403
+ medium: "",
404
+ high: ""
405
+ },
406
+ size: {
407
+ sm: "h-full rounded-none",
408
+ md: "",
409
+ lg: ""
410
+ }
411
+ },
412
+ compoundVariants: [
413
+ {
414
+ size: "sm",
415
+ focus: "medium",
416
+ className: "text-primary-fg"
417
+ },
418
+ {
419
+ size: ["md", "lg"],
420
+ focus: "high",
421
+ status: "default",
422
+ className: "text-primary-bg/70 hover:text-primary-bg"
423
+ },
424
+ {
425
+ size: ["md", "lg"],
426
+ focus: "high",
427
+ status: ["info", "success", "warning", "error"],
428
+ className: "text-white/70 hover:text-white"
429
+ }
430
+ ]
431
+ });
432
+ const ToastCloseButton = ({ className }) => {
433
+ const toastProps = useToastContext();
434
+ if (!toastProps) {
435
+ throw new Error("ToastCloseButton must be used within Toast");
436
+ }
437
+ const buttonProps = getButtonProps(toastProps);
438
+ return /* @__PURE__ */ jsx(
439
+ Button,
440
+ __spreadProps(__spreadValues({}, buttonProps), {
441
+ onClick: toastProps.onClose,
442
+ className: twMerge(
443
+ toastCloseButtonVariants({
444
+ size: toastProps.size,
445
+ focus: toastProps.focus,
446
+ status: toastProps.status
447
+ }),
448
+ className
449
+ ),
450
+ children: /* @__PURE__ */ jsx(Icon, { icon: X })
451
+ })
452
+ );
453
+ };
454
+ const toastStyles$2 = ce({
455
+ slots: {
456
+ contentWrapper: "flex min-w-0 items-center gap-2 pr-3",
457
+ titleWrapper: "min-w-0 truncate"
458
+ }
459
+ });
460
+ const SmallToast = (_e) => {
461
+ var _f = _e, { titleIcon } = _f, styleProps = __objRest(_f, ["titleIcon"]);
462
+ const { titleText, close, separator } = styleProps;
463
+ const { contentWrapper, titleWrapper } = toastStyles$2();
464
+ const context = useToastContext();
465
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
466
+ /* @__PURE__ */ jsxs("div", { className: contentWrapper(), children: [
467
+ titleIcon,
468
+ /* @__PURE__ */ jsx("div", { className: twMerge(titleWrapper(), titleText()), children: /* @__PURE__ */ jsx("span", { children: context.title }) })
469
+ ] }),
470
+ context.primaryAction && /* @__PURE__ */ jsxs(Fragment, { children: [
471
+ /* @__PURE__ */ jsx(Separator, { className: separator(), orientation: "vertical" }),
472
+ context.primaryAction
473
+ ] }),
474
+ context.closeAction && /* @__PURE__ */ jsxs(Fragment, { children: [
475
+ /* @__PURE__ */ jsx(Separator, { className: separator(), orientation: "vertical" }),
476
+ /* @__PURE__ */ jsx(ToastCloseButton, { className: close() })
477
+ ] })
478
+ ] });
479
+ };
480
+ const toastStyles$1 = ce({
481
+ slots: {
482
+ contentWrapper: "flex gap-3 py-2.5 pr-2.5"
483
+ }
484
+ });
485
+ const MediumToast = (_g) => {
486
+ var _h = _g, { titleIcon } = _h, styleProps = __objRest(_h, ["titleIcon"]);
487
+ const { titleText, close } = styleProps;
488
+ const { contentWrapper } = toastStyles$1();
489
+ const context = useToastContext();
490
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
491
+ /* @__PURE__ */ jsxs("div", { className: contentWrapper(), children: [
492
+ titleIcon,
493
+ /* @__PURE__ */ jsx("span", { className: titleText(), children: context.title })
494
+ ] }),
495
+ context.primaryAction && context.primaryAction,
496
+ context.closeAction && /* @__PURE__ */ jsx(ToastCloseButton, { className: close() })
497
+ ] });
498
+ };
499
+ const toastStyles = ce({
500
+ slots: {
501
+ contentWrapper: "flex flex-col gap-4",
502
+ topZone: "flex gap-3",
503
+ textWrapper: "flex flex-col gap-1",
504
+ actionsWrapper: "flex w-full justify-end gap-2"
505
+ }
506
+ });
507
+ const LargeToast = (_i) => {
508
+ var _j = _i, { titleIcon } = _j, styleProps = __objRest(_j, ["titleIcon"]);
509
+ const { titleText, close, descriptionText } = styleProps;
510
+ const { contentWrapper, topZone, textWrapper, actionsWrapper } = toastStyles();
511
+ const context = useToastContext();
512
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: contentWrapper(), children: [
513
+ /* @__PURE__ */ jsxs("div", { className: topZone(), children: [
514
+ titleIcon,
515
+ /* @__PURE__ */ jsxs("div", { className: textWrapper(), children: [
516
+ /* @__PURE__ */ jsx("span", { className: titleText(), children: context.title }),
517
+ context.description && /* @__PURE__ */ jsx("span", { className: descriptionText(), children: context.description })
518
+ ] }),
519
+ context.closeAction && /* @__PURE__ */ jsx(ToastCloseButton, { className: close() })
520
+ ] }),
521
+ context.secondaryAction || context.primaryAction ? /* @__PURE__ */ jsxs("div", { className: actionsWrapper(), children: [
522
+ context.secondaryAction,
523
+ context.primaryAction
524
+ ] }) : null
525
+ ] }) });
526
+ };
527
+ export {
528
+ Button,
529
+ LargeToast,
530
+ MediumToast,
531
+ SmallToast
532
+ };
533
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/components/button/Button.tsx","../src/components/separator/separator.tsx","../src/components/toast/hooks/useToastContext.tsx","../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js","../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js","../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js","../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js","../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js","../src/components/icon/Icon.tsx","../src/components/toast/utils/ToastUtils.tsx","../src/components/toast/components/toast-close-action/ToastCloseButton.tsx","../src/components/toast/components/small-toast/SmallToast.tsx","../src/components/toast/components/medium-toast/MediumToast.tsx","../src/components/toast/components/large-toast/LargeToast.tsx"],"sourcesContent":["import { FC, forwardRef, PropsWithChildren } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\n\r\nconst buttonVariants = tv({\r\n\tbase: \"inline-flex shrink-0 cursor-pointer select-none items-center justify-center rounded-md font-medium text-primary-fg\",\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tprimary: \"bg-primary text-primary-bg hover:bg-primary-hover\",\r\n\t\t\tsecondary: \"bg-primary-bg hover:bg-primary-bg-hover\",\r\n\t\t\toutline:\r\n\t\t\t\t\"border border-solid border-secondary-border bg-secondary-bg hover:border-primary-border hover:bg-secondary-bg-hover\",\r\n\t\t\tghost: \"bg-transparent hover:bg-secondary-bg-hover\",\r\n\t\t\tlink: \"bg-transparent text-muted underline underline-offset-base hover:text-primary-fg\",\r\n\t\t\ttext: \"bg-transparent text-muted hover:text-primary-fg\"\r\n\t\t},\r\n\t\tstate: {\r\n\t\t\tdefault: \"\",\r\n\t\t\tdisabled: \"pointer-events-none opacity-50\"\r\n\t\t},\r\n\t\tstatus: {\r\n\t\t\tdefault: \"\",\r\n\t\t\tinfo: \"text-status-info\",\r\n\t\t\tsuccess: \"text-status-success\",\r\n\t\t\twarning: \"text-status-warning\",\r\n\t\t\terror: \"text-status-error\"\r\n\t\t},\r\n\t\tsize: {\r\n\t\t\txs: \"h-7 gap-2 px-2 py-1.5 text-xs leading-none\",\r\n\t\t\tsm: \"h-8 gap-2 px-3 py-2 text-xs leading-none\",\r\n\t\t\tmd: \"h-9 gap-2 px-4 py-2 text-sm leading-none\",\r\n\t\t\tlg: \"h-10 gap-2 px-6 py-2 text-base leading-none\",\r\n\t\t\txl: \"h-11 gap-3 px-8 py-3 text-lg leading-none\"\r\n\t\t},\r\n\t\ticonOnly: {\r\n\t\t\ttrue: \"\",\r\n\t\t\tfalse: \"\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tvariant: \"primary\",\r\n\t\tsize: \"md\",\r\n\t\tstatus: \"default\",\r\n\t\tstate: \"default\",\r\n\t\ticonOnly: false\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t/*\r\n\t\t * Statuses\r\n\t\t */\r\n\t\t// Primary\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: [\"info\", \"success\", \"warning\", \"error\"],\r\n\t\t\tclass: \"text-white hover:text-white\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"bg-status-info hover:bg-status-info-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"bg-status-success hover:bg-status-success-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"bg-status-warning hover:bg-status-warning-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"primary\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"bg-status-error hover:bg-status-error-hover\"\r\n\t\t},\r\n\t\t// Secondary\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"bg-status-info-bg hover:bg-status-info-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"bg-status-success-bg hover:bg-status-success-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"bg-status-warning-bg hover:bg-status-warning-bg-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"secondary\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"bg-status-error-bg hover:bg-status-error-bg-hover\"\r\n\t\t},\r\n\t\t// Outline\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"border-status-info-border hover:border-status-info-border hover:bg-status-info-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"border-status-success-border hover:border-status-success-border hover:bg-status-success-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"border-status-warning-border hover:border-status-warning-border hover:bg-status-warning-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"border-status-error-secondary-border hover:border-status-error-secondary-border hover:bg-status-error-bg\"\r\n\t\t},\r\n\t\t// Ghost\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"text-status-info hover:bg-status-info-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"text-status-success hover:bg-status-success-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"text-status-warning hover:bg-status-warning-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"text-status-error hover:bg-status-error-bg\"\r\n\t\t},\r\n\t\t// Text & Link\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"info\",\r\n\t\t\tclass: \"text-status-info/70 hover:text-status-info\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"success\",\r\n\t\t\tclass: \"text-status-success/70 hover:text-status-success\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"warning\",\r\n\t\t\tclass: \"text-status-warning/70 hover:text-status-warning\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tvariant: [\"text\", \"link\"],\r\n\t\t\tstatus: \"error\",\r\n\t\t\tclass: \"text-status-error/70 hover:text-status-error\"\r\n\t\t},\r\n\t\t/*\r\n\t\t * IconOnly\r\n\t\t */\r\n\t\t{\r\n\t\t\ticonOnly: true,\r\n\t\t\tsize: \"xl\",\r\n\t\t\tclass: \"p-3.5\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ticonOnly: true,\r\n\t\t\tsize: \"lg\",\r\n\t\t\tclass: \"p-3\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ticonOnly: true,\r\n\t\t\tsize: \"md\",\r\n\t\t\tclass: \"p-2.5\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ticonOnly: true,\r\n\t\t\tsize: \"sm\",\r\n\t\t\tclass: \"p-2\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ticonOnly: true,\r\n\t\t\tsize: \"xs\",\r\n\t\t\tclass: \"p-1.5\"\r\n\t\t}\r\n\t]\r\n});\r\n\r\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> &\r\n\tVariantProps<typeof buttonVariants> & {\r\n\t\tclassName?: string;\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const Button: FC<PropsWithChildren<ButtonProps>> = forwardRef<HTMLButtonElement, ButtonProps>(\r\n\t({ variant, state, size, children, status, className, iconOnly, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"button\";\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tclassName={buttonVariants({ variant, state, size, status, iconOnly, className })}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</Comp>\r\n\t\t);\r\n\t}\r\n);\r\n","import { FC } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst separatorVariants = tv({\r\n\tvariants: {\r\n\t\torientation: {\r\n\t\t\thorizontal: \"h-px w-full bg-secondary-border\",\r\n\t\t\tvertical: \"h-full w-px bg-secondary-border\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type SeparatorProps = Required<VariantProps<typeof separatorVariants>> & {\r\n\tclassName?: string;\r\n};\r\n\r\nexport const Separator: FC<SeparatorProps> = ({ orientation, className }) => {\r\n\treturn <div className={separatorVariants({ orientation, className })} />;\r\n};\r\n","import { createContext, useContext } from \"react\";\r\nimport { ToastProps } from \"../Toast\";\r\n\r\ntype ToastContextType = ToastProps & {\r\n\tid?: number;\r\n};\r\n\r\nexport const ToastContext = createContext<ToastContextType | null>(null);\r\n\r\nexport const ToastProvider: React.FC<{\r\n\tchildren: React.ReactNode;\r\n\tvalue: ToastContextType;\r\n}> = ({ children, value }) => {\r\n\treturn <ToastContext.Provider value={value}>{children}</ToastContext.Provider>;\r\n};\r\n\r\nexport const useToastContext = () => {\r\n\tconst context = useContext(ToastContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useToastContext must be used within a ToastProvider\");\r\n\t}\r\n\treturn context;\r\n};\r\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","import { tv, VariantProps } from \"tailwind-variants\";\r\nimport { LucideIcon } from \"lucide-react\";\r\n\r\nconst iconVariants = tv({\r\n\tbase: \"h-4 w-4\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"h-3 w-3\",\r\n\t\t\tmd: \"h-4 w-4\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type IconProps = VariantProps<typeof iconVariants> & {\r\n\ticon: LucideIcon;\r\n\tclassName?: string;\r\n};\r\n\r\nexport const Icon: React.FC<IconProps> = ({ icon: Icon, className, size }) => {\r\n\treturn <Icon className={iconVariants({ size, className })} />;\r\n};\r\n","import { ButtonProps } from \"@/components/button/Button\";\r\nimport { ToastProps } from \"../Toast\";\r\n\r\ntype ActionType = \"primary\" | \"secondary\" | \"close\";\r\n\r\nconst getVariantByFocus = (toastFocus: ToastProps[\"focus\"]): ButtonProps[\"variant\"] => {\r\n\tconst variantByFocus: Record<ToastProps[\"focus\"], ButtonProps[\"variant\"]> = {\r\n\t\tlow: \"ghost\",\r\n\t\tmedium: \"secondary\",\r\n\t\thigh: \"primary\"\r\n\t};\r\n\treturn variantByFocus[toastFocus];\r\n};\r\n\r\nexport function getButtonProps(toastProps: ToastProps, actionType: ActionType): ButtonProps {\r\n\tconst { size: toastSize, focus: toastFocus, status: toastStatus } = toastProps;\r\n\tconst isHighFocusSmall = [\"medium\", \"high\"].includes(toastFocus) && toastSize === \"sm\";\r\n\r\n\tconst baseProps: ButtonProps = {\r\n\t\tstatus: isHighFocusSmall ? toastStatus : \"default\"\r\n\t};\r\n\r\n\tif (actionType === \"close\") {\r\n\t\treturn {\r\n\t\t\t...baseProps,\r\n\t\t\tsize: toastSize === \"lg\" ? \"xl\" : \"lg\",\r\n\t\t\ticonOnly: true,\r\n\t\t\tvariant: toastSize === \"sm\" ? getVariantByFocus(toastFocus) : \"text\"\r\n\t\t};\r\n\t}\r\n\r\n\tconst variantBySize: Record<typeof toastSize, ButtonProps[\"variant\"]> = {\r\n\t\tsm: getVariantByFocus(toastFocus),\r\n\t\tmd: \"link\",\r\n\t\tlg: actionType === \"primary\" ? (toastFocus === \"high\" ? \"secondary\" : \"outline\") : \"text\"\r\n\t};\r\n\r\n\treturn {\r\n\t\t...baseProps,\r\n\t\tsize: toastSize === \"lg\" ? \"md\" : \"lg\",\r\n\t\tvariant: variantBySize[toastSize]\r\n\t};\r\n}\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Button } from \"@/components/button/Button\";\r\nimport { useToastContext } from \"../../hooks/useToastContext\";\r\nimport { X } from \"lucide-react\";\r\nimport { Icon } from \"@/components/icon/Icon\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { getButtonProps } from \"../../utils/ToastUtils\";\r\n\r\nconst toastCloseButtonVariants = tv({\r\n\tvariants: {\r\n\t\tstatus: {\r\n\t\t\tdefault: \"\",\r\n\t\t\tinfo: \"\",\r\n\t\t\tsuccess: \"\",\r\n\t\t\twarning: \"\",\r\n\t\t\terror: \"\"\r\n\t\t},\r\n\t\tfocus: {\r\n\t\t\tlow: \"\",\r\n\t\t\tmedium: \"\",\r\n\t\t\thigh: \"\"\r\n\t\t},\r\n\t\tsize: {\r\n\t\t\tsm: \"h-full rounded-none\",\r\n\t\t\tmd: \"\",\r\n\t\t\tlg: \"\"\r\n\t\t}\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\tsize: \"sm\",\r\n\t\t\tfocus: \"medium\",\r\n\t\t\tclassName: \"text-primary-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tsize: [\"md\", \"lg\"],\r\n\t\t\tfocus: \"high\",\r\n\t\t\tstatus: \"default\",\r\n\t\t\tclassName: \"text-primary-bg/70 hover:text-primary-bg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\tsize: [\"md\", \"lg\"],\r\n\t\t\tfocus: \"high\",\r\n\t\t\tstatus: [\"info\", \"success\", \"warning\", \"error\"],\r\n\t\t\tclassName: \"text-white/70 hover:text-white\"\r\n\t\t}\r\n\t]\r\n});\r\n\r\nexport const ToastCloseButton: React.FC<{ className?: string }> = ({ className }) => {\r\n\tconst toastProps = useToastContext();\r\n\r\n\tif (!toastProps) {\r\n\t\tthrow new Error(\"ToastCloseButton must be used within Toast\");\r\n\t}\r\n\tconst buttonProps = getButtonProps(toastProps, \"close\");\r\n\treturn (\r\n\t\t<Button\r\n\t\t\t{...buttonProps}\r\n\t\t\tonClick={toastProps.onClose}\r\n\t\t\tclassName={twMerge(\r\n\t\t\t\ttoastCloseButtonVariants({\r\n\t\t\t\t\tsize: toastProps.size,\r\n\t\t\t\t\tfocus: toastProps.focus,\r\n\t\t\t\t\tstatus: toastProps.status\r\n\t\t\t\t}),\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t>\r\n\t\t\t<Icon icon={X} />\r\n\t\t</Button>\r\n\t);\r\n};\r\n","import { Separator } from \"@/components/separator/separator\";\r\nimport { useToastContext } from \"../../hooks/useToastContext\";\r\nimport { ToastViewProps } from \"../../Toast\";\r\nimport { ToastCloseButton } from \"../toast-close-action/ToastCloseButton\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nconst toastStyles = tv({\r\n\tslots: {\r\n\t\tcontentWrapper: \"flex min-w-0 items-center gap-2 pr-3\",\r\n\t\ttitleWrapper: \"min-w-0 truncate\"\r\n\t}\r\n});\r\n\r\nexport const SmallToast: React.FC<ToastViewProps> = ({ titleIcon, ...styleProps }) => {\r\n\tconst { titleText, close, separator } = styleProps;\r\n\tconst { contentWrapper, titleWrapper } = toastStyles();\r\n\tconst context = useToastContext();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t{titleIcon}\r\n\t\t\t\t<div className={twMerge(titleWrapper(), titleText())}>\r\n\t\t\t\t\t<span>{context.title}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t{context.primaryAction && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<Separator className={separator()} orientation=\"vertical\" />\r\n\t\t\t\t\t{context.primaryAction}\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t\t{context.closeAction && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<Separator className={separator()} orientation=\"vertical\" />\r\n\t\t\t\t\t<ToastCloseButton className={close()} />\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n};\r\n","import { useToastContext } from \"../../hooks/useToastContext\";\r\nimport { ToastViewProps } from \"../../Toast\";\r\nimport { ToastCloseButton } from \"../toast-close-action/ToastCloseButton\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst toastStyles = tv({\r\n\tslots: {\r\n\t\tcontentWrapper: \"flex gap-3 py-2.5 pr-2.5\"\r\n\t}\r\n});\r\n\r\nexport const MediumToast: React.FC<ToastViewProps> = ({ titleIcon, ...styleProps }) => {\r\n\tconst { titleText, close } = styleProps;\r\n\tconst { contentWrapper } = toastStyles();\r\n\tconst context = useToastContext();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t{titleIcon}\r\n\t\t\t\t<span className={titleText()}>{context.title}</span>\r\n\t\t\t</div>\r\n\t\t\t{context.primaryAction && context.primaryAction}\r\n\t\t\t{context.closeAction && <ToastCloseButton className={close()} />}\r\n\t\t</>\r\n\t);\r\n};\r\n","import { useToastContext } from \"../../hooks/useToastContext\";\r\nimport { ToastViewProps } from \"../../Toast\";\r\nimport { ToastCloseButton } from \"../toast-close-action/ToastCloseButton\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst toastStyles = tv({\r\n\tslots: {\r\n\t\tcontentWrapper: \"flex flex-col gap-4\",\r\n\t\ttopZone: \"flex gap-3\",\r\n\t\ttextWrapper: \"flex flex-col gap-1\",\r\n\t\tactionsWrapper: \"flex w-full justify-end gap-2\"\r\n\t}\r\n});\r\n\r\nexport const LargeToast: React.FC<ToastViewProps> = ({ titleIcon, ...styleProps }) => {\r\n\tconst { titleText, close, descriptionText } = styleProps;\r\n\tconst { contentWrapper, topZone, textWrapper, actionsWrapper } = toastStyles();\r\n\tconst context = useToastContext();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t<div className={topZone()}>\r\n\t\t\t\t\t{titleIcon}\r\n\t\t\t\t\t<div className={textWrapper()}>\r\n\t\t\t\t\t\t<span className={titleText()}>{context.title}</span>\r\n\t\t\t\t\t\t{context.description && <span className={descriptionText()}>{context.description}</span>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{context.closeAction && <ToastCloseButton className={close()} />}\r\n\t\t\t\t</div>\r\n\t\t\t\t{context.secondaryAction || context.primaryAction ? (\r\n\t\t\t\t\t<div className={actionsWrapper()}>\r\n\t\t\t\t\t\t{context.secondaryAction}\r\n\t\t\t\t\t\t{context.primaryAction}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t) : null}\r\n\t\t\t</div>\r\n\t\t</>\r\n\t);\r\n};\r\n"],"names":["tv","Icon","toastStyles"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7]}
@@ -0,0 +1 @@
1
+ export declare function getFormattedTime(date: Date): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Возвращает первый день недели для заданной даты.
3
+ * @param date - Дата, для которой нужно найти первый день недели.
4
+ * @param firstDayOfWeek - Номер дня недели, который считается первым. По умолчанию 1 (понедельник).
5
+ * @returns Дата, представляющая первый день недели.
6
+ */
7
+ export declare function getFirstDayOfWeek(date: Date, firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6): Date;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ type RoundDirection = "up" | "down";
2
+ /**
3
+ * Округляет дату до ближайшего интервала snap
4
+ * @param date - Дата для округления
5
+ * @param snap - Интервал округления в минутах
6
+ * @param round - Направление округления. По умолчанию ближайшее.
7
+ * @returns Округленная дата
8
+ */
9
+ export declare const roundDateTime: (date: Date, snap: number, round?: RoundDirection) => Date;
10
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { CSSProperties } from 'react';
2
+ export declare const resizeDecorator: (wrapperStyle?: CSSProperties) => (Story: React.FC) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;