@wistia/ui 0.5.5 → 0.5.6-beta.425fd28d.df46600
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +996 -687
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +114 -73
- package/dist/index.d.ts +114 -73
- package/dist/index.mjs +938 -632
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.5.
|
|
3
|
+
* @license @wistia/ui v0.5.6-beta.425fd28d.df46600
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -51,6 +51,9 @@ __export(index_exports, {
|
|
|
51
51
|
Checkbox: () => Checkbox,
|
|
52
52
|
CheckboxGroup: () => CheckboxGroup,
|
|
53
53
|
CheckboxMenuItem: () => CheckboxMenuItem,
|
|
54
|
+
Collapsible: () => Collapsible,
|
|
55
|
+
CollapsibleContent: () => CollapsibleContent,
|
|
56
|
+
CollapsibleTrigger: () => CollapsibleTrigger,
|
|
54
57
|
ColorSchemeWrapper: () => ColorSchemeWrapper,
|
|
55
58
|
DataCard: () => DataCard,
|
|
56
59
|
DataCardTrend: () => DataCardTrend,
|
|
@@ -7181,11 +7184,63 @@ var Checkbox = (0, import_react19.forwardRef)(
|
|
|
7181
7184
|
);
|
|
7182
7185
|
Checkbox.displayName = "Checkbox";
|
|
7183
7186
|
|
|
7184
|
-
// src/components/
|
|
7185
|
-
var
|
|
7187
|
+
// src/components/Collapsible/Collapsible.tsx
|
|
7188
|
+
var import_react_collapsible = require("@radix-ui/react-collapsible");
|
|
7186
7189
|
var import_type_guards21 = require("@wistia/type-guards");
|
|
7190
|
+
var import_styled_components34 = __toESM(require("styled-components"));
|
|
7187
7191
|
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
7188
|
-
var
|
|
7192
|
+
var StyledRoot = (0, import_styled_components34.default)(import_react_collapsible.Root)`
|
|
7193
|
+
&[data-state='closed'] [data-wui-collapsible-content] {
|
|
7194
|
+
display: -webkit-box;
|
|
7195
|
+
-webkit-box-orient: vertical;
|
|
7196
|
+
-webkit-line-clamp: var(--wui-collapsible-content-clamp-lines);
|
|
7197
|
+
overflow: hidden;
|
|
7198
|
+
}
|
|
7199
|
+
`;
|
|
7200
|
+
var Collapsible = ({
|
|
7201
|
+
children,
|
|
7202
|
+
isOpen = false,
|
|
7203
|
+
onOpenChange
|
|
7204
|
+
}) => {
|
|
7205
|
+
const controlProps = {
|
|
7206
|
+
...(0, import_type_guards21.isNotNil)(onOpenChange) && (0, import_type_guards21.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
7207
|
+
};
|
|
7208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledRoot, { ...controlProps, children });
|
|
7209
|
+
};
|
|
7210
|
+
Collapsible.displayName = "Collapsible";
|
|
7211
|
+
|
|
7212
|
+
// src/components/Collapsible/CollapsibleTrigger.tsx
|
|
7213
|
+
var import_react20 = require("react");
|
|
7214
|
+
var import_react_collapsible2 = require("@radix-ui/react-collapsible");
|
|
7215
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
7216
|
+
var CollapsibleTrigger = ({ children }) => {
|
|
7217
|
+
import_react20.Children.only(children);
|
|
7218
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
|
|
7219
|
+
};
|
|
7220
|
+
|
|
7221
|
+
// src/components/Collapsible/CollapsibleContent.tsx
|
|
7222
|
+
var import_styled_components35 = __toESM(require("styled-components"));
|
|
7223
|
+
var import_react_collapsible3 = require("@radix-ui/react-collapsible");
|
|
7224
|
+
var import_type_guards22 = require("@wistia/type-guards");
|
|
7225
|
+
var import_jsx_runtime178 = require("react/jsx-runtime");
|
|
7226
|
+
var ClampedContent = import_styled_components35.default.div.attrs({ "data-wui-collapsible-content": true })`
|
|
7227
|
+
--wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
|
|
7228
|
+
`;
|
|
7229
|
+
var CollapsibleContent = ({ clamp, children }) => {
|
|
7230
|
+
if ((0, import_type_guards22.isNotUndefined)(clamp)) {
|
|
7231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(ClampedContent, { $clamp: clamp, children });
|
|
7232
|
+
}
|
|
7233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(import_react_collapsible3.Content, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime178.jsxs)(import_jsx_runtime178.Fragment, { children: [
|
|
7234
|
+
children,
|
|
7235
|
+
" "
|
|
7236
|
+
] }) });
|
|
7237
|
+
};
|
|
7238
|
+
|
|
7239
|
+
// src/components/DataCards/DataCard.tsx
|
|
7240
|
+
var import_styled_components36 = __toESM(require("styled-components"));
|
|
7241
|
+
var import_type_guards23 = require("@wistia/type-guards");
|
|
7242
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
7243
|
+
var StyledDataCard = import_styled_components36.default.div`
|
|
7189
7244
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
7190
7245
|
display: grid;
|
|
7191
7246
|
grid-template-areas: 'label slot' 'value value';
|
|
@@ -7198,7 +7253,7 @@ var StyledDataCard = import_styled_components34.default.div`
|
|
|
7198
7253
|
border-radius: var(--wui-border-radius-02);
|
|
7199
7254
|
position: relative;
|
|
7200
7255
|
`;
|
|
7201
|
-
var shimmer =
|
|
7256
|
+
var shimmer = import_styled_components36.keyframes`
|
|
7202
7257
|
0% {
|
|
7203
7258
|
background-position: 200% 0;
|
|
7204
7259
|
}
|
|
@@ -7206,7 +7261,7 @@ var shimmer = import_styled_components34.keyframes`
|
|
|
7206
7261
|
background-position: -200% 0;
|
|
7207
7262
|
}
|
|
7208
7263
|
`;
|
|
7209
|
-
var LoadingBackground =
|
|
7264
|
+
var LoadingBackground = import_styled_components36.default.div`
|
|
7210
7265
|
background: linear-gradient(
|
|
7211
7266
|
90deg,
|
|
7212
7267
|
var(--wui-color-bg-surface-tertiary) 25%,
|
|
@@ -7217,27 +7272,27 @@ var LoadingBackground = import_styled_components34.default.div`
|
|
|
7217
7272
|
animation: ${shimmer} 1.5s infinite;
|
|
7218
7273
|
border-radius: var(--wui-border-radius-01);
|
|
7219
7274
|
`;
|
|
7220
|
-
var StyledLoadingLabel = (0,
|
|
7275
|
+
var StyledLoadingLabel = (0, import_styled_components36.default)(LoadingBackground)`
|
|
7221
7276
|
width: 80px;
|
|
7222
7277
|
height: var(--wui-typography-heading-6-line-height);
|
|
7223
7278
|
`;
|
|
7224
|
-
var StyledLoadingValue = (0,
|
|
7279
|
+
var StyledLoadingValue = (0, import_styled_components36.default)(LoadingBackground)`
|
|
7225
7280
|
width: 90%;
|
|
7226
7281
|
height: var(--wui-typography-heading-3-line-height);
|
|
7227
7282
|
`;
|
|
7228
|
-
var StyledLabel3 = (0,
|
|
7283
|
+
var StyledLabel3 = (0, import_styled_components36.default)(Heading)`
|
|
7229
7284
|
grid-area: label;
|
|
7230
7285
|
`;
|
|
7231
|
-
var StyledValue = (0,
|
|
7286
|
+
var StyledValue = (0, import_styled_components36.default)(Heading)`
|
|
7232
7287
|
grid-area: value;
|
|
7233
7288
|
`;
|
|
7234
|
-
var StyledSlot =
|
|
7289
|
+
var StyledSlot = import_styled_components36.default.div`
|
|
7235
7290
|
display: flex;
|
|
7236
7291
|
justify-content: flex-end;
|
|
7237
7292
|
grid-area: slot;
|
|
7238
7293
|
align-self: center;
|
|
7239
7294
|
`;
|
|
7240
|
-
var StyledDataCardTrendContainer =
|
|
7295
|
+
var StyledDataCardTrendContainer = import_styled_components36.default.div`
|
|
7241
7296
|
position: absolute;
|
|
7242
7297
|
bottom: var(--wui-space-01);
|
|
7243
7298
|
right: var(--wui-space-01);
|
|
@@ -7250,39 +7305,39 @@ var DataCard = ({
|
|
|
7250
7305
|
isLoading = false,
|
|
7251
7306
|
trend,
|
|
7252
7307
|
...props
|
|
7253
|
-
}) => /* @__PURE__ */ (0,
|
|
7308
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(
|
|
7254
7309
|
StyledDataCard,
|
|
7255
7310
|
{
|
|
7256
7311
|
$colorScheme: colorScheme,
|
|
7257
7312
|
...props,
|
|
7258
7313
|
children: [
|
|
7259
|
-
/* @__PURE__ */ (0,
|
|
7314
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
|
|
7260
7315
|
StyledLabel3,
|
|
7261
7316
|
{
|
|
7262
7317
|
renderAs: "dt",
|
|
7263
7318
|
variant: "heading6",
|
|
7264
|
-
children: isLoading ? /* @__PURE__ */ (0,
|
|
7319
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledLoadingLabel, {}) : label
|
|
7265
7320
|
}
|
|
7266
7321
|
),
|
|
7267
|
-
/* @__PURE__ */ (0,
|
|
7322
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
|
|
7268
7323
|
StyledValue,
|
|
7269
7324
|
{
|
|
7270
7325
|
renderAs: "dd",
|
|
7271
7326
|
variant: "heading3",
|
|
7272
|
-
children: isLoading ? /* @__PURE__ */ (0,
|
|
7327
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledLoadingValue, {}) : value
|
|
7273
7328
|
}
|
|
7274
7329
|
),
|
|
7275
|
-
(0,
|
|
7276
|
-
(0,
|
|
7330
|
+
(0, import_type_guards23.isNotNull)(upperRightSlot) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledSlot, { children: upperRightSlot }),
|
|
7331
|
+
(0, import_type_guards23.isNotNull)(trend) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledDataCardTrendContainer, { children: trend })
|
|
7277
7332
|
]
|
|
7278
7333
|
}
|
|
7279
7334
|
);
|
|
7280
7335
|
DataCard.displayName = "DataCard";
|
|
7281
7336
|
|
|
7282
7337
|
// src/components/DataCards/DataCards.tsx
|
|
7283
|
-
var
|
|
7284
|
-
var
|
|
7285
|
-
var StyledDataCards = (0,
|
|
7338
|
+
var import_styled_components37 = __toESM(require("styled-components"));
|
|
7339
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
7340
|
+
var StyledDataCards = (0, import_styled_components37.default)(Box)`
|
|
7286
7341
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7287
7342
|
margin-top: 0; /* Remove default <dl> style */
|
|
7288
7343
|
> * {
|
|
@@ -7296,7 +7351,7 @@ var DataCards = ({
|
|
|
7296
7351
|
colorScheme = "inherit",
|
|
7297
7352
|
...props
|
|
7298
7353
|
}) => {
|
|
7299
|
-
return /* @__PURE__ */ (0,
|
|
7354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
7300
7355
|
StyledDataCards,
|
|
7301
7356
|
{
|
|
7302
7357
|
...props,
|
|
@@ -7314,93 +7369,97 @@ var DataCards = ({
|
|
|
7314
7369
|
DataCards.displayName = "DataCards";
|
|
7315
7370
|
|
|
7316
7371
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7317
|
-
var
|
|
7372
|
+
var import_styled_components39 = __toESM(require("styled-components"));
|
|
7318
7373
|
|
|
7319
7374
|
// src/components/Text/Text.tsx
|
|
7320
|
-
var
|
|
7321
|
-
var
|
|
7322
|
-
var
|
|
7323
|
-
var bodyBoldStyles =
|
|
7375
|
+
var import_react21 = require("react");
|
|
7376
|
+
var import_styled_components38 = __toESM(require("styled-components"));
|
|
7377
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
7378
|
+
var bodyBoldStyles = import_styled_components38.css`
|
|
7324
7379
|
> strong,
|
|
7325
7380
|
b {
|
|
7326
7381
|
font-weight: var(--wui-typography-weight-body-bold);
|
|
7327
7382
|
}
|
|
7328
7383
|
`;
|
|
7329
|
-
var labelBoldStyles =
|
|
7384
|
+
var labelBoldStyles = import_styled_components38.css`
|
|
7330
7385
|
> strong,
|
|
7331
7386
|
b {
|
|
7332
7387
|
font-weight: var(--wui-typography-weight-label-bold);
|
|
7333
7388
|
}
|
|
7334
7389
|
`;
|
|
7335
|
-
var body1TextStyle =
|
|
7390
|
+
var body1TextStyle = import_styled_components38.css`
|
|
7336
7391
|
--font-family: var(--wui-typography-body-1-family);
|
|
7337
7392
|
--font-size: var(--wui-typography-body-1-size);
|
|
7338
7393
|
--font-weight: var(--wui-typography-body-1-weight);
|
|
7339
7394
|
--line-height: var(--wui-typography-body-1-line-height);
|
|
7395
|
+
--paragraph-spacing: var(--wui-typography-body-1-paragraph-spacing);
|
|
7340
7396
|
${bodyBoldStyles}
|
|
7341
7397
|
`;
|
|
7342
|
-
var body2TextStyle =
|
|
7398
|
+
var body2TextStyle = import_styled_components38.css`
|
|
7343
7399
|
--font-family: var(--wui-typography-body-2-family);
|
|
7344
7400
|
--font-size: var(--wui-typography-body-2-size);
|
|
7345
7401
|
--font-weight: var(--wui-typography-body-2-weight);
|
|
7346
7402
|
--line-height: var(--wui-typography-body-2-line-height);
|
|
7403
|
+
--paragraph-spacing: var(--wui-typography-body-2-paragraph-spacing);
|
|
7347
7404
|
${bodyBoldStyles}
|
|
7348
7405
|
`;
|
|
7349
|
-
var body3TextStyle =
|
|
7406
|
+
var body3TextStyle = import_styled_components38.css`
|
|
7350
7407
|
--font-family: var(--wui-typography-body-3-family);
|
|
7351
7408
|
--font-size: var(--wui-typography-body-3-size);
|
|
7352
7409
|
--font-weight: var(--wui-typography-body-3-weight);
|
|
7353
7410
|
--line-height: var(--wui-typography-body-3-line-height);
|
|
7411
|
+
--paragraph-spacing: var(--wui-typography-body-3-paragraph-spacing);
|
|
7354
7412
|
${bodyBoldStyles}
|
|
7355
7413
|
`;
|
|
7356
|
-
var body4TextStyle =
|
|
7414
|
+
var body4TextStyle = import_styled_components38.css`
|
|
7357
7415
|
--font-family: var(--wui-typography-body-4-family);
|
|
7358
7416
|
--font-size: var(--wui-typography-body-4-size);
|
|
7359
7417
|
--font-weight: var(--wui-typography-body-4-weight);
|
|
7360
7418
|
--line-height: var(--wui-typography-body-4-line-height);
|
|
7419
|
+
--paragraph-spacing: var(--wui-typography-body-4-paragraph-spacing);
|
|
7361
7420
|
${bodyBoldStyles}
|
|
7362
7421
|
`;
|
|
7363
|
-
var label1TextStyle =
|
|
7422
|
+
var label1TextStyle = import_styled_components38.css`
|
|
7364
7423
|
--font-family: var(--wui-typography-label-1-family);
|
|
7365
7424
|
--font-size: var(--wui-typography-label-1-size);
|
|
7366
7425
|
--font-weight: var(--wui-typography-label-1-weight);
|
|
7367
7426
|
--line-height: var(--wui-typography-label-1-line-height);
|
|
7368
7427
|
${labelBoldStyles}
|
|
7369
7428
|
`;
|
|
7370
|
-
var label2TextStyle =
|
|
7429
|
+
var label2TextStyle = import_styled_components38.css`
|
|
7371
7430
|
--font-family: var(--wui-typography-label-2-family);
|
|
7372
7431
|
--font-size: var(--wui-typography-label-2-size);
|
|
7373
7432
|
--font-weight: var(--wui-typography-label-2-weight);
|
|
7374
7433
|
--line-height: var(--wui-typography-label-2-line-height);
|
|
7375
7434
|
${labelBoldStyles}
|
|
7376
7435
|
`;
|
|
7377
|
-
var label3TextStyle =
|
|
7436
|
+
var label3TextStyle = import_styled_components38.css`
|
|
7378
7437
|
--font-family: var(--wui-typography-label-3-family);
|
|
7379
7438
|
--font-size: var(--wui-typography-label-3-size);
|
|
7380
7439
|
--font-weight: var(--wui-typography-label-3-weight);
|
|
7381
7440
|
--line-height: var(--wui-typography-label-3-line-height);
|
|
7382
7441
|
${labelBoldStyles}
|
|
7383
7442
|
`;
|
|
7384
|
-
var label4TextStyle =
|
|
7443
|
+
var label4TextStyle = import_styled_components38.css`
|
|
7385
7444
|
--font-family: var(--wui-typography-label-4-family);
|
|
7386
7445
|
--font-size: var(--wui-typography-label-4-size);
|
|
7387
7446
|
--font-weight: var(--wui-typography-label-4-weight);
|
|
7388
7447
|
--line-height: var(--wui-typography-label-4-line-height);
|
|
7389
7448
|
${labelBoldStyles}
|
|
7390
7449
|
`;
|
|
7391
|
-
var body1MonoTextStyle =
|
|
7450
|
+
var body1MonoTextStyle = import_styled_components38.css`
|
|
7392
7451
|
${body1TextStyle};
|
|
7393
7452
|
--font-family: var(--wui-typography-family-mono);
|
|
7394
7453
|
`;
|
|
7395
|
-
var body2MonoTextStyle =
|
|
7454
|
+
var body2MonoTextStyle = import_styled_components38.css`
|
|
7396
7455
|
${body2TextStyle};
|
|
7397
7456
|
--font-family: var(--wui-typography-family-mono);
|
|
7398
7457
|
`;
|
|
7399
|
-
var body3MonoTextStyle =
|
|
7458
|
+
var body3MonoTextStyle = import_styled_components38.css`
|
|
7400
7459
|
${body3TextStyle};
|
|
7401
7460
|
--font-family: var(--wui-typography-family-mono);
|
|
7402
7461
|
`;
|
|
7403
|
-
var body4MonoTextStyle =
|
|
7462
|
+
var body4MonoTextStyle = import_styled_components38.css`
|
|
7404
7463
|
${body4TextStyle};
|
|
7405
7464
|
--font-family: var(--wui-typography-family-mono);
|
|
7406
7465
|
`;
|
|
@@ -7418,7 +7477,24 @@ var variantStyleMap2 = {
|
|
|
7418
7477
|
label3: label3TextStyle,
|
|
7419
7478
|
label4: label4TextStyle
|
|
7420
7479
|
};
|
|
7421
|
-
var
|
|
7480
|
+
var bodyElement = "p";
|
|
7481
|
+
var labelElement = "span";
|
|
7482
|
+
var DEFAULT_ELEMENT3 = bodyElement;
|
|
7483
|
+
var variantElementMap2 = {
|
|
7484
|
+
body1: DEFAULT_ELEMENT3,
|
|
7485
|
+
body2: DEFAULT_ELEMENT3,
|
|
7486
|
+
body3: DEFAULT_ELEMENT3,
|
|
7487
|
+
body4: DEFAULT_ELEMENT3,
|
|
7488
|
+
body1Mono: DEFAULT_ELEMENT3,
|
|
7489
|
+
body2Mono: DEFAULT_ELEMENT3,
|
|
7490
|
+
body3Mono: DEFAULT_ELEMENT3,
|
|
7491
|
+
body4Mono: DEFAULT_ELEMENT3,
|
|
7492
|
+
label1: labelElement,
|
|
7493
|
+
label2: labelElement,
|
|
7494
|
+
label3: labelElement,
|
|
7495
|
+
label4: labelElement
|
|
7496
|
+
};
|
|
7497
|
+
var StyledText = import_styled_components38.default.div`
|
|
7422
7498
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7423
7499
|
--text-color: ${({ $prominence, $disabled }) => {
|
|
7424
7500
|
if ($disabled) {
|
|
@@ -7442,24 +7518,27 @@ var StyledText = import_styled_components36.default.div`
|
|
|
7442
7518
|
margin: 0;
|
|
7443
7519
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
7444
7520
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
7445
|
-
${({ $inline }) => $inline &&
|
|
7521
|
+
${({ $inline }) => $inline && import_styled_components38.css`
|
|
7446
7522
|
display: inline-block;
|
|
7447
7523
|
`}
|
|
7448
|
-
${({ $disabled }) => $disabled &&
|
|
7524
|
+
${({ $disabled }) => $disabled && import_styled_components38.css`
|
|
7449
7525
|
--text-color: var(--wui-color-text-disabled);
|
|
7450
7526
|
`}
|
|
7451
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
7527
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components38.css`
|
|
7452
7528
|
user-select: none;
|
|
7453
7529
|
`}
|
|
7454
|
-
${({ $align }) =>
|
|
7530
|
+
${({ $align }) => import_styled_components38.css`
|
|
7455
7531
|
text-align: ${$align};
|
|
7456
7532
|
`}
|
|
7457
|
-
${({ as }) => as === "p" &&
|
|
7533
|
+
${({ as }) => as === "p" && import_styled_components38.css`
|
|
7458
7534
|
display: block;
|
|
7535
|
+
|
|
7536
|
+
+ p {
|
|
7537
|
+
margin-top: var(--paragraph-spacing, var(--wui-space-04));
|
|
7538
|
+
}
|
|
7459
7539
|
`}
|
|
7460
7540
|
`;
|
|
7461
|
-
var
|
|
7462
|
-
var TextComponent = (0, import_react20.forwardRef)(
|
|
7541
|
+
var TextComponent = (0, import_react21.forwardRef)(
|
|
7463
7542
|
({
|
|
7464
7543
|
align = "left",
|
|
7465
7544
|
colorScheme = "inherit",
|
|
@@ -7472,7 +7551,7 @@ var TextComponent = (0, import_react20.forwardRef)(
|
|
|
7472
7551
|
renderAs,
|
|
7473
7552
|
...otherProps
|
|
7474
7553
|
}, ref) => {
|
|
7475
|
-
return /* @__PURE__ */ (0,
|
|
7554
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
7476
7555
|
StyledText,
|
|
7477
7556
|
{
|
|
7478
7557
|
ref,
|
|
@@ -7484,7 +7563,7 @@ var TextComponent = (0, import_react20.forwardRef)(
|
|
|
7484
7563
|
$preventUserSelect: preventUserSelect,
|
|
7485
7564
|
$prominence: prominence,
|
|
7486
7565
|
$variant: variant,
|
|
7487
|
-
as: renderAs ??
|
|
7566
|
+
as: renderAs ?? variantElementMap2[variant],
|
|
7488
7567
|
...otherProps
|
|
7489
7568
|
}
|
|
7490
7569
|
);
|
|
@@ -7494,8 +7573,8 @@ TextComponent.displayName = "Text";
|
|
|
7494
7573
|
var Text = makePolymorphic(TextComponent);
|
|
7495
7574
|
|
|
7496
7575
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7497
|
-
var
|
|
7498
|
-
var StyledDataCardTrend =
|
|
7576
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
7577
|
+
var StyledDataCardTrend = import_styled_components39.default.div`
|
|
7499
7578
|
${({ $outlook }) => getColorScheme($outlook === "positive" ? "success" : "error")};
|
|
7500
7579
|
background: var(--wui-color-bg-app);
|
|
7501
7580
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -7510,8 +7589,8 @@ var DataCardTrend = ({
|
|
|
7510
7589
|
children,
|
|
7511
7590
|
...props
|
|
7512
7591
|
}) => {
|
|
7513
|
-
return /* @__PURE__ */ (0,
|
|
7514
|
-
/* @__PURE__ */ (0,
|
|
7592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(StyledDataCardTrend, { $outlook: outlook, children: [
|
|
7593
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
|
|
7515
7594
|
Icon,
|
|
7516
7595
|
{
|
|
7517
7596
|
size: "md",
|
|
@@ -7519,7 +7598,7 @@ var DataCardTrend = ({
|
|
|
7519
7598
|
...props
|
|
7520
7599
|
}
|
|
7521
7600
|
),
|
|
7522
|
-
/* @__PURE__ */ (0,
|
|
7601
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
|
|
7523
7602
|
Text,
|
|
7524
7603
|
{
|
|
7525
7604
|
prominence: "secondary",
|
|
@@ -7531,22 +7610,22 @@ var DataCardTrend = ({
|
|
|
7531
7610
|
};
|
|
7532
7611
|
|
|
7533
7612
|
// src/components/Divider/Divider.tsx
|
|
7534
|
-
var
|
|
7535
|
-
var
|
|
7536
|
-
var horizontalBorderCss =
|
|
7613
|
+
var import_styled_components40 = __toESM(require("styled-components"));
|
|
7614
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
7615
|
+
var horizontalBorderCss = import_styled_components40.css`
|
|
7537
7616
|
border-top-color: var(--wui-color-border);
|
|
7538
7617
|
border-top-style: solid;
|
|
7539
7618
|
border-top-width: 1px;
|
|
7540
7619
|
clear: both; /* for horizontal dividers, ensure it clears any floats */
|
|
7541
7620
|
height: 0;
|
|
7542
7621
|
`;
|
|
7543
|
-
var verticalBorderCss =
|
|
7622
|
+
var verticalBorderCss = import_styled_components40.css`
|
|
7544
7623
|
background-color: var(--wui-color-border);
|
|
7545
7624
|
max-width: 1px;
|
|
7546
7625
|
min-height: 100%;
|
|
7547
7626
|
width: 1px;
|
|
7548
7627
|
`;
|
|
7549
|
-
var DividerComponent =
|
|
7628
|
+
var DividerComponent = import_styled_components40.default.div`
|
|
7550
7629
|
${({ $orientation }) => {
|
|
7551
7630
|
switch ($orientation) {
|
|
7552
7631
|
case "vertical":
|
|
@@ -7561,7 +7640,7 @@ var Divider = ({
|
|
|
7561
7640
|
orientation = "horizontal",
|
|
7562
7641
|
...otherProps
|
|
7563
7642
|
}) => {
|
|
7564
|
-
return /* @__PURE__ */ (0,
|
|
7643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
7565
7644
|
DividerComponent,
|
|
7566
7645
|
{
|
|
7567
7646
|
$orientation: orientation,
|
|
@@ -7574,15 +7653,15 @@ var Divider = ({
|
|
|
7574
7653
|
Divider.displayName = "Divider";
|
|
7575
7654
|
|
|
7576
7655
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7577
|
-
var
|
|
7578
|
-
var
|
|
7656
|
+
var import_styled_components44 = __toESM(require("styled-components"));
|
|
7657
|
+
var import_react23 = require("react");
|
|
7579
7658
|
|
|
7580
7659
|
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
7581
|
-
var
|
|
7582
|
-
var
|
|
7583
|
-
var
|
|
7584
|
-
var VisuallyHidden =
|
|
7585
|
-
var VisuallyHiddenButFocusable =
|
|
7660
|
+
var import_styled_components41 = __toESM(require("styled-components"));
|
|
7661
|
+
var import_type_guards24 = require("@wistia/type-guards");
|
|
7662
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
7663
|
+
var VisuallyHidden = import_styled_components41.default.div({ ...visuallyHiddenStyle });
|
|
7664
|
+
var VisuallyHiddenButFocusable = import_styled_components41.default.div({
|
|
7586
7665
|
"&:not(:focus-within)": visuallyHiddenStyle
|
|
7587
7666
|
});
|
|
7588
7667
|
var ScreenReaderOnly = ({
|
|
@@ -7591,26 +7670,26 @@ var ScreenReaderOnly = ({
|
|
|
7591
7670
|
focusable = false,
|
|
7592
7671
|
...otherProps
|
|
7593
7672
|
}) => {
|
|
7594
|
-
const accessibleText = (0,
|
|
7673
|
+
const accessibleText = (0, import_type_guards24.isNotNil)(text) ? text : children;
|
|
7595
7674
|
if (focusable) {
|
|
7596
|
-
return /* @__PURE__ */ (0,
|
|
7675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
7597
7676
|
}
|
|
7598
|
-
return /* @__PURE__ */ (0,
|
|
7677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
7599
7678
|
};
|
|
7600
7679
|
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
7601
7680
|
|
|
7602
7681
|
// src/components/Tooltip/Tooltip.tsx
|
|
7603
7682
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
7604
|
-
var
|
|
7605
|
-
var
|
|
7606
|
-
var CompactTooltipStyles =
|
|
7683
|
+
var import_styled_components42 = __toESM(require("styled-components"));
|
|
7684
|
+
var import_jsx_runtime185 = require("react/jsx-runtime");
|
|
7685
|
+
var CompactTooltipStyles = import_styled_components42.css`
|
|
7607
7686
|
--tooltip-font-size: var(--wui-typography-label-4-size);
|
|
7608
7687
|
--tooltip-line-height: var(--wui-typography-label-4-line-height);
|
|
7609
7688
|
--tooltip-font-weight: var(--wui-typography-label-4-weight);
|
|
7610
7689
|
--tooltip-horizontal-padding: var(--wui-space-02);
|
|
7611
7690
|
--tooltip-vertical-padding: var(--wui-space-03);
|
|
7612
7691
|
`;
|
|
7613
|
-
var StyledContent = (0,
|
|
7692
|
+
var StyledContent = (0, import_styled_components42.default)(import_react_tooltip2.Content)`
|
|
7614
7693
|
--tooltip-font-family: var(--wui-typography-family-default);
|
|
7615
7694
|
--tooltip-border-radius: var(--wui-border-radius-05);
|
|
7616
7695
|
--tooltip-bg: var(--wui-color-bg-tooltip);
|
|
@@ -7668,14 +7747,14 @@ var Tooltip = ({
|
|
|
7668
7747
|
if (forceOpen === true) {
|
|
7669
7748
|
rootProps.open = true;
|
|
7670
7749
|
}
|
|
7671
|
-
return /* @__PURE__ */ (0,
|
|
7750
|
+
return /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(
|
|
7672
7751
|
import_react_tooltip2.Root,
|
|
7673
7752
|
{
|
|
7674
7753
|
delayDuration: delay,
|
|
7675
7754
|
...rootProps,
|
|
7676
7755
|
children: [
|
|
7677
|
-
/* @__PURE__ */ (0,
|
|
7678
|
-
/* @__PURE__ */ (0,
|
|
7756
|
+
/* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
|
|
7757
|
+
/* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(
|
|
7679
7758
|
StyledContent,
|
|
7680
7759
|
{
|
|
7681
7760
|
$compact: compact,
|
|
@@ -7683,7 +7762,7 @@ var Tooltip = ({
|
|
|
7683
7762
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
7684
7763
|
children: [
|
|
7685
7764
|
content,
|
|
7686
|
-
!hideArrow ? /* @__PURE__ */ (0,
|
|
7765
|
+
!hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
|
|
7687
7766
|
"svg",
|
|
7688
7767
|
{
|
|
7689
7768
|
fill: "var(--tooltip-bg)",
|
|
@@ -7692,7 +7771,7 @@ var Tooltip = ({
|
|
|
7692
7771
|
viewBox: "0 0 12 8",
|
|
7693
7772
|
width: "12",
|
|
7694
7773
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7695
|
-
children: /* @__PURE__ */ (0,
|
|
7774
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
|
|
7696
7775
|
}
|
|
7697
7776
|
) }) : null
|
|
7698
7777
|
]
|
|
@@ -7705,11 +7784,11 @@ var Tooltip = ({
|
|
|
7705
7784
|
Tooltip.displayName = "Tooltip";
|
|
7706
7785
|
|
|
7707
7786
|
// src/components/Input/Input.tsx
|
|
7708
|
-
var
|
|
7709
|
-
var
|
|
7710
|
-
var
|
|
7711
|
-
var
|
|
7712
|
-
var inputStyles =
|
|
7787
|
+
var import_react22 = require("react");
|
|
7788
|
+
var import_styled_components43 = __toESM(require("styled-components"));
|
|
7789
|
+
var import_type_guards25 = require("@wistia/type-guards");
|
|
7790
|
+
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
7791
|
+
var inputStyles = import_styled_components43.css`
|
|
7713
7792
|
--wui-input-color-bg: var(--wui-color-bg-surface);
|
|
7714
7793
|
--wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
7715
7794
|
--wui-input-color-border: var(--wui-color-border);
|
|
@@ -7750,7 +7829,7 @@ var inputStyles = import_styled_components41.css`
|
|
|
7750
7829
|
}
|
|
7751
7830
|
}
|
|
7752
7831
|
`;
|
|
7753
|
-
var StyledInputContainer =
|
|
7832
|
+
var StyledInputContainer = import_styled_components43.default.div`
|
|
7754
7833
|
display: inline-flex;
|
|
7755
7834
|
position: relative;
|
|
7756
7835
|
${inputStyles};
|
|
@@ -7794,7 +7873,7 @@ var StyledInputContainer = import_styled_components41.default.div`
|
|
|
7794
7873
|
padding-right: 32px;
|
|
7795
7874
|
}
|
|
7796
7875
|
`;
|
|
7797
|
-
var Input = (0,
|
|
7876
|
+
var Input = (0, import_react22.forwardRef)(
|
|
7798
7877
|
({
|
|
7799
7878
|
fullWidth = false,
|
|
7800
7879
|
monospace = false,
|
|
@@ -7804,27 +7883,27 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7804
7883
|
rightIcon,
|
|
7805
7884
|
...props
|
|
7806
7885
|
}, externalRef) => {
|
|
7807
|
-
const internalRef = (0,
|
|
7808
|
-
const ref = (0,
|
|
7886
|
+
const internalRef = (0, import_react22.useRef)();
|
|
7887
|
+
const ref = (0, import_type_guards25.isNotNil)(externalRef) && (0, import_type_guards25.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef;
|
|
7809
7888
|
let leftIconToDisplay = leftIcon;
|
|
7810
|
-
if ((0,
|
|
7811
|
-
leftIconToDisplay = /* @__PURE__ */ (0,
|
|
7889
|
+
if ((0, import_type_guards25.isNil)(leftIcon) && type === "search") {
|
|
7890
|
+
leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Icon, { type: "search" });
|
|
7812
7891
|
}
|
|
7813
|
-
if ((0,
|
|
7814
|
-
leftIconToDisplay = (0,
|
|
7892
|
+
if ((0, import_type_guards25.isNotNil)(leftIconToDisplay)) {
|
|
7893
|
+
leftIconToDisplay = (0, import_react22.cloneElement)(leftIconToDisplay, {
|
|
7815
7894
|
size: "md",
|
|
7816
7895
|
className: "wui-input-left-icon"
|
|
7817
7896
|
});
|
|
7818
7897
|
}
|
|
7819
7898
|
let rightIconToDisplay = rightIcon;
|
|
7820
|
-
if ((0,
|
|
7821
|
-
rightIconToDisplay = (0,
|
|
7899
|
+
if ((0, import_type_guards25.isNotNil)(rightIconToDisplay)) {
|
|
7900
|
+
rightIconToDisplay = (0, import_react22.cloneElement)(rightIconToDisplay, {
|
|
7822
7901
|
size: "md",
|
|
7823
7902
|
className: "wui-input-right-icon"
|
|
7824
7903
|
});
|
|
7825
7904
|
}
|
|
7826
7905
|
const handleFocus = (event) => {
|
|
7827
|
-
if ((0,
|
|
7906
|
+
if ((0, import_type_guards25.isNotNil)(props.onFocus)) {
|
|
7828
7907
|
props.onFocus(event);
|
|
7829
7908
|
}
|
|
7830
7909
|
if (autoSelect && isValidRef(ref) && "current" in ref) {
|
|
@@ -7833,21 +7912,21 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7833
7912
|
});
|
|
7834
7913
|
}
|
|
7835
7914
|
};
|
|
7836
|
-
return /* @__PURE__ */ (0,
|
|
7915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(
|
|
7837
7916
|
StyledInputContainer,
|
|
7838
7917
|
{
|
|
7839
7918
|
$fullWidth: fullWidth,
|
|
7840
7919
|
$monospace: monospace,
|
|
7841
7920
|
children: [
|
|
7842
7921
|
leftIconToDisplay ?? null,
|
|
7843
|
-
type === "multiline" ? /* @__PURE__ */ (0,
|
|
7922
|
+
type === "multiline" ? /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(
|
|
7844
7923
|
"textarea",
|
|
7845
7924
|
{
|
|
7846
7925
|
...props,
|
|
7847
7926
|
ref,
|
|
7848
7927
|
onFocus: handleFocus
|
|
7849
7928
|
}
|
|
7850
|
-
) : /* @__PURE__ */ (0,
|
|
7929
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(
|
|
7851
7930
|
"input",
|
|
7852
7931
|
{
|
|
7853
7932
|
...props,
|
|
@@ -7865,8 +7944,8 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7865
7944
|
Input.displayName = "Input";
|
|
7866
7945
|
|
|
7867
7946
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7868
|
-
var
|
|
7869
|
-
var StyledInput = (0,
|
|
7947
|
+
var import_jsx_runtime187 = require("react/jsx-runtime");
|
|
7948
|
+
var StyledInput = (0, import_styled_components44.default)(Input)`
|
|
7870
7949
|
:not([rows]) {
|
|
7871
7950
|
min-height: unset;
|
|
7872
7951
|
}
|
|
@@ -7886,7 +7965,7 @@ var StyledInput = (0, import_styled_components42.default)(Input)`
|
|
|
7886
7965
|
height: ${({ $height }) => `${$height}px`};
|
|
7887
7966
|
}
|
|
7888
7967
|
`;
|
|
7889
|
-
var editableStyles =
|
|
7968
|
+
var editableStyles = import_styled_components44.css`
|
|
7890
7969
|
&:has(+ :focus-within) {
|
|
7891
7970
|
background: var(--wui-color-bg-surface-hover);
|
|
7892
7971
|
}
|
|
@@ -7896,7 +7975,7 @@ var editableStyles = import_styled_components42.css`
|
|
|
7896
7975
|
cursor: pointer;
|
|
7897
7976
|
}
|
|
7898
7977
|
`;
|
|
7899
|
-
var StyledHeading2 = (0,
|
|
7978
|
+
var StyledHeading2 = (0, import_styled_components44.default)(Heading)`
|
|
7900
7979
|
width: 100%;
|
|
7901
7980
|
border-radius: var(--wui-border-radius-02);
|
|
7902
7981
|
padding: var(--wui-space-02);
|
|
@@ -7913,11 +7992,11 @@ var EditableHeading = ({
|
|
|
7913
7992
|
forceEditing = false,
|
|
7914
7993
|
editingDisabled = false
|
|
7915
7994
|
}) => {
|
|
7916
|
-
const [isEditing, setIsEditing] = (0,
|
|
7917
|
-
const [value, setValue] = (0,
|
|
7918
|
-
const [previousValue, setPreviousValue] = (0,
|
|
7919
|
-
const [headingHeight, setHeadingHeight] = (0,
|
|
7920
|
-
const headingRef = (0,
|
|
7995
|
+
const [isEditing, setIsEditing] = (0, import_react23.useState)(false);
|
|
7996
|
+
const [value, setValue] = (0, import_react23.useState)(children);
|
|
7997
|
+
const [previousValue, setPreviousValue] = (0, import_react23.useState)(children);
|
|
7998
|
+
const [headingHeight, setHeadingHeight] = (0, import_react23.useState)("60");
|
|
7999
|
+
const headingRef = (0, import_react23.useRef)(null);
|
|
7921
8000
|
const handleSetEditing = (editing) => {
|
|
7922
8001
|
if (editingDisabled) return;
|
|
7923
8002
|
if (editing && headingRef.current) {
|
|
@@ -7950,7 +8029,7 @@ var EditableHeading = ({
|
|
|
7950
8029
|
handleSetEditing(false);
|
|
7951
8030
|
}
|
|
7952
8031
|
};
|
|
7953
|
-
const HeadingComponent2 = /* @__PURE__ */ (0,
|
|
8032
|
+
const HeadingComponent2 = /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7954
8033
|
StyledHeading2,
|
|
7955
8034
|
{
|
|
7956
8035
|
ref: headingRef,
|
|
@@ -7964,7 +8043,7 @@ var EditableHeading = ({
|
|
|
7964
8043
|
return HeadingComponent2;
|
|
7965
8044
|
}
|
|
7966
8045
|
if (isEditing || forceEditing) {
|
|
7967
|
-
return /* @__PURE__ */ (0,
|
|
8046
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7968
8047
|
StyledInput,
|
|
7969
8048
|
{
|
|
7970
8049
|
$height: headingHeight,
|
|
@@ -7982,8 +8061,8 @@ var EditableHeading = ({
|
|
|
7982
8061
|
}
|
|
7983
8062
|
);
|
|
7984
8063
|
}
|
|
7985
|
-
return /* @__PURE__ */ (0,
|
|
7986
|
-
/* @__PURE__ */ (0,
|
|
8064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)(import_jsx_runtime187.Fragment, { children: [
|
|
8065
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7987
8066
|
Tooltip,
|
|
7988
8067
|
{
|
|
7989
8068
|
compact: true,
|
|
@@ -7991,7 +8070,7 @@ var EditableHeading = ({
|
|
|
7991
8070
|
children: HeadingComponent2
|
|
7992
8071
|
}
|
|
7993
8072
|
),
|
|
7994
|
-
/* @__PURE__ */ (0,
|
|
8073
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(ScreenReaderOnly, { children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7995
8074
|
"button",
|
|
7996
8075
|
{
|
|
7997
8076
|
"aria-label": ariaLabel,
|
|
@@ -8003,25 +8082,25 @@ var EditableHeading = ({
|
|
|
8003
8082
|
};
|
|
8004
8083
|
|
|
8005
8084
|
// src/components/Form/Form.tsx
|
|
8006
|
-
var
|
|
8007
|
-
var
|
|
8008
|
-
var
|
|
8085
|
+
var import_react25 = require("react");
|
|
8086
|
+
var import_styled_components46 = __toESM(require("styled-components"));
|
|
8087
|
+
var import_type_guards26 = require("@wistia/type-guards");
|
|
8009
8088
|
|
|
8010
8089
|
// src/components/Stack/Stack.tsx
|
|
8011
|
-
var
|
|
8012
|
-
var
|
|
8013
|
-
var
|
|
8090
|
+
var import_react24 = require("react");
|
|
8091
|
+
var import_styled_components45 = __toESM(require("styled-components"));
|
|
8092
|
+
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
8014
8093
|
var DEFAULT_ELEMENT4 = "div";
|
|
8015
|
-
var StyledStack =
|
|
8094
|
+
var StyledStack = import_styled_components45.default.div`
|
|
8016
8095
|
display: flex;
|
|
8017
8096
|
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
8018
8097
|
gap: ${({ $gap }) => `var(--wui-${$gap})`};
|
|
8019
8098
|
`;
|
|
8020
|
-
var StackComponent = (0,
|
|
8099
|
+
var StackComponent = (0, import_react24.forwardRef)(
|
|
8021
8100
|
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
8022
8101
|
const responsiveGap = useResponsiveProp(gap);
|
|
8023
8102
|
const responsiveDirection = useResponsiveProp(direction);
|
|
8024
|
-
return /* @__PURE__ */ (0,
|
|
8103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
8025
8104
|
StyledStack,
|
|
8026
8105
|
{
|
|
8027
8106
|
ref,
|
|
@@ -8037,29 +8116,29 @@ StackComponent.displayName = "Stack";
|
|
|
8037
8116
|
var Stack = makePolymorphic(StackComponent);
|
|
8038
8117
|
|
|
8039
8118
|
// src/components/Form/Form.tsx
|
|
8040
|
-
var
|
|
8041
|
-
var StyledForm =
|
|
8119
|
+
var import_jsx_runtime189 = require("react/jsx-runtime");
|
|
8120
|
+
var StyledForm = import_styled_components46.default.form`
|
|
8042
8121
|
--form-default-width: 690px;
|
|
8043
8122
|
|
|
8044
8123
|
max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
|
|
8045
8124
|
align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
|
|
8046
8125
|
`;
|
|
8047
|
-
var FormContext = (0,
|
|
8126
|
+
var FormContext = (0, import_react25.createContext)({
|
|
8048
8127
|
values: {},
|
|
8049
8128
|
errors: {},
|
|
8050
8129
|
hasSubmitted: false,
|
|
8051
8130
|
formId: ""
|
|
8052
8131
|
});
|
|
8053
8132
|
var FormComponent = ({ children, action, values = {}, validate, fullWidth = false, ...props }, forwardedRef) => {
|
|
8054
|
-
const [errors, setErrors] = (0,
|
|
8055
|
-
const [hasSubmitted, setHasSubmitted] = (0,
|
|
8056
|
-
const innerRef = (0,
|
|
8133
|
+
const [errors, setErrors] = (0, import_react25.useState)({});
|
|
8134
|
+
const [hasSubmitted, setHasSubmitted] = (0, import_react25.useState)(false);
|
|
8135
|
+
const innerRef = (0, import_react25.useRef)();
|
|
8057
8136
|
const ref = forwardedRef ?? innerRef;
|
|
8058
|
-
const autoId = (0,
|
|
8137
|
+
const autoId = (0, import_react25.useId)();
|
|
8059
8138
|
const id = props.id ?? autoId;
|
|
8060
8139
|
const handleValidate = (nextFormData) => {
|
|
8061
8140
|
const nextData = Object.fromEntries(nextFormData.entries());
|
|
8062
|
-
if ((0,
|
|
8141
|
+
if ((0, import_type_guards26.isUndefined)(validate)) {
|
|
8063
8142
|
return {};
|
|
8064
8143
|
}
|
|
8065
8144
|
return validate(nextData);
|
|
@@ -8069,7 +8148,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8069
8148
|
props.onBlur(event);
|
|
8070
8149
|
}
|
|
8071
8150
|
const formData = new FormData(event.currentTarget);
|
|
8072
|
-
if ((0,
|
|
8151
|
+
if ((0, import_type_guards26.isNotUndefined)(validate)) {
|
|
8073
8152
|
handleValidate(formData);
|
|
8074
8153
|
}
|
|
8075
8154
|
};
|
|
@@ -8097,7 +8176,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8097
8176
|
void action(null);
|
|
8098
8177
|
}
|
|
8099
8178
|
};
|
|
8100
|
-
const context = (0,
|
|
8179
|
+
const context = (0, import_react25.useMemo)(() => {
|
|
8101
8180
|
return {
|
|
8102
8181
|
values,
|
|
8103
8182
|
errors,
|
|
@@ -8107,7 +8186,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8107
8186
|
}, [values, errors, id, hasSubmitted]);
|
|
8108
8187
|
return (
|
|
8109
8188
|
// @ts-expect-error - generic context providers are a giant pain
|
|
8110
|
-
/* @__PURE__ */ (0,
|
|
8189
|
+
/* @__PURE__ */ (0, import_jsx_runtime189.jsx)(FormContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(
|
|
8111
8190
|
Stack,
|
|
8112
8191
|
{
|
|
8113
8192
|
gap: "space-05",
|
|
@@ -8125,15 +8204,15 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8125
8204
|
);
|
|
8126
8205
|
};
|
|
8127
8206
|
FormComponent.displayName = "Form";
|
|
8128
|
-
var Form = (0,
|
|
8207
|
+
var Form = (0, import_react25.forwardRef)(FormComponent);
|
|
8129
8208
|
|
|
8130
8209
|
// src/components/Form/useFormState.tsx
|
|
8131
|
-
var
|
|
8210
|
+
var import_react26 = require("react");
|
|
8132
8211
|
var useFormState = (action, initialData = {}) => {
|
|
8133
|
-
const [data, setData] = (0,
|
|
8134
|
-
const [isPending, setIsPending] = (0,
|
|
8135
|
-
const [error, setError] = (0,
|
|
8136
|
-
const formAction = (0,
|
|
8212
|
+
const [data, setData] = (0, import_react26.useState)(initialData);
|
|
8213
|
+
const [isPending, setIsPending] = (0, import_react26.useState)(false);
|
|
8214
|
+
const [error, setError] = (0, import_react26.useState)(null);
|
|
8215
|
+
const formAction = (0, import_react26.useCallback)(
|
|
8137
8216
|
async (nextFormData) => {
|
|
8138
8217
|
if (nextFormData === null) {
|
|
8139
8218
|
setData(initialData);
|
|
@@ -8164,23 +8243,23 @@ var useFormState = (action, initialData = {}) => {
|
|
|
8164
8243
|
};
|
|
8165
8244
|
|
|
8166
8245
|
// src/components/Form/FormErrorSummary.tsx
|
|
8167
|
-
var
|
|
8168
|
-
var
|
|
8169
|
-
var
|
|
8246
|
+
var import_react27 = require("react");
|
|
8247
|
+
var import_type_guards27 = require("@wistia/type-guards");
|
|
8248
|
+
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
8170
8249
|
var ErrorItem = ({ name, error, formId }) => {
|
|
8171
|
-
return /* @__PURE__ */ (0,
|
|
8250
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(Link, { href: `${formId}-${name}`, children: error }) }, name);
|
|
8172
8251
|
};
|
|
8173
8252
|
var FormErrorSummary = ({ description }) => {
|
|
8174
|
-
const ref = (0,
|
|
8175
|
-
const { formId, errors, hasSubmitted } = (0,
|
|
8253
|
+
const ref = (0, import_react27.useRef)(null);
|
|
8254
|
+
const { formId, errors, hasSubmitted } = (0, import_react27.useContext)(FormContext);
|
|
8176
8255
|
const isValid = Object.keys(errors).length === 0;
|
|
8177
8256
|
if (isValid || !hasSubmitted) {
|
|
8178
8257
|
return null;
|
|
8179
8258
|
}
|
|
8180
|
-
return /* @__PURE__ */ (0,
|
|
8181
|
-
/* @__PURE__ */ (0,
|
|
8182
|
-
/* @__PURE__ */ (0,
|
|
8183
|
-
([name, error]) => (0,
|
|
8259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { ref, children: [
|
|
8260
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("p", { children: description }),
|
|
8261
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0, import_type_guards27.isNotUndefined)(error)).map(
|
|
8262
|
+
([name, error]) => (0, import_type_guards27.isArray)(error) ? error.map((err) => /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
|
|
8184
8263
|
ErrorItem,
|
|
8185
8264
|
{
|
|
8186
8265
|
error: err,
|
|
@@ -8188,7 +8267,7 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8188
8267
|
name
|
|
8189
8268
|
},
|
|
8190
8269
|
err
|
|
8191
|
-
)) : /* @__PURE__ */ (0,
|
|
8270
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
|
|
8192
8271
|
ErrorItem,
|
|
8193
8272
|
{
|
|
8194
8273
|
error: error ?? "",
|
|
@@ -8202,33 +8281,33 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8202
8281
|
};
|
|
8203
8282
|
|
|
8204
8283
|
// src/components/FormField/FormField.tsx
|
|
8205
|
-
var
|
|
8206
|
-
var
|
|
8207
|
-
var
|
|
8284
|
+
var import_react30 = require("react");
|
|
8285
|
+
var import_styled_components48 = __toESM(require("styled-components"));
|
|
8286
|
+
var import_type_guards28 = require("@wistia/type-guards");
|
|
8208
8287
|
|
|
8209
8288
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8210
|
-
var
|
|
8289
|
+
var import_react29 = require("react");
|
|
8211
8290
|
|
|
8212
8291
|
// src/components/FormGroup/FormGroup.tsx
|
|
8213
|
-
var
|
|
8214
|
-
var
|
|
8215
|
-
var
|
|
8216
|
-
var StyledFieldset =
|
|
8292
|
+
var import_styled_components47 = __toESM(require("styled-components"));
|
|
8293
|
+
var import_react28 = require("react");
|
|
8294
|
+
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
8295
|
+
var StyledFieldset = import_styled_components47.default.fieldset`
|
|
8217
8296
|
border: 0;
|
|
8218
8297
|
`;
|
|
8219
|
-
var StyledLegend =
|
|
8298
|
+
var StyledLegend = import_styled_components47.default.legend`
|
|
8220
8299
|
margin-bottom: var(--space-01);
|
|
8221
8300
|
`;
|
|
8222
8301
|
var FormGroup = ({ children, label, ...props }) => {
|
|
8223
|
-
const ref = (0,
|
|
8224
|
-
return /* @__PURE__ */ (0,
|
|
8302
|
+
const ref = (0, import_react28.useRef)();
|
|
8303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(
|
|
8225
8304
|
Stack,
|
|
8226
8305
|
{
|
|
8227
8306
|
...props,
|
|
8228
8307
|
ref,
|
|
8229
8308
|
renderAs: StyledFieldset,
|
|
8230
8309
|
children: [
|
|
8231
|
-
/* @__PURE__ */ (0,
|
|
8310
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(
|
|
8232
8311
|
Heading,
|
|
8233
8312
|
{
|
|
8234
8313
|
renderAs: StyledLegend,
|
|
@@ -8244,8 +8323,8 @@ var FormGroup = ({ children, label, ...props }) => {
|
|
|
8244
8323
|
FormGroup.displayName = "FormGroup";
|
|
8245
8324
|
|
|
8246
8325
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8247
|
-
var
|
|
8248
|
-
var CheckboxGroupContext = (0,
|
|
8326
|
+
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
8327
|
+
var CheckboxGroupContext = (0, import_react29.createContext)(null);
|
|
8249
8328
|
var CheckboxGroup = ({
|
|
8250
8329
|
children,
|
|
8251
8330
|
name,
|
|
@@ -8253,19 +8332,19 @@ var CheckboxGroup = ({
|
|
|
8253
8332
|
value,
|
|
8254
8333
|
...props
|
|
8255
8334
|
}) => {
|
|
8256
|
-
const context = (0,
|
|
8335
|
+
const context = (0, import_react29.useMemo)(() => {
|
|
8257
8336
|
return {
|
|
8258
8337
|
name,
|
|
8259
8338
|
onChange
|
|
8260
8339
|
};
|
|
8261
8340
|
}, [name, onChange]);
|
|
8262
|
-
return /* @__PURE__ */ (0,
|
|
8341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(FormGroup, { ...props, children }) });
|
|
8263
8342
|
};
|
|
8264
8343
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
8265
8344
|
|
|
8266
8345
|
// src/components/FormField/FormField.tsx
|
|
8267
|
-
var
|
|
8268
|
-
var StyledFormField =
|
|
8346
|
+
var import_jsx_runtime193 = require("react/jsx-runtime");
|
|
8347
|
+
var StyledFormField = import_styled_components48.default.div`
|
|
8269
8348
|
--form-field-spacing: var(--wui-space-01);
|
|
8270
8349
|
--form-field-error-color: var(--wui-color-text-secondary-error);
|
|
8271
8350
|
|
|
@@ -8273,7 +8352,7 @@ var StyledFormField = import_styled_components46.default.div`
|
|
|
8273
8352
|
flex-direction: column;
|
|
8274
8353
|
gap: var(--form-field-spacing);
|
|
8275
8354
|
`;
|
|
8276
|
-
var StyledErrorList =
|
|
8355
|
+
var StyledErrorList = import_styled_components48.default.ul`
|
|
8277
8356
|
margin: 0;
|
|
8278
8357
|
padding: 0;
|
|
8279
8358
|
padding-left: var(--wui-space-04);
|
|
@@ -8282,8 +8361,8 @@ var StyledErrorList = import_styled_components46.default.ul`
|
|
|
8282
8361
|
gap: var(--wui-space-01);
|
|
8283
8362
|
`;
|
|
8284
8363
|
var ErrorMessages = ({ errors, id }) => {
|
|
8285
|
-
const isMultipleErrors = (0,
|
|
8286
|
-
return isMultipleErrors ? /* @__PURE__ */ (0,
|
|
8364
|
+
const isMultipleErrors = (0, import_type_guards28.isArray)(errors);
|
|
8365
|
+
return isMultipleErrors ? /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(StyledErrorList, { children: errors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8287
8366
|
Text,
|
|
8288
8367
|
{
|
|
8289
8368
|
colorScheme: "error",
|
|
@@ -8293,7 +8372,7 @@ var ErrorMessages = ({ errors, id }) => {
|
|
|
8293
8372
|
children: error
|
|
8294
8373
|
},
|
|
8295
8374
|
`${id}-${index}`
|
|
8296
|
-
)) }) : /* @__PURE__ */ (0,
|
|
8375
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8297
8376
|
Text,
|
|
8298
8377
|
{
|
|
8299
8378
|
colorScheme: "error",
|
|
@@ -8313,8 +8392,8 @@ var FormField = ({
|
|
|
8313
8392
|
value,
|
|
8314
8393
|
...props
|
|
8315
8394
|
}) => {
|
|
8316
|
-
const formState = (0,
|
|
8317
|
-
const checkboxGroup = (0,
|
|
8395
|
+
const formState = (0, import_react30.useContext)(FormContext);
|
|
8396
|
+
const checkboxGroup = (0, import_react30.useContext)(CheckboxGroupContext);
|
|
8318
8397
|
const id = props.id ?? `${formState.formId}-${name}`;
|
|
8319
8398
|
const isInlineLabel = children.type === Checkbox;
|
|
8320
8399
|
const computedError = error ?? formState.errors[name];
|
|
@@ -8325,19 +8404,19 @@ var FormField = ({
|
|
|
8325
8404
|
label: isInlineLabel ? label : void 0,
|
|
8326
8405
|
...props
|
|
8327
8406
|
};
|
|
8328
|
-
if ((0,
|
|
8407
|
+
if ((0, import_type_guards28.isUndefined)(value) && (0, import_type_guards28.isNotUndefined)(defaultValue)) {
|
|
8329
8408
|
childProps = {
|
|
8330
8409
|
...childProps,
|
|
8331
8410
|
defaultValue
|
|
8332
8411
|
};
|
|
8333
8412
|
}
|
|
8334
|
-
if ((0,
|
|
8335
|
-
const computedName = (0,
|
|
8413
|
+
if ((0, import_type_guards28.isNotNil)(checkboxGroup)) {
|
|
8414
|
+
const computedName = (0, import_type_guards28.isNotNil)(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
|
|
8336
8415
|
const handleChange = (event) => {
|
|
8337
|
-
if ((0,
|
|
8416
|
+
if ((0, import_type_guards28.isNotUndefined)(props.onChange)) {
|
|
8338
8417
|
props.onChange(event);
|
|
8339
8418
|
}
|
|
8340
|
-
if ((0,
|
|
8419
|
+
if ((0, import_type_guards28.isNotUndefined)(checkboxGroup.onChange)) {
|
|
8341
8420
|
checkboxGroup.onChange(event);
|
|
8342
8421
|
}
|
|
8343
8422
|
};
|
|
@@ -8345,15 +8424,15 @@ var FormField = ({
|
|
|
8345
8424
|
...childProps,
|
|
8346
8425
|
name: computedName,
|
|
8347
8426
|
onChange: handleChange,
|
|
8348
|
-
"aria-invalid": (0,
|
|
8349
|
-
"aria-describedby": (0,
|
|
8427
|
+
"aria-invalid": (0, import_type_guards28.isNotNil)(error),
|
|
8428
|
+
"aria-describedby": (0, import_type_guards28.isNotNil)(error) ? `${id}-error` : void 0
|
|
8350
8429
|
};
|
|
8351
8430
|
}
|
|
8352
|
-
|
|
8353
|
-
return /* @__PURE__ */ (0,
|
|
8354
|
-
!isInlineLabel && /* @__PURE__ */ (0,
|
|
8355
|
-
(0,
|
|
8356
|
-
(0,
|
|
8431
|
+
import_react30.Children.only(children);
|
|
8432
|
+
return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(StyledFormField, { ...props, children: [
|
|
8433
|
+
!isInlineLabel && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(Label, { htmlFor: id, children: label }),
|
|
8434
|
+
(0, import_react30.cloneElement)(children, childProps),
|
|
8435
|
+
(0, import_type_guards28.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8357
8436
|
ErrorMessages,
|
|
8358
8437
|
{
|
|
8359
8438
|
errors: computedError,
|
|
@@ -8365,9 +8444,9 @@ var FormField = ({
|
|
|
8365
8444
|
FormField.displayName = "FormField";
|
|
8366
8445
|
|
|
8367
8446
|
// src/components/FormGroup/RadioGroup.tsx
|
|
8368
|
-
var
|
|
8369
|
-
var
|
|
8370
|
-
var RadioGroupContext = (0,
|
|
8447
|
+
var import_react31 = require("react");
|
|
8448
|
+
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
8449
|
+
var RadioGroupContext = (0, import_react31.createContext)(null);
|
|
8371
8450
|
var RadioGroup = ({
|
|
8372
8451
|
children,
|
|
8373
8452
|
name,
|
|
@@ -8375,21 +8454,21 @@ var RadioGroup = ({
|
|
|
8375
8454
|
value,
|
|
8376
8455
|
...props
|
|
8377
8456
|
}) => {
|
|
8378
|
-
const context = (0,
|
|
8457
|
+
const context = (0, import_react31.useMemo)(() => {
|
|
8379
8458
|
return {
|
|
8380
8459
|
name,
|
|
8381
8460
|
onChange
|
|
8382
8461
|
};
|
|
8383
8462
|
}, [name, onChange]);
|
|
8384
|
-
return /* @__PURE__ */ (0,
|
|
8463
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(RadioGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(FormGroup, { ...props, children }) });
|
|
8385
8464
|
};
|
|
8386
8465
|
RadioGroup.displayName = "RadioGroup";
|
|
8387
8466
|
|
|
8388
8467
|
// src/components/IconButton/IconButton.tsx
|
|
8389
|
-
var
|
|
8390
|
-
var
|
|
8391
|
-
var
|
|
8392
|
-
var StyledButton2 = (0,
|
|
8468
|
+
var import_react32 = require("react");
|
|
8469
|
+
var import_styled_components49 = __toESM(require("styled-components"));
|
|
8470
|
+
var import_jsx_runtime195 = require("react/jsx-runtime");
|
|
8471
|
+
var StyledButton2 = (0, import_styled_components49.default)(Button)`
|
|
8393
8472
|
--icon-button-size-sm: 24px;
|
|
8394
8473
|
--icon-button-size-md: 32px;
|
|
8395
8474
|
--icon-button-size-lg: 40px;
|
|
@@ -8403,10 +8482,10 @@ var StyledButton2 = (0, import_styled_components47.default)(Button)`
|
|
|
8403
8482
|
align-items: center;
|
|
8404
8483
|
line-height: 1;
|
|
8405
8484
|
`;
|
|
8406
|
-
var IconButton = (0,
|
|
8485
|
+
var IconButton = (0, import_react32.forwardRef)(
|
|
8407
8486
|
({ children, label, size = "md", ...props }, ref) => {
|
|
8408
8487
|
const responsiveSize = useResponsiveProp(size);
|
|
8409
|
-
return /* @__PURE__ */ (0,
|
|
8488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
8410
8489
|
StyledButton2,
|
|
8411
8490
|
{
|
|
8412
8491
|
...props,
|
|
@@ -8414,7 +8493,7 @@ var IconButton = (0, import_react31.forwardRef)(
|
|
|
8414
8493
|
"aria-label": label,
|
|
8415
8494
|
"data-wistia-ui-icon-button": true,
|
|
8416
8495
|
size: responsiveSize,
|
|
8417
|
-
children: (0,
|
|
8496
|
+
children: (0, import_react32.cloneElement)(import_react32.Children.only(children), {
|
|
8418
8497
|
size: responsiveSize
|
|
8419
8498
|
})
|
|
8420
8499
|
}
|
|
@@ -8424,19 +8503,19 @@ var IconButton = (0, import_react31.forwardRef)(
|
|
|
8424
8503
|
IconButton.displayName = "IconButton";
|
|
8425
8504
|
|
|
8426
8505
|
// src/components/Menu/Menu.tsx
|
|
8427
|
-
var
|
|
8506
|
+
var import_styled_components50 = __toESM(require("styled-components"));
|
|
8428
8507
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
8429
|
-
var
|
|
8430
|
-
var
|
|
8508
|
+
var import_type_guards29 = require("@wistia/type-guards");
|
|
8509
|
+
var import_react34 = require("react");
|
|
8431
8510
|
|
|
8432
8511
|
// src/components/Menu/MenuContext.tsx
|
|
8433
|
-
var
|
|
8434
|
-
var MenuContext = (0,
|
|
8435
|
-
var useMenuContext = () => (0,
|
|
8512
|
+
var import_react33 = require("react");
|
|
8513
|
+
var MenuContext = (0, import_react33.createContext)({ compact: false });
|
|
8514
|
+
var useMenuContext = () => (0, import_react33.useContext)(MenuContext);
|
|
8436
8515
|
|
|
8437
8516
|
// src/components/Menu/Menu.tsx
|
|
8438
|
-
var
|
|
8439
|
-
var open =
|
|
8517
|
+
var import_jsx_runtime196 = require("react/jsx-runtime");
|
|
8518
|
+
var open = import_styled_components50.keyframes`
|
|
8440
8519
|
from {
|
|
8441
8520
|
opacity: 0;
|
|
8442
8521
|
transform: scale(.97) translateY(-8px);
|
|
@@ -8446,7 +8525,7 @@ var open = import_styled_components48.keyframes`
|
|
|
8446
8525
|
transform: scale(1);
|
|
8447
8526
|
}
|
|
8448
8527
|
`;
|
|
8449
|
-
var close =
|
|
8528
|
+
var close = import_styled_components50.keyframes`
|
|
8450
8529
|
from {
|
|
8451
8530
|
opacity: 1;
|
|
8452
8531
|
transform: scale(1);
|
|
@@ -8456,7 +8535,7 @@ var close = import_styled_components48.keyframes`
|
|
|
8456
8535
|
transform: scale(.97) translateY(-8px);
|
|
8457
8536
|
}
|
|
8458
8537
|
`;
|
|
8459
|
-
var menuItemCss =
|
|
8538
|
+
var menuItemCss = import_styled_components50.css`
|
|
8460
8539
|
--menu-label-description-gap: var(--wui-space-01);
|
|
8461
8540
|
--menu-item-inner-gap: var(--wui-space-03);
|
|
8462
8541
|
--menu-item-left-icon-size: 24px;
|
|
@@ -8467,7 +8546,7 @@ var menuItemCss = import_styled_components48.css`
|
|
|
8467
8546
|
--menu-label-line-height: var(--wui-typography-label-3-line-height);
|
|
8468
8547
|
--menu-divider-margin: var(--wui-space-02);
|
|
8469
8548
|
`;
|
|
8470
|
-
var compactMenuItemCss =
|
|
8549
|
+
var compactMenuItemCss = import_styled_components50.css`
|
|
8471
8550
|
--menu-label-description-gap: 0;
|
|
8472
8551
|
--menu-item-inner-gap: var(--wui-space-02);
|
|
8473
8552
|
--menu-item-left-icon-size: 16px;
|
|
@@ -8478,7 +8557,7 @@ var compactMenuItemCss = import_styled_components48.css`
|
|
|
8478
8557
|
--menu-label-line-height: var(--wui-typography-label-4-line-height);
|
|
8479
8558
|
--menu-divider-margin: var(--wui-space-01);
|
|
8480
8559
|
`;
|
|
8481
|
-
var menuContentCss =
|
|
8560
|
+
var menuContentCss = import_styled_components50.css`
|
|
8482
8561
|
--menu-font-family: var(--wui-typography-family-default);
|
|
8483
8562
|
--menu-bg: var(--wui-color-bg-surface);
|
|
8484
8563
|
--menu-shadow: var(--wui-elevation-01);
|
|
@@ -8520,7 +8599,7 @@ var menuContentCss = import_styled_components48.css`
|
|
|
8520
8599
|
margin: var(--menu-divider-margin) 0;
|
|
8521
8600
|
}
|
|
8522
8601
|
`;
|
|
8523
|
-
var MenuContent = (0,
|
|
8602
|
+
var MenuContent = (0, import_styled_components50.default)(import_react_dropdown_menu.DropdownMenuContent)`
|
|
8524
8603
|
${menuContentCss}
|
|
8525
8604
|
`;
|
|
8526
8605
|
var Menu = ({
|
|
@@ -8536,9 +8615,9 @@ var Menu = ({
|
|
|
8536
8615
|
onInteractOutside,
|
|
8537
8616
|
...props
|
|
8538
8617
|
}) => {
|
|
8539
|
-
const contextValue = (0,
|
|
8618
|
+
const contextValue = (0, import_react34.useMemo)(() => ({ compact }), [compact]);
|
|
8540
8619
|
let controlProps = {
|
|
8541
|
-
...(0,
|
|
8620
|
+
...(0, import_type_guards29.isNotNil)(onOpenChange) && (0, import_type_guards29.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
8542
8621
|
};
|
|
8543
8622
|
if (disabled) {
|
|
8544
8623
|
controlProps = {
|
|
@@ -8546,24 +8625,24 @@ var Menu = ({
|
|
|
8546
8625
|
onOpenChange: () => null
|
|
8547
8626
|
};
|
|
8548
8627
|
}
|
|
8549
|
-
return /* @__PURE__ */ (0,
|
|
8628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(MenuContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(
|
|
8550
8629
|
import_react_dropdown_menu.DropdownMenu,
|
|
8551
8630
|
{
|
|
8552
8631
|
modal: false,
|
|
8553
8632
|
...controlProps,
|
|
8554
8633
|
children: [
|
|
8555
|
-
/* @__PURE__ */ (0,
|
|
8634
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards29.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
|
|
8556
8635
|
Button,
|
|
8557
8636
|
{
|
|
8558
8637
|
"aria-expanded": isOpen,
|
|
8559
8638
|
disabled,
|
|
8560
8639
|
forceState: isOpen ? "active" : void 0,
|
|
8561
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8640
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Icon, { type: "caret-down" }),
|
|
8562
8641
|
...triggerProps,
|
|
8563
8642
|
children: label
|
|
8564
8643
|
}
|
|
8565
8644
|
) }),
|
|
8566
|
-
/* @__PURE__ */ (0,
|
|
8645
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_react_dropdown_menu.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
|
|
8567
8646
|
MenuContent,
|
|
8568
8647
|
{
|
|
8569
8648
|
...props,
|
|
@@ -8583,19 +8662,19 @@ var Menu = ({
|
|
|
8583
8662
|
Menu.displayName = "Menu";
|
|
8584
8663
|
|
|
8585
8664
|
// src/components/Menu/MenuLabel.tsx
|
|
8586
|
-
var
|
|
8665
|
+
var import_styled_components51 = __toESM(require("styled-components"));
|
|
8587
8666
|
var import_react_dropdown_menu2 = require("@radix-ui/react-dropdown-menu");
|
|
8588
|
-
var
|
|
8589
|
-
var StyledMenuLabel = (0,
|
|
8667
|
+
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
8668
|
+
var StyledMenuLabel = (0, import_styled_components51.default)(import_react_dropdown_menu2.DropdownMenuLabel)`
|
|
8590
8669
|
padding: var(--wui-space-02);
|
|
8591
8670
|
`;
|
|
8592
8671
|
var MenuLabel = ({ children, ...props }) => {
|
|
8593
|
-
return /* @__PURE__ */ (0,
|
|
8672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
8594
8673
|
StyledMenuLabel,
|
|
8595
8674
|
{
|
|
8596
8675
|
asChild: true,
|
|
8597
8676
|
...props,
|
|
8598
|
-
children: /* @__PURE__ */ (0,
|
|
8677
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
8599
8678
|
Heading,
|
|
8600
8679
|
{
|
|
8601
8680
|
renderAs: "span",
|
|
@@ -8610,17 +8689,17 @@ var MenuLabel = ({ children, ...props }) => {
|
|
|
8610
8689
|
MenuLabel.displayName = "MenuLabel";
|
|
8611
8690
|
|
|
8612
8691
|
// src/components/Menu/SubMenu.tsx
|
|
8613
|
-
var
|
|
8614
|
-
var
|
|
8692
|
+
var import_react36 = require("react");
|
|
8693
|
+
var import_styled_components54 = __toESM(require("styled-components"));
|
|
8615
8694
|
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
8616
|
-
var
|
|
8695
|
+
var import_type_guards31 = require("@wistia/type-guards");
|
|
8617
8696
|
|
|
8618
8697
|
// src/components/Menu/MenuItemButton.tsx
|
|
8619
|
-
var
|
|
8620
|
-
var
|
|
8621
|
-
var
|
|
8622
|
-
var
|
|
8623
|
-
var StyledButton3 = (0,
|
|
8698
|
+
var import_react35 = require("react");
|
|
8699
|
+
var import_styled_components52 = __toESM(require("styled-components"));
|
|
8700
|
+
var import_type_guards30 = require("@wistia/type-guards");
|
|
8701
|
+
var import_jsx_runtime198 = require("react/jsx-runtime");
|
|
8702
|
+
var StyledButton3 = (0, import_styled_components52.default)(Button)`
|
|
8624
8703
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
8625
8704
|
|
|
8626
8705
|
display: flex;
|
|
@@ -8659,7 +8738,7 @@ var StyledButton3 = (0, import_styled_components50.default)(Button)`
|
|
|
8659
8738
|
padding-left: var(--wui-space-04);
|
|
8660
8739
|
}
|
|
8661
8740
|
`;
|
|
8662
|
-
var StyledLeftIconContainer =
|
|
8741
|
+
var StyledLeftIconContainer = import_styled_components52.default.div`
|
|
8663
8742
|
height: var(--menu-item-left-icon-size);
|
|
8664
8743
|
width: var(--menu-item-left-icon-size);
|
|
8665
8744
|
|
|
@@ -8670,7 +8749,7 @@ var StyledLeftIconContainer = import_styled_components50.default.div`
|
|
|
8670
8749
|
}
|
|
8671
8750
|
}
|
|
8672
8751
|
`;
|
|
8673
|
-
var StyledRightIconContainer =
|
|
8752
|
+
var StyledRightIconContainer = import_styled_components52.default.div`
|
|
8674
8753
|
height: var(--menu-item-right-icon-size);
|
|
8675
8754
|
width: var(--menu-item-right-icon-size);
|
|
8676
8755
|
|
|
@@ -8681,28 +8760,28 @@ var StyledRightIconContainer = import_styled_components50.default.div`
|
|
|
8681
8760
|
}
|
|
8682
8761
|
}
|
|
8683
8762
|
`;
|
|
8684
|
-
var StyledLabelAndDescriptionContainer =
|
|
8763
|
+
var StyledLabelAndDescriptionContainer = import_styled_components52.default.div`
|
|
8685
8764
|
display: flex;
|
|
8686
8765
|
flex-direction: column;
|
|
8687
8766
|
gap: var(--menu-label-description-gap);
|
|
8688
8767
|
flex-basis: 100%;
|
|
8689
8768
|
`;
|
|
8690
|
-
var StyledBadgeContainer =
|
|
8769
|
+
var StyledBadgeContainer = import_styled_components52.default.div`
|
|
8691
8770
|
align-self: start;
|
|
8692
8771
|
justify-self: end;
|
|
8693
8772
|
font-size: var(--wui-typography-label-4-size);
|
|
8694
8773
|
color: var(--wui-color-text-secondary);
|
|
8695
8774
|
`;
|
|
8696
|
-
var MenuItemButton = (0,
|
|
8775
|
+
var MenuItemButton = (0, import_react35.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
|
|
8697
8776
|
let { colorScheme, badge } = props;
|
|
8698
8777
|
if (appearance === "dangerous") {
|
|
8699
|
-
if ((0,
|
|
8778
|
+
if ((0, import_type_guards30.isNotUndefined)(colorScheme)) {
|
|
8700
8779
|
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
8701
8780
|
}
|
|
8702
8781
|
colorScheme = "error";
|
|
8703
8782
|
}
|
|
8704
8783
|
if (appearance === "gated") {
|
|
8705
|
-
badge = /* @__PURE__ */ (0,
|
|
8784
|
+
badge = /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
8706
8785
|
Icon,
|
|
8707
8786
|
{
|
|
8708
8787
|
colorScheme: "purple",
|
|
@@ -8714,7 +8793,7 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8714
8793
|
}
|
|
8715
8794
|
);
|
|
8716
8795
|
}
|
|
8717
|
-
return /* @__PURE__ */ (0,
|
|
8796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)(
|
|
8718
8797
|
StyledButton3,
|
|
8719
8798
|
{
|
|
8720
8799
|
...props,
|
|
@@ -8724,10 +8803,10 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8724
8803
|
fullWidth: true,
|
|
8725
8804
|
unstyled: true,
|
|
8726
8805
|
children: [
|
|
8727
|
-
props.leftIcon ? /* @__PURE__ */ (0,
|
|
8728
|
-
/* @__PURE__ */ (0,
|
|
8729
|
-
(0,
|
|
8730
|
-
props.rightIcon ? /* @__PURE__ */ (0,
|
|
8806
|
+
props.leftIcon ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledLeftIconContainer, { children: props.leftIcon }) : null,
|
|
8807
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledLabelAndDescriptionContainer, { children }),
|
|
8808
|
+
(0, import_type_guards30.isNotNil)(badge) || (0, import_type_guards30.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null,
|
|
8809
|
+
props.rightIcon ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledRightIconContainer, { children: props.rightIcon }) : null
|
|
8731
8810
|
]
|
|
8732
8811
|
}
|
|
8733
8812
|
);
|
|
@@ -8735,33 +8814,33 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8735
8814
|
MenuItemButton.displayName = "MenuItemButton";
|
|
8736
8815
|
|
|
8737
8816
|
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
8738
|
-
var
|
|
8739
|
-
var
|
|
8740
|
-
var StyledMenuItemLabel =
|
|
8741
|
-
var StyledMenuItemDescription = (0,
|
|
8817
|
+
var import_styled_components53 = __toESM(require("styled-components"));
|
|
8818
|
+
var import_jsx_runtime199 = require("react/jsx-runtime");
|
|
8819
|
+
var StyledMenuItemLabel = import_styled_components53.default.span``;
|
|
8820
|
+
var StyledMenuItemDescription = (0, import_styled_components53.default)(Text).attrs({
|
|
8742
8821
|
variant: "body4",
|
|
8743
8822
|
prominence: "secondary"
|
|
8744
8823
|
})``;
|
|
8745
8824
|
var MenuItemLabel = ({ children }) => {
|
|
8746
|
-
return /* @__PURE__ */ (0,
|
|
8825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(StyledMenuItemLabel, { children });
|
|
8747
8826
|
};
|
|
8748
8827
|
var MenuItemDescription = ({ children }) => {
|
|
8749
|
-
return /* @__PURE__ */ (0,
|
|
8828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(StyledMenuItemDescription, { children });
|
|
8750
8829
|
};
|
|
8751
8830
|
|
|
8752
8831
|
// src/components/Menu/SubMenu.tsx
|
|
8753
|
-
var
|
|
8754
|
-
var SubMenuContent = (0,
|
|
8832
|
+
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
8833
|
+
var SubMenuContent = (0, import_styled_components54.default)(import_react_dropdown_menu3.DropdownMenuSubContent)`
|
|
8755
8834
|
${menuContentCss}
|
|
8756
8835
|
|
|
8757
8836
|
${mq.smAndDown} {
|
|
8758
8837
|
transform: translateX(-100%) !important;
|
|
8759
8838
|
}
|
|
8760
8839
|
`;
|
|
8761
|
-
var StyledMobileSubMenuItems =
|
|
8840
|
+
var StyledMobileSubMenuItems = import_styled_components54.default.div`
|
|
8762
8841
|
margin-left: var(--wui-space-04);
|
|
8763
8842
|
`;
|
|
8764
|
-
var StyledSubTrigger = (0,
|
|
8843
|
+
var StyledSubTrigger = (0, import_styled_components54.default)(import_react_dropdown_menu3.DropdownMenuSubTrigger)`
|
|
8765
8844
|
outline: none;
|
|
8766
8845
|
|
|
8767
8846
|
&[data-state='open'],
|
|
@@ -8771,12 +8850,12 @@ var StyledSubTrigger = (0, import_styled_components52.default)(import_react_drop
|
|
|
8771
8850
|
`;
|
|
8772
8851
|
var SubMenuTrigger = (props) => {
|
|
8773
8852
|
const { isSmAndUp } = useMq();
|
|
8774
|
-
const
|
|
8775
|
-
return /* @__PURE__ */ (0,
|
|
8853
|
+
const Trigger4 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
|
|
8854
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Trigger4, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
8776
8855
|
MenuItemButton,
|
|
8777
8856
|
{
|
|
8778
8857
|
...props,
|
|
8779
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8858
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Icon, { type: "caret-right" })
|
|
8780
8859
|
}
|
|
8781
8860
|
) });
|
|
8782
8861
|
};
|
|
@@ -8788,16 +8867,16 @@ var SubMenu = ({
|
|
|
8788
8867
|
...props
|
|
8789
8868
|
}) => {
|
|
8790
8869
|
const { isSmAndUp } = useMq();
|
|
8791
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
8870
|
+
const [isExpanded, setIsExpanded] = (0, import_react36.useState)(false);
|
|
8792
8871
|
const { compact } = useMenuContext();
|
|
8793
|
-
return isSmAndUp ? /* @__PURE__ */ (0,
|
|
8794
|
-
/* @__PURE__ */ (0,
|
|
8795
|
-
/* @__PURE__ */ (0,
|
|
8796
|
-
(0,
|
|
8872
|
+
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
8873
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
8874
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemLabel, { children: label }),
|
|
8875
|
+
(0, import_type_guards31.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemDescription, { children: description }) : null
|
|
8797
8876
|
] }),
|
|
8798
|
-
/* @__PURE__ */ (0,
|
|
8799
|
-
] }) : /* @__PURE__ */ (0,
|
|
8800
|
-
/* @__PURE__ */ (0,
|
|
8877
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(SubMenuContent, { $compact: compact, children }) })
|
|
8878
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
|
|
8879
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(
|
|
8801
8880
|
SubMenuTrigger,
|
|
8802
8881
|
{
|
|
8803
8882
|
...props,
|
|
@@ -8806,28 +8885,28 @@ var SubMenu = ({
|
|
|
8806
8885
|
setIsExpanded((prev) => !prev);
|
|
8807
8886
|
},
|
|
8808
8887
|
children: [
|
|
8809
|
-
/* @__PURE__ */ (0,
|
|
8810
|
-
/* @__PURE__ */ (0,
|
|
8888
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemLabel, { children: label }),
|
|
8889
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemDescription, { children: description })
|
|
8811
8890
|
]
|
|
8812
8891
|
}
|
|
8813
8892
|
),
|
|
8814
|
-
/* @__PURE__ */ (0,
|
|
8893
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
8815
8894
|
] });
|
|
8816
8895
|
};
|
|
8817
8896
|
SubMenu.displayName = "SubMenu";
|
|
8818
8897
|
|
|
8819
8898
|
// src/components/Menu/MenuItem.tsx
|
|
8820
|
-
var
|
|
8899
|
+
var import_react37 = require("react");
|
|
8821
8900
|
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
8822
|
-
var
|
|
8823
|
-
var MenuItem = (0,
|
|
8901
|
+
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
8902
|
+
var MenuItem = (0, import_react37.forwardRef)(
|
|
8824
8903
|
({ onSelect = () => null, ...props }, ref) => {
|
|
8825
|
-
return /* @__PURE__ */ (0,
|
|
8904
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
8826
8905
|
import_react_dropdown_menu4.DropdownMenuItem,
|
|
8827
8906
|
{
|
|
8828
8907
|
asChild: true,
|
|
8829
8908
|
onSelect,
|
|
8830
|
-
children: /* @__PURE__ */ (0,
|
|
8909
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
8831
8910
|
MenuItemButton,
|
|
8832
8911
|
{
|
|
8833
8912
|
...props,
|
|
@@ -8843,10 +8922,10 @@ MenuItem.displayName = "MenuItem";
|
|
|
8843
8922
|
|
|
8844
8923
|
// src/components/Menu/MenuRadioGroup.tsx
|
|
8845
8924
|
var import_react_dropdown_menu5 = require("@radix-ui/react-dropdown-menu");
|
|
8846
|
-
var
|
|
8925
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
8847
8926
|
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
8848
|
-
return /* @__PURE__ */ (0,
|
|
8849
|
-
/* @__PURE__ */ (0,
|
|
8927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)(import_react_dropdown_menu5.DropdownMenuRadioGroup, { ...props, children: [
|
|
8928
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)(MenuLabel, { children: label }),
|
|
8850
8929
|
children
|
|
8851
8930
|
] });
|
|
8852
8931
|
};
|
|
@@ -8854,11 +8933,11 @@ MenuRadioGroup.displayName = "MenuRadioGroup";
|
|
|
8854
8933
|
|
|
8855
8934
|
// src/components/Menu/RadioMenuItem.tsx
|
|
8856
8935
|
var import_react_dropdown_menu6 = require("@radix-ui/react-dropdown-menu");
|
|
8857
|
-
var
|
|
8936
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
8858
8937
|
var RadioMenuItem = ({
|
|
8859
8938
|
onSelect,
|
|
8860
8939
|
value,
|
|
8861
|
-
indicator = /* @__PURE__ */ (0,
|
|
8940
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8862
8941
|
Icon,
|
|
8863
8942
|
{
|
|
8864
8943
|
size: "sm",
|
|
@@ -8868,17 +8947,17 @@ var RadioMenuItem = ({
|
|
|
8868
8947
|
...props
|
|
8869
8948
|
}) => {
|
|
8870
8949
|
const extraProps = onSelect ? { onSelect } : {};
|
|
8871
|
-
return /* @__PURE__ */ (0,
|
|
8950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8872
8951
|
import_react_dropdown_menu6.DropdownMenuRadioItem,
|
|
8873
8952
|
{
|
|
8874
8953
|
...extraProps,
|
|
8875
8954
|
asChild: true,
|
|
8876
8955
|
value,
|
|
8877
|
-
children: /* @__PURE__ */ (0,
|
|
8956
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8878
8957
|
MenuItemButton,
|
|
8879
8958
|
{
|
|
8880
8959
|
...props,
|
|
8881
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8960
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_react_dropdown_menu6.DropdownMenuItemIndicator, { children: indicator })
|
|
8882
8961
|
}
|
|
8883
8962
|
)
|
|
8884
8963
|
}
|
|
@@ -8888,9 +8967,9 @@ RadioMenuItem.displayName = "RadioMenuItem";
|
|
|
8888
8967
|
|
|
8889
8968
|
// src/components/Menu/CheckboxMenuItem.tsx
|
|
8890
8969
|
var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
|
|
8891
|
-
var
|
|
8970
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
8892
8971
|
var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
8893
|
-
return checked ? /* @__PURE__ */ (0,
|
|
8972
|
+
return checked ? /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(
|
|
8894
8973
|
"svg",
|
|
8895
8974
|
{
|
|
8896
8975
|
...props,
|
|
@@ -8900,14 +8979,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8900
8979
|
width: "24",
|
|
8901
8980
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8902
8981
|
children: [
|
|
8903
|
-
/* @__PURE__ */ (0,
|
|
8982
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8904
8983
|
"path",
|
|
8905
8984
|
{
|
|
8906
8985
|
d: "m4 8c0-2.20914 1.79086-4 4-4h8c2.2091 0 4 1.79086 4 4v8c0 2.2091-1.7909 4-4 4h-8c-2.20914 0-4-1.7909-4-4z",
|
|
8907
8986
|
fill: "#2949e5"
|
|
8908
8987
|
}
|
|
8909
8988
|
),
|
|
8910
|
-
/* @__PURE__ */ (0,
|
|
8989
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8911
8990
|
"path",
|
|
8912
8991
|
{
|
|
8913
8992
|
d: "m10.4728 15.1931-3.09523-3.1131c-.18596-.187-.18596-.4902 0-.6773l.67341-.6773c.18596-.187.48749-.187.67344 0l2.08508 2.0971 4.4661-4.49174c.1859-.18703.4875-.18703.6734 0l.6734.67731c.186.18703.186.49027 0 .67731l-5.4762 5.50772c-.1859.187-.4874.187-.6734 0z",
|
|
@@ -8916,7 +8995,7 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8916
8995
|
)
|
|
8917
8996
|
]
|
|
8918
8997
|
}
|
|
8919
|
-
) : /* @__PURE__ */ (0,
|
|
8998
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(
|
|
8920
8999
|
"svg",
|
|
8921
9000
|
{
|
|
8922
9001
|
...props,
|
|
@@ -8926,14 +9005,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8926
9005
|
width: "24",
|
|
8927
9006
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8928
9007
|
children: [
|
|
8929
|
-
/* @__PURE__ */ (0,
|
|
9008
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8930
9009
|
"path",
|
|
8931
9010
|
{
|
|
8932
9011
|
d: "m8 4.5h8c1.933 0 3.5 1.567 3.5 3.5v8c0 1.933-1.567 3.5-3.5 3.5h-8c-1.933 0-3.5-1.567-3.5-3.5v-8c0-1.933 1.567-3.5 3.5-3.5z",
|
|
8933
9012
|
fill: "#fcfcfd"
|
|
8934
9013
|
}
|
|
8935
9014
|
),
|
|
8936
|
-
/* @__PURE__ */ (0,
|
|
9015
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8937
9016
|
"path",
|
|
8938
9017
|
{
|
|
8939
9018
|
d: "m8 4.5h8c1.933 0 3.5 1.567 3.5 3.5v8c0 1.933-1.567 3.5-3.5 3.5h-8c-1.933 0-3.5-1.567-3.5-3.5v-8c0-1.933 1.567-3.5 3.5-3.5z",
|
|
@@ -8950,18 +9029,18 @@ var CheckboxMenuItem = ({
|
|
|
8950
9029
|
onCheckedChange,
|
|
8951
9030
|
...props
|
|
8952
9031
|
}) => {
|
|
8953
|
-
return /* @__PURE__ */ (0,
|
|
9032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8954
9033
|
import_react_dropdown_menu7.DropdownMenuCheckboxItem,
|
|
8955
9034
|
{
|
|
8956
9035
|
asChild: true,
|
|
8957
9036
|
checked,
|
|
8958
9037
|
onCheckedChange,
|
|
8959
9038
|
onSelect,
|
|
8960
|
-
children: /* @__PURE__ */ (0,
|
|
9039
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8961
9040
|
MenuItemButton,
|
|
8962
9041
|
{
|
|
8963
9042
|
...props,
|
|
8964
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
9043
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(CheckboxIndicator2, { checked })
|
|
8965
9044
|
}
|
|
8966
9045
|
)
|
|
8967
9046
|
}
|
|
@@ -8970,37 +9049,37 @@ var CheckboxMenuItem = ({
|
|
|
8970
9049
|
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
8971
9050
|
|
|
8972
9051
|
// src/components/Modal/Modal.tsx
|
|
8973
|
-
var
|
|
8974
|
-
var
|
|
9052
|
+
var import_react41 = require("react");
|
|
9053
|
+
var import_styled_components59 = __toESM(require("styled-components"));
|
|
8975
9054
|
var import_react_dialog4 = require("@radix-ui/react-dialog");
|
|
8976
|
-
var
|
|
9055
|
+
var import_type_guards33 = require("@wistia/type-guards");
|
|
8977
9056
|
|
|
8978
9057
|
// src/components/Modal/ModalHeader.tsx
|
|
8979
|
-
var
|
|
9058
|
+
var import_styled_components56 = __toESM(require("styled-components"));
|
|
8980
9059
|
var import_react_dialog2 = require("@radix-ui/react-dialog");
|
|
8981
9060
|
|
|
8982
9061
|
// src/components/Modal/ModalCloseButton.tsx
|
|
8983
|
-
var
|
|
9062
|
+
var import_styled_components55 = __toESM(require("styled-components"));
|
|
8984
9063
|
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
8985
|
-
var
|
|
8986
|
-
var CloseButton = (0,
|
|
9064
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
9065
|
+
var CloseButton = (0, import_styled_components55.default)(import_react_dialog.Close)`
|
|
8987
9066
|
align-self: start;
|
|
8988
9067
|
`;
|
|
8989
9068
|
var ModalCloseButton = () => {
|
|
8990
|
-
return /* @__PURE__ */ (0,
|
|
9069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(CloseButton, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(
|
|
8991
9070
|
IconButton,
|
|
8992
9071
|
{
|
|
8993
9072
|
label: "Dismiss modal",
|
|
8994
9073
|
size: "sm",
|
|
8995
9074
|
variant: "ghost",
|
|
8996
|
-
children: /* @__PURE__ */ (0,
|
|
9075
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(Icon, { type: "close" })
|
|
8997
9076
|
}
|
|
8998
9077
|
) });
|
|
8999
9078
|
};
|
|
9000
9079
|
|
|
9001
9080
|
// src/components/Modal/ModalHeader.tsx
|
|
9002
|
-
var
|
|
9003
|
-
var Header =
|
|
9081
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
9082
|
+
var Header = import_styled_components56.default.header`
|
|
9004
9083
|
display: flex;
|
|
9005
9084
|
order: 1;
|
|
9006
9085
|
gap: var(--wui-space-01);
|
|
@@ -9012,7 +9091,7 @@ var Header = import_styled_components54.default.header`
|
|
|
9012
9091
|
margin-top: 0;
|
|
9013
9092
|
}
|
|
9014
9093
|
`;
|
|
9015
|
-
var Title = (0,
|
|
9094
|
+
var Title = (0, import_styled_components56.default)(import_react_dialog2.Title)`
|
|
9016
9095
|
font-family: var(--wui-typography-heading-2-family);
|
|
9017
9096
|
line-height: var(--wui-typography-heading-2-line-height);
|
|
9018
9097
|
font-size: var(--wui-typography-heading-2-size);
|
|
@@ -9024,28 +9103,28 @@ var ModalHeader = ({
|
|
|
9024
9103
|
hideCloseButton
|
|
9025
9104
|
}) => {
|
|
9026
9105
|
const TitleWrapper = hideTitle ? ScreenReaderOnly : Title;
|
|
9027
|
-
return /* @__PURE__ */ (0,
|
|
9028
|
-
/* @__PURE__ */ (0,
|
|
9029
|
-
hideCloseButton ? null : /* @__PURE__ */ (0,
|
|
9106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(Header, { children: [
|
|
9107
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(TitleWrapper, { children: title }),
|
|
9108
|
+
hideCloseButton ? null : /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(ModalCloseButton, {})
|
|
9030
9109
|
] });
|
|
9031
9110
|
};
|
|
9032
9111
|
|
|
9033
9112
|
// src/components/Modal/ModalContent.tsx
|
|
9034
|
-
var
|
|
9035
|
-
var
|
|
9113
|
+
var import_react39 = require("react");
|
|
9114
|
+
var import_styled_components57 = __toESM(require("styled-components"));
|
|
9036
9115
|
var import_react_dialog3 = require("@radix-ui/react-dialog");
|
|
9037
9116
|
|
|
9038
9117
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
9039
|
-
var
|
|
9040
|
-
var
|
|
9118
|
+
var import_react38 = require("react");
|
|
9119
|
+
var import_type_guards32 = require("@wistia/type-guards");
|
|
9041
9120
|
var useFocusRestore = () => {
|
|
9042
|
-
const previouslyFocusedRef = (0,
|
|
9043
|
-
(0,
|
|
9121
|
+
const previouslyFocusedRef = (0, import_react38.useRef)(null);
|
|
9122
|
+
(0, import_react38.useEffect)(() => {
|
|
9044
9123
|
previouslyFocusedRef.current = document.activeElement;
|
|
9045
9124
|
}, []);
|
|
9046
|
-
(0,
|
|
9125
|
+
(0, import_react38.useEffect)(() => {
|
|
9047
9126
|
return () => {
|
|
9048
|
-
if ((0,
|
|
9127
|
+
if ((0, import_type_guards32.isNotNil)(previouslyFocusedRef.current)) {
|
|
9049
9128
|
setTimeout(() => {
|
|
9050
9129
|
previouslyFocusedRef.current?.focus();
|
|
9051
9130
|
}, 0);
|
|
@@ -9055,8 +9134,8 @@ var useFocusRestore = () => {
|
|
|
9055
9134
|
};
|
|
9056
9135
|
|
|
9057
9136
|
// src/components/Modal/ModalContent.tsx
|
|
9058
|
-
var
|
|
9059
|
-
var StyledModalContent = (0,
|
|
9137
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
9138
|
+
var StyledModalContent = (0, import_styled_components57.default)(import_react_dialog3.Content)`
|
|
9060
9139
|
background-color: var(--wui-color-bg-app);
|
|
9061
9140
|
box-sizing: border-box;
|
|
9062
9141
|
display: flex;
|
|
@@ -9097,10 +9176,10 @@ var StyledModalContent = (0, import_styled_components55.default)(import_react_di
|
|
|
9097
9176
|
}
|
|
9098
9177
|
}
|
|
9099
9178
|
`;
|
|
9100
|
-
var ModalContent = (0,
|
|
9179
|
+
var ModalContent = (0, import_react39.forwardRef)(
|
|
9101
9180
|
({ fullHeight, width, children, ...otherProps }, ref) => {
|
|
9102
9181
|
useFocusRestore();
|
|
9103
|
-
return /* @__PURE__ */ (0,
|
|
9182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
9104
9183
|
StyledModalContent,
|
|
9105
9184
|
{
|
|
9106
9185
|
ref,
|
|
@@ -9115,9 +9194,9 @@ var ModalContent = (0, import_react38.forwardRef)(
|
|
|
9115
9194
|
);
|
|
9116
9195
|
|
|
9117
9196
|
// src/private/components/Backdrop/Backdrop.tsx
|
|
9118
|
-
var
|
|
9119
|
-
var
|
|
9120
|
-
var
|
|
9197
|
+
var import_react40 = require("react");
|
|
9198
|
+
var import_styled_components58 = __toESM(require("styled-components"));
|
|
9199
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
9121
9200
|
var backdropAnimationDuration = 150;
|
|
9122
9201
|
var alignVerticalMap = {
|
|
9123
9202
|
stretch: "normal",
|
|
@@ -9130,7 +9209,7 @@ var alignHorizontalMap = {
|
|
|
9130
9209
|
center: "center",
|
|
9131
9210
|
right: "end"
|
|
9132
9211
|
};
|
|
9133
|
-
var BackdropComponent =
|
|
9212
|
+
var BackdropComponent = import_styled_components58.default.div`
|
|
9134
9213
|
align-items: ${({ $alignVertical }) => alignVerticalMap[$alignVertical]};
|
|
9135
9214
|
animation-name: backdropShow;
|
|
9136
9215
|
animation-duration: ${() => `${backdropAnimationDuration}ms`};
|
|
@@ -9153,8 +9232,8 @@ var BackdropComponent = import_styled_components56.default.div`
|
|
|
9153
9232
|
}
|
|
9154
9233
|
}
|
|
9155
9234
|
`;
|
|
9156
|
-
var Backdrop = (0,
|
|
9157
|
-
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0,
|
|
9235
|
+
var Backdrop = (0, import_react40.forwardRef)(
|
|
9236
|
+
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
9158
9237
|
BackdropComponent,
|
|
9159
9238
|
{
|
|
9160
9239
|
ref,
|
|
@@ -9168,14 +9247,14 @@ var Backdrop = (0, import_react39.forwardRef)(
|
|
|
9168
9247
|
Backdrop.displayName = "Backdrop";
|
|
9169
9248
|
|
|
9170
9249
|
// src/components/Modal/Modal.tsx
|
|
9171
|
-
var
|
|
9250
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
9172
9251
|
var DEFAULT_MODAL_WIDTH = "532px";
|
|
9173
|
-
var ModalBody =
|
|
9252
|
+
var ModalBody = import_styled_components59.default.div`
|
|
9174
9253
|
flex-direction: column;
|
|
9175
9254
|
display: flex;
|
|
9176
9255
|
order: 2;
|
|
9177
9256
|
`;
|
|
9178
|
-
var Modal = (0,
|
|
9257
|
+
var Modal = (0, import_react41.forwardRef)(
|
|
9179
9258
|
({
|
|
9180
9259
|
children,
|
|
9181
9260
|
fullHeight = false,
|
|
@@ -9188,24 +9267,24 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9188
9267
|
width = DEFAULT_MODAL_WIDTH,
|
|
9189
9268
|
...props
|
|
9190
9269
|
}, ref) => {
|
|
9191
|
-
return /* @__PURE__ */ (0,
|
|
9270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
9192
9271
|
import_react_dialog4.Root,
|
|
9193
9272
|
{
|
|
9194
9273
|
onOpenChange: (open2) => {
|
|
9195
|
-
if (!open2 && (0,
|
|
9274
|
+
if (!open2 && (0, import_type_guards33.isNotNil)(onRequestClose)) {
|
|
9196
9275
|
onRequestClose();
|
|
9197
9276
|
}
|
|
9198
9277
|
},
|
|
9199
9278
|
open: isOpen,
|
|
9200
|
-
children: /* @__PURE__ */ (0,
|
|
9201
|
-
/* @__PURE__ */ (0,
|
|
9202
|
-
/* @__PURE__ */ (0,
|
|
9279
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)(import_react_dialog4.Portal, { children: [
|
|
9280
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Backdrop, {}),
|
|
9281
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsxs)(
|
|
9203
9282
|
ModalContent,
|
|
9204
9283
|
{
|
|
9205
9284
|
ref,
|
|
9206
9285
|
fullHeight,
|
|
9207
9286
|
onOpenAutoFocus: (event) => {
|
|
9208
|
-
if ((0,
|
|
9287
|
+
if ((0, import_type_guards33.isNotNil)(initialFocusRef) && initialFocusRef.current) {
|
|
9209
9288
|
event.preventDefault();
|
|
9210
9289
|
requestAnimationFrame(() => {
|
|
9211
9290
|
initialFocusRef.current?.focus();
|
|
@@ -9215,8 +9294,8 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9215
9294
|
width,
|
|
9216
9295
|
...props,
|
|
9217
9296
|
children: [
|
|
9218
|
-
/* @__PURE__ */ (0,
|
|
9219
|
-
/* @__PURE__ */ (0,
|
|
9297
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(ModalBody, { children }),
|
|
9298
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
9220
9299
|
ModalHeader,
|
|
9221
9300
|
{
|
|
9222
9301
|
hideCloseButton,
|
|
@@ -9235,16 +9314,16 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9235
9314
|
Modal.displayName = "Modal";
|
|
9236
9315
|
|
|
9237
9316
|
// src/components/Radio/Radio.tsx
|
|
9238
|
-
var
|
|
9239
|
-
var
|
|
9240
|
-
var
|
|
9241
|
-
var
|
|
9242
|
-
var StyledLabelWrapper2 =
|
|
9317
|
+
var import_react42 = require("react");
|
|
9318
|
+
var import_styled_components60 = __toESM(require("styled-components"));
|
|
9319
|
+
var import_type_guards34 = require("@wistia/type-guards");
|
|
9320
|
+
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
9321
|
+
var StyledLabelWrapper2 = import_styled_components60.default.div`
|
|
9243
9322
|
display: flex;
|
|
9244
9323
|
flex-direction: column;
|
|
9245
9324
|
padding-left: var(--wui-space-02);
|
|
9246
9325
|
`;
|
|
9247
|
-
var StyledRadio =
|
|
9326
|
+
var StyledRadio = import_styled_components60.default.input`
|
|
9248
9327
|
box-shadow: ${({ type }) => type === "checkbox" ? "inset 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.38)" : "none"};
|
|
9249
9328
|
appearance: none;
|
|
9250
9329
|
margin: 0;
|
|
@@ -9270,11 +9349,11 @@ var StyledRadio = import_styled_components58.default.input`
|
|
|
9270
9349
|
transform: scale(1);
|
|
9271
9350
|
}
|
|
9272
9351
|
`;
|
|
9273
|
-
var disabledStyle2 =
|
|
9352
|
+
var disabledStyle2 = import_styled_components60.css`
|
|
9274
9353
|
cursor: not-allowed;
|
|
9275
9354
|
opacity: 0.5;
|
|
9276
9355
|
`;
|
|
9277
|
-
var errorStyle =
|
|
9356
|
+
var errorStyle = import_styled_components60.css`
|
|
9278
9357
|
/* TODO Lamp to design error state */
|
|
9279
9358
|
&:hover,
|
|
9280
9359
|
&:focus,
|
|
@@ -9282,11 +9361,11 @@ var errorStyle = import_styled_components58.css`
|
|
|
9282
9361
|
border-color: transparent !important;
|
|
9283
9362
|
}
|
|
9284
9363
|
`;
|
|
9285
|
-
var defaultHoverStyle =
|
|
9364
|
+
var defaultHoverStyle = import_styled_components60.css`
|
|
9286
9365
|
/* TODO Lamp to design hover state */
|
|
9287
9366
|
cursor: pointer;
|
|
9288
9367
|
`;
|
|
9289
|
-
var StyledRadioWrapper =
|
|
9368
|
+
var StyledRadioWrapper = import_styled_components60.default.div`
|
|
9290
9369
|
align-items: baseline;
|
|
9291
9370
|
border: 1px solid transparent;
|
|
9292
9371
|
border-radius: 4px;
|
|
@@ -9309,7 +9388,7 @@ var StyledRadioWrapper = import_styled_components58.default.div`
|
|
|
9309
9388
|
|
|
9310
9389
|
${({ disabled }) => disabled && disabledStyle2};
|
|
9311
9390
|
`;
|
|
9312
|
-
var Radio = (0,
|
|
9391
|
+
var Radio = (0, import_react42.forwardRef)(
|
|
9313
9392
|
({
|
|
9314
9393
|
checked,
|
|
9315
9394
|
disabled = false,
|
|
@@ -9322,15 +9401,15 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9322
9401
|
value = "false",
|
|
9323
9402
|
...otherProps
|
|
9324
9403
|
}, ref) => {
|
|
9325
|
-
const generatedId = (0,
|
|
9326
|
-
const computedId = (0,
|
|
9327
|
-
return /* @__PURE__ */ (0,
|
|
9404
|
+
const generatedId = (0, import_react42.useId)();
|
|
9405
|
+
const computedId = (0, import_type_guards34.isNonEmptyString)(id) ? id : `ui-radio-${generatedId}`;
|
|
9406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9328
9407
|
StyledRadioWrapper,
|
|
9329
9408
|
{
|
|
9330
9409
|
"aria-invalid": otherProps["aria-invalid"],
|
|
9331
9410
|
disabled,
|
|
9332
9411
|
children: [
|
|
9333
|
-
/* @__PURE__ */ (0,
|
|
9412
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
9334
9413
|
StyledRadio,
|
|
9335
9414
|
{
|
|
9336
9415
|
ref,
|
|
@@ -9345,8 +9424,8 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9345
9424
|
...otherProps
|
|
9346
9425
|
}
|
|
9347
9426
|
),
|
|
9348
|
-
/* @__PURE__ */ (0,
|
|
9349
|
-
/* @__PURE__ */ (0,
|
|
9427
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(StyledLabelWrapper2, { children: [
|
|
9428
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
9350
9429
|
Label,
|
|
9351
9430
|
{
|
|
9352
9431
|
disabled,
|
|
@@ -9355,7 +9434,7 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9355
9434
|
children: label
|
|
9356
9435
|
}
|
|
9357
9436
|
),
|
|
9358
|
-
/* @__PURE__ */ (0,
|
|
9437
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(LabelDescription, { children: description })
|
|
9359
9438
|
] })
|
|
9360
9439
|
]
|
|
9361
9440
|
}
|
|
@@ -9365,23 +9444,112 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9365
9444
|
Radio.displayName = "Radio";
|
|
9366
9445
|
|
|
9367
9446
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9368
|
-
var
|
|
9369
|
-
var
|
|
9447
|
+
var import_react46 = require("react");
|
|
9448
|
+
var import_styled_components62 = __toESM(require("styled-components"));
|
|
9370
9449
|
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
9371
|
-
var
|
|
9372
|
-
|
|
9373
|
-
|
|
9450
|
+
var import_type_guards35 = require("@wistia/type-guards");
|
|
9451
|
+
|
|
9452
|
+
// src/components/SegmentedControl/useSelectedItemMeasurements.tsx
|
|
9453
|
+
var import_react43 = require("react");
|
|
9454
|
+
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
9455
|
+
var SelectedItemMeasurementsContext = (0, import_react43.createContext)(
|
|
9456
|
+
null
|
|
9457
|
+
);
|
|
9458
|
+
var SelectedItemMeasurementsProvider = ({
|
|
9459
|
+
children
|
|
9460
|
+
}) => {
|
|
9461
|
+
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react43.useState)(null);
|
|
9462
|
+
const contextValue = (0, import_react43.useMemo)(
|
|
9463
|
+
() => ({
|
|
9464
|
+
setSelectedItemMeasurements,
|
|
9465
|
+
selectedItemMeasurements
|
|
9466
|
+
}),
|
|
9467
|
+
[selectedItemMeasurements]
|
|
9468
|
+
);
|
|
9469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
|
|
9470
|
+
};
|
|
9471
|
+
var useSelectedItemMeasurements = () => {
|
|
9472
|
+
const context = (0, import_react43.useContext)(SelectedItemMeasurementsContext);
|
|
9473
|
+
if (context === null) {
|
|
9474
|
+
throw new Error(
|
|
9475
|
+
"useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
|
|
9476
|
+
);
|
|
9477
|
+
}
|
|
9478
|
+
return context;
|
|
9479
|
+
};
|
|
9480
|
+
|
|
9481
|
+
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9482
|
+
var import_react45 = require("react");
|
|
9483
|
+
var import_styled_components61 = __toESM(require("styled-components"));
|
|
9484
|
+
|
|
9485
|
+
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
9486
|
+
var import_react44 = require("react");
|
|
9487
|
+
var SegmentedControlValueContext = (0, import_react44.createContext)(null);
|
|
9488
|
+
var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
|
|
9489
|
+
var useSegmentedControlValue = () => {
|
|
9490
|
+
const context = (0, import_react44.useContext)(SegmentedControlValueContext);
|
|
9491
|
+
if (context === null) {
|
|
9492
|
+
throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
|
|
9493
|
+
}
|
|
9494
|
+
return context;
|
|
9495
|
+
};
|
|
9496
|
+
|
|
9497
|
+
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9498
|
+
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
9499
|
+
var Z_INDEX_TO_SIT_BEHIND_SIBLINGS = -1;
|
|
9500
|
+
var SelectedItemIndicatorDiv = import_styled_components61.default.div`
|
|
9501
|
+
background-color: var(--wui-color-bg-fill-white);
|
|
9502
|
+
border-radius: var(--wui-border-radius-rounded);
|
|
9503
|
+
left: 0;
|
|
9504
|
+
position: absolute;
|
|
9505
|
+
top: 0;
|
|
9506
|
+
transition:
|
|
9507
|
+
transform var(--wui-motion-duration-03) var(--wui-motion-ease-out),
|
|
9508
|
+
width var(--wui-motion-duration-02) var(--wui-motion-ease-out);
|
|
9509
|
+
z-index: ${Z_INDEX_TO_SIT_BEHIND_SIBLINGS};
|
|
9510
|
+
`;
|
|
9511
|
+
var SelectedItemIndicator = () => {
|
|
9512
|
+
const selectedValue = useSegmentedControlValue();
|
|
9513
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9514
|
+
const selectedItemIndicatorStyle = (0, import_react45.useMemo)(
|
|
9515
|
+
() => selectedItemMeasurements != null ? {
|
|
9516
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
9517
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
9518
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
9519
|
+
} : {},
|
|
9520
|
+
[selectedItemMeasurements]
|
|
9521
|
+
);
|
|
9522
|
+
if (!selectedValue) {
|
|
9523
|
+
return null;
|
|
9524
|
+
}
|
|
9525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
|
|
9526
|
+
SelectedItemIndicatorDiv,
|
|
9527
|
+
{
|
|
9528
|
+
style: {
|
|
9529
|
+
width: selectedItemIndicatorStyle.width,
|
|
9530
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
9531
|
+
height: selectedItemIndicatorStyle.height
|
|
9532
|
+
}
|
|
9533
|
+
}
|
|
9534
|
+
);
|
|
9535
|
+
};
|
|
9536
|
+
|
|
9537
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9538
|
+
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
9539
|
+
var segmentedControlStyles = import_styled_components62.css`
|
|
9374
9540
|
display: inline-flex;
|
|
9375
9541
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
9376
9542
|
border-radius: var(--wui-border-radius-rounded);
|
|
9377
9543
|
border: 2px solid var(--wui-color-bg-surface-secondary);
|
|
9378
9544
|
gap: var(--wui-space-01);
|
|
9545
|
+
isolation: isolate;
|
|
9546
|
+
position: relative;
|
|
9379
9547
|
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
9380
9548
|
`;
|
|
9381
|
-
var StyledSegmentedControl = (0,
|
|
9549
|
+
var StyledSegmentedControl = (0, import_styled_components62.default)(import_react_toggle_group.Root)`
|
|
9382
9550
|
${segmentedControlStyles}
|
|
9383
9551
|
`;
|
|
9384
|
-
var SegmentedControl = (0,
|
|
9552
|
+
var SegmentedControl = (0, import_react46.forwardRef)(
|
|
9385
9553
|
({
|
|
9386
9554
|
children,
|
|
9387
9555
|
disabled = false,
|
|
@@ -9390,10 +9558,10 @@ var SegmentedControl = (0, import_react42.forwardRef)(
|
|
|
9390
9558
|
onSelectedValueChange,
|
|
9391
9559
|
...props
|
|
9392
9560
|
}, ref) => {
|
|
9393
|
-
if ((0,
|
|
9561
|
+
if ((0, import_type_guards35.isNil)(children)) {
|
|
9394
9562
|
return null;
|
|
9395
9563
|
}
|
|
9396
|
-
return /* @__PURE__ */ (0,
|
|
9564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
9397
9565
|
StyledSegmentedControl,
|
|
9398
9566
|
{
|
|
9399
9567
|
ref,
|
|
@@ -9405,7 +9573,10 @@ var SegmentedControl = (0, import_react42.forwardRef)(
|
|
|
9405
9573
|
type: "single",
|
|
9406
9574
|
value: selectedValue,
|
|
9407
9575
|
...props,
|
|
9408
|
-
children
|
|
9576
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)(SelectedItemMeasurementsProvider, { children: [
|
|
9577
|
+
/* @__PURE__ */ (0, import_jsx_runtime213.jsx)(SelectedItemIndicator, {}),
|
|
9578
|
+
children
|
|
9579
|
+
] }) })
|
|
9409
9580
|
}
|
|
9410
9581
|
);
|
|
9411
9582
|
}
|
|
@@ -9413,12 +9584,28 @@ var SegmentedControl = (0, import_react42.forwardRef)(
|
|
|
9413
9584
|
SegmentedControl.displayName = "SegmentedControl";
|
|
9414
9585
|
|
|
9415
9586
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9416
|
-
var
|
|
9417
|
-
var
|
|
9587
|
+
var import_react47 = require("react");
|
|
9588
|
+
var import_styled_components63 = __toESM(require("styled-components"));
|
|
9418
9589
|
var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
|
|
9419
|
-
var
|
|
9420
|
-
|
|
9421
|
-
|
|
9590
|
+
var import_type_guards37 = require("@wistia/type-guards");
|
|
9591
|
+
|
|
9592
|
+
// src/private/helpers/mergeRefs/mergeRefs.ts
|
|
9593
|
+
var import_type_guards36 = require("@wistia/type-guards");
|
|
9594
|
+
var mergeRefs = (refs) => (value) => {
|
|
9595
|
+
refs.forEach((ref) => {
|
|
9596
|
+
if ((0, import_type_guards36.isFunction)(ref)) {
|
|
9597
|
+
ref(value);
|
|
9598
|
+
return;
|
|
9599
|
+
}
|
|
9600
|
+
if ((0, import_type_guards36.isNotNil)(ref)) {
|
|
9601
|
+
ref.current = value;
|
|
9602
|
+
}
|
|
9603
|
+
});
|
|
9604
|
+
};
|
|
9605
|
+
|
|
9606
|
+
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9607
|
+
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
9608
|
+
var segmentedControlItemStyles = import_styled_components63.css`
|
|
9422
9609
|
all: unset; /* ToggleGroupItem is a button element */
|
|
9423
9610
|
align-items: center;
|
|
9424
9611
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -9441,18 +9628,17 @@ var segmentedControlItemStyles = import_styled_components60.css`
|
|
|
9441
9628
|
${({ $hasLabel }) => $hasLabel ? "margin-right: var(--wui-space-01)" : ""}
|
|
9442
9629
|
}
|
|
9443
9630
|
|
|
9444
|
-
&:hover {
|
|
9445
|
-
background-color: var(--wui-color-bg-surface-secondary-hover);
|
|
9446
|
-
}
|
|
9447
|
-
|
|
9448
9631
|
&:focus-visible {
|
|
9449
9632
|
outline: 2px solid var(--wui-color-focus-ring);
|
|
9450
9633
|
}
|
|
9451
9634
|
|
|
9635
|
+
&:hover:not([data-state='on'], [data-state='active']) {
|
|
9636
|
+
background-color: var(--wui-color-bg-surface-secondary-hover);
|
|
9637
|
+
}
|
|
9638
|
+
|
|
9452
9639
|
/* note: react-toggle-group uses "on" and react-tabs uses "active" */
|
|
9453
9640
|
&[data-state='on'],
|
|
9454
9641
|
&[data-state='active'] {
|
|
9455
|
-
background-color: var(--wui-color-bg-fill-white);
|
|
9456
9642
|
color: var(--wui-color-text-selected);
|
|
9457
9643
|
cursor: default;
|
|
9458
9644
|
}
|
|
@@ -9473,11 +9659,15 @@ var segmentedControlItemStyles = import_styled_components60.css`
|
|
|
9473
9659
|
}
|
|
9474
9660
|
}
|
|
9475
9661
|
`;
|
|
9476
|
-
var StyledSegmentedControlItem = (0,
|
|
9662
|
+
var StyledSegmentedControlItem = (0, import_styled_components63.default)(import_react_toggle_group2.Item)`
|
|
9477
9663
|
${segmentedControlItemStyles}
|
|
9478
9664
|
`;
|
|
9479
|
-
var SegmentedControlItem = (0,
|
|
9480
|
-
({ disabled, icon, label, "aria-label": ariaLabel, value },
|
|
9665
|
+
var SegmentedControlItem = (0, import_react47.forwardRef)(
|
|
9666
|
+
({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
9667
|
+
const selectedValue = useSegmentedControlValue();
|
|
9668
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9669
|
+
const buttonRef = (0, import_react47.useRef)(null);
|
|
9670
|
+
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
9481
9671
|
const handleClick = (event) => {
|
|
9482
9672
|
const target = event.target;
|
|
9483
9673
|
const { state } = target.dataset;
|
|
@@ -9485,12 +9675,37 @@ var SegmentedControlItem = (0, import_react43.forwardRef)(
|
|
|
9485
9675
|
event.preventDefault();
|
|
9486
9676
|
}
|
|
9487
9677
|
};
|
|
9488
|
-
|
|
9678
|
+
(0, import_react47.useEffect)(() => {
|
|
9679
|
+
const buttonElem = buttonRef.current;
|
|
9680
|
+
if (!buttonElem) {
|
|
9681
|
+
return void 0;
|
|
9682
|
+
}
|
|
9683
|
+
if (selectedValue !== value) {
|
|
9684
|
+
return void 0;
|
|
9685
|
+
}
|
|
9686
|
+
setSelectedItemMeasurements({
|
|
9687
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9688
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9689
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9690
|
+
});
|
|
9691
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
9692
|
+
setSelectedItemMeasurements({
|
|
9693
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9694
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9695
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9696
|
+
});
|
|
9697
|
+
});
|
|
9698
|
+
resizeObserver.observe(buttonElem);
|
|
9699
|
+
return () => {
|
|
9700
|
+
resizeObserver.disconnect();
|
|
9701
|
+
};
|
|
9702
|
+
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)(
|
|
9489
9704
|
StyledSegmentedControlItem,
|
|
9490
9705
|
{
|
|
9491
|
-
ref,
|
|
9492
|
-
$hasLabel: (0,
|
|
9493
|
-
"aria-label": (0,
|
|
9706
|
+
ref: combinedRef,
|
|
9707
|
+
$hasLabel: (0, import_type_guards37.isNotNil)(label),
|
|
9708
|
+
"aria-label": (0, import_type_guards37.isNotNil)(label) ? void 0 : ariaLabel,
|
|
9494
9709
|
disabled,
|
|
9495
9710
|
onClick: handleClick,
|
|
9496
9711
|
value,
|
|
@@ -9504,205 +9719,21 @@ var SegmentedControlItem = (0, import_react43.forwardRef)(
|
|
|
9504
9719
|
);
|
|
9505
9720
|
SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
9506
9721
|
|
|
9507
|
-
// src/components/Select/Select.tsx
|
|
9508
|
-
var import_react_select = require("@radix-ui/react-select");
|
|
9509
|
-
var import_react44 = require("react");
|
|
9510
|
-
var import_styled_components61 = __toESM(require("styled-components"));
|
|
9511
|
-
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
9512
|
-
var StyledTrigger = (0, import_styled_components61.default)(import_react_select.Trigger)`
|
|
9513
|
-
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9514
|
-
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
9515
|
-
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
9516
|
-
--wui-select-color-border: var(--wui-color-border);
|
|
9517
|
-
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
9518
|
-
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
9519
|
-
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
9520
|
-
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
9521
|
-
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
9522
|
-
--wui-select-vertical-padding: var(--wui-space-02);
|
|
9523
|
-
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
9524
|
-
--wui-select-placeholder: var(--wui-gray-10);
|
|
9525
|
-
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
9526
|
-
|
|
9527
|
-
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
9528
|
-
background-color: var(--wui-select-color-bg);
|
|
9529
|
-
border: 1px solid var(--wui-select-color-border);
|
|
9530
|
-
border-radius: var(--wui-select-border-radius);
|
|
9531
|
-
min-width: 200px;
|
|
9532
|
-
text-align: left;
|
|
9533
|
-
display: inline-flex;
|
|
9534
|
-
align-items: center;
|
|
9535
|
-
justify-content: space-between;
|
|
9536
|
-
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
9537
|
-
|
|
9538
|
-
&[aria-expanded='true'],
|
|
9539
|
-
&:focus {
|
|
9540
|
-
outline: 2px solid var(--wui-color-focus-ring);
|
|
9541
|
-
}
|
|
9542
|
-
|
|
9543
|
-
&[aria-invalid='true'] {
|
|
9544
|
-
outline: 2px solid var(--wui-select-color-border-error);
|
|
9545
|
-
color: var(--wui-select-color-text-error);
|
|
9546
|
-
}
|
|
9547
|
-
|
|
9548
|
-
&:disabled {
|
|
9549
|
-
border-color: var(--wui-color-bg-surface-disabled);
|
|
9550
|
-
background-color: var(--wui-color-bg-surface-disabled);
|
|
9551
|
-
}
|
|
9552
|
-
`;
|
|
9553
|
-
var StyledContent2 = (0, import_styled_components61.default)(import_react_select.Content)`
|
|
9554
|
-
--wui-select-content-border: var(--wui-color-border);
|
|
9555
|
-
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
9556
|
-
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
9557
|
-
--wui-select-option-padding: var(--wui-space-02);
|
|
9558
|
-
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
9559
|
-
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
9560
|
-
|
|
9561
|
-
overflow: hidden;
|
|
9562
|
-
transform: translateY(8px);
|
|
9563
|
-
background-color: var(--wui-select-content-bg);
|
|
9564
|
-
border: 1px solid var(--wui-select-content-border);
|
|
9565
|
-
border-radius: var(--wui-select-content-border-radius);
|
|
9566
|
-
padding: var(--wui-select-option-padding);
|
|
9567
|
-
min-width: 200px;
|
|
9568
|
-
`;
|
|
9569
|
-
var Select = (0, import_react44.forwardRef)(
|
|
9570
|
-
({
|
|
9571
|
-
colorScheme = "inherit",
|
|
9572
|
-
children,
|
|
9573
|
-
onChange = () => null,
|
|
9574
|
-
placeholder = "Select...",
|
|
9575
|
-
fullWidth = false,
|
|
9576
|
-
...props
|
|
9577
|
-
}, forwardedRef) => {
|
|
9578
|
-
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
9579
|
-
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9580
|
-
import_react_select.Root,
|
|
9581
|
-
{
|
|
9582
|
-
...props,
|
|
9583
|
-
onValueChange: onChange,
|
|
9584
|
-
children: [
|
|
9585
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9586
|
-
StyledTrigger,
|
|
9587
|
-
{
|
|
9588
|
-
ref: forwardedRef,
|
|
9589
|
-
$colorScheme: colorScheme,
|
|
9590
|
-
$fullWidth: responsiveFullWidth,
|
|
9591
|
-
...props,
|
|
9592
|
-
children: [
|
|
9593
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Value, { placeholder }),
|
|
9594
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
9595
|
-
Icon,
|
|
9596
|
-
{
|
|
9597
|
-
size: "md",
|
|
9598
|
-
type: "caret-down"
|
|
9599
|
-
}
|
|
9600
|
-
)
|
|
9601
|
-
]
|
|
9602
|
-
}
|
|
9603
|
-
),
|
|
9604
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(StyledContent2, { position: "popper", children: [
|
|
9605
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Icon, { type: "caret-up" }) }),
|
|
9606
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Viewport, { children }),
|
|
9607
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Icon, { type: "caret-down" }) })
|
|
9608
|
-
] }) })
|
|
9609
|
-
]
|
|
9610
|
-
}
|
|
9611
|
-
);
|
|
9612
|
-
}
|
|
9613
|
-
);
|
|
9614
|
-
Select.displayName = "Select";
|
|
9615
|
-
|
|
9616
|
-
// src/components/Select/SelectOption.tsx
|
|
9617
|
-
var import_react_select2 = require("@radix-ui/react-select");
|
|
9618
|
-
var import_react45 = require("react");
|
|
9619
|
-
var import_styled_components62 = __toESM(require("styled-components"));
|
|
9620
|
-
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
9621
|
-
var StyledItem = (0, import_styled_components62.default)(import_react_select2.Item)`
|
|
9622
|
-
${variantStyleMap2.body3};
|
|
9623
|
-
display: flex;
|
|
9624
|
-
padding: var(--wui-select-option-padding);
|
|
9625
|
-
gap: var(--wui-select-option-inner-gap);
|
|
9626
|
-
font-size: var(--font-size);
|
|
9627
|
-
font-weight: var(--font-weight);
|
|
9628
|
-
border-radius: var(--wui-border-radius-01);
|
|
9629
|
-
|
|
9630
|
-
&:hover,
|
|
9631
|
-
&:focus-visible {
|
|
9632
|
-
background-color: var(--wui-select-option-bg-hover);
|
|
9633
|
-
outline: none;
|
|
9634
|
-
}
|
|
9635
|
-
|
|
9636
|
-
&[aria-disabled='true'] {
|
|
9637
|
-
color: var(--wui-color-text-disabled);
|
|
9638
|
-
}
|
|
9639
|
-
|
|
9640
|
-
&[aria-disabled='true']:hover {
|
|
9641
|
-
background-color: transparent;
|
|
9642
|
-
}
|
|
9643
|
-
`;
|
|
9644
|
-
var StyledIconContainer = import_styled_components62.default.span`
|
|
9645
|
-
width: 12px;
|
|
9646
|
-
`;
|
|
9647
|
-
var SelectOption = (0, import_react45.forwardRef)(
|
|
9648
|
-
({ children, ...props }, forwardedRef) => {
|
|
9649
|
-
return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)(
|
|
9650
|
-
StyledItem,
|
|
9651
|
-
{
|
|
9652
|
-
...props,
|
|
9653
|
-
ref: forwardedRef,
|
|
9654
|
-
children: [
|
|
9655
|
-
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(StyledIconContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
|
|
9656
|
-
Icon,
|
|
9657
|
-
{
|
|
9658
|
-
size: "sm",
|
|
9659
|
-
type: "checkmark"
|
|
9660
|
-
}
|
|
9661
|
-
) }) }),
|
|
9662
|
-
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(import_react_select2.ItemText, { children })
|
|
9663
|
-
]
|
|
9664
|
-
}
|
|
9665
|
-
);
|
|
9666
|
-
}
|
|
9667
|
-
);
|
|
9668
|
-
SelectOption.displayName = "Option";
|
|
9669
|
-
|
|
9670
|
-
// src/components/Select/SelectOptionGroup.tsx
|
|
9671
|
-
var import_react_select3 = require("@radix-ui/react-select");
|
|
9672
|
-
var import_styled_components63 = __toESM(require("styled-components"));
|
|
9673
|
-
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
9674
|
-
var StyledLabel4 = (0, import_styled_components63.default)(import_react_select3.Label)`
|
|
9675
|
-
padding: var(--wui-select-option-padding);
|
|
9676
|
-
`;
|
|
9677
|
-
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
9678
|
-
return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
9679
|
-
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
|
|
9680
|
-
Text,
|
|
9681
|
-
{
|
|
9682
|
-
prominence: "secondary",
|
|
9683
|
-
variant: "body3",
|
|
9684
|
-
children: label
|
|
9685
|
-
}
|
|
9686
|
-
) }),
|
|
9687
|
-
children
|
|
9688
|
-
] });
|
|
9689
|
-
};
|
|
9690
|
-
|
|
9691
9722
|
// src/components/Tabs/Tabs.tsx
|
|
9692
|
-
var
|
|
9723
|
+
var import_react52 = require("react");
|
|
9693
9724
|
var import_react_tabs4 = require("@radix-ui/react-tabs");
|
|
9694
|
-
var
|
|
9725
|
+
var import_type_guards39 = require("@wistia/type-guards");
|
|
9695
9726
|
|
|
9696
9727
|
// src/components/Tabs/TabPanel.tsx
|
|
9697
9728
|
var import_styled_components64 = __toESM(require("styled-components"));
|
|
9698
9729
|
var import_react_tabs = require("@radix-ui/react-tabs");
|
|
9699
|
-
var
|
|
9730
|
+
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
9700
9731
|
var StyledTabPanel = (0, import_styled_components64.default)(import_react_tabs.Content)`
|
|
9701
9732
|
display: flex;
|
|
9702
9733
|
flex-direction: column;
|
|
9703
9734
|
`;
|
|
9704
9735
|
var TabPanel = ({ children, value, ...props }) => {
|
|
9705
|
-
return /* @__PURE__ */ (0,
|
|
9736
|
+
return /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(
|
|
9706
9737
|
StyledTabPanel,
|
|
9707
9738
|
{
|
|
9708
9739
|
value,
|
|
@@ -9716,7 +9747,7 @@ TabPanel.displayName = "TabPanel";
|
|
|
9716
9747
|
// src/components/Tabs/TabList.tsx
|
|
9717
9748
|
var import_styled_components65 = __toESM(require("styled-components"));
|
|
9718
9749
|
var import_react_tabs2 = require("@radix-ui/react-tabs");
|
|
9719
|
-
var
|
|
9750
|
+
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
9720
9751
|
var StyledTabList = (0, import_styled_components65.default)(import_react_tabs2.List)`
|
|
9721
9752
|
${segmentedControlStyles}
|
|
9722
9753
|
|
|
@@ -9728,7 +9759,7 @@ var TabList = ({
|
|
|
9728
9759
|
ariaLabel,
|
|
9729
9760
|
...props
|
|
9730
9761
|
}) => {
|
|
9731
|
-
return /* @__PURE__ */ (0,
|
|
9762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(
|
|
9732
9763
|
StyledTabList,
|
|
9733
9764
|
{
|
|
9734
9765
|
$fullWidth: fullWidth,
|
|
@@ -9741,26 +9772,69 @@ var TabList = ({
|
|
|
9741
9772
|
TabList.displayName = "TabList";
|
|
9742
9773
|
|
|
9743
9774
|
// src/components/Tabs/TabItem.tsx
|
|
9744
|
-
var
|
|
9775
|
+
var import_react49 = require("react");
|
|
9745
9776
|
var import_styled_components66 = __toESM(require("styled-components"));
|
|
9746
9777
|
var import_react_tabs3 = require("@radix-ui/react-tabs");
|
|
9747
|
-
var
|
|
9748
|
-
|
|
9778
|
+
var import_type_guards38 = require("@wistia/type-guards");
|
|
9779
|
+
|
|
9780
|
+
// src/components/Tabs/useTabsValue.tsx
|
|
9781
|
+
var import_react48 = require("react");
|
|
9782
|
+
var TabsValueContext = (0, import_react48.createContext)(null);
|
|
9783
|
+
var TabsValueProvider = TabsValueContext.Provider;
|
|
9784
|
+
var useTabsValue = () => {
|
|
9785
|
+
const context = (0, import_react48.useContext)(TabsValueContext);
|
|
9786
|
+
if (context === null) {
|
|
9787
|
+
throw new Error("useTabsValue must be used within a TabsValueProvider");
|
|
9788
|
+
}
|
|
9789
|
+
return context;
|
|
9790
|
+
};
|
|
9791
|
+
|
|
9792
|
+
// src/components/Tabs/TabItem.tsx
|
|
9793
|
+
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
9749
9794
|
var StyledTabItem = (0, import_styled_components66.default)(import_react_tabs3.Trigger)`
|
|
9750
9795
|
${segmentedControlItemStyles}
|
|
9751
9796
|
|
|
9752
|
-
|
|
9753
|
-
|
|
9797
|
+
&:focus-visible {
|
|
9798
|
+
outline: none;
|
|
9754
9799
|
}
|
|
9755
9800
|
`;
|
|
9756
|
-
var TabItem = (0,
|
|
9757
|
-
({ disabled = false, icon, label, "aria-label": ariaLabel, value },
|
|
9758
|
-
|
|
9801
|
+
var TabItem = (0, import_react49.forwardRef)(
|
|
9802
|
+
({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
9803
|
+
const selectedValue = useTabsValue();
|
|
9804
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9805
|
+
const buttonRef = (0, import_react49.useRef)(null);
|
|
9806
|
+
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
9807
|
+
(0, import_react49.useEffect)(() => {
|
|
9808
|
+
const buttonElem = buttonRef.current;
|
|
9809
|
+
if (!buttonElem) {
|
|
9810
|
+
return void 0;
|
|
9811
|
+
}
|
|
9812
|
+
if (selectedValue !== value) {
|
|
9813
|
+
return void 0;
|
|
9814
|
+
}
|
|
9815
|
+
setSelectedItemMeasurements({
|
|
9816
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9817
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9818
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9819
|
+
});
|
|
9820
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
9821
|
+
setSelectedItemMeasurements({
|
|
9822
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9823
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9824
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9825
|
+
});
|
|
9826
|
+
});
|
|
9827
|
+
resizeObserver.observe(buttonElem);
|
|
9828
|
+
return () => {
|
|
9829
|
+
resizeObserver.disconnect();
|
|
9830
|
+
};
|
|
9831
|
+
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)(
|
|
9759
9833
|
StyledTabItem,
|
|
9760
9834
|
{
|
|
9761
|
-
ref,
|
|
9762
|
-
$hasLabel: (0,
|
|
9763
|
-
"aria-label": (0,
|
|
9835
|
+
ref: combinedRef,
|
|
9836
|
+
$hasLabel: (0, import_type_guards38.isNotNil)(label),
|
|
9837
|
+
"aria-label": (0, import_type_guards38.isNotNil)(label) ? void 0 : ariaLabel,
|
|
9764
9838
|
disabled,
|
|
9765
9839
|
value,
|
|
9766
9840
|
children: [
|
|
@@ -9774,16 +9848,16 @@ var TabItem = (0, import_react46.forwardRef)(
|
|
|
9774
9848
|
TabItem.displayName = "TabItem";
|
|
9775
9849
|
|
|
9776
9850
|
// src/components/Tabs/extractTabItems.ts
|
|
9777
|
-
var
|
|
9851
|
+
var import_react50 = require("react");
|
|
9778
9852
|
var extractTabItems = (children) => {
|
|
9779
9853
|
const tabItems = [];
|
|
9780
|
-
|
|
9781
|
-
if (!(0,
|
|
9854
|
+
import_react50.Children.forEach(children, (child) => {
|
|
9855
|
+
if (!(0, import_react50.isValidElement)(child)) {
|
|
9782
9856
|
return;
|
|
9783
9857
|
}
|
|
9784
9858
|
if (typeof child.type !== "string" && child.type.displayName === "Tab") {
|
|
9785
9859
|
tabItems.push(child);
|
|
9786
|
-
} else if (child.type ===
|
|
9860
|
+
} else if (child.type === import_react50.Fragment) {
|
|
9787
9861
|
const fragmentElement = child;
|
|
9788
9862
|
tabItems.push(...extractTabItems(fragmentElement.props.children));
|
|
9789
9863
|
} else if ((child.props.children ?? null) != null) {
|
|
@@ -9795,9 +9869,44 @@ var extractTabItems = (children) => {
|
|
|
9795
9869
|
return tabItems;
|
|
9796
9870
|
};
|
|
9797
9871
|
|
|
9872
|
+
// src/components/Tabs/SelectedItemIndicator.tsx
|
|
9873
|
+
var import_react51 = require("react");
|
|
9874
|
+
var import_styled_components67 = __toESM(require("styled-components"));
|
|
9875
|
+
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
9876
|
+
var TabsSelectedItemIndicatorDiv = (0, import_styled_components67.default)(SelectedItemIndicatorDiv)`
|
|
9877
|
+
&:has(~ ${StyledTabItem}:focus-visible) {
|
|
9878
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
9879
|
+
}
|
|
9880
|
+
`;
|
|
9881
|
+
var SelectedItemIndicator2 = () => {
|
|
9882
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9883
|
+
const selectedValue = useTabsValue();
|
|
9884
|
+
const selectedItemIndicatorStyle = (0, import_react51.useMemo)(
|
|
9885
|
+
() => selectedItemMeasurements != null ? {
|
|
9886
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
9887
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
9888
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
9889
|
+
} : {},
|
|
9890
|
+
[selectedItemMeasurements]
|
|
9891
|
+
);
|
|
9892
|
+
if (selectedValue == null) {
|
|
9893
|
+
return null;
|
|
9894
|
+
}
|
|
9895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
|
|
9896
|
+
TabsSelectedItemIndicatorDiv,
|
|
9897
|
+
{
|
|
9898
|
+
style: {
|
|
9899
|
+
width: selectedItemIndicatorStyle.width,
|
|
9900
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
9901
|
+
height: selectedItemIndicatorStyle.height
|
|
9902
|
+
}
|
|
9903
|
+
}
|
|
9904
|
+
);
|
|
9905
|
+
};
|
|
9906
|
+
|
|
9798
9907
|
// src/components/Tabs/Tabs.tsx
|
|
9799
|
-
var
|
|
9800
|
-
var Tabs = (0,
|
|
9908
|
+
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
9909
|
+
var Tabs = (0, import_react52.forwardRef)(
|
|
9801
9910
|
({
|
|
9802
9911
|
children,
|
|
9803
9912
|
fullWidth = true,
|
|
@@ -9808,76 +9917,89 @@ var Tabs = (0, import_react48.forwardRef)(
|
|
|
9808
9917
|
...otherProps
|
|
9809
9918
|
}, ref) => {
|
|
9810
9919
|
const tabItems = extractTabItems(children);
|
|
9811
|
-
const
|
|
9812
|
-
|
|
9920
|
+
const [internalSelectedValue, setInternalSelectedValue] = (0, import_react52.useState)(defaultSelectedValue);
|
|
9921
|
+
const modeProps = defaultSelectedValue !== void 0 ? {
|
|
9922
|
+
defaultValue: defaultSelectedValue,
|
|
9923
|
+
onValueChange: setInternalSelectedValue
|
|
9924
|
+
} : { value: selectedValue, onValueChange: onSelectedValueChange };
|
|
9925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9813
9926
|
import_react_tabs4.Root,
|
|
9814
9927
|
{
|
|
9815
9928
|
ref,
|
|
9816
9929
|
activationMode: "automatic",
|
|
9817
9930
|
...otherProps,
|
|
9818
9931
|
...modeProps,
|
|
9819
|
-
children:
|
|
9820
|
-
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
|
|
9835
|
-
|
|
9836
|
-
|
|
9837
|
-
|
|
9838
|
-
|
|
9839
|
-
|
|
9840
|
-
|
|
9841
|
-
|
|
9842
|
-
|
|
9843
|
-
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
label
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9864
|
-
|
|
9865
|
-
|
|
9866
|
-
|
|
9932
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9933
|
+
TabsValueProvider,
|
|
9934
|
+
{
|
|
9935
|
+
value: defaultSelectedValue !== void 0 ? internalSelectedValue : selectedValue,
|
|
9936
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(SelectedItemMeasurementsProvider, { children: [
|
|
9937
|
+
/* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(
|
|
9938
|
+
TabList,
|
|
9939
|
+
{
|
|
9940
|
+
ariaLabel,
|
|
9941
|
+
fullWidth,
|
|
9942
|
+
children: [
|
|
9943
|
+
/* @__PURE__ */ (0, import_jsx_runtime219.jsx)(SelectedItemIndicator2, {}),
|
|
9944
|
+
tabItems.map((tab) => {
|
|
9945
|
+
const {
|
|
9946
|
+
value,
|
|
9947
|
+
disabled = false,
|
|
9948
|
+
icon,
|
|
9949
|
+
label,
|
|
9950
|
+
"aria-label": ariaLabelForTab
|
|
9951
|
+
} = tab.props;
|
|
9952
|
+
if ((0, import_type_guards39.isNil)(icon)) {
|
|
9953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9954
|
+
TabItem,
|
|
9955
|
+
{
|
|
9956
|
+
disabled,
|
|
9957
|
+
label,
|
|
9958
|
+
value
|
|
9959
|
+
},
|
|
9960
|
+
value
|
|
9961
|
+
);
|
|
9962
|
+
}
|
|
9963
|
+
if ((0, import_type_guards39.isNotNil)(label)) {
|
|
9964
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9965
|
+
TabItem,
|
|
9966
|
+
{
|
|
9967
|
+
disabled,
|
|
9968
|
+
icon,
|
|
9969
|
+
label,
|
|
9970
|
+
value
|
|
9971
|
+
},
|
|
9972
|
+
value
|
|
9973
|
+
);
|
|
9974
|
+
}
|
|
9975
|
+
if ((0, import_type_guards39.isNotNil)(ariaLabelForTab)) {
|
|
9976
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9977
|
+
TabItem,
|
|
9978
|
+
{
|
|
9979
|
+
"aria-label": ariaLabelForTab,
|
|
9980
|
+
disabled,
|
|
9981
|
+
icon,
|
|
9982
|
+
value
|
|
9983
|
+
},
|
|
9984
|
+
value
|
|
9985
|
+
);
|
|
9986
|
+
}
|
|
9987
|
+
throw new Error("A `Tab` with an icon must have either label or aria-label");
|
|
9988
|
+
})
|
|
9989
|
+
]
|
|
9867
9990
|
}
|
|
9868
|
-
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
|
|
9874
|
-
|
|
9875
|
-
|
|
9876
|
-
|
|
9877
|
-
}
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
]
|
|
9991
|
+
),
|
|
9992
|
+
tabItems.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9993
|
+
TabPanel,
|
|
9994
|
+
{
|
|
9995
|
+
value: tab.props.value,
|
|
9996
|
+
children: tab.props.children
|
|
9997
|
+
},
|
|
9998
|
+
tab.props.value
|
|
9999
|
+
))
|
|
10000
|
+
] })
|
|
10001
|
+
}
|
|
10002
|
+
)
|
|
9881
10003
|
}
|
|
9882
10004
|
);
|
|
9883
10005
|
}
|
|
@@ -9885,19 +10007,19 @@ var Tabs = (0, import_react48.forwardRef)(
|
|
|
9885
10007
|
Tabs.displayName = "Tabs";
|
|
9886
10008
|
|
|
9887
10009
|
// src/components/Tabs/Tab.tsx
|
|
9888
|
-
var
|
|
9889
|
-
var
|
|
9890
|
-
var Tab = (0,
|
|
9891
|
-
return /* @__PURE__ */ (0,
|
|
10010
|
+
var import_react53 = require("react");
|
|
10011
|
+
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
10012
|
+
var Tab = (0, import_react53.forwardRef)(({ children }, ref) => {
|
|
10013
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { ref, children });
|
|
9892
10014
|
});
|
|
9893
10015
|
Tab.displayName = "Tab";
|
|
9894
10016
|
|
|
9895
10017
|
// src/components/Tag/Tag.tsx
|
|
9896
|
-
var
|
|
9897
|
-
var
|
|
9898
|
-
var
|
|
9899
|
-
var
|
|
9900
|
-
var TagLabel =
|
|
10018
|
+
var import_react54 = require("react");
|
|
10019
|
+
var import_styled_components68 = __toESM(require("styled-components"));
|
|
10020
|
+
var import_type_guards40 = require("@wistia/type-guards");
|
|
10021
|
+
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
10022
|
+
var TagLabel = import_styled_components68.default.a`
|
|
9901
10023
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9902
10024
|
font-size: var(--wui-typography-label-4-size);
|
|
9903
10025
|
font-weight: var(--wui-typography-label-4-weight);
|
|
@@ -9925,14 +10047,14 @@ var TagLabel = import_styled_components67.default.a`
|
|
|
9925
10047
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9926
10048
|
}
|
|
9927
10049
|
`;
|
|
9928
|
-
var TagDivider =
|
|
10050
|
+
var TagDivider = import_styled_components68.default.div`
|
|
9929
10051
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9930
10052
|
border-left: 1px solid var(--wui-color-border);
|
|
9931
10053
|
display: flex;
|
|
9932
10054
|
height: 14px;
|
|
9933
10055
|
width: 1px;
|
|
9934
10056
|
`;
|
|
9935
|
-
var StyledRemoveButton =
|
|
10057
|
+
var StyledRemoveButton = import_styled_components68.default.button`
|
|
9936
10058
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9937
10059
|
all: unset;
|
|
9938
10060
|
cursor: pointer;
|
|
@@ -9960,7 +10082,7 @@ var StyledRemoveButton = import_styled_components67.default.button`
|
|
|
9960
10082
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9961
10083
|
}
|
|
9962
10084
|
`;
|
|
9963
|
-
var StyledTag =
|
|
10085
|
+
var StyledTag = import_styled_components68.default.div`
|
|
9964
10086
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9965
10087
|
align-items: center;
|
|
9966
10088
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -9973,47 +10095,47 @@ var StyledTag = import_styled_components67.default.div`
|
|
|
9973
10095
|
}
|
|
9974
10096
|
`;
|
|
9975
10097
|
var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
9976
|
-
if ((0,
|
|
10098
|
+
if ((0, import_type_guards40.isNil)(onClickRemove)) {
|
|
9977
10099
|
return null;
|
|
9978
10100
|
}
|
|
9979
|
-
if ((0,
|
|
10101
|
+
if ((0, import_type_guards40.isNil)(onClickRemoveLabel)) {
|
|
9980
10102
|
throw new Error(
|
|
9981
10103
|
"for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
|
|
9982
10104
|
);
|
|
9983
10105
|
}
|
|
9984
|
-
return /* @__PURE__ */ (0,
|
|
9985
|
-
/* @__PURE__ */ (0,
|
|
9986
|
-
/* @__PURE__ */ (0,
|
|
10106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
|
|
10107
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(TagDivider, { $colorScheme: colorScheme }),
|
|
10108
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(
|
|
9987
10109
|
StyledRemoveButton,
|
|
9988
10110
|
{
|
|
9989
10111
|
$colorScheme: colorScheme,
|
|
9990
10112
|
onClick: onClickRemove,
|
|
9991
10113
|
type: "button",
|
|
9992
10114
|
children: [
|
|
9993
|
-
/* @__PURE__ */ (0,
|
|
10115
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
|
|
9994
10116
|
Icon,
|
|
9995
10117
|
{
|
|
9996
10118
|
size: "sm",
|
|
9997
10119
|
type: "close"
|
|
9998
10120
|
}
|
|
9999
10121
|
),
|
|
10000
|
-
/* @__PURE__ */ (0,
|
|
10122
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(ScreenReaderOnly, { children: onClickRemoveLabel })
|
|
10001
10123
|
]
|
|
10002
10124
|
}
|
|
10003
10125
|
)
|
|
10004
10126
|
] });
|
|
10005
10127
|
};
|
|
10006
|
-
var Tag = (0,
|
|
10128
|
+
var Tag = (0, import_react54.forwardRef)(
|
|
10007
10129
|
({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
|
|
10008
|
-
const labelProps = (0,
|
|
10009
|
-
return /* @__PURE__ */ (0,
|
|
10130
|
+
const labelProps = (0, import_type_guards40.isNotNil)(href) && (0, import_type_guards40.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
|
|
10131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(
|
|
10010
10132
|
StyledTag,
|
|
10011
10133
|
{
|
|
10012
10134
|
ref,
|
|
10013
10135
|
$colorScheme: colorScheme,
|
|
10014
10136
|
...otherProps,
|
|
10015
10137
|
children: [
|
|
10016
|
-
/* @__PURE__ */ (0,
|
|
10138
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
|
|
10017
10139
|
TagLabel,
|
|
10018
10140
|
{
|
|
10019
10141
|
...labelProps,
|
|
@@ -10021,7 +10143,7 @@ var Tag = (0, import_react50.forwardRef)(
|
|
|
10021
10143
|
children: label
|
|
10022
10144
|
}
|
|
10023
10145
|
),
|
|
10024
|
-
/* @__PURE__ */ (0,
|
|
10146
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(
|
|
10025
10147
|
RemoveButton,
|
|
10026
10148
|
{
|
|
10027
10149
|
colorScheme,
|
|
@@ -10037,26 +10159,26 @@ var Tag = (0, import_react50.forwardRef)(
|
|
|
10037
10159
|
Tag.displayName = "Tag";
|
|
10038
10160
|
|
|
10039
10161
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
10040
|
-
var
|
|
10041
|
-
var
|
|
10042
|
-
var
|
|
10162
|
+
var import_styled_components69 = __toESM(require("styled-components"));
|
|
10163
|
+
var import_type_guards41 = require("@wistia/type-guards");
|
|
10164
|
+
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
10043
10165
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
10044
10166
|
if (iconOnly) {
|
|
10045
|
-
return /* @__PURE__ */ (0,
|
|
10167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10046
10168
|
"g",
|
|
10047
10169
|
{
|
|
10048
10170
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10049
10171
|
fill: brandmarkColor,
|
|
10050
|
-
children: /* @__PURE__ */ (0,
|
|
10172
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
10051
10173
|
}
|
|
10052
10174
|
);
|
|
10053
10175
|
}
|
|
10054
|
-
return /* @__PURE__ */ (0,
|
|
10176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10055
10177
|
"g",
|
|
10056
10178
|
{
|
|
10057
10179
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10058
10180
|
fill: brandmarkColor,
|
|
10059
|
-
children: /* @__PURE__ */ (0,
|
|
10181
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
10060
10182
|
}
|
|
10061
10183
|
);
|
|
10062
10184
|
};
|
|
@@ -10064,12 +10186,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
|
|
|
10064
10186
|
if (iconOnly) {
|
|
10065
10187
|
return null;
|
|
10066
10188
|
}
|
|
10067
|
-
return /* @__PURE__ */ (0,
|
|
10189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10068
10190
|
"g",
|
|
10069
10191
|
{
|
|
10070
10192
|
"data-testid": "ui-wistia-logo-logotype",
|
|
10071
10193
|
fill: logotypeColor,
|
|
10072
|
-
children: /* @__PURE__ */ (0,
|
|
10194
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
|
|
10073
10195
|
}
|
|
10074
10196
|
);
|
|
10075
10197
|
};
|
|
@@ -10079,7 +10201,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
10079
10201
|
}
|
|
10080
10202
|
return "0 0 144 31.47";
|
|
10081
10203
|
};
|
|
10082
|
-
var WistiaLogoComponent =
|
|
10204
|
+
var WistiaLogoComponent = import_styled_components69.default.svg`
|
|
10083
10205
|
height: ${({ height }) => `${height}px`};
|
|
10084
10206
|
|
|
10085
10207
|
/* ensure it will always fit on mobile */
|
|
@@ -10121,7 +10243,7 @@ var WistiaLogo = ({
|
|
|
10121
10243
|
};
|
|
10122
10244
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
10123
10245
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
10124
|
-
const Logo = /* @__PURE__ */ (0,
|
|
10246
|
+
const Logo = /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(
|
|
10125
10247
|
WistiaLogoComponent,
|
|
10126
10248
|
{
|
|
10127
10249
|
$hoverColor: hoverColor,
|
|
@@ -10131,16 +10253,200 @@ var WistiaLogo = ({
|
|
|
10131
10253
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10132
10254
|
...otherProps,
|
|
10133
10255
|
children: [
|
|
10134
|
-
/* @__PURE__ */ (0,
|
|
10135
|
-
(0,
|
|
10256
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)("title", { children: title }),
|
|
10257
|
+
(0, import_type_guards41.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("desc", { children: description }) : null,
|
|
10136
10258
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
10137
10259
|
renderLogotype(logotypeColor, iconOnly)
|
|
10138
10260
|
]
|
|
10139
10261
|
}
|
|
10140
10262
|
);
|
|
10141
|
-
return href !== void 0 ? /* @__PURE__ */ (0,
|
|
10263
|
+
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("a", { href, children: Logo }) : Logo;
|
|
10142
10264
|
};
|
|
10143
10265
|
WistiaLogo.displayName = "WistiaLogo";
|
|
10266
|
+
|
|
10267
|
+
// src/components/Select/Select.tsx
|
|
10268
|
+
var import_react_select = require("@radix-ui/react-select");
|
|
10269
|
+
var import_react55 = require("react");
|
|
10270
|
+
var import_styled_components70 = __toESM(require("styled-components"));
|
|
10271
|
+
var import_jsx_runtime223 = require("react/jsx-runtime");
|
|
10272
|
+
var StyledTrigger = (0, import_styled_components70.default)(import_react_select.Trigger)`
|
|
10273
|
+
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
10274
|
+
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
10275
|
+
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
10276
|
+
--wui-select-color-border: var(--wui-color-border);
|
|
10277
|
+
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
10278
|
+
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
10279
|
+
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
10280
|
+
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
10281
|
+
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
10282
|
+
--wui-select-vertical-padding: var(--wui-space-02);
|
|
10283
|
+
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
10284
|
+
--wui-select-placeholder: var(--wui-gray-10);
|
|
10285
|
+
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
10286
|
+
|
|
10287
|
+
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
10288
|
+
background-color: var(--wui-select-color-bg);
|
|
10289
|
+
border: 1px solid var(--wui-select-color-border);
|
|
10290
|
+
border-radius: var(--wui-select-border-radius);
|
|
10291
|
+
min-width: 200px;
|
|
10292
|
+
text-align: left;
|
|
10293
|
+
display: inline-flex;
|
|
10294
|
+
align-items: center;
|
|
10295
|
+
justify-content: space-between;
|
|
10296
|
+
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
10297
|
+
|
|
10298
|
+
&[aria-expanded='true'],
|
|
10299
|
+
&:focus {
|
|
10300
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
10301
|
+
}
|
|
10302
|
+
|
|
10303
|
+
&[aria-invalid='true'] {
|
|
10304
|
+
outline: 2px solid var(--wui-select-color-border-error);
|
|
10305
|
+
color: var(--wui-select-color-text-error);
|
|
10306
|
+
}
|
|
10307
|
+
|
|
10308
|
+
&:disabled {
|
|
10309
|
+
border-color: var(--wui-color-bg-surface-disabled);
|
|
10310
|
+
background-color: var(--wui-color-bg-surface-disabled);
|
|
10311
|
+
}
|
|
10312
|
+
`;
|
|
10313
|
+
var StyledContent2 = (0, import_styled_components70.default)(import_react_select.Content)`
|
|
10314
|
+
--wui-select-content-border: var(--wui-color-border);
|
|
10315
|
+
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
10316
|
+
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
10317
|
+
--wui-select-option-padding: var(--wui-space-02);
|
|
10318
|
+
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
10319
|
+
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
10320
|
+
|
|
10321
|
+
overflow: hidden;
|
|
10322
|
+
transform: translateY(8px);
|
|
10323
|
+
background-color: var(--wui-select-content-bg);
|
|
10324
|
+
border: 1px solid var(--wui-select-content-border);
|
|
10325
|
+
border-radius: var(--wui-select-content-border-radius);
|
|
10326
|
+
padding: var(--wui-select-option-padding);
|
|
10327
|
+
min-width: 200px;
|
|
10328
|
+
`;
|
|
10329
|
+
var Select = (0, import_react55.forwardRef)(
|
|
10330
|
+
({
|
|
10331
|
+
colorScheme = "inherit",
|
|
10332
|
+
children,
|
|
10333
|
+
onChange = () => null,
|
|
10334
|
+
placeholder = "Select...",
|
|
10335
|
+
fullWidth = false,
|
|
10336
|
+
...props
|
|
10337
|
+
}, forwardedRef) => {
|
|
10338
|
+
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
10339
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(
|
|
10340
|
+
import_react_select.Root,
|
|
10341
|
+
{
|
|
10342
|
+
...props,
|
|
10343
|
+
onValueChange: onChange,
|
|
10344
|
+
children: [
|
|
10345
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(
|
|
10346
|
+
StyledTrigger,
|
|
10347
|
+
{
|
|
10348
|
+
ref: forwardedRef,
|
|
10349
|
+
$colorScheme: colorScheme,
|
|
10350
|
+
$fullWidth: responsiveFullWidth,
|
|
10351
|
+
...props,
|
|
10352
|
+
children: [
|
|
10353
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_select.Value, { placeholder }),
|
|
10354
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
|
|
10355
|
+
Icon,
|
|
10356
|
+
{
|
|
10357
|
+
size: "md",
|
|
10358
|
+
type: "caret-down"
|
|
10359
|
+
}
|
|
10360
|
+
)
|
|
10361
|
+
]
|
|
10362
|
+
}
|
|
10363
|
+
),
|
|
10364
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(StyledContent2, { position: "popper", children: [
|
|
10365
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Icon, { type: "caret-up" }) }),
|
|
10366
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_select.Viewport, { children }),
|
|
10367
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Icon, { type: "caret-down" }) })
|
|
10368
|
+
] }) })
|
|
10369
|
+
]
|
|
10370
|
+
}
|
|
10371
|
+
);
|
|
10372
|
+
}
|
|
10373
|
+
);
|
|
10374
|
+
Select.displayName = "Select";
|
|
10375
|
+
|
|
10376
|
+
// src/components/Select/SelectOption.tsx
|
|
10377
|
+
var import_react_select2 = require("@radix-ui/react-select");
|
|
10378
|
+
var import_react56 = require("react");
|
|
10379
|
+
var import_styled_components71 = __toESM(require("styled-components"));
|
|
10380
|
+
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
10381
|
+
var StyledItem = (0, import_styled_components71.default)(import_react_select2.Item)`
|
|
10382
|
+
${variantStyleMap2.body3};
|
|
10383
|
+
display: flex;
|
|
10384
|
+
padding: var(--wui-select-option-padding);
|
|
10385
|
+
gap: var(--wui-select-option-inner-gap);
|
|
10386
|
+
font-size: var(--font-size);
|
|
10387
|
+
font-weight: var(--font-weight);
|
|
10388
|
+
border-radius: var(--wui-border-radius-01);
|
|
10389
|
+
|
|
10390
|
+
&:hover,
|
|
10391
|
+
&:focus-visible {
|
|
10392
|
+
background-color: var(--wui-select-option-bg-hover);
|
|
10393
|
+
outline: none;
|
|
10394
|
+
}
|
|
10395
|
+
|
|
10396
|
+
&[aria-disabled='true'] {
|
|
10397
|
+
color: var(--wui-color-text-disabled);
|
|
10398
|
+
}
|
|
10399
|
+
|
|
10400
|
+
&[aria-disabled='true']:hover {
|
|
10401
|
+
background-color: transparent;
|
|
10402
|
+
}
|
|
10403
|
+
`;
|
|
10404
|
+
var StyledIconContainer = import_styled_components71.default.span`
|
|
10405
|
+
width: 12px;
|
|
10406
|
+
`;
|
|
10407
|
+
var SelectOption = (0, import_react56.forwardRef)(
|
|
10408
|
+
({ children, ...props }, forwardedRef) => {
|
|
10409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
|
|
10410
|
+
StyledItem,
|
|
10411
|
+
{
|
|
10412
|
+
...props,
|
|
10413
|
+
ref: forwardedRef,
|
|
10414
|
+
children: [
|
|
10415
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(StyledIconContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(
|
|
10416
|
+
Icon,
|
|
10417
|
+
{
|
|
10418
|
+
size: "sm",
|
|
10419
|
+
type: "checkmark"
|
|
10420
|
+
}
|
|
10421
|
+
) }) }),
|
|
10422
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select2.ItemText, { children })
|
|
10423
|
+
]
|
|
10424
|
+
}
|
|
10425
|
+
);
|
|
10426
|
+
}
|
|
10427
|
+
);
|
|
10428
|
+
SelectOption.displayName = "Option";
|
|
10429
|
+
|
|
10430
|
+
// src/components/Select/SelectOptionGroup.tsx
|
|
10431
|
+
var import_react_select3 = require("@radix-ui/react-select");
|
|
10432
|
+
var import_styled_components72 = __toESM(require("styled-components"));
|
|
10433
|
+
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
10434
|
+
var StyledLabel4 = (0, import_styled_components72.default)(import_react_select3.Label)`
|
|
10435
|
+
padding: var(--wui-select-option-padding);
|
|
10436
|
+
`;
|
|
10437
|
+
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
10438
|
+
return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
10439
|
+
/* @__PURE__ */ (0, import_jsx_runtime225.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
|
|
10440
|
+
Text,
|
|
10441
|
+
{
|
|
10442
|
+
prominence: "secondary",
|
|
10443
|
+
variant: "body3",
|
|
10444
|
+
children: label
|
|
10445
|
+
}
|
|
10446
|
+
) }),
|
|
10447
|
+
children
|
|
10448
|
+
] });
|
|
10449
|
+
};
|
|
10144
10450
|
// Annotate the CommonJS export names for ESM import in node:
|
|
10145
10451
|
0 && (module.exports = {
|
|
10146
10452
|
ActionButton,
|
|
@@ -10155,6 +10461,9 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
10155
10461
|
Checkbox,
|
|
10156
10462
|
CheckboxGroup,
|
|
10157
10463
|
CheckboxMenuItem,
|
|
10464
|
+
Collapsible,
|
|
10465
|
+
CollapsibleContent,
|
|
10466
|
+
CollapsibleTrigger,
|
|
10158
10467
|
ColorSchemeWrapper,
|
|
10159
10468
|
DataCard,
|
|
10160
10469
|
DataCardTrend,
|