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.
- package/dist/components/badge/Badge.d.ts +126 -0
- package/dist/components/badge/Badge.stories.d.ts +10 -0
- package/dist/components/button/Button.d.ts +227 -0
- package/dist/components/button/Button.stories.d.ts +16 -0
- package/dist/components/icon/Icon.d.ts +45 -0
- package/dist/components/icon/Icon.stories.d.ts +36 -0
- package/dist/components/input/input/Input.d.ts +8 -0
- package/dist/components/input/input/Input.stories.d.ts +29 -0
- package/dist/components/input/input/context/InputContext.d.ts +14 -0
- package/dist/components/input/secret-input/SecretInput.d.ts +3 -0
- package/dist/components/input/secret-input/SecretInput.stories.d.ts +29 -0
- package/dist/components/input/secret-input/components/ShowValueToggler.d.ts +4 -0
- package/dist/components/input/text-input/TextInput.d.ts +3 -0
- package/dist/components/input/text-input/TextInput.stories.d.ts +29 -0
- package/dist/components/input/text-input/components/CopyButton.d.ts +4 -0
- package/dist/components/label/Label.d.ts +4 -0
- package/dist/components/label/Label.stories.d.ts +15 -0
- package/dist/components/scheduler/Scheduler.d.ts +73 -0
- package/dist/components/scheduler/Scheduler.stories.d.ts +14 -0
- package/dist/components/scheduler/components/day/Day.d.ts +65 -0
- package/dist/components/scheduler/components/day/Day.stories.d.ts +6 -0
- package/dist/components/scheduler/components/day-column/DayColumn.d.ts +6 -0
- package/dist/components/scheduler/components/day-column/DayColumn.stories.d.ts +23 -0
- package/dist/components/scheduler/components/day-columns/DayColumns.d.ts +5 -0
- package/dist/components/scheduler/components/day-columns/DayColumns.stories.d.ts +22 -0
- package/dist/components/scheduler/components/hour-rows/HourRows.d.ts +1 -0
- package/dist/components/scheduler/components/hour-rows/HourRows.stories.d.ts +12 -0
- package/dist/components/scheduler/components/scheduled-event/ScheduledEvent.d.ts +9 -0
- package/dist/components/scheduler/components/scheduled-event/ScheduledEvent.stories.d.ts +7 -0
- package/dist/components/scheduler/components/scheduled-event/ScheduledEventResizeHandler.d.ts +2 -0
- package/dist/components/scheduler/components/time-ruler/CurrentTimeMarker.d.ts +5 -0
- package/dist/components/scheduler/components/time-ruler/TimeRuler.d.ts +5 -0
- package/dist/components/scheduler/components/time-ruler/TimeRuler.stories.d.ts +7 -0
- package/dist/components/scheduler/components/week-days/WeekDays.d.ts +1 -0
- package/dist/components/scheduler/components/week-days/WeekDays.stories.d.ts +15 -0
- package/dist/components/scheduler/context/SchedulerContext.d.ts +32 -0
- package/dist/components/scheduler/index.d.ts +1 -0
- package/dist/components/scheduler/story-utils/SchedulerContextDecorator.d.ts +1 -0
- package/dist/components/scheduler/story-utils/SchedulerStoriesData.d.ts +2 -0
- package/dist/components/scheduler/types.d.ts +7 -0
- package/dist/components/scheduler/utils/SchedulerUtils.d.ts +34 -0
- package/dist/components/scheduler.d.ts +2 -0
- package/dist/components/scheduler.js +8025 -0
- package/dist/components/scheduler.js.map +1 -0
- package/dist/components/separator/separator.d.ts +44 -0
- package/dist/components/separator/separator.stories.d.ts +6 -0
- package/dist/components/toast/Toast.d.ts +406 -0
- package/dist/components/toast/Toast.stories.d.ts +450 -0
- package/dist/components/toast/components/large-toast/LargeToast.d.ts +2 -0
- package/dist/components/toast/components/medium-toast/MediumToast.d.ts +2 -0
- package/dist/components/toast/components/small-toast/SmallToast.d.ts +2 -0
- package/dist/components/toast/components/toast-action/ToastAction.d.ts +2 -0
- package/dist/components/toast/components/toast-action/ToastAction.stories.d.ts +42 -0
- package/dist/components/toast/components/toast-close-action/ToastCloseButton.d.ts +4 -0
- package/dist/components/toast/components/toast-close-action/ToastCloseButton.stories.d.ts +41 -0
- package/dist/components/toast/components/toast-container/ToastContainer.d.ts +4 -0
- package/dist/components/toast/components/toast-icon/ToastIcon.d.ts +5 -0
- package/dist/components/toast/components/toast-icon/ToastIcon.stories.d.ts +41 -0
- package/dist/components/toast/context/ToastContext.d.ts +9 -0
- package/dist/components/toast/hooks/useToast.d.ts +6 -0
- package/dist/components/toast/hooks/useToastContainer.d.ts +9 -0
- package/dist/components/toast/hooks/useToastContext.d.ts +12 -0
- package/dist/components/toast/utils/ToastUtils.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/index-DBNvHuQo.js +266 -0
- package/dist/index-DBNvHuQo.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +533 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils/date/date.d.ts +1 -0
- package/dist/lib/utils/date/getFirstDayOfWeek.d.ts +7 -0
- package/dist/lib/utils/date/getFirstDayOfWeek.test.d.ts +1 -0
- package/dist/lib/utils/date/roundDateTime.d.ts +10 -0
- package/dist/lib/utils/date/roundDateTime.test.d.ts +1 -0
- package/dist/lib/utils/storybook.d.ts +2 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/styles.css +1598 -0
- package/dist/types/css.d.ts +4 -0
- 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 {};
|