@bigtablet/design-system 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +141 -141
- package/dist/index.d.ts +69 -69
- package/dist/index.js +439 -413
- package/package.json +12 -12
package/dist/index.css
CHANGED
|
@@ -1372,6 +1372,47 @@
|
|
|
1372
1372
|
pointer-events: none;
|
|
1373
1373
|
}
|
|
1374
1374
|
|
|
1375
|
+
/* src/ui/modal/style.scss */
|
|
1376
|
+
@keyframes skeleton_loading {
|
|
1377
|
+
0% {
|
|
1378
|
+
background-position: 100% 0;
|
|
1379
|
+
}
|
|
1380
|
+
100% {
|
|
1381
|
+
background-position: 0 0;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
.modal {
|
|
1385
|
+
position: fixed;
|
|
1386
|
+
top: 0;
|
|
1387
|
+
right: 0;
|
|
1388
|
+
bottom: 0;
|
|
1389
|
+
left: 0;
|
|
1390
|
+
display: grid;
|
|
1391
|
+
place-items: center;
|
|
1392
|
+
background: rgba(0, 0, 0, 0.5);
|
|
1393
|
+
z-index: 100;
|
|
1394
|
+
}
|
|
1395
|
+
.modal_panel {
|
|
1396
|
+
background: #FFFFFF;
|
|
1397
|
+
border-radius: 12px;
|
|
1398
|
+
box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
|
|
1399
|
+
max-width: calc(100% - 64px);
|
|
1400
|
+
overflow: visible;
|
|
1401
|
+
}
|
|
1402
|
+
.modal_header {
|
|
1403
|
+
padding: 16px;
|
|
1404
|
+
border-bottom: 1px solid #E5E5E5;
|
|
1405
|
+
color: #121212;
|
|
1406
|
+
font-size: 20px;
|
|
1407
|
+
font-weight: 400;
|
|
1408
|
+
line-height: 28px;
|
|
1409
|
+
letter-spacing: 0px;
|
|
1410
|
+
}
|
|
1411
|
+
.modal_body {
|
|
1412
|
+
padding: 16px;
|
|
1413
|
+
overflow: visible;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1375
1416
|
/* src/ui/otp-input/style.scss */
|
|
1376
1417
|
@keyframes skeleton_loading {
|
|
1377
1418
|
0% {
|
|
@@ -1436,47 +1477,6 @@
|
|
|
1436
1477
|
color: #EF4444;
|
|
1437
1478
|
}
|
|
1438
1479
|
|
|
1439
|
-
/* src/ui/modal/style.scss */
|
|
1440
|
-
@keyframes skeleton_loading {
|
|
1441
|
-
0% {
|
|
1442
|
-
background-position: 100% 0;
|
|
1443
|
-
}
|
|
1444
|
-
100% {
|
|
1445
|
-
background-position: 0 0;
|
|
1446
|
-
}
|
|
1447
|
-
}
|
|
1448
|
-
.modal {
|
|
1449
|
-
position: fixed;
|
|
1450
|
-
top: 0;
|
|
1451
|
-
right: 0;
|
|
1452
|
-
bottom: 0;
|
|
1453
|
-
left: 0;
|
|
1454
|
-
display: grid;
|
|
1455
|
-
place-items: center;
|
|
1456
|
-
background: rgba(0, 0, 0, 0.5);
|
|
1457
|
-
z-index: 100;
|
|
1458
|
-
}
|
|
1459
|
-
.modal_panel {
|
|
1460
|
-
background: #FFFFFF;
|
|
1461
|
-
border-radius: 12px;
|
|
1462
|
-
box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
|
|
1463
|
-
max-width: calc(100% - 64px);
|
|
1464
|
-
overflow: visible;
|
|
1465
|
-
}
|
|
1466
|
-
.modal_header {
|
|
1467
|
-
padding: 16px;
|
|
1468
|
-
border-bottom: 1px solid #E5E5E5;
|
|
1469
|
-
color: #121212;
|
|
1470
|
-
font-size: 20px;
|
|
1471
|
-
font-weight: 400;
|
|
1472
|
-
line-height: 28px;
|
|
1473
|
-
letter-spacing: 0px;
|
|
1474
|
-
}
|
|
1475
|
-
.modal_body {
|
|
1476
|
-
padding: 16px;
|
|
1477
|
-
overflow: visible;
|
|
1478
|
-
}
|
|
1479
|
-
|
|
1480
1480
|
/* src/ui/pagination/style.scss */
|
|
1481
1481
|
@keyframes skeleton_loading {
|
|
1482
1482
|
0% {
|
|
@@ -1699,106 +1699,6 @@
|
|
|
1699
1699
|
animation: spinner_spin 0.8s linear infinite;
|
|
1700
1700
|
}
|
|
1701
1701
|
|
|
1702
|
-
/* src/ui/toggle/style.scss */
|
|
1703
|
-
@keyframes skeleton_loading {
|
|
1704
|
-
0% {
|
|
1705
|
-
background-position: 100% 0;
|
|
1706
|
-
}
|
|
1707
|
-
100% {
|
|
1708
|
-
background-position: 0 0;
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
.toggle {
|
|
1712
|
-
position: relative;
|
|
1713
|
-
display: inline-flex;
|
|
1714
|
-
align-items: center;
|
|
1715
|
-
box-sizing: border-box;
|
|
1716
|
-
width: 40px;
|
|
1717
|
-
height: 24px;
|
|
1718
|
-
padding: 2px;
|
|
1719
|
-
border: 2px solid transparent;
|
|
1720
|
-
border-radius: 9999px;
|
|
1721
|
-
background: #B3B3B3;
|
|
1722
|
-
transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
|
|
1723
|
-
cursor: pointer;
|
|
1724
|
-
}
|
|
1725
|
-
.toggle_thumb {
|
|
1726
|
-
position: relative;
|
|
1727
|
-
width: 12px;
|
|
1728
|
-
height: 12px;
|
|
1729
|
-
background: #FFFFFF;
|
|
1730
|
-
border-radius: 9999px;
|
|
1731
|
-
transition:
|
|
1732
|
-
transform 0.2s ease-in-out,
|
|
1733
|
-
width 0.2s ease-in-out,
|
|
1734
|
-
height 0.2s ease-in-out,
|
|
1735
|
-
background 0.2s ease-in-out;
|
|
1736
|
-
transform: translateX(0);
|
|
1737
|
-
}
|
|
1738
|
-
.toggle_on {
|
|
1739
|
-
background: #121212;
|
|
1740
|
-
}
|
|
1741
|
-
.toggle_on .toggle_thumb {
|
|
1742
|
-
width: 20px;
|
|
1743
|
-
height: 20px;
|
|
1744
|
-
background: #FFFFFF;
|
|
1745
|
-
transform: translateX(14px);
|
|
1746
|
-
}
|
|
1747
|
-
.toggle_on.toggle_disabled {
|
|
1748
|
-
background: #B3B3B3;
|
|
1749
|
-
border-color: transparent;
|
|
1750
|
-
}
|
|
1751
|
-
.toggle_on.toggle_disabled .toggle_thumb {
|
|
1752
|
-
background: #FFFFFF;
|
|
1753
|
-
}
|
|
1754
|
-
.toggle:not(:disabled):hover {
|
|
1755
|
-
opacity: 0.88;
|
|
1756
|
-
}
|
|
1757
|
-
.toggle:focus-visible {
|
|
1758
|
-
outline: none;
|
|
1759
|
-
box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
|
|
1760
|
-
}
|
|
1761
|
-
.toggle:not(:disabled):active .toggle_thumb {
|
|
1762
|
-
width: 20px;
|
|
1763
|
-
height: 20px;
|
|
1764
|
-
}
|
|
1765
|
-
.toggle_on:not(:disabled):active .toggle_thumb {
|
|
1766
|
-
transform: translateX(12px);
|
|
1767
|
-
}
|
|
1768
|
-
.toggle_size_sm {
|
|
1769
|
-
width: 40px;
|
|
1770
|
-
height: 24px;
|
|
1771
|
-
}
|
|
1772
|
-
.toggle_size_md {
|
|
1773
|
-
width: 48px;
|
|
1774
|
-
height: 28px;
|
|
1775
|
-
padding: 2px;
|
|
1776
|
-
}
|
|
1777
|
-
.toggle_size_md .toggle_thumb {
|
|
1778
|
-
width: 16px;
|
|
1779
|
-
height: 16px;
|
|
1780
|
-
}
|
|
1781
|
-
.toggle_size_md.toggle_on .toggle_thumb {
|
|
1782
|
-
width: 24px;
|
|
1783
|
-
height: 24px;
|
|
1784
|
-
transform: translateX(18px);
|
|
1785
|
-
}
|
|
1786
|
-
.toggle_size_md:not(:disabled):active .toggle_thumb {
|
|
1787
|
-
width: 24px;
|
|
1788
|
-
height: 24px;
|
|
1789
|
-
}
|
|
1790
|
-
.toggle_size_md.toggle_on:not(:disabled):active .toggle_thumb {
|
|
1791
|
-
transform: translateX(16px);
|
|
1792
|
-
}
|
|
1793
|
-
.toggle_disabled {
|
|
1794
|
-
cursor: not-allowed;
|
|
1795
|
-
border-color: transparent;
|
|
1796
|
-
background: #B3B3B3;
|
|
1797
|
-
}
|
|
1798
|
-
.toggle_disabled .toggle_thumb {
|
|
1799
|
-
background: #FFFFFF;
|
|
1800
|
-
}
|
|
1801
|
-
|
|
1802
1702
|
/* src/ui/textfield/style.scss */
|
|
1803
1703
|
@keyframes skeleton_loading {
|
|
1804
1704
|
0% {
|
|
@@ -2175,6 +2075,106 @@
|
|
|
2175
2075
|
background: #666666;
|
|
2176
2076
|
}
|
|
2177
2077
|
|
|
2078
|
+
/* src/ui/toggle/style.scss */
|
|
2079
|
+
@keyframes skeleton_loading {
|
|
2080
|
+
0% {
|
|
2081
|
+
background-position: 100% 0;
|
|
2082
|
+
}
|
|
2083
|
+
100% {
|
|
2084
|
+
background-position: 0 0;
|
|
2085
|
+
}
|
|
2086
|
+
}
|
|
2087
|
+
.toggle {
|
|
2088
|
+
position: relative;
|
|
2089
|
+
display: inline-flex;
|
|
2090
|
+
align-items: center;
|
|
2091
|
+
box-sizing: border-box;
|
|
2092
|
+
width: 40px;
|
|
2093
|
+
height: 24px;
|
|
2094
|
+
padding: 2px;
|
|
2095
|
+
border: 2px solid transparent;
|
|
2096
|
+
border-radius: 9999px;
|
|
2097
|
+
background: #B3B3B3;
|
|
2098
|
+
transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
|
|
2099
|
+
cursor: pointer;
|
|
2100
|
+
}
|
|
2101
|
+
.toggle_thumb {
|
|
2102
|
+
position: relative;
|
|
2103
|
+
width: 12px;
|
|
2104
|
+
height: 12px;
|
|
2105
|
+
background: #FFFFFF;
|
|
2106
|
+
border-radius: 9999px;
|
|
2107
|
+
transition:
|
|
2108
|
+
transform 0.2s ease-in-out,
|
|
2109
|
+
width 0.2s ease-in-out,
|
|
2110
|
+
height 0.2s ease-in-out,
|
|
2111
|
+
background 0.2s ease-in-out;
|
|
2112
|
+
transform: translateX(0);
|
|
2113
|
+
}
|
|
2114
|
+
.toggle_on {
|
|
2115
|
+
background: #121212;
|
|
2116
|
+
}
|
|
2117
|
+
.toggle_on .toggle_thumb {
|
|
2118
|
+
width: 20px;
|
|
2119
|
+
height: 20px;
|
|
2120
|
+
background: #FFFFFF;
|
|
2121
|
+
transform: translateX(14px);
|
|
2122
|
+
}
|
|
2123
|
+
.toggle_on.toggle_disabled {
|
|
2124
|
+
background: #B3B3B3;
|
|
2125
|
+
border-color: transparent;
|
|
2126
|
+
}
|
|
2127
|
+
.toggle_on.toggle_disabled .toggle_thumb {
|
|
2128
|
+
background: #FFFFFF;
|
|
2129
|
+
}
|
|
2130
|
+
.toggle:not(:disabled):hover {
|
|
2131
|
+
opacity: 0.88;
|
|
2132
|
+
}
|
|
2133
|
+
.toggle:focus-visible {
|
|
2134
|
+
outline: none;
|
|
2135
|
+
box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
|
|
2136
|
+
}
|
|
2137
|
+
.toggle:not(:disabled):active .toggle_thumb {
|
|
2138
|
+
width: 20px;
|
|
2139
|
+
height: 20px;
|
|
2140
|
+
}
|
|
2141
|
+
.toggle_on:not(:disabled):active .toggle_thumb {
|
|
2142
|
+
transform: translateX(12px);
|
|
2143
|
+
}
|
|
2144
|
+
.toggle_size_sm {
|
|
2145
|
+
width: 40px;
|
|
2146
|
+
height: 24px;
|
|
2147
|
+
}
|
|
2148
|
+
.toggle_size_md {
|
|
2149
|
+
width: 48px;
|
|
2150
|
+
height: 28px;
|
|
2151
|
+
padding: 2px;
|
|
2152
|
+
}
|
|
2153
|
+
.toggle_size_md .toggle_thumb {
|
|
2154
|
+
width: 16px;
|
|
2155
|
+
height: 16px;
|
|
2156
|
+
}
|
|
2157
|
+
.toggle_size_md.toggle_on .toggle_thumb {
|
|
2158
|
+
width: 24px;
|
|
2159
|
+
height: 24px;
|
|
2160
|
+
transform: translateX(18px);
|
|
2161
|
+
}
|
|
2162
|
+
.toggle_size_md:not(:disabled):active .toggle_thumb {
|
|
2163
|
+
width: 24px;
|
|
2164
|
+
height: 24px;
|
|
2165
|
+
}
|
|
2166
|
+
.toggle_size_md.toggle_on:not(:disabled):active .toggle_thumb {
|
|
2167
|
+
transform: translateX(16px);
|
|
2168
|
+
}
|
|
2169
|
+
.toggle_disabled {
|
|
2170
|
+
cursor: not-allowed;
|
|
2171
|
+
border-color: transparent;
|
|
2172
|
+
background: #B3B3B3;
|
|
2173
|
+
}
|
|
2174
|
+
.toggle_disabled .toggle_thumb {
|
|
2175
|
+
background: #FFFFFF;
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
2178
|
/* src/ui/top-loading/style.scss */
|
|
2179
2179
|
@keyframes skeleton_loading {
|
|
2180
2180
|
0% {
|
package/dist/index.d.ts
CHANGED
|
@@ -95,6 +95,14 @@ declare const colors: {
|
|
|
95
95
|
};
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
+
declare const elevation: {
|
|
99
|
+
readonly level1: "0 1px 1px -1px rgba(0, 0, 0, 0.20), 0 3px 3px 0px rgba(0, 0, 0, 0.12)";
|
|
100
|
+
readonly level2: "0 2px 2px -2px rgba(0, 0, 0, 0.20), 0 6px 6px 0px rgba(0, 0, 0, 0.12)";
|
|
101
|
+
readonly level3: "0 3px 3px -3px rgba(0, 0, 0, 0.20), 0 9px 9px 0px rgba(0, 0, 0, 0.12)";
|
|
102
|
+
readonly level4: "0 5px 5px -5px rgba(0, 0, 0, 0.20), 0 15px 15px 0px rgba(0, 0, 0, 0.12)";
|
|
103
|
+
readonly level5: "0 8px 10px -5px rgba(0, 0, 0, 0.20), 0 20px 20px 0px rgba(0, 0, 0, 0.12)";
|
|
104
|
+
};
|
|
105
|
+
|
|
98
106
|
declare const motion: {
|
|
99
107
|
readonly transition: {
|
|
100
108
|
readonly fast: "0.1s ease-in-out";
|
|
@@ -132,14 +140,6 @@ declare const radius: {
|
|
|
132
140
|
readonly full: "9999px";
|
|
133
141
|
};
|
|
134
142
|
|
|
135
|
-
declare const elevation: {
|
|
136
|
-
readonly level1: "0 1px 1px -1px rgba(0, 0, 0, 0.20), 0 3px 3px 0px rgba(0, 0, 0, 0.12)";
|
|
137
|
-
readonly level2: "0 2px 2px -2px rgba(0, 0, 0, 0.20), 0 6px 6px 0px rgba(0, 0, 0, 0.12)";
|
|
138
|
-
readonly level3: "0 3px 3px -3px rgba(0, 0, 0, 0.20), 0 9px 9px 0px rgba(0, 0, 0, 0.12)";
|
|
139
|
-
readonly level4: "0 5px 5px -5px rgba(0, 0, 0, 0.20), 0 15px 15px 0px rgba(0, 0, 0, 0.12)";
|
|
140
|
-
readonly level5: "0 8px 10px -5px rgba(0, 0, 0, 0.20), 0 20px 20px 0px rgba(0, 0, 0, 0.12)";
|
|
141
|
-
};
|
|
142
|
-
|
|
143
143
|
declare const skeleton: {
|
|
144
144
|
readonly color: {
|
|
145
145
|
readonly base: "#F4F4F4";
|
|
@@ -611,6 +611,18 @@ interface DatePickerProps {
|
|
|
611
611
|
*/
|
|
612
612
|
declare const DatePicker: ({ label, value, onChange, mode, startYear, endYear: endYearProp, minDate, selectableRange, disabled, fullWidth, width, yearLabel, monthLabel, dayLabel, minDateSrFormat, selectableRangeUntilTodaySrText, }: DatePickerProps) => react_jsx_runtime.JSX.Element;
|
|
613
613
|
|
|
614
|
+
interface DividerProps extends React$1.HTMLAttributes<HTMLHRElement> {
|
|
615
|
+
/** 구분선 두께 (기본값: "standard") */
|
|
616
|
+
weight?: "standard" | "heavy";
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* 구분선 컴포넌트를 렌더링한다.
|
|
620
|
+
* 콘텐츠 영역을 시각적으로 분리하는 수평 구분선을 표시한다.
|
|
621
|
+
* @param props 구분선 속성
|
|
622
|
+
* @returns 렌더링된 구분선 UI
|
|
623
|
+
*/
|
|
624
|
+
declare const Divider: ({ weight, className, ...props }: DividerProps) => react_jsx_runtime.JSX.Element;
|
|
625
|
+
|
|
614
626
|
type DropdownSize = "sm" | "md" | "lg";
|
|
615
627
|
interface DropdownOption {
|
|
616
628
|
value: string;
|
|
@@ -665,18 +677,6 @@ interface DropdownProps {
|
|
|
665
677
|
*/
|
|
666
678
|
declare const Dropdown: ({ id, label, placeholder, options, value, onChange, defaultValue, disabled, size, fullWidth, className, }: DropdownProps) => react_jsx_runtime.JSX.Element;
|
|
667
679
|
|
|
668
|
-
interface DividerProps extends React$1.HTMLAttributes<HTMLHRElement> {
|
|
669
|
-
/** 구분선 두께 (기본값: "standard") */
|
|
670
|
-
weight?: "standard" | "heavy";
|
|
671
|
-
}
|
|
672
|
-
/**
|
|
673
|
-
* 구분선 컴포넌트를 렌더링한다.
|
|
674
|
-
* 콘텐츠 영역을 시각적으로 분리하는 수평 구분선을 표시한다.
|
|
675
|
-
* @param props 구분선 속성
|
|
676
|
-
* @returns 렌더링된 구분선 UI
|
|
677
|
-
*/
|
|
678
|
-
declare const Divider: ({ weight, className, ...props }: DividerProps) => react_jsx_runtime.JSX.Element;
|
|
679
|
-
|
|
680
680
|
type FABVariant = "primary" | "additive";
|
|
681
681
|
interface FABProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
682
682
|
/** FAB 스타일 변형 (기본값: "primary") */
|
|
@@ -804,6 +804,28 @@ interface ListItemProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "on
|
|
|
804
804
|
*/
|
|
805
805
|
declare const ListItem: ({ overline, label, supportingText, metadata, leadingElement, trailingElement, alignment, disabled, onClick, className, ...props }: ListItemProps) => react_jsx_runtime.JSX.Element;
|
|
806
806
|
|
|
807
|
+
interface ModalProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
808
|
+
/** 모달 열림 여부 */
|
|
809
|
+
open: boolean;
|
|
810
|
+
/** 모달 닫기 콜백 */
|
|
811
|
+
onClose?: () => void;
|
|
812
|
+
/** 오버레이 클릭 시 닫기 여부 (기본값: true) */
|
|
813
|
+
closeOnOverlay?: boolean;
|
|
814
|
+
/** 모달 패널 너비 (기본값: 520) */
|
|
815
|
+
width?: number | string;
|
|
816
|
+
/** 모달 헤더에 표시할 제목 */
|
|
817
|
+
title?: React$1.ReactNode;
|
|
818
|
+
/** 모달 접근성 레이블(기본값: title 또는 "Dialog") */
|
|
819
|
+
ariaLabel?: string;
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* 모달을 렌더링한다.
|
|
823
|
+
* 포커스 트랩과 스크롤 잠금을 적용하고, 열림 상태에 따라 오버레이/패널을 구성한다.
|
|
824
|
+
* @param props 모달 속성
|
|
825
|
+
* @returns 열림 상태일 때 렌더링된 모달, 닫힘 상태면 null
|
|
826
|
+
*/
|
|
827
|
+
declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ariaLabel, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
|
|
828
|
+
|
|
807
829
|
interface OtpInputProps {
|
|
808
830
|
/** OTP 자릿수 (기본값: 6) */
|
|
809
831
|
length?: 4 | 6;
|
|
@@ -835,28 +857,6 @@ declare const OtpInput: {
|
|
|
835
857
|
displayName: string;
|
|
836
858
|
};
|
|
837
859
|
|
|
838
|
-
interface ModalProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
839
|
-
/** 모달 열림 여부 */
|
|
840
|
-
open: boolean;
|
|
841
|
-
/** 모달 닫기 콜백 */
|
|
842
|
-
onClose?: () => void;
|
|
843
|
-
/** 오버레이 클릭 시 닫기 여부 (기본값: true) */
|
|
844
|
-
closeOnOverlay?: boolean;
|
|
845
|
-
/** 모달 패널 너비 (기본값: 520) */
|
|
846
|
-
width?: number | string;
|
|
847
|
-
/** 모달 헤더에 표시할 제목 */
|
|
848
|
-
title?: React$1.ReactNode;
|
|
849
|
-
/** 모달 접근성 레이블(기본값: title 또는 "Dialog") */
|
|
850
|
-
ariaLabel?: string;
|
|
851
|
-
}
|
|
852
|
-
/**
|
|
853
|
-
* 모달을 렌더링한다.
|
|
854
|
-
* 포커스 트랩과 스크롤 잠금을 적용하고, 열림 상태에 따라 오버레이/패널을 구성한다.
|
|
855
|
-
* @param props 모달 속성
|
|
856
|
-
* @returns 열림 상태일 때 렌더링된 모달, 닫힘 상태면 null
|
|
857
|
-
*/
|
|
858
|
-
declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ariaLabel, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
|
|
859
|
-
|
|
860
860
|
interface PaginationProps {
|
|
861
861
|
/** 현재 페이지 번호 (1-based) */
|
|
862
862
|
page: number;
|
|
@@ -910,33 +910,6 @@ interface SpinnerProps {
|
|
|
910
910
|
*/
|
|
911
911
|
declare const Spinner: ({ size, ariaLabel }: SpinnerProps) => react_jsx_runtime.JSX.Element;
|
|
912
912
|
|
|
913
|
-
interface ToggleProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
|
|
914
|
-
/** 제어형 토글 상태 */
|
|
915
|
-
checked?: boolean;
|
|
916
|
-
/** 비제어형 초기 토글 상태 */
|
|
917
|
-
defaultChecked?: boolean;
|
|
918
|
-
/** 상태 변경 시 호출되는 콜백 */
|
|
919
|
-
onChange?: (checked: boolean) => void;
|
|
920
|
-
/** 토글 크기 (기본값: "sm") */
|
|
921
|
-
size?: "sm" | "md";
|
|
922
|
-
/** 비활성화 여부 */
|
|
923
|
-
disabled?: boolean;
|
|
924
|
-
/** 토글 접근성 레이블(스크린 리더용) */
|
|
925
|
-
ariaLabel: string;
|
|
926
|
-
/** 버튼 요소 참조 */
|
|
927
|
-
ref?: React$1.Ref<HTMLButtonElement>;
|
|
928
|
-
}
|
|
929
|
-
/**
|
|
930
|
-
* 토글을 렌더링한다.
|
|
931
|
-
* 제어형/비제어형 상태를 판별해 토글 로직을 수행하고 버튼 형태의 토글 UI를 반환한다.
|
|
932
|
-
* @param props 토글 속성
|
|
933
|
-
* @returns 렌더링된 토글 요소
|
|
934
|
-
*/
|
|
935
|
-
declare const Toggle: {
|
|
936
|
-
({ checked, defaultChecked, onChange, size, disabled, className, ariaLabel, ref, ...props }: ToggleProps): react_jsx_runtime.JSX.Element;
|
|
937
|
-
displayName: string;
|
|
938
|
-
};
|
|
939
|
-
|
|
940
913
|
type TextFieldSize = "sm" | "md";
|
|
941
914
|
interface TextFieldProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "onChange" | "value" | "defaultValue"> {
|
|
942
915
|
/** 입력 필드 크기 (기본값: "md") */
|
|
@@ -1014,6 +987,33 @@ declare const useToast: () => {
|
|
|
1014
987
|
message: (message: string, duration?: number) => void;
|
|
1015
988
|
};
|
|
1016
989
|
|
|
990
|
+
interface ToggleProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
|
|
991
|
+
/** 제어형 토글 상태 */
|
|
992
|
+
checked?: boolean;
|
|
993
|
+
/** 비제어형 초기 토글 상태 */
|
|
994
|
+
defaultChecked?: boolean;
|
|
995
|
+
/** 상태 변경 시 호출되는 콜백 */
|
|
996
|
+
onChange?: (checked: boolean) => void;
|
|
997
|
+
/** 토글 크기 (기본값: "sm") */
|
|
998
|
+
size?: "sm" | "md";
|
|
999
|
+
/** 비활성화 여부 */
|
|
1000
|
+
disabled?: boolean;
|
|
1001
|
+
/** 토글 접근성 레이블(스크린 리더용) */
|
|
1002
|
+
ariaLabel: string;
|
|
1003
|
+
/** 버튼 요소 참조 */
|
|
1004
|
+
ref?: React$1.Ref<HTMLButtonElement>;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* 토글을 렌더링한다.
|
|
1008
|
+
* 제어형/비제어형 상태를 판별해 토글 로직을 수행하고 버튼 형태의 토글 UI를 반환한다.
|
|
1009
|
+
* @param props 토글 속성
|
|
1010
|
+
* @returns 렌더링된 토글 요소
|
|
1011
|
+
*/
|
|
1012
|
+
declare const Toggle: {
|
|
1013
|
+
({ checked, defaultChecked, onChange, size, disabled, className, ariaLabel, ref, ...props }: ToggleProps): react_jsx_runtime.JSX.Element;
|
|
1014
|
+
displayName: string;
|
|
1015
|
+
};
|
|
1016
|
+
|
|
1017
1017
|
interface TopLoadingProps {
|
|
1018
1018
|
/** 진행률 (0-100). undefined면 indeterminate 모드 */
|
|
1019
1019
|
progress?: number;
|