@zenkigen-inc/component-ui 1.16.2 → 1.16.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.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +84 -71
- package/dist/index.mjs +69 -56
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -6,8 +6,8 @@ import { iconColors, tagLightColors } from '@zenkigen-inc/component-theme';
|
|
|
6
6
|
type Props$w = {
|
|
7
7
|
size?: 'x-small' | 'small' | 'medium' | 'large' | 'x-large';
|
|
8
8
|
userId?: number;
|
|
9
|
-
firstName
|
|
10
|
-
lastName
|
|
9
|
+
firstName?: string;
|
|
10
|
+
lastName?: string;
|
|
11
11
|
isDisabled?: boolean;
|
|
12
12
|
};
|
|
13
13
|
declare function Avatar({ size, ...props }: Props$w): react.JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import { iconColors, tagLightColors } from '@zenkigen-inc/component-theme';
|
|
|
6
6
|
type Props$w = {
|
|
7
7
|
size?: 'x-small' | 'small' | 'medium' | 'large' | 'x-large';
|
|
8
8
|
userId?: number;
|
|
9
|
-
firstName
|
|
10
|
-
lastName
|
|
9
|
+
firstName?: string;
|
|
10
|
+
lastName?: string;
|
|
11
11
|
isDisabled?: boolean;
|
|
12
12
|
};
|
|
13
13
|
declare function Avatar({ size, ...props }: Props$w): react.JSX.Element;
|
package/dist/index.js
CHANGED
|
@@ -69,14 +69,41 @@ __export(index_exports, {
|
|
|
69
69
|
module.exports = __toCommonJS(index_exports);
|
|
70
70
|
|
|
71
71
|
// src/avatar/avatar.tsx
|
|
72
|
+
var import_component_theme2 = require("@zenkigen-inc/component-theme");
|
|
73
|
+
var import_clsx2 = require("clsx");
|
|
74
|
+
|
|
75
|
+
// src/icon/icon.tsx
|
|
76
|
+
var import_component_icons = require("@zenkigen-inc/component-icons");
|
|
72
77
|
var import_component_theme = require("@zenkigen-inc/component-theme");
|
|
73
78
|
var import_clsx = require("clsx");
|
|
74
79
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
80
|
+
var Icon = ({ size = "medium", isDisabled = false, ...props }) => {
|
|
81
|
+
const classes = (0, import_clsx.clsx)(
|
|
82
|
+
"inline-block shrink-0",
|
|
83
|
+
{
|
|
84
|
+
"fill-disabled01": isDisabled,
|
|
85
|
+
[import_component_theme.iconColors.icon01]: !isDisabled && props.color === "icon01",
|
|
86
|
+
[import_component_theme.iconColors.icon02]: !isDisabled && props.color === "icon02",
|
|
87
|
+
[import_component_theme.iconColors.icon03]: !isDisabled && props.color === "icon03",
|
|
88
|
+
[import_component_theme.iconColors.iconOnColor]: !isDisabled && props.color === "iconOnColor",
|
|
89
|
+
"w-3 h-3": size === "x-small",
|
|
90
|
+
"w-4 h-4": size === "small",
|
|
91
|
+
"w-6 h-6": size === "medium",
|
|
92
|
+
"w-8 h-8": size === "large",
|
|
93
|
+
"w-10 h-10": size === "x-large"
|
|
94
|
+
},
|
|
95
|
+
props.className
|
|
96
|
+
);
|
|
97
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: classes, children: import_component_icons.iconElements[props.name] });
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// src/avatar/avatar.tsx
|
|
101
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
75
102
|
var isAsciiString = (str) => {
|
|
76
103
|
return str.charCodeAt(0) < 256;
|
|
77
104
|
};
|
|
78
105
|
function Avatar({ size = "medium", ...props }) {
|
|
79
|
-
const classes = (0,
|
|
106
|
+
const classes = (0, import_clsx2.clsx)("flex items-center justify-center rounded-full text-textOnColor", {
|
|
80
107
|
"w-16 h-16 typography-label16regular": size === "x-large",
|
|
81
108
|
"w-12 h-12 typography-label14regular": size === "large",
|
|
82
109
|
"w-10 h-10 typography-label14regular": size === "medium",
|
|
@@ -84,31 +111,42 @@ function Avatar({ size = "medium", ...props }) {
|
|
|
84
111
|
"w-6 h-6 typography-label11regular": size === "x-small",
|
|
85
112
|
"bg-disabled01": props.isDisabled,
|
|
86
113
|
"bg-icon01": props.userId == null,
|
|
87
|
-
[
|
|
114
|
+
[import_component_theme2.userColors[(props.userId ?? 0) % import_component_theme2.userColors.length]]: props.userId != null && !(props.isDisabled ?? false)
|
|
88
115
|
});
|
|
89
|
-
const
|
|
90
|
-
|
|
116
|
+
const hasName = props.firstName != null && props.firstName.trim() !== "" || props.lastName != null && props.lastName.trim() !== "";
|
|
117
|
+
if (hasName === false) {
|
|
118
|
+
const iconSizeMap = {
|
|
119
|
+
"x-small": "x-small",
|
|
120
|
+
small: "small",
|
|
121
|
+
medium: "medium",
|
|
122
|
+
large: "large",
|
|
123
|
+
"x-large": "x-large"
|
|
124
|
+
};
|
|
125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: classes, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { name: "user-one", size: iconSizeMap[size], color: "iconOnColor" }) });
|
|
126
|
+
}
|
|
127
|
+
const trimmedFirstName = (props.firstName ?? "").replace("\u3000", " ").trim();
|
|
128
|
+
const trimmedLastName = (props.lastName ?? "").replace("\u3000", " ").trim();
|
|
91
129
|
const nameOnIcon = isAsciiString(trimmedLastName) ? trimmedFirstName.slice(0, 1).toUpperCase() + trimmedLastName.slice(0, 1).toUpperCase() : (trimmedLastName + trimmedFirstName).slice(0, 2);
|
|
92
|
-
return /* @__PURE__ */ (0,
|
|
130
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: classes, children: nameOnIcon });
|
|
93
131
|
}
|
|
94
132
|
|
|
95
133
|
// src/breadcrumb/breadcrumb-item.tsx
|
|
96
|
-
var
|
|
134
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
97
135
|
var BreadcrumbItem = ({ children }) => {
|
|
98
|
-
return /* @__PURE__ */ (0,
|
|
136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("li", { className: "flex gap-2 after:content-['/'] last:after:content-none [&_a]:text-interactive02 [&_a]:hover:underline", children });
|
|
99
137
|
};
|
|
100
138
|
|
|
101
139
|
// src/breadcrumb/breadcrumb.tsx
|
|
102
|
-
var
|
|
140
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
103
141
|
function Breadcrumb({ children }) {
|
|
104
|
-
return /* @__PURE__ */ (0,
|
|
142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("nav", { "aria-label": "breadcrumb", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ul", { className: "typography-label14regular flex flex-wrap gap-2 whitespace-nowrap text-text01", children }) });
|
|
105
143
|
}
|
|
106
144
|
Breadcrumb.Item = BreadcrumbItem;
|
|
107
145
|
|
|
108
146
|
// src/button/button.tsx
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var
|
|
147
|
+
var import_component_theme3 = require("@zenkigen-inc/component-theme");
|
|
148
|
+
var import_clsx3 = require("clsx");
|
|
149
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
112
150
|
var Button = ({
|
|
113
151
|
size = "medium",
|
|
114
152
|
variant = "fill",
|
|
@@ -123,19 +161,19 @@ var Button = ({
|
|
|
123
161
|
children,
|
|
124
162
|
...props
|
|
125
163
|
}) => {
|
|
126
|
-
const baseClasses = (0,
|
|
164
|
+
const baseClasses = (0, import_clsx3.clsx)(
|
|
127
165
|
"flex shrink-0 items-center gap-1",
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
166
|
+
import_component_theme3.buttonColors[variant].hover,
|
|
167
|
+
import_component_theme3.buttonColors[variant].active,
|
|
168
|
+
import_component_theme3.buttonColors[variant].disabled,
|
|
169
|
+
import_component_theme3.focusVisible.normal,
|
|
132
170
|
{
|
|
133
171
|
"h-6 px-2.5": size === "small",
|
|
134
172
|
"h-8 px-3": size === "medium",
|
|
135
173
|
"h-10 px-4 leading-[24px]": size === "large",
|
|
136
174
|
"inline-flex": elementAs === "a",
|
|
137
|
-
[
|
|
138
|
-
[
|
|
175
|
+
[import_component_theme3.buttonColors[variant].selected]: isSelected,
|
|
176
|
+
[import_component_theme3.buttonColors[variant].base]: !isSelected,
|
|
139
177
|
"hover:text-textOnColor active:text-textOnColor [&:hover>*]:fill-iconOnColor [&:active>*]:fill-iconOnColor": isSelected && variant !== "outline" && variant !== "text",
|
|
140
178
|
"pointer-events-none": isDisabled,
|
|
141
179
|
"rounded-button": borderRadius == null,
|
|
@@ -146,7 +184,7 @@ var Button = ({
|
|
|
146
184
|
}
|
|
147
185
|
);
|
|
148
186
|
const Component = elementAs ?? "button";
|
|
149
|
-
return /* @__PURE__ */ (0,
|
|
187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Component, { className: baseClasses, style: { width, borderRadius }, disabled: isDisabled, ...props, children: [
|
|
150
188
|
before,
|
|
151
189
|
children,
|
|
152
190
|
after
|
|
@@ -154,20 +192,20 @@ var Button = ({
|
|
|
154
192
|
};
|
|
155
193
|
|
|
156
194
|
// src/checkbox/checkbox.tsx
|
|
157
|
-
var
|
|
158
|
-
var
|
|
195
|
+
var import_component_theme4 = require("@zenkigen-inc/component-theme");
|
|
196
|
+
var import_clsx4 = __toESM(require("clsx"));
|
|
159
197
|
var import_react = require("react");
|
|
160
198
|
|
|
161
199
|
// src/checkbox/checked-icon.tsx
|
|
162
|
-
var
|
|
200
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
163
201
|
var CheckedIcon = () => {
|
|
164
|
-
return /* @__PURE__ */ (0,
|
|
202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
165
203
|
"svg",
|
|
166
204
|
{
|
|
167
205
|
viewBox: "0 0 20 20",
|
|
168
206
|
xmlns: "http://www.w3.org/2000/svg",
|
|
169
207
|
className: "absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm",
|
|
170
|
-
children: /* @__PURE__ */ (0,
|
|
208
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
171
209
|
"path",
|
|
172
210
|
{
|
|
173
211
|
fillRule: "evenodd",
|
|
@@ -180,21 +218,21 @@ var CheckedIcon = () => {
|
|
|
180
218
|
};
|
|
181
219
|
|
|
182
220
|
// src/checkbox/minus-icon.tsx
|
|
183
|
-
var
|
|
221
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
184
222
|
var MinusIcon = () => {
|
|
185
|
-
return /* @__PURE__ */ (0,
|
|
223
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
186
224
|
"svg",
|
|
187
225
|
{
|
|
188
226
|
viewBox: "0 0 20 20",
|
|
189
227
|
xmlns: "http://www.w3.org/2000/svg",
|
|
190
228
|
className: "absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm",
|
|
191
|
-
children: /* @__PURE__ */ (0,
|
|
229
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("path", { d: "M4.94723 10.5028H9.49726H10.5028H15.0528C15.3293 10.5028 15.5556 10.2766 15.5556 10C15.5556 9.72352 15.3293 9.49725 15.0528 9.49725H10.5028H9.49726H4.94723C4.67071 9.49725 4.44446 9.72352 4.44446 10C4.44446 10.2766 4.67071 10.5028 4.94723 10.5028Z" })
|
|
192
230
|
}
|
|
193
231
|
);
|
|
194
232
|
};
|
|
195
233
|
|
|
196
234
|
// src/checkbox/checkbox.tsx
|
|
197
|
-
var
|
|
235
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
198
236
|
function Checkbox({
|
|
199
237
|
name,
|
|
200
238
|
value,
|
|
@@ -217,13 +255,13 @@ function Checkbox({
|
|
|
217
255
|
(e) => !isDisabled && onChange?.(e),
|
|
218
256
|
[isDisabled, onChange]
|
|
219
257
|
);
|
|
220
|
-
const baseInputClasses = (0,
|
|
258
|
+
const baseInputClasses = (0, import_clsx4.default)("peer absolute z-[1] size-5 opacity-0", {
|
|
221
259
|
"cursor-not-allowed": isDisabled,
|
|
222
260
|
"cursor-pointer": !isDisabled
|
|
223
261
|
});
|
|
224
|
-
const boxClasses = (0,
|
|
262
|
+
const boxClasses = (0, import_clsx4.default)(
|
|
225
263
|
"inline-flex size-5 items-center justify-center rounded-sm border bg-white",
|
|
226
|
-
|
|
264
|
+
import_component_theme4.focusVisible.normalPeer,
|
|
227
265
|
{
|
|
228
266
|
"border-disabled01": isDisabled,
|
|
229
267
|
"border-hoverUiBorder": !isDisabled && isMouseOver && color === "default",
|
|
@@ -233,11 +271,11 @@ function Checkbox({
|
|
|
233
271
|
"border-supportError": !isDisabled && !isMouseOver && color === "error"
|
|
234
272
|
}
|
|
235
273
|
);
|
|
236
|
-
const indicatorClasses = (0,
|
|
274
|
+
const indicatorClasses = (0, import_clsx4.default)("relative flex size-5 flex-[0_0_auto] items-center justify-center", {
|
|
237
275
|
"bg-disabled01": isDisabled && isChecked,
|
|
238
276
|
"border-disabled01": isDisabled
|
|
239
277
|
});
|
|
240
|
-
const afterClasses = (0,
|
|
278
|
+
const afterClasses = (0, import_clsx4.default)("absolute inset-0 m-auto block rounded-sm", {
|
|
241
279
|
"bg-disabled01": isDisabled && isChecked,
|
|
242
280
|
"bg-hover01": !(isDisabled && isChecked) && isMouseOver,
|
|
243
281
|
"bg-interactive01": !(isDisabled && isChecked) && !isMouseOver,
|
|
@@ -248,16 +286,16 @@ function Checkbox({
|
|
|
248
286
|
"scale-0": !isChecked,
|
|
249
287
|
"scale-100": isChecked
|
|
250
288
|
});
|
|
251
|
-
const hoverIndicatorClasses = (0,
|
|
289
|
+
const hoverIndicatorClasses = (0, import_clsx4.default)("inline-block size-3 rounded-[1px]", {
|
|
252
290
|
"bg-hoverUi": !isDisabled && !isChecked && isMouseOver
|
|
253
291
|
});
|
|
254
|
-
const labelClasses = (0,
|
|
292
|
+
const labelClasses = (0, import_clsx4.default)("typography-label14regular ml-2 flex-[1_0_0] break-all", {
|
|
255
293
|
"pointer-events-none cursor-not-allowed text-disabled01": isDisabled,
|
|
256
294
|
"cursor-pointer text-text01": !isDisabled
|
|
257
295
|
});
|
|
258
|
-
return /* @__PURE__ */ (0,
|
|
259
|
-
/* @__PURE__ */ (0,
|
|
260
|
-
/* @__PURE__ */ (0,
|
|
296
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center", children: [
|
|
297
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "relative flex size-6 items-center justify-center", children: [
|
|
298
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
261
299
|
"input",
|
|
262
300
|
{
|
|
263
301
|
type: "checkbox",
|
|
@@ -272,15 +310,15 @@ function Checkbox({
|
|
|
272
310
|
className: baseInputClasses
|
|
273
311
|
}
|
|
274
312
|
),
|
|
275
|
-
/* @__PURE__ */ (0,
|
|
276
|
-
/* @__PURE__ */ (0,
|
|
277
|
-
isChecked && !isIndeterminate && /* @__PURE__ */ (0,
|
|
278
|
-
isIndeterminate && /* @__PURE__ */ (0,
|
|
313
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: boxClasses, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: indicatorClasses, children: [
|
|
314
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: afterClasses, children: [
|
|
315
|
+
isChecked && !isIndeterminate && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CheckedIcon, {}),
|
|
316
|
+
isIndeterminate && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(MinusIcon, {})
|
|
279
317
|
] }),
|
|
280
|
-
/* @__PURE__ */ (0,
|
|
318
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: hoverIndicatorClasses })
|
|
281
319
|
] }) })
|
|
282
320
|
] }),
|
|
283
|
-
label != null && /* @__PURE__ */ (0,
|
|
321
|
+
label != null && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("label", { htmlFor: id, className: labelClasses, children: label })
|
|
284
322
|
] });
|
|
285
323
|
}
|
|
286
324
|
|
|
@@ -308,31 +346,6 @@ var useOutsideClick = (ref, handler, enabled = true) => {
|
|
|
308
346
|
}, [ref, enabled, handler]);
|
|
309
347
|
};
|
|
310
348
|
|
|
311
|
-
// src/icon/icon.tsx
|
|
312
|
-
var import_component_icons = require("@zenkigen-inc/component-icons");
|
|
313
|
-
var import_component_theme4 = require("@zenkigen-inc/component-theme");
|
|
314
|
-
var import_clsx4 = require("clsx");
|
|
315
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
316
|
-
var Icon = ({ size = "medium", isDisabled = false, ...props }) => {
|
|
317
|
-
const classes = (0, import_clsx4.clsx)(
|
|
318
|
-
"inline-block shrink-0",
|
|
319
|
-
{
|
|
320
|
-
"fill-disabled01": isDisabled,
|
|
321
|
-
[import_component_theme4.iconColors.icon01]: !isDisabled && props.color === "icon01",
|
|
322
|
-
[import_component_theme4.iconColors.icon02]: !isDisabled && props.color === "icon02",
|
|
323
|
-
[import_component_theme4.iconColors.icon03]: !isDisabled && props.color === "icon03",
|
|
324
|
-
[import_component_theme4.iconColors.iconOnColor]: !isDisabled && props.color === "iconOnColor",
|
|
325
|
-
"w-3 h-3": size === "x-small",
|
|
326
|
-
"w-4 h-4": size === "small",
|
|
327
|
-
"w-6 h-6": size === "medium",
|
|
328
|
-
"w-8 h-8": size === "large",
|
|
329
|
-
"w-10 h-10": size === "x-large"
|
|
330
|
-
},
|
|
331
|
-
props.className
|
|
332
|
-
);
|
|
333
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: classes, children: import_component_icons.iconElements[props.name] });
|
|
334
|
-
};
|
|
335
|
-
|
|
336
349
|
// src/dropdown/dropdown-context.ts
|
|
337
350
|
var import_react3 = require("react");
|
|
338
351
|
var DropdownContext = (0, import_react3.createContext)({
|
|
@@ -1176,7 +1189,7 @@ function PaginationSelect({
|
|
|
1176
1189
|
children: optionsList.map((option) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Select.Option, { option }, option.id))
|
|
1177
1190
|
}
|
|
1178
1191
|
),
|
|
1179
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "typography-label14regular text-
|
|
1192
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "typography-label14regular text-text02", children: [
|
|
1180
1193
|
"/ ",
|
|
1181
1194
|
pageMax,
|
|
1182
1195
|
pageLabel
|
package/dist/index.mjs
CHANGED
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
// src/avatar/avatar.tsx
|
|
2
2
|
import { userColors } from "@zenkigen-inc/component-theme";
|
|
3
|
+
import { clsx as clsx2 } from "clsx";
|
|
4
|
+
|
|
5
|
+
// src/icon/icon.tsx
|
|
6
|
+
import { iconElements } from "@zenkigen-inc/component-icons";
|
|
7
|
+
import { iconColors } from "@zenkigen-inc/component-theme";
|
|
3
8
|
import { clsx } from "clsx";
|
|
4
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var Icon = ({ size = "medium", isDisabled = false, ...props }) => {
|
|
11
|
+
const classes = clsx(
|
|
12
|
+
"inline-block shrink-0",
|
|
13
|
+
{
|
|
14
|
+
"fill-disabled01": isDisabled,
|
|
15
|
+
[iconColors.icon01]: !isDisabled && props.color === "icon01",
|
|
16
|
+
[iconColors.icon02]: !isDisabled && props.color === "icon02",
|
|
17
|
+
[iconColors.icon03]: !isDisabled && props.color === "icon03",
|
|
18
|
+
[iconColors.iconOnColor]: !isDisabled && props.color === "iconOnColor",
|
|
19
|
+
"w-3 h-3": size === "x-small",
|
|
20
|
+
"w-4 h-4": size === "small",
|
|
21
|
+
"w-6 h-6": size === "medium",
|
|
22
|
+
"w-8 h-8": size === "large",
|
|
23
|
+
"w-10 h-10": size === "x-large"
|
|
24
|
+
},
|
|
25
|
+
props.className
|
|
26
|
+
);
|
|
27
|
+
return /* @__PURE__ */ jsx("span", { className: classes, children: iconElements[props.name] });
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// src/avatar/avatar.tsx
|
|
31
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
5
32
|
var isAsciiString = (str) => {
|
|
6
33
|
return str.charCodeAt(0) < 256;
|
|
7
34
|
};
|
|
8
35
|
function Avatar({ size = "medium", ...props }) {
|
|
9
|
-
const classes =
|
|
36
|
+
const classes = clsx2("flex items-center justify-center rounded-full text-textOnColor", {
|
|
10
37
|
"w-16 h-16 typography-label16regular": size === "x-large",
|
|
11
38
|
"w-12 h-12 typography-label14regular": size === "large",
|
|
12
39
|
"w-10 h-10 typography-label14regular": size === "medium",
|
|
@@ -16,28 +43,39 @@ function Avatar({ size = "medium", ...props }) {
|
|
|
16
43
|
"bg-icon01": props.userId == null,
|
|
17
44
|
[userColors[(props.userId ?? 0) % userColors.length]]: props.userId != null && !(props.isDisabled ?? false)
|
|
18
45
|
});
|
|
19
|
-
const
|
|
20
|
-
|
|
46
|
+
const hasName = props.firstName != null && props.firstName.trim() !== "" || props.lastName != null && props.lastName.trim() !== "";
|
|
47
|
+
if (hasName === false) {
|
|
48
|
+
const iconSizeMap = {
|
|
49
|
+
"x-small": "x-small",
|
|
50
|
+
small: "small",
|
|
51
|
+
medium: "medium",
|
|
52
|
+
large: "large",
|
|
53
|
+
"x-large": "x-large"
|
|
54
|
+
};
|
|
55
|
+
return /* @__PURE__ */ jsx2("span", { className: classes, children: /* @__PURE__ */ jsx2(Icon, { name: "user-one", size: iconSizeMap[size], color: "iconOnColor" }) });
|
|
56
|
+
}
|
|
57
|
+
const trimmedFirstName = (props.firstName ?? "").replace("\u3000", " ").trim();
|
|
58
|
+
const trimmedLastName = (props.lastName ?? "").replace("\u3000", " ").trim();
|
|
21
59
|
const nameOnIcon = isAsciiString(trimmedLastName) ? trimmedFirstName.slice(0, 1).toUpperCase() + trimmedLastName.slice(0, 1).toUpperCase() : (trimmedLastName + trimmedFirstName).slice(0, 2);
|
|
22
|
-
return /* @__PURE__ */
|
|
60
|
+
return /* @__PURE__ */ jsx2("span", { className: classes, children: nameOnIcon });
|
|
23
61
|
}
|
|
24
62
|
|
|
25
63
|
// src/breadcrumb/breadcrumb-item.tsx
|
|
26
|
-
import { jsx as
|
|
64
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
27
65
|
var BreadcrumbItem = ({ children }) => {
|
|
28
|
-
return /* @__PURE__ */
|
|
66
|
+
return /* @__PURE__ */ jsx3("li", { className: "flex gap-2 after:content-['/'] last:after:content-none [&_a]:text-interactive02 [&_a]:hover:underline", children });
|
|
29
67
|
};
|
|
30
68
|
|
|
31
69
|
// src/breadcrumb/breadcrumb.tsx
|
|
32
|
-
import { jsx as
|
|
70
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
33
71
|
function Breadcrumb({ children }) {
|
|
34
|
-
return /* @__PURE__ */
|
|
72
|
+
return /* @__PURE__ */ jsx4("nav", { "aria-label": "breadcrumb", children: /* @__PURE__ */ jsx4("ul", { className: "typography-label14regular flex flex-wrap gap-2 whitespace-nowrap text-text01", children }) });
|
|
35
73
|
}
|
|
36
74
|
Breadcrumb.Item = BreadcrumbItem;
|
|
37
75
|
|
|
38
76
|
// src/button/button.tsx
|
|
39
77
|
import { buttonColors, focusVisible } from "@zenkigen-inc/component-theme";
|
|
40
|
-
import { clsx as
|
|
78
|
+
import { clsx as clsx3 } from "clsx";
|
|
41
79
|
import { jsxs } from "react/jsx-runtime";
|
|
42
80
|
var Button = ({
|
|
43
81
|
size = "medium",
|
|
@@ -53,7 +91,7 @@ var Button = ({
|
|
|
53
91
|
children,
|
|
54
92
|
...props
|
|
55
93
|
}) => {
|
|
56
|
-
const baseClasses =
|
|
94
|
+
const baseClasses = clsx3(
|
|
57
95
|
"flex shrink-0 items-center gap-1",
|
|
58
96
|
buttonColors[variant].hover,
|
|
59
97
|
buttonColors[variant].active,
|
|
@@ -85,19 +123,19 @@ var Button = ({
|
|
|
85
123
|
|
|
86
124
|
// src/checkbox/checkbox.tsx
|
|
87
125
|
import { focusVisible as focusVisible2 } from "@zenkigen-inc/component-theme";
|
|
88
|
-
import
|
|
126
|
+
import clsx4 from "clsx";
|
|
89
127
|
import { useCallback, useState } from "react";
|
|
90
128
|
|
|
91
129
|
// src/checkbox/checked-icon.tsx
|
|
92
|
-
import { jsx as
|
|
130
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
93
131
|
var CheckedIcon = () => {
|
|
94
|
-
return /* @__PURE__ */
|
|
132
|
+
return /* @__PURE__ */ jsx5(
|
|
95
133
|
"svg",
|
|
96
134
|
{
|
|
97
135
|
viewBox: "0 0 20 20",
|
|
98
136
|
xmlns: "http://www.w3.org/2000/svg",
|
|
99
137
|
className: "absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm",
|
|
100
|
-
children: /* @__PURE__ */
|
|
138
|
+
children: /* @__PURE__ */ jsx5(
|
|
101
139
|
"path",
|
|
102
140
|
{
|
|
103
141
|
fillRule: "evenodd",
|
|
@@ -110,21 +148,21 @@ var CheckedIcon = () => {
|
|
|
110
148
|
};
|
|
111
149
|
|
|
112
150
|
// src/checkbox/minus-icon.tsx
|
|
113
|
-
import { jsx as
|
|
151
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
114
152
|
var MinusIcon = () => {
|
|
115
|
-
return /* @__PURE__ */
|
|
153
|
+
return /* @__PURE__ */ jsx6(
|
|
116
154
|
"svg",
|
|
117
155
|
{
|
|
118
156
|
viewBox: "0 0 20 20",
|
|
119
157
|
xmlns: "http://www.w3.org/2000/svg",
|
|
120
158
|
className: "absolute z-10 size-5 rounded-sm fill-iconOnColor hover:rounded-sm",
|
|
121
|
-
children: /* @__PURE__ */
|
|
159
|
+
children: /* @__PURE__ */ jsx6("path", { d: "M4.94723 10.5028H9.49726H10.5028H15.0528C15.3293 10.5028 15.5556 10.2766 15.5556 10C15.5556 9.72352 15.3293 9.49725 15.0528 9.49725H10.5028H9.49726H4.94723C4.67071 9.49725 4.44446 9.72352 4.44446 10C4.44446 10.2766 4.67071 10.5028 4.94723 10.5028Z" })
|
|
122
160
|
}
|
|
123
161
|
);
|
|
124
162
|
};
|
|
125
163
|
|
|
126
164
|
// src/checkbox/checkbox.tsx
|
|
127
|
-
import { jsx as
|
|
165
|
+
import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
128
166
|
function Checkbox({
|
|
129
167
|
name,
|
|
130
168
|
value,
|
|
@@ -147,11 +185,11 @@ function Checkbox({
|
|
|
147
185
|
(e) => !isDisabled && onChange?.(e),
|
|
148
186
|
[isDisabled, onChange]
|
|
149
187
|
);
|
|
150
|
-
const baseInputClasses =
|
|
188
|
+
const baseInputClasses = clsx4("peer absolute z-[1] size-5 opacity-0", {
|
|
151
189
|
"cursor-not-allowed": isDisabled,
|
|
152
190
|
"cursor-pointer": !isDisabled
|
|
153
191
|
});
|
|
154
|
-
const boxClasses =
|
|
192
|
+
const boxClasses = clsx4(
|
|
155
193
|
"inline-flex size-5 items-center justify-center rounded-sm border bg-white",
|
|
156
194
|
focusVisible2.normalPeer,
|
|
157
195
|
{
|
|
@@ -163,11 +201,11 @@ function Checkbox({
|
|
|
163
201
|
"border-supportError": !isDisabled && !isMouseOver && color === "error"
|
|
164
202
|
}
|
|
165
203
|
);
|
|
166
|
-
const indicatorClasses =
|
|
204
|
+
const indicatorClasses = clsx4("relative flex size-5 flex-[0_0_auto] items-center justify-center", {
|
|
167
205
|
"bg-disabled01": isDisabled && isChecked,
|
|
168
206
|
"border-disabled01": isDisabled
|
|
169
207
|
});
|
|
170
|
-
const afterClasses =
|
|
208
|
+
const afterClasses = clsx4("absolute inset-0 m-auto block rounded-sm", {
|
|
171
209
|
"bg-disabled01": isDisabled && isChecked,
|
|
172
210
|
"bg-hover01": !(isDisabled && isChecked) && isMouseOver,
|
|
173
211
|
"bg-interactive01": !(isDisabled && isChecked) && !isMouseOver,
|
|
@@ -178,16 +216,16 @@ function Checkbox({
|
|
|
178
216
|
"scale-0": !isChecked,
|
|
179
217
|
"scale-100": isChecked
|
|
180
218
|
});
|
|
181
|
-
const hoverIndicatorClasses =
|
|
219
|
+
const hoverIndicatorClasses = clsx4("inline-block size-3 rounded-[1px]", {
|
|
182
220
|
"bg-hoverUi": !isDisabled && !isChecked && isMouseOver
|
|
183
221
|
});
|
|
184
|
-
const labelClasses =
|
|
222
|
+
const labelClasses = clsx4("typography-label14regular ml-2 flex-[1_0_0] break-all", {
|
|
185
223
|
"pointer-events-none cursor-not-allowed text-disabled01": isDisabled,
|
|
186
224
|
"cursor-pointer text-text01": !isDisabled
|
|
187
225
|
});
|
|
188
226
|
return /* @__PURE__ */ jsxs2("div", { className: "flex items-center", children: [
|
|
189
227
|
/* @__PURE__ */ jsxs2("div", { className: "relative flex size-6 items-center justify-center", children: [
|
|
190
|
-
/* @__PURE__ */
|
|
228
|
+
/* @__PURE__ */ jsx7(
|
|
191
229
|
"input",
|
|
192
230
|
{
|
|
193
231
|
type: "checkbox",
|
|
@@ -202,15 +240,15 @@ function Checkbox({
|
|
|
202
240
|
className: baseInputClasses
|
|
203
241
|
}
|
|
204
242
|
),
|
|
205
|
-
/* @__PURE__ */
|
|
243
|
+
/* @__PURE__ */ jsx7("div", { className: boxClasses, children: /* @__PURE__ */ jsxs2("div", { className: indicatorClasses, children: [
|
|
206
244
|
/* @__PURE__ */ jsxs2("span", { className: afterClasses, children: [
|
|
207
|
-
isChecked && !isIndeterminate && /* @__PURE__ */
|
|
208
|
-
isIndeterminate && /* @__PURE__ */
|
|
245
|
+
isChecked && !isIndeterminate && /* @__PURE__ */ jsx7(CheckedIcon, {}),
|
|
246
|
+
isIndeterminate && /* @__PURE__ */ jsx7(MinusIcon, {})
|
|
209
247
|
] }),
|
|
210
|
-
/* @__PURE__ */
|
|
248
|
+
/* @__PURE__ */ jsx7("span", { className: hoverIndicatorClasses })
|
|
211
249
|
] }) })
|
|
212
250
|
] }),
|
|
213
|
-
label != null && /* @__PURE__ */
|
|
251
|
+
label != null && /* @__PURE__ */ jsx7("label", { htmlFor: id, className: labelClasses, children: label })
|
|
214
252
|
] });
|
|
215
253
|
}
|
|
216
254
|
|
|
@@ -238,31 +276,6 @@ var useOutsideClick = (ref, handler, enabled = true) => {
|
|
|
238
276
|
}, [ref, enabled, handler]);
|
|
239
277
|
};
|
|
240
278
|
|
|
241
|
-
// src/icon/icon.tsx
|
|
242
|
-
import { iconElements } from "@zenkigen-inc/component-icons";
|
|
243
|
-
import { iconColors } from "@zenkigen-inc/component-theme";
|
|
244
|
-
import { clsx as clsx4 } from "clsx";
|
|
245
|
-
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
246
|
-
var Icon = ({ size = "medium", isDisabled = false, ...props }) => {
|
|
247
|
-
const classes = clsx4(
|
|
248
|
-
"inline-block shrink-0",
|
|
249
|
-
{
|
|
250
|
-
"fill-disabled01": isDisabled,
|
|
251
|
-
[iconColors.icon01]: !isDisabled && props.color === "icon01",
|
|
252
|
-
[iconColors.icon02]: !isDisabled && props.color === "icon02",
|
|
253
|
-
[iconColors.icon03]: !isDisabled && props.color === "icon03",
|
|
254
|
-
[iconColors.iconOnColor]: !isDisabled && props.color === "iconOnColor",
|
|
255
|
-
"w-3 h-3": size === "x-small",
|
|
256
|
-
"w-4 h-4": size === "small",
|
|
257
|
-
"w-6 h-6": size === "medium",
|
|
258
|
-
"w-8 h-8": size === "large",
|
|
259
|
-
"w-10 h-10": size === "x-large"
|
|
260
|
-
},
|
|
261
|
-
props.className
|
|
262
|
-
);
|
|
263
|
-
return /* @__PURE__ */ jsx7("span", { className: classes, children: iconElements[props.name] });
|
|
264
|
-
};
|
|
265
|
-
|
|
266
279
|
// src/dropdown/dropdown-context.ts
|
|
267
280
|
import { createContext } from "react";
|
|
268
281
|
var DropdownContext = createContext({
|
|
@@ -1106,7 +1119,7 @@ function PaginationSelect({
|
|
|
1106
1119
|
children: optionsList.map((option) => /* @__PURE__ */ jsx24(Select.Option, { option }, option.id))
|
|
1107
1120
|
}
|
|
1108
1121
|
),
|
|
1109
|
-
/* @__PURE__ */ jsxs13("div", { className: "typography-label14regular text-
|
|
1122
|
+
/* @__PURE__ */ jsxs13("div", { className: "typography-label14regular text-text02", children: [
|
|
1110
1123
|
"/ ",
|
|
1111
1124
|
pageMax,
|
|
1112
1125
|
pageLabel
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenkigen-inc/component-ui",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.3",
|
|
4
4
|
"repository": "https://github.com/zenkigen/zenkigen-component",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@zenkigen-inc/component-icons": "1.16.
|
|
41
|
-
"@zenkigen-inc/component-theme": "1.16.
|
|
40
|
+
"@zenkigen-inc/component-icons": "1.16.3",
|
|
41
|
+
"@zenkigen-inc/component-theme": "1.16.3",
|
|
42
42
|
"clsx": "2.1.1"
|
|
43
43
|
}
|
|
44
44
|
}
|