@charcoal-ui/react 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/StyledButton.d.ts +1 -0
- package/dist/components/Button/StyledButton.d.ts.map +1 -1
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.story.d.ts +16 -32
- package/dist/components/Button/index.story.d.ts.map +1 -1
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/ListItem/index.story.d.ts +7 -7
- package/dist/components/DropdownSelector/ListItem/index.story.d.ts.map +1 -1
- package/dist/components/DropdownSelector/MenuList/index.story.d.ts +6 -9
- package/dist/components/DropdownSelector/MenuList/index.story.d.ts.map +1 -1
- package/dist/components/DropdownSelector/Popover/index.story.d.ts +3 -7
- package/dist/components/DropdownSelector/Popover/index.story.d.ts.map +1 -1
- package/dist/components/DropdownSelector/index.d.ts.map +1 -1
- package/dist/components/DropdownSelector/index.story.d.ts +9 -12
- package/dist/components/DropdownSelector/index.story.d.ts.map +1 -1
- package/dist/components/Icon/index.story.d.ts +4 -26
- package/dist/components/Icon/index.story.d.ts.map +1 -1
- package/dist/components/IconButton/index.d.ts +1 -0
- package/dist/components/IconButton/index.d.ts.map +1 -1
- package/dist/components/IconButton/index.story.d.ts +6 -25
- package/dist/components/IconButton/index.story.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts +8 -0
- package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts.map +1 -0
- package/dist/components/LoadingSpinner/index.d.ts +2 -2
- package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/index.story.d.ts +4 -7
- package/dist/components/LoadingSpinner/index.story.d.ts.map +1 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/index.story.d.ts +16 -41
- package/dist/components/Modal/index.story.d.ts.map +1 -1
- package/dist/components/Modal/useCustomModalOverlay.d.ts +12 -0
- package/dist/components/Modal/useCustomModalOverlay.d.ts.map +1 -0
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/Radio/index.d.ts +0 -2
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index.story.d.ts +12 -23
- package/dist/components/Radio/index.story.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.story.d.ts +5 -8
- package/dist/components/SegmentedControl/index.story.d.ts.map +1 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.story.d.ts +7 -12
- package/dist/components/Switch/index.story.d.ts.map +1 -1
- package/dist/components/TagItem/index.d.ts.map +1 -1
- package/dist/components/TagItem/index.story.d.ts +14 -24
- package/dist/components/TagItem/index.story.d.ts.map +1 -1
- package/dist/components/TextArea/TextArea.story.d.ts +7 -25
- package/dist/components/TextArea/TextArea.story.d.ts.map +1 -1
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextField/TextField.story.d.ts +14 -20
- package/dist/components/TextField/TextField.story.d.ts.map +1 -1
- package/dist/components/TextField/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1006 -2240
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1001 -2241
- package/dist/index.esm.js.map +1 -1
- package/dist/styled.d.ts +4 -4
- package/package.json +7 -6
- package/src/components/Button/StyledButton.tsx +19 -14
- package/src/components/Button/__snapshots__/index.story.storyshot +314 -118
- package/src/components/Button/index.story.tsx +141 -138
- package/src/components/Button/index.tsx +3 -0
- package/src/components/Checkbox/__snapshots__/index.story.storyshot +55 -42
- package/src/components/Checkbox/index.tsx +15 -17
- package/src/components/Clickable/__snapshots__/index.story.storyshot +2 -2
- package/src/components/DropdownSelector/ListItem/__snapshots__/index.story.storyshot +42 -37
- package/src/components/DropdownSelector/ListItem/index.story.tsx +8 -4
- package/src/components/DropdownSelector/MenuList/__snapshots__/index.story.storyshot +38 -38
- package/src/components/DropdownSelector/MenuList/index.story.tsx +33 -27
- package/src/components/DropdownSelector/Popover/__snapshots__/index.story.storyshot +11 -5
- package/src/components/DropdownSelector/Popover/index.story.tsx +6 -6
- package/src/components/DropdownSelector/__snapshots__/index.story.storyshot +148 -47
- package/src/components/DropdownSelector/index.story.tsx +207 -204
- package/src/components/DropdownSelector/index.tsx +17 -10
- package/src/components/Icon/__snapshots__/index.story.storyshot +1 -1
- package/src/components/Icon/index.story.tsx +8 -12
- package/src/components/IconButton/__snapshots__/index.story.storyshot +135 -13
- package/src/components/IconButton/index.story.tsx +30 -23
- package/src/components/IconButton/index.tsx +35 -20
- package/src/components/LoadingSpinner/LoadingSpinnerIcon.story.tsx +12 -0
- package/src/components/LoadingSpinner/__snapshots__/LoadingSpinnerIcon.story.storyshot +28 -0
- package/src/components/LoadingSpinner/__snapshots__/index.story.storyshot +1 -35
- package/src/components/LoadingSpinner/index.story.tsx +11 -54
- package/src/components/LoadingSpinner/index.tsx +1 -1
- package/src/components/Modal/__snapshots__/index.story.storyshot +224 -171
- package/src/components/Modal/index.story.tsx +139 -133
- package/src/components/Modal/index.tsx +15 -20
- package/src/components/Modal/useCustomModalOverlay.tsx +42 -0
- package/src/components/MultiSelect/__snapshots__/index.story.storyshot +56 -4
- package/src/components/MultiSelect/index.tsx +3 -0
- package/src/components/Radio/__snapshots__/index.story.storyshot +1001 -121
- package/src/components/Radio/index.story.tsx +128 -63
- package/src/components/Radio/index.tsx +15 -17
- package/src/components/SegmentedControl/__snapshots__/index.story.storyshot +2 -2
- package/src/components/SegmentedControl/index.story.tsx +24 -29
- package/src/components/Switch/__snapshots__/index.story.storyshot +184 -26
- package/src/components/Switch/index.story.tsx +72 -48
- package/src/components/Switch/index.tsx +2 -7
- package/src/components/TagItem/__snapshots__/index.story.storyshot +72 -33
- package/src/components/TagItem/index.story.tsx +154 -159
- package/src/components/TagItem/index.tsx +2 -6
- package/src/components/TextArea/TextArea.story.tsx +29 -32
- package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +127 -73
- package/src/components/TextArea/index.tsx +22 -14
- package/src/components/TextField/TextField.story.tsx +85 -64
- package/src/components/TextField/__snapshots__/TextField.story.storyshot +479 -167
- package/src/components/TextField/index.tsx +22 -21
package/dist/index.cjs.js
CHANGED
|
@@ -62,23 +62,25 @@ module.exports = __toCommonJS(src_exports);
|
|
|
62
62
|
var import_react = require("react");
|
|
63
63
|
var React = __toESM(require("react"));
|
|
64
64
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
65
|
-
var DefaultLink = React.forwardRef(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
)
|
|
65
|
+
var DefaultLink = React.forwardRef(function DefaultLink2({
|
|
66
|
+
to,
|
|
67
|
+
children,
|
|
68
|
+
...rest
|
|
69
|
+
}, ref) {
|
|
70
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: to, ref, ...rest, children });
|
|
71
|
+
});
|
|
70
72
|
var DefaultValue = {
|
|
71
73
|
Link: DefaultLink
|
|
72
74
|
};
|
|
73
75
|
var ComponentAbstractionContext = React.createContext(DefaultValue);
|
|
74
|
-
function ComponentAbstraction({
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
);
|
|
76
|
+
function ComponentAbstraction({
|
|
77
|
+
children,
|
|
78
|
+
components
|
|
79
|
+
}) {
|
|
80
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ComponentAbstractionContext.Provider, { value: {
|
|
81
|
+
...DefaultValue,
|
|
82
|
+
...components
|
|
83
|
+
}, children });
|
|
82
84
|
}
|
|
83
85
|
function useComponentAbstraction() {
|
|
84
86
|
return (0, import_react.useContext)(ComponentAbstractionContext);
|
|
@@ -113,9 +115,7 @@ var import_react2 = require("react");
|
|
|
113
115
|
|
|
114
116
|
// src/_lib/index.ts
|
|
115
117
|
function unreachable(value) {
|
|
116
|
-
throw new Error(
|
|
117
|
-
arguments.length === 0 ? "unreachable" : `unreachable (${JSON.stringify(value)})`
|
|
118
|
-
);
|
|
118
|
+
throw new Error(arguments.length === 0 ? "unreachable" : `unreachable (${JSON.stringify(value)})`);
|
|
119
119
|
}
|
|
120
120
|
function mergeRefs(...refs) {
|
|
121
121
|
return (value) => {
|
|
@@ -177,123 +177,39 @@ var React2 = __toESM(require("react"));
|
|
|
177
177
|
var import_styled_components2 = __toESM(require("styled-components"));
|
|
178
178
|
var import_utils = require("@charcoal-ui/utils");
|
|
179
179
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
180
|
-
var Clickable = React2.forwardRef(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
...rest,
|
|
195
|
-
ref,
|
|
196
|
-
as,
|
|
197
|
-
"aria-disabled": ariaDisabled
|
|
198
|
-
}
|
|
199
|
-
);
|
|
180
|
+
var Clickable = React2.forwardRef(function Clickable2(props, ref) {
|
|
181
|
+
const {
|
|
182
|
+
Link
|
|
183
|
+
} = useComponentAbstraction();
|
|
184
|
+
const isLink = "to" in props;
|
|
185
|
+
const as = isLink ? Link : "button";
|
|
186
|
+
const ariaDisabled = isLink && props.disabled === true ? true : void 0;
|
|
187
|
+
let rest = props;
|
|
188
|
+
if (isLink) {
|
|
189
|
+
const {
|
|
190
|
+
disabled,
|
|
191
|
+
..._rest
|
|
192
|
+
} = props;
|
|
193
|
+
rest = _rest;
|
|
200
194
|
}
|
|
201
|
-
);
|
|
195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(StyledClickableDiv, { ...rest, ref, as, "aria-disabled": ariaDisabled });
|
|
196
|
+
});
|
|
202
197
|
var Clickable_default = Clickable;
|
|
203
|
-
var StyledClickableDiv = import_styled_components2.default.div
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
${import_utils.disabledSelector} {
|
|
207
|
-
cursor: default;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/* Reset button appearance */
|
|
211
|
-
appearance: none;
|
|
212
|
-
background: transparent;
|
|
213
|
-
padding: 0;
|
|
214
|
-
border-style: none;
|
|
215
|
-
outline: none;
|
|
216
|
-
color: inherit;
|
|
217
|
-
text-rendering: inherit;
|
|
218
|
-
letter-spacing: inherit;
|
|
219
|
-
word-spacing: inherit;
|
|
220
|
-
text-decoration: none;
|
|
221
|
-
|
|
222
|
-
&:focus {
|
|
223
|
-
outline: none;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/* Change the font styles in all browsers. */
|
|
227
|
-
font: inherit;
|
|
228
|
-
|
|
229
|
-
/* Remove the margin in Firefox and Safari. */
|
|
230
|
-
margin: 0;
|
|
231
|
-
|
|
232
|
-
/* Show the overflow in Edge. */
|
|
233
|
-
overflow: visible;
|
|
234
|
-
|
|
235
|
-
/* Remove the inheritance of text transform in Firefox. */
|
|
236
|
-
text-transform: none;
|
|
237
|
-
|
|
238
|
-
/* Remove the inner border and padding in Firefox. */
|
|
239
|
-
&::-moz-focus-inner {
|
|
240
|
-
border-style: none;
|
|
241
|
-
padding: 0;
|
|
242
|
-
}
|
|
243
|
-
`;
|
|
198
|
+
var StyledClickableDiv = import_styled_components2.default.div.withConfig({
|
|
199
|
+
componentId: "ccl__sc-1lxyknw-0"
|
|
200
|
+
})(["cursor:pointer;", "{cursor:default;}appearance:none;background:transparent;padding:0;border-style:none;outline:none;color:inherit;text-rendering:inherit;letter-spacing:inherit;word-spacing:inherit;text-decoration:none;&:focus{outline:none;}font:inherit;margin:0;overflow:visible;text-transform:none;&::-moz-focus-inner{border-style:none;padding:0;}"], import_utils.disabledSelector);
|
|
244
201
|
|
|
245
202
|
// src/components/Button/StyledButton.tsx
|
|
246
|
-
var
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
display: inline-grid;
|
|
257
|
-
align-items: center;
|
|
258
|
-
justify-content: center;
|
|
259
|
-
cursor: pointer;
|
|
260
|
-
user-select: none;
|
|
261
|
-
white-space: nowrap;
|
|
262
|
-
border-radius: 999999px;
|
|
263
|
-
font-size: 14px;
|
|
264
|
-
line-height: 22px;
|
|
265
|
-
font-weight: bold;
|
|
266
|
-
|
|
267
|
-
${(p) => p.$size === "M" ? horizontalPaddingMedium : horizontalPaddingSmall}
|
|
268
|
-
color: var(--charcoal-${(p) => p.$color});
|
|
269
|
-
background-color: var(--charcoal-${(p) => p.$background});
|
|
270
|
-
transition: 0.2s color, 0.2s background-color, 0.2s box-shadow;
|
|
271
|
-
|
|
272
|
-
&:not(:disabled):not([aria-disabled]),
|
|
273
|
-
&[aria-disabled='false'] {
|
|
274
|
-
&:active,
|
|
275
|
-
&:focus,
|
|
276
|
-
&:focus-visible {
|
|
277
|
-
outline: none;
|
|
278
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
&:hover {
|
|
282
|
-
color: var(--charcoal-${(p) => p.$color}-hover);
|
|
283
|
-
background-color: var(--charcoal-${(p) => p.$background}-hover);
|
|
284
|
-
}
|
|
285
|
-
&:active {
|
|
286
|
-
color: var(--charcoal-${(p) => p.$color}-press);
|
|
287
|
-
background-color: var(--charcoal-${(p) => p.$background}-press);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
&:disabled,
|
|
292
|
-
&[aria-disabled]:not([aria-disabled='false']) {
|
|
293
|
-
opacity: 0.32;
|
|
294
|
-
}
|
|
295
|
-
height: ${(p) => p.$size === "M" ? 40 : 32}px;
|
|
296
|
-
`;
|
|
203
|
+
var import_styled2 = require("@charcoal-ui/styled");
|
|
204
|
+
var horizontalPaddingSmall = (0, import_styled_components3.css)(["padding-right:16px;padding-left:16px;"]);
|
|
205
|
+
var horizontalPaddingMedium = (0, import_styled_components3.css)(["padding-right:24px;padding-left:24px;"]);
|
|
206
|
+
var StyledButton = (0, import_styled_components3.default)(Clickable_default).withConfig({
|
|
207
|
+
componentId: "ccl__sc-19qkngs-0"
|
|
208
|
+
})(["width:", ";display:inline-grid;align-items:center;justify-content:center;cursor:pointer;user-select:none;white-space:nowrap;border-radius:999999px;font-size:14px;line-height:22px;font-weight:bold;", " color:var(--charcoal-", ");background-color:var(--charcoal-", ");transition:0.2s color,0.2s background-color,0.2s box-shadow;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", " ", "}&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;}height:", "px;"], (p) => p.$fullWidth ? "stretch" : "min-content", (p) => p.$size === "M" ? horizontalPaddingMedium : horizontalPaddingSmall, (p) => p.$color, (p) => p.$background, import_styled2.focusVisibleFocusRingCss, ({
|
|
209
|
+
$isActive: $active,
|
|
210
|
+
$color,
|
|
211
|
+
$background
|
|
212
|
+
}) => $active ? (0, import_styled_components3.css)(["color:var(--charcoal-", "-press);background-color:var(--charcoal-", "-press);"], $color, $background) : (0, import_styled_components3.css)(["&:hover{color:var(--charcoal-", "-hover);background-color:var(--charcoal-", "-hover);}&:active{color:var(--charcoal-", "-press);background-color:var(--charcoal-", "-press);}"], $color, $background, $color, $background), (p) => p.$size === "M" ? 40 : 32);
|
|
297
213
|
|
|
298
214
|
// src/components/Button/index.tsx
|
|
299
215
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
@@ -303,74 +219,44 @@ var Button = (0, import_react2.forwardRef)(function Button2({
|
|
|
303
219
|
size = "M",
|
|
304
220
|
fullWidth: fixed = false,
|
|
305
221
|
disabled = false,
|
|
222
|
+
isActive = false,
|
|
306
223
|
...rest
|
|
307
224
|
}, ref) {
|
|
308
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
309
|
-
StyledButton,
|
|
310
|
-
{
|
|
311
|
-
...rest,
|
|
312
|
-
disabled,
|
|
313
|
-
$background: variantToBackground(variant),
|
|
314
|
-
$color: variantToFont(variant),
|
|
315
|
-
$size: size,
|
|
316
|
-
$fullWidth: fixed,
|
|
317
|
-
ref,
|
|
318
|
-
children
|
|
319
|
-
}
|
|
320
|
-
);
|
|
225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(StyledButton, { ...rest, disabled, $background: variantToBackground(variant), $color: variantToFont(variant), $size: size, $fullWidth: fixed, $isActive: isActive, ref, children });
|
|
321
226
|
});
|
|
322
227
|
var Button_default = Button;
|
|
323
228
|
|
|
324
229
|
// src/components/IconButton/index.tsx
|
|
325
230
|
var import_react3 = require("react");
|
|
326
231
|
var import_styled_components4 = __toESM(require("styled-components"));
|
|
232
|
+
var import_styled3 = require("@charcoal-ui/styled");
|
|
327
233
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
328
|
-
var IconButton = (0, import_react3.forwardRef)(
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
234
|
+
var IconButton = (0, import_react3.forwardRef)(function IconButtonInner({
|
|
235
|
+
variant = "Default",
|
|
236
|
+
size = "M",
|
|
237
|
+
icon,
|
|
238
|
+
isActive = false,
|
|
239
|
+
...rest
|
|
240
|
+
}, ref) {
|
|
241
|
+
validateIconSize(size, icon);
|
|
242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledIconButton, { ...rest, ref, $size: size, $variant: variant, $isActive: isActive, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("pixiv-icon", { name: icon }) });
|
|
243
|
+
});
|
|
334
244
|
var IconButton_default = IconButton;
|
|
335
|
-
var StyledIconButton = (0, import_styled_components4.default)(Clickable_default).attrs(styledProps)
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
&:hover {
|
|
351
|
-
background-color: var(
|
|
352
|
-
${({ $background }) => `--charcoal-${$background}-hover`}
|
|
353
|
-
);
|
|
354
|
-
}
|
|
355
|
-
&:active {
|
|
356
|
-
background-color: var(
|
|
357
|
-
${({ $background }) => `--charcoal-${$background}-press`}
|
|
358
|
-
);
|
|
359
|
-
}
|
|
360
|
-
&:focus,
|
|
361
|
-
&:active,
|
|
362
|
-
&:focus-visible {
|
|
363
|
-
outline: none;
|
|
364
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
&:disabled,
|
|
369
|
-
&[aria-disabled]:not([aria-disabled='false']) {
|
|
370
|
-
opacity: 0.32;
|
|
371
|
-
}
|
|
372
|
-
`;
|
|
373
|
-
function styledProps({ $size, $variant }) {
|
|
245
|
+
var StyledIconButton = (0, import_styled_components4.default)(Clickable_default).attrs(styledProps).withConfig({
|
|
246
|
+
componentId: "ccl__sc-zssehl-0"
|
|
247
|
+
})(["user-select:none;width:", "px;height:", "px;display:flex;align-items:center;justify-content:center;color:var(", ");background-color:var(", ");border-radius:999999px;transition:0.2s background-color,0.2s box-shadow;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", " ", "}&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;}"], (p) => p.$width, (p) => p.$height, ({
|
|
248
|
+
$font
|
|
249
|
+
}) => `--charcoal-${$font}`, ({
|
|
250
|
+
$background
|
|
251
|
+
}) => `--charcoal-${$background}`, ({
|
|
252
|
+
$isActive,
|
|
253
|
+
$background,
|
|
254
|
+
$font
|
|
255
|
+
}) => $isActive ? (0, import_styled_components4.css)(["color:var(--charcoal-", "-press);background-color:var(--charcoal-", "-press);"], $font, $background) : (0, import_styled_components4.css)(["&:hover{color:var(--charcoal-", "-hover);background-color:var(--charcoal-", "-hover);}&:active{color:var(--charcoal-", "-press);background-color:var(--charcoal-", "-press);}"], $font, $background, $font, $background), import_styled3.focusVisibleFocusRingCss);
|
|
256
|
+
function styledProps({
|
|
257
|
+
$size,
|
|
258
|
+
$variant
|
|
259
|
+
}) {
|
|
374
260
|
return {
|
|
375
261
|
...variantToProps($variant),
|
|
376
262
|
...sizeToProps($size)
|
|
@@ -379,9 +265,15 @@ function styledProps({ $size, $variant }) {
|
|
|
379
265
|
function variantToProps(variant) {
|
|
380
266
|
switch (variant) {
|
|
381
267
|
case "Default":
|
|
382
|
-
return {
|
|
268
|
+
return {
|
|
269
|
+
$font: "text3",
|
|
270
|
+
$background: "transparent"
|
|
271
|
+
};
|
|
383
272
|
case "Overlay":
|
|
384
|
-
return {
|
|
273
|
+
return {
|
|
274
|
+
$font: "text5",
|
|
275
|
+
$background: "surface4"
|
|
276
|
+
};
|
|
385
277
|
}
|
|
386
278
|
}
|
|
387
279
|
function sizeToProps(size) {
|
|
@@ -420,9 +312,7 @@ function validateIconSize(size, icon) {
|
|
|
420
312
|
}
|
|
421
313
|
const [iconSize] = result;
|
|
422
314
|
if (iconSize !== requiredIconSize) {
|
|
423
|
-
console.warn(
|
|
424
|
-
`IconButton with size "${size}" expect icon size "${requiredIconSize}, but got "${iconSize}"`
|
|
425
|
-
);
|
|
315
|
+
console.warn(`IconButton with size "${size}" expect icon size "${requiredIconSize}, but got "${iconSize}"`);
|
|
426
316
|
}
|
|
427
317
|
}
|
|
428
318
|
|
|
@@ -431,8 +321,14 @@ var import_react4 = require("react");
|
|
|
431
321
|
var React3 = __toESM(require("react"));
|
|
432
322
|
var import_styled_components5 = __toESM(require("styled-components"));
|
|
433
323
|
var import_warning = __toESM(require("warning"));
|
|
324
|
+
var import_styled4 = require("@charcoal-ui/styled");
|
|
434
325
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
435
|
-
var Radio = (0, import_react4.forwardRef)(function RadioInner({
|
|
326
|
+
var Radio = (0, import_react4.forwardRef)(function RadioInner({
|
|
327
|
+
value,
|
|
328
|
+
disabled = false,
|
|
329
|
+
children,
|
|
330
|
+
className
|
|
331
|
+
}, ref) {
|
|
436
332
|
const {
|
|
437
333
|
name,
|
|
438
334
|
selected,
|
|
@@ -448,141 +344,29 @@ var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled
|
|
|
448
344
|
const isSelected = value === selected;
|
|
449
345
|
const isDisabled = disabled || isParentDisabled;
|
|
450
346
|
const isReadonly = readonly && !isSelected;
|
|
451
|
-
const handleChange = (0, import_react4.useCallback)(
|
|
452
|
-
(e)
|
|
453
|
-
|
|
454
|
-
},
|
|
455
|
-
[onChange]
|
|
456
|
-
);
|
|
347
|
+
const handleChange = (0, import_react4.useCallback)((e) => {
|
|
348
|
+
onChange(e.currentTarget.value);
|
|
349
|
+
}, [onChange]);
|
|
457
350
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(RadioRoot, { "aria-disabled": isDisabled || isReadonly, className, children: [
|
|
458
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
459
|
-
RadioInput,
|
|
460
|
-
{
|
|
461
|
-
name,
|
|
462
|
-
value,
|
|
463
|
-
checked: isSelected,
|
|
464
|
-
invalid,
|
|
465
|
-
onChange: handleChange,
|
|
466
|
-
disabled: isDisabled || isReadonly,
|
|
467
|
-
ref
|
|
468
|
-
}
|
|
469
|
-
),
|
|
351
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioInput, { name, value, checked: isSelected, "aria-invalid": invalid, onChange: handleChange, disabled: isDisabled || isReadonly, ref }),
|
|
470
352
|
children != null && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioLabel, { children })
|
|
471
353
|
] });
|
|
472
354
|
});
|
|
473
355
|
var Radio_default = (0, import_react4.memo)(Radio);
|
|
474
|
-
var RadioRoot = import_styled_components5.default.label
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
&[type='radio'] {
|
|
489
|
-
appearance: none;
|
|
490
|
-
display: block;
|
|
491
|
-
box-sizing: border-box;
|
|
492
|
-
|
|
493
|
-
margin: 0;
|
|
494
|
-
padding: 6px;
|
|
495
|
-
|
|
496
|
-
width: 20px;
|
|
497
|
-
height: 20px;
|
|
498
|
-
cursor: pointer;
|
|
499
|
-
border-radius: 999999px;
|
|
500
|
-
background-color: var(--charcoal-surface1);
|
|
501
|
-
transition: 0.2s background-color, 0.2s box-shadow;
|
|
502
|
-
|
|
503
|
-
&:not(:disabled):not([aria-disabled]),
|
|
504
|
-
&[aria-disabled='false'] {
|
|
505
|
-
${({ invalid = false }) => invalid && import_styled_components5.css`
|
|
506
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
507
|
-
`}
|
|
508
|
-
|
|
509
|
-
&:hover {
|
|
510
|
-
background-color: var(--charcoal-surface1-hover);
|
|
511
|
-
}
|
|
512
|
-
&:active {
|
|
513
|
-
background-color: var(--charcoal-surface1-press);
|
|
514
|
-
}
|
|
515
|
-
&:focus,
|
|
516
|
-
&:active,
|
|
517
|
-
&:focus-visible {
|
|
518
|
-
outline: none;
|
|
519
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
&:not(:checked) {
|
|
524
|
-
border-width: 2px;
|
|
525
|
-
border-style: solid;
|
|
526
|
-
border-color: var(--charcoal-text3);
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
&:checked {
|
|
530
|
-
background-color: var(--charcoal-brand);
|
|
531
|
-
&::after {
|
|
532
|
-
content: '';
|
|
533
|
-
display: block;
|
|
534
|
-
width: 8px;
|
|
535
|
-
height: 8px;
|
|
536
|
-
pointer-events: none;
|
|
537
|
-
background-color: var(--charcoal-text5);
|
|
538
|
-
border-radius: 999999px;
|
|
539
|
-
transition: 0.2s background-color, 0.2s box-shadow;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
&:not(:disabled):not([aria-disabled]),
|
|
543
|
-
&[aria-disabled='false'] {
|
|
544
|
-
&:hover {
|
|
545
|
-
background-color: var(--charcoal-brand-hover);
|
|
546
|
-
&::after {
|
|
547
|
-
background-color: var(--charcoal-text5-hover);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
&:active {
|
|
551
|
-
background-color: var(--charcoal-brand-press);
|
|
552
|
-
&::after {
|
|
553
|
-
background-color: var(--charcoal-text5-press);
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
`;
|
|
560
|
-
var RadioLabel = import_styled_components5.default.div`
|
|
561
|
-
font-size: 14px;
|
|
562
|
-
line-height: 22px;
|
|
563
|
-
display: flow-root;
|
|
564
|
-
color: var(--charcoal-text2);
|
|
565
|
-
|
|
566
|
-
&::before {
|
|
567
|
-
display: block;
|
|
568
|
-
width: 0;
|
|
569
|
-
height: 0;
|
|
570
|
-
content: '';
|
|
571
|
-
margin-top: -4px;
|
|
572
|
-
}
|
|
573
|
-
&::after {
|
|
574
|
-
display: block;
|
|
575
|
-
width: 0;
|
|
576
|
-
height: 0;
|
|
577
|
-
content: '';
|
|
578
|
-
margin-bottom: -4px;
|
|
579
|
-
}
|
|
580
|
-
`;
|
|
581
|
-
var StyledRadioGroup = import_styled_components5.default.div`
|
|
582
|
-
display: grid;
|
|
583
|
-
grid-template-columns: 1fr;
|
|
584
|
-
grid-gap: 8px;
|
|
585
|
-
`;
|
|
356
|
+
var RadioRoot = import_styled_components5.default.label.withConfig({
|
|
357
|
+
componentId: "ccl__sc-1hitkzn-0"
|
|
358
|
+
})(["display:grid;grid-template-columns:auto 1fr;grid-gap:4px;align-items:center;cursor:pointer;&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}"]);
|
|
359
|
+
var RadioInput = import_styled_components5.default.input.attrs({
|
|
360
|
+
type: "radio"
|
|
361
|
+
}).withConfig({
|
|
362
|
+
componentId: "ccl__sc-1hitkzn-1"
|
|
363
|
+
})(["&[type='radio']{appearance:none;display:block;box-sizing:border-box;margin:0;padding:6px;width:20px;height:20px;cursor:pointer;border-radius:999999px;background-color:var(--charcoal-surface1);transition:0.2s background-color,0.2s box-shadow;:disabled{cursor:default;}&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{&:hover{background-color:var(--charcoal-surface1-hover);}&:active{background-color:var(--charcoal-surface1-press);}", " &[aria-invalid='true']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);&:focus{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}}}&:not(:checked){border-width:2px;border-style:solid;border-color:var(--charcoal-text3);}&:checked{background-color:var(--charcoal-brand);&::after{content:'';display:block;width:8px;height:8px;pointer-events:none;background-color:var(--charcoal-text5);border-radius:999999px;transition:0.2s background-color,0.2s box-shadow;}&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{&:hover{background-color:var(--charcoal-brand-hover);&::after{background-color:var(--charcoal-text5-hover);}}&:active{background-color:var(--charcoal-brand-press);&::after{background-color:var(--charcoal-text5-press);}}}}}"], import_styled4.focusVisibleFocusRingCss);
|
|
364
|
+
var RadioLabel = import_styled_components5.default.div.withConfig({
|
|
365
|
+
componentId: "ccl__sc-1hitkzn-2"
|
|
366
|
+
})(["font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-text2);&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
367
|
+
var StyledRadioGroup = import_styled_components5.default.div.withConfig({
|
|
368
|
+
componentId: "ccl__sc-1hitkzn-3"
|
|
369
|
+
})(["display:grid;grid-template-columns:1fr;grid-gap:8px;"]);
|
|
586
370
|
var RadioGroupContext = React3.createContext({
|
|
587
371
|
name: void 0,
|
|
588
372
|
selected: void 0,
|
|
@@ -590,9 +374,7 @@ var RadioGroupContext = React3.createContext({
|
|
|
590
374
|
readonly: false,
|
|
591
375
|
invalid: false,
|
|
592
376
|
onChange() {
|
|
593
|
-
throw new Error(
|
|
594
|
-
"Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?"
|
|
595
|
-
);
|
|
377
|
+
throw new Error("Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?");
|
|
596
378
|
}
|
|
597
379
|
});
|
|
598
380
|
function RadioGroup({
|
|
@@ -606,36 +388,17 @@ function RadioGroup({
|
|
|
606
388
|
invalid,
|
|
607
389
|
children
|
|
608
390
|
}) {
|
|
609
|
-
const handleChange = (0, import_react4.useCallback)(
|
|
610
|
-
(next)
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
selected: value,
|
|
621
|
-
disabled: disabled ?? false,
|
|
622
|
-
readonly: readonly ?? false,
|
|
623
|
-
invalid: invalid ?? false,
|
|
624
|
-
onChange: handleChange
|
|
625
|
-
},
|
|
626
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
627
|
-
StyledRadioGroup,
|
|
628
|
-
{
|
|
629
|
-
role: "radiogroup",
|
|
630
|
-
"aria-orientation": "vertical",
|
|
631
|
-
"aria-label": label,
|
|
632
|
-
"aria-invalid": invalid,
|
|
633
|
-
className,
|
|
634
|
-
children
|
|
635
|
-
}
|
|
636
|
-
)
|
|
637
|
-
}
|
|
638
|
-
);
|
|
391
|
+
const handleChange = (0, import_react4.useCallback)((next) => {
|
|
392
|
+
onChange(next);
|
|
393
|
+
}, [onChange]);
|
|
394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioGroupContext.Provider, { value: {
|
|
395
|
+
name,
|
|
396
|
+
selected: value,
|
|
397
|
+
disabled: disabled ?? false,
|
|
398
|
+
readonly: readonly ?? false,
|
|
399
|
+
invalid: invalid ?? false,
|
|
400
|
+
onChange: handleChange
|
|
401
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledRadioGroup, { role: "radiogroup", "aria-orientation": "vertical", "aria-label": label, "aria-invalid": invalid, className, children }) });
|
|
639
402
|
}
|
|
640
403
|
|
|
641
404
|
// src/components/MultiSelect/index.tsx
|
|
@@ -653,194 +416,86 @@ var MultiSelectGroupContext = (0, import_react5.createContext)({
|
|
|
653
416
|
readonly: false,
|
|
654
417
|
invalid: false,
|
|
655
418
|
onChange() {
|
|
656
|
-
throw new Error(
|
|
657
|
-
"Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?"
|
|
658
|
-
);
|
|
419
|
+
throw new Error("Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?");
|
|
659
420
|
}
|
|
660
421
|
});
|
|
661
422
|
|
|
662
423
|
// src/components/MultiSelect/index.tsx
|
|
424
|
+
var import_styled5 = require("@charcoal-ui/styled");
|
|
663
425
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
664
|
-
var MultiSelect = (0, import_react6.forwardRef)(
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
426
|
+
var MultiSelect = (0, import_react6.forwardRef)(function MultiSelectInner({
|
|
427
|
+
value,
|
|
428
|
+
disabled = false,
|
|
429
|
+
onChange,
|
|
430
|
+
variant = "default",
|
|
431
|
+
className,
|
|
432
|
+
children
|
|
433
|
+
}, ref) {
|
|
434
|
+
const {
|
|
435
|
+
name,
|
|
436
|
+
selected,
|
|
437
|
+
disabled: parentDisabled,
|
|
438
|
+
readonly,
|
|
439
|
+
invalid,
|
|
440
|
+
onChange: parentOnChange
|
|
441
|
+
} = (0, import_react6.useContext)(MultiSelectGroupContext);
|
|
442
|
+
(0, import_warning2.default)(
|
|
443
|
+
name !== void 0,
|
|
444
|
+
`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
|
|
445
|
+
);
|
|
446
|
+
const isSelected = selected.includes(value);
|
|
447
|
+
const isDisabled = disabled || parentDisabled || readonly;
|
|
448
|
+
const handleChange = (0, import_react6.useCallback)((event) => {
|
|
449
|
+
if (!(event.currentTarget instanceof HTMLInputElement)) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
if (onChange)
|
|
453
|
+
onChange({
|
|
454
|
+
value,
|
|
455
|
+
selected: event.currentTarget.checked
|
|
456
|
+
});
|
|
457
|
+
parentOnChange({
|
|
458
|
+
value,
|
|
459
|
+
selected: event.currentTarget.checked
|
|
460
|
+
});
|
|
461
|
+
}, [onChange, parentOnChange, value]);
|
|
462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(MultiSelectRoot, { "aria-disabled": isDisabled, className, children: [
|
|
463
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectInput, { ...{
|
|
674
464
|
name,
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
name !== void 0,
|
|
683
|
-
`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
|
|
684
|
-
);
|
|
685
|
-
const isSelected = selected.includes(value);
|
|
686
|
-
const isDisabled = disabled || parentDisabled || readonly;
|
|
687
|
-
const handleChange = (0, import_react6.useCallback)(
|
|
688
|
-
(event) => {
|
|
689
|
-
if (!(event.currentTarget instanceof HTMLInputElement)) {
|
|
690
|
-
return;
|
|
691
|
-
}
|
|
692
|
-
if (onChange)
|
|
693
|
-
onChange({ value, selected: event.currentTarget.checked });
|
|
694
|
-
parentOnChange({ value, selected: event.currentTarget.checked });
|
|
695
|
-
},
|
|
696
|
-
[onChange, parentOnChange, value]
|
|
697
|
-
);
|
|
698
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(MultiSelectRoot, { "aria-disabled": isDisabled, className, children: [
|
|
699
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
700
|
-
MultiSelectInput,
|
|
701
|
-
{
|
|
702
|
-
...{
|
|
703
|
-
name,
|
|
704
|
-
value,
|
|
705
|
-
invalid
|
|
706
|
-
},
|
|
707
|
-
checked: isSelected,
|
|
708
|
-
disabled: isDisabled,
|
|
709
|
-
onChange: handleChange,
|
|
710
|
-
overlay: variant === "overlay",
|
|
711
|
-
"aria-invalid": invalid,
|
|
712
|
-
ref
|
|
713
|
-
}
|
|
714
|
-
),
|
|
715
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
716
|
-
MultiSelectInputOverlay,
|
|
717
|
-
{
|
|
718
|
-
overlay: variant === "overlay",
|
|
719
|
-
invalid,
|
|
720
|
-
"aria-hidden": true,
|
|
721
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
|
|
722
|
-
}
|
|
723
|
-
),
|
|
724
|
-
Boolean(children) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectLabel, { children })
|
|
725
|
-
] });
|
|
726
|
-
}
|
|
727
|
-
);
|
|
465
|
+
value,
|
|
466
|
+
invalid
|
|
467
|
+
}, checked: isSelected, disabled: isDisabled, onChange: handleChange, overlay: variant === "overlay", "aria-invalid": invalid, ref }),
|
|
468
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectInputOverlay, { overlay: variant === "overlay", invalid, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 }) }),
|
|
469
|
+
Boolean(children) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectLabel, { children })
|
|
470
|
+
] });
|
|
471
|
+
});
|
|
728
472
|
var MultiSelect_default = (0, import_react6.memo)(MultiSelect);
|
|
729
|
-
var MultiSelectRoot = import_styled_components6.default.label
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
margin-top: -4px;
|
|
756
|
-
}
|
|
757
|
-
&::after {
|
|
758
|
-
display: block;
|
|
759
|
-
width: 0;
|
|
760
|
-
height: 0;
|
|
761
|
-
content: '';
|
|
762
|
-
margin-bottom: -4px;
|
|
763
|
-
}
|
|
764
|
-
`;
|
|
765
|
-
var MultiSelectInput = import_styled_components6.default.input.attrs({ type: "checkbox" })`
|
|
766
|
-
&[type='checkbox'] {
|
|
767
|
-
appearance: none;
|
|
768
|
-
display: block;
|
|
769
|
-
width: 20px;
|
|
770
|
-
height: 20px;
|
|
771
|
-
margin: 0;
|
|
772
|
-
background-color: var(--charcoal-text3);
|
|
773
|
-
border-radius: 999999px;
|
|
774
|
-
transition: 0.2s background-color, 0.2s box-shadow;
|
|
775
|
-
|
|
776
|
-
&:checked {
|
|
777
|
-
background-color: var(--charcoal-brand);
|
|
778
|
-
&:hover {
|
|
779
|
-
&:not(:disabled):not([aria-disabled]),
|
|
780
|
-
&[aria-disabled='false'] {
|
|
781
|
-
background-color: var(--charcoal-brand-hover);
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
&:active {
|
|
786
|
-
&:not(:disabled):not([aria-disabled]),
|
|
787
|
-
&[aria-disabled='false'] {
|
|
788
|
-
background-color: var(--charcoal-brand-press);
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
&:hover {
|
|
794
|
-
&:not(:disabled):not([aria-disabled]),
|
|
795
|
-
&[aria-disabled='false'] {
|
|
796
|
-
background-color: var(--charcoal-text3-hover);
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
|
|
800
|
-
&:active {
|
|
801
|
-
&:not(:disabled):not([aria-disabled]),
|
|
802
|
-
&[aria-disabled='false'] {
|
|
803
|
-
background-color: var(--charcoal-text3-press);
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
${({ invalid, overlay }) => invalid && !overlay && import_styled_components6.css`
|
|
808
|
-
&:not(:disabled):not([aria-disabled]),
|
|
809
|
-
&[aria-disabled='false'] {
|
|
810
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
811
|
-
}
|
|
812
|
-
`}
|
|
813
|
-
${({ overlay }) => overlay && import_styled_components6.css`
|
|
814
|
-
background-color: var(--charcoal-surface4);
|
|
815
|
-
`}
|
|
816
|
-
}
|
|
817
|
-
`;
|
|
818
|
-
var MultiSelectInputOverlay = import_styled_components6.default.div`
|
|
819
|
-
position: absolute;
|
|
820
|
-
top: -2px;
|
|
821
|
-
left: -2px;
|
|
822
|
-
box-sizing: border-box;
|
|
823
|
-
display: flex;
|
|
824
|
-
align-items: center;
|
|
825
|
-
justify-content: center;
|
|
826
|
-
width: 24px;
|
|
827
|
-
height: 24px;
|
|
828
|
-
border-radius: 999999px;
|
|
829
|
-
color: var(--charcoal-text5);
|
|
830
|
-
transition: 0.2s box-shadow;
|
|
831
|
-
${({ invalid, overlay }) => invalid && overlay && import_styled_components6.css`
|
|
832
|
-
&:not(:disabled):not([aria-disabled]),
|
|
833
|
-
&[aria-disabled='false'] {
|
|
834
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
835
|
-
}
|
|
836
|
-
`}
|
|
837
|
-
|
|
838
|
-
${({ overlay }) => overlay && import_styled_components6.css`
|
|
839
|
-
border-color: var(--charcoal-text5);
|
|
840
|
-
border-width: 2px;
|
|
841
|
-
border-style: solid;
|
|
842
|
-
`}
|
|
843
|
-
`;
|
|
473
|
+
var MultiSelectRoot = import_styled_components6.default.label.withConfig({
|
|
474
|
+
componentId: "ccl__sc-wpr5y9-0"
|
|
475
|
+
})(["display:grid;grid-template-columns:auto 1fr;align-items:center;position:relative;cursor:pointer;gap:", ";&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}"], ({
|
|
476
|
+
theme
|
|
477
|
+
}) => (0, import_utils2.px)(theme.spacing[4]));
|
|
478
|
+
var MultiSelectLabel = import_styled_components6.default.div.withConfig({
|
|
479
|
+
componentId: "ccl__sc-wpr5y9-1"
|
|
480
|
+
})(["display:flex;align-items:center;font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-text2);&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
481
|
+
var MultiSelectInput = import_styled_components6.default.input.attrs({
|
|
482
|
+
type: "checkbox"
|
|
483
|
+
}).withConfig({
|
|
484
|
+
componentId: "ccl__sc-wpr5y9-2"
|
|
485
|
+
})(["&[type='checkbox']{appearance:none;display:block;width:20px;height:20px;margin:0;background-color:var(--charcoal-text3);border-radius:999999px;transition:0.2s background-color,0.2s box-shadow;&:checked{background-color:var(--charcoal-brand);&:hover{&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{background-color:var(--charcoal-brand-hover);}}&:active{&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{background-color:var(--charcoal-brand-press);}}}&:hover{&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{background-color:var(--charcoal-text3-hover);}}&:active{&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{background-color:var(--charcoal-text3-press);}}", " ", " ", "}"], import_styled5.focusVisibleFocusRingCss, ({
|
|
486
|
+
invalid,
|
|
487
|
+
overlay
|
|
488
|
+
}) => invalid && !overlay && (0, import_styled_components6.css)(["&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}"]), ({
|
|
489
|
+
overlay
|
|
490
|
+
}) => overlay && (0, import_styled_components6.css)(["background-color:var(--charcoal-surface4);"]));
|
|
491
|
+
var MultiSelectInputOverlay = import_styled_components6.default.div.withConfig({
|
|
492
|
+
componentId: "ccl__sc-wpr5y9-3"
|
|
493
|
+
})(["position:absolute;top:-2px;left:-2px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999999px;color:var(--charcoal-text5);transition:0.2s box-shadow;", " ", ""], ({
|
|
494
|
+
invalid,
|
|
495
|
+
overlay
|
|
496
|
+
}) => invalid && overlay && (0, import_styled_components6.css)(["&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}"]), ({
|
|
497
|
+
overlay
|
|
498
|
+
}) => overlay && (0, import_styled_components6.css)(["border-color:var(--charcoal-text5);border-width:2px;border-style:solid;"]));
|
|
844
499
|
function MultiSelectGroup({
|
|
845
500
|
className,
|
|
846
501
|
name,
|
|
@@ -852,35 +507,26 @@ function MultiSelectGroup({
|
|
|
852
507
|
invalid = false,
|
|
853
508
|
children
|
|
854
509
|
}) {
|
|
855
|
-
const handleChange = (0, import_react6.useCallback)(
|
|
856
|
-
(payload)
|
|
857
|
-
|
|
858
|
-
if (
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
onChange([...selected.slice(0, index), ...selected.slice(index + 1)]);
|
|
865
|
-
}
|
|
510
|
+
const handleChange = (0, import_react6.useCallback)((payload) => {
|
|
511
|
+
const index = selected.indexOf(payload.value);
|
|
512
|
+
if (payload.selected) {
|
|
513
|
+
if (index < 0) {
|
|
514
|
+
onChange([...selected, payload.value]);
|
|
515
|
+
}
|
|
516
|
+
} else {
|
|
517
|
+
if (index >= 0) {
|
|
518
|
+
onChange([...selected.slice(0, index), ...selected.slice(index + 1)]);
|
|
866
519
|
}
|
|
867
|
-
},
|
|
868
|
-
[onChange, selected]
|
|
869
|
-
);
|
|
870
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
871
|
-
MultiSelectGroupContext.Provider,
|
|
872
|
-
{
|
|
873
|
-
value: {
|
|
874
|
-
name,
|
|
875
|
-
selected: Array.from(new Set(selected)),
|
|
876
|
-
disabled,
|
|
877
|
-
readonly,
|
|
878
|
-
invalid,
|
|
879
|
-
onChange: handleChange
|
|
880
|
-
},
|
|
881
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className, "aria-label": label, "data-testid": "SelectGroup", children })
|
|
882
520
|
}
|
|
883
|
-
);
|
|
521
|
+
}, [onChange, selected]);
|
|
522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectGroupContext.Provider, { value: {
|
|
523
|
+
name,
|
|
524
|
+
selected: Array.from(new Set(selected)),
|
|
525
|
+
disabled,
|
|
526
|
+
readonly,
|
|
527
|
+
invalid,
|
|
528
|
+
onChange: handleChange
|
|
529
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className, "aria-label": label, "data-testid": "SelectGroup", children }) });
|
|
884
530
|
}
|
|
885
531
|
|
|
886
532
|
// src/components/Switch/index.tsx
|
|
@@ -889,115 +535,45 @@ var import_react7 = require("react");
|
|
|
889
535
|
var import_react_stately = require("react-stately");
|
|
890
536
|
var import_styled_components7 = __toESM(require("styled-components"));
|
|
891
537
|
var import_utils3 = require("@react-aria/utils");
|
|
538
|
+
var import_styled6 = require("@charcoal-ui/styled");
|
|
892
539
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
893
|
-
var SwitchCheckbox = (0, import_react7.forwardRef)(
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SwitchInput, { ...rest, ref }),
|
|
912
|
-
"children" in props ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(LabelInner, { children: props.children }) : void 0
|
|
913
|
-
] });
|
|
914
|
-
}
|
|
915
|
-
);
|
|
916
|
-
var Switch_default = (0, import_react7.memo)(SwitchCheckbox);
|
|
917
|
-
var Label = import_styled_components7.default.label`
|
|
918
|
-
display: inline-grid;
|
|
919
|
-
grid-template-columns: auto 1fr;
|
|
920
|
-
align-items: center;
|
|
921
|
-
cursor: pointer;
|
|
922
|
-
outline: 0;
|
|
923
|
-
|
|
924
|
-
&:disabled,
|
|
925
|
-
&[aria-disabled]:not([aria-disabled='false']) {
|
|
926
|
-
opacity: 0.32;
|
|
927
|
-
cursor: default;
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
:active > input {
|
|
931
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
932
|
-
}
|
|
933
|
-
`;
|
|
934
|
-
var LabelInner = import_styled_components7.default.div`
|
|
935
|
-
font-size: 14px;
|
|
936
|
-
line-height: 22px;
|
|
937
|
-
color: var(--charcoal-text2);
|
|
938
|
-
margin-left: 4px;
|
|
939
|
-
`;
|
|
940
|
-
var SwitchInput = import_styled_components7.default.input.attrs({ type: "checkbox" })`
|
|
941
|
-
appearance: none;
|
|
942
|
-
display: inline-flex;
|
|
943
|
-
position: relative;
|
|
944
|
-
box-sizing: border-box;
|
|
945
|
-
width: 28px;
|
|
946
|
-
border: 2px solid transparent;
|
|
947
|
-
|
|
948
|
-
transition-property: background-color, box-shadow;
|
|
949
|
-
transition-duration: 0.2s;
|
|
950
|
-
cursor: inherit;
|
|
951
|
-
|
|
952
|
-
outline: none;
|
|
953
|
-
border-radius: 16px;
|
|
954
|
-
height: 16px;
|
|
955
|
-
margin: 0;
|
|
956
|
-
background-color: var(--charcoal-text4);
|
|
957
|
-
:hover {
|
|
958
|
-
background-color: var(--charcoal-text4-hover);
|
|
959
|
-
}
|
|
960
|
-
:active {
|
|
961
|
-
background-color: var(--charcoal-text4-press);
|
|
962
|
-
}
|
|
963
|
-
:focus {
|
|
964
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
&::after {
|
|
968
|
-
content: '';
|
|
969
|
-
position: absolute;
|
|
970
|
-
display: block;
|
|
971
|
-
top: 0;
|
|
972
|
-
left: 0;
|
|
973
|
-
width: 12px;
|
|
974
|
-
height: 12px;
|
|
975
|
-
transform: translateX(0);
|
|
976
|
-
transition: transform 0.2s;
|
|
977
|
-
border-radius: 1024px;
|
|
978
|
-
background-color: var(--charcoal-text5);
|
|
979
|
-
:hover {
|
|
980
|
-
background-color: var(--charcoal-text5-hover);
|
|
981
|
-
}
|
|
982
|
-
:active {
|
|
983
|
-
background-color: var(--charcoal-text5-press);
|
|
984
|
-
}
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
&:checked {
|
|
988
|
-
background-color: var(--charcoal-brand);
|
|
989
|
-
:hover {
|
|
990
|
-
background-color: var(--charcoal-brand-hover);
|
|
991
|
-
}
|
|
992
|
-
:active {
|
|
993
|
-
background-color: var(--charcoal-brand-press);
|
|
994
|
-
}
|
|
995
|
-
&::after {
|
|
996
|
-
transform: translateX(12px);
|
|
997
|
-
transition: transform 0.2s;
|
|
540
|
+
var SwitchCheckbox = (0, import_react7.forwardRef)(function SwitchCheckboxInner(props, external) {
|
|
541
|
+
const {
|
|
542
|
+
disabled,
|
|
543
|
+
className
|
|
544
|
+
} = props;
|
|
545
|
+
const ariaSwitchProps = (0, import_react7.useMemo)(() => ({
|
|
546
|
+
...props,
|
|
547
|
+
"aria-label": "children" in props ? void 0 : props.label,
|
|
548
|
+
isDisabled: props.disabled,
|
|
549
|
+
isSelected: props.checked
|
|
550
|
+
}), [props]);
|
|
551
|
+
const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
|
|
552
|
+
const ref = (0, import_utils3.useObjectRef)(external);
|
|
553
|
+
const {
|
|
554
|
+
inputProps: {
|
|
555
|
+
className: _className,
|
|
556
|
+
type: _type,
|
|
557
|
+
...rest
|
|
998
558
|
}
|
|
999
|
-
}
|
|
1000
|
-
|
|
559
|
+
} = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
|
|
560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Label, { className, "aria-disabled": disabled, children: [
|
|
561
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SwitchInput, { ...rest, ref }),
|
|
562
|
+
"children" in props ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(LabelInner, { children: props.children }) : void 0
|
|
563
|
+
] });
|
|
564
|
+
});
|
|
565
|
+
var Switch_default = (0, import_react7.memo)(SwitchCheckbox);
|
|
566
|
+
var Label = import_styled_components7.default.label.withConfig({
|
|
567
|
+
componentId: "ccl__sc-1wy6z5h-0"
|
|
568
|
+
})(["display:inline-grid;grid-template-columns:auto 1fr;align-items:center;cursor:pointer;outline:0;&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}"]);
|
|
569
|
+
var LabelInner = import_styled_components7.default.div.withConfig({
|
|
570
|
+
componentId: "ccl__sc-1wy6z5h-1"
|
|
571
|
+
})(["font-size:14px;line-height:22px;color:var(--charcoal-text2);margin-left:4px;"]);
|
|
572
|
+
var SwitchInput = import_styled_components7.default.input.attrs({
|
|
573
|
+
type: "checkbox"
|
|
574
|
+
}).withConfig({
|
|
575
|
+
componentId: "ccl__sc-1wy6z5h-2"
|
|
576
|
+
})(["appearance:none;display:inline-flex;position:relative;box-sizing:border-box;width:28px;border:2px solid transparent;transition-property:background-color,box-shadow;transition-duration:0.2s;cursor:inherit;outline:none;border-radius:16px;height:16px;margin:0;background-color:var(--charcoal-text4);:hover{background-color:var(--charcoal-text4-hover);}:active{background-color:var(--charcoal-text4-press);}", " &::after{content:'';position:absolute;display:block;top:0;left:0;width:12px;height:12px;transform:translateX(0);transition:transform 0.2s;border-radius:1024px;background-color:var(--charcoal-text5);:hover{background-color:var(--charcoal-text5-hover);}:active{background-color:var(--charcoal-text5-press);}}&:checked{background-color:var(--charcoal-brand);:hover{background-color:var(--charcoal-brand-hover);}:active{background-color:var(--charcoal-brand-press);}&::after{transform:translateX(12px);transition:transform 0.2s;}}"], import_styled6.focusVisibleFocusRingCss);
|
|
1001
577
|
|
|
1002
578
|
// src/components/TextField/index.tsx
|
|
1003
579
|
var import_textfield = require("@react-aria/textfield");
|
|
@@ -1010,117 +586,34 @@ var import_styled_components9 = __toESM(require("styled-components"));
|
|
|
1010
586
|
var React4 = __toESM(require("react"));
|
|
1011
587
|
var import_styled_components8 = __toESM(require("styled-components"));
|
|
1012
588
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1013
|
-
var FieldLabel = React4.forwardRef(
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
}
|
|
1029
|
-
);
|
|
589
|
+
var FieldLabel = React4.forwardRef(function FieldLabel2({
|
|
590
|
+
style,
|
|
591
|
+
className,
|
|
592
|
+
label,
|
|
593
|
+
required = false,
|
|
594
|
+
requiredText,
|
|
595
|
+
subLabel,
|
|
596
|
+
...labelProps
|
|
597
|
+
}, ref) {
|
|
598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(FieldLabelWrapper, { style, className, children: [
|
|
599
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Label2, { ref, ...labelProps, children: label }),
|
|
600
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(RequiredText, { children: requiredText }),
|
|
601
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SubLabelClickable, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { children: subLabel }) })
|
|
602
|
+
] });
|
|
603
|
+
});
|
|
1030
604
|
var FieldLabel_default = FieldLabel;
|
|
1031
|
-
var Label2 = import_styled_components8.default.label
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
margin-top: -4px;
|
|
1044
|
-
}
|
|
1045
|
-
&::after {
|
|
1046
|
-
display: block;
|
|
1047
|
-
width: 0;
|
|
1048
|
-
height: 0;
|
|
1049
|
-
content: '';
|
|
1050
|
-
margin-bottom: -4px;
|
|
1051
|
-
}
|
|
1052
|
-
`;
|
|
1053
|
-
var RequiredText = import_styled_components8.default.span`
|
|
1054
|
-
font-size: 14px;
|
|
1055
|
-
line-height: 22px;
|
|
1056
|
-
display: flow-root;
|
|
1057
|
-
color: var(--charcoal-text2);
|
|
1058
|
-
|
|
1059
|
-
&::before {
|
|
1060
|
-
display: block;
|
|
1061
|
-
width: 0;
|
|
1062
|
-
height: 0;
|
|
1063
|
-
content: '';
|
|
1064
|
-
margin-top: -4px;
|
|
1065
|
-
}
|
|
1066
|
-
&::after {
|
|
1067
|
-
display: block;
|
|
1068
|
-
width: 0;
|
|
1069
|
-
height: 0;
|
|
1070
|
-
content: '';
|
|
1071
|
-
margin-bottom: -4px;
|
|
1072
|
-
}
|
|
1073
|
-
`;
|
|
1074
|
-
var SubLabelClickable = import_styled_components8.default.div`
|
|
1075
|
-
font-size: 14px;
|
|
1076
|
-
line-height: 22px;
|
|
1077
|
-
display: flow-root;
|
|
1078
|
-
color: var(--charcoal-text3);
|
|
1079
|
-
transition: 0.2s color, 0.2s box-shadow;
|
|
1080
|
-
|
|
1081
|
-
&::before {
|
|
1082
|
-
display: block;
|
|
1083
|
-
width: 0;
|
|
1084
|
-
height: 0;
|
|
1085
|
-
content: '';
|
|
1086
|
-
margin-top: -4px;
|
|
1087
|
-
}
|
|
1088
|
-
&::after {
|
|
1089
|
-
display: block;
|
|
1090
|
-
width: 0;
|
|
1091
|
-
height: 0;
|
|
1092
|
-
content: '';
|
|
1093
|
-
margin-bottom: -4px;
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
&:not(:disabled):not([aria-disabled]),
|
|
1097
|
-
&[aria-disabled='false'] {
|
|
1098
|
-
&:hover {
|
|
1099
|
-
color: var(--charcoal-text3-hover);
|
|
1100
|
-
}
|
|
1101
|
-
&:active {
|
|
1102
|
-
color: var(--charcoal-text3-press);
|
|
1103
|
-
}
|
|
1104
|
-
&:active,
|
|
1105
|
-
&:focus,
|
|
1106
|
-
&:focus-visible {
|
|
1107
|
-
outline: none;
|
|
1108
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
1109
|
-
}
|
|
1110
|
-
}
|
|
1111
|
-
`;
|
|
1112
|
-
var FieldLabelWrapper = import_styled_components8.default.div`
|
|
1113
|
-
display: inline-flex;
|
|
1114
|
-
align-items: center;
|
|
1115
|
-
|
|
1116
|
-
> ${RequiredText} {
|
|
1117
|
-
margin-left: 4px;
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
> ${SubLabelClickable} {
|
|
1121
|
-
margin-left: auto;
|
|
1122
|
-
}
|
|
1123
|
-
`;
|
|
605
|
+
var Label2 = import_styled_components8.default.label.withConfig({
|
|
606
|
+
componentId: "ccl__sc-1iotshb-0"
|
|
607
|
+
})(["font-size:14px;line-height:22px;font-weight:bold;display:flow-root;color:var(--charcoal-text1);&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
608
|
+
var RequiredText = import_styled_components8.default.span.withConfig({
|
|
609
|
+
componentId: "ccl__sc-1iotshb-1"
|
|
610
|
+
})(["font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-text2);&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
611
|
+
var SubLabelClickable = import_styled_components8.default.div.withConfig({
|
|
612
|
+
componentId: "ccl__sc-1iotshb-2"
|
|
613
|
+
})(["font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-text3);transition:0.2s color,0.2s box-shadow;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{&:hover{color:var(--charcoal-text3-hover);}&:active{color:var(--charcoal-text3-press);}&:active,&:focus,&:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(0,150,250,0.32);}}"]);
|
|
614
|
+
var FieldLabelWrapper = import_styled_components8.default.div.withConfig({
|
|
615
|
+
componentId: "ccl__sc-1iotshb-3"
|
|
616
|
+
})(["display:inline-flex;align-items:center;> ", "{margin-left:4px;}> ", "{margin-left:auto;}"], RequiredText, SubLabelClickable);
|
|
1124
617
|
|
|
1125
618
|
// src/components/TextField/useFocusWithClick.tsx
|
|
1126
619
|
var import_react8 = require("react");
|
|
@@ -1142,426 +635,239 @@ function useFocusWithClick(containerRef, inputRef) {
|
|
|
1142
635
|
}
|
|
1143
636
|
|
|
1144
637
|
// src/components/TextField/index.tsx
|
|
638
|
+
var import_utils4 = require("@react-aria/utils");
|
|
1145
639
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1146
|
-
var TextField = React5.forwardRef(
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
}
|
|
1211
|
-
)
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
invalid,
|
|
1217
|
-
"aria-disabled": disabled === true ? true : void 0,
|
|
1218
|
-
hasPrefix: prefix != null,
|
|
1219
|
-
hasSuffix: suffix != null || showCount,
|
|
1220
|
-
children: [
|
|
1221
|
-
prefix && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PrefixContainer, { children: prefix }),
|
|
1222
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1223
|
-
StyledInput,
|
|
1224
|
-
{
|
|
1225
|
-
ref: mergeRefs(forwardRef18, ariaRef),
|
|
1226
|
-
invalid,
|
|
1227
|
-
...inputProps
|
|
1228
|
-
}
|
|
1229
|
-
),
|
|
1230
|
-
(suffix || showCount) && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(SuffixContainer, { children: [
|
|
1231
|
-
suffix,
|
|
1232
|
-
showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SingleLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
1233
|
-
] })
|
|
1234
|
-
]
|
|
1235
|
-
}
|
|
1236
|
-
),
|
|
1237
|
-
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1238
|
-
AssistiveText,
|
|
1239
|
-
{
|
|
1240
|
-
invalid,
|
|
1241
|
-
...invalid ? errorMessageProps : descriptionProps,
|
|
1242
|
-
children: assistiveText
|
|
1243
|
-
}
|
|
1244
|
-
)
|
|
1245
|
-
] });
|
|
1246
|
-
}
|
|
1247
|
-
);
|
|
640
|
+
var TextField = React5.forwardRef(function SingleLineTextFieldInner({
|
|
641
|
+
onChange,
|
|
642
|
+
...props
|
|
643
|
+
}, forwardRef18) {
|
|
644
|
+
const {
|
|
645
|
+
className,
|
|
646
|
+
showLabel = false,
|
|
647
|
+
showCount = false,
|
|
648
|
+
label,
|
|
649
|
+
requiredText,
|
|
650
|
+
subLabel,
|
|
651
|
+
disabled = false,
|
|
652
|
+
required,
|
|
653
|
+
invalid = false,
|
|
654
|
+
assistiveText,
|
|
655
|
+
maxLength,
|
|
656
|
+
prefix = null,
|
|
657
|
+
suffix = null,
|
|
658
|
+
...restProps
|
|
659
|
+
} = props;
|
|
660
|
+
const {
|
|
661
|
+
visuallyHiddenProps
|
|
662
|
+
} = (0, import_visually_hidden.useVisuallyHidden)();
|
|
663
|
+
const ariaRef = (0, import_react9.useRef)(null);
|
|
664
|
+
const [count, setCount] = (0, import_react9.useState)(countCodePointsInString(props.value ?? ""));
|
|
665
|
+
const nonControlled = props.value === void 0;
|
|
666
|
+
const handleChange = (0, import_react9.useCallback)((value) => {
|
|
667
|
+
const count2 = countCodePointsInString(value);
|
|
668
|
+
if (maxLength !== void 0 && count2 > maxLength) {
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
if (nonControlled) {
|
|
672
|
+
setCount(count2);
|
|
673
|
+
}
|
|
674
|
+
onChange?.(value);
|
|
675
|
+
}, [maxLength, nonControlled, onChange]);
|
|
676
|
+
(0, import_react9.useEffect)(() => {
|
|
677
|
+
setCount(countCodePointsInString(props.value ?? ""));
|
|
678
|
+
}, [props.value]);
|
|
679
|
+
const {
|
|
680
|
+
inputProps: ariaInputProps,
|
|
681
|
+
labelProps,
|
|
682
|
+
descriptionProps,
|
|
683
|
+
errorMessageProps
|
|
684
|
+
} = (0, import_textfield.useTextField)({
|
|
685
|
+
inputElementType: "input",
|
|
686
|
+
isDisabled: disabled,
|
|
687
|
+
isRequired: required,
|
|
688
|
+
validationState: invalid ? "invalid" : "valid",
|
|
689
|
+
description: !invalid && assistiveText,
|
|
690
|
+
errorMessage: invalid && assistiveText,
|
|
691
|
+
onChange: handleChange,
|
|
692
|
+
...props
|
|
693
|
+
}, ariaRef);
|
|
694
|
+
const containerRef = (0, import_react9.useRef)(null);
|
|
695
|
+
useFocusWithClick(containerRef, ariaRef);
|
|
696
|
+
const inputProps = (0, import_utils4.mergeProps)(restProps, ariaInputProps);
|
|
697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TextFieldRoot, { className, isDisabled: disabled, children: [
|
|
698
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(TextFieldLabel, { label, requiredText, required, subLabel, ...labelProps, ...!showLabel ? visuallyHiddenProps : {} }),
|
|
699
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(StyledInputContainer, { ref: containerRef, invalid, "aria-disabled": disabled === true ? true : void 0, hasPrefix: prefix != null, hasSuffix: suffix != null || showCount, children: [
|
|
700
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PrefixContainer, { children: prefix }),
|
|
701
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledInput, { ref: mergeRefs(forwardRef18, ariaRef), invalid, ...inputProps }),
|
|
702
|
+
(suffix || showCount) && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(SuffixContainer, { children: [
|
|
703
|
+
suffix,
|
|
704
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SingleLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
705
|
+
] })
|
|
706
|
+
] }),
|
|
707
|
+
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AssistiveText, { invalid, ...invalid ? errorMessageProps : descriptionProps, children: assistiveText })
|
|
708
|
+
] });
|
|
709
|
+
});
|
|
1248
710
|
var TextField_default = TextField;
|
|
1249
|
-
var TextFieldRoot = import_styled_components9.default.div
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
:not(:disabled):not([aria-disabled]):active,
|
|
1277
|
-
[aria-disabled='false']:active {
|
|
1278
|
-
outline: none;
|
|
1279
|
-
box-shadow: 0 0 0 4px
|
|
1280
|
-
${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
:focus-within {
|
|
1284
|
-
outline: none;
|
|
1285
|
-
box-shadow: 0 0 0 4px
|
|
1286
|
-
${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
${(p) => p.invalid && import_styled_components9.css`
|
|
1290
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
1291
|
-
`}
|
|
1292
|
-
`;
|
|
1293
|
-
var PrefixContainer = import_styled_components9.default.div`
|
|
1294
|
-
display: flex;
|
|
1295
|
-
align-items: center;
|
|
1296
|
-
`;
|
|
1297
|
-
var SuffixContainer = import_styled_components9.default.span`
|
|
1298
|
-
display: flex;
|
|
1299
|
-
align-items: center;
|
|
1300
|
-
gap: 8px;
|
|
1301
|
-
`;
|
|
1302
|
-
var StyledInput = import_styled_components9.default.input`
|
|
1303
|
-
border: none;
|
|
1304
|
-
box-sizing: border-box;
|
|
1305
|
-
outline: none;
|
|
1306
|
-
font-family: inherit;
|
|
1307
|
-
|
|
1308
|
-
/* Prevent zooming for iOS Safari */
|
|
1309
|
-
transform-origin: top left;
|
|
1310
|
-
transform: scale(0.875);
|
|
1311
|
-
width: calc(100% / 0.875);
|
|
1312
|
-
height: calc(100% / 0.875);
|
|
1313
|
-
font-size: calc(14px / 0.875);
|
|
1314
|
-
line-height: calc(22px / 0.875);
|
|
1315
|
-
padding-left: 0;
|
|
1316
|
-
padding-right: 0;
|
|
1317
|
-
border-radius: calc(4px / 0.875);
|
|
1318
|
-
|
|
1319
|
-
/* Display box-shadow for iOS Safari */
|
|
1320
|
-
appearance: none;
|
|
1321
|
-
background: transparent;
|
|
1322
|
-
|
|
1323
|
-
color: var(--charcoal-text2);
|
|
1324
|
-
&::placeholder {
|
|
1325
|
-
color: var(--charcoal-text3);
|
|
1326
|
-
}
|
|
1327
|
-
`;
|
|
1328
|
-
var SingleLineCounter = import_styled_components9.default.span`
|
|
1329
|
-
line-height: 22px;
|
|
1330
|
-
font-size: 14px;
|
|
1331
|
-
color: var(--charcoal-text3);
|
|
1332
|
-
`;
|
|
1333
|
-
var AssistiveText = import_styled_components9.default.p`
|
|
1334
|
-
font-size: 14px;
|
|
1335
|
-
line-height: 22px;
|
|
1336
|
-
margin-top: 4px;
|
|
1337
|
-
margin-bottom: -4px;
|
|
1338
|
-
color: ${(p) => `var(--charcoal-${p.invalid ? `assertive` : `text2`})`};
|
|
1339
|
-
`;
|
|
711
|
+
var TextFieldRoot = import_styled_components9.default.div.withConfig({
|
|
712
|
+
componentId: "ccl__sc-3dd0tt-0"
|
|
713
|
+
})(["display:flex;flex-direction:column;", ""], (p) => p.isDisabled && {
|
|
714
|
+
opacity: p.theme.elementEffect.disabled.opacity
|
|
715
|
+
});
|
|
716
|
+
var TextFieldLabel = (0, import_styled_components9.default)(FieldLabel_default).withConfig({
|
|
717
|
+
componentId: "ccl__sc-3dd0tt-1"
|
|
718
|
+
})(["margin-bottom:8px;"]);
|
|
719
|
+
var StyledInputContainer = import_styled_components9.default.div.withConfig({
|
|
720
|
+
componentId: "ccl__sc-3dd0tt-2"
|
|
721
|
+
})(["display:grid;grid-template-columns:", ";height:40px;transition:0.2s background-color,0.2s box-shadow;color:var(--charcoal-text2);background-color:var(--charcoal-surface3);border-radius:4px;gap:4px;padding:0 8px;line-height:22px;font-size:14px;:not(:disabled):not([aria-disabled]):hover,[aria-disabled='false']:hover{background-color:var(--charcoal-surface3-hover);}:focus-within{outline:none;box-shadow:0 0 0 4px ", ";}", ""], (p) => [p.hasPrefix && "auto", "1fr", p.hasSuffix && "auto"].filter(Boolean).join(" "), (p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`, (p) => p.invalid && (0, import_styled_components9.css)(["box-shadow:0 0 0 4px rgba(255,43,0,0.32);"]));
|
|
722
|
+
var PrefixContainer = import_styled_components9.default.div.withConfig({
|
|
723
|
+
componentId: "ccl__sc-3dd0tt-3"
|
|
724
|
+
})(["display:flex;align-items:center;"]);
|
|
725
|
+
var SuffixContainer = import_styled_components9.default.span.withConfig({
|
|
726
|
+
componentId: "ccl__sc-3dd0tt-4"
|
|
727
|
+
})(["display:flex;align-items:center;gap:8px;"]);
|
|
728
|
+
var StyledInput = import_styled_components9.default.input.withConfig({
|
|
729
|
+
componentId: "ccl__sc-3dd0tt-5"
|
|
730
|
+
})(["border:none;box-sizing:border-box;outline:none;font-family:inherit;transform-origin:top left;transform:scale(0.875);width:calc(100% / 0.875);height:calc(100% / 0.875);font-size:calc(14px / 0.875);line-height:calc(22px / 0.875);padding-left:0;padding-right:0;border-radius:calc(4px / 0.875);appearance:none;background:transparent;color:var(--charcoal-text2);&::placeholder{color:var(--charcoal-text3);}"]);
|
|
731
|
+
var SingleLineCounter = import_styled_components9.default.span.withConfig({
|
|
732
|
+
componentId: "ccl__sc-3dd0tt-6"
|
|
733
|
+
})(["line-height:22px;font-size:14px;color:var(--charcoal-text3);"]);
|
|
734
|
+
var AssistiveText = import_styled_components9.default.p.withConfig({
|
|
735
|
+
componentId: "ccl__sc-3dd0tt-7"
|
|
736
|
+
})(["font-size:14px;line-height:22px;margin-top:4px;margin-bottom:-4px;color:", ";"], (p) => `var(--charcoal-${p.invalid ? `assertive` : `text2`})`);
|
|
1340
737
|
|
|
1341
738
|
// src/components/TextArea/index.tsx
|
|
1342
739
|
var import_textfield2 = require("@react-aria/textfield");
|
|
1343
740
|
var import_visually_hidden2 = require("@react-aria/visually-hidden");
|
|
1344
741
|
var import_react10 = require("react");
|
|
1345
742
|
var import_styled_components10 = __toESM(require("styled-components"));
|
|
743
|
+
var import_utils5 = require("@react-aria/utils");
|
|
1346
744
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1347
|
-
var TextArea = (0, import_react10.forwardRef)(
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
745
|
+
var TextArea = (0, import_react10.forwardRef)(function TextAreaInner({
|
|
746
|
+
onChange,
|
|
747
|
+
...props
|
|
748
|
+
}, forwardRef18) {
|
|
749
|
+
const {
|
|
750
|
+
className,
|
|
751
|
+
showCount = false,
|
|
752
|
+
showLabel = false,
|
|
753
|
+
label,
|
|
754
|
+
requiredText,
|
|
755
|
+
subLabel,
|
|
756
|
+
disabled = false,
|
|
757
|
+
required,
|
|
758
|
+
invalid = false,
|
|
759
|
+
assistiveText,
|
|
760
|
+
maxLength,
|
|
761
|
+
autoHeight = false,
|
|
762
|
+
rows: initialRows = 4,
|
|
763
|
+
...restProps
|
|
764
|
+
} = props;
|
|
765
|
+
const {
|
|
766
|
+
visuallyHiddenProps
|
|
767
|
+
} = (0, import_visually_hidden2.useVisuallyHidden)();
|
|
768
|
+
const textareaRef = (0, import_react10.useRef)(null);
|
|
769
|
+
const ariaRef = (0, import_react10.useRef)(null);
|
|
770
|
+
const [count, setCount] = (0, import_react10.useState)(countCodePointsInString(props.value ?? ""));
|
|
771
|
+
const [rows, setRows] = (0, import_react10.useState)(initialRows);
|
|
772
|
+
const syncHeight = (0, import_react10.useCallback)((textarea) => {
|
|
773
|
+
const rows2 = (`${textarea.value}
|
|
1374
774
|
`.match(/\n/gu)?.length ?? 0) || 1;
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
const
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
subLabel,
|
|
1427
|
-
...labelProps,
|
|
1428
|
-
...!showLabel ? visuallyHiddenProps : {}
|
|
1429
|
-
}
|
|
1430
|
-
),
|
|
1431
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1432
|
-
StyledTextareaContainer,
|
|
1433
|
-
{
|
|
1434
|
-
ref: containerRef,
|
|
1435
|
-
invalid,
|
|
1436
|
-
rows: showCount ? rows + 1 : rows,
|
|
1437
|
-
"aria-disabled": disabled === true ? "true" : void 0,
|
|
1438
|
-
children: [
|
|
1439
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1440
|
-
StyledTextarea,
|
|
1441
|
-
{
|
|
1442
|
-
ref: mergeRefs(textareaRef, forwardRef18, ariaRef),
|
|
1443
|
-
rows,
|
|
1444
|
-
noBottomPadding: showCount,
|
|
1445
|
-
...inputProps
|
|
1446
|
-
}
|
|
1447
|
-
),
|
|
1448
|
-
showCount && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MultiLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
1449
|
-
]
|
|
1450
|
-
}
|
|
1451
|
-
),
|
|
1452
|
-
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1453
|
-
AssistiveText,
|
|
1454
|
-
{
|
|
1455
|
-
invalid,
|
|
1456
|
-
...invalid ? errorMessageProps : descriptionProps,
|
|
1457
|
-
children: assistiveText
|
|
1458
|
-
}
|
|
1459
|
-
)
|
|
1460
|
-
] });
|
|
1461
|
-
}
|
|
1462
|
-
);
|
|
775
|
+
setRows(initialRows <= rows2 ? rows2 : initialRows);
|
|
776
|
+
}, [initialRows]);
|
|
777
|
+
const nonControlled = props.value === void 0;
|
|
778
|
+
const handleChange = (0, import_react10.useCallback)((value) => {
|
|
779
|
+
const count2 = countCodePointsInString(value);
|
|
780
|
+
if (maxLength !== void 0 && count2 > maxLength) {
|
|
781
|
+
return;
|
|
782
|
+
}
|
|
783
|
+
if (nonControlled) {
|
|
784
|
+
setCount(count2);
|
|
785
|
+
}
|
|
786
|
+
if (autoHeight && textareaRef.current !== null) {
|
|
787
|
+
syncHeight(textareaRef.current);
|
|
788
|
+
}
|
|
789
|
+
onChange?.(value);
|
|
790
|
+
}, [autoHeight, maxLength, nonControlled, onChange, syncHeight]);
|
|
791
|
+
(0, import_react10.useEffect)(() => {
|
|
792
|
+
setCount(countCodePointsInString(props.value ?? ""));
|
|
793
|
+
}, [props.value]);
|
|
794
|
+
const {
|
|
795
|
+
inputProps: ariaInputProps,
|
|
796
|
+
labelProps,
|
|
797
|
+
descriptionProps,
|
|
798
|
+
errorMessageProps
|
|
799
|
+
} = (0, import_textfield2.useTextField)({
|
|
800
|
+
inputElementType: "textarea",
|
|
801
|
+
isDisabled: disabled,
|
|
802
|
+
isRequired: required,
|
|
803
|
+
validationState: invalid ? "invalid" : "valid",
|
|
804
|
+
description: !invalid && assistiveText,
|
|
805
|
+
errorMessage: invalid && assistiveText,
|
|
806
|
+
onChange: handleChange,
|
|
807
|
+
...props
|
|
808
|
+
}, ariaRef);
|
|
809
|
+
(0, import_react10.useEffect)(() => {
|
|
810
|
+
if (autoHeight && textareaRef.current !== null) {
|
|
811
|
+
syncHeight(textareaRef.current);
|
|
812
|
+
}
|
|
813
|
+
}, [autoHeight, syncHeight]);
|
|
814
|
+
const containerRef = (0, import_react10.useRef)(null);
|
|
815
|
+
useFocusWithClick(containerRef, ariaRef);
|
|
816
|
+
const inputProps = (0, import_utils5.mergeProps)(restProps, ariaInputProps);
|
|
817
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(TextFieldRoot2, { className, isDisabled: disabled, children: [
|
|
818
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TextFieldLabel, { label, requiredText, required, subLabel, ...labelProps, ...!showLabel ? visuallyHiddenProps : {} }),
|
|
819
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(StyledTextareaContainer, { ref: containerRef, invalid, rows: showCount ? rows + 1 : rows, "aria-disabled": disabled === true ? "true" : void 0, children: [
|
|
820
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(StyledTextarea, { ref: mergeRefs(textareaRef, forwardRef18, ariaRef), rows, noBottomPadding: showCount, ...inputProps }),
|
|
821
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MultiLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
822
|
+
] }),
|
|
823
|
+
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AssistiveText, { invalid, ...invalid ? errorMessageProps : descriptionProps, children: assistiveText })
|
|
824
|
+
] });
|
|
825
|
+
});
|
|
1463
826
|
var TextArea_default = TextArea;
|
|
1464
|
-
var TextFieldRoot2 = import_styled_components10.default.div
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
:not([aria-disabled]):hover,
|
|
1484
|
-
[aria-disabled='false']:hover {
|
|
1485
|
-
background-color: var(--charcoal-surface3-hover);
|
|
1486
|
-
}
|
|
1487
|
-
:focus-within {
|
|
1488
|
-
outline: none;
|
|
1489
|
-
box-shadow: 0 0 0 4px
|
|
1490
|
-
${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
|
|
1491
|
-
}
|
|
1492
|
-
|
|
1493
|
-
${(p) => p.invalid && import_styled_components10.css`
|
|
1494
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
1495
|
-
`}
|
|
1496
|
-
`;
|
|
1497
|
-
var StyledTextarea = import_styled_components10.default.textarea`
|
|
1498
|
-
border: none;
|
|
1499
|
-
outline: none;
|
|
1500
|
-
resize: none;
|
|
1501
|
-
font-family: inherit;
|
|
1502
|
-
color: inherit;
|
|
1503
|
-
box-sizing: border-box;
|
|
1504
|
-
|
|
1505
|
-
/* Prevent zooming for iOS Safari */
|
|
1506
|
-
transform-origin: top left;
|
|
1507
|
-
transform: scale(0.875);
|
|
1508
|
-
width: calc(100% / 0.875);
|
|
1509
|
-
font-size: calc(14px / 0.875);
|
|
1510
|
-
line-height: calc(22px / 0.875);
|
|
1511
|
-
padding: calc(9px / 0.875) calc(8px / 0.875)
|
|
1512
|
-
${(p) => p.noBottomPadding ? 0 : ""};
|
|
1513
|
-
|
|
1514
|
-
${({ rows = 1, noBottomPadding }) => import_styled_components10.css`
|
|
1515
|
-
height: calc(22px / 0.875 * ${rows} + ${noBottomPadding ? 9 : 20}px);
|
|
1516
|
-
`};
|
|
1517
|
-
|
|
1518
|
-
/* Display box-shadow for iOS Safari */
|
|
1519
|
-
appearance: none;
|
|
1520
|
-
|
|
1521
|
-
background: none;
|
|
1522
|
-
|
|
1523
|
-
&::placeholder {
|
|
1524
|
-
color: var(--charcoal-text3);
|
|
1525
|
-
}
|
|
1526
|
-
`;
|
|
1527
|
-
var MultiLineCounter = import_styled_components10.default.span`
|
|
1528
|
-
position: absolute;
|
|
1529
|
-
bottom: 9px;
|
|
1530
|
-
right: 8px;
|
|
1531
|
-
|
|
1532
|
-
line-height: 22px;
|
|
1533
|
-
font-size: 14px;
|
|
1534
|
-
color: var(--charcoal-text3);
|
|
1535
|
-
`;
|
|
827
|
+
var TextFieldRoot2 = import_styled_components10.default.div.withConfig({
|
|
828
|
+
componentId: "ccl__sc-58waht-0"
|
|
829
|
+
})(["display:flex;flex-direction:column;", ""], (p) => p.isDisabled && {
|
|
830
|
+
opacity: p.theme.elementEffect.disabled.opacity
|
|
831
|
+
});
|
|
832
|
+
var StyledTextareaContainer = import_styled_components10.default.div.withConfig({
|
|
833
|
+
componentId: "ccl__sc-58waht-1"
|
|
834
|
+
})(["position:relative;overflow:hidden;color:var(--charcoal-text2);background-color:var(--charcoal-surface3);border-radius:4px;transition:0.2s background-color,0.2s box-shadow;", ";:not([aria-disabled]):hover,[aria-disabled='false']:hover{background-color:var(--charcoal-surface3-hover);}:focus-within{outline:none;box-shadow:0 0 0 4px ", ";}", ""], ({
|
|
835
|
+
rows
|
|
836
|
+
}) => (0, import_styled_components10.css)(["height:calc(22px * ", " + 18px);"], rows), (p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`, (p) => p.invalid && (0, import_styled_components10.css)(["box-shadow:0 0 0 4px rgba(255,43,0,0.32);"]));
|
|
837
|
+
var StyledTextarea = import_styled_components10.default.textarea.withConfig({
|
|
838
|
+
componentId: "ccl__sc-58waht-2"
|
|
839
|
+
})(["border:none;outline:none;resize:none;font-family:inherit;color:inherit;box-sizing:border-box;transform-origin:top left;transform:scale(0.875);width:calc(100% / 0.875);font-size:calc(14px / 0.875);line-height:calc(22px / 0.875);padding:calc(9px / 0.875) calc(8px / 0.875) ", ";", ";appearance:none;background:none;&::placeholder{color:var(--charcoal-text3);}"], (p) => p.noBottomPadding ? 0 : "", ({
|
|
840
|
+
rows = 1,
|
|
841
|
+
noBottomPadding
|
|
842
|
+
}) => (0, import_styled_components10.css)(["height:calc(22px / 0.875 * ", " + ", "px);"], rows, noBottomPadding ? 9 : 20));
|
|
843
|
+
var MultiLineCounter = import_styled_components10.default.span.withConfig({
|
|
844
|
+
componentId: "ccl__sc-58waht-3"
|
|
845
|
+
})(["position:absolute;bottom:9px;right:8px;line-height:22px;font-size:14px;color:var(--charcoal-text3);"]);
|
|
1536
846
|
|
|
1537
847
|
// src/components/Icon/index.tsx
|
|
1538
848
|
var React6 = __toESM(require("react"));
|
|
1539
849
|
var import_icons = require("@charcoal-ui/icons");
|
|
1540
850
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1541
|
-
var Icon = React6.forwardRef(function IconInner({
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
class: className,
|
|
1550
|
-
...rest
|
|
1551
|
-
}
|
|
1552
|
-
);
|
|
851
|
+
var Icon = React6.forwardRef(function IconInner({
|
|
852
|
+
name,
|
|
853
|
+
scale,
|
|
854
|
+
unsafeNonGuidelineScale,
|
|
855
|
+
className,
|
|
856
|
+
...rest
|
|
857
|
+
}, ref) {
|
|
858
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("pixiv-icon", { ref, name, scale, "unsafe-non-guideline-scale": unsafeNonGuidelineScale, class: className, ...rest });
|
|
1553
859
|
});
|
|
1554
860
|
var Icon_default = Icon;
|
|
1555
861
|
|
|
1556
862
|
// src/components/Modal/index.tsx
|
|
1557
863
|
var import_react12 = require("react");
|
|
1558
|
-
var
|
|
1559
|
-
var
|
|
864
|
+
var React10 = __toESM(require("react"));
|
|
865
|
+
var import_overlays3 = require("@react-aria/overlays");
|
|
1560
866
|
var import_styled_components12 = __toESM(require("styled-components"));
|
|
1561
|
-
var
|
|
1562
|
-
var
|
|
867
|
+
var import_utils7 = require("@charcoal-ui/utils");
|
|
868
|
+
var import_styled7 = require("@charcoal-ui/styled");
|
|
1563
869
|
var import_react_spring2 = require("react-spring");
|
|
1564
|
-
var
|
|
870
|
+
var import_utils8 = require("@react-aria/utils");
|
|
1565
871
|
|
|
1566
872
|
// src/components/Modal/Dialog/index.tsx
|
|
1567
873
|
var import_react11 = require("react");
|
|
@@ -1576,7 +882,7 @@ function columnSystem(span, column, gutter) {
|
|
|
1576
882
|
}
|
|
1577
883
|
|
|
1578
884
|
// src/components/Modal/Dialog/index.tsx
|
|
1579
|
-
var
|
|
885
|
+
var import_utils6 = require("@charcoal-ui/utils");
|
|
1580
886
|
var import_react_spring = require("react-spring");
|
|
1581
887
|
|
|
1582
888
|
// src/_lib/useForwardedRef.tsx
|
|
@@ -1599,29 +905,16 @@ function useForwardedRef(ref) {
|
|
|
1599
905
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1600
906
|
var Dialog = (0, import_react11.forwardRef)(function Dialog2(props, forwardRef18) {
|
|
1601
907
|
const ref = useForwardedRef(forwardRef18);
|
|
1602
|
-
const {
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
);
|
|
1608
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1609
|
-
AnimatedStyledDialogDiv,
|
|
1610
|
-
{
|
|
1611
|
-
...props,
|
|
1612
|
-
role: dialogProps.role,
|
|
1613
|
-
tabIndex: dialogProps.tabIndex,
|
|
1614
|
-
"aria-labelledby": dialogProps["aria-labelledby"],
|
|
1615
|
-
onBlur: dialogProps.onBlur,
|
|
1616
|
-
ref
|
|
1617
|
-
}
|
|
1618
|
-
);
|
|
908
|
+
const {
|
|
909
|
+
dialogProps
|
|
910
|
+
} = (0, import_dialog.useDialog)({
|
|
911
|
+
role: "dialog"
|
|
912
|
+
}, ref);
|
|
913
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(AnimatedStyledDialogDiv, { ...props, role: dialogProps.role, tabIndex: dialogProps.tabIndex, "aria-labelledby": dialogProps["aria-labelledby"], onBlur: dialogProps.onBlur, ref });
|
|
1619
914
|
});
|
|
1620
|
-
var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components11.default.div
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
height: fit-content;
|
|
1624
|
-
width: ${(p) => {
|
|
915
|
+
var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components11.default.div.withConfig({
|
|
916
|
+
componentId: "ccl__sc-1ep4f6v-0"
|
|
917
|
+
})(["margin:auto;position:relative;height:fit-content;width:", "px;background-color:var(--charcoal-surface1);border-radius:24px;@media ", "{max-width:440px;width:calc(100% - 48px);", "}:focus{outline:none;}"], (p) => {
|
|
1625
918
|
switch (p.size) {
|
|
1626
919
|
case "S": {
|
|
1627
920
|
return columnSystem(3, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
|
|
@@ -1636,39 +929,48 @@ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_co
|
|
|
1636
929
|
return unreachable(p.size);
|
|
1637
930
|
}
|
|
1638
931
|
}
|
|
1639
|
-
}
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
border-radius: 24px;
|
|
1643
|
-
|
|
1644
|
-
@media ${({ theme }) => (0, import_utils4.maxWidth)(theme.breakpoint.screen1)} {
|
|
1645
|
-
max-width: 440px;
|
|
1646
|
-
width: calc(100% - 48px);
|
|
1647
|
-
${(p) => p.bottomSheet !== false && import_styled_components11.css`
|
|
1648
|
-
max-width: unset;
|
|
1649
|
-
width: 100%;
|
|
1650
|
-
border-radius: 0;
|
|
1651
|
-
margin: auto 0 0 0;
|
|
1652
|
-
${p.bottomSheet === "full" && import_styled_components11.css`
|
|
1653
|
-
min-height: 100%;
|
|
1654
|
-
`}
|
|
1655
|
-
`}
|
|
1656
|
-
}
|
|
1657
|
-
:focus {
|
|
1658
|
-
outline: none;
|
|
1659
|
-
}
|
|
1660
|
-
`);
|
|
932
|
+
}, ({
|
|
933
|
+
theme
|
|
934
|
+
}) => (0, import_utils6.maxWidth)(theme.breakpoint.screen1), (p) => p.bottomSheet !== false && (0, import_styled_components11.css)(["max-width:unset;width:100%;border-radius:0;margin:auto 0 0 0;", ""], p.bottomSheet === "full" && (0, import_styled_components11.css)(["min-height:100%;"]))));
|
|
1661
935
|
|
|
1662
936
|
// src/components/Modal/ModalBackgroundContext.tsx
|
|
1663
937
|
var React8 = __toESM(require("react"));
|
|
1664
|
-
var ModalBackgroundContext = React8.createContext(
|
|
1665
|
-
|
|
1666
|
-
|
|
938
|
+
var ModalBackgroundContext = React8.createContext(null);
|
|
939
|
+
|
|
940
|
+
// src/components/Modal/useCustomModalOverlay.tsx
|
|
941
|
+
var React9 = __toESM(require("react"));
|
|
942
|
+
var import_overlays2 = require("@react-aria/overlays");
|
|
943
|
+
function useCharcoalModalOverlay(props, state, ref) {
|
|
944
|
+
const {
|
|
945
|
+
overlayProps,
|
|
946
|
+
underlayProps
|
|
947
|
+
} = (0, import_overlays2.useOverlay)({
|
|
948
|
+
...props,
|
|
949
|
+
isOpen: state.isOpen,
|
|
950
|
+
onClose: state.onClose,
|
|
951
|
+
shouldCloseOnInteractOutside: () => false
|
|
952
|
+
}, ref);
|
|
953
|
+
(0, import_overlays2.useOverlayFocusContain)();
|
|
954
|
+
React9.useEffect(() => {
|
|
955
|
+
if (state.isOpen && ref.current) {
|
|
956
|
+
return (0, import_overlays2.ariaHideOutside)([ref.current]);
|
|
957
|
+
}
|
|
958
|
+
}, [state.isOpen, ref]);
|
|
959
|
+
return {
|
|
960
|
+
modalProps: overlayProps,
|
|
961
|
+
underlayProps
|
|
962
|
+
};
|
|
963
|
+
}
|
|
1667
964
|
|
|
1668
965
|
// src/components/Modal/index.tsx
|
|
1669
966
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1670
967
|
var DEFAULT_Z_INDEX = 10;
|
|
1671
|
-
var Modal = (0, import_react12.forwardRef)(function ModalInner({
|
|
968
|
+
var Modal = (0, import_react12.forwardRef)(function ModalInner({
|
|
969
|
+
children,
|
|
970
|
+
zIndex = DEFAULT_Z_INDEX,
|
|
971
|
+
portalContainer,
|
|
972
|
+
...props
|
|
973
|
+
}, external) {
|
|
1672
974
|
const {
|
|
1673
975
|
title,
|
|
1674
976
|
size = "M",
|
|
@@ -1678,26 +980,19 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
|
|
|
1678
980
|
className,
|
|
1679
981
|
isOpen = false
|
|
1680
982
|
} = props;
|
|
1681
|
-
const ref = (0,
|
|
1682
|
-
const {
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
setOpen: () => {
|
|
1693
|
-
},
|
|
1694
|
-
toggle: () => {
|
|
1695
|
-
}
|
|
1696
|
-
},
|
|
1697
|
-
ref
|
|
1698
|
-
);
|
|
983
|
+
const ref = (0, import_utils8.useObjectRef)(external);
|
|
984
|
+
const {
|
|
985
|
+
modalProps,
|
|
986
|
+
underlayProps
|
|
987
|
+
} = useCharcoalModalOverlay({
|
|
988
|
+
...props,
|
|
989
|
+
isKeyboardDismissDisabled: isDismissable === void 0 || isDismissable === false
|
|
990
|
+
}, {
|
|
991
|
+
onClose,
|
|
992
|
+
isOpen
|
|
993
|
+
}, ref);
|
|
1699
994
|
const theme = (0, import_styled_components12.useTheme)();
|
|
1700
|
-
const isMobile = (0,
|
|
995
|
+
const isMobile = (0, import_styled7.useMedia)((0, import_utils7.maxWidth)(theme.breakpoint.screen1)) ?? false;
|
|
1701
996
|
const transitionEnabled = isMobile && bottomSheet !== false;
|
|
1702
997
|
const showDismiss = !isMobile || bottomSheet !== true;
|
|
1703
998
|
const transition = (0, import_react_spring2.useTransition)(isOpen, {
|
|
@@ -1718,256 +1013,149 @@ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zInde
|
|
|
1718
1013
|
backgroundColor: "rgba(0, 0, 0, 0)",
|
|
1719
1014
|
overflow: "hidden"
|
|
1720
1015
|
},
|
|
1721
|
-
config: transitionEnabled ? {
|
|
1016
|
+
config: transitionEnabled ? {
|
|
1017
|
+
duration: 400,
|
|
1018
|
+
easing: import_react_spring2.easings.easeOutQuart
|
|
1019
|
+
} : {
|
|
1020
|
+
duration: 0
|
|
1021
|
+
}
|
|
1722
1022
|
});
|
|
1723
|
-
const bgRef =
|
|
1724
|
-
|
|
1725
|
-
(
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
close: onClose,
|
|
1749
|
-
showDismiss,
|
|
1750
|
-
bottomSheet
|
|
1751
|
-
},
|
|
1752
|
-
children: [
|
|
1753
|
-
children,
|
|
1754
|
-
isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1755
|
-
ModalCrossButton,
|
|
1756
|
-
{
|
|
1757
|
-
size: "S",
|
|
1758
|
-
icon: "24/Close",
|
|
1759
|
-
onClick: onClose
|
|
1760
|
-
}
|
|
1761
|
-
)
|
|
1762
|
-
]
|
|
1763
|
-
}
|
|
1764
|
-
)
|
|
1765
|
-
}
|
|
1766
|
-
) })
|
|
1767
|
-
}
|
|
1768
|
-
) })
|
|
1769
|
-
);
|
|
1023
|
+
const bgRef = React10.useRef(null);
|
|
1024
|
+
const handleClick = React10.useCallback((e) => {
|
|
1025
|
+
if (e.currentTarget === e.target) {
|
|
1026
|
+
onClose();
|
|
1027
|
+
}
|
|
1028
|
+
}, [onClose]);
|
|
1029
|
+
return transition(({
|
|
1030
|
+
backgroundColor,
|
|
1031
|
+
overflow,
|
|
1032
|
+
transform
|
|
1033
|
+
}, item) => item && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_overlays3.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalBackground, { ref: bgRef, zIndex, ...underlayProps, style: transitionEnabled ? {
|
|
1034
|
+
backgroundColor,
|
|
1035
|
+
overflow
|
|
1036
|
+
} : {}, $bottomSheet: bottomSheet, onClick: handleClick, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalBackgroundContext.Provider, { value: bgRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog, { ref, ...modalProps, style: transitionEnabled ? {
|
|
1037
|
+
transform
|
|
1038
|
+
} : {}, size, bottomSheet, className, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(ModalContext.Provider, { value: {
|
|
1039
|
+
titleProps: {},
|
|
1040
|
+
title,
|
|
1041
|
+
close: onClose,
|
|
1042
|
+
showDismiss,
|
|
1043
|
+
bottomSheet
|
|
1044
|
+
}, children: [
|
|
1045
|
+
children,
|
|
1046
|
+
isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalCrossButton, { size: "S", icon: "24/Close", onClick: onClose })
|
|
1047
|
+
] }) }) }) }) }));
|
|
1770
1048
|
});
|
|
1771
1049
|
var Modal_default = (0, import_react12.memo)(Modal);
|
|
1772
|
-
var ModalContext =
|
|
1050
|
+
var ModalContext = React10.createContext({
|
|
1773
1051
|
titleProps: {},
|
|
1774
1052
|
title: "",
|
|
1775
1053
|
close: void 0,
|
|
1776
1054
|
showDismiss: true,
|
|
1777
1055
|
bottomSheet: false
|
|
1778
1056
|
});
|
|
1779
|
-
var ModalBackground = (0, import_react_spring2.animated)(import_styled_components12.default.div
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
justify-content: center;
|
|
1790
|
-
padding: 40px 0;
|
|
1791
|
-
box-sizing: border-box;
|
|
1792
|
-
|
|
1793
|
-
background-color: var(--charcoal-surface4);
|
|
1794
|
-
|
|
1795
|
-
@media ${({ theme }) => (0, import_utils5.maxWidth)(theme.breakpoint.screen1)} {
|
|
1796
|
-
${(p) => p.$bottomSheet !== false && import_styled_components12.css`
|
|
1797
|
-
padding: 0;
|
|
1798
|
-
`}
|
|
1799
|
-
}
|
|
1800
|
-
`);
|
|
1801
|
-
var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default)`
|
|
1802
|
-
position: absolute;
|
|
1803
|
-
top: 8px;
|
|
1804
|
-
right: 8px;
|
|
1805
|
-
|
|
1806
|
-
color: var(--charcoal-text3);
|
|
1807
|
-
transition: 0.2s color;
|
|
1808
|
-
|
|
1809
|
-
&:not(:disabled):not([aria-disabled]),
|
|
1810
|
-
&[aria-disabled='false'] {
|
|
1811
|
-
&:hover {
|
|
1812
|
-
color: var(--charcoal-text3-hover);
|
|
1813
|
-
}
|
|
1814
|
-
&:active {
|
|
1815
|
-
color: var(--charcoal-text3-press);
|
|
1816
|
-
}
|
|
1817
|
-
}
|
|
1818
|
-
`;
|
|
1057
|
+
var ModalBackground = (0, import_react_spring2.animated)(import_styled_components12.default.div.withConfig({
|
|
1058
|
+
componentId: "ccl__sc-h2bc55-0"
|
|
1059
|
+
})(["z-index:", ";overflow:auto;display:flex;position:fixed;top:0;left:0;width:-webkit-fill-available;width:-moz-available;height:100%;justify-content:center;padding:40px 0;box-sizing:border-box;background-color:var(--charcoal-surface4);@media ", "{", "}"], ({
|
|
1060
|
+
zIndex
|
|
1061
|
+
}) => zIndex, ({
|
|
1062
|
+
theme
|
|
1063
|
+
}) => (0, import_utils7.maxWidth)(theme.breakpoint.screen1), (p) => p.$bottomSheet !== false && (0, import_styled_components12.css)(["padding:0;"])));
|
|
1064
|
+
var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default).withConfig({
|
|
1065
|
+
componentId: "ccl__sc-h2bc55-1"
|
|
1066
|
+
})(["position:absolute;top:8px;right:8px;color:var(--charcoal-text3);transition:0.2s color;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{&:hover{color:var(--charcoal-text3-hover);}&:active{color:var(--charcoal-text3-press);}}"]);
|
|
1819
1067
|
function ModalTitle(props) {
|
|
1820
|
-
const {
|
|
1068
|
+
const {
|
|
1069
|
+
titleProps,
|
|
1070
|
+
title
|
|
1071
|
+
} = (0, import_react12.useContext)(ModalContext);
|
|
1821
1072
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
|
|
1822
1073
|
}
|
|
1823
|
-
var ModalHeading = import_styled_components12.default.h3
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
font-size: inherit;
|
|
1827
|
-
`;
|
|
1074
|
+
var ModalHeading = import_styled_components12.default.h3.withConfig({
|
|
1075
|
+
componentId: "ccl__sc-h2bc55-2"
|
|
1076
|
+
})(["margin:0;font-weight:inherit;font-size:inherit;"]);
|
|
1828
1077
|
|
|
1829
1078
|
// src/components/Modal/ModalPlumbing.tsx
|
|
1830
1079
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
1831
1080
|
var import_react13 = require("react");
|
|
1832
|
-
var
|
|
1081
|
+
var import_utils9 = require("@charcoal-ui/utils");
|
|
1833
1082
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1834
1083
|
function ModalHeader() {
|
|
1835
1084
|
const modalCtx = (0, import_react13.useContext)(ModalContext);
|
|
1836
1085
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalHeaderRoot, { $bottomSheet: modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledModalTitle, {}) });
|
|
1837
1086
|
}
|
|
1838
|
-
var ModalHeaderRoot = import_styled_components13.default.div
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
var
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
&::before {
|
|
1857
|
-
display: block;
|
|
1858
|
-
width: 0;
|
|
1859
|
-
height: 0;
|
|
1860
|
-
content: '';
|
|
1861
|
-
margin-top: -4px;
|
|
1862
|
-
}
|
|
1863
|
-
&::after {
|
|
1864
|
-
display: block;
|
|
1865
|
-
width: 0;
|
|
1866
|
-
height: 0;
|
|
1867
|
-
content: '';
|
|
1868
|
-
margin-bottom: -4px;
|
|
1869
|
-
}
|
|
1870
|
-
`;
|
|
1871
|
-
var ModalAlign = import_styled_components13.default.div`
|
|
1872
|
-
padding-left: 16px;
|
|
1873
|
-
padding-right: 16px;
|
|
1874
|
-
`;
|
|
1875
|
-
var ModalBody = import_styled_components13.default.div`
|
|
1876
|
-
padding-bottom: 40px;
|
|
1877
|
-
`;
|
|
1878
|
-
var ModalButtons = import_styled_components13.default.div`
|
|
1879
|
-
display: grid;
|
|
1880
|
-
grid-auto-flow: row;
|
|
1881
|
-
grid-row-gap: 8px;
|
|
1882
|
-
|
|
1883
|
-
padding-top: 16px;
|
|
1884
|
-
padding-left: 16px;
|
|
1885
|
-
padding-right: 16px;
|
|
1886
|
-
`;
|
|
1087
|
+
var ModalHeaderRoot = import_styled_components13.default.div.withConfig({
|
|
1088
|
+
componentId: "ccl__sc-1k33wze-0"
|
|
1089
|
+
})(["height:64px;display:grid;align-content:center;justify-content:center;@media ", "{", "}"], ({
|
|
1090
|
+
theme
|
|
1091
|
+
}) => (0, import_utils9.maxWidth)(theme.breakpoint.screen1), (p) => p.$bottomSheet !== false && (0, import_styled_components13.css)(["height:48px;"]));
|
|
1092
|
+
var StyledModalTitle = (0, import_styled_components13.default)(ModalTitle).withConfig({
|
|
1093
|
+
componentId: "ccl__sc-1k33wze-1"
|
|
1094
|
+
})(["color:var(--charcoal-text1);font-size:16px;line-height:24px;font-weight:bold;display:flow-root;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
1095
|
+
var ModalAlign = import_styled_components13.default.div.withConfig({
|
|
1096
|
+
componentId: "ccl__sc-1k33wze-2"
|
|
1097
|
+
})(["padding-left:16px;padding-right:16px;"]);
|
|
1098
|
+
var ModalBody = import_styled_components13.default.div.withConfig({
|
|
1099
|
+
componentId: "ccl__sc-1k33wze-3"
|
|
1100
|
+
})(["padding-bottom:40px;"]);
|
|
1101
|
+
var ModalButtons = import_styled_components13.default.div.withConfig({
|
|
1102
|
+
componentId: "ccl__sc-1k33wze-4"
|
|
1103
|
+
})(["display:grid;grid-auto-flow:row;grid-row-gap:8px;padding-top:16px;padding-left:16px;padding-right:16px;"]);
|
|
1887
1104
|
|
|
1888
1105
|
// src/components/LoadingSpinner/index.tsx
|
|
1889
1106
|
var import_react14 = require("react");
|
|
1890
1107
|
var import_styled_components14 = __toESM(require("styled-components"));
|
|
1891
1108
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1892
|
-
var LoadingSpinner = (0, import_react14.forwardRef)(
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
className,
|
|
1901
|
-
ref,
|
|
1902
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingSpinnerIcon, {})
|
|
1903
|
-
}
|
|
1904
|
-
);
|
|
1905
|
-
}
|
|
1906
|
-
);
|
|
1109
|
+
var LoadingSpinner = (0, import_react14.forwardRef)(function LoadingSpinnerInner({
|
|
1110
|
+
size = 48,
|
|
1111
|
+
padding = 16,
|
|
1112
|
+
transparent = false,
|
|
1113
|
+
className
|
|
1114
|
+
}, ref) {
|
|
1115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingSpinnerRoot, { size, padding, transparent, className, ref, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingSpinnerIcon, {}) });
|
|
1116
|
+
});
|
|
1907
1117
|
var LoadingSpinner_default = (0, import_react14.memo)(LoadingSpinner);
|
|
1908
|
-
var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
}
|
|
1930
|
-
`;
|
|
1931
|
-
var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation" })`
|
|
1932
|
-
width: 1em;
|
|
1933
|
-
height: 1em;
|
|
1934
|
-
border-radius: 1em;
|
|
1935
|
-
background-color: currentColor;
|
|
1936
|
-
animation: ${scaleOut} 1s both ease-out;
|
|
1937
|
-
animation-iteration-count: ${(p) => p.once ? 1 : "infinite"};
|
|
1938
|
-
|
|
1939
|
-
&[data-reset-animation] {
|
|
1940
|
-
animation: none;
|
|
1941
|
-
}
|
|
1942
|
-
`;
|
|
1943
|
-
var LoadingSpinnerIcon = (0, import_react14.forwardRef)(
|
|
1944
|
-
function LoadingSpinnerIcon2({ once = false }, ref) {
|
|
1945
|
-
const iconRef = (0, import_react14.useRef)(null);
|
|
1946
|
-
(0, import_react14.useImperativeHandle)(ref, () => ({
|
|
1947
|
-
restart: () => {
|
|
1948
|
-
if (!iconRef.current) {
|
|
1949
|
-
return;
|
|
1950
|
-
}
|
|
1951
|
-
iconRef.current.dataset.resetAnimation = "true";
|
|
1952
|
-
void iconRef.current.offsetWidth;
|
|
1953
|
-
delete iconRef.current.dataset.resetAnimation;
|
|
1118
|
+
var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({
|
|
1119
|
+
role: "progressbar"
|
|
1120
|
+
}).withConfig({
|
|
1121
|
+
componentId: "ccl__sc-1id6yz4-0"
|
|
1122
|
+
})(["box-sizing:content-box;margin:auto;padding:", "px;border-radius:8px;font-size:", "px;width:", "px;height:", "px;opacity:0.84;color:var(--charcoal-text4);background-color:", ";"], (props) => props.padding, (props) => props.size, (props) => props.size, (props) => props.size, ({
|
|
1123
|
+
transparent
|
|
1124
|
+
}) => `var(--charcoal-${transparent ? "transparent" : "background1"})`);
|
|
1125
|
+
var scaleOut = (0, import_styled_components14.keyframes)(["from{transform:scale(0);opacity:1;}to{transform:scale(1);opacity:0;}"]);
|
|
1126
|
+
var Icon2 = import_styled_components14.default.div.attrs({
|
|
1127
|
+
role: "presentation"
|
|
1128
|
+
}).withConfig({
|
|
1129
|
+
componentId: "ccl__sc-1id6yz4-1"
|
|
1130
|
+
})(["width:1em;height:1em;border-radius:1em;background-color:currentColor;animation:", " 1s both ease-out;animation-iteration-count:", ";&[data-reset-animation]{animation:none;}"], scaleOut, (p) => p.once ? 1 : "infinite");
|
|
1131
|
+
var LoadingSpinnerIcon = (0, import_react14.forwardRef)(function LoadingSpinnerIcon2({
|
|
1132
|
+
once = false
|
|
1133
|
+
}, ref) {
|
|
1134
|
+
const iconRef = (0, import_react14.useRef)(null);
|
|
1135
|
+
(0, import_react14.useImperativeHandle)(ref, () => ({
|
|
1136
|
+
restart: () => {
|
|
1137
|
+
if (!iconRef.current) {
|
|
1138
|
+
return;
|
|
1954
1139
|
}
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1140
|
+
iconRef.current.dataset.resetAnimation = "true";
|
|
1141
|
+
void iconRef.current.offsetWidth;
|
|
1142
|
+
delete iconRef.current.dataset.resetAnimation;
|
|
1143
|
+
}
|
|
1144
|
+
}));
|
|
1145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon2, { ref: iconRef, once });
|
|
1146
|
+
});
|
|
1959
1147
|
|
|
1960
1148
|
// src/components/DropdownSelector/index.tsx
|
|
1961
1149
|
var import_react20 = require("react");
|
|
1962
1150
|
var import_styled_components17 = __toESM(require("styled-components"));
|
|
1963
|
-
var
|
|
1151
|
+
var import_utils10 = require("@charcoal-ui/utils");
|
|
1964
1152
|
|
|
1965
1153
|
// src/components/DropdownSelector/DropdownPopover.tsx
|
|
1966
1154
|
var import_react17 = require("react");
|
|
1967
1155
|
|
|
1968
1156
|
// src/components/DropdownSelector/Popover/index.tsx
|
|
1969
1157
|
var import_react16 = require("react");
|
|
1970
|
-
var
|
|
1158
|
+
var import_overlays4 = require("@react-aria/overlays");
|
|
1971
1159
|
var import_styled_components15 = __toESM(require("styled-components"));
|
|
1972
1160
|
|
|
1973
1161
|
// src/components/DropdownSelector/Popover/usePreventScroll.tsx
|
|
@@ -1993,58 +1181,47 @@ var _empty = () => null;
|
|
|
1993
1181
|
function Popover(props) {
|
|
1994
1182
|
const defaultPopoverRef = (0, import_react16.useRef)(null);
|
|
1995
1183
|
const finalPopoverRef = props.popoverRef === void 0 ? defaultPopoverRef : props.popoverRef;
|
|
1996
|
-
const {
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
);
|
|
1184
|
+
const {
|
|
1185
|
+
popoverProps,
|
|
1186
|
+
underlayProps
|
|
1187
|
+
} = (0, import_overlays4.usePopover)({
|
|
1188
|
+
triggerRef: props.triggerRef,
|
|
1189
|
+
popoverRef: finalPopoverRef,
|
|
1190
|
+
containerPadding: 16
|
|
1191
|
+
}, {
|
|
1192
|
+
close: props.onClose,
|
|
1193
|
+
isOpen: props.isOpen,
|
|
1194
|
+
open: _empty,
|
|
1195
|
+
setOpen: _empty,
|
|
1196
|
+
toggle: _empty
|
|
1197
|
+
});
|
|
2010
1198
|
const modalBackground = (0, import_react16.useContext)(ModalBackgroundContext);
|
|
2011
1199
|
usePreventScroll(modalBackground, props.isOpen);
|
|
2012
1200
|
if (!props.isOpen)
|
|
2013
1201
|
return null;
|
|
2014
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
2015
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2016
|
-
"
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
position: "fixed",
|
|
2021
|
-
zIndex: typeof popoverProps.style?.zIndex === "number" ? popoverProps.style.zIndex - 1 : 99999,
|
|
2022
|
-
inset: 0
|
|
2023
|
-
}
|
|
2024
|
-
}
|
|
2025
|
-
),
|
|
1202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_overlays4.Overlay, { portalContainer: document.body, children: [
|
|
1203
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { ...underlayProps, style: {
|
|
1204
|
+
position: "fixed",
|
|
1205
|
+
zIndex: typeof popoverProps.style?.zIndex === "number" ? popoverProps.style.zIndex - 1 : 99999,
|
|
1206
|
+
inset: 0
|
|
1207
|
+
} }),
|
|
2026
1208
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownPopoverDiv, { ...popoverProps, ref: finalPopoverRef, children: [
|
|
2027
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1209
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() }),
|
|
2028
1210
|
props.children,
|
|
2029
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1211
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() })
|
|
2030
1212
|
] })
|
|
2031
1213
|
] });
|
|
2032
1214
|
}
|
|
2033
|
-
var DropdownPopoverDiv = import_styled_components15.default.div
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
overflow: auto;
|
|
2037
|
-
max-height: inherit;
|
|
2038
|
-
background-color: var(--charcoal-background1);
|
|
2039
|
-
border: solid 1px var(--charcoal-border-default);
|
|
2040
|
-
border-radius: 8px;
|
|
2041
|
-
padding-top: 8px;
|
|
2042
|
-
padding-bottom: 8px;
|
|
2043
|
-
`;
|
|
1215
|
+
var DropdownPopoverDiv = import_styled_components15.default.div.withConfig({
|
|
1216
|
+
componentId: "ccl__sc-jwnoy6-0"
|
|
1217
|
+
})(["margin:4px 0;list-style:none;overflow:auto;max-height:inherit;background-color:var(--charcoal-background1);border:solid 1px var(--charcoal-border-default);border-radius:8px;padding-top:8px;padding-bottom:8px;"]);
|
|
2044
1218
|
|
|
2045
1219
|
// src/components/DropdownSelector/DropdownPopover.tsx
|
|
2046
1220
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
2047
|
-
function DropdownPopover({
|
|
1221
|
+
function DropdownPopover({
|
|
1222
|
+
children,
|
|
1223
|
+
...props
|
|
1224
|
+
}) {
|
|
2048
1225
|
const ref = (0, import_react17.useRef)(null);
|
|
2049
1226
|
(0, import_react17.useEffect)(() => {
|
|
2050
1227
|
if (props.isOpen && ref.current && props.triggerRef.current) {
|
|
@@ -2055,32 +1232,21 @@ function DropdownPopover({ children, ...props }) {
|
|
|
2055
1232
|
if (props.isOpen && props.value !== void 0) {
|
|
2056
1233
|
const windowScrollY = window.scrollY;
|
|
2057
1234
|
const windowScrollX = window.scrollX;
|
|
2058
|
-
const selectedElement = document.querySelector(
|
|
2059
|
-
`[data-key="${props.value.toString()}"]`
|
|
2060
|
-
);
|
|
1235
|
+
const selectedElement = document.querySelector(`[data-key="${props.value.toString()}"]`);
|
|
2061
1236
|
selectedElement?.focus();
|
|
2062
1237
|
window.scrollTo(windowScrollX, windowScrollY);
|
|
2063
1238
|
}
|
|
2064
1239
|
}, [props.value, props.isOpen]);
|
|
2065
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2066
|
-
Popover,
|
|
2067
|
-
{
|
|
2068
|
-
isOpen: props.isOpen,
|
|
2069
|
-
onClose: props.onClose,
|
|
2070
|
-
popoverRef: ref,
|
|
2071
|
-
triggerRef: props.triggerRef,
|
|
2072
|
-
children
|
|
2073
|
-
}
|
|
2074
|
-
);
|
|
1240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Popover, { isOpen: props.isOpen, onClose: props.onClose, popoverRef: ref, triggerRef: props.triggerRef, children });
|
|
2075
1241
|
}
|
|
2076
1242
|
|
|
2077
1243
|
// src/components/DropdownSelector/utils/findPreviewRecursive.tsx
|
|
2078
|
-
var
|
|
1244
|
+
var React11 = __toESM(require("react"));
|
|
2079
1245
|
function findPreviewRecursive(children, value) {
|
|
2080
|
-
const childArray =
|
|
1246
|
+
const childArray = React11.Children.toArray(children);
|
|
2081
1247
|
for (let i = 0; i < childArray.length; i++) {
|
|
2082
1248
|
const child = childArray[i];
|
|
2083
|
-
if (
|
|
1249
|
+
if (React11.isValidElement(child)) {
|
|
2084
1250
|
if ("value" in child.props) {
|
|
2085
1251
|
const childValue = child.props.value;
|
|
2086
1252
|
if (childValue === value && "children" in child.props) {
|
|
@@ -2089,10 +1255,7 @@ function findPreviewRecursive(children, value) {
|
|
|
2089
1255
|
}
|
|
2090
1256
|
}
|
|
2091
1257
|
if ("children" in child.props) {
|
|
2092
|
-
const children2 = findPreviewRecursive(
|
|
2093
|
-
child.props.children,
|
|
2094
|
-
value
|
|
2095
|
-
);
|
|
1258
|
+
const children2 = findPreviewRecursive(child.props.children, value);
|
|
2096
1259
|
if (children2 !== void 0) {
|
|
2097
1260
|
return children2;
|
|
2098
1261
|
}
|
|
@@ -2116,12 +1279,12 @@ var MenuListContext = (0, import_react18.createContext)({
|
|
|
2116
1279
|
});
|
|
2117
1280
|
|
|
2118
1281
|
// src/components/DropdownSelector/MenuList/internals/getValuesRecursive.tsx
|
|
2119
|
-
var
|
|
1282
|
+
var React12 = __toESM(require("react"));
|
|
2120
1283
|
function getValuesRecursive(children, values = []) {
|
|
2121
|
-
const childArray =
|
|
1284
|
+
const childArray = React12.Children.toArray(children);
|
|
2122
1285
|
for (let i = 0; i < childArray.length; i++) {
|
|
2123
1286
|
const child = childArray[i];
|
|
2124
|
-
if (
|
|
1287
|
+
if (React12.isValidElement(child)) {
|
|
2125
1288
|
const props = child.props;
|
|
2126
1289
|
if ("value" in props && typeof props.value === "string") {
|
|
2127
1290
|
const childValue = props.value;
|
|
@@ -2140,27 +1303,21 @@ function MenuList(props) {
|
|
|
2140
1303
|
const root = (0, import_react19.useRef)(null);
|
|
2141
1304
|
const values = [];
|
|
2142
1305
|
getValuesRecursive(props.children, values);
|
|
2143
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
values,
|
|
2150
|
-
setValue: (v) => {
|
|
2151
|
-
props.onChange?.(v);
|
|
2152
|
-
}
|
|
2153
|
-
},
|
|
2154
|
-
children: props.children
|
|
1306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MenuListContext.Provider, { value: {
|
|
1307
|
+
value: props.value ?? "",
|
|
1308
|
+
root,
|
|
1309
|
+
values,
|
|
1310
|
+
setValue: (v) => {
|
|
1311
|
+
props.onChange?.(v);
|
|
2155
1312
|
}
|
|
2156
|
-
) });
|
|
1313
|
+
}, children: props.children }) });
|
|
2157
1314
|
}
|
|
2158
|
-
var StyledUl = import_styled_components16.default.ul
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
`;
|
|
1315
|
+
var StyledUl = import_styled_components16.default.ul.withConfig({
|
|
1316
|
+
componentId: "ccl__sc-1y72v02-0"
|
|
1317
|
+
})(["padding:0;margin:0;"]);
|
|
2162
1318
|
|
|
2163
1319
|
// src/components/DropdownSelector/index.tsx
|
|
1320
|
+
var import_styled8 = require("@charcoal-ui/styled");
|
|
2164
1321
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2165
1322
|
var defaultRequiredText = "*\u5FC5\u9808";
|
|
2166
1323
|
function DropdownSelector(props) {
|
|
@@ -2168,150 +1325,46 @@ function DropdownSelector(props) {
|
|
|
2168
1325
|
const [isOpen, setIsOpen] = (0, import_react20.useState)(false);
|
|
2169
1326
|
const preview = findPreviewRecursive(props.children, props.value);
|
|
2170
1327
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DropdownSelectorRoot, { "aria-disabled": props.disabled, children: [
|
|
2171
|
-
props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
}
|
|
2179
|
-
),
|
|
2180
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
disabled: props.disabled,
|
|
2185
|
-
onClick: () => {
|
|
2186
|
-
if (props.disabled === true)
|
|
2187
|
-
return;
|
|
2188
|
-
setIsOpen(true);
|
|
2189
|
-
},
|
|
2190
|
-
ref: triggerRef,
|
|
2191
|
-
type: "button",
|
|
2192
|
-
children: [
|
|
2193
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonText, { children: props.placeholder !== void 0 && preview === void 0 ? props.placeholder : preview }),
|
|
2194
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonIcon, { name: "16/Menu" })
|
|
2195
|
-
]
|
|
2196
|
-
}
|
|
2197
|
-
),
|
|
2198
|
-
isOpen && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2199
|
-
DropdownPopover,
|
|
2200
|
-
{
|
|
2201
|
-
isOpen,
|
|
2202
|
-
onClose: () => setIsOpen(false),
|
|
2203
|
-
triggerRef,
|
|
2204
|
-
value: props.value,
|
|
2205
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2206
|
-
MenuList,
|
|
2207
|
-
{
|
|
2208
|
-
value: props.value,
|
|
2209
|
-
onChange: (v) => {
|
|
2210
|
-
props.onChange(v);
|
|
2211
|
-
setIsOpen(false);
|
|
2212
|
-
},
|
|
2213
|
-
children: props.children
|
|
2214
|
-
}
|
|
2215
|
-
)
|
|
2216
|
-
}
|
|
2217
|
-
),
|
|
1328
|
+
props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownFieldLabel, { label: props.label, required: props.required, requiredText: props.requiredText ?? defaultRequiredText, subLabel: props.subLabel }),
|
|
1329
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DropdownButton, { invalid: props.invalid, disabled: props.disabled, onClick: () => {
|
|
1330
|
+
if (props.disabled === true)
|
|
1331
|
+
return;
|
|
1332
|
+
setIsOpen(true);
|
|
1333
|
+
}, ref: triggerRef, type: "button", $active: isOpen, children: [
|
|
1334
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonText, { children: props.placeholder !== void 0 && preview === void 0 ? props.placeholder : preview }),
|
|
1335
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonIcon, { name: "16/Menu" })
|
|
1336
|
+
] }),
|
|
1337
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownPopover, { isOpen, onClose: () => setIsOpen(false), triggerRef, value: props.value, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuList, { value: props.value, onChange: (v) => {
|
|
1338
|
+
props.onChange(v);
|
|
1339
|
+
setIsOpen(false);
|
|
1340
|
+
}, children: props.children }) }),
|
|
2218
1341
|
props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
|
|
2219
1342
|
] });
|
|
2220
1343
|
}
|
|
2221
|
-
var DropdownSelectorRoot = import_styled_components17.default.div
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
var
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
${import_utils8.disabledSelector} {
|
|
2247
|
-
cursor: default;
|
|
2248
|
-
}
|
|
2249
|
-
|
|
2250
|
-
padding-right: 8px;
|
|
2251
|
-
padding-left: 8px;
|
|
2252
|
-
background-color: var(--charcoal-surface3);
|
|
2253
|
-
border-radius: 4px;
|
|
2254
|
-
|
|
2255
|
-
transition: 0.2s box-shadow, 0.2s background-color;
|
|
2256
|
-
|
|
2257
|
-
&:not(:disabled):not([aria-disabled]),
|
|
2258
|
-
&[aria-disabled='false'] {
|
|
2259
|
-
&:focus,
|
|
2260
|
-
&:active,
|
|
2261
|
-
&:focus-visible {
|
|
2262
|
-
outline: none;
|
|
2263
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
2264
|
-
}
|
|
2265
|
-
&:hover {
|
|
2266
|
-
background-color: var(--charcoal-surface3-hover);
|
|
2267
|
-
}
|
|
2268
|
-
}
|
|
2269
|
-
|
|
2270
|
-
${({ invalid }) => invalid === true && import_styled_components17.css`
|
|
2271
|
-
&:not(:disabled):not([aria-disabled]),
|
|
2272
|
-
&[aria-disabled='false'] {
|
|
2273
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
2274
|
-
}
|
|
2275
|
-
`}
|
|
2276
|
-
`;
|
|
2277
|
-
var DropdownButtonText = import_styled_components17.default.span`
|
|
2278
|
-
text-align: left;
|
|
2279
|
-
font-size: 14px;
|
|
2280
|
-
line-height: 22px;
|
|
2281
|
-
display: flow-root;
|
|
2282
|
-
color: var(--charcoal-text2);
|
|
2283
|
-
overflow: hidden;
|
|
2284
|
-
text-overflow: ellipsis;
|
|
2285
|
-
white-space: nowrap;
|
|
2286
|
-
`;
|
|
2287
|
-
var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default)`
|
|
2288
|
-
color: var(--charcoal-text2);
|
|
2289
|
-
`;
|
|
2290
|
-
var AssertiveText = import_styled_components17.default.div`
|
|
2291
|
-
margin-top: 8px;
|
|
2292
|
-
font-size: 14px;
|
|
2293
|
-
color: var(--charcoal-text2);
|
|
2294
|
-
line-height: 22px;
|
|
2295
|
-
display: flow-root;
|
|
2296
|
-
&::before {
|
|
2297
|
-
display: block;
|
|
2298
|
-
width: 0;
|
|
2299
|
-
height: 0;
|
|
2300
|
-
content: '';
|
|
2301
|
-
margin-top: -4px;
|
|
2302
|
-
}
|
|
2303
|
-
&::after {
|
|
2304
|
-
display: block;
|
|
2305
|
-
width: 0;
|
|
2306
|
-
height: 0;
|
|
2307
|
-
content: '';
|
|
2308
|
-
margin-bottom: -4px;
|
|
2309
|
-
}
|
|
2310
|
-
|
|
2311
|
-
${({ invalid }) => invalid === true && import_styled_components17.css`
|
|
2312
|
-
color: var(--charcoal-assertive);
|
|
2313
|
-
`}
|
|
2314
|
-
`;
|
|
1344
|
+
var DropdownSelectorRoot = import_styled_components17.default.div.withConfig({
|
|
1345
|
+
componentId: "ccl__sc-1vnxmc8-0"
|
|
1346
|
+
})(["display:inline-block;width:100%;", "{cursor:default;opacity:0.32;}"], import_utils10.disabledSelector);
|
|
1347
|
+
var DropdownFieldLabel = (0, import_styled_components17.default)(FieldLabel_default).withConfig({
|
|
1348
|
+
componentId: "ccl__sc-1vnxmc8-1"
|
|
1349
|
+
})(["width:100%;margin-bottom:8px;"]);
|
|
1350
|
+
var DropdownButton = import_styled_components17.default.button.withConfig({
|
|
1351
|
+
componentId: "ccl__sc-1vnxmc8-2"
|
|
1352
|
+
})(["display:flex;justify-content:space-between;align-items:center;height:40px;width:100%;box-sizing:border-box;border:none;cursor:pointer;gap:4px;", "{cursor:default;}padding-right:8px;padding-left:8px;background-color:var(--charcoal-surface3);border-radius:4px;transition:0.2s box-shadow,0.2s background-color;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", " ", "}", ""], import_utils10.disabledSelector, import_styled8.focusVisibleFocusRingCss, ({
|
|
1353
|
+
$active
|
|
1354
|
+
}) => $active === true ? (0, import_styled_components17.css)(["background-color:var(--charcoal-surface3-press);"]) : (0, import_styled_components17.css)(["&:hover{background-color:var(--charcoal-surface3-hover);}&:active{background-color:var(--charcoal-surface3-press);}"]), ({
|
|
1355
|
+
invalid
|
|
1356
|
+
}) => invalid === true && (0, import_styled_components17.css)(["&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}"]));
|
|
1357
|
+
var DropdownButtonText = import_styled_components17.default.span.withConfig({
|
|
1358
|
+
componentId: "ccl__sc-1vnxmc8-3"
|
|
1359
|
+
})(["text-align:left;font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]);
|
|
1360
|
+
var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default).withConfig({
|
|
1361
|
+
componentId: "ccl__sc-1vnxmc8-4"
|
|
1362
|
+
})(["color:var(--charcoal-text2);"]);
|
|
1363
|
+
var AssertiveText = import_styled_components17.default.div.withConfig({
|
|
1364
|
+
componentId: "ccl__sc-1vnxmc8-5"
|
|
1365
|
+
})(["margin-top:8px;font-size:14px;color:var(--charcoal-text2);line-height:22px;display:flow-root;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}", ""], ({
|
|
1366
|
+
invalid
|
|
1367
|
+
}) => invalid === true && (0, import_styled_components17.css)(["color:var(--charcoal-assertive);"]));
|
|
2315
1368
|
|
|
2316
1369
|
// src/components/DropdownSelector/DropdownMenuItem.tsx
|
|
2317
1370
|
var import_styled_components19 = __toESM(require("styled-components"));
|
|
@@ -2320,34 +1373,18 @@ var import_styled_components19 = __toESM(require("styled-components"));
|
|
|
2320
1373
|
var import_styled_components18 = __toESM(require("styled-components"));
|
|
2321
1374
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2322
1375
|
function ListItem(props) {
|
|
2323
|
-
const {
|
|
1376
|
+
const {
|
|
1377
|
+
children,
|
|
1378
|
+
...rest
|
|
1379
|
+
} = props;
|
|
2324
1380
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ItemDiv, { ...rest, children: props.children }) });
|
|
2325
1381
|
}
|
|
2326
|
-
var StyledLi = import_styled_components18.default.li
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
var ItemDiv = import_styled_components18.default.div
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
min-height: 40px;
|
|
2333
|
-
cursor: pointer;
|
|
2334
|
-
outline: none;
|
|
2335
|
-
|
|
2336
|
-
padding-right: 16px;
|
|
2337
|
-
padding-left: 16px;
|
|
2338
|
-
|
|
2339
|
-
&:disabled,
|
|
2340
|
-
&[aria-disabled]:not([aria-disabled='false']) {
|
|
2341
|
-
opacity: 0.32;
|
|
2342
|
-
cursor: default;
|
|
2343
|
-
}
|
|
2344
|
-
|
|
2345
|
-
:hover,
|
|
2346
|
-
:focus,
|
|
2347
|
-
:focus-within {
|
|
2348
|
-
background-color: var(--charcoal-surface3);
|
|
2349
|
-
}
|
|
2350
|
-
`;
|
|
1382
|
+
var StyledLi = import_styled_components18.default.li.withConfig({
|
|
1383
|
+
componentId: "ccl__sc-p1vs75-0"
|
|
1384
|
+
})(["list-style:none;"]);
|
|
1385
|
+
var ItemDiv = import_styled_components18.default.div.withConfig({
|
|
1386
|
+
componentId: "ccl__sc-p1vs75-1"
|
|
1387
|
+
})(["display:flex;align-items:center;min-height:40px;cursor:pointer;outline:none;padding-right:16px;padding-left:16px;&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}:hover,:focus,:focus-within{background-color:var(--charcoal-surface3);}"]);
|
|
2351
1388
|
|
|
2352
1389
|
// src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
|
|
2353
1390
|
var import_react21 = require("react");
|
|
@@ -2383,84 +1420,77 @@ function scrollIfNeeded(element) {
|
|
|
2383
1420
|
|
|
2384
1421
|
// src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
|
|
2385
1422
|
function useMenuItemHandleKeyDown(value) {
|
|
2386
|
-
const {
|
|
1423
|
+
const {
|
|
1424
|
+
setValue,
|
|
1425
|
+
root,
|
|
1426
|
+
values
|
|
1427
|
+
} = (0, import_react21.useContext)(MenuListContext);
|
|
2387
1428
|
const setContextValue = (0, import_react21.useCallback)(() => {
|
|
2388
1429
|
if (value !== void 0)
|
|
2389
1430
|
setValue(value);
|
|
2390
1431
|
}, [value, setValue]);
|
|
2391
|
-
const handleKeyDown = (0, import_react21.useCallback)(
|
|
2392
|
-
(e)
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
1432
|
+
const handleKeyDown = (0, import_react21.useCallback)((e) => {
|
|
1433
|
+
if (e.key === "Enter") {
|
|
1434
|
+
setContextValue();
|
|
1435
|
+
} else if (e.key === "ArrowUp" || e.key === "ArrowDown") {
|
|
1436
|
+
e.preventDefault();
|
|
1437
|
+
if (!values || value === void 0)
|
|
1438
|
+
return;
|
|
1439
|
+
const index = values.indexOf(value);
|
|
1440
|
+
if (index === -1)
|
|
1441
|
+
return;
|
|
1442
|
+
const focusValue = e.key === "ArrowUp" ? index - 1 < 0 ? values[values.length - 1] : values[index - 1] : index + 1 >= values.length ? values[0] : values[index + 1];
|
|
1443
|
+
const next = root?.current?.querySelector(`[data-key='${focusValue}']`);
|
|
1444
|
+
if (next instanceof HTMLElement) {
|
|
1445
|
+
next.focus({
|
|
1446
|
+
preventScroll: true
|
|
1447
|
+
});
|
|
1448
|
+
if (root?.current?.parentElement) {
|
|
1449
|
+
handleFocusByKeyBoard(next, root.current.parentElement);
|
|
2409
1450
|
}
|
|
2410
1451
|
}
|
|
2411
|
-
}
|
|
2412
|
-
|
|
2413
|
-
);
|
|
1452
|
+
}
|
|
1453
|
+
}, [setContextValue, value, root, values]);
|
|
2414
1454
|
return [handleKeyDown, setContextValue];
|
|
2415
1455
|
}
|
|
2416
1456
|
|
|
2417
1457
|
// src/components/DropdownSelector/MenuItem/index.tsx
|
|
2418
1458
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2419
1459
|
function MenuItem(props) {
|
|
2420
|
-
const {
|
|
1460
|
+
const {
|
|
1461
|
+
children,
|
|
1462
|
+
as,
|
|
1463
|
+
...rest
|
|
1464
|
+
} = props;
|
|
2421
1465
|
const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(props.value);
|
|
2422
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2423
|
-
ListItem,
|
|
2424
|
-
{
|
|
2425
|
-
...rest,
|
|
2426
|
-
as,
|
|
2427
|
-
"data-key": props.value,
|
|
2428
|
-
onKeyDown: handleKeyDown,
|
|
2429
|
-
onClick: props.disabled === true ? void 0 : setContextValue,
|
|
2430
|
-
tabIndex: -1,
|
|
2431
|
-
"aria-disabled": props.disabled,
|
|
2432
|
-
children: props.children
|
|
2433
|
-
}
|
|
2434
|
-
);
|
|
1466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ListItem, { ...rest, as, "data-key": props.value, onKeyDown: handleKeyDown, onClick: props.disabled === true ? void 0 : setContextValue, tabIndex: -1, "aria-disabled": props.disabled, children: props.children });
|
|
2435
1467
|
}
|
|
2436
1468
|
|
|
2437
1469
|
// src/components/DropdownSelector/DropdownMenuItem.tsx
|
|
2438
1470
|
var import_react22 = require("react");
|
|
2439
1471
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2440
1472
|
function DropdownMenuItem(props) {
|
|
2441
|
-
const {
|
|
1473
|
+
const {
|
|
1474
|
+
value: ctxValue
|
|
1475
|
+
} = (0, import_react22.useContext)(MenuListContext);
|
|
2442
1476
|
const isSelected = props.value === ctxValue;
|
|
2443
|
-
const {
|
|
1477
|
+
const {
|
|
1478
|
+
children,
|
|
1479
|
+
...rest
|
|
1480
|
+
} = props;
|
|
2444
1481
|
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(MenuItem, { ...rest, children: [
|
|
2445
1482
|
isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text2ColorIcon, { name: "16/Check" }),
|
|
2446
1483
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledSpan, { isSelected, children: props.children })
|
|
2447
1484
|
] });
|
|
2448
1485
|
}
|
|
2449
|
-
var StyledSpan = import_styled_components19.default.span
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
width: 100%;
|
|
2458
|
-
margin-left: ${({ isSelected }) => isSelected === true ? 0 : 20}px;
|
|
2459
|
-
`;
|
|
2460
|
-
var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default)`
|
|
2461
|
-
color: var(--charcoal-text2);
|
|
2462
|
-
padding-right: 4px;
|
|
2463
|
-
`;
|
|
1486
|
+
var StyledSpan = import_styled_components19.default.span.withConfig({
|
|
1487
|
+
componentId: "ccl__sc-108wg2j-0"
|
|
1488
|
+
})(["font-size:14px;line-height:22px;color:var(--charcoal-text2);padding:9px 0;display:flex;align-items:center;width:100%;margin-left:", "px;"], ({
|
|
1489
|
+
isSelected
|
|
1490
|
+
}) => isSelected === true ? 0 : 20);
|
|
1491
|
+
var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default).withConfig({
|
|
1492
|
+
componentId: "ccl__sc-108wg2j-1"
|
|
1493
|
+
})(["color:var(--charcoal-text2);padding-right:4px;"]);
|
|
2464
1494
|
|
|
2465
1495
|
// src/components/DropdownSelector/MenuItemGroup/index.tsx
|
|
2466
1496
|
var import_styled_components20 = __toESM(require("styled-components"));
|
|
@@ -2471,23 +1501,15 @@ function MenuItemGroup(props) {
|
|
|
2471
1501
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledUl2, { role: "group", children: props.children })
|
|
2472
1502
|
] });
|
|
2473
1503
|
}
|
|
2474
|
-
var TextSpan = import_styled_components20.default.span
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
margin: 0;
|
|
2484
|
-
box-sizing: border-box;
|
|
2485
|
-
list-style: none;
|
|
2486
|
-
overflow: hidden;
|
|
2487
|
-
`;
|
|
2488
|
-
var StyledLi2 = import_styled_components20.default.li`
|
|
2489
|
-
display: block;
|
|
2490
|
-
`;
|
|
1504
|
+
var TextSpan = import_styled_components20.default.span.withConfig({
|
|
1505
|
+
componentId: "ccl__sc-1ubjfz7-0"
|
|
1506
|
+
})(["display:block;color:var(--charcoal-text3);font-size:12px;font-weight:bold;padding:12px 0 8px 16px;"]);
|
|
1507
|
+
var StyledUl2 = import_styled_components20.default.ul.withConfig({
|
|
1508
|
+
componentId: "ccl__sc-1ubjfz7-1"
|
|
1509
|
+
})(["padding-left:0;margin:0;box-sizing:border-box;list-style:none;overflow:hidden;"]);
|
|
1510
|
+
var StyledLi2 = import_styled_components20.default.li.withConfig({
|
|
1511
|
+
componentId: "ccl__sc-1ubjfz7-2"
|
|
1512
|
+
})(["display:block;"]);
|
|
2491
1513
|
|
|
2492
1514
|
// src/components/SegmentedControl/index.tsx
|
|
2493
1515
|
var import_react27 = require("react");
|
|
@@ -2521,7 +1543,13 @@ var $e5be200c675c3b3a$export$571b5131b7e65c11 = (0, import_react23.createContext
|
|
|
2521
1543
|
var $e5be200c675c3b3a$export$a763b9476acd3eb = "__formValidationState" + Date.now();
|
|
2522
1544
|
function $e5be200c675c3b3a$export$fc1a364ae1f3ff10(props) {
|
|
2523
1545
|
if (props[$e5be200c675c3b3a$export$a763b9476acd3eb]) {
|
|
2524
|
-
let {
|
|
1546
|
+
let {
|
|
1547
|
+
realtimeValidation,
|
|
1548
|
+
displayValidation,
|
|
1549
|
+
updateValidation,
|
|
1550
|
+
resetValidation,
|
|
1551
|
+
commitValidation
|
|
1552
|
+
} = props[$e5be200c675c3b3a$export$a763b9476acd3eb];
|
|
2525
1553
|
return {
|
|
2526
1554
|
realtimeValidation,
|
|
2527
1555
|
displayValidation,
|
|
@@ -2533,7 +1561,15 @@ function $e5be200c675c3b3a$export$fc1a364ae1f3ff10(props) {
|
|
|
2533
1561
|
return $e5be200c675c3b3a$var$useFormValidationStateImpl(props);
|
|
2534
1562
|
}
|
|
2535
1563
|
function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
|
|
2536
|
-
let {
|
|
1564
|
+
let {
|
|
1565
|
+
isInvalid,
|
|
1566
|
+
validationState,
|
|
1567
|
+
name,
|
|
1568
|
+
value,
|
|
1569
|
+
builtinValidation,
|
|
1570
|
+
validate,
|
|
1571
|
+
validationBehavior = "aria"
|
|
1572
|
+
} = props;
|
|
2537
1573
|
if (validationState)
|
|
2538
1574
|
isInvalid || (isInvalid = validationState === "invalid");
|
|
2539
1575
|
let controlledError = isInvalid ? {
|
|
@@ -2541,10 +1577,7 @@ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
|
|
|
2541
1577
|
validationErrors: [],
|
|
2542
1578
|
validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
|
|
2543
1579
|
} : null;
|
|
2544
|
-
let clientError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult($e5be200c675c3b3a$var$runValidate(validate, value)), [
|
|
2545
|
-
validate,
|
|
2546
|
-
value
|
|
2547
|
-
]);
|
|
1580
|
+
let clientError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult($e5be200c675c3b3a$var$runValidate(validate, value)), [validate, value]);
|
|
2548
1581
|
if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid)
|
|
2549
1582
|
builtinValidation = null;
|
|
2550
1583
|
let serverErrors = (0, import_react23.useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);
|
|
@@ -2552,20 +1585,14 @@ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
|
|
|
2552
1585
|
if (name)
|
|
2553
1586
|
return Array.isArray(name) ? name.flatMap((name2) => $e5be200c675c3b3a$var$asArray(serverErrors[name2])) : $e5be200c675c3b3a$var$asArray(serverErrors[name]);
|
|
2554
1587
|
return [];
|
|
2555
|
-
}, [
|
|
2556
|
-
serverErrors,
|
|
2557
|
-
name
|
|
2558
|
-
]);
|
|
1588
|
+
}, [serverErrors, name]);
|
|
2559
1589
|
let [lastServerErrors, setLastServerErrors] = (0, import_react23.useState)(serverErrors);
|
|
2560
1590
|
let [isServerErrorCleared, setServerErrorCleared] = (0, import_react23.useState)(false);
|
|
2561
1591
|
if (serverErrors !== lastServerErrors) {
|
|
2562
1592
|
setLastServerErrors(serverErrors);
|
|
2563
1593
|
setServerErrorCleared(false);
|
|
2564
1594
|
}
|
|
2565
|
-
let serverError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [
|
|
2566
|
-
isServerErrorCleared,
|
|
2567
|
-
serverErrorMessages
|
|
2568
|
-
]);
|
|
1595
|
+
let serverError = (0, import_react23.useMemo)(() => $e5be200c675c3b3a$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [isServerErrorCleared, serverErrorMessages]);
|
|
2569
1596
|
let nextValidation = (0, import_react23.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
2570
1597
|
let [currentValidity, setCurrentValidity] = (0, import_react23.useState)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
2571
1598
|
let lastError = (0, import_react23.useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);
|
|
@@ -2612,9 +1639,7 @@ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
|
|
|
2612
1639
|
function $e5be200c675c3b3a$var$asArray(v) {
|
|
2613
1640
|
if (!v)
|
|
2614
1641
|
return [];
|
|
2615
|
-
return Array.isArray(v) ? v : [
|
|
2616
|
-
v
|
|
2617
|
-
];
|
|
1642
|
+
return Array.isArray(v) ? v : [v];
|
|
2618
1643
|
}
|
|
2619
1644
|
function $e5be200c675c3b3a$var$runValidate(validate, value) {
|
|
2620
1645
|
if (typeof validate === "function") {
|
|
@@ -2648,9 +1673,7 @@ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange
|
|
|
2648
1673
|
if (wasControlled !== isControlled)
|
|
2649
1674
|
console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`);
|
|
2650
1675
|
isControlledRef.current = isControlled;
|
|
2651
|
-
}, [
|
|
2652
|
-
isControlled
|
|
2653
|
-
]);
|
|
1676
|
+
}, [isControlled]);
|
|
2654
1677
|
let currentValue = isControlled ? value : stateValue;
|
|
2655
1678
|
let setValue = (0, import_react24.useCallback)((value2, ...args) => {
|
|
2656
1679
|
let onChangeCaller = (value3, ...onChangeArgs) => {
|
|
@@ -2676,15 +1699,8 @@ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange
|
|
|
2676
1699
|
setStateValue(value2);
|
|
2677
1700
|
onChangeCaller(value2, ...args);
|
|
2678
1701
|
}
|
|
2679
|
-
}, [
|
|
2680
|
-
|
|
2681
|
-
currentValue,
|
|
2682
|
-
onChange
|
|
2683
|
-
]);
|
|
2684
|
-
return [
|
|
2685
|
-
currentValue,
|
|
2686
|
-
setValue
|
|
2687
|
-
];
|
|
1702
|
+
}, [isControlled, currentValue, onChange]);
|
|
1703
|
+
return [currentValue, setValue];
|
|
2688
1704
|
}
|
|
2689
1705
|
|
|
2690
1706
|
// ../../node_modules/@react-stately/radio/dist/import.mjs
|
|
@@ -2692,9 +1708,7 @@ var import_react25 = require("react");
|
|
|
2692
1708
|
var $a54cdc5c1942b639$var$instance = Math.round(Math.random() * 1e10);
|
|
2693
1709
|
var $a54cdc5c1942b639$var$i = 0;
|
|
2694
1710
|
function $a54cdc5c1942b639$export$bca9d026f8e704eb(props) {
|
|
2695
|
-
let name = (0, import_react25.useMemo)(() => props.name || `radio-group-${$a54cdc5c1942b639$var$instance}-${++$a54cdc5c1942b639$var$i}`, [
|
|
2696
|
-
props.name
|
|
2697
|
-
]);
|
|
1711
|
+
let name = (0, import_react25.useMemo)(() => props.name || `radio-group-${$a54cdc5c1942b639$var$instance}-${++$a54cdc5c1942b639$var$i}`, [props.name]);
|
|
2698
1712
|
var _props_defaultValue;
|
|
2699
1713
|
let [selectedValue, setSelected] = (0, $458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, (_props_defaultValue = props.defaultValue) !== null && _props_defaultValue !== void 0 ? _props_defaultValue : null, props.onChange);
|
|
2700
1714
|
let [lastFocusedValue, setLastFocusedValue] = (0, import_react25.useState)(null);
|
|
@@ -2747,470 +1761,222 @@ var useRadioContext = () => {
|
|
|
2747
1761
|
|
|
2748
1762
|
// src/components/SegmentedControl/index.tsx
|
|
2749
1763
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2750
|
-
var SegmentedControl = (0, import_react27.forwardRef)(
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
SegmentedControlRoot,
|
|
2771
|
-
{
|
|
2772
|
-
ref,
|
|
2773
|
-
...radioGroupProps,
|
|
2774
|
-
className: props.className,
|
|
2775
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2776
|
-
Segmented,
|
|
2777
|
-
{
|
|
2778
|
-
value: item.value,
|
|
2779
|
-
disabled: item.disabled,
|
|
2780
|
-
children: item.label
|
|
2781
|
-
},
|
|
2782
|
-
item.value
|
|
2783
|
-
)) })
|
|
2784
|
-
}
|
|
2785
|
-
);
|
|
2786
|
-
}
|
|
2787
|
-
);
|
|
1764
|
+
var SegmentedControl = (0, import_react27.forwardRef)(function SegmentedControlInner(props, ref) {
|
|
1765
|
+
const ariaRadioGroupProps = (0, import_react27.useMemo)(() => ({
|
|
1766
|
+
...props,
|
|
1767
|
+
isDisabled: props.disabled,
|
|
1768
|
+
isReadOnly: props.readonly,
|
|
1769
|
+
isRequired: props.required,
|
|
1770
|
+
"aria-label": props.name
|
|
1771
|
+
}), [props]);
|
|
1772
|
+
const state = $a54cdc5c1942b639$export$bca9d026f8e704eb(ariaRadioGroupProps);
|
|
1773
|
+
const {
|
|
1774
|
+
radioGroupProps
|
|
1775
|
+
} = (0, import_radio2.useRadioGroup)(ariaRadioGroupProps, state);
|
|
1776
|
+
const segmentedControlItems = (0, import_react27.useMemo)(() => {
|
|
1777
|
+
return props.data.map((d) => typeof d === "string" ? {
|
|
1778
|
+
value: d,
|
|
1779
|
+
label: d
|
|
1780
|
+
} : d);
|
|
1781
|
+
}, [props.data]);
|
|
1782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedControlRoot, { ref, ...radioGroupProps, className: props.className, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Segmented, { value: item.value, disabled: item.disabled, children: item.label }, item.value)) }) });
|
|
1783
|
+
});
|
|
2788
1784
|
var SegmentedControl_default = (0, import_react27.memo)(SegmentedControl);
|
|
2789
1785
|
var Segmented = (props) => {
|
|
2790
1786
|
const state = useRadioContext();
|
|
2791
1787
|
const ref = (0, import_react27.useRef)(null);
|
|
2792
|
-
const ariaRadioProps = (0, import_react27.useMemo)(
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
ref
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
SegmentedRoot,
|
|
2807
|
-
{
|
|
2808
|
-
"aria-disabled": isDisabled || state.isReadOnly,
|
|
2809
|
-
checked: isSelected,
|
|
2810
|
-
children: [
|
|
2811
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedInput, { ...inputProps, ref }),
|
|
2812
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioLabel2, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedLabelInner, { children: props.children }) })
|
|
2813
|
-
]
|
|
2814
|
-
}
|
|
2815
|
-
);
|
|
1788
|
+
const ariaRadioProps = (0, import_react27.useMemo)(() => ({
|
|
1789
|
+
value: props.value,
|
|
1790
|
+
isDisabled: props.disabled,
|
|
1791
|
+
children: props.children
|
|
1792
|
+
}), [props]);
|
|
1793
|
+
const {
|
|
1794
|
+
inputProps,
|
|
1795
|
+
isDisabled,
|
|
1796
|
+
isSelected
|
|
1797
|
+
} = (0, import_radio2.useRadio)(ariaRadioProps, state, ref);
|
|
1798
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(SegmentedRoot, { "aria-disabled": isDisabled || state.isReadOnly, checked: isSelected, children: [
|
|
1799
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedInput, { ...inputProps, ref }),
|
|
1800
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioLabel2, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedLabelInner, { children: props.children }) })
|
|
1801
|
+
] });
|
|
2816
1802
|
};
|
|
2817
|
-
var SegmentedControlRoot = import_styled_components21.default.div
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
&:disabled,
|
|
2835
|
-
&[aria-disabled]:not([aria-disabled='false']) {
|
|
2836
|
-
cursor: default;
|
|
2837
|
-
opacity: 0.32;
|
|
2838
|
-
}
|
|
2839
|
-
color: var(--charcoal-text2);
|
|
2840
|
-
|
|
2841
|
-
${({ checked = false }) => checked && import_styled_components21.css`
|
|
2842
|
-
background-color: var(--charcoal-brand);
|
|
2843
|
-
color: var(--charcoal-text5);
|
|
2844
|
-
`}
|
|
2845
|
-
`;
|
|
2846
|
-
var SegmentedInput = import_styled_components21.default.input`
|
|
2847
|
-
position: absolute;
|
|
2848
|
-
|
|
2849
|
-
height: 0px;
|
|
2850
|
-
width: 0px;
|
|
2851
|
-
padding: 0;
|
|
2852
|
-
margin: 0;
|
|
2853
|
-
|
|
2854
|
-
appearance: none;
|
|
2855
|
-
box-sizing: border-box;
|
|
2856
|
-
overflow: hidden;
|
|
2857
|
-
white-space: nowrap;
|
|
2858
|
-
opacity: 0;
|
|
2859
|
-
`;
|
|
2860
|
-
var RadioLabel2 = import_styled_components21.default.div`
|
|
2861
|
-
background: transparent;
|
|
2862
|
-
display: flex;
|
|
2863
|
-
align-items: center;
|
|
2864
|
-
height: 22px;
|
|
2865
|
-
`;
|
|
2866
|
-
var SegmentedLabelInner = import_styled_components21.default.div`
|
|
2867
|
-
font-size: 14px;
|
|
2868
|
-
line-height: 22px;
|
|
2869
|
-
display: flow-root;
|
|
2870
|
-
|
|
2871
|
-
&::before {
|
|
2872
|
-
display: block;
|
|
2873
|
-
width: 0;
|
|
2874
|
-
height: 0;
|
|
2875
|
-
content: '';
|
|
2876
|
-
margin-top: -4px;
|
|
2877
|
-
}
|
|
2878
|
-
&::after {
|
|
2879
|
-
display: block;
|
|
2880
|
-
width: 0;
|
|
2881
|
-
height: 0;
|
|
2882
|
-
content: '';
|
|
2883
|
-
margin-bottom: -4px;
|
|
2884
|
-
}
|
|
2885
|
-
`;
|
|
1803
|
+
var SegmentedControlRoot = import_styled_components21.default.div.withConfig({
|
|
1804
|
+
componentId: "ccl__sc-1xmkkqt-0"
|
|
1805
|
+
})(["display:inline-flex;align-items:center;background-color:var(--charcoal-surface3);border-radius:16px;"]);
|
|
1806
|
+
var SegmentedRoot = import_styled_components21.default.label.withConfig({
|
|
1807
|
+
componentId: "ccl__sc-1xmkkqt-1"
|
|
1808
|
+
})(["position:relative;display:flex;align-items:center;cursor:pointer;height:32px;padding-right:16px;padding-left:16px;border-radius:16px;&:disabled,&[aria-disabled]:not([aria-disabled='false']){cursor:default;opacity:0.32;}color:var(--charcoal-text2);", ""], ({
|
|
1809
|
+
checked = false
|
|
1810
|
+
}) => checked && (0, import_styled_components21.css)(["background-color:var(--charcoal-brand);color:var(--charcoal-text5);"]));
|
|
1811
|
+
var SegmentedInput = import_styled_components21.default.input.withConfig({
|
|
1812
|
+
componentId: "ccl__sc-1xmkkqt-2"
|
|
1813
|
+
})(["position:absolute;height:0px;width:0px;padding:0;margin:0;appearance:none;box-sizing:border-box;overflow:hidden;white-space:nowrap;opacity:0;"]);
|
|
1814
|
+
var RadioLabel2 = import_styled_components21.default.div.withConfig({
|
|
1815
|
+
componentId: "ccl__sc-1xmkkqt-3"
|
|
1816
|
+
})(["background:transparent;display:flex;align-items:center;height:22px;"]);
|
|
1817
|
+
var SegmentedLabelInner = import_styled_components21.default.div.withConfig({
|
|
1818
|
+
componentId: "ccl__sc-1xmkkqt-4"
|
|
1819
|
+
})(["font-size:14px;line-height:22px;display:flow-root;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
2886
1820
|
|
|
2887
1821
|
// src/components/Checkbox/index.tsx
|
|
2888
1822
|
var import_react28 = require("react");
|
|
2889
1823
|
var import_styled_components22 = __toESM(require("styled-components"));
|
|
2890
1824
|
var import_checkbox = require("@react-aria/checkbox");
|
|
2891
|
-
var
|
|
1825
|
+
var import_utils12 = require("@react-aria/utils");
|
|
2892
1826
|
var import_react_stately2 = require("react-stately");
|
|
2893
|
-
var
|
|
1827
|
+
var import_styled9 = require("@charcoal-ui/styled");
|
|
2894
1828
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2895
|
-
var Checkbox = (0, import_react28.forwardRef)(
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
}
|
|
2921
|
-
);
|
|
1829
|
+
var Checkbox = (0, import_react28.forwardRef)(function CheckboxInner({
|
|
1830
|
+
invalid = false,
|
|
1831
|
+
...props
|
|
1832
|
+
}, ref) {
|
|
1833
|
+
const ariaCheckboxProps = (0, import_react28.useMemo)(() => ({
|
|
1834
|
+
...props,
|
|
1835
|
+
isInValid: invalid,
|
|
1836
|
+
isSelected: props.checked,
|
|
1837
|
+
defaultSelected: props.defaultChecked,
|
|
1838
|
+
validationState: invalid ? "invalid" : "valid",
|
|
1839
|
+
"aria-label": "children" in props ? void 0 : props.label,
|
|
1840
|
+
isDisabled: props.disabled
|
|
1841
|
+
}), [invalid, props]);
|
|
1842
|
+
const state = (0, import_react_stately2.useToggleState)(ariaCheckboxProps);
|
|
1843
|
+
const objectRef = (0, import_utils12.useObjectRef)(ref);
|
|
1844
|
+
const {
|
|
1845
|
+
inputProps
|
|
1846
|
+
} = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
|
|
1847
|
+
const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
|
|
1848
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
|
|
1849
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(CheckboxRoot, { children: [
|
|
1850
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps, readOnly: props.readonly }),
|
|
1851
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }) })
|
|
1852
|
+
] }),
|
|
1853
|
+
"children" in props && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InputLabel, { children: props.children })
|
|
1854
|
+
] });
|
|
1855
|
+
});
|
|
2922
1856
|
var Checkbox_default = (0, import_react28.memo)(Checkbox);
|
|
2923
|
-
var hiddenCss = import_styled_components22.css
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
var CheckboxRoot = import_styled_components22.default.div`
|
|
2942
|
-
position: relative;
|
|
2943
|
-
`;
|
|
2944
|
-
var CheckboxInput = import_styled_components22.default.input`
|
|
2945
|
-
&[type='checkbox'] {
|
|
2946
|
-
appearance: none;
|
|
2947
|
-
display: block;
|
|
2948
|
-
cursor: pointer;
|
|
2949
|
-
margin: 0;
|
|
2950
|
-
width: 20px;
|
|
2951
|
-
height: 20px;
|
|
2952
|
-
border-radius: 4px;
|
|
2953
|
-
transition: 0.2s box-shadow, 0.2s background-color;
|
|
2954
|
-
|
|
2955
|
-
&:checked {
|
|
2956
|
-
background-color: var(--charcoal-brand);
|
|
2957
|
-
|
|
2958
|
-
&:not(:disabled):not([aria-disabled]),
|
|
2959
|
-
&[aria-disabled='false'] {
|
|
2960
|
-
&:hover {
|
|
2961
|
-
background-color: var(--charcoal-brand-hover);
|
|
2962
|
-
}
|
|
2963
|
-
&:active {
|
|
2964
|
-
background-color: var(--charcoal-brand-press);
|
|
2965
|
-
}
|
|
2966
|
-
}
|
|
2967
|
-
}
|
|
2968
|
-
|
|
2969
|
-
&:not(:disabled):not([aria-disabled]),
|
|
2970
|
-
&[aria-disabled='false'] {
|
|
2971
|
-
&:focus,
|
|
2972
|
-
&:active {
|
|
2973
|
-
outline: none;
|
|
2974
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
2975
|
-
&:not(:focus-visible) {
|
|
2976
|
-
outline: none;
|
|
2977
|
-
}
|
|
2978
|
-
}
|
|
2979
|
-
&:focus-visible {
|
|
2980
|
-
outline: none;
|
|
2981
|
-
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
2982
|
-
}
|
|
2983
|
-
&[aria-invalid='true'] {
|
|
2984
|
-
box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
|
|
2985
|
-
}
|
|
2986
|
-
}
|
|
2987
|
-
|
|
2988
|
-
&:not(:checked) {
|
|
2989
|
-
border-width: 2px;
|
|
2990
|
-
border-style: solid;
|
|
2991
|
-
border-color: var(--charcoal-text4);
|
|
2992
|
-
}
|
|
2993
|
-
}
|
|
2994
|
-
`;
|
|
2995
|
-
var CheckboxInputOverlay = import_styled_components22.default.div`
|
|
2996
|
-
position: absolute;
|
|
2997
|
-
top: -2px;
|
|
2998
|
-
left: -2px;
|
|
2999
|
-
box-sizing: border-box;
|
|
3000
|
-
display: flex;
|
|
3001
|
-
align-items: center;
|
|
3002
|
-
justify-content: center;
|
|
3003
|
-
width: 24px;
|
|
3004
|
-
height: 24px;
|
|
3005
|
-
color: var(--charcoal-text5);
|
|
3006
|
-
|
|
3007
|
-
${({ checked }) => checked !== true && hiddenCss};
|
|
3008
|
-
`;
|
|
3009
|
-
var InputLabel = import_styled_components22.default.div`
|
|
3010
|
-
color: var(--charcoal-text2);
|
|
3011
|
-
font-size: 14px;
|
|
3012
|
-
/** checkbox の height が 20px なのでcheckbox と text が揃っているように見せるために行ボックスの高さを 20px にしている */
|
|
3013
|
-
line-height: 20px;
|
|
3014
|
-
`;
|
|
1857
|
+
var hiddenCss = (0, import_styled_components22.css)(["visibility:hidden;"]);
|
|
1858
|
+
var InputRoot = import_styled_components22.default.label.withConfig({
|
|
1859
|
+
componentId: "ccl__sc-wrdmwj-0"
|
|
1860
|
+
})(["position:relative;display:flex;cursor:pointer;gap:4px;&:disabled,&[aria-disabled]:not([aria-disabled='false']){cursor:default;opacity:0.32;}"]);
|
|
1861
|
+
var CheckboxRoot = import_styled_components22.default.div.withConfig({
|
|
1862
|
+
componentId: "ccl__sc-wrdmwj-1"
|
|
1863
|
+
})(["position:relative;"]);
|
|
1864
|
+
var CheckboxInput = import_styled_components22.default.input.withConfig({
|
|
1865
|
+
componentId: "ccl__sc-wrdmwj-2"
|
|
1866
|
+
})(["&[type='checkbox']{appearance:none;display:block;cursor:pointer;margin:0;width:20px;height:20px;border-radius:4px;transition:0.2s box-shadow,0.2s background-color;&:disabled{cursor:default;}&:read-only{cursor:default;}&:checked{background-color:var(--charcoal-brand);&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{&:hover{background-color:var(--charcoal-brand-hover);}&:active{background-color:var(--charcoal-brand-press);}}}&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", " &[aria-invalid='true']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}}&:not(:checked){border-width:2px;border-style:solid;border-color:var(--charcoal-text4);}}"], import_styled9.focusVisibleFocusRingCss);
|
|
1867
|
+
var CheckboxInputOverlay = import_styled_components22.default.div.withConfig({
|
|
1868
|
+
componentId: "ccl__sc-wrdmwj-3"
|
|
1869
|
+
})(["position:absolute;top:-2px;left:-2px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--charcoal-text5);", ";"], ({
|
|
1870
|
+
checked
|
|
1871
|
+
}) => checked !== true && hiddenCss);
|
|
1872
|
+
var InputLabel = import_styled_components22.default.div.withConfig({
|
|
1873
|
+
componentId: "ccl__sc-wrdmwj-4"
|
|
1874
|
+
})(["color:var(--charcoal-text2);font-size:14px;line-height:20px;"]);
|
|
3015
1875
|
|
|
3016
1876
|
// src/components/TagItem/index.tsx
|
|
3017
1877
|
var import_react29 = require("react");
|
|
3018
|
-
var
|
|
1878
|
+
var import_utils13 = require("@react-aria/utils");
|
|
3019
1879
|
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3020
|
-
var
|
|
1880
|
+
var import_utils14 = require("@charcoal-ui/utils");
|
|
3021
1881
|
var import_button = require("@react-aria/button");
|
|
1882
|
+
var import_styled10 = require("@charcoal-ui/styled");
|
|
3022
1883
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
3023
1884
|
var sizeMap = {
|
|
3024
1885
|
S: 32,
|
|
3025
1886
|
M: 40
|
|
3026
1887
|
};
|
|
3027
|
-
var TagItem = (0, import_react29.forwardRef)(
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
1888
|
+
var TagItem = (0, import_react29.forwardRef)(function TagItemInner({
|
|
1889
|
+
label,
|
|
1890
|
+
translatedLabel,
|
|
1891
|
+
bgColor = "#7ACCB1",
|
|
1892
|
+
bgImage,
|
|
1893
|
+
size = "M",
|
|
1894
|
+
disabled,
|
|
1895
|
+
status = "default",
|
|
1896
|
+
className,
|
|
1897
|
+
...props
|
|
1898
|
+
}, _ref) {
|
|
1899
|
+
const ref = (0, import_utils13.useObjectRef)(_ref);
|
|
1900
|
+
const ariaButtonProps = (0, import_react29.useMemo)(() => ({
|
|
1901
|
+
elementType: "a",
|
|
1902
|
+
isDisabled: disabled,
|
|
3037
1903
|
...props
|
|
3038
|
-
},
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
size: hasTranslatedLabel ? "M" : size,
|
|
3055
|
-
status,
|
|
3056
|
-
...buttonProps,
|
|
3057
|
-
className,
|
|
3058
|
-
children: [
|
|
3059
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Background, { bgColor, bgImage, status }),
|
|
3060
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Inner, { children: [
|
|
3061
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(LabelWrapper, { isTranslate: hasTranslatedLabel, children: [
|
|
3062
|
-
hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TranslatedLabel, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: translatedLabel }) }),
|
|
3063
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: label })
|
|
3064
|
-
] }),
|
|
3065
|
-
status === "active" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon_default, { name: "16/Remove" })
|
|
3066
|
-
] })
|
|
3067
|
-
]
|
|
3068
|
-
}
|
|
3069
|
-
);
|
|
3070
|
-
}
|
|
3071
|
-
);
|
|
1904
|
+
}), [disabled, props]);
|
|
1905
|
+
const {
|
|
1906
|
+
buttonProps
|
|
1907
|
+
} = (0, import_button.useButton)(ariaButtonProps, ref);
|
|
1908
|
+
const hasTranslatedLabel = translatedLabel !== void 0 && translatedLabel.length > 0;
|
|
1909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(TagItemRoot, { ref, size: hasTranslatedLabel ? "M" : size, status, ...buttonProps, className, children: [
|
|
1910
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Background, { bgColor, bgImage, status }),
|
|
1911
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Inner, { children: [
|
|
1912
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(LabelWrapper, { isTranslate: hasTranslatedLabel, children: [
|
|
1913
|
+
hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TranslatedLabel, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: translatedLabel }) }),
|
|
1914
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: label })
|
|
1915
|
+
] }),
|
|
1916
|
+
status === "active" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon_default, { name: "16/Remove" })
|
|
1917
|
+
] })
|
|
1918
|
+
] });
|
|
1919
|
+
});
|
|
3072
1920
|
var TagItem_default = (0, import_react29.memo)(TagItem);
|
|
3073
|
-
var horizontalPadding = ({
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
1921
|
+
var horizontalPadding = ({
|
|
1922
|
+
left,
|
|
1923
|
+
right
|
|
1924
|
+
}) => (0, import_styled_components23.css)(["padding-right:", ";padding-left:", ";"], (0, import_utils14.px)(right), (0, import_utils14.px)(left));
|
|
3077
1925
|
var tagItemRootSize = (size) => {
|
|
3078
1926
|
switch (size) {
|
|
3079
1927
|
case "M":
|
|
3080
|
-
return horizontalPadding({
|
|
1928
|
+
return horizontalPadding({
|
|
1929
|
+
left: 24,
|
|
1930
|
+
right: 24
|
|
1931
|
+
});
|
|
3081
1932
|
case "S":
|
|
3082
|
-
return horizontalPadding({
|
|
1933
|
+
return horizontalPadding({
|
|
1934
|
+
left: 16,
|
|
1935
|
+
right: 16
|
|
1936
|
+
});
|
|
3083
1937
|
}
|
|
3084
1938
|
};
|
|
3085
|
-
var activeTagItemRoot = horizontalPadding({
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
background-color: ${({ bgColor }) => bgColor};
|
|
3128
|
-
${({ status }) => status === "inactive" && import_styled_components23.css`
|
|
3129
|
-
background-color: var(--charcoal-surface3);
|
|
3130
|
-
`}
|
|
3131
|
-
|
|
3132
|
-
${({ bgImage }) => bgImage !== void 0 && import_styled_components23.css`
|
|
3133
|
-
background-color: var(--charcoal-surface4);
|
|
3134
|
-
|
|
3135
|
-
&::before {
|
|
3136
|
-
content: '';
|
|
3137
|
-
position: absolute;
|
|
3138
|
-
top: 0;
|
|
3139
|
-
left: 0;
|
|
3140
|
-
width: 100%;
|
|
3141
|
-
height: 100%;
|
|
3142
|
-
background-position: center;
|
|
3143
|
-
background-size: cover;
|
|
3144
|
-
background-image: url(${bgImage});
|
|
3145
|
-
mix-blend-mode: overlay;
|
|
3146
|
-
}
|
|
3147
|
-
`}
|
|
3148
|
-
`;
|
|
3149
|
-
var Inner = import_styled_components23.default.div`
|
|
3150
|
-
display: inline-flex;
|
|
3151
|
-
gap: 8px;
|
|
3152
|
-
align-items: center;
|
|
3153
|
-
z-index: 2;
|
|
3154
|
-
`;
|
|
3155
|
-
var labelCSS = import_styled_components23.css`
|
|
3156
|
-
font-size: 14px;
|
|
3157
|
-
line-height: 22px;
|
|
3158
|
-
font-weight: bold;
|
|
3159
|
-
display: flow-root;
|
|
3160
|
-
|
|
3161
|
-
&::before {
|
|
3162
|
-
display: block;
|
|
3163
|
-
width: 0;
|
|
3164
|
-
height: 0;
|
|
3165
|
-
content: '';
|
|
3166
|
-
margin-top: -4px;
|
|
3167
|
-
}
|
|
3168
|
-
&::after {
|
|
3169
|
-
display: block;
|
|
3170
|
-
width: 0;
|
|
3171
|
-
height: 0;
|
|
3172
|
-
content: '';
|
|
3173
|
-
margin-bottom: -4px;
|
|
3174
|
-
}
|
|
3175
|
-
`;
|
|
3176
|
-
var translateLabelCSS = import_styled_components23.css`
|
|
3177
|
-
display: flex;
|
|
3178
|
-
align-items: center;
|
|
3179
|
-
flex-direction: column;
|
|
3180
|
-
font-size: 10px;
|
|
3181
|
-
`;
|
|
3182
|
-
var LabelWrapper = import_styled_components23.default.div`
|
|
3183
|
-
${({ isTranslate }) => isTranslate ?? false ? translateLabelCSS : labelCSS}
|
|
3184
|
-
`;
|
|
3185
|
-
var Label3 = import_styled_components23.default.span`
|
|
3186
|
-
max-width: 152px;
|
|
3187
|
-
overflow: hidden;
|
|
3188
|
-
text-overflow: ellipsis;
|
|
3189
|
-
white-space: nowrap;
|
|
3190
|
-
font-size: inherit;
|
|
3191
|
-
color: inherit;
|
|
3192
|
-
line-height: inherit;
|
|
3193
|
-
`;
|
|
3194
|
-
var TranslatedLabel = import_styled_components23.default.div`
|
|
3195
|
-
font-size: 12px;
|
|
3196
|
-
line-height: 20px;
|
|
3197
|
-
font-weight: bold;
|
|
3198
|
-
display: flow-root;
|
|
3199
|
-
&::before {
|
|
3200
|
-
display: block;
|
|
3201
|
-
width: 0;
|
|
3202
|
-
height: 0;
|
|
3203
|
-
content: '';
|
|
3204
|
-
margin-top: -4px;
|
|
3205
|
-
}
|
|
3206
|
-
&::after {
|
|
3207
|
-
display: block;
|
|
3208
|
-
width: 0;
|
|
3209
|
-
height: 0;
|
|
3210
|
-
content: '';
|
|
3211
|
-
margin-bottom: -4px;
|
|
3212
|
-
}
|
|
3213
|
-
`;
|
|
1939
|
+
var activeTagItemRoot = horizontalPadding({
|
|
1940
|
+
left: 16,
|
|
1941
|
+
right: 8
|
|
1942
|
+
});
|
|
1943
|
+
var TagItemRoot = import_styled_components23.default.a.withConfig({
|
|
1944
|
+
componentId: "ccl__sc-11j9pu2-0"
|
|
1945
|
+
})(["isolation:isolate;position:relative;height:", "px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;overflow:hidden;border-radius:4px;", " ", " color:", ";transition:0.2s box-shadow;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", "}&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}"], ({
|
|
1946
|
+
size
|
|
1947
|
+
}) => sizeMap[size], ({
|
|
1948
|
+
size,
|
|
1949
|
+
status
|
|
1950
|
+
}) => status !== "active" && tagItemRootSize(size), ({
|
|
1951
|
+
status
|
|
1952
|
+
}) => status === "active" && activeTagItemRoot, ({
|
|
1953
|
+
status
|
|
1954
|
+
}) => status === "inactive" ? "var(--charcoal-text2)" : "var(--charcoal-text5)", import_styled10.focusVisibleFocusRingCss);
|
|
1955
|
+
var Background = import_styled_components23.default.div.withConfig({
|
|
1956
|
+
componentId: "ccl__sc-11j9pu2-1"
|
|
1957
|
+
})(["position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background-color:", ";", " ", ""], ({
|
|
1958
|
+
bgColor
|
|
1959
|
+
}) => bgColor, ({
|
|
1960
|
+
status
|
|
1961
|
+
}) => status === "inactive" && (0, import_styled_components23.css)(["background-color:var(--charcoal-surface3);"]), ({
|
|
1962
|
+
bgImage
|
|
1963
|
+
}) => bgImage !== void 0 && (0, import_styled_components23.css)(["background-color:var(--charcoal-surface4);&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-position:center;background-size:cover;background-image:url(", ");mix-blend-mode:overlay;}"], bgImage));
|
|
1964
|
+
var Inner = import_styled_components23.default.div.withConfig({
|
|
1965
|
+
componentId: "ccl__sc-11j9pu2-2"
|
|
1966
|
+
})(["display:inline-flex;gap:8px;align-items:center;z-index:2;"]);
|
|
1967
|
+
var labelCSS = (0, import_styled_components23.css)(["font-size:14px;line-height:22px;font-weight:bold;display:flow-root;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
1968
|
+
var translateLabelCSS = (0, import_styled_components23.css)(["display:flex;align-items:center;flex-direction:column;font-size:10px;"]);
|
|
1969
|
+
var LabelWrapper = import_styled_components23.default.div.withConfig({
|
|
1970
|
+
componentId: "ccl__sc-11j9pu2-3"
|
|
1971
|
+
})(["", ""], ({
|
|
1972
|
+
isTranslate
|
|
1973
|
+
}) => isTranslate ?? false ? translateLabelCSS : labelCSS);
|
|
1974
|
+
var Label3 = import_styled_components23.default.span.withConfig({
|
|
1975
|
+
componentId: "ccl__sc-11j9pu2-4"
|
|
1976
|
+
})(["max-width:152px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;color:inherit;line-height:inherit;"]);
|
|
1977
|
+
var TranslatedLabel = import_styled_components23.default.div.withConfig({
|
|
1978
|
+
componentId: "ccl__sc-11j9pu2-5"
|
|
1979
|
+
})(["font-size:12px;line-height:20px;font-weight:bold;display:flow-root;&::before{display:block;width:0;height:0;content:'';margin-top:-4px;}&::after{display:block;width:0;height:0;content:'';margin-bottom:-4px;}"]);
|
|
3214
1980
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3215
1981
|
0 && (module.exports = {
|
|
3216
1982
|
Button,
|