@zenkigen-inc/component-ui 1.19.4 → 1.20.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/index.d.mts +24 -4
- package/dist/index.d.ts +24 -4
- package/dist/index.js +270 -232
- package/dist/index.mjs +229 -192
- package/package.json +10 -10
package/dist/index.mjs
CHANGED
|
@@ -839,11 +839,10 @@ var DatePicker = ({
|
|
|
839
839
|
setIsOpen(false);
|
|
840
840
|
};
|
|
841
841
|
const handleSelect = (selected) => {
|
|
842
|
-
if (
|
|
843
|
-
|
|
842
|
+
if (selected != null) {
|
|
843
|
+
const selectedKey2 = formatLocalDateKey(selected);
|
|
844
|
+
onChange(createDateFromKey(selectedKey2, timeZone));
|
|
844
845
|
}
|
|
845
|
-
const selectedKey2 = formatLocalDateKey(selected);
|
|
846
|
-
onChange(createDateFromKey(selectedKey2, timeZone));
|
|
847
846
|
setIsOpen(false);
|
|
848
847
|
};
|
|
849
848
|
const handleClear = () => {
|
|
@@ -967,6 +966,12 @@ var DatePicker = ({
|
|
|
967
966
|
DatePicker.ErrorMessage = DatePickerErrorMessage;
|
|
968
967
|
DatePicker.displayName = "DatePicker";
|
|
969
968
|
|
|
969
|
+
// src/divider/divider.tsx
|
|
970
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
971
|
+
function Divider() {
|
|
972
|
+
return /* @__PURE__ */ jsx16("hr", { className: "h-px w-full border-0 bg-uiBorder01" });
|
|
973
|
+
}
|
|
974
|
+
|
|
970
975
|
// src/dropdown/dropdown.tsx
|
|
971
976
|
import { buttonColors as buttonColors3, focusVisible as focusVisible6 } from "@zenkigen-inc/component-theme";
|
|
972
977
|
import clsx13 from "clsx";
|
|
@@ -979,7 +984,11 @@ var useOutsideClick = (ref, handler, enabled = true) => {
|
|
|
979
984
|
useEffect4(() => {
|
|
980
985
|
const listener = (event) => {
|
|
981
986
|
const element = ref?.current;
|
|
982
|
-
|
|
987
|
+
const target = event.target;
|
|
988
|
+
if (target instanceof Node && target.isConnected === false) {
|
|
989
|
+
return;
|
|
990
|
+
}
|
|
991
|
+
if (element == null || Boolean(element.contains(target ?? null))) {
|
|
983
992
|
return;
|
|
984
993
|
}
|
|
985
994
|
handler(event);
|
|
@@ -1005,7 +1014,7 @@ var DropdownContext = createContext3({
|
|
|
1005
1014
|
import { focusVisible as focusVisible5 } from "@zenkigen-inc/component-theme";
|
|
1006
1015
|
import clsx11 from "clsx";
|
|
1007
1016
|
import { useContext as useContext3 } from "react";
|
|
1008
|
-
import { jsx as
|
|
1017
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1009
1018
|
function DropdownItem({ children, color = "gray", onClick }) {
|
|
1010
1019
|
const { setIsVisible } = useContext3(DropdownContext);
|
|
1011
1020
|
const handleClickItem = (event) => {
|
|
@@ -1020,13 +1029,13 @@ function DropdownItem({ children, color = "gray", onClick }) {
|
|
|
1020
1029
|
"fill-supportDanger text-supportDanger": color === "red"
|
|
1021
1030
|
}
|
|
1022
1031
|
);
|
|
1023
|
-
return /* @__PURE__ */
|
|
1032
|
+
return /* @__PURE__ */ jsx17("li", { className: "flex w-full items-center", children: /* @__PURE__ */ jsx17("button", { className: itemClasses, type: "button", onClick: handleClickItem, children }) });
|
|
1024
1033
|
}
|
|
1025
1034
|
|
|
1026
1035
|
// src/dropdown/dropdown-menu.tsx
|
|
1027
1036
|
import clsx12 from "clsx";
|
|
1028
1037
|
import { useContext as useContext4 } from "react";
|
|
1029
|
-
import { jsx as
|
|
1038
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1030
1039
|
function DropdownMenu({
|
|
1031
1040
|
children,
|
|
1032
1041
|
maxHeight,
|
|
@@ -1043,7 +1052,7 @@ function DropdownMenu({
|
|
|
1043
1052
|
"right-0": horizontalAlign === "right",
|
|
1044
1053
|
"left-auto": horizontalAlign === "center"
|
|
1045
1054
|
});
|
|
1046
|
-
return isVisible && !isDisabled && /* @__PURE__ */
|
|
1055
|
+
return isVisible && !isDisabled && /* @__PURE__ */ jsx18(
|
|
1047
1056
|
"ul",
|
|
1048
1057
|
{
|
|
1049
1058
|
className: wrapperClasses,
|
|
@@ -1058,7 +1067,7 @@ function DropdownMenu({
|
|
|
1058
1067
|
}
|
|
1059
1068
|
|
|
1060
1069
|
// src/dropdown/dropdown.tsx
|
|
1061
|
-
import { jsx as
|
|
1070
|
+
import { jsx as jsx19, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1062
1071
|
function Dropdown({
|
|
1063
1072
|
children,
|
|
1064
1073
|
target,
|
|
@@ -1126,7 +1135,7 @@ function Dropdown({
|
|
|
1126
1135
|
"typography-label14regular": size === "small" || size === "medium",
|
|
1127
1136
|
"typography-label16regular": size === "large"
|
|
1128
1137
|
});
|
|
1129
|
-
return /* @__PURE__ */
|
|
1138
|
+
return /* @__PURE__ */ jsx19(
|
|
1130
1139
|
DropdownContext.Provider,
|
|
1131
1140
|
{
|
|
1132
1141
|
value: { isVisible, setIsVisible, isDisabled, targetDimensions, variant, portalTargetRef },
|
|
@@ -1141,7 +1150,7 @@ function Dropdown({
|
|
|
1141
1150
|
disabled: isDisabled,
|
|
1142
1151
|
children: [
|
|
1143
1152
|
target,
|
|
1144
|
-
!isArrowHidden && /* @__PURE__ */
|
|
1153
|
+
!isArrowHidden && /* @__PURE__ */ jsx19("div", { className: "ml-2 flex items-center fill-icon01", children: /* @__PURE__ */ jsx19(
|
|
1145
1154
|
Icon,
|
|
1146
1155
|
{
|
|
1147
1156
|
name: isVisible ? "angle-small-up" : "angle-small-down",
|
|
@@ -1151,9 +1160,9 @@ function Dropdown({
|
|
|
1151
1160
|
]
|
|
1152
1161
|
}
|
|
1153
1162
|
) : /* @__PURE__ */ jsxs5("button", { type: "button", title, className: buttonClasses, onClick: handleToggle, disabled: isDisabled, children: [
|
|
1154
|
-
icon && /* @__PURE__ */
|
|
1155
|
-
/* @__PURE__ */
|
|
1156
|
-
!isArrowHidden && /* @__PURE__ */
|
|
1163
|
+
icon && /* @__PURE__ */ jsx19("span", { className: "mr-1 flex", children: /* @__PURE__ */ jsx19(Icon, { name: icon, size: size === "large" ? "medium" : "small" }) }),
|
|
1164
|
+
/* @__PURE__ */ jsx19("span", { className: labelClasses, children: label }),
|
|
1165
|
+
!isArrowHidden && /* @__PURE__ */ jsx19("div", { className: "ml-auto flex items-center", children: /* @__PURE__ */ jsx19(Icon, { name: isVisible ? "angle-small-up" : "angle-small-down", size: "small" }) })
|
|
1157
1166
|
] }),
|
|
1158
1167
|
!portalTargetRef ? children : portalTargetRef != null && portalTargetRef.current && createPortal(children, portalTargetRef.current)
|
|
1159
1168
|
] })
|
|
@@ -1168,7 +1177,7 @@ import { iconElements as iconElements2 } from "@zenkigen-inc/component-icons";
|
|
|
1168
1177
|
import { focusVisible as focusVisible7 } from "@zenkigen-inc/component-theme";
|
|
1169
1178
|
import clsx14 from "clsx";
|
|
1170
1179
|
import { useCallback as useCallback5, useState as useState4 } from "react";
|
|
1171
|
-
import { jsx as
|
|
1180
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1172
1181
|
function EvaluationStar({ value, isEditable = false, onChangeRating, size = "medium" }) {
|
|
1173
1182
|
const maxRating = 5;
|
|
1174
1183
|
const [currentRating, setCurrentRating] = useState4(value);
|
|
@@ -1187,26 +1196,26 @@ function EvaluationStar({ value, isEditable = false, onChangeRating, size = "med
|
|
|
1187
1196
|
const renderStar = (rating) => {
|
|
1188
1197
|
const color = rating <= currentRating ? "fill-yellow-yellow50" : "fill-icon03";
|
|
1189
1198
|
const IconComponent = iconElements2["star-filled"];
|
|
1190
|
-
return /* @__PURE__ */
|
|
1199
|
+
return /* @__PURE__ */ jsx20(
|
|
1191
1200
|
"button",
|
|
1192
1201
|
{
|
|
1193
1202
|
type: "button",
|
|
1194
1203
|
onClick: () => handleChangeRating(rating),
|
|
1195
1204
|
className: clsx14(color, starClasses),
|
|
1196
1205
|
disabled: !isEditable,
|
|
1197
|
-
children: /* @__PURE__ */
|
|
1206
|
+
children: /* @__PURE__ */ jsx20(IconComponent, {})
|
|
1198
1207
|
},
|
|
1199
1208
|
rating
|
|
1200
1209
|
);
|
|
1201
1210
|
};
|
|
1202
1211
|
const ratingStars = Array.from({ length: maxRating }, (_, index) => renderStar(index + 1));
|
|
1203
|
-
return /* @__PURE__ */
|
|
1212
|
+
return /* @__PURE__ */ jsx20("span", { className: "flex flex-row", children: ratingStars });
|
|
1204
1213
|
}
|
|
1205
1214
|
|
|
1206
1215
|
// src/file-input/file-input.tsx
|
|
1207
1216
|
import { clsx as clsx15 } from "clsx";
|
|
1208
1217
|
import { forwardRef as forwardRef4, useCallback as useCallback6, useId as useId2, useImperativeHandle, useRef as useRef5, useState as useState5 } from "react";
|
|
1209
|
-
import { Fragment as Fragment2, jsx as
|
|
1218
|
+
import { Fragment as Fragment2, jsx as jsx21, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1210
1219
|
var ERROR_TYPES = {
|
|
1211
1220
|
SIZE_TOO_LARGE: "SIZE_TOO_LARGE",
|
|
1212
1221
|
UNSUPPORTED_FORMAT: "UNSUPPORTED_FORMAT"
|
|
@@ -1383,7 +1392,7 @@ var FileInput = forwardRef4(
|
|
|
1383
1392
|
})();
|
|
1384
1393
|
if (variant === "button") {
|
|
1385
1394
|
return /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2", children: [
|
|
1386
|
-
/* @__PURE__ */
|
|
1395
|
+
/* @__PURE__ */ jsx21("div", { className: hasErrors ? "flex-1" : "min-w-0 flex-1", children: /* @__PURE__ */ jsx21(
|
|
1387
1396
|
InternalButton,
|
|
1388
1397
|
{
|
|
1389
1398
|
size,
|
|
@@ -1391,14 +1400,14 @@ var FileInput = forwardRef4(
|
|
|
1391
1400
|
isDisabled,
|
|
1392
1401
|
width: "100%",
|
|
1393
1402
|
onClick: handleButtonClick,
|
|
1394
|
-
before: /* @__PURE__ */
|
|
1395
|
-
after: /* @__PURE__ */
|
|
1396
|
-
children: /* @__PURE__ */
|
|
1403
|
+
before: /* @__PURE__ */ jsx21(Icon, { name: "upload", size: "small" }),
|
|
1404
|
+
after: /* @__PURE__ */ jsx21(Fragment2, { children: selectedFile ? /* @__PURE__ */ jsx21("span", { className: clsx15("typography-label12regular truncate", !isDisabled && "text-text01"), children: selectedFile.name }) : "" }),
|
|
1405
|
+
children: /* @__PURE__ */ jsx21("span", { className: "truncate", children: "\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E" })
|
|
1397
1406
|
}
|
|
1398
1407
|
) }),
|
|
1399
|
-
selectedFile && !isDisabled && /* @__PURE__ */
|
|
1400
|
-
hasErrors && hasErrorMessages && /* @__PURE__ */
|
|
1401
|
-
/* @__PURE__ */
|
|
1408
|
+
selectedFile && !isDisabled && /* @__PURE__ */ jsx21("div", { className: "shrink-0", children: /* @__PURE__ */ jsx21(IconButton, { variant: "text", icon: "close", size: "small", onClick: handleClear }) }),
|
|
1409
|
+
hasErrors && hasErrorMessages && /* @__PURE__ */ jsx21("div", { id: errorId, "data-testid": "error-messages", className: "typography-label12regular text-supportError", children: errorMessages.map((message, index) => /* @__PURE__ */ jsx21("div", { className: "break-all", children: message }, index)) }),
|
|
1410
|
+
/* @__PURE__ */ jsx21(
|
|
1402
1411
|
"input",
|
|
1403
1412
|
{
|
|
1404
1413
|
id: inputId,
|
|
@@ -1434,25 +1443,25 @@ var FileInput = forwardRef4(
|
|
|
1434
1443
|
"aria-disabled": isDisabled,
|
|
1435
1444
|
...hasErrors && hasErrorMessages && { "aria-describedby": errorId },
|
|
1436
1445
|
children: [
|
|
1437
|
-
/* @__PURE__ */
|
|
1438
|
-
!selectedFile && /* @__PURE__ */
|
|
1446
|
+
/* @__PURE__ */ jsx21(Icon, { name: "upload-document", size: "large", color: isDisabled ? "icon03" : "icon01" }),
|
|
1447
|
+
!selectedFile && /* @__PURE__ */ jsx21("div", { className: "flex flex-col gap-1", children: /* @__PURE__ */ jsx21("div", { className: "typography-body13regular select-none", children: /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
1439
1448
|
"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1440
|
-
/* @__PURE__ */
|
|
1449
|
+
/* @__PURE__ */ jsx21("br", {}),
|
|
1441
1450
|
"\u307E\u305F\u306F\u3001",
|
|
1442
|
-
/* @__PURE__ */
|
|
1451
|
+
/* @__PURE__ */ jsx21("span", { className: clsx15(!isDisabled ? "text-link01" : ""), children: "\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E" }),
|
|
1443
1452
|
"\u3057\u3066\u304F\u3060\u3055\u3044\u3002"
|
|
1444
1453
|
] }) }) }),
|
|
1445
1454
|
!selectedFile && /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-1", children: [
|
|
1446
|
-
/* @__PURE__ */
|
|
1447
|
-
/* @__PURE__ */
|
|
1448
|
-
/* @__PURE__ */
|
|
1449
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsx21("div", { className: clsx15("typography-label11regular", isDisabled ? "text-textPlaceholder" : "text-text02"), children: "\u5BFE\u5FDC\u5F62\u5F0F" }),
|
|
1456
|
+
/* @__PURE__ */ jsx21("div", { className: clsx15("typography-body12regular", isDisabled ? "text-textPlaceholder" : "text-text01"), children: acceptLabel }),
|
|
1457
|
+
/* @__PURE__ */ jsx21("div", { className: clsx15("typography-label11regular", isDisabled ? "text-textPlaceholder" : "text-text02"), children: "\u30B5\u30A4\u30BA" }),
|
|
1458
|
+
/* @__PURE__ */ jsx21("div", { className: clsx15("typography-body12regular", isDisabled ? "text-textPlaceholder" : "text-text01"), children: maxSizeLabel })
|
|
1450
1459
|
] }),
|
|
1451
1460
|
selectedFile && /* @__PURE__ */ jsxs6("div", { className: "mt-2 flex flex-col items-center gap-1", children: [
|
|
1452
|
-
/* @__PURE__ */
|
|
1461
|
+
/* @__PURE__ */ jsx21("span", { className: "typography-label11regular text-text02", children: "\u30D5\u30A1\u30A4\u30EB\u540D" }),
|
|
1453
1462
|
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2", children: [
|
|
1454
|
-
/* @__PURE__ */
|
|
1455
|
-
!isDisabled && /* @__PURE__ */
|
|
1463
|
+
/* @__PURE__ */ jsx21("span", { className: "typography-label14regular", children: selectedFile.name }),
|
|
1464
|
+
!isDisabled && /* @__PURE__ */ jsx21(
|
|
1456
1465
|
IconButton,
|
|
1457
1466
|
{
|
|
1458
1467
|
variant: "text",
|
|
@@ -1466,7 +1475,7 @@ var FileInput = forwardRef4(
|
|
|
1466
1475
|
)
|
|
1467
1476
|
] })
|
|
1468
1477
|
] }),
|
|
1469
|
-
/* @__PURE__ */
|
|
1478
|
+
/* @__PURE__ */ jsx21(
|
|
1470
1479
|
"input",
|
|
1471
1480
|
{
|
|
1472
1481
|
id: inputId,
|
|
@@ -1482,13 +1491,13 @@ var FileInput = forwardRef4(
|
|
|
1482
1491
|
]
|
|
1483
1492
|
}
|
|
1484
1493
|
),
|
|
1485
|
-
hasErrors && hasErrorMessages && /* @__PURE__ */
|
|
1494
|
+
hasErrors && hasErrorMessages && /* @__PURE__ */ jsx21(
|
|
1486
1495
|
"div",
|
|
1487
1496
|
{
|
|
1488
1497
|
id: errorId,
|
|
1489
1498
|
"data-testid": "error-messages",
|
|
1490
1499
|
className: "typography-body13regular flex flex-col text-supportDanger",
|
|
1491
|
-
children: errorMessages.map((message, index) => /* @__PURE__ */
|
|
1500
|
+
children: errorMessages.map((message, index) => /* @__PURE__ */ jsx21("div", { children: message }, index))
|
|
1492
1501
|
}
|
|
1493
1502
|
)
|
|
1494
1503
|
] });
|
|
@@ -1585,7 +1594,7 @@ var useRovingFocus = ({
|
|
|
1585
1594
|
|
|
1586
1595
|
// src/loading/loading.tsx
|
|
1587
1596
|
import clsx17 from "clsx";
|
|
1588
|
-
import { Fragment as Fragment3, jsx as
|
|
1597
|
+
import { Fragment as Fragment3, jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1589
1598
|
function Loading({ size = "medium", position = "fixed", height = "100%" }) {
|
|
1590
1599
|
const wrapperClasses = clsx17(position, "left-0 top-0 z-20 flex w-full items-center justify-center");
|
|
1591
1600
|
const svgClasses = clsx17({
|
|
@@ -1593,8 +1602,8 @@ function Loading({ size = "medium", position = "fixed", height = "100%" }) {
|
|
|
1593
1602
|
"h-8 w-8": size === "medium",
|
|
1594
1603
|
"h-16 w-16": size === "large"
|
|
1595
1604
|
});
|
|
1596
|
-
return /* @__PURE__ */
|
|
1597
|
-
size === "small" && /* @__PURE__ */
|
|
1605
|
+
return /* @__PURE__ */ jsx22(Fragment3, { children: /* @__PURE__ */ jsxs8("div", { className: wrapperClasses, style: { height }, children: [
|
|
1606
|
+
size === "small" && /* @__PURE__ */ jsx22("svg", { className: svgClasses, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx22(
|
|
1598
1607
|
"circle",
|
|
1599
1608
|
{
|
|
1600
1609
|
className: "origin-center animate-circular-small-move stroke-interactive01",
|
|
@@ -1606,7 +1615,7 @@ function Loading({ size = "medium", position = "fixed", height = "100%" }) {
|
|
|
1606
1615
|
fill: "none"
|
|
1607
1616
|
}
|
|
1608
1617
|
) }),
|
|
1609
|
-
size === "medium" && /* @__PURE__ */
|
|
1618
|
+
size === "medium" && /* @__PURE__ */ jsx22("svg", { className: svgClasses, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx22(
|
|
1610
1619
|
"circle",
|
|
1611
1620
|
{
|
|
1612
1621
|
className: "origin-center animate-circular-medium-move stroke-interactive01",
|
|
@@ -1618,7 +1627,7 @@ function Loading({ size = "medium", position = "fixed", height = "100%" }) {
|
|
|
1618
1627
|
fill: "none"
|
|
1619
1628
|
}
|
|
1620
1629
|
) }),
|
|
1621
|
-
size === "large" && /* @__PURE__ */
|
|
1630
|
+
size === "large" && /* @__PURE__ */ jsx22("svg", { className: svgClasses, viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx22(
|
|
1622
1631
|
"circle",
|
|
1623
1632
|
{
|
|
1624
1633
|
className: "origin-center animate-circular-large-move stroke-interactive01",
|
|
@@ -1685,9 +1694,9 @@ function restoreProperty(element, property, value) {
|
|
|
1685
1694
|
}
|
|
1686
1695
|
|
|
1687
1696
|
// src/modal/modal-body.tsx
|
|
1688
|
-
import { jsx as
|
|
1697
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1689
1698
|
function ModalBody({ children }) {
|
|
1690
|
-
return /* @__PURE__ */
|
|
1699
|
+
return /* @__PURE__ */ jsx23("div", { className: "overflow-y-auto", children });
|
|
1691
1700
|
}
|
|
1692
1701
|
|
|
1693
1702
|
// src/modal/modal-context.ts
|
|
@@ -1698,18 +1707,18 @@ var ModalContext = createContext4({
|
|
|
1698
1707
|
|
|
1699
1708
|
// src/modal/modal-footer.tsx
|
|
1700
1709
|
import clsx18 from "clsx";
|
|
1701
|
-
import { jsx as
|
|
1710
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1702
1711
|
function ModalFooter({ children, isNoBorder = false }) {
|
|
1703
1712
|
const wrapperClasses = clsx18("flex w-full shrink-0 items-center rounded-b-lg px-6 py-4", {
|
|
1704
1713
|
"border-t-[1px] border-uiBorder01": !isNoBorder
|
|
1705
1714
|
});
|
|
1706
|
-
return /* @__PURE__ */
|
|
1715
|
+
return /* @__PURE__ */ jsx24("div", { className: wrapperClasses, children });
|
|
1707
1716
|
}
|
|
1708
1717
|
|
|
1709
1718
|
// src/modal/modal-header.tsx
|
|
1710
1719
|
import clsx19 from "clsx";
|
|
1711
1720
|
import { useContext as useContext5 } from "react";
|
|
1712
|
-
import { jsx as
|
|
1721
|
+
import { jsx as jsx25, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1713
1722
|
function ModalHeader({ children, isNoBorder = false }) {
|
|
1714
1723
|
const { onClose } = useContext5(ModalContext);
|
|
1715
1724
|
const headerClasses = clsx19(
|
|
@@ -1721,13 +1730,13 @@ function ModalHeader({ children, isNoBorder = false }) {
|
|
|
1721
1730
|
}
|
|
1722
1731
|
);
|
|
1723
1732
|
return /* @__PURE__ */ jsxs9("div", { className: headerClasses, children: [
|
|
1724
|
-
/* @__PURE__ */
|
|
1725
|
-
onClose && /* @__PURE__ */
|
|
1733
|
+
/* @__PURE__ */ jsx25("div", { children }),
|
|
1734
|
+
onClose && /* @__PURE__ */ jsx25(IconButton, { icon: "close", size: "small", variant: "text", onClick: onClose })
|
|
1726
1735
|
] });
|
|
1727
1736
|
}
|
|
1728
1737
|
|
|
1729
1738
|
// src/modal/modal.tsx
|
|
1730
|
-
import { Fragment as Fragment4, jsx as
|
|
1739
|
+
import { Fragment as Fragment4, jsx as jsx26, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1731
1740
|
var LIMIT_WIDTH = 320;
|
|
1732
1741
|
var LIMIT_HEIGHT = 184;
|
|
1733
1742
|
function Modal({
|
|
@@ -1746,9 +1755,9 @@ function Modal({
|
|
|
1746
1755
|
setIsMounted(true);
|
|
1747
1756
|
}, []);
|
|
1748
1757
|
return isMounted && isOpen ? /* @__PURE__ */ jsxs10(Fragment4, { children: [
|
|
1749
|
-
/* @__PURE__ */
|
|
1758
|
+
/* @__PURE__ */ jsx26(BodyScrollLock, {}),
|
|
1750
1759
|
createPortal2(
|
|
1751
|
-
/* @__PURE__ */
|
|
1760
|
+
/* @__PURE__ */ jsx26(ModalContext.Provider, { value: { onClose }, children: /* @__PURE__ */ jsx26("div", { className: "fixed left-0 top-0 z-overlay flex size-full items-center justify-center bg-backgroundOverlayBlack py-4", children: /* @__PURE__ */ jsx26(
|
|
1752
1761
|
"div",
|
|
1753
1762
|
{
|
|
1754
1763
|
role: "dialog",
|
|
@@ -1768,7 +1777,7 @@ Modal.Footer = ModalFooter;
|
|
|
1768
1777
|
|
|
1769
1778
|
// src/notification-inline/notification-inline.tsx
|
|
1770
1779
|
import { clsx as clsx20 } from "clsx";
|
|
1771
|
-
import { jsx as
|
|
1780
|
+
import { jsx as jsx27, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1772
1781
|
function NotificationInline({ state = "default", size = "medium", ...props }) {
|
|
1773
1782
|
const wrapperClasses = clsx20("typography-body13regular flex items-center gap-1 rounded text-text01", {
|
|
1774
1783
|
"bg-uiBackgroundError": state === "attention",
|
|
@@ -1796,9 +1805,9 @@ function NotificationInline({ state = "default", size = "medium", ...props }) {
|
|
|
1796
1805
|
medium: "medium"
|
|
1797
1806
|
};
|
|
1798
1807
|
return /* @__PURE__ */ jsxs11("div", { className: wrapperClasses, children: [
|
|
1799
|
-
state !== "default" && /* @__PURE__ */
|
|
1800
|
-
/* @__PURE__ */
|
|
1801
|
-
props.showClose === true && /* @__PURE__ */
|
|
1808
|
+
state !== "default" && /* @__PURE__ */ jsx27("div", { className: iconClasses, children: /* @__PURE__ */ jsx27(Icon, { name: iconName[state], size: iconSize[size] }) }),
|
|
1809
|
+
/* @__PURE__ */ jsx27("p", { className: "flex-1", children: props.children }),
|
|
1810
|
+
props.showClose === true && /* @__PURE__ */ jsx27("div", { className: "flex items-center", children: /* @__PURE__ */ jsx27(IconButton, { icon: "close", size: "small", variant: "text", onClick: props.onClickClose }) })
|
|
1802
1811
|
] });
|
|
1803
1812
|
}
|
|
1804
1813
|
|
|
@@ -1813,7 +1822,7 @@ var PaginationContext = createContext5({
|
|
|
1813
1822
|
});
|
|
1814
1823
|
|
|
1815
1824
|
// src/pagination/pagination-button.tsx
|
|
1816
|
-
import { jsx as
|
|
1825
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1817
1826
|
function PaginationButton({ page, onClick }) {
|
|
1818
1827
|
const { currentPage } = useContext6(PaginationContext);
|
|
1819
1828
|
const buttonClasses = clsx21(
|
|
@@ -1824,11 +1833,11 @@ function PaginationButton({ page, onClick }) {
|
|
|
1824
1833
|
{ "border border-uiBorder02": page === currentPage },
|
|
1825
1834
|
{ "border-transparent": page !== currentPage }
|
|
1826
1835
|
);
|
|
1827
|
-
return /* @__PURE__ */
|
|
1836
|
+
return /* @__PURE__ */ jsx28("button", { type: "button", className: buttonClasses, onClick: () => onClick(page), children: page });
|
|
1828
1837
|
}
|
|
1829
1838
|
|
|
1830
1839
|
// src/pagination/pagination.tsx
|
|
1831
|
-
import { jsx as
|
|
1840
|
+
import { jsx as jsx29, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1832
1841
|
var START_PAGE = 1;
|
|
1833
1842
|
function Pagination({ currentPage, totalPage, sideNumPagesToShow = 3, onClick }) {
|
|
1834
1843
|
if (totalPage < START_PAGE) {
|
|
@@ -1864,14 +1873,14 @@ function Pagination({ currentPage, totalPage, sideNumPagesToShow = 3, onClick })
|
|
|
1864
1873
|
const hasHeadEllipsis = firstPageInList !== null && firstPageInList > START_PAGE + 1;
|
|
1865
1874
|
const hasTailEllipsis = lastPageInList !== null && lastPageInList < totalPage - 1;
|
|
1866
1875
|
const hasLastPageButton = totalPage > START_PAGE;
|
|
1867
|
-
return /* @__PURE__ */
|
|
1876
|
+
return /* @__PURE__ */ jsx29(
|
|
1868
1877
|
PaginationContext.Provider,
|
|
1869
1878
|
{
|
|
1870
1879
|
value: {
|
|
1871
1880
|
currentPage: clampedCurrentPage
|
|
1872
1881
|
},
|
|
1873
1882
|
children: /* @__PURE__ */ jsxs12("ul", { className: "flex gap-1", children: [
|
|
1874
|
-
/* @__PURE__ */
|
|
1883
|
+
/* @__PURE__ */ jsx29("li", { className: "flex items-center", children: /* @__PURE__ */ jsx29(
|
|
1875
1884
|
IconButton,
|
|
1876
1885
|
{
|
|
1877
1886
|
isDisabled: isFirstPage,
|
|
@@ -1881,12 +1890,12 @@ function Pagination({ currentPage, totalPage, sideNumPagesToShow = 3, onClick })
|
|
|
1881
1890
|
onClick: () => onClick(Math.max(START_PAGE, clampedCurrentPage - 1))
|
|
1882
1891
|
}
|
|
1883
1892
|
) }),
|
|
1884
|
-
/* @__PURE__ */
|
|
1885
|
-
hasHeadEllipsis && /* @__PURE__ */
|
|
1886
|
-
pageList.map((page, index) => /* @__PURE__ */
|
|
1887
|
-
hasTailEllipsis && /* @__PURE__ */
|
|
1888
|
-
hasLastPageButton && /* @__PURE__ */
|
|
1889
|
-
/* @__PURE__ */
|
|
1893
|
+
/* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(PaginationButton, { onClick: () => onClick(START_PAGE), page: START_PAGE }) }),
|
|
1894
|
+
hasHeadEllipsis && /* @__PURE__ */ jsx29("li", { className: threeDotIconClasses, children: /* @__PURE__ */ jsx29(Icon, { name: "more", size: "small" }) }),
|
|
1895
|
+
pageList.map((page, index) => /* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(PaginationButton, { onClick: () => onClick(page), page }) }, index)),
|
|
1896
|
+
hasTailEllipsis && /* @__PURE__ */ jsx29("li", { className: threeDotIconClasses, children: /* @__PURE__ */ jsx29(Icon, { name: "more", size: "small" }) }),
|
|
1897
|
+
hasLastPageButton && /* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(PaginationButton, { onClick: () => onClick(totalPage), page: totalPage }) }),
|
|
1898
|
+
/* @__PURE__ */ jsx29("li", { className: "flex items-center", children: /* @__PURE__ */ jsx29(
|
|
1890
1899
|
IconButton,
|
|
1891
1900
|
{
|
|
1892
1901
|
isDisabled: isLastPage,
|
|
@@ -1920,7 +1929,7 @@ var SelectContext = createContext6({
|
|
|
1920
1929
|
import { focusVisible as focusVisible8 } from "@zenkigen-inc/component-theme";
|
|
1921
1930
|
import clsx22 from "clsx";
|
|
1922
1931
|
import { useContext as useContext7 } from "react";
|
|
1923
|
-
import { jsx as
|
|
1932
|
+
import { jsx as jsx30, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1924
1933
|
function SelectItem({ option }) {
|
|
1925
1934
|
const { setIsOptionListOpen, selectedOption, onChange, isError } = useContext7(SelectContext);
|
|
1926
1935
|
const handleClickItem = (option2) => {
|
|
@@ -1937,10 +1946,10 @@ function SelectItem({ option }) {
|
|
|
1937
1946
|
"pr-10": option.id !== selectedOption?.id
|
|
1938
1947
|
}
|
|
1939
1948
|
);
|
|
1940
|
-
return /* @__PURE__ */
|
|
1941
|
-
option.icon && /* @__PURE__ */
|
|
1942
|
-
/* @__PURE__ */
|
|
1943
|
-
option.id === selectedOption?.id && /* @__PURE__ */
|
|
1949
|
+
return /* @__PURE__ */ jsx30("li", { className: "flex w-full items-center", "data-id": option.id, children: /* @__PURE__ */ jsxs13("button", { className: itemClasses, type: "button", onClick: () => handleClickItem(option), children: [
|
|
1950
|
+
option.icon && /* @__PURE__ */ jsx30(Icon, { name: option.icon, size: "small" }),
|
|
1951
|
+
/* @__PURE__ */ jsx30("span", { className: "ml-1 flex-1 truncate text-left", children: option.label }),
|
|
1952
|
+
option.id === selectedOption?.id && /* @__PURE__ */ jsx30("div", { className: "ml-2 flex items-center", children: /* @__PURE__ */ jsx30(Icon, { name: "check", size: "small" }) })
|
|
1944
1953
|
] }) }, option.id);
|
|
1945
1954
|
}
|
|
1946
1955
|
|
|
@@ -1948,7 +1957,7 @@ function SelectItem({ option }) {
|
|
|
1948
1957
|
import { focusVisible as focusVisible9 } from "@zenkigen-inc/component-theme";
|
|
1949
1958
|
import clsx23 from "clsx";
|
|
1950
1959
|
import { forwardRef as forwardRef5, useContext as useContext8, useLayoutEffect as useLayoutEffect2 } from "react";
|
|
1951
|
-
import { jsx as
|
|
1960
|
+
import { jsx as jsx31, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1952
1961
|
var SelectList = forwardRef5(({ children, maxHeight }, ref) => {
|
|
1953
1962
|
const { selectedOption, setIsOptionListOpen, variant, placeholder, onChange, floatingStyles, floatingRef } = useContext8(SelectContext);
|
|
1954
1963
|
const handleClickDeselect = () => {
|
|
@@ -1982,13 +1991,13 @@ var SelectList = forwardRef5(({ children, maxHeight }, ref) => {
|
|
|
1982
1991
|
);
|
|
1983
1992
|
return /* @__PURE__ */ jsxs14("ul", { className: listClasses, style: { maxHeight, ...floatingStyles }, ref, children: [
|
|
1984
1993
|
children,
|
|
1985
|
-
placeholder != null && selectedOption !== null && /* @__PURE__ */
|
|
1994
|
+
placeholder != null && selectedOption !== null && /* @__PURE__ */ jsx31("li", { children: /* @__PURE__ */ jsx31("button", { className: deselectButtonClasses, type: "button", onClick: handleClickDeselect, children: "\u9078\u629E\u89E3\u9664" }) })
|
|
1986
1995
|
] });
|
|
1987
1996
|
});
|
|
1988
1997
|
SelectList.displayName = "SelectList";
|
|
1989
1998
|
|
|
1990
1999
|
// src/select/select.tsx
|
|
1991
|
-
import { jsx as
|
|
2000
|
+
import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1992
2001
|
var FLOATING_OFFSET = 4;
|
|
1993
2002
|
function Select({
|
|
1994
2003
|
children,
|
|
@@ -2060,7 +2069,7 @@ function Select({
|
|
|
2060
2069
|
"typography-label14regular": size === "small" || size === "medium",
|
|
2061
2070
|
"typography-label16regular": size === "large"
|
|
2062
2071
|
});
|
|
2063
|
-
return /* @__PURE__ */
|
|
2072
|
+
return /* @__PURE__ */ jsx32(
|
|
2064
2073
|
SelectContext.Provider,
|
|
2065
2074
|
{
|
|
2066
2075
|
value: {
|
|
@@ -2084,9 +2093,9 @@ function Select({
|
|
|
2084
2093
|
onClick: handleClickToggle,
|
|
2085
2094
|
disabled: isDisabled,
|
|
2086
2095
|
children: [
|
|
2087
|
-
selectedOption?.icon ? /* @__PURE__ */
|
|
2088
|
-
/* @__PURE__ */
|
|
2089
|
-
/* @__PURE__ */
|
|
2096
|
+
selectedOption?.icon ? /* @__PURE__ */ jsx32("div", { className: "mr-1 flex", children: /* @__PURE__ */ jsx32(Icon, { name: selectedOption.icon, size: size === "large" ? "medium" : "small" }) }) : placeholder != null && placeholderIcon && /* @__PURE__ */ jsx32("div", { className: "mr-1 flex", children: /* @__PURE__ */ jsx32(Icon, { name: placeholderIcon, size: size === "large" ? "medium" : "small" }) }),
|
|
2097
|
+
/* @__PURE__ */ jsx32("div", { className: labelClasses, children: /* @__PURE__ */ jsx32("div", { className: "truncate", children: selectedOption ? selectedOption.label : placeholder != null && placeholder }) }),
|
|
2098
|
+
/* @__PURE__ */ jsx32("div", { className: "ml-auto flex items-center", children: /* @__PURE__ */ jsx32(
|
|
2090
2099
|
Icon,
|
|
2091
2100
|
{
|
|
2092
2101
|
name: isOptionListOpen ? "angle-small-up" : "angle-small-down",
|
|
@@ -2096,7 +2105,7 @@ function Select({
|
|
|
2096
2105
|
]
|
|
2097
2106
|
}
|
|
2098
2107
|
),
|
|
2099
|
-
isOptionListOpen && !isDisabled && /* @__PURE__ */
|
|
2108
|
+
isOptionListOpen && !isDisabled && /* @__PURE__ */ jsx32(FloatingPortal2, { children: /* @__PURE__ */ jsx32("div", { className: "relative z-overlay", children: /* @__PURE__ */ jsx32(SelectList, { ref: refs.setFloating, maxHeight: optionListMaxHeight, children }) }) })
|
|
2100
2109
|
] })
|
|
2101
2110
|
}
|
|
2102
2111
|
);
|
|
@@ -2104,7 +2113,7 @@ function Select({
|
|
|
2104
2113
|
Select.Option = SelectItem;
|
|
2105
2114
|
|
|
2106
2115
|
// src/pagination-select/pagination-select.tsx
|
|
2107
|
-
import { jsx as
|
|
2116
|
+
import { jsx as jsx33, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2108
2117
|
function PaginationSelect({
|
|
2109
2118
|
totalSize,
|
|
2110
2119
|
currentPage,
|
|
@@ -2138,9 +2147,9 @@ function PaginationSelect({
|
|
|
2138
2147
|
"/ ",
|
|
2139
2148
|
totalSize
|
|
2140
2149
|
] }),
|
|
2141
|
-
/* @__PURE__ */
|
|
2150
|
+
/* @__PURE__ */ jsx33("span", { children: countLabel })
|
|
2142
2151
|
] }),
|
|
2143
|
-
/* @__PURE__ */
|
|
2152
|
+
/* @__PURE__ */ jsx33(
|
|
2144
2153
|
Select,
|
|
2145
2154
|
{
|
|
2146
2155
|
size: "medium",
|
|
@@ -2149,7 +2158,7 @@ function PaginationSelect({
|
|
|
2149
2158
|
optionListMaxHeight,
|
|
2150
2159
|
onChange: (option) => option && onChange(Number(option.value)),
|
|
2151
2160
|
isDisabled: pageMax === 0,
|
|
2152
|
-
children: optionsList.map((option) => /* @__PURE__ */
|
|
2161
|
+
children: optionsList.map((option) => /* @__PURE__ */ jsx33(Select.Option, { option }, option.id))
|
|
2153
2162
|
}
|
|
2154
2163
|
),
|
|
2155
2164
|
/* @__PURE__ */ jsxs16("div", { className: "typography-label14regular text-text02", children: [
|
|
@@ -2159,7 +2168,7 @@ function PaginationSelect({
|
|
|
2159
2168
|
] })
|
|
2160
2169
|
] }),
|
|
2161
2170
|
/* @__PURE__ */ jsxs16("div", { className: "flex items-center", children: [
|
|
2162
|
-
/* @__PURE__ */
|
|
2171
|
+
/* @__PURE__ */ jsx33(
|
|
2163
2172
|
IconButton,
|
|
2164
2173
|
{
|
|
2165
2174
|
variant: "text",
|
|
@@ -2169,7 +2178,7 @@ function PaginationSelect({
|
|
|
2169
2178
|
onClick: onClickPrevButton
|
|
2170
2179
|
}
|
|
2171
2180
|
),
|
|
2172
|
-
/* @__PURE__ */
|
|
2181
|
+
/* @__PURE__ */ jsx33(
|
|
2173
2182
|
IconButton,
|
|
2174
2183
|
{
|
|
2175
2184
|
variant: "text",
|
|
@@ -2204,7 +2213,7 @@ var useTextInputCompoundContext = (componentName) => {
|
|
|
2204
2213
|
// src/text-input/text-input-error-message.tsx
|
|
2205
2214
|
import { clsx as clsx25 } from "clsx";
|
|
2206
2215
|
import { forwardRef as forwardRef6 } from "react";
|
|
2207
|
-
import { jsx as
|
|
2216
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2208
2217
|
var TextInputErrorMessage = forwardRef6(
|
|
2209
2218
|
({ "aria-live": ariaLive = "assertive", ...props }, ref) => {
|
|
2210
2219
|
const { inputProps } = useTextInputCompoundContext("TextInput.ErrorMessage");
|
|
@@ -2214,7 +2223,7 @@ var TextInputErrorMessage = forwardRef6(
|
|
|
2214
2223
|
return null;
|
|
2215
2224
|
}
|
|
2216
2225
|
const errorMessageClassName = clsx25(typographyClass, "text-supportError");
|
|
2217
|
-
return /* @__PURE__ */
|
|
2226
|
+
return /* @__PURE__ */ jsx34("div", { ref, className: errorMessageClassName, "aria-live": ariaLive, ...props });
|
|
2218
2227
|
}
|
|
2219
2228
|
);
|
|
2220
2229
|
TextInputErrorMessage.displayName = "TextInput.ErrorMessage";
|
|
@@ -2222,17 +2231,17 @@ TextInputErrorMessage.displayName = "TextInput.ErrorMessage";
|
|
|
2222
2231
|
// src/text-input/text-input-helper-message.tsx
|
|
2223
2232
|
import { clsx as clsx26 } from "clsx";
|
|
2224
2233
|
import { forwardRef as forwardRef7 } from "react";
|
|
2225
|
-
import { jsx as
|
|
2234
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
2226
2235
|
var TextInputHelperMessage = forwardRef7((props, ref) => {
|
|
2227
2236
|
const { inputProps } = useTextInputCompoundContext("TextInput.HelperMessage");
|
|
2228
2237
|
const typographyClass = inputProps.size === "large" ? "typography-label13regular" : "typography-label12regular";
|
|
2229
2238
|
const helperMessageClassName = clsx26(typographyClass, "text-text02");
|
|
2230
|
-
return /* @__PURE__ */
|
|
2239
|
+
return /* @__PURE__ */ jsx35("div", { ref, className: helperMessageClassName, ...props });
|
|
2231
2240
|
});
|
|
2232
2241
|
TextInputHelperMessage.displayName = "TextInput.HelperMessage";
|
|
2233
2242
|
|
|
2234
2243
|
// src/text-input/text-input.tsx
|
|
2235
|
-
import { jsx as
|
|
2244
|
+
import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2236
2245
|
function TextInputInner({
|
|
2237
2246
|
size = "medium",
|
|
2238
2247
|
isError = false,
|
|
@@ -2320,16 +2329,16 @@ function TextInputInner({
|
|
|
2320
2329
|
"pr-0": hasTrailingElement
|
|
2321
2330
|
});
|
|
2322
2331
|
const inputElement = /* @__PURE__ */ jsxs17("div", { className: inputWrapClasses, children: [
|
|
2323
|
-
/* @__PURE__ */
|
|
2332
|
+
/* @__PURE__ */ jsx36("input", { ref, size: 1, className: inputClasses, ...mergedInputProps }),
|
|
2324
2333
|
after,
|
|
2325
|
-
isShowClearButton && /* @__PURE__ */
|
|
2334
|
+
isShowClearButton && /* @__PURE__ */ jsx36(IconButton, { variant: "text", icon: "close", size: "small", onClick: onClickClearButton })
|
|
2326
2335
|
] });
|
|
2327
2336
|
const stackedChildren = enhancedChildren == null ? [] : Children2.toArray(enhancedChildren);
|
|
2328
2337
|
const hasMessageChildren = stackedChildren.length > 0;
|
|
2329
2338
|
if (!hasMessageChildren) {
|
|
2330
|
-
return /* @__PURE__ */
|
|
2339
|
+
return /* @__PURE__ */ jsx36(TextInputCompoundContext.Provider, { value: contextValue, children: inputElement });
|
|
2331
2340
|
}
|
|
2332
|
-
return /* @__PURE__ */
|
|
2341
|
+
return /* @__PURE__ */ jsx36(TextInputCompoundContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-2", children: [
|
|
2333
2342
|
inputElement,
|
|
2334
2343
|
stackedChildren
|
|
2335
2344
|
] }) });
|
|
@@ -2352,14 +2361,14 @@ var TextInput = attachStatics(TextInputPublic);
|
|
|
2352
2361
|
var InternalTextInput = attachStatics(InternalTextInputBase);
|
|
2353
2362
|
|
|
2354
2363
|
// src/password-input/password-input.tsx
|
|
2355
|
-
import { jsx as
|
|
2364
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2356
2365
|
var PasswordInputBase = forwardRef9(function PasswordInput({ disabled = false, children, ...props }, ref) {
|
|
2357
2366
|
const [isPasswordVisible, setIsPasswordVisible] = useState9(false);
|
|
2358
2367
|
const { className: _className, ...textInputProps } = props;
|
|
2359
2368
|
const handlePasswordVisibilityToggle = () => {
|
|
2360
2369
|
setIsPasswordVisible((prev) => !prev);
|
|
2361
2370
|
};
|
|
2362
|
-
const passwordToggleButton = /* @__PURE__ */
|
|
2371
|
+
const passwordToggleButton = /* @__PURE__ */ jsx37(
|
|
2363
2372
|
IconButton,
|
|
2364
2373
|
{
|
|
2365
2374
|
variant: "text",
|
|
@@ -2370,7 +2379,7 @@ var PasswordInputBase = forwardRef9(function PasswordInput({ disabled = false, c
|
|
|
2370
2379
|
"aria-label": isPasswordVisible === true ? "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u975E\u8868\u793A\u306B\u3059\u308B" : "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A\u3059\u308B"
|
|
2371
2380
|
}
|
|
2372
2381
|
);
|
|
2373
|
-
return /* @__PURE__ */
|
|
2382
|
+
return /* @__PURE__ */ jsx37(
|
|
2374
2383
|
InternalTextInput,
|
|
2375
2384
|
{
|
|
2376
2385
|
ref,
|
|
@@ -2392,9 +2401,9 @@ var PasswordInput2 = Object.assign(PasswordInputBase, {
|
|
|
2392
2401
|
import { useContext as useContext11 } from "react";
|
|
2393
2402
|
|
|
2394
2403
|
// src/popup/popup-body.tsx
|
|
2395
|
-
import { jsx as
|
|
2404
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
2396
2405
|
function PopupBody({ children }) {
|
|
2397
|
-
return /* @__PURE__ */
|
|
2406
|
+
return /* @__PURE__ */ jsx38("div", { className: "overflow-y-auto", children });
|
|
2398
2407
|
}
|
|
2399
2408
|
|
|
2400
2409
|
// src/popup/popup-context.ts
|
|
@@ -2405,14 +2414,14 @@ var PopupContext = createContext8({
|
|
|
2405
2414
|
});
|
|
2406
2415
|
|
|
2407
2416
|
// src/popup/popup-footer.tsx
|
|
2408
|
-
import { jsx as
|
|
2417
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
2409
2418
|
function PopupFooter({ children }) {
|
|
2410
|
-
return /* @__PURE__ */
|
|
2419
|
+
return /* @__PURE__ */ jsx39("div", { className: "flex w-full shrink-0 items-center rounded-b-lg px-6 py-3", children });
|
|
2411
2420
|
}
|
|
2412
2421
|
|
|
2413
2422
|
// src/popup/popup-header.tsx
|
|
2414
2423
|
import { useContext as useContext10 } from "react";
|
|
2415
|
-
import { jsx as
|
|
2424
|
+
import { jsx as jsx40, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2416
2425
|
function PopupHeader({ children, before }) {
|
|
2417
2426
|
const { onClose } = useContext10(PopupContext);
|
|
2418
2427
|
return /* @__PURE__ */ jsxs18("div", { className: "typography-h5 flex h-12 w-full shrink-0 items-start justify-between rounded-t-lg px-6 pt-3 text-text01", children: [
|
|
@@ -2420,12 +2429,12 @@ function PopupHeader({ children, before }) {
|
|
|
2420
2429
|
before,
|
|
2421
2430
|
children
|
|
2422
2431
|
] }),
|
|
2423
|
-
onClose && /* @__PURE__ */
|
|
2432
|
+
onClose && /* @__PURE__ */ jsx40(IconButton, { icon: "close", size: "small", variant: "text", onClick: onClose })
|
|
2424
2433
|
] });
|
|
2425
2434
|
}
|
|
2426
2435
|
|
|
2427
2436
|
// src/popup/popup.tsx
|
|
2428
|
-
import { jsx as
|
|
2437
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
2429
2438
|
var LIMIT_WIDTH2 = 320;
|
|
2430
2439
|
var LIMIT_HEIGHT2 = 184;
|
|
2431
2440
|
function useOptionalPopoverContext() {
|
|
@@ -2440,7 +2449,7 @@ function Popup({ children, isOpen: controlledIsOpen, width = 480, height, onClos
|
|
|
2440
2449
|
if (!isOpen) {
|
|
2441
2450
|
return null;
|
|
2442
2451
|
}
|
|
2443
|
-
return /* @__PURE__ */
|
|
2452
|
+
return /* @__PURE__ */ jsx41(PopupContext.Provider, { value: { isOpen, onClose }, children: /* @__PURE__ */ jsx41(
|
|
2444
2453
|
"div",
|
|
2445
2454
|
{
|
|
2446
2455
|
className: "grid max-h-full grid-rows-[max-content_1fr_max-content] flex-col rounded-lg bg-uiBackground01 shadow-floatingShadow",
|
|
@@ -2457,7 +2466,7 @@ Popup.Footer = PopupFooter;
|
|
|
2457
2466
|
import { focusVisible as focusVisible11 } from "@zenkigen-inc/component-theme";
|
|
2458
2467
|
import clsx28 from "clsx";
|
|
2459
2468
|
import { useCallback as useCallback8, useState as useState10 } from "react";
|
|
2460
|
-
import { jsx as
|
|
2469
|
+
import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2461
2470
|
function Radio({ name, value, id, label, isChecked = false, isDisabled = false, onChange }) {
|
|
2462
2471
|
const [isMouseOver, setIsMouseOver] = useState10(false);
|
|
2463
2472
|
const handleMouseOverInput = useCallback8(() => {
|
|
@@ -2500,7 +2509,7 @@ function Radio({ name, value, id, label, isChecked = false, isDisabled = false,
|
|
|
2500
2509
|
});
|
|
2501
2510
|
return /* @__PURE__ */ jsxs19("div", { className: "flex items-center", children: [
|
|
2502
2511
|
/* @__PURE__ */ jsxs19("div", { className: "flex size-6 items-center justify-center", children: [
|
|
2503
|
-
/* @__PURE__ */
|
|
2512
|
+
/* @__PURE__ */ jsx42(
|
|
2504
2513
|
"input",
|
|
2505
2514
|
{
|
|
2506
2515
|
type: "checkbox",
|
|
@@ -2515,19 +2524,19 @@ function Radio({ name, value, id, label, isChecked = false, isDisabled = false,
|
|
|
2515
2524
|
className: inputClasses
|
|
2516
2525
|
}
|
|
2517
2526
|
),
|
|
2518
|
-
/* @__PURE__ */
|
|
2519
|
-
/* @__PURE__ */
|
|
2520
|
-
/* @__PURE__ */
|
|
2527
|
+
/* @__PURE__ */ jsx42("div", { className: boxClasses, children: /* @__PURE__ */ jsxs19("div", { className: "relative flex size-5 flex-[0_0_auto] items-center justify-center", children: [
|
|
2528
|
+
/* @__PURE__ */ jsx42("span", { className: afterClasses }),
|
|
2529
|
+
/* @__PURE__ */ jsx42("span", { className: hoverIndicatorClasses })
|
|
2521
2530
|
] }) })
|
|
2522
2531
|
] }),
|
|
2523
|
-
/* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ jsx42("label", { htmlFor: id, className: labelClasses, children: label })
|
|
2524
2533
|
] });
|
|
2525
2534
|
}
|
|
2526
2535
|
|
|
2527
2536
|
// src/search/search.tsx
|
|
2528
2537
|
import { clsx as clsx29 } from "clsx";
|
|
2529
2538
|
import { forwardRef as forwardRef10 } from "react";
|
|
2530
|
-
import { jsx as
|
|
2539
|
+
import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2531
2540
|
var Search = forwardRef10(({ width = "100%", size = "medium", ...props }, ref) => {
|
|
2532
2541
|
const classes = clsx29(
|
|
2533
2542
|
"flex items-center rounded-full border border-uiBorder02 bg-uiBackground01 focus-within:border-activeInput",
|
|
@@ -2538,9 +2547,9 @@ var Search = forwardRef10(({ width = "100%", size = "medium", ...props }, ref) =
|
|
|
2538
2547
|
["typography-label14regular"]: size === "medium",
|
|
2539
2548
|
["typography-label16regular"]: size === "large"
|
|
2540
2549
|
});
|
|
2541
|
-
return /* @__PURE__ */
|
|
2542
|
-
/* @__PURE__ */
|
|
2543
|
-
/* @__PURE__ */
|
|
2550
|
+
return /* @__PURE__ */ jsx43("div", { className: "relative", ref, children: /* @__PURE__ */ jsx43("form", { onSubmit: props.onSubmit, children: /* @__PURE__ */ jsxs20("div", { className: classes, style: { width }, children: [
|
|
2551
|
+
/* @__PURE__ */ jsx43(Icon, { name: "search", color: "icon01", size: "medium" }),
|
|
2552
|
+
/* @__PURE__ */ jsx43(
|
|
2544
2553
|
"input",
|
|
2545
2554
|
{
|
|
2546
2555
|
type: "text",
|
|
@@ -2551,7 +2560,7 @@ var Search = forwardRef10(({ width = "100%", size = "medium", ...props }, ref) =
|
|
|
2551
2560
|
onChange: props.onChange
|
|
2552
2561
|
}
|
|
2553
2562
|
),
|
|
2554
|
-
props.onClickClearButton && props.value && props.value.length !== 0 && /* @__PURE__ */
|
|
2563
|
+
props.onClickClearButton && props.value && props.value.length !== 0 && /* @__PURE__ */ jsx43(
|
|
2555
2564
|
IconButton,
|
|
2556
2565
|
{
|
|
2557
2566
|
variant: "text",
|
|
@@ -2576,7 +2585,7 @@ var SegmentedControlContext = createContext9(null);
|
|
|
2576
2585
|
import { focusVisible as focusVisible12 } from "@zenkigen-inc/component-theme";
|
|
2577
2586
|
import { clsx as clsx30 } from "clsx";
|
|
2578
2587
|
import { useContext as useContext12, useEffect as useEffect6, useRef as useRef7 } from "react";
|
|
2579
|
-
import { jsx as
|
|
2588
|
+
import { jsx as jsx44, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2580
2589
|
var SegmentedControlItem = ({
|
|
2581
2590
|
label,
|
|
2582
2591
|
value,
|
|
@@ -2652,7 +2661,7 @@ var SegmentedControlItem = ({
|
|
|
2652
2661
|
onMouseDown: handleMouseDown,
|
|
2653
2662
|
...rest,
|
|
2654
2663
|
children: [
|
|
2655
|
-
Boolean(icon) === true && icon && /* @__PURE__ */
|
|
2664
|
+
Boolean(icon) === true && icon && /* @__PURE__ */ jsx44(
|
|
2656
2665
|
"span",
|
|
2657
2666
|
{
|
|
2658
2667
|
className: clsx30("flex items-center", {
|
|
@@ -2660,17 +2669,17 @@ var SegmentedControlItem = ({
|
|
|
2660
2669
|
"fill-interactive01": isSelected === true && isOptionDisabled === false,
|
|
2661
2670
|
"fill-icon01": isSelected === false && isOptionDisabled === false
|
|
2662
2671
|
}),
|
|
2663
|
-
children: /* @__PURE__ */
|
|
2672
|
+
children: /* @__PURE__ */ jsx44(Icon, { name: icon, size: "small" })
|
|
2664
2673
|
}
|
|
2665
2674
|
),
|
|
2666
|
-
Boolean(label) === true && /* @__PURE__ */
|
|
2675
|
+
Boolean(label) === true && /* @__PURE__ */ jsx44("span", { className: "whitespace-nowrap", children: label })
|
|
2667
2676
|
]
|
|
2668
2677
|
}
|
|
2669
2678
|
);
|
|
2670
2679
|
};
|
|
2671
2680
|
|
|
2672
2681
|
// src/segmented-control/segmented-control.tsx
|
|
2673
|
-
import { Fragment as Fragment5, jsx as
|
|
2682
|
+
import { Fragment as Fragment5, jsx as jsx45 } from "react/jsx-runtime";
|
|
2674
2683
|
var SegmentedControl = ({
|
|
2675
2684
|
children,
|
|
2676
2685
|
value,
|
|
@@ -2715,7 +2724,7 @@ var SegmentedControl = ({
|
|
|
2715
2724
|
onBlur: handleBlurRovingFocus,
|
|
2716
2725
|
values: itemIds
|
|
2717
2726
|
};
|
|
2718
|
-
return /* @__PURE__ */
|
|
2727
|
+
return /* @__PURE__ */ jsx45(Fragment5, { children: /* @__PURE__ */ jsx45(SegmentedControlContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx45(
|
|
2719
2728
|
"div",
|
|
2720
2729
|
{
|
|
2721
2730
|
ref: containerRef,
|
|
@@ -2743,7 +2752,7 @@ import clsx32 from "clsx";
|
|
|
2743
2752
|
// src/select-sort/select-item.tsx
|
|
2744
2753
|
import { focusVisible as focusVisible13 } from "@zenkigen-inc/component-theme";
|
|
2745
2754
|
import clsx31 from "clsx";
|
|
2746
|
-
import { jsx as
|
|
2755
|
+
import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2747
2756
|
function SelectItem2({ children, isSortKey, onClickItem }) {
|
|
2748
2757
|
const itemClasses = clsx31(
|
|
2749
2758
|
"typography-label14regular flex h-8 w-full items-center px-3 hover:bg-hover02 active:bg-active02",
|
|
@@ -2753,14 +2762,14 @@ function SelectItem2({ children, isSortKey, onClickItem }) {
|
|
|
2753
2762
|
"bg-uiBackground01 fill-icon01 text-interactive02": !isSortKey
|
|
2754
2763
|
}
|
|
2755
2764
|
);
|
|
2756
|
-
return /* @__PURE__ */
|
|
2757
|
-
/* @__PURE__ */
|
|
2758
|
-
isSortKey && /* @__PURE__ */
|
|
2765
|
+
return /* @__PURE__ */ jsx46("li", { className: "flex w-full items-center", onClick: onClickItem, children: /* @__PURE__ */ jsxs22("button", { className: itemClasses, type: "button", children: [
|
|
2766
|
+
/* @__PURE__ */ jsx46("span", { className: "ml-1 mr-6", children }),
|
|
2767
|
+
isSortKey && /* @__PURE__ */ jsx46("div", { className: "ml-auto flex items-center", children: /* @__PURE__ */ jsx46(Icon, { name: "check", size: "small" }) })
|
|
2759
2768
|
] }) });
|
|
2760
2769
|
}
|
|
2761
2770
|
|
|
2762
2771
|
// src/select-sort/select-list.tsx
|
|
2763
|
-
import { jsx as
|
|
2772
|
+
import { jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2764
2773
|
function SelectList2({ size, variant, sortOrder, onClickItem, onClickDeselect }) {
|
|
2765
2774
|
const listClasses = clsx32(
|
|
2766
2775
|
"absolute z-dropdown w-max overflow-y-auto rounded bg-uiBackground01 py-2 shadow-floatingShadow",
|
|
@@ -2776,14 +2785,14 @@ function SelectList2({ size, variant, sortOrder, onClickItem, onClickDeselect })
|
|
|
2776
2785
|
focusVisible14.inset
|
|
2777
2786
|
);
|
|
2778
2787
|
return /* @__PURE__ */ jsxs23("ul", { className: listClasses, children: [
|
|
2779
|
-
/* @__PURE__ */
|
|
2780
|
-
/* @__PURE__ */
|
|
2781
|
-
sortOrder !== null && onClickDeselect && /* @__PURE__ */
|
|
2788
|
+
/* @__PURE__ */ jsx47(SelectItem2, { isSortKey: sortOrder === "ascend", onClickItem: () => onClickItem("ascend"), children: "\u6607\u9806\u3067\u4E26\u3073\u66FF\u3048" }),
|
|
2789
|
+
/* @__PURE__ */ jsx47(SelectItem2, { isSortKey: sortOrder === "descend", onClickItem: () => onClickItem("descend"), children: "\u964D\u9806\u3067\u4E26\u3073\u66FF\u3048" }),
|
|
2790
|
+
sortOrder !== null && onClickDeselect && /* @__PURE__ */ jsx47("li", { children: /* @__PURE__ */ jsx47("button", { className: deselectButtonClasses, type: "button", onClick: onClickDeselect, children: "\u9078\u629E\u89E3\u9664" }) })
|
|
2782
2791
|
] });
|
|
2783
2792
|
}
|
|
2784
2793
|
|
|
2785
2794
|
// src/select-sort/select-sort.tsx
|
|
2786
|
-
import { jsx as
|
|
2795
|
+
import { jsx as jsx48, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2787
2796
|
function SelectSort({
|
|
2788
2797
|
size = "medium",
|
|
2789
2798
|
variant = "outline",
|
|
@@ -2835,14 +2844,14 @@ function SelectSort({
|
|
|
2835
2844
|
});
|
|
2836
2845
|
return /* @__PURE__ */ jsxs24("div", { className: wrapperClasses, style: { width }, ref: targetRef, children: [
|
|
2837
2846
|
/* @__PURE__ */ jsxs24("button", { className: buttonClasses, type: "button", onClick: handleClickToggle, disabled: isDisabled, children: [
|
|
2838
|
-
/* @__PURE__ */
|
|
2839
|
-
/* @__PURE__ */
|
|
2847
|
+
/* @__PURE__ */ jsx48("div", { className: labelClasses, children: label }),
|
|
2848
|
+
/* @__PURE__ */ jsx48("div", { className: "ml-auto flex items-center", children: isSortKey ? /* @__PURE__ */ jsx48(
|
|
2840
2849
|
Icon,
|
|
2841
2850
|
{
|
|
2842
2851
|
name: sortOrder === "ascend" ? "arrow-up" : "arrow-down",
|
|
2843
2852
|
size: size === "large" ? "medium" : "small"
|
|
2844
2853
|
}
|
|
2845
|
-
) : /* @__PURE__ */
|
|
2854
|
+
) : /* @__PURE__ */ jsx48(
|
|
2846
2855
|
Icon,
|
|
2847
2856
|
{
|
|
2848
2857
|
name: isOptionListOpen ? "angle-small-up" : "angle-small-down",
|
|
@@ -2850,7 +2859,7 @@ function SelectSort({
|
|
|
2850
2859
|
}
|
|
2851
2860
|
) })
|
|
2852
2861
|
] }),
|
|
2853
|
-
isOptionListOpen && !isDisabled && /* @__PURE__ */
|
|
2862
|
+
isOptionListOpen && !isDisabled && /* @__PURE__ */ jsx48(
|
|
2854
2863
|
SelectList2,
|
|
2855
2864
|
{
|
|
2856
2865
|
size,
|
|
@@ -2867,7 +2876,7 @@ function SelectSort({
|
|
|
2867
2876
|
import { buttonColors as buttonColors5, focusVisible as focusVisible16 } from "@zenkigen-inc/component-theme";
|
|
2868
2877
|
import clsx34 from "clsx";
|
|
2869
2878
|
import { useCallback as useCallback10 } from "react";
|
|
2870
|
-
import { jsx as
|
|
2879
|
+
import { jsx as jsx49, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2871
2880
|
function SortButton({
|
|
2872
2881
|
size = "medium",
|
|
2873
2882
|
width,
|
|
@@ -2916,7 +2925,7 @@ function SortButton({
|
|
|
2916
2925
|
"mr-1": size === "x-small",
|
|
2917
2926
|
"mr-2": size !== "x-small"
|
|
2918
2927
|
});
|
|
2919
|
-
return /* @__PURE__ */
|
|
2928
|
+
return /* @__PURE__ */ jsx49("div", { className: wrapperClasses, style: { width }, children: /* @__PURE__ */ jsxs25(
|
|
2920
2929
|
"button",
|
|
2921
2930
|
{
|
|
2922
2931
|
className: buttonClasses,
|
|
@@ -2927,8 +2936,8 @@ function SortButton({
|
|
|
2927
2936
|
"aria-label": ariaLabel,
|
|
2928
2937
|
"aria-disabled": isDisabled,
|
|
2929
2938
|
children: [
|
|
2930
|
-
/* @__PURE__ */
|
|
2931
|
-
/* @__PURE__ */
|
|
2939
|
+
/* @__PURE__ */ jsx49("div", { className: labelClasses, children: label }),
|
|
2940
|
+
/* @__PURE__ */ jsx49("div", { className: "ml-auto flex items-center", children: /* @__PURE__ */ jsx49(Icon, { name: getIconName(), size: size === "large" ? "medium" : "small" }) })
|
|
2932
2941
|
]
|
|
2933
2942
|
}
|
|
2934
2943
|
) });
|
|
@@ -2940,7 +2949,7 @@ import { Children as Children4 } from "react";
|
|
|
2940
2949
|
|
|
2941
2950
|
// src/tab/tab-item.tsx
|
|
2942
2951
|
import { clsx as clsx35 } from "clsx";
|
|
2943
|
-
import { jsx as
|
|
2952
|
+
import { jsx as jsx50, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2944
2953
|
var TabItem = ({ isSelected = false, isDisabled = false, icon, ...props }) => {
|
|
2945
2954
|
const classes = clsx35(
|
|
2946
2955
|
"group relative z-0 flex items-center justify-center gap-1 py-2 leading-[24px] before:absolute before:inset-x-0 before:bottom-0 before:h-[2px] hover:text-interactive01 disabled:pointer-events-none disabled:text-disabled01",
|
|
@@ -2965,7 +2974,7 @@ var TabItem = ({ isSelected = false, isDisabled = false, icon, ...props }) => {
|
|
|
2965
2974
|
disabled: isDisabled,
|
|
2966
2975
|
onClick: () => props.onClick(props.id),
|
|
2967
2976
|
children: [
|
|
2968
|
-
icon != null && /* @__PURE__ */
|
|
2977
|
+
icon != null && /* @__PURE__ */ jsx50("span", { className: iconWrapperClasses, children: /* @__PURE__ */ jsx50(Icon, { name: icon, size: "small" }) }),
|
|
2969
2978
|
props.children
|
|
2970
2979
|
]
|
|
2971
2980
|
}
|
|
@@ -2973,7 +2982,7 @@ var TabItem = ({ isSelected = false, isDisabled = false, icon, ...props }) => {
|
|
|
2973
2982
|
};
|
|
2974
2983
|
|
|
2975
2984
|
// src/tab/tab.tsx
|
|
2976
|
-
import { jsx as
|
|
2985
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
2977
2986
|
function Tab({ children, layout = "auto" }) {
|
|
2978
2987
|
const childrenCount = Children4.count(children);
|
|
2979
2988
|
const containerStyle = layout === "equal" ? { gridTemplateColumns: `repeat(${childrenCount}, minmax(0,1fr))` } : {};
|
|
@@ -2984,28 +2993,28 @@ function Tab({ children, layout = "auto" }) {
|
|
|
2984
2993
|
grid: layout === "equal"
|
|
2985
2994
|
}
|
|
2986
2995
|
);
|
|
2987
|
-
return /* @__PURE__ */
|
|
2996
|
+
return /* @__PURE__ */ jsx51("div", { role: "tablist", className: containerClasses, style: containerStyle, children });
|
|
2988
2997
|
}
|
|
2989
2998
|
Tab.Item = TabItem;
|
|
2990
2999
|
|
|
2991
3000
|
// src/table/table-cell.tsx
|
|
2992
3001
|
import clsx37 from "clsx";
|
|
2993
|
-
import { jsx as
|
|
3002
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
2994
3003
|
function TableCell({ children, className, isHeader = false }) {
|
|
2995
3004
|
const classes = clsx37("border-b border-uiBorder01", { "sticky top-0 z-10 bg-white": isHeader }, className);
|
|
2996
|
-
return /* @__PURE__ */
|
|
3005
|
+
return /* @__PURE__ */ jsx52("div", { className: classes, children });
|
|
2997
3006
|
}
|
|
2998
3007
|
|
|
2999
3008
|
// src/table/table-row.tsx
|
|
3000
3009
|
import clsx38 from "clsx";
|
|
3001
|
-
import { jsx as
|
|
3010
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
3002
3011
|
function TableRow({ children, isHoverBackgroundVisible = false }) {
|
|
3003
3012
|
const rowClasses = clsx38("contents", isHoverBackgroundVisible && "[&:hover>div]:bg-hoverUi02");
|
|
3004
|
-
return /* @__PURE__ */
|
|
3013
|
+
return /* @__PURE__ */ jsx53("div", { className: rowClasses, children });
|
|
3005
3014
|
}
|
|
3006
3015
|
|
|
3007
3016
|
// src/table/table.tsx
|
|
3008
|
-
import { jsx as
|
|
3017
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
3009
3018
|
function Table({
|
|
3010
3019
|
width,
|
|
3011
3020
|
templateRows,
|
|
@@ -3014,7 +3023,7 @@ function Table({
|
|
|
3014
3023
|
autoRows,
|
|
3015
3024
|
children
|
|
3016
3025
|
}) {
|
|
3017
|
-
return /* @__PURE__ */
|
|
3026
|
+
return /* @__PURE__ */ jsx54(
|
|
3018
3027
|
"div",
|
|
3019
3028
|
{
|
|
3020
3029
|
className: "grid",
|
|
@@ -3039,7 +3048,7 @@ import clsx40 from "clsx";
|
|
|
3039
3048
|
// src/tag/delete-icon.tsx
|
|
3040
3049
|
import { focusVisible as focusVisible17 } from "@zenkigen-inc/component-theme";
|
|
3041
3050
|
import clsx39 from "clsx";
|
|
3042
|
-
import { jsx as
|
|
3051
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
3043
3052
|
var DeleteIcon = ({ color, variant, onClick }) => {
|
|
3044
3053
|
const deleteButtonClasses = clsx39(
|
|
3045
3054
|
"group ml-2 size-[14px] rounded-full p-0.5 hover:cursor-pointer hover:bg-iconOnColor focus-visible:bg-iconOnColor",
|
|
@@ -3049,7 +3058,7 @@ var DeleteIcon = ({ color, variant, onClick }) => {
|
|
|
3049
3058
|
"fill-interactive02": color === "gray" || variant === "light",
|
|
3050
3059
|
"group-hover:fill-interactive02 group-focus-visible:fill-interactive02 fill-iconOnColor": color !== "gray"
|
|
3051
3060
|
});
|
|
3052
|
-
return /* @__PURE__ */
|
|
3061
|
+
return /* @__PURE__ */ jsx55("button", { type: "button", className: deleteButtonClasses, onClick, children: /* @__PURE__ */ jsx55("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx55(
|
|
3053
3062
|
"path",
|
|
3054
3063
|
{
|
|
3055
3064
|
fillRule: "evenodd",
|
|
@@ -3061,7 +3070,7 @@ var DeleteIcon = ({ color, variant, onClick }) => {
|
|
|
3061
3070
|
};
|
|
3062
3071
|
|
|
3063
3072
|
// src/tag/tag.tsx
|
|
3064
|
-
import { jsx as
|
|
3073
|
+
import { jsx as jsx56, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3065
3074
|
function Tag({ id, children, color, variant = "normal", size = "medium", isEditable, onDelete }) {
|
|
3066
3075
|
const wrapperClasses = clsx40("flex", "items-center", "justify-center", {
|
|
3067
3076
|
[tagColors[color]]: variant === "normal",
|
|
@@ -3077,7 +3086,7 @@ function Tag({ id, children, color, variant = "normal", size = "medium", isEdita
|
|
|
3077
3086
|
});
|
|
3078
3087
|
return /* @__PURE__ */ jsxs27("div", { className: wrapperClasses, children: [
|
|
3079
3088
|
children,
|
|
3080
|
-
isEditable ? /* @__PURE__ */
|
|
3089
|
+
isEditable ? /* @__PURE__ */ jsx56(DeleteIcon, { onClick: () => onDelete(id), color, variant }) : null
|
|
3081
3090
|
] });
|
|
3082
3091
|
}
|
|
3083
3092
|
|
|
@@ -3099,7 +3108,7 @@ var useTextAreaCompoundContext = (componentName) => {
|
|
|
3099
3108
|
// src/text-area/text-area-error-message.tsx
|
|
3100
3109
|
import { clsx as clsx41 } from "clsx";
|
|
3101
3110
|
import { forwardRef as forwardRef11 } from "react";
|
|
3102
|
-
import { jsx as
|
|
3111
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
3103
3112
|
var TextAreaErrorMessage = forwardRef11(
|
|
3104
3113
|
({ "aria-live": ariaLive = "assertive", ...props }, ref) => {
|
|
3105
3114
|
const { textAreaProps } = useTextAreaCompoundContext("TextArea.ErrorMessage");
|
|
@@ -3109,7 +3118,7 @@ var TextAreaErrorMessage = forwardRef11(
|
|
|
3109
3118
|
return null;
|
|
3110
3119
|
}
|
|
3111
3120
|
const errorMessageClassName = clsx41(typographyClass, "text-supportError");
|
|
3112
|
-
return /* @__PURE__ */
|
|
3121
|
+
return /* @__PURE__ */ jsx57("div", { ref, className: errorMessageClassName, "aria-live": ariaLive, ...props });
|
|
3113
3122
|
}
|
|
3114
3123
|
);
|
|
3115
3124
|
TextAreaErrorMessage.displayName = "TextArea.ErrorMessage";
|
|
@@ -3117,17 +3126,17 @@ TextAreaErrorMessage.displayName = "TextArea.ErrorMessage";
|
|
|
3117
3126
|
// src/text-area/text-area-helper-message.tsx
|
|
3118
3127
|
import { clsx as clsx42 } from "clsx";
|
|
3119
3128
|
import { forwardRef as forwardRef12 } from "react";
|
|
3120
|
-
import { jsx as
|
|
3129
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
3121
3130
|
var TextAreaHelperMessage = forwardRef12((props, ref) => {
|
|
3122
3131
|
const { textAreaProps } = useTextAreaCompoundContext("TextArea.HelperMessage");
|
|
3123
3132
|
const typographyClass = textAreaProps.size === "large" ? "typography-label13regular" : "typography-label12regular";
|
|
3124
3133
|
const helperMessageClassName = clsx42(typographyClass, "text-text02");
|
|
3125
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ jsx58("div", { ref, className: helperMessageClassName, ...props });
|
|
3126
3135
|
});
|
|
3127
3136
|
TextAreaHelperMessage.displayName = "TextArea.HelperMessage";
|
|
3128
3137
|
|
|
3129
3138
|
// src/text-area/text-area.tsx
|
|
3130
|
-
import { jsx as
|
|
3139
|
+
import { jsx as jsx59, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3131
3140
|
function TextAreaInner({
|
|
3132
3141
|
size = "medium",
|
|
3133
3142
|
isResizable = false,
|
|
@@ -3138,6 +3147,9 @@ function TextAreaInner({
|
|
|
3138
3147
|
height,
|
|
3139
3148
|
children,
|
|
3140
3149
|
className,
|
|
3150
|
+
isCounterVisible = false,
|
|
3151
|
+
counterMaxLength,
|
|
3152
|
+
maxLength,
|
|
3141
3153
|
...props
|
|
3142
3154
|
}, ref) {
|
|
3143
3155
|
const autoGeneratedId = useId4();
|
|
@@ -3176,8 +3188,12 @@ function TextAreaInner({
|
|
|
3176
3188
|
}
|
|
3177
3189
|
return child;
|
|
3178
3190
|
});
|
|
3191
|
+
const counterLimit = counterMaxLength ?? maxLength;
|
|
3192
|
+
const counterId = isCounterVisible ? `${describedByBaseId}-counter` : null;
|
|
3193
|
+
const currentLength = typeof props.value === "string" ? props.value.length : 0;
|
|
3194
|
+
const isExceeded = counterLimit != null && currentLength > counterLimit;
|
|
3179
3195
|
const describedByFromProps = typeof props["aria-describedby"] === "string" ? props["aria-describedby"] : null;
|
|
3180
|
-
const describedByList = [describedByFromProps, ...helperMessageIds, ...errorIds].filter(
|
|
3196
|
+
const describedByList = [describedByFromProps, ...helperMessageIds, ...errorIds, counterId].filter(
|
|
3181
3197
|
(id) => typeof id === "string" && id.trim().length > 0
|
|
3182
3198
|
);
|
|
3183
3199
|
const describedByProps = describedByList.length > 0 ? {
|
|
@@ -3187,10 +3203,12 @@ function TextAreaInner({
|
|
|
3187
3203
|
const ariaInvalidFromProps = props["aria-invalid"];
|
|
3188
3204
|
const ariaInvalidValue = ariaInvalidFromProps != null ? ariaInvalidFromProps : shouldMarkInvalid ? true : null;
|
|
3189
3205
|
const ariaInvalidProps = ariaInvalidValue == null ? {} : { "aria-invalid": ariaInvalidValue };
|
|
3206
|
+
const maxLengthProps = counterMaxLength != null ? {} : maxLength != null ? { maxLength } : {};
|
|
3190
3207
|
const mergedTextAreaProps = {
|
|
3191
3208
|
...props,
|
|
3192
3209
|
...describedByProps,
|
|
3193
|
-
...ariaInvalidProps
|
|
3210
|
+
...ariaInvalidProps,
|
|
3211
|
+
...maxLengthProps
|
|
3194
3212
|
};
|
|
3195
3213
|
const textAreaWrapperClassName = clsx43(
|
|
3196
3214
|
"box-border flex w-full overflow-hidden rounded border",
|
|
@@ -3217,7 +3235,7 @@ function TextAreaInner({
|
|
|
3217
3235
|
}
|
|
3218
3236
|
);
|
|
3219
3237
|
const hasHeight = height != null && String(height).trim().length > 0;
|
|
3220
|
-
const textAreaElement = /* @__PURE__ */
|
|
3238
|
+
const textAreaElement = /* @__PURE__ */ jsx59(
|
|
3221
3239
|
"div",
|
|
3222
3240
|
{
|
|
3223
3241
|
className: textAreaWrapperClassName,
|
|
@@ -3227,7 +3245,7 @@ function TextAreaInner({
|
|
|
3227
3245
|
...!autoHeight && hasHeight ? { height } : {},
|
|
3228
3246
|
...autoHeight && hasHeight ? { minHeight: height } : {}
|
|
3229
3247
|
},
|
|
3230
|
-
children: /* @__PURE__ */
|
|
3248
|
+
children: /* @__PURE__ */ jsx59(
|
|
3231
3249
|
"textarea",
|
|
3232
3250
|
{
|
|
3233
3251
|
ref,
|
|
@@ -3242,14 +3260,32 @@ function TextAreaInner({
|
|
|
3242
3260
|
)
|
|
3243
3261
|
}
|
|
3244
3262
|
);
|
|
3263
|
+
const counterElement = isCounterVisible ? /* @__PURE__ */ jsx59(
|
|
3264
|
+
"div",
|
|
3265
|
+
{
|
|
3266
|
+
id: counterId,
|
|
3267
|
+
className: clsx43(
|
|
3268
|
+
"shrink-0",
|
|
3269
|
+
size === "large" ? "typography-label13regular" : "typography-label12regular",
|
|
3270
|
+
!disabled && isExceeded ? "text-supportError" : "text-text02"
|
|
3271
|
+
),
|
|
3272
|
+
"aria-live": "polite",
|
|
3273
|
+
children: counterLimit != null ? `${currentLength}/${counterLimit}\u6587\u5B57` : `${currentLength}\u6587\u5B57`
|
|
3274
|
+
}
|
|
3275
|
+
) : null;
|
|
3245
3276
|
const stackedChildren = enhancedChildren == null ? [] : Children5.toArray(enhancedChildren);
|
|
3246
3277
|
const hasMessageChildren = stackedChildren.length > 0;
|
|
3247
|
-
|
|
3248
|
-
|
|
3278
|
+
const hasBottomContent = hasMessageChildren || counterElement != null;
|
|
3279
|
+
if (!hasBottomContent) {
|
|
3280
|
+
return /* @__PURE__ */ jsx59(TextAreaCompoundContext.Provider, { value: contextValue, children: textAreaElement });
|
|
3249
3281
|
}
|
|
3250
|
-
return /* @__PURE__ */
|
|
3282
|
+
return /* @__PURE__ */ jsx59(TextAreaCompoundContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs28("div", { className: "flex flex-col gap-2", children: [
|
|
3251
3283
|
textAreaElement,
|
|
3252
|
-
|
|
3284
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex items-start justify-between gap-2", children: [
|
|
3285
|
+
hasMessageChildren && /* @__PURE__ */ jsx59("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: stackedChildren }),
|
|
3286
|
+
!hasMessageChildren && counterElement != null && /* @__PURE__ */ jsx59("div", { className: "flex-1" }),
|
|
3287
|
+
counterElement
|
|
3288
|
+
] })
|
|
3253
3289
|
] }) });
|
|
3254
3290
|
}
|
|
3255
3291
|
var attachStatics2 = (component) => {
|
|
@@ -3266,7 +3302,7 @@ var TextArea = attachStatics2(TextAreaBase);
|
|
|
3266
3302
|
// src/toast/toast.tsx
|
|
3267
3303
|
import clsx44 from "clsx";
|
|
3268
3304
|
import { useCallback as useCallback11, useEffect as useEffect7, useState as useState12 } from "react";
|
|
3269
|
-
import { jsx as
|
|
3305
|
+
import { jsx as jsx60, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3270
3306
|
var CLOSE_TIME_MSEC = 5e3;
|
|
3271
3307
|
function Toast({
|
|
3272
3308
|
state = "information",
|
|
@@ -3314,16 +3350,16 @@ function Toast({
|
|
|
3314
3350
|
return () => window.clearTimeout(timer);
|
|
3315
3351
|
}, [isAutoClose]);
|
|
3316
3352
|
return /* @__PURE__ */ jsxs29("div", { className: wrapperClasses, style: { width }, onAnimationEnd: handleAnimationEnd, children: [
|
|
3317
|
-
/* @__PURE__ */
|
|
3318
|
-
/* @__PURE__ */
|
|
3319
|
-
/* @__PURE__ */
|
|
3353
|
+
/* @__PURE__ */ jsx60("div", { className: iconClasses, children: /* @__PURE__ */ jsx60(Icon, { name: iconName[state] }) }),
|
|
3354
|
+
/* @__PURE__ */ jsx60("p", { className: textClasses, children }),
|
|
3355
|
+
/* @__PURE__ */ jsx60(IconButton, { icon: "close", size: "medium", variant: "text", onClick: handleClose, isNoPadding: true })
|
|
3320
3356
|
] });
|
|
3321
3357
|
}
|
|
3322
3358
|
|
|
3323
3359
|
// src/toast/toast-provider.tsx
|
|
3324
3360
|
import { createContext as createContext11, useCallback as useCallback12, useContext as useContext14, useEffect as useEffect8, useState as useState13 } from "react";
|
|
3325
3361
|
import { createPortal as createPortal3 } from "react-dom";
|
|
3326
|
-
import { jsx as
|
|
3362
|
+
import { jsx as jsx61, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3327
3363
|
var ToastContext = createContext11({});
|
|
3328
3364
|
var ToastProvider = ({ children }) => {
|
|
3329
3365
|
const [isClientRender, setIsClientRender] = useState13(false);
|
|
@@ -3340,7 +3376,7 @@ var ToastProvider = ({ children }) => {
|
|
|
3340
3376
|
return /* @__PURE__ */ jsxs30(ToastContext.Provider, { value: { addToast, removeToast }, children: [
|
|
3341
3377
|
children,
|
|
3342
3378
|
isClientRender && createPortal3(
|
|
3343
|
-
/* @__PURE__ */
|
|
3379
|
+
/* @__PURE__ */ jsx61("div", { className: "pointer-events-none fixed bottom-0 left-0 z-toast mb-4 ml-4 flex w-full flex-col-reverse gap-[16px]", children: toasts.map(({ id, message, state }) => /* @__PURE__ */ jsx61(Toast, { state, isAutoClose: true, isAnimation: true, onClickClose: () => removeToast(id), width: 475, children: message }, id)) }),
|
|
3344
3380
|
document.body
|
|
3345
3381
|
)
|
|
3346
3382
|
] });
|
|
@@ -3351,7 +3387,7 @@ var useToast = () => {
|
|
|
3351
3387
|
|
|
3352
3388
|
// src/toggle/toggle.tsx
|
|
3353
3389
|
import clsx45 from "clsx";
|
|
3354
|
-
import { jsx as
|
|
3390
|
+
import { jsx as jsx62, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3355
3391
|
function Toggle({
|
|
3356
3392
|
id,
|
|
3357
3393
|
size = "medium",
|
|
@@ -3387,8 +3423,8 @@ function Toggle({
|
|
|
3387
3423
|
"cursor-pointer text-text01": !isDisabled
|
|
3388
3424
|
});
|
|
3389
3425
|
return /* @__PURE__ */ jsxs31("div", { className: "relative flex flex-[0_0_auto] items-center", children: [
|
|
3390
|
-
label != null && labelPosition === "left" && /* @__PURE__ */
|
|
3391
|
-
/* @__PURE__ */
|
|
3426
|
+
label != null && labelPosition === "left" && /* @__PURE__ */ jsx62("label", { htmlFor: id, className: labelClasses, children: label }),
|
|
3427
|
+
/* @__PURE__ */ jsx62(
|
|
3392
3428
|
"input",
|
|
3393
3429
|
{
|
|
3394
3430
|
className: inputClasses,
|
|
@@ -3400,8 +3436,8 @@ function Toggle({
|
|
|
3400
3436
|
disabled: isDisabled
|
|
3401
3437
|
}
|
|
3402
3438
|
),
|
|
3403
|
-
/* @__PURE__ */
|
|
3404
|
-
label != null && labelPosition === "right" && /* @__PURE__ */
|
|
3439
|
+
/* @__PURE__ */ jsx62("div", { className: baseClasses, children: /* @__PURE__ */ jsx62("span", { className: indicatorClasses }) }),
|
|
3440
|
+
label != null && labelPosition === "right" && /* @__PURE__ */ jsx62("label", { htmlFor: id, className: labelClasses, children: label })
|
|
3405
3441
|
] });
|
|
3406
3442
|
}
|
|
3407
3443
|
|
|
@@ -3414,7 +3450,7 @@ import clsx47 from "clsx";
|
|
|
3414
3450
|
|
|
3415
3451
|
// src/tooltip/tail-icon.tsx
|
|
3416
3452
|
import clsx46 from "clsx";
|
|
3417
|
-
import { jsx as
|
|
3453
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
3418
3454
|
var TailIcon = (props) => {
|
|
3419
3455
|
const tailClasses = clsx46("absolute fill-uiBackgroundTooltip", {
|
|
3420
3456
|
"rotate-180": props.verticalPosition === "bottom",
|
|
@@ -3431,9 +3467,9 @@ var TailIcon = (props) => {
|
|
|
3431
3467
|
"left-1/2 -translate-x-2": props.horizontalAlign === "center" && props.size !== "small"
|
|
3432
3468
|
});
|
|
3433
3469
|
if (props.size === "small") {
|
|
3434
|
-
return /* @__PURE__ */
|
|
3470
|
+
return /* @__PURE__ */ jsx63("svg", { className: tailClasses, width: "8", height: "4", viewBox: "0 0 8 4", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx63("path", { d: "M4 4L0 0H8L4 4Z" }) });
|
|
3435
3471
|
} else {
|
|
3436
|
-
return /* @__PURE__ */
|
|
3472
|
+
return /* @__PURE__ */ jsx63(
|
|
3437
3473
|
"svg",
|
|
3438
3474
|
{
|
|
3439
3475
|
className: tailClasses,
|
|
@@ -3442,14 +3478,14 @@ var TailIcon = (props) => {
|
|
|
3442
3478
|
viewBox: "0 0 14 8",
|
|
3443
3479
|
fill: "none",
|
|
3444
3480
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3445
|
-
children: /* @__PURE__ */
|
|
3481
|
+
children: /* @__PURE__ */ jsx63("path", { d: "M7 8L0 0H14L7 8Z" })
|
|
3446
3482
|
}
|
|
3447
3483
|
);
|
|
3448
3484
|
}
|
|
3449
3485
|
};
|
|
3450
3486
|
|
|
3451
3487
|
// src/tooltip/tooltip-content.tsx
|
|
3452
|
-
import { jsx as
|
|
3488
|
+
import { jsx as jsx64, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3453
3489
|
var TooltipContent = ({
|
|
3454
3490
|
content,
|
|
3455
3491
|
horizontalAlign,
|
|
@@ -3485,7 +3521,7 @@ var TooltipContent = ({
|
|
|
3485
3521
|
transform: `translate(${tooltipPosition.translateX}, ${tooltipPosition.translateY})`,
|
|
3486
3522
|
...tooltipPosition
|
|
3487
3523
|
} : {};
|
|
3488
|
-
return /* @__PURE__ */
|
|
3524
|
+
return /* @__PURE__ */ jsx64("div", { className: tooltipWrapperClasses, style: tooltipWrapperStyle, children: /* @__PURE__ */ jsxs32(
|
|
3489
3525
|
"div",
|
|
3490
3526
|
{
|
|
3491
3527
|
className: tooltipBodyClasses,
|
|
@@ -3494,7 +3530,7 @@ var TooltipContent = ({
|
|
|
3494
3530
|
},
|
|
3495
3531
|
children: [
|
|
3496
3532
|
content,
|
|
3497
|
-
/* @__PURE__ */
|
|
3533
|
+
/* @__PURE__ */ jsx64(TailIcon, { size, verticalPosition, horizontalAlign })
|
|
3498
3534
|
]
|
|
3499
3535
|
}
|
|
3500
3536
|
) });
|
|
@@ -3555,7 +3591,7 @@ var useTooltip = () => {
|
|
|
3555
3591
|
};
|
|
3556
3592
|
|
|
3557
3593
|
// src/tooltip/tooltip.tsx
|
|
3558
|
-
import { jsx as
|
|
3594
|
+
import { jsx as jsx65, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3559
3595
|
function Tooltip({
|
|
3560
3596
|
children,
|
|
3561
3597
|
content,
|
|
@@ -3602,7 +3638,7 @@ function Tooltip({
|
|
|
3602
3638
|
onMouseLeave: handleMouseOutWrapper,
|
|
3603
3639
|
children: [
|
|
3604
3640
|
children,
|
|
3605
|
-
isVisible && (portalTarget == null ? /* @__PURE__ */
|
|
3641
|
+
isVisible && (portalTarget == null ? /* @__PURE__ */ jsx65(
|
|
3606
3642
|
TooltipContent,
|
|
3607
3643
|
{
|
|
3608
3644
|
content,
|
|
@@ -3613,7 +3649,7 @@ function Tooltip({
|
|
|
3613
3649
|
tooltipPosition
|
|
3614
3650
|
}
|
|
3615
3651
|
) : createPortal4(
|
|
3616
|
-
/* @__PURE__ */
|
|
3652
|
+
/* @__PURE__ */ jsx65(
|
|
3617
3653
|
TooltipContent,
|
|
3618
3654
|
{
|
|
3619
3655
|
isPortal: true,
|
|
@@ -3637,6 +3673,7 @@ export {
|
|
|
3637
3673
|
Button,
|
|
3638
3674
|
Checkbox,
|
|
3639
3675
|
DatePicker,
|
|
3676
|
+
Divider,
|
|
3640
3677
|
Dropdown,
|
|
3641
3678
|
EvaluationStar,
|
|
3642
3679
|
FileInput,
|