boottent-design 0.1.7 → 0.1.8

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.
@@ -0,0 +1,570 @@
1
+ import { ClassProp } from 'class-variance-authority/types';
2
+ import * as React_2 from 'react';
3
+ import * as ToastPrimitives from '@radix-ui/react-toast';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ export declare interface AlertPortalOptions {
7
+ id: string;
8
+ type: "alert";
9
+ props: AlertProps;
10
+ }
11
+
12
+ export declare interface AlertProps {
13
+ id?: string;
14
+ title?: string;
15
+ description: string | React.ReactNode;
16
+ confirmText?: string;
17
+ onConfirm?: () => void;
18
+ size?: "sm" | "md" | "lg" | "fit";
19
+ onClose?: () => void;
20
+ }
21
+
22
+ export declare interface DialogPortalOptions {
23
+ id: string;
24
+ type: "dialog";
25
+ props: DialogProps;
26
+ }
27
+
28
+ export declare interface DialogProps {
29
+ id?: string;
30
+ title: string;
31
+ content: string | React.ReactNode;
32
+ onConfirm?: () => void;
33
+ onCancel?: () => void;
34
+ onClose?: () => void;
35
+ }
36
+
37
+ export declare interface ModalPortalOptions {
38
+ id: string;
39
+ type: "modal";
40
+ props: ModalProps;
41
+ }
42
+
43
+ export declare interface ModalProps {
44
+ id?: string;
45
+ title: string;
46
+ description?: string | React.ReactNode;
47
+ subDescription?: string | React.ReactNode;
48
+ size?: "sm" | "md" | "lg" | "fit";
49
+ confirmText?: string;
50
+ onConfirm?: () => void;
51
+ cancelText?: string;
52
+ onClose: () => void;
53
+ contents?: React.ReactNode;
54
+ className?: string;
55
+ }
56
+
57
+ export declare type PortalOptions = ModalPortalOptions | ToastPortalOptions | AlertPortalOptions | DialogPortalOptions;
58
+
59
+ export declare type PortalType = "modal" | "toast" | "alert" | "dialog";
60
+
61
+ export declare interface ReactIconProps {
62
+ size?: number;
63
+ color?: string;
64
+ className?: string;
65
+ }
66
+
67
+ export declare type SvgIconType = {
68
+ size?: string;
69
+ fill?: string;
70
+ className?: string;
71
+ };
72
+
73
+ declare const Toast: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React_2.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
74
+ variant?: "white" | "black" | null | undefined;
75
+ position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | null | undefined;
76
+ size?: "sm" | "md" | "lg" | "xl" | "full" | "fit" | null | undefined;
77
+ } & ClassProp) | undefined) => string> & React_2.RefAttributes<HTMLLIElement>>;
78
+
79
+ export declare interface ToasterProps extends ToastProps {
80
+ id?: string;
81
+ title?: string;
82
+ description?: React.ReactNode;
83
+ action?: () => void;
84
+ actionText?: string | React.ReactNode;
85
+ closeButton?: boolean;
86
+ onClose?: () => void;
87
+ }
88
+
89
+ export declare interface ToastPortalOptions {
90
+ id: string;
91
+ type: "toast";
92
+ props: ToastProps;
93
+ }
94
+
95
+ declare type ToastProps = React_2.ComponentPropsWithoutRef<typeof Toast>;
96
+
97
+ export { }
98
+
99
+ declare namespace _default {
100
+ let content: string[];
101
+ namespace theme {
102
+ export namespace container {
103
+ let center: boolean;
104
+ let padding: string;
105
+ let screens: {
106
+ "2xl": string;
107
+ };
108
+ }
109
+ export namespace extend {
110
+ export namespace colors {
111
+ let border: string;
112
+ let input: string;
113
+ let ring: string;
114
+ let background: string;
115
+ let foreground: string;
116
+ namespace primary {
117
+ export let DEFAULT: string;
118
+ let foreground_1: string;
119
+ export { foreground_1 as foreground };
120
+ }
121
+ namespace secondary {
122
+ let DEFAULT_1: string;
123
+ export { DEFAULT_1 as DEFAULT };
124
+ let foreground_2: string;
125
+ export { foreground_2 as foreground };
126
+ }
127
+ namespace destructive {
128
+ let DEFAULT_2: string;
129
+ export { DEFAULT_2 as DEFAULT };
130
+ let foreground_3: string;
131
+ export { foreground_3 as foreground };
132
+ }
133
+ namespace muted {
134
+ let DEFAULT_3: string;
135
+ export { DEFAULT_3 as DEFAULT };
136
+ let foreground_4: string;
137
+ export { foreground_4 as foreground };
138
+ let border_1: string;
139
+ export { border_1 as border };
140
+ }
141
+ namespace accent {
142
+ let DEFAULT_4: string;
143
+ export { DEFAULT_4 as DEFAULT };
144
+ let foreground_5: string;
145
+ export { foreground_5 as foreground };
146
+ }
147
+ namespace popover {
148
+ let DEFAULT_5: string;
149
+ export { DEFAULT_5 as DEFAULT };
150
+ let foreground_6: string;
151
+ export { foreground_6 as foreground };
152
+ }
153
+ namespace card {
154
+ let DEFAULT_6: string;
155
+ export { DEFAULT_6 as DEFAULT };
156
+ let foreground_7: string;
157
+ export { foreground_7 as foreground };
158
+ }
159
+ }
160
+ export namespace borderRadius {
161
+ let lg: string;
162
+ let md: string;
163
+ let sm: string;
164
+ }
165
+ export let keyframes: {
166
+ "accordion-down": {
167
+ from: {
168
+ height: string;
169
+ };
170
+ to: {
171
+ height: string;
172
+ };
173
+ };
174
+ "accordion-up": {
175
+ from: {
176
+ height: string;
177
+ };
178
+ to: {
179
+ height: string;
180
+ };
181
+ };
182
+ pokeRight: {
183
+ "0%, 100%": {
184
+ transform: string;
185
+ animationTimingFunction: string;
186
+ };
187
+ "50%": {
188
+ transform: string;
189
+ animationTimingFunction: string;
190
+ };
191
+ };
192
+ };
193
+ export let animation: {
194
+ "accordion-down": string;
195
+ "accordion-up": string;
196
+ pokeRight: string;
197
+ };
198
+ export namespace fontFamily {
199
+ let pretendard: string[];
200
+ }
201
+ export namespace aspectRatio {
202
+ let photo: string;
203
+ let portrait: string;
204
+ }
205
+ let padding_1: {
206
+ 2.5: string;
207
+ 3.5: string;
208
+ 7.5: string;
209
+ };
210
+ export { padding_1 as padding };
211
+ export let backgroundImage: {
212
+ "gradient-radial": string;
213
+ "gradient-conic": string;
214
+ };
215
+ }
216
+ export namespace listStyleType {
217
+ let none: string;
218
+ let disc: string;
219
+ let decimal: string;
220
+ let square: string;
221
+ let roman: string;
222
+ let dash: string;
223
+ }
224
+ export let fontSize: any;
225
+ export let boxShadow: any;
226
+ let screens_1: any;
227
+ export { screens_1 as screens };
228
+ let colors_1: {
229
+ grey: {
230
+ 50: string;
231
+ 100: string;
232
+ 200: string;
233
+ 300: string;
234
+ 400: string;
235
+ 500: string;
236
+ 600: string;
237
+ 700: string;
238
+ 800: string;
239
+ 900: string;
240
+ 950: string;
241
+ };
242
+ main: {
243
+ 50: string;
244
+ 100: string;
245
+ 200: string;
246
+ 300: string;
247
+ 400: string;
248
+ 500: string;
249
+ 600: string;
250
+ 700: string;
251
+ 800: string;
252
+ 900: string;
253
+ 950: string;
254
+ };
255
+ red: {
256
+ 50: string;
257
+ 300: string;
258
+ 400: string;
259
+ 500: string;
260
+ '100': "#fee2e2";
261
+ '200': "#fecaca";
262
+ '600': "#dc2626";
263
+ '700': "#b91c1c";
264
+ '800': "#991b1b";
265
+ '900': "#7f1d1d";
266
+ '950': "#450a0a";
267
+ };
268
+ pink: {
269
+ 50: string;
270
+ 500: string;
271
+ '100': "#fce7f3";
272
+ '200': "#fbcfe8";
273
+ '300': "#f9a8d4";
274
+ '400': "#f472b6";
275
+ '600': "#db2777";
276
+ '700': "#be185d";
277
+ '800': "#9d174d";
278
+ '900': "#831843";
279
+ '950': "#500724";
280
+ };
281
+ yellow: {
282
+ 100: string;
283
+ 300: string;
284
+ 400: string;
285
+ kakao: string;
286
+ '50': "#fefce8";
287
+ '200': "#fef08a";
288
+ '500': "#eab308";
289
+ '600': "#ca8a04";
290
+ '700': "#a16207";
291
+ '800': "#854d0e";
292
+ '900': "#713f12";
293
+ '950': "#422006";
294
+ };
295
+ orange: {
296
+ 50: string;
297
+ 500: string;
298
+ '100': "#ffedd5";
299
+ '200': "#fed7aa";
300
+ '300': "#fdba74";
301
+ '400': "#fb923c";
302
+ '600': "#ea580c";
303
+ '700': "#c2410c";
304
+ '800': "#9a3412";
305
+ '900': "#7c2d12";
306
+ '950': "#431407";
307
+ };
308
+ brown: {
309
+ 50: string;
310
+ 500: string;
311
+ };
312
+ lime: {
313
+ 50: string;
314
+ 500: string;
315
+ '100': "#ecfccb";
316
+ '200': "#d9f99d";
317
+ '300': "#bef264";
318
+ '400': "#a3e635";
319
+ '600': "#65a30d";
320
+ '700': "#4d7c0f";
321
+ '800': "#3f6212";
322
+ '900': "#365314";
323
+ '950': "#1a2e05";
324
+ };
325
+ green: {
326
+ 50: string;
327
+ 500: string;
328
+ naver: string;
329
+ '100': "#dcfce7";
330
+ '200': "#bbf7d0";
331
+ '300': "#86efac";
332
+ '400': "#4ade80";
333
+ '600': "#16a34a";
334
+ '700': "#15803d";
335
+ '800': "#166534";
336
+ '900': "#14532d";
337
+ '950': "#052e16";
338
+ };
339
+ teal: {
340
+ 50: string;
341
+ 500: string;
342
+ '100': "#ccfbf1";
343
+ '200': "#99f6e4";
344
+ '300': "#5eead4";
345
+ '400': "#2dd4bf";
346
+ '600': "#0d9488";
347
+ '700': "#0f766e";
348
+ '800': "#115e59";
349
+ '900': "#134e4a";
350
+ '950': "#042f2e";
351
+ };
352
+ blue: {
353
+ 50: string;
354
+ 100: string;
355
+ 400: string;
356
+ 500: string;
357
+ 600: string;
358
+ '200': "#bfdbfe";
359
+ '300': "#93c5fd";
360
+ '700': "#1d4ed8";
361
+ '800': "#1e40af";
362
+ '900': "#1e3a8a";
363
+ '950': "#172554";
364
+ };
365
+ inherit: "inherit";
366
+ current: "currentColor";
367
+ transparent: "transparent";
368
+ black: "#000";
369
+ white: "#fff";
370
+ slate: {
371
+ "50": "#f8fafc";
372
+ "100": "#f1f5f9";
373
+ "200": "#e2e8f0";
374
+ "300": "#cbd5e1";
375
+ "400": "#94a3b8";
376
+ "500": "#64748b";
377
+ "600": "#475569";
378
+ "700": "#334155";
379
+ "800": "#1e293b";
380
+ "900": "#0f172a";
381
+ "950": "#020617";
382
+ };
383
+ gray: {
384
+ "50": "#f9fafb";
385
+ "100": "#f3f4f6";
386
+ "200": "#e5e7eb";
387
+ "300": "#d1d5db";
388
+ "400": "#9ca3af";
389
+ "500": "#6b7280";
390
+ "600": "#4b5563";
391
+ "700": "#374151";
392
+ "800": "#1f2937";
393
+ "900": "#111827";
394
+ "950": "#030712";
395
+ };
396
+ zinc: {
397
+ "50": "#fafafa";
398
+ "100": "#f4f4f5";
399
+ "200": "#e4e4e7";
400
+ "300": "#d4d4d8";
401
+ "400": "#a1a1aa";
402
+ "500": "#71717a";
403
+ "600": "#52525b";
404
+ "700": "#3f3f46";
405
+ "800": "#27272a";
406
+ "900": "#18181b";
407
+ "950": "#09090b";
408
+ };
409
+ neutral: {
410
+ "50": "#fafafa";
411
+ "100": "#f5f5f5";
412
+ "200": "#e5e5e5";
413
+ "300": "#d4d4d4";
414
+ "400": "#a3a3a3";
415
+ "500": "#737373";
416
+ "600": "#525252";
417
+ "700": "#404040";
418
+ "800": "#262626";
419
+ "900": "#171717";
420
+ "950": "#0a0a0a";
421
+ };
422
+ stone: {
423
+ "50": "#fafaf9";
424
+ "100": "#f5f5f4";
425
+ "200": "#e7e5e4";
426
+ "300": "#d6d3d1";
427
+ "400": "#a8a29e";
428
+ "500": "#78716c";
429
+ "600": "#57534e";
430
+ "700": "#44403c";
431
+ "800": "#292524";
432
+ "900": "#1c1917";
433
+ "950": "#0c0a09";
434
+ };
435
+ amber: {
436
+ "50": "#fffbeb";
437
+ "100": "#fef3c7";
438
+ "200": "#fde68a";
439
+ "300": "#fcd34d";
440
+ "400": "#fbbf24";
441
+ "500": "#f59e0b";
442
+ "600": "#d97706";
443
+ "700": "#b45309";
444
+ "800": "#92400e";
445
+ "900": "#78350f";
446
+ "950": "#451a03";
447
+ };
448
+ emerald: {
449
+ "50": "#ecfdf5";
450
+ "100": "#d1fae5";
451
+ "200": "#a7f3d0";
452
+ "300": "#6ee7b7";
453
+ "400": "#34d399";
454
+ "500": "#10b981";
455
+ "600": "#059669";
456
+ "700": "#047857";
457
+ "800": "#065f46";
458
+ "900": "#064e3b";
459
+ "950": "#022c22";
460
+ };
461
+ cyan: {
462
+ "50": "#ecfeff";
463
+ "100": "#cffafe";
464
+ "200": "#a5f3fc";
465
+ "300": "#67e8f9";
466
+ "400": "#22d3ee";
467
+ "500": "#06b6d4";
468
+ "600": "#0891b2";
469
+ "700": "#0e7490";
470
+ "800": "#155e75";
471
+ "900": "#164e63";
472
+ "950": "#083344";
473
+ };
474
+ sky: {
475
+ "50": "#f0f9ff";
476
+ "100": "#e0f2fe";
477
+ "200": "#bae6fd";
478
+ "300": "#7dd3fc";
479
+ "400": "#38bdf8";
480
+ "500": "#0ea5e9";
481
+ "600": "#0284c7";
482
+ "700": "#0369a1";
483
+ "800": "#075985";
484
+ "900": "#0c4a6e";
485
+ "950": "#082f49";
486
+ };
487
+ indigo: {
488
+ "50": "#eef2ff";
489
+ "100": "#e0e7ff";
490
+ "200": "#c7d2fe";
491
+ "300": "#a5b4fc";
492
+ "400": "#818cf8";
493
+ "500": "#6366f1";
494
+ "600": "#4f46e5";
495
+ "700": "#4338ca";
496
+ "800": "#3730a3";
497
+ "900": "#312e81";
498
+ "950": "#1e1b4b";
499
+ };
500
+ violet: {
501
+ "50": "#f5f3ff";
502
+ "100": "#ede9fe";
503
+ "200": "#ddd6fe";
504
+ "300": "#c4b5fd";
505
+ "400": "#a78bfa";
506
+ "500": "#8b5cf6";
507
+ "600": "#7c3aed";
508
+ "700": "#6d28d9";
509
+ "800": "#5b21b6";
510
+ "900": "#4c1d95";
511
+ "950": "#2e1065";
512
+ };
513
+ purple: {
514
+ "50": "#faf5ff";
515
+ "100": "#f3e8ff";
516
+ "200": "#e9d5ff";
517
+ "300": "#d8b4fe";
518
+ "400": "#c084fc";
519
+ "500": "#a855f7";
520
+ "600": "#9333ea";
521
+ "700": "#7e22ce";
522
+ "800": "#6b21a8";
523
+ "900": "#581c87";
524
+ "950": "#3b0764";
525
+ };
526
+ fuchsia: {
527
+ "50": "#fdf4ff";
528
+ "100": "#fae8ff";
529
+ "200": "#f5d0fe";
530
+ "300": "#f0abfc";
531
+ "400": "#e879f9";
532
+ "500": "#d946ef";
533
+ "600": "#c026d3";
534
+ "700": "#a21caf";
535
+ "800": "#86198f";
536
+ "900": "#701a75";
537
+ "950": "#4a044e";
538
+ };
539
+ rose: {
540
+ "50": "#fff1f2";
541
+ "100": "#ffe4e6";
542
+ "200": "#fecdd3";
543
+ "300": "#fda4af";
544
+ "400": "#fb7185";
545
+ "500": "#f43f5e";
546
+ "600": "#e11d48";
547
+ "700": "#be123c";
548
+ "800": "#9f1239";
549
+ "900": "#881337";
550
+ "950": "#4c0519";
551
+ };
552
+ lightBlue: import("tailwindcss/types/generated/colors").DefaultColors["sky"];
553
+ warmGray: import("tailwindcss/types/generated/colors").DefaultColors["stone"];
554
+ trueGray: import("tailwindcss/types/generated/colors").DefaultColors["neutral"];
555
+ coolGray: import("tailwindcss/types/generated/colors").DefaultColors["gray"];
556
+ blueGray: import("tailwindcss/types/generated/colors").DefaultColors["slate"];
557
+ };
558
+ export { colors_1 as colors };
559
+ }
560
+ let plugins: never[];
561
+ let darkMode: string;
562
+ }
563
+
564
+ declare namespace _default {
565
+ namespace plugins {
566
+ let tailwindcss: {};
567
+ let autoprefixer: {};
568
+ }
569
+ }
570
+
@@ -59,7 +59,7 @@ export declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLBu
59
59
 
60
60
  export declare const buttonVariants: (props?: ({
61
61
  theme?: "primary" | "secondary" | "etc" | null | undefined;
62
- size?: "xs" | "sm" | "md" | "lg" | "icon" | null | undefined;
62
+ size?: "sm" | "md" | "lg" | "xs" | "icon" | null | undefined;
63
63
  variant?: "text" | "solid" | "outline" | null | undefined;
64
64
  shape?: "square" | "rounded" | null | undefined;
65
65
  } & ClassProp) | undefined) => string;
@@ -129,15 +129,15 @@ export declare function toaster(): {
129
129
  toasts: ToasterProps[];
130
130
  };
131
131
 
132
- declare type ToasterProps = ToastProps & ToastViewportProps & {
133
- id: string;
134
- title?: React.ReactNode;
132
+ declare interface ToasterProps extends ToastProps {
133
+ id?: string;
134
+ title?: string;
135
135
  description?: React.ReactNode;
136
136
  action?: () => void;
137
137
  actionText?: string | React.ReactNode;
138
138
  closeButton?: boolean;
139
139
  onClose?: () => void;
140
- };
140
+ }
141
141
 
142
142
  declare interface ToastPortalOptions {
143
143
  id: string;
@@ -147,10 +147,6 @@ declare interface ToastPortalOptions {
147
147
 
148
148
  declare type ToastProps = React_2.ComponentPropsWithoutRef<typeof Toast>;
149
149
 
150
- declare const ToastViewport: React_2.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React_2.RefAttributes<HTMLOListElement>, "ref"> & React_2.RefAttributes<HTMLOListElement>>;
151
-
152
- declare type ToastViewportProps = React_2.ComponentPropsWithoutRef<typeof ToastViewport>;
153
-
154
150
  export { }
155
151
 
156
152
  declare namespace _default {
@@ -0,0 +1 @@
1
+ "use strict";const r=require("./portal-manager-6YGufJVr.cjs"),s=require("react"),g=()=>{const[n,a]=s.useState([]);return s.useEffect(()=>{a(r.portalManager.getOpenPortals());const t=(o,u)=>{a(u?e=>[...e,o.id]:e=>e.filter(c=>c!==o.id))},l=r.portalManager.subscribe(t);return()=>{l()}},[]),{modal:t=>r.portalManager.showPortal("modal",t),toast:t=>r.portalManager.showPortal("toast",t),alert:t=>r.portalManager.showPortal("alert",t),dialog:t=>r.portalManager.showPortal("dialog",t),getIsOpen:t=>r.portalManager.getIsPortalOpen(t),openPortals:n}};exports.usePortal=g;
@@ -0,0 +1,17 @@
1
+ import { p as r } from "./portal-manager-CttMAZAu.js";
2
+ import { useState as c, useEffect as i } from "react";
3
+ const b = () => {
4
+ const [a, o] = c([]);
5
+ return i(() => {
6
+ o(r.getOpenPortals());
7
+ const t = (s, l) => {
8
+ o(l ? (e) => [...e, s.id] : (e) => e.filter((u) => u !== s.id));
9
+ }, n = r.subscribe(t);
10
+ return () => {
11
+ n();
12
+ };
13
+ }, []), { modal: (t) => r.showPortal("modal", t), toast: (t) => r.showPortal("toast", t), alert: (t) => r.showPortal("alert", t), dialog: (t) => r.showPortal("dialog", t), getIsOpen: (t) => r.getIsPortalOpen(t), openPortals: a };
14
+ };
15
+ export {
16
+ b as u
17
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "boottent-design",
3
3
  "private": false,
4
- "version": "0.1.7",
4
+ "version": "0.1.8",
5
5
  "description": "부트텐트 디자인시스템 라이브러리",
6
6
  "repository": {
7
7
  "type": "git",
@@ -54,6 +54,11 @@
54
54
  "import": "./dist/boottent-design.provider.es.js",
55
55
  "require": "./dist/boottent-design.provider.cjs",
56
56
  "types": "./dist/types/provider.d.ts"
57
+ },
58
+ "./types": {
59
+ "import": "./dist/boottent-design.types.es.js",
60
+ "require": "./dist/boottent-design.types.cjs",
61
+ "types": "./dist/types/types.d.ts"
57
62
  }
58
63
  },
59
64
  "scripts": {