@wistia/ui 0.5.6 → 0.5.7-beta.0515490c.6d9deb3
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 +1068 -704
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +159 -73
- package/dist/index.d.ts +159 -73
- package/dist/index.mjs +967 -607
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -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.7-beta.0515490c.6d9deb3
|
|
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,
|
|
@@ -75,6 +78,7 @@ __export(index_exports, {
|
|
|
75
78
|
MenuLabel: () => MenuLabel,
|
|
76
79
|
MenuRadioGroup: () => MenuRadioGroup,
|
|
77
80
|
Modal: () => Modal,
|
|
81
|
+
Popover: () => Popover,
|
|
78
82
|
Radio: () => Radio,
|
|
79
83
|
RadioGroup: () => RadioGroup,
|
|
80
84
|
RadioMenuItem: () => RadioMenuItem,
|
|
@@ -6753,7 +6757,12 @@ var ButtonGroupComponent = import_styled_components28.default.div`
|
|
|
6753
6757
|
display: flex;
|
|
6754
6758
|
|
|
6755
6759
|
/* this helps ensure that primary buttons appear at the top of the column */
|
|
6756
|
-
flex-direction: ${({ $align }) =>
|
|
6760
|
+
flex-direction: ${({ $collapse, $align }) => {
|
|
6761
|
+
if (!$collapse) {
|
|
6762
|
+
return "row";
|
|
6763
|
+
}
|
|
6764
|
+
return $align === "right" ? "column-reverse" : "column";
|
|
6765
|
+
}};
|
|
6757
6766
|
gap: var(--wui-space-02);
|
|
6758
6767
|
align-items: center;
|
|
6759
6768
|
justify-content: ${({ $align }) => getAlignment($align)};
|
|
@@ -6773,6 +6782,7 @@ var ButtonGroup = ({
|
|
|
6773
6782
|
children,
|
|
6774
6783
|
align = "left",
|
|
6775
6784
|
fullWidth = false,
|
|
6785
|
+
collapseOnSmallScreens = true,
|
|
6776
6786
|
...otherProps
|
|
6777
6787
|
}) => {
|
|
6778
6788
|
if ((0, import_type_guards18.isNil)(children)) {
|
|
@@ -6782,6 +6792,7 @@ var ButtonGroup = ({
|
|
|
6782
6792
|
ButtonGroupComponent,
|
|
6783
6793
|
{
|
|
6784
6794
|
$align: align,
|
|
6795
|
+
$collapse: collapseOnSmallScreens,
|
|
6785
6796
|
$fullWidth: fullWidth,
|
|
6786
6797
|
...otherProps,
|
|
6787
6798
|
children
|
|
@@ -7181,11 +7192,63 @@ var Checkbox = (0, import_react19.forwardRef)(
|
|
|
7181
7192
|
);
|
|
7182
7193
|
Checkbox.displayName = "Checkbox";
|
|
7183
7194
|
|
|
7184
|
-
// src/components/
|
|
7185
|
-
var
|
|
7195
|
+
// src/components/Collapsible/Collapsible.tsx
|
|
7196
|
+
var import_react_collapsible = require("@radix-ui/react-collapsible");
|
|
7186
7197
|
var import_type_guards21 = require("@wistia/type-guards");
|
|
7198
|
+
var import_styled_components34 = __toESM(require("styled-components"));
|
|
7187
7199
|
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
7188
|
-
var
|
|
7200
|
+
var StyledRoot = (0, import_styled_components34.default)(import_react_collapsible.Root)`
|
|
7201
|
+
&[data-state='closed'] [data-wui-collapsible-content] {
|
|
7202
|
+
display: -webkit-box;
|
|
7203
|
+
-webkit-box-orient: vertical;
|
|
7204
|
+
-webkit-line-clamp: var(--wui-collapsible-content-clamp-lines);
|
|
7205
|
+
overflow: hidden;
|
|
7206
|
+
}
|
|
7207
|
+
`;
|
|
7208
|
+
var Collapsible = ({
|
|
7209
|
+
children,
|
|
7210
|
+
isOpen = false,
|
|
7211
|
+
onOpenChange
|
|
7212
|
+
}) => {
|
|
7213
|
+
const controlProps = {
|
|
7214
|
+
...(0, import_type_guards21.isNotNil)(onOpenChange) && (0, import_type_guards21.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
7215
|
+
};
|
|
7216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledRoot, { ...controlProps, children });
|
|
7217
|
+
};
|
|
7218
|
+
Collapsible.displayName = "Collapsible";
|
|
7219
|
+
|
|
7220
|
+
// src/components/Collapsible/CollapsibleTrigger.tsx
|
|
7221
|
+
var import_react20 = require("react");
|
|
7222
|
+
var import_react_collapsible2 = require("@radix-ui/react-collapsible");
|
|
7223
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
7224
|
+
var CollapsibleTrigger = ({ children }) => {
|
|
7225
|
+
import_react20.Children.only(children);
|
|
7226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(import_react_collapsible2.Trigger, { asChild: true, children });
|
|
7227
|
+
};
|
|
7228
|
+
|
|
7229
|
+
// src/components/Collapsible/CollapsibleContent.tsx
|
|
7230
|
+
var import_styled_components35 = __toESM(require("styled-components"));
|
|
7231
|
+
var import_react_collapsible3 = require("@radix-ui/react-collapsible");
|
|
7232
|
+
var import_type_guards22 = require("@wistia/type-guards");
|
|
7233
|
+
var import_jsx_runtime178 = require("react/jsx-runtime");
|
|
7234
|
+
var ClampedContent = import_styled_components35.default.div.attrs({ "data-wui-collapsible-content": true })`
|
|
7235
|
+
--wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
|
|
7236
|
+
`;
|
|
7237
|
+
var CollapsibleContent = ({ clamp, children }) => {
|
|
7238
|
+
if ((0, import_type_guards22.isNotUndefined)(clamp)) {
|
|
7239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(ClampedContent, { $clamp: clamp, children });
|
|
7240
|
+
}
|
|
7241
|
+
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: [
|
|
7242
|
+
children,
|
|
7243
|
+
" "
|
|
7244
|
+
] }) });
|
|
7245
|
+
};
|
|
7246
|
+
|
|
7247
|
+
// src/components/DataCards/DataCard.tsx
|
|
7248
|
+
var import_styled_components36 = __toESM(require("styled-components"));
|
|
7249
|
+
var import_type_guards23 = require("@wistia/type-guards");
|
|
7250
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
7251
|
+
var StyledDataCard = import_styled_components36.default.div`
|
|
7189
7252
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
7190
7253
|
display: grid;
|
|
7191
7254
|
grid-template-areas: 'label slot' 'value value';
|
|
@@ -7198,7 +7261,7 @@ var StyledDataCard = import_styled_components34.default.div`
|
|
|
7198
7261
|
border-radius: var(--wui-border-radius-02);
|
|
7199
7262
|
position: relative;
|
|
7200
7263
|
`;
|
|
7201
|
-
var shimmer =
|
|
7264
|
+
var shimmer = import_styled_components36.keyframes`
|
|
7202
7265
|
0% {
|
|
7203
7266
|
background-position: 200% 0;
|
|
7204
7267
|
}
|
|
@@ -7206,7 +7269,7 @@ var shimmer = import_styled_components34.keyframes`
|
|
|
7206
7269
|
background-position: -200% 0;
|
|
7207
7270
|
}
|
|
7208
7271
|
`;
|
|
7209
|
-
var LoadingBackground =
|
|
7272
|
+
var LoadingBackground = import_styled_components36.default.div`
|
|
7210
7273
|
background: linear-gradient(
|
|
7211
7274
|
90deg,
|
|
7212
7275
|
var(--wui-color-bg-surface-tertiary) 25%,
|
|
@@ -7217,27 +7280,27 @@ var LoadingBackground = import_styled_components34.default.div`
|
|
|
7217
7280
|
animation: ${shimmer} 1.5s infinite;
|
|
7218
7281
|
border-radius: var(--wui-border-radius-01);
|
|
7219
7282
|
`;
|
|
7220
|
-
var StyledLoadingLabel = (0,
|
|
7283
|
+
var StyledLoadingLabel = (0, import_styled_components36.default)(LoadingBackground)`
|
|
7221
7284
|
width: 80px;
|
|
7222
7285
|
height: var(--wui-typography-heading-6-line-height);
|
|
7223
7286
|
`;
|
|
7224
|
-
var StyledLoadingValue = (0,
|
|
7287
|
+
var StyledLoadingValue = (0, import_styled_components36.default)(LoadingBackground)`
|
|
7225
7288
|
width: 90%;
|
|
7226
7289
|
height: var(--wui-typography-heading-3-line-height);
|
|
7227
7290
|
`;
|
|
7228
|
-
var StyledLabel3 = (0,
|
|
7291
|
+
var StyledLabel3 = (0, import_styled_components36.default)(Heading)`
|
|
7229
7292
|
grid-area: label;
|
|
7230
7293
|
`;
|
|
7231
|
-
var StyledValue = (0,
|
|
7294
|
+
var StyledValue = (0, import_styled_components36.default)(Heading)`
|
|
7232
7295
|
grid-area: value;
|
|
7233
7296
|
`;
|
|
7234
|
-
var StyledSlot =
|
|
7297
|
+
var StyledSlot = import_styled_components36.default.div`
|
|
7235
7298
|
display: flex;
|
|
7236
7299
|
justify-content: flex-end;
|
|
7237
7300
|
grid-area: slot;
|
|
7238
7301
|
align-self: center;
|
|
7239
7302
|
`;
|
|
7240
|
-
var StyledDataCardTrendContainer =
|
|
7303
|
+
var StyledDataCardTrendContainer = import_styled_components36.default.div`
|
|
7241
7304
|
position: absolute;
|
|
7242
7305
|
bottom: var(--wui-space-01);
|
|
7243
7306
|
right: var(--wui-space-01);
|
|
@@ -7250,39 +7313,39 @@ var DataCard = ({
|
|
|
7250
7313
|
isLoading = false,
|
|
7251
7314
|
trend,
|
|
7252
7315
|
...props
|
|
7253
|
-
}) => /* @__PURE__ */ (0,
|
|
7316
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(
|
|
7254
7317
|
StyledDataCard,
|
|
7255
7318
|
{
|
|
7256
7319
|
$colorScheme: colorScheme,
|
|
7257
7320
|
...props,
|
|
7258
7321
|
children: [
|
|
7259
|
-
/* @__PURE__ */ (0,
|
|
7322
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
|
|
7260
7323
|
StyledLabel3,
|
|
7261
7324
|
{
|
|
7262
7325
|
renderAs: "dt",
|
|
7263
7326
|
variant: "heading6",
|
|
7264
|
-
children: isLoading ? /* @__PURE__ */ (0,
|
|
7327
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledLoadingLabel, {}) : label
|
|
7265
7328
|
}
|
|
7266
7329
|
),
|
|
7267
|
-
/* @__PURE__ */ (0,
|
|
7330
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
|
|
7268
7331
|
StyledValue,
|
|
7269
7332
|
{
|
|
7270
7333
|
renderAs: "dd",
|
|
7271
7334
|
variant: "heading3",
|
|
7272
|
-
children: isLoading ? /* @__PURE__ */ (0,
|
|
7335
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledLoadingValue, {}) : value
|
|
7273
7336
|
}
|
|
7274
7337
|
),
|
|
7275
|
-
(0,
|
|
7276
|
-
(0,
|
|
7338
|
+
(0, import_type_guards23.isNotNull)(upperRightSlot) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledSlot, { children: upperRightSlot }),
|
|
7339
|
+
(0, import_type_guards23.isNotNull)(trend) && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(StyledDataCardTrendContainer, { children: trend })
|
|
7277
7340
|
]
|
|
7278
7341
|
}
|
|
7279
7342
|
);
|
|
7280
7343
|
DataCard.displayName = "DataCard";
|
|
7281
7344
|
|
|
7282
7345
|
// src/components/DataCards/DataCards.tsx
|
|
7283
|
-
var
|
|
7284
|
-
var
|
|
7285
|
-
var StyledDataCards = (0,
|
|
7346
|
+
var import_styled_components37 = __toESM(require("styled-components"));
|
|
7347
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
7348
|
+
var StyledDataCards = (0, import_styled_components37.default)(Box)`
|
|
7286
7349
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7287
7350
|
margin-top: 0; /* Remove default <dl> style */
|
|
7288
7351
|
> * {
|
|
@@ -7296,7 +7359,7 @@ var DataCards = ({
|
|
|
7296
7359
|
colorScheme = "inherit",
|
|
7297
7360
|
...props
|
|
7298
7361
|
}) => {
|
|
7299
|
-
return /* @__PURE__ */ (0,
|
|
7362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
7300
7363
|
StyledDataCards,
|
|
7301
7364
|
{
|
|
7302
7365
|
...props,
|
|
@@ -7314,25 +7377,25 @@ var DataCards = ({
|
|
|
7314
7377
|
DataCards.displayName = "DataCards";
|
|
7315
7378
|
|
|
7316
7379
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7317
|
-
var
|
|
7380
|
+
var import_styled_components39 = __toESM(require("styled-components"));
|
|
7318
7381
|
|
|
7319
7382
|
// src/components/Text/Text.tsx
|
|
7320
|
-
var
|
|
7321
|
-
var
|
|
7322
|
-
var
|
|
7323
|
-
var bodyBoldStyles =
|
|
7383
|
+
var import_react21 = require("react");
|
|
7384
|
+
var import_styled_components38 = __toESM(require("styled-components"));
|
|
7385
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
7386
|
+
var bodyBoldStyles = import_styled_components38.css`
|
|
7324
7387
|
> strong,
|
|
7325
7388
|
b {
|
|
7326
7389
|
font-weight: var(--wui-typography-weight-body-bold);
|
|
7327
7390
|
}
|
|
7328
7391
|
`;
|
|
7329
|
-
var labelBoldStyles =
|
|
7392
|
+
var labelBoldStyles = import_styled_components38.css`
|
|
7330
7393
|
> strong,
|
|
7331
7394
|
b {
|
|
7332
7395
|
font-weight: var(--wui-typography-weight-label-bold);
|
|
7333
7396
|
}
|
|
7334
7397
|
`;
|
|
7335
|
-
var body1TextStyle =
|
|
7398
|
+
var body1TextStyle = import_styled_components38.css`
|
|
7336
7399
|
--font-family: var(--wui-typography-body-1-family);
|
|
7337
7400
|
--font-size: var(--wui-typography-body-1-size);
|
|
7338
7401
|
--font-weight: var(--wui-typography-body-1-weight);
|
|
@@ -7340,7 +7403,7 @@ var body1TextStyle = import_styled_components36.css`
|
|
|
7340
7403
|
--paragraph-spacing: var(--wui-typography-body-1-paragraph-spacing);
|
|
7341
7404
|
${bodyBoldStyles}
|
|
7342
7405
|
`;
|
|
7343
|
-
var body2TextStyle =
|
|
7406
|
+
var body2TextStyle = import_styled_components38.css`
|
|
7344
7407
|
--font-family: var(--wui-typography-body-2-family);
|
|
7345
7408
|
--font-size: var(--wui-typography-body-2-size);
|
|
7346
7409
|
--font-weight: var(--wui-typography-body-2-weight);
|
|
@@ -7348,7 +7411,7 @@ var body2TextStyle = import_styled_components36.css`
|
|
|
7348
7411
|
--paragraph-spacing: var(--wui-typography-body-2-paragraph-spacing);
|
|
7349
7412
|
${bodyBoldStyles}
|
|
7350
7413
|
`;
|
|
7351
|
-
var body3TextStyle =
|
|
7414
|
+
var body3TextStyle = import_styled_components38.css`
|
|
7352
7415
|
--font-family: var(--wui-typography-body-3-family);
|
|
7353
7416
|
--font-size: var(--wui-typography-body-3-size);
|
|
7354
7417
|
--font-weight: var(--wui-typography-body-3-weight);
|
|
@@ -7356,7 +7419,7 @@ var body3TextStyle = import_styled_components36.css`
|
|
|
7356
7419
|
--paragraph-spacing: var(--wui-typography-body-3-paragraph-spacing);
|
|
7357
7420
|
${bodyBoldStyles}
|
|
7358
7421
|
`;
|
|
7359
|
-
var body4TextStyle =
|
|
7422
|
+
var body4TextStyle = import_styled_components38.css`
|
|
7360
7423
|
--font-family: var(--wui-typography-body-4-family);
|
|
7361
7424
|
--font-size: var(--wui-typography-body-4-size);
|
|
7362
7425
|
--font-weight: var(--wui-typography-body-4-weight);
|
|
@@ -7364,47 +7427,47 @@ var body4TextStyle = import_styled_components36.css`
|
|
|
7364
7427
|
--paragraph-spacing: var(--wui-typography-body-4-paragraph-spacing);
|
|
7365
7428
|
${bodyBoldStyles}
|
|
7366
7429
|
`;
|
|
7367
|
-
var label1TextStyle =
|
|
7430
|
+
var label1TextStyle = import_styled_components38.css`
|
|
7368
7431
|
--font-family: var(--wui-typography-label-1-family);
|
|
7369
7432
|
--font-size: var(--wui-typography-label-1-size);
|
|
7370
7433
|
--font-weight: var(--wui-typography-label-1-weight);
|
|
7371
7434
|
--line-height: var(--wui-typography-label-1-line-height);
|
|
7372
7435
|
${labelBoldStyles}
|
|
7373
7436
|
`;
|
|
7374
|
-
var label2TextStyle =
|
|
7437
|
+
var label2TextStyle = import_styled_components38.css`
|
|
7375
7438
|
--font-family: var(--wui-typography-label-2-family);
|
|
7376
7439
|
--font-size: var(--wui-typography-label-2-size);
|
|
7377
7440
|
--font-weight: var(--wui-typography-label-2-weight);
|
|
7378
7441
|
--line-height: var(--wui-typography-label-2-line-height);
|
|
7379
7442
|
${labelBoldStyles}
|
|
7380
7443
|
`;
|
|
7381
|
-
var label3TextStyle =
|
|
7444
|
+
var label3TextStyle = import_styled_components38.css`
|
|
7382
7445
|
--font-family: var(--wui-typography-label-3-family);
|
|
7383
7446
|
--font-size: var(--wui-typography-label-3-size);
|
|
7384
7447
|
--font-weight: var(--wui-typography-label-3-weight);
|
|
7385
7448
|
--line-height: var(--wui-typography-label-3-line-height);
|
|
7386
7449
|
${labelBoldStyles}
|
|
7387
7450
|
`;
|
|
7388
|
-
var label4TextStyle =
|
|
7451
|
+
var label4TextStyle = import_styled_components38.css`
|
|
7389
7452
|
--font-family: var(--wui-typography-label-4-family);
|
|
7390
7453
|
--font-size: var(--wui-typography-label-4-size);
|
|
7391
7454
|
--font-weight: var(--wui-typography-label-4-weight);
|
|
7392
7455
|
--line-height: var(--wui-typography-label-4-line-height);
|
|
7393
7456
|
${labelBoldStyles}
|
|
7394
7457
|
`;
|
|
7395
|
-
var body1MonoTextStyle =
|
|
7458
|
+
var body1MonoTextStyle = import_styled_components38.css`
|
|
7396
7459
|
${body1TextStyle};
|
|
7397
7460
|
--font-family: var(--wui-typography-family-mono);
|
|
7398
7461
|
`;
|
|
7399
|
-
var body2MonoTextStyle =
|
|
7462
|
+
var body2MonoTextStyle = import_styled_components38.css`
|
|
7400
7463
|
${body2TextStyle};
|
|
7401
7464
|
--font-family: var(--wui-typography-family-mono);
|
|
7402
7465
|
`;
|
|
7403
|
-
var body3MonoTextStyle =
|
|
7466
|
+
var body3MonoTextStyle = import_styled_components38.css`
|
|
7404
7467
|
${body3TextStyle};
|
|
7405
7468
|
--font-family: var(--wui-typography-family-mono);
|
|
7406
7469
|
`;
|
|
7407
|
-
var body4MonoTextStyle =
|
|
7470
|
+
var body4MonoTextStyle = import_styled_components38.css`
|
|
7408
7471
|
${body4TextStyle};
|
|
7409
7472
|
--font-family: var(--wui-typography-family-mono);
|
|
7410
7473
|
`;
|
|
@@ -7439,7 +7502,7 @@ var variantElementMap2 = {
|
|
|
7439
7502
|
label3: labelElement,
|
|
7440
7503
|
label4: labelElement
|
|
7441
7504
|
};
|
|
7442
|
-
var StyledText =
|
|
7505
|
+
var StyledText = import_styled_components38.default.div`
|
|
7443
7506
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7444
7507
|
--text-color: ${({ $prominence, $disabled }) => {
|
|
7445
7508
|
if ($disabled) {
|
|
@@ -7463,19 +7526,19 @@ var StyledText = import_styled_components36.default.div`
|
|
|
7463
7526
|
margin: 0;
|
|
7464
7527
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
7465
7528
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
7466
|
-
${({ $inline }) => $inline &&
|
|
7529
|
+
${({ $inline }) => $inline && import_styled_components38.css`
|
|
7467
7530
|
display: inline-block;
|
|
7468
7531
|
`}
|
|
7469
|
-
${({ $disabled }) => $disabled &&
|
|
7532
|
+
${({ $disabled }) => $disabled && import_styled_components38.css`
|
|
7470
7533
|
--text-color: var(--wui-color-text-disabled);
|
|
7471
7534
|
`}
|
|
7472
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
7535
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components38.css`
|
|
7473
7536
|
user-select: none;
|
|
7474
7537
|
`}
|
|
7475
|
-
${({ $align }) =>
|
|
7538
|
+
${({ $align }) => import_styled_components38.css`
|
|
7476
7539
|
text-align: ${$align};
|
|
7477
7540
|
`}
|
|
7478
|
-
${({ as }) => as === "p" &&
|
|
7541
|
+
${({ as }) => as === "p" && import_styled_components38.css`
|
|
7479
7542
|
display: block;
|
|
7480
7543
|
|
|
7481
7544
|
+ p {
|
|
@@ -7483,7 +7546,7 @@ var StyledText = import_styled_components36.default.div`
|
|
|
7483
7546
|
}
|
|
7484
7547
|
`}
|
|
7485
7548
|
`;
|
|
7486
|
-
var TextComponent = (0,
|
|
7549
|
+
var TextComponent = (0, import_react21.forwardRef)(
|
|
7487
7550
|
({
|
|
7488
7551
|
align = "left",
|
|
7489
7552
|
colorScheme = "inherit",
|
|
@@ -7496,7 +7559,7 @@ var TextComponent = (0, import_react20.forwardRef)(
|
|
|
7496
7559
|
renderAs,
|
|
7497
7560
|
...otherProps
|
|
7498
7561
|
}, ref) => {
|
|
7499
|
-
return /* @__PURE__ */ (0,
|
|
7562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
7500
7563
|
StyledText,
|
|
7501
7564
|
{
|
|
7502
7565
|
ref,
|
|
@@ -7518,8 +7581,8 @@ TextComponent.displayName = "Text";
|
|
|
7518
7581
|
var Text = makePolymorphic(TextComponent);
|
|
7519
7582
|
|
|
7520
7583
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7521
|
-
var
|
|
7522
|
-
var StyledDataCardTrend =
|
|
7584
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
7585
|
+
var StyledDataCardTrend = import_styled_components39.default.div`
|
|
7523
7586
|
${({ $outlook }) => getColorScheme($outlook === "positive" ? "success" : "error")};
|
|
7524
7587
|
background: var(--wui-color-bg-app);
|
|
7525
7588
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -7534,8 +7597,8 @@ var DataCardTrend = ({
|
|
|
7534
7597
|
children,
|
|
7535
7598
|
...props
|
|
7536
7599
|
}) => {
|
|
7537
|
-
return /* @__PURE__ */ (0,
|
|
7538
|
-
/* @__PURE__ */ (0,
|
|
7600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsxs)(StyledDataCardTrend, { $outlook: outlook, children: [
|
|
7601
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
|
|
7539
7602
|
Icon,
|
|
7540
7603
|
{
|
|
7541
7604
|
size: "md",
|
|
@@ -7543,7 +7606,7 @@ var DataCardTrend = ({
|
|
|
7543
7606
|
...props
|
|
7544
7607
|
}
|
|
7545
7608
|
),
|
|
7546
|
-
/* @__PURE__ */ (0,
|
|
7609
|
+
/* @__PURE__ */ (0, import_jsx_runtime182.jsx)(
|
|
7547
7610
|
Text,
|
|
7548
7611
|
{
|
|
7549
7612
|
prominence: "secondary",
|
|
@@ -7555,22 +7618,22 @@ var DataCardTrend = ({
|
|
|
7555
7618
|
};
|
|
7556
7619
|
|
|
7557
7620
|
// src/components/Divider/Divider.tsx
|
|
7558
|
-
var
|
|
7559
|
-
var
|
|
7560
|
-
var horizontalBorderCss =
|
|
7621
|
+
var import_styled_components40 = __toESM(require("styled-components"));
|
|
7622
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
7623
|
+
var horizontalBorderCss = import_styled_components40.css`
|
|
7561
7624
|
border-top-color: var(--wui-color-border);
|
|
7562
7625
|
border-top-style: solid;
|
|
7563
7626
|
border-top-width: 1px;
|
|
7564
7627
|
clear: both; /* for horizontal dividers, ensure it clears any floats */
|
|
7565
7628
|
height: 0;
|
|
7566
7629
|
`;
|
|
7567
|
-
var verticalBorderCss =
|
|
7630
|
+
var verticalBorderCss = import_styled_components40.css`
|
|
7568
7631
|
background-color: var(--wui-color-border);
|
|
7569
7632
|
max-width: 1px;
|
|
7570
7633
|
min-height: 100%;
|
|
7571
7634
|
width: 1px;
|
|
7572
7635
|
`;
|
|
7573
|
-
var DividerComponent =
|
|
7636
|
+
var DividerComponent = import_styled_components40.default.div`
|
|
7574
7637
|
${({ $orientation }) => {
|
|
7575
7638
|
switch ($orientation) {
|
|
7576
7639
|
case "vertical":
|
|
@@ -7585,7 +7648,7 @@ var Divider = ({
|
|
|
7585
7648
|
orientation = "horizontal",
|
|
7586
7649
|
...otherProps
|
|
7587
7650
|
}) => {
|
|
7588
|
-
return /* @__PURE__ */ (0,
|
|
7651
|
+
return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
7589
7652
|
DividerComponent,
|
|
7590
7653
|
{
|
|
7591
7654
|
$orientation: orientation,
|
|
@@ -7598,15 +7661,15 @@ var Divider = ({
|
|
|
7598
7661
|
Divider.displayName = "Divider";
|
|
7599
7662
|
|
|
7600
7663
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7601
|
-
var
|
|
7602
|
-
var
|
|
7664
|
+
var import_styled_components44 = __toESM(require("styled-components"));
|
|
7665
|
+
var import_react23 = require("react");
|
|
7603
7666
|
|
|
7604
7667
|
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
7605
|
-
var
|
|
7606
|
-
var
|
|
7607
|
-
var
|
|
7608
|
-
var VisuallyHidden =
|
|
7609
|
-
var VisuallyHiddenButFocusable =
|
|
7668
|
+
var import_styled_components41 = __toESM(require("styled-components"));
|
|
7669
|
+
var import_type_guards24 = require("@wistia/type-guards");
|
|
7670
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
7671
|
+
var VisuallyHidden = import_styled_components41.default.div({ ...visuallyHiddenStyle });
|
|
7672
|
+
var VisuallyHiddenButFocusable = import_styled_components41.default.div({
|
|
7610
7673
|
"&:not(:focus-within)": visuallyHiddenStyle
|
|
7611
7674
|
});
|
|
7612
7675
|
var ScreenReaderOnly = ({
|
|
@@ -7615,26 +7678,26 @@ var ScreenReaderOnly = ({
|
|
|
7615
7678
|
focusable = false,
|
|
7616
7679
|
...otherProps
|
|
7617
7680
|
}) => {
|
|
7618
|
-
const accessibleText = (0,
|
|
7681
|
+
const accessibleText = (0, import_type_guards24.isNotNil)(text) ? text : children;
|
|
7619
7682
|
if (focusable) {
|
|
7620
|
-
return /* @__PURE__ */ (0,
|
|
7683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
7621
7684
|
}
|
|
7622
|
-
return /* @__PURE__ */ (0,
|
|
7685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
7623
7686
|
};
|
|
7624
7687
|
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
7625
7688
|
|
|
7626
7689
|
// src/components/Tooltip/Tooltip.tsx
|
|
7627
7690
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
7628
|
-
var
|
|
7629
|
-
var
|
|
7630
|
-
var CompactTooltipStyles =
|
|
7691
|
+
var import_styled_components42 = __toESM(require("styled-components"));
|
|
7692
|
+
var import_jsx_runtime185 = require("react/jsx-runtime");
|
|
7693
|
+
var CompactTooltipStyles = import_styled_components42.css`
|
|
7631
7694
|
--tooltip-font-size: var(--wui-typography-label-4-size);
|
|
7632
7695
|
--tooltip-line-height: var(--wui-typography-label-4-line-height);
|
|
7633
7696
|
--tooltip-font-weight: var(--wui-typography-label-4-weight);
|
|
7634
7697
|
--tooltip-horizontal-padding: var(--wui-space-02);
|
|
7635
7698
|
--tooltip-vertical-padding: var(--wui-space-03);
|
|
7636
7699
|
`;
|
|
7637
|
-
var StyledContent = (0,
|
|
7700
|
+
var StyledContent = (0, import_styled_components42.default)(import_react_tooltip2.Content)`
|
|
7638
7701
|
--tooltip-font-family: var(--wui-typography-family-default);
|
|
7639
7702
|
--tooltip-border-radius: var(--wui-border-radius-05);
|
|
7640
7703
|
--tooltip-bg: var(--wui-color-bg-tooltip);
|
|
@@ -7692,14 +7755,14 @@ var Tooltip = ({
|
|
|
7692
7755
|
if (forceOpen === true) {
|
|
7693
7756
|
rootProps.open = true;
|
|
7694
7757
|
}
|
|
7695
|
-
return /* @__PURE__ */ (0,
|
|
7758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(
|
|
7696
7759
|
import_react_tooltip2.Root,
|
|
7697
7760
|
{
|
|
7698
7761
|
delayDuration: delay,
|
|
7699
7762
|
...rootProps,
|
|
7700
7763
|
children: [
|
|
7701
|
-
/* @__PURE__ */ (0,
|
|
7702
|
-
/* @__PURE__ */ (0,
|
|
7764
|
+
/* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
|
|
7765
|
+
/* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(
|
|
7703
7766
|
StyledContent,
|
|
7704
7767
|
{
|
|
7705
7768
|
$compact: compact,
|
|
@@ -7707,7 +7770,7 @@ var Tooltip = ({
|
|
|
7707
7770
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
7708
7771
|
children: [
|
|
7709
7772
|
content,
|
|
7710
|
-
!hideArrow ? /* @__PURE__ */ (0,
|
|
7773
|
+
!hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
|
|
7711
7774
|
"svg",
|
|
7712
7775
|
{
|
|
7713
7776
|
fill: "var(--tooltip-bg)",
|
|
@@ -7716,7 +7779,7 @@ var Tooltip = ({
|
|
|
7716
7779
|
viewBox: "0 0 12 8",
|
|
7717
7780
|
width: "12",
|
|
7718
7781
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7719
|
-
children: /* @__PURE__ */ (0,
|
|
7782
|
+
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" })
|
|
7720
7783
|
}
|
|
7721
7784
|
) }) : null
|
|
7722
7785
|
]
|
|
@@ -7729,11 +7792,11 @@ var Tooltip = ({
|
|
|
7729
7792
|
Tooltip.displayName = "Tooltip";
|
|
7730
7793
|
|
|
7731
7794
|
// src/components/Input/Input.tsx
|
|
7732
|
-
var
|
|
7733
|
-
var
|
|
7734
|
-
var
|
|
7735
|
-
var
|
|
7736
|
-
var inputStyles =
|
|
7795
|
+
var import_react22 = require("react");
|
|
7796
|
+
var import_styled_components43 = __toESM(require("styled-components"));
|
|
7797
|
+
var import_type_guards25 = require("@wistia/type-guards");
|
|
7798
|
+
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
7799
|
+
var inputStyles = import_styled_components43.css`
|
|
7737
7800
|
--wui-input-color-bg: var(--wui-color-bg-surface);
|
|
7738
7801
|
--wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
7739
7802
|
--wui-input-color-border: var(--wui-color-border);
|
|
@@ -7774,7 +7837,7 @@ var inputStyles = import_styled_components41.css`
|
|
|
7774
7837
|
}
|
|
7775
7838
|
}
|
|
7776
7839
|
`;
|
|
7777
|
-
var StyledInputContainer =
|
|
7840
|
+
var StyledInputContainer = import_styled_components43.default.div`
|
|
7778
7841
|
display: inline-flex;
|
|
7779
7842
|
position: relative;
|
|
7780
7843
|
${inputStyles};
|
|
@@ -7818,7 +7881,7 @@ var StyledInputContainer = import_styled_components41.default.div`
|
|
|
7818
7881
|
padding-right: 32px;
|
|
7819
7882
|
}
|
|
7820
7883
|
`;
|
|
7821
|
-
var Input = (0,
|
|
7884
|
+
var Input = (0, import_react22.forwardRef)(
|
|
7822
7885
|
({
|
|
7823
7886
|
fullWidth = false,
|
|
7824
7887
|
monospace = false,
|
|
@@ -7828,27 +7891,27 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7828
7891
|
rightIcon,
|
|
7829
7892
|
...props
|
|
7830
7893
|
}, externalRef) => {
|
|
7831
|
-
const internalRef = (0,
|
|
7832
|
-
const ref = (0,
|
|
7894
|
+
const internalRef = (0, import_react22.useRef)();
|
|
7895
|
+
const ref = (0, import_type_guards25.isNotNil)(externalRef) && (0, import_type_guards25.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef;
|
|
7833
7896
|
let leftIconToDisplay = leftIcon;
|
|
7834
|
-
if ((0,
|
|
7835
|
-
leftIconToDisplay = /* @__PURE__ */ (0,
|
|
7897
|
+
if ((0, import_type_guards25.isNil)(leftIcon) && type === "search") {
|
|
7898
|
+
leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Icon, { type: "search" });
|
|
7836
7899
|
}
|
|
7837
|
-
if ((0,
|
|
7838
|
-
leftIconToDisplay = (0,
|
|
7900
|
+
if ((0, import_type_guards25.isNotNil)(leftIconToDisplay)) {
|
|
7901
|
+
leftIconToDisplay = (0, import_react22.cloneElement)(leftIconToDisplay, {
|
|
7839
7902
|
size: "md",
|
|
7840
7903
|
className: "wui-input-left-icon"
|
|
7841
7904
|
});
|
|
7842
7905
|
}
|
|
7843
7906
|
let rightIconToDisplay = rightIcon;
|
|
7844
|
-
if ((0,
|
|
7845
|
-
rightIconToDisplay = (0,
|
|
7907
|
+
if ((0, import_type_guards25.isNotNil)(rightIconToDisplay)) {
|
|
7908
|
+
rightIconToDisplay = (0, import_react22.cloneElement)(rightIconToDisplay, {
|
|
7846
7909
|
size: "md",
|
|
7847
7910
|
className: "wui-input-right-icon"
|
|
7848
7911
|
});
|
|
7849
7912
|
}
|
|
7850
7913
|
const handleFocus = (event) => {
|
|
7851
|
-
if ((0,
|
|
7914
|
+
if ((0, import_type_guards25.isNotNil)(props.onFocus)) {
|
|
7852
7915
|
props.onFocus(event);
|
|
7853
7916
|
}
|
|
7854
7917
|
if (autoSelect && isValidRef(ref) && "current" in ref) {
|
|
@@ -7857,21 +7920,21 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7857
7920
|
});
|
|
7858
7921
|
}
|
|
7859
7922
|
};
|
|
7860
|
-
return /* @__PURE__ */ (0,
|
|
7923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(
|
|
7861
7924
|
StyledInputContainer,
|
|
7862
7925
|
{
|
|
7863
7926
|
$fullWidth: fullWidth,
|
|
7864
7927
|
$monospace: monospace,
|
|
7865
7928
|
children: [
|
|
7866
7929
|
leftIconToDisplay ?? null,
|
|
7867
|
-
type === "multiline" ? /* @__PURE__ */ (0,
|
|
7930
|
+
type === "multiline" ? /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(
|
|
7868
7931
|
"textarea",
|
|
7869
7932
|
{
|
|
7870
7933
|
...props,
|
|
7871
7934
|
ref,
|
|
7872
7935
|
onFocus: handleFocus
|
|
7873
7936
|
}
|
|
7874
|
-
) : /* @__PURE__ */ (0,
|
|
7937
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(
|
|
7875
7938
|
"input",
|
|
7876
7939
|
{
|
|
7877
7940
|
...props,
|
|
@@ -7889,8 +7952,8 @@ var Input = (0, import_react21.forwardRef)(
|
|
|
7889
7952
|
Input.displayName = "Input";
|
|
7890
7953
|
|
|
7891
7954
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7892
|
-
var
|
|
7893
|
-
var StyledInput = (0,
|
|
7955
|
+
var import_jsx_runtime187 = require("react/jsx-runtime");
|
|
7956
|
+
var StyledInput = (0, import_styled_components44.default)(Input)`
|
|
7894
7957
|
:not([rows]) {
|
|
7895
7958
|
min-height: unset;
|
|
7896
7959
|
}
|
|
@@ -7910,7 +7973,7 @@ var StyledInput = (0, import_styled_components42.default)(Input)`
|
|
|
7910
7973
|
height: ${({ $height }) => `${$height}px`};
|
|
7911
7974
|
}
|
|
7912
7975
|
`;
|
|
7913
|
-
var editableStyles =
|
|
7976
|
+
var editableStyles = import_styled_components44.css`
|
|
7914
7977
|
&:has(+ :focus-within) {
|
|
7915
7978
|
background: var(--wui-color-bg-surface-hover);
|
|
7916
7979
|
}
|
|
@@ -7920,7 +7983,7 @@ var editableStyles = import_styled_components42.css`
|
|
|
7920
7983
|
cursor: pointer;
|
|
7921
7984
|
}
|
|
7922
7985
|
`;
|
|
7923
|
-
var StyledHeading2 = (0,
|
|
7986
|
+
var StyledHeading2 = (0, import_styled_components44.default)(Heading)`
|
|
7924
7987
|
width: 100%;
|
|
7925
7988
|
border-radius: var(--wui-border-radius-02);
|
|
7926
7989
|
padding: var(--wui-space-02);
|
|
@@ -7937,11 +8000,11 @@ var EditableHeading = ({
|
|
|
7937
8000
|
forceEditing = false,
|
|
7938
8001
|
editingDisabled = false
|
|
7939
8002
|
}) => {
|
|
7940
|
-
const [isEditing, setIsEditing] = (0,
|
|
7941
|
-
const [value, setValue] = (0,
|
|
7942
|
-
const [previousValue, setPreviousValue] = (0,
|
|
7943
|
-
const [headingHeight, setHeadingHeight] = (0,
|
|
7944
|
-
const headingRef = (0,
|
|
8003
|
+
const [isEditing, setIsEditing] = (0, import_react23.useState)(false);
|
|
8004
|
+
const [value, setValue] = (0, import_react23.useState)(children);
|
|
8005
|
+
const [previousValue, setPreviousValue] = (0, import_react23.useState)(children);
|
|
8006
|
+
const [headingHeight, setHeadingHeight] = (0, import_react23.useState)("60");
|
|
8007
|
+
const headingRef = (0, import_react23.useRef)(null);
|
|
7945
8008
|
const handleSetEditing = (editing) => {
|
|
7946
8009
|
if (editingDisabled) return;
|
|
7947
8010
|
if (editing && headingRef.current) {
|
|
@@ -7974,7 +8037,7 @@ var EditableHeading = ({
|
|
|
7974
8037
|
handleSetEditing(false);
|
|
7975
8038
|
}
|
|
7976
8039
|
};
|
|
7977
|
-
const HeadingComponent2 = /* @__PURE__ */ (0,
|
|
8040
|
+
const HeadingComponent2 = /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7978
8041
|
StyledHeading2,
|
|
7979
8042
|
{
|
|
7980
8043
|
ref: headingRef,
|
|
@@ -7988,7 +8051,7 @@ var EditableHeading = ({
|
|
|
7988
8051
|
return HeadingComponent2;
|
|
7989
8052
|
}
|
|
7990
8053
|
if (isEditing || forceEditing) {
|
|
7991
|
-
return /* @__PURE__ */ (0,
|
|
8054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7992
8055
|
StyledInput,
|
|
7993
8056
|
{
|
|
7994
8057
|
$height: headingHeight,
|
|
@@ -8006,8 +8069,8 @@ var EditableHeading = ({
|
|
|
8006
8069
|
}
|
|
8007
8070
|
);
|
|
8008
8071
|
}
|
|
8009
|
-
return /* @__PURE__ */ (0,
|
|
8010
|
-
/* @__PURE__ */ (0,
|
|
8072
|
+
return /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)(import_jsx_runtime187.Fragment, { children: [
|
|
8073
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
8011
8074
|
Tooltip,
|
|
8012
8075
|
{
|
|
8013
8076
|
compact: true,
|
|
@@ -8015,7 +8078,7 @@ var EditableHeading = ({
|
|
|
8015
8078
|
children: HeadingComponent2
|
|
8016
8079
|
}
|
|
8017
8080
|
),
|
|
8018
|
-
/* @__PURE__ */ (0,
|
|
8081
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(ScreenReaderOnly, { children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
8019
8082
|
"button",
|
|
8020
8083
|
{
|
|
8021
8084
|
"aria-label": ariaLabel,
|
|
@@ -8027,25 +8090,25 @@ var EditableHeading = ({
|
|
|
8027
8090
|
};
|
|
8028
8091
|
|
|
8029
8092
|
// src/components/Form/Form.tsx
|
|
8030
|
-
var
|
|
8031
|
-
var
|
|
8032
|
-
var
|
|
8093
|
+
var import_react25 = require("react");
|
|
8094
|
+
var import_styled_components46 = __toESM(require("styled-components"));
|
|
8095
|
+
var import_type_guards26 = require("@wistia/type-guards");
|
|
8033
8096
|
|
|
8034
8097
|
// src/components/Stack/Stack.tsx
|
|
8035
|
-
var
|
|
8036
|
-
var
|
|
8037
|
-
var
|
|
8098
|
+
var import_react24 = require("react");
|
|
8099
|
+
var import_styled_components45 = __toESM(require("styled-components"));
|
|
8100
|
+
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
8038
8101
|
var DEFAULT_ELEMENT4 = "div";
|
|
8039
|
-
var StyledStack =
|
|
8102
|
+
var StyledStack = import_styled_components45.default.div`
|
|
8040
8103
|
display: flex;
|
|
8041
8104
|
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
8042
8105
|
gap: ${({ $gap }) => `var(--wui-${$gap})`};
|
|
8043
8106
|
`;
|
|
8044
|
-
var StackComponent = (0,
|
|
8107
|
+
var StackComponent = (0, import_react24.forwardRef)(
|
|
8045
8108
|
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
8046
8109
|
const responsiveGap = useResponsiveProp(gap);
|
|
8047
8110
|
const responsiveDirection = useResponsiveProp(direction);
|
|
8048
|
-
return /* @__PURE__ */ (0,
|
|
8111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(
|
|
8049
8112
|
StyledStack,
|
|
8050
8113
|
{
|
|
8051
8114
|
ref,
|
|
@@ -8061,29 +8124,29 @@ StackComponent.displayName = "Stack";
|
|
|
8061
8124
|
var Stack = makePolymorphic(StackComponent);
|
|
8062
8125
|
|
|
8063
8126
|
// src/components/Form/Form.tsx
|
|
8064
|
-
var
|
|
8065
|
-
var StyledForm =
|
|
8127
|
+
var import_jsx_runtime189 = require("react/jsx-runtime");
|
|
8128
|
+
var StyledForm = import_styled_components46.default.form`
|
|
8066
8129
|
--form-default-width: 690px;
|
|
8067
8130
|
|
|
8068
8131
|
max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
|
|
8069
8132
|
align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
|
|
8070
8133
|
`;
|
|
8071
|
-
var FormContext = (0,
|
|
8134
|
+
var FormContext = (0, import_react25.createContext)({
|
|
8072
8135
|
values: {},
|
|
8073
8136
|
errors: {},
|
|
8074
8137
|
hasSubmitted: false,
|
|
8075
8138
|
formId: ""
|
|
8076
8139
|
});
|
|
8077
8140
|
var FormComponent = ({ children, action, values = {}, validate, fullWidth = false, ...props }, forwardedRef) => {
|
|
8078
|
-
const [errors, setErrors] = (0,
|
|
8079
|
-
const [hasSubmitted, setHasSubmitted] = (0,
|
|
8080
|
-
const innerRef = (0,
|
|
8141
|
+
const [errors, setErrors] = (0, import_react25.useState)({});
|
|
8142
|
+
const [hasSubmitted, setHasSubmitted] = (0, import_react25.useState)(false);
|
|
8143
|
+
const innerRef = (0, import_react25.useRef)();
|
|
8081
8144
|
const ref = forwardedRef ?? innerRef;
|
|
8082
|
-
const autoId = (0,
|
|
8145
|
+
const autoId = (0, import_react25.useId)();
|
|
8083
8146
|
const id = props.id ?? autoId;
|
|
8084
8147
|
const handleValidate = (nextFormData) => {
|
|
8085
8148
|
const nextData = Object.fromEntries(nextFormData.entries());
|
|
8086
|
-
if ((0,
|
|
8149
|
+
if ((0, import_type_guards26.isUndefined)(validate)) {
|
|
8087
8150
|
return {};
|
|
8088
8151
|
}
|
|
8089
8152
|
return validate(nextData);
|
|
@@ -8093,7 +8156,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8093
8156
|
props.onBlur(event);
|
|
8094
8157
|
}
|
|
8095
8158
|
const formData = new FormData(event.currentTarget);
|
|
8096
|
-
if ((0,
|
|
8159
|
+
if ((0, import_type_guards26.isNotUndefined)(validate)) {
|
|
8097
8160
|
handleValidate(formData);
|
|
8098
8161
|
}
|
|
8099
8162
|
};
|
|
@@ -8121,7 +8184,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8121
8184
|
void action(null);
|
|
8122
8185
|
}
|
|
8123
8186
|
};
|
|
8124
|
-
const context = (0,
|
|
8187
|
+
const context = (0, import_react25.useMemo)(() => {
|
|
8125
8188
|
return {
|
|
8126
8189
|
values,
|
|
8127
8190
|
errors,
|
|
@@ -8131,7 +8194,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8131
8194
|
}, [values, errors, id, hasSubmitted]);
|
|
8132
8195
|
return (
|
|
8133
8196
|
// @ts-expect-error - generic context providers are a giant pain
|
|
8134
|
-
/* @__PURE__ */ (0,
|
|
8197
|
+
/* @__PURE__ */ (0, import_jsx_runtime189.jsx)(FormContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(
|
|
8135
8198
|
Stack,
|
|
8136
8199
|
{
|
|
8137
8200
|
gap: "space-05",
|
|
@@ -8149,15 +8212,15 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8149
8212
|
);
|
|
8150
8213
|
};
|
|
8151
8214
|
FormComponent.displayName = "Form";
|
|
8152
|
-
var Form = (0,
|
|
8215
|
+
var Form = (0, import_react25.forwardRef)(FormComponent);
|
|
8153
8216
|
|
|
8154
8217
|
// src/components/Form/useFormState.tsx
|
|
8155
|
-
var
|
|
8218
|
+
var import_react26 = require("react");
|
|
8156
8219
|
var useFormState = (action, initialData = {}) => {
|
|
8157
|
-
const [data, setData] = (0,
|
|
8158
|
-
const [isPending, setIsPending] = (0,
|
|
8159
|
-
const [error, setError] = (0,
|
|
8160
|
-
const formAction = (0,
|
|
8220
|
+
const [data, setData] = (0, import_react26.useState)(initialData);
|
|
8221
|
+
const [isPending, setIsPending] = (0, import_react26.useState)(false);
|
|
8222
|
+
const [error, setError] = (0, import_react26.useState)(null);
|
|
8223
|
+
const formAction = (0, import_react26.useCallback)(
|
|
8161
8224
|
async (nextFormData) => {
|
|
8162
8225
|
if (nextFormData === null) {
|
|
8163
8226
|
setData(initialData);
|
|
@@ -8188,23 +8251,23 @@ var useFormState = (action, initialData = {}) => {
|
|
|
8188
8251
|
};
|
|
8189
8252
|
|
|
8190
8253
|
// src/components/Form/FormErrorSummary.tsx
|
|
8191
|
-
var
|
|
8192
|
-
var
|
|
8193
|
-
var
|
|
8254
|
+
var import_react27 = require("react");
|
|
8255
|
+
var import_type_guards27 = require("@wistia/type-guards");
|
|
8256
|
+
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
8194
8257
|
var ErrorItem = ({ name, error, formId }) => {
|
|
8195
|
-
return /* @__PURE__ */ (0,
|
|
8258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(Link, { href: `${formId}-${name}`, children: error }) }, name);
|
|
8196
8259
|
};
|
|
8197
8260
|
var FormErrorSummary = ({ description }) => {
|
|
8198
|
-
const ref = (0,
|
|
8199
|
-
const { formId, errors, hasSubmitted } = (0,
|
|
8261
|
+
const ref = (0, import_react27.useRef)(null);
|
|
8262
|
+
const { formId, errors, hasSubmitted } = (0, import_react27.useContext)(FormContext);
|
|
8200
8263
|
const isValid = Object.keys(errors).length === 0;
|
|
8201
8264
|
if (isValid || !hasSubmitted) {
|
|
8202
8265
|
return null;
|
|
8203
8266
|
}
|
|
8204
|
-
return /* @__PURE__ */ (0,
|
|
8205
|
-
/* @__PURE__ */ (0,
|
|
8206
|
-
/* @__PURE__ */ (0,
|
|
8207
|
-
([name, error]) => (0,
|
|
8267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { ref, children: [
|
|
8268
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("p", { children: description }),
|
|
8269
|
+
/* @__PURE__ */ (0, import_jsx_runtime190.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0, import_type_guards27.isNotUndefined)(error)).map(
|
|
8270
|
+
([name, error]) => (0, import_type_guards27.isArray)(error) ? error.map((err) => /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
|
|
8208
8271
|
ErrorItem,
|
|
8209
8272
|
{
|
|
8210
8273
|
error: err,
|
|
@@ -8212,7 +8275,7 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8212
8275
|
name
|
|
8213
8276
|
},
|
|
8214
8277
|
err
|
|
8215
|
-
)) : /* @__PURE__ */ (0,
|
|
8278
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(
|
|
8216
8279
|
ErrorItem,
|
|
8217
8280
|
{
|
|
8218
8281
|
error: error ?? "",
|
|
@@ -8226,33 +8289,33 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8226
8289
|
};
|
|
8227
8290
|
|
|
8228
8291
|
// src/components/FormField/FormField.tsx
|
|
8229
|
-
var
|
|
8230
|
-
var
|
|
8231
|
-
var
|
|
8292
|
+
var import_react30 = require("react");
|
|
8293
|
+
var import_styled_components48 = __toESM(require("styled-components"));
|
|
8294
|
+
var import_type_guards28 = require("@wistia/type-guards");
|
|
8232
8295
|
|
|
8233
8296
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8234
|
-
var
|
|
8297
|
+
var import_react29 = require("react");
|
|
8235
8298
|
|
|
8236
8299
|
// src/components/FormGroup/FormGroup.tsx
|
|
8237
|
-
var
|
|
8238
|
-
var
|
|
8239
|
-
var
|
|
8240
|
-
var StyledFieldset =
|
|
8300
|
+
var import_styled_components47 = __toESM(require("styled-components"));
|
|
8301
|
+
var import_react28 = require("react");
|
|
8302
|
+
var import_jsx_runtime191 = require("react/jsx-runtime");
|
|
8303
|
+
var StyledFieldset = import_styled_components47.default.fieldset`
|
|
8241
8304
|
border: 0;
|
|
8242
8305
|
`;
|
|
8243
|
-
var StyledLegend =
|
|
8306
|
+
var StyledLegend = import_styled_components47.default.legend`
|
|
8244
8307
|
margin-bottom: var(--space-01);
|
|
8245
8308
|
`;
|
|
8246
8309
|
var FormGroup = ({ children, label, ...props }) => {
|
|
8247
|
-
const ref = (0,
|
|
8248
|
-
return /* @__PURE__ */ (0,
|
|
8310
|
+
const ref = (0, import_react28.useRef)();
|
|
8311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(
|
|
8249
8312
|
Stack,
|
|
8250
8313
|
{
|
|
8251
8314
|
...props,
|
|
8252
8315
|
ref,
|
|
8253
8316
|
renderAs: StyledFieldset,
|
|
8254
8317
|
children: [
|
|
8255
|
-
/* @__PURE__ */ (0,
|
|
8318
|
+
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(
|
|
8256
8319
|
Heading,
|
|
8257
8320
|
{
|
|
8258
8321
|
renderAs: StyledLegend,
|
|
@@ -8268,8 +8331,8 @@ var FormGroup = ({ children, label, ...props }) => {
|
|
|
8268
8331
|
FormGroup.displayName = "FormGroup";
|
|
8269
8332
|
|
|
8270
8333
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8271
|
-
var
|
|
8272
|
-
var CheckboxGroupContext = (0,
|
|
8334
|
+
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
8335
|
+
var CheckboxGroupContext = (0, import_react29.createContext)(null);
|
|
8273
8336
|
var CheckboxGroup = ({
|
|
8274
8337
|
children,
|
|
8275
8338
|
name,
|
|
@@ -8277,19 +8340,19 @@ var CheckboxGroup = ({
|
|
|
8277
8340
|
value,
|
|
8278
8341
|
...props
|
|
8279
8342
|
}) => {
|
|
8280
|
-
const context = (0,
|
|
8343
|
+
const context = (0, import_react29.useMemo)(() => {
|
|
8281
8344
|
return {
|
|
8282
8345
|
name,
|
|
8283
8346
|
onChange
|
|
8284
8347
|
};
|
|
8285
8348
|
}, [name, onChange]);
|
|
8286
|
-
return /* @__PURE__ */ (0,
|
|
8349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime192.jsx)(FormGroup, { ...props, children }) });
|
|
8287
8350
|
};
|
|
8288
8351
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
8289
8352
|
|
|
8290
8353
|
// src/components/FormField/FormField.tsx
|
|
8291
|
-
var
|
|
8292
|
-
var StyledFormField =
|
|
8354
|
+
var import_jsx_runtime193 = require("react/jsx-runtime");
|
|
8355
|
+
var StyledFormField = import_styled_components48.default.div`
|
|
8293
8356
|
--form-field-spacing: var(--wui-space-01);
|
|
8294
8357
|
--form-field-error-color: var(--wui-color-text-secondary-error);
|
|
8295
8358
|
|
|
@@ -8297,7 +8360,7 @@ var StyledFormField = import_styled_components46.default.div`
|
|
|
8297
8360
|
flex-direction: column;
|
|
8298
8361
|
gap: var(--form-field-spacing);
|
|
8299
8362
|
`;
|
|
8300
|
-
var StyledErrorList =
|
|
8363
|
+
var StyledErrorList = import_styled_components48.default.ul`
|
|
8301
8364
|
margin: 0;
|
|
8302
8365
|
padding: 0;
|
|
8303
8366
|
padding-left: var(--wui-space-04);
|
|
@@ -8306,8 +8369,8 @@ var StyledErrorList = import_styled_components46.default.ul`
|
|
|
8306
8369
|
gap: var(--wui-space-01);
|
|
8307
8370
|
`;
|
|
8308
8371
|
var ErrorMessages = ({ errors, id }) => {
|
|
8309
|
-
const isMultipleErrors = (0,
|
|
8310
|
-
return isMultipleErrors ? /* @__PURE__ */ (0,
|
|
8372
|
+
const isMultipleErrors = (0, import_type_guards28.isArray)(errors);
|
|
8373
|
+
return isMultipleErrors ? /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(StyledErrorList, { children: errors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8311
8374
|
Text,
|
|
8312
8375
|
{
|
|
8313
8376
|
colorScheme: "error",
|
|
@@ -8317,7 +8380,7 @@ var ErrorMessages = ({ errors, id }) => {
|
|
|
8317
8380
|
children: error
|
|
8318
8381
|
},
|
|
8319
8382
|
`${id}-${index}`
|
|
8320
|
-
)) }) : /* @__PURE__ */ (0,
|
|
8383
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8321
8384
|
Text,
|
|
8322
8385
|
{
|
|
8323
8386
|
colorScheme: "error",
|
|
@@ -8337,8 +8400,8 @@ var FormField = ({
|
|
|
8337
8400
|
value,
|
|
8338
8401
|
...props
|
|
8339
8402
|
}) => {
|
|
8340
|
-
const formState = (0,
|
|
8341
|
-
const checkboxGroup = (0,
|
|
8403
|
+
const formState = (0, import_react30.useContext)(FormContext);
|
|
8404
|
+
const checkboxGroup = (0, import_react30.useContext)(CheckboxGroupContext);
|
|
8342
8405
|
const id = props.id ?? `${formState.formId}-${name}`;
|
|
8343
8406
|
const isInlineLabel = children.type === Checkbox;
|
|
8344
8407
|
const computedError = error ?? formState.errors[name];
|
|
@@ -8349,19 +8412,19 @@ var FormField = ({
|
|
|
8349
8412
|
label: isInlineLabel ? label : void 0,
|
|
8350
8413
|
...props
|
|
8351
8414
|
};
|
|
8352
|
-
if ((0,
|
|
8415
|
+
if ((0, import_type_guards28.isUndefined)(value) && (0, import_type_guards28.isNotUndefined)(defaultValue)) {
|
|
8353
8416
|
childProps = {
|
|
8354
8417
|
...childProps,
|
|
8355
8418
|
defaultValue
|
|
8356
8419
|
};
|
|
8357
8420
|
}
|
|
8358
|
-
if ((0,
|
|
8359
|
-
const computedName = (0,
|
|
8421
|
+
if ((0, import_type_guards28.isNotNil)(checkboxGroup)) {
|
|
8422
|
+
const computedName = (0, import_type_guards28.isNotNil)(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
|
|
8360
8423
|
const handleChange = (event) => {
|
|
8361
|
-
if ((0,
|
|
8424
|
+
if ((0, import_type_guards28.isNotUndefined)(props.onChange)) {
|
|
8362
8425
|
props.onChange(event);
|
|
8363
8426
|
}
|
|
8364
|
-
if ((0,
|
|
8427
|
+
if ((0, import_type_guards28.isNotUndefined)(checkboxGroup.onChange)) {
|
|
8365
8428
|
checkboxGroup.onChange(event);
|
|
8366
8429
|
}
|
|
8367
8430
|
};
|
|
@@ -8369,15 +8432,15 @@ var FormField = ({
|
|
|
8369
8432
|
...childProps,
|
|
8370
8433
|
name: computedName,
|
|
8371
8434
|
onChange: handleChange,
|
|
8372
|
-
"aria-invalid": (0,
|
|
8373
|
-
"aria-describedby": (0,
|
|
8435
|
+
"aria-invalid": (0, import_type_guards28.isNotNil)(error),
|
|
8436
|
+
"aria-describedby": (0, import_type_guards28.isNotNil)(error) ? `${id}-error` : void 0
|
|
8374
8437
|
};
|
|
8375
8438
|
}
|
|
8376
|
-
|
|
8377
|
-
return /* @__PURE__ */ (0,
|
|
8378
|
-
!isInlineLabel && /* @__PURE__ */ (0,
|
|
8379
|
-
(0,
|
|
8380
|
-
(0,
|
|
8439
|
+
import_react30.Children.only(children);
|
|
8440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)(StyledFormField, { ...props, children: [
|
|
8441
|
+
!isInlineLabel && /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(Label, { htmlFor: id, children: label }),
|
|
8442
|
+
(0, import_react30.cloneElement)(children, childProps),
|
|
8443
|
+
(0, import_type_guards28.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
|
|
8381
8444
|
ErrorMessages,
|
|
8382
8445
|
{
|
|
8383
8446
|
errors: computedError,
|
|
@@ -8389,9 +8452,9 @@ var FormField = ({
|
|
|
8389
8452
|
FormField.displayName = "FormField";
|
|
8390
8453
|
|
|
8391
8454
|
// src/components/FormGroup/RadioGroup.tsx
|
|
8392
|
-
var
|
|
8393
|
-
var
|
|
8394
|
-
var RadioGroupContext = (0,
|
|
8455
|
+
var import_react31 = require("react");
|
|
8456
|
+
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
8457
|
+
var RadioGroupContext = (0, import_react31.createContext)(null);
|
|
8395
8458
|
var RadioGroup = ({
|
|
8396
8459
|
children,
|
|
8397
8460
|
name,
|
|
@@ -8399,21 +8462,21 @@ var RadioGroup = ({
|
|
|
8399
8462
|
value,
|
|
8400
8463
|
...props
|
|
8401
8464
|
}) => {
|
|
8402
|
-
const context = (0,
|
|
8465
|
+
const context = (0, import_react31.useMemo)(() => {
|
|
8403
8466
|
return {
|
|
8404
8467
|
name,
|
|
8405
8468
|
onChange
|
|
8406
8469
|
};
|
|
8407
8470
|
}, [name, onChange]);
|
|
8408
|
-
return /* @__PURE__ */ (0,
|
|
8471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(RadioGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(FormGroup, { ...props, children }) });
|
|
8409
8472
|
};
|
|
8410
8473
|
RadioGroup.displayName = "RadioGroup";
|
|
8411
8474
|
|
|
8412
8475
|
// src/components/IconButton/IconButton.tsx
|
|
8413
|
-
var
|
|
8414
|
-
var
|
|
8415
|
-
var
|
|
8416
|
-
var StyledButton2 = (0,
|
|
8476
|
+
var import_react32 = require("react");
|
|
8477
|
+
var import_styled_components49 = __toESM(require("styled-components"));
|
|
8478
|
+
var import_jsx_runtime195 = require("react/jsx-runtime");
|
|
8479
|
+
var StyledButton2 = (0, import_styled_components49.default)(Button)`
|
|
8417
8480
|
--icon-button-size-sm: 24px;
|
|
8418
8481
|
--icon-button-size-md: 32px;
|
|
8419
8482
|
--icon-button-size-lg: 40px;
|
|
@@ -8427,10 +8490,10 @@ var StyledButton2 = (0, import_styled_components47.default)(Button)`
|
|
|
8427
8490
|
align-items: center;
|
|
8428
8491
|
line-height: 1;
|
|
8429
8492
|
`;
|
|
8430
|
-
var IconButton = (0,
|
|
8493
|
+
var IconButton = (0, import_react32.forwardRef)(
|
|
8431
8494
|
({ children, label, size = "md", ...props }, ref) => {
|
|
8432
8495
|
const responsiveSize = useResponsiveProp(size);
|
|
8433
|
-
return /* @__PURE__ */ (0,
|
|
8496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
|
|
8434
8497
|
StyledButton2,
|
|
8435
8498
|
{
|
|
8436
8499
|
...props,
|
|
@@ -8438,7 +8501,7 @@ var IconButton = (0, import_react31.forwardRef)(
|
|
|
8438
8501
|
"aria-label": label,
|
|
8439
8502
|
"data-wistia-ui-icon-button": true,
|
|
8440
8503
|
size: responsiveSize,
|
|
8441
|
-
children: (0,
|
|
8504
|
+
children: (0, import_react32.cloneElement)(import_react32.Children.only(children), {
|
|
8442
8505
|
size: responsiveSize
|
|
8443
8506
|
})
|
|
8444
8507
|
}
|
|
@@ -8448,19 +8511,19 @@ var IconButton = (0, import_react31.forwardRef)(
|
|
|
8448
8511
|
IconButton.displayName = "IconButton";
|
|
8449
8512
|
|
|
8450
8513
|
// src/components/Menu/Menu.tsx
|
|
8451
|
-
var
|
|
8514
|
+
var import_styled_components50 = __toESM(require("styled-components"));
|
|
8452
8515
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
8453
|
-
var
|
|
8454
|
-
var
|
|
8516
|
+
var import_type_guards29 = require("@wistia/type-guards");
|
|
8517
|
+
var import_react34 = require("react");
|
|
8455
8518
|
|
|
8456
8519
|
// src/components/Menu/MenuContext.tsx
|
|
8457
|
-
var
|
|
8458
|
-
var MenuContext = (0,
|
|
8459
|
-
var useMenuContext = () => (0,
|
|
8520
|
+
var import_react33 = require("react");
|
|
8521
|
+
var MenuContext = (0, import_react33.createContext)({ compact: false });
|
|
8522
|
+
var useMenuContext = () => (0, import_react33.useContext)(MenuContext);
|
|
8460
8523
|
|
|
8461
8524
|
// src/components/Menu/Menu.tsx
|
|
8462
|
-
var
|
|
8463
|
-
var open =
|
|
8525
|
+
var import_jsx_runtime196 = require("react/jsx-runtime");
|
|
8526
|
+
var open = import_styled_components50.keyframes`
|
|
8464
8527
|
from {
|
|
8465
8528
|
opacity: 0;
|
|
8466
8529
|
transform: scale(.97) translateY(-8px);
|
|
@@ -8470,7 +8533,7 @@ var open = import_styled_components48.keyframes`
|
|
|
8470
8533
|
transform: scale(1);
|
|
8471
8534
|
}
|
|
8472
8535
|
`;
|
|
8473
|
-
var close =
|
|
8536
|
+
var close = import_styled_components50.keyframes`
|
|
8474
8537
|
from {
|
|
8475
8538
|
opacity: 1;
|
|
8476
8539
|
transform: scale(1);
|
|
@@ -8480,7 +8543,7 @@ var close = import_styled_components48.keyframes`
|
|
|
8480
8543
|
transform: scale(.97) translateY(-8px);
|
|
8481
8544
|
}
|
|
8482
8545
|
`;
|
|
8483
|
-
var menuItemCss =
|
|
8546
|
+
var menuItemCss = import_styled_components50.css`
|
|
8484
8547
|
--menu-label-description-gap: var(--wui-space-01);
|
|
8485
8548
|
--menu-item-inner-gap: var(--wui-space-03);
|
|
8486
8549
|
--menu-item-left-icon-size: 24px;
|
|
@@ -8491,7 +8554,7 @@ var menuItemCss = import_styled_components48.css`
|
|
|
8491
8554
|
--menu-label-line-height: var(--wui-typography-label-3-line-height);
|
|
8492
8555
|
--menu-divider-margin: var(--wui-space-02);
|
|
8493
8556
|
`;
|
|
8494
|
-
var compactMenuItemCss =
|
|
8557
|
+
var compactMenuItemCss = import_styled_components50.css`
|
|
8495
8558
|
--menu-label-description-gap: 0;
|
|
8496
8559
|
--menu-item-inner-gap: var(--wui-space-02);
|
|
8497
8560
|
--menu-item-left-icon-size: 16px;
|
|
@@ -8502,7 +8565,7 @@ var compactMenuItemCss = import_styled_components48.css`
|
|
|
8502
8565
|
--menu-label-line-height: var(--wui-typography-label-4-line-height);
|
|
8503
8566
|
--menu-divider-margin: var(--wui-space-01);
|
|
8504
8567
|
`;
|
|
8505
|
-
var menuContentCss =
|
|
8568
|
+
var menuContentCss = import_styled_components50.css`
|
|
8506
8569
|
--menu-font-family: var(--wui-typography-family-default);
|
|
8507
8570
|
--menu-bg: var(--wui-color-bg-surface);
|
|
8508
8571
|
--menu-shadow: var(--wui-elevation-01);
|
|
@@ -8544,7 +8607,7 @@ var menuContentCss = import_styled_components48.css`
|
|
|
8544
8607
|
margin: var(--menu-divider-margin) 0;
|
|
8545
8608
|
}
|
|
8546
8609
|
`;
|
|
8547
|
-
var MenuContent = (0,
|
|
8610
|
+
var MenuContent = (0, import_styled_components50.default)(import_react_dropdown_menu.DropdownMenuContent)`
|
|
8548
8611
|
${menuContentCss}
|
|
8549
8612
|
`;
|
|
8550
8613
|
var Menu = ({
|
|
@@ -8560,9 +8623,9 @@ var Menu = ({
|
|
|
8560
8623
|
onInteractOutside,
|
|
8561
8624
|
...props
|
|
8562
8625
|
}) => {
|
|
8563
|
-
const contextValue = (0,
|
|
8626
|
+
const contextValue = (0, import_react34.useMemo)(() => ({ compact }), [compact]);
|
|
8564
8627
|
let controlProps = {
|
|
8565
|
-
...(0,
|
|
8628
|
+
...(0, import_type_guards29.isNotNil)(onOpenChange) && (0, import_type_guards29.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
8566
8629
|
};
|
|
8567
8630
|
if (disabled) {
|
|
8568
8631
|
controlProps = {
|
|
@@ -8570,24 +8633,24 @@ var Menu = ({
|
|
|
8570
8633
|
onOpenChange: () => null
|
|
8571
8634
|
};
|
|
8572
8635
|
}
|
|
8573
|
-
return /* @__PURE__ */ (0,
|
|
8636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(MenuContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)(
|
|
8574
8637
|
import_react_dropdown_menu.DropdownMenu,
|
|
8575
8638
|
{
|
|
8576
8639
|
modal: false,
|
|
8577
8640
|
...controlProps,
|
|
8578
8641
|
children: [
|
|
8579
|
-
/* @__PURE__ */ (0,
|
|
8642
|
+
/* @__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)(
|
|
8580
8643
|
Button,
|
|
8581
8644
|
{
|
|
8582
8645
|
"aria-expanded": isOpen,
|
|
8583
8646
|
disabled,
|
|
8584
8647
|
forceState: isOpen ? "active" : void 0,
|
|
8585
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8648
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Icon, { type: "caret-down" }),
|
|
8586
8649
|
...triggerProps,
|
|
8587
8650
|
children: label
|
|
8588
8651
|
}
|
|
8589
8652
|
) }),
|
|
8590
|
-
/* @__PURE__ */ (0,
|
|
8653
|
+
/* @__PURE__ */ (0, import_jsx_runtime196.jsx)(import_react_dropdown_menu.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
|
|
8591
8654
|
MenuContent,
|
|
8592
8655
|
{
|
|
8593
8656
|
...props,
|
|
@@ -8607,19 +8670,19 @@ var Menu = ({
|
|
|
8607
8670
|
Menu.displayName = "Menu";
|
|
8608
8671
|
|
|
8609
8672
|
// src/components/Menu/MenuLabel.tsx
|
|
8610
|
-
var
|
|
8673
|
+
var import_styled_components51 = __toESM(require("styled-components"));
|
|
8611
8674
|
var import_react_dropdown_menu2 = require("@radix-ui/react-dropdown-menu");
|
|
8612
|
-
var
|
|
8613
|
-
var StyledMenuLabel = (0,
|
|
8675
|
+
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
8676
|
+
var StyledMenuLabel = (0, import_styled_components51.default)(import_react_dropdown_menu2.DropdownMenuLabel)`
|
|
8614
8677
|
padding: var(--wui-space-02);
|
|
8615
8678
|
`;
|
|
8616
8679
|
var MenuLabel = ({ children, ...props }) => {
|
|
8617
|
-
return /* @__PURE__ */ (0,
|
|
8680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
8618
8681
|
StyledMenuLabel,
|
|
8619
8682
|
{
|
|
8620
8683
|
asChild: true,
|
|
8621
8684
|
...props,
|
|
8622
|
-
children: /* @__PURE__ */ (0,
|
|
8685
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
|
|
8623
8686
|
Heading,
|
|
8624
8687
|
{
|
|
8625
8688
|
renderAs: "span",
|
|
@@ -8634,17 +8697,17 @@ var MenuLabel = ({ children, ...props }) => {
|
|
|
8634
8697
|
MenuLabel.displayName = "MenuLabel";
|
|
8635
8698
|
|
|
8636
8699
|
// src/components/Menu/SubMenu.tsx
|
|
8637
|
-
var
|
|
8638
|
-
var
|
|
8700
|
+
var import_react36 = require("react");
|
|
8701
|
+
var import_styled_components54 = __toESM(require("styled-components"));
|
|
8639
8702
|
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
8640
|
-
var
|
|
8703
|
+
var import_type_guards31 = require("@wistia/type-guards");
|
|
8641
8704
|
|
|
8642
8705
|
// src/components/Menu/MenuItemButton.tsx
|
|
8643
|
-
var
|
|
8644
|
-
var
|
|
8645
|
-
var
|
|
8646
|
-
var
|
|
8647
|
-
var StyledButton3 = (0,
|
|
8706
|
+
var import_react35 = require("react");
|
|
8707
|
+
var import_styled_components52 = __toESM(require("styled-components"));
|
|
8708
|
+
var import_type_guards30 = require("@wistia/type-guards");
|
|
8709
|
+
var import_jsx_runtime198 = require("react/jsx-runtime");
|
|
8710
|
+
var StyledButton3 = (0, import_styled_components52.default)(Button)`
|
|
8648
8711
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
8649
8712
|
|
|
8650
8713
|
display: flex;
|
|
@@ -8683,7 +8746,7 @@ var StyledButton3 = (0, import_styled_components50.default)(Button)`
|
|
|
8683
8746
|
padding-left: var(--wui-space-04);
|
|
8684
8747
|
}
|
|
8685
8748
|
`;
|
|
8686
|
-
var StyledLeftIconContainer =
|
|
8749
|
+
var StyledLeftIconContainer = import_styled_components52.default.div`
|
|
8687
8750
|
height: var(--menu-item-left-icon-size);
|
|
8688
8751
|
width: var(--menu-item-left-icon-size);
|
|
8689
8752
|
|
|
@@ -8694,7 +8757,7 @@ var StyledLeftIconContainer = import_styled_components50.default.div`
|
|
|
8694
8757
|
}
|
|
8695
8758
|
}
|
|
8696
8759
|
`;
|
|
8697
|
-
var StyledRightIconContainer =
|
|
8760
|
+
var StyledRightIconContainer = import_styled_components52.default.div`
|
|
8698
8761
|
height: var(--menu-item-right-icon-size);
|
|
8699
8762
|
width: var(--menu-item-right-icon-size);
|
|
8700
8763
|
|
|
@@ -8705,28 +8768,28 @@ var StyledRightIconContainer = import_styled_components50.default.div`
|
|
|
8705
8768
|
}
|
|
8706
8769
|
}
|
|
8707
8770
|
`;
|
|
8708
|
-
var StyledLabelAndDescriptionContainer =
|
|
8771
|
+
var StyledLabelAndDescriptionContainer = import_styled_components52.default.div`
|
|
8709
8772
|
display: flex;
|
|
8710
8773
|
flex-direction: column;
|
|
8711
8774
|
gap: var(--menu-label-description-gap);
|
|
8712
8775
|
flex-basis: 100%;
|
|
8713
8776
|
`;
|
|
8714
|
-
var StyledBadgeContainer =
|
|
8777
|
+
var StyledBadgeContainer = import_styled_components52.default.div`
|
|
8715
8778
|
align-self: start;
|
|
8716
8779
|
justify-self: end;
|
|
8717
8780
|
font-size: var(--wui-typography-label-4-size);
|
|
8718
8781
|
color: var(--wui-color-text-secondary);
|
|
8719
8782
|
`;
|
|
8720
|
-
var MenuItemButton = (0,
|
|
8783
|
+
var MenuItemButton = (0, import_react35.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
|
|
8721
8784
|
let { colorScheme, badge } = props;
|
|
8722
8785
|
if (appearance === "dangerous") {
|
|
8723
|
-
if ((0,
|
|
8786
|
+
if ((0, import_type_guards30.isNotUndefined)(colorScheme)) {
|
|
8724
8787
|
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
8725
8788
|
}
|
|
8726
8789
|
colorScheme = "error";
|
|
8727
8790
|
}
|
|
8728
8791
|
if (appearance === "gated") {
|
|
8729
|
-
badge = /* @__PURE__ */ (0,
|
|
8792
|
+
badge = /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(
|
|
8730
8793
|
Icon,
|
|
8731
8794
|
{
|
|
8732
8795
|
colorScheme: "purple",
|
|
@@ -8738,7 +8801,7 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8738
8801
|
}
|
|
8739
8802
|
);
|
|
8740
8803
|
}
|
|
8741
|
-
return /* @__PURE__ */ (0,
|
|
8804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime198.jsxs)(
|
|
8742
8805
|
StyledButton3,
|
|
8743
8806
|
{
|
|
8744
8807
|
...props,
|
|
@@ -8748,10 +8811,10 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8748
8811
|
fullWidth: true,
|
|
8749
8812
|
unstyled: true,
|
|
8750
8813
|
children: [
|
|
8751
|
-
props.leftIcon ? /* @__PURE__ */ (0,
|
|
8752
|
-
/* @__PURE__ */ (0,
|
|
8753
|
-
(0,
|
|
8754
|
-
props.rightIcon ? /* @__PURE__ */ (0,
|
|
8814
|
+
props.leftIcon ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledLeftIconContainer, { children: props.leftIcon }) : null,
|
|
8815
|
+
/* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledLabelAndDescriptionContainer, { children }),
|
|
8816
|
+
(0, import_type_guards30.isNotNil)(badge) || (0, import_type_guards30.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null,
|
|
8817
|
+
props.rightIcon ? /* @__PURE__ */ (0, import_jsx_runtime198.jsx)(StyledRightIconContainer, { children: props.rightIcon }) : null
|
|
8755
8818
|
]
|
|
8756
8819
|
}
|
|
8757
8820
|
);
|
|
@@ -8759,33 +8822,33 @@ var MenuItemButton = (0, import_react34.forwardRef)(({ children, appearance, com
|
|
|
8759
8822
|
MenuItemButton.displayName = "MenuItemButton";
|
|
8760
8823
|
|
|
8761
8824
|
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
8762
|
-
var
|
|
8763
|
-
var
|
|
8764
|
-
var StyledMenuItemLabel =
|
|
8765
|
-
var StyledMenuItemDescription = (0,
|
|
8825
|
+
var import_styled_components53 = __toESM(require("styled-components"));
|
|
8826
|
+
var import_jsx_runtime199 = require("react/jsx-runtime");
|
|
8827
|
+
var StyledMenuItemLabel = import_styled_components53.default.span``;
|
|
8828
|
+
var StyledMenuItemDescription = (0, import_styled_components53.default)(Text).attrs({
|
|
8766
8829
|
variant: "body4",
|
|
8767
8830
|
prominence: "secondary"
|
|
8768
8831
|
})``;
|
|
8769
8832
|
var MenuItemLabel = ({ children }) => {
|
|
8770
|
-
return /* @__PURE__ */ (0,
|
|
8833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(StyledMenuItemLabel, { children });
|
|
8771
8834
|
};
|
|
8772
8835
|
var MenuItemDescription = ({ children }) => {
|
|
8773
|
-
return /* @__PURE__ */ (0,
|
|
8836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(StyledMenuItemDescription, { children });
|
|
8774
8837
|
};
|
|
8775
8838
|
|
|
8776
8839
|
// src/components/Menu/SubMenu.tsx
|
|
8777
|
-
var
|
|
8778
|
-
var SubMenuContent = (0,
|
|
8840
|
+
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
8841
|
+
var SubMenuContent = (0, import_styled_components54.default)(import_react_dropdown_menu3.DropdownMenuSubContent)`
|
|
8779
8842
|
${menuContentCss}
|
|
8780
8843
|
|
|
8781
8844
|
${mq.smAndDown} {
|
|
8782
8845
|
transform: translateX(-100%) !important;
|
|
8783
8846
|
}
|
|
8784
8847
|
`;
|
|
8785
|
-
var StyledMobileSubMenuItems =
|
|
8848
|
+
var StyledMobileSubMenuItems = import_styled_components54.default.div`
|
|
8786
8849
|
margin-left: var(--wui-space-04);
|
|
8787
8850
|
`;
|
|
8788
|
-
var StyledSubTrigger = (0,
|
|
8851
|
+
var StyledSubTrigger = (0, import_styled_components54.default)(import_react_dropdown_menu3.DropdownMenuSubTrigger)`
|
|
8789
8852
|
outline: none;
|
|
8790
8853
|
|
|
8791
8854
|
&[data-state='open'],
|
|
@@ -8795,12 +8858,12 @@ var StyledSubTrigger = (0, import_styled_components52.default)(import_react_drop
|
|
|
8795
8858
|
`;
|
|
8796
8859
|
var SubMenuTrigger = (props) => {
|
|
8797
8860
|
const { isSmAndUp } = useMq();
|
|
8798
|
-
const
|
|
8799
|
-
return /* @__PURE__ */ (0,
|
|
8861
|
+
const Trigger5 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
|
|
8862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Trigger5, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(
|
|
8800
8863
|
MenuItemButton,
|
|
8801
8864
|
{
|
|
8802
8865
|
...props,
|
|
8803
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8866
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(Icon, { type: "caret-right" })
|
|
8804
8867
|
}
|
|
8805
8868
|
) });
|
|
8806
8869
|
};
|
|
@@ -8812,16 +8875,16 @@ var SubMenu = ({
|
|
|
8812
8875
|
...props
|
|
8813
8876
|
}) => {
|
|
8814
8877
|
const { isSmAndUp } = useMq();
|
|
8815
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
8878
|
+
const [isExpanded, setIsExpanded] = (0, import_react36.useState)(false);
|
|
8816
8879
|
const { compact } = useMenuContext();
|
|
8817
|
-
return isSmAndUp ? /* @__PURE__ */ (0,
|
|
8818
|
-
/* @__PURE__ */ (0,
|
|
8819
|
-
/* @__PURE__ */ (0,
|
|
8820
|
-
(0,
|
|
8880
|
+
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
8881
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
8882
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemLabel, { children: label }),
|
|
8883
|
+
(0, import_type_guards31.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemDescription, { children: description }) : null
|
|
8821
8884
|
] }),
|
|
8822
|
-
/* @__PURE__ */ (0,
|
|
8823
|
-
] }) : /* @__PURE__ */ (0,
|
|
8824
|
-
/* @__PURE__ */ (0,
|
|
8885
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime200.jsx)(SubMenuContent, { $compact: compact, children }) })
|
|
8886
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
|
|
8887
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsxs)(
|
|
8825
8888
|
SubMenuTrigger,
|
|
8826
8889
|
{
|
|
8827
8890
|
...props,
|
|
@@ -8830,28 +8893,28 @@ var SubMenu = ({
|
|
|
8830
8893
|
setIsExpanded((prev) => !prev);
|
|
8831
8894
|
},
|
|
8832
8895
|
children: [
|
|
8833
|
-
/* @__PURE__ */ (0,
|
|
8834
|
-
/* @__PURE__ */ (0,
|
|
8896
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemLabel, { children: label }),
|
|
8897
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(MenuItemDescription, { children: description })
|
|
8835
8898
|
]
|
|
8836
8899
|
}
|
|
8837
8900
|
),
|
|
8838
|
-
/* @__PURE__ */ (0,
|
|
8901
|
+
/* @__PURE__ */ (0, import_jsx_runtime200.jsx)(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
8839
8902
|
] });
|
|
8840
8903
|
};
|
|
8841
8904
|
SubMenu.displayName = "SubMenu";
|
|
8842
8905
|
|
|
8843
8906
|
// src/components/Menu/MenuItem.tsx
|
|
8844
|
-
var
|
|
8907
|
+
var import_react37 = require("react");
|
|
8845
8908
|
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
8846
|
-
var
|
|
8847
|
-
var MenuItem = (0,
|
|
8909
|
+
var import_jsx_runtime201 = require("react/jsx-runtime");
|
|
8910
|
+
var MenuItem = (0, import_react37.forwardRef)(
|
|
8848
8911
|
({ onSelect = () => null, ...props }, ref) => {
|
|
8849
|
-
return /* @__PURE__ */ (0,
|
|
8912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
8850
8913
|
import_react_dropdown_menu4.DropdownMenuItem,
|
|
8851
8914
|
{
|
|
8852
8915
|
asChild: true,
|
|
8853
8916
|
onSelect,
|
|
8854
|
-
children: /* @__PURE__ */ (0,
|
|
8917
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime201.jsx)(
|
|
8855
8918
|
MenuItemButton,
|
|
8856
8919
|
{
|
|
8857
8920
|
...props,
|
|
@@ -8867,10 +8930,10 @@ MenuItem.displayName = "MenuItem";
|
|
|
8867
8930
|
|
|
8868
8931
|
// src/components/Menu/MenuRadioGroup.tsx
|
|
8869
8932
|
var import_react_dropdown_menu5 = require("@radix-ui/react-dropdown-menu");
|
|
8870
|
-
var
|
|
8933
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
8871
8934
|
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
8872
|
-
return /* @__PURE__ */ (0,
|
|
8873
|
-
/* @__PURE__ */ (0,
|
|
8935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)(import_react_dropdown_menu5.DropdownMenuRadioGroup, { ...props, children: [
|
|
8936
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)(MenuLabel, { children: label }),
|
|
8874
8937
|
children
|
|
8875
8938
|
] });
|
|
8876
8939
|
};
|
|
@@ -8878,11 +8941,11 @@ MenuRadioGroup.displayName = "MenuRadioGroup";
|
|
|
8878
8941
|
|
|
8879
8942
|
// src/components/Menu/RadioMenuItem.tsx
|
|
8880
8943
|
var import_react_dropdown_menu6 = require("@radix-ui/react-dropdown-menu");
|
|
8881
|
-
var
|
|
8944
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
8882
8945
|
var RadioMenuItem = ({
|
|
8883
8946
|
onSelect,
|
|
8884
8947
|
value,
|
|
8885
|
-
indicator = /* @__PURE__ */ (0,
|
|
8948
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8886
8949
|
Icon,
|
|
8887
8950
|
{
|
|
8888
8951
|
size: "sm",
|
|
@@ -8892,17 +8955,17 @@ var RadioMenuItem = ({
|
|
|
8892
8955
|
...props
|
|
8893
8956
|
}) => {
|
|
8894
8957
|
const extraProps = onSelect ? { onSelect } : {};
|
|
8895
|
-
return /* @__PURE__ */ (0,
|
|
8958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8896
8959
|
import_react_dropdown_menu6.DropdownMenuRadioItem,
|
|
8897
8960
|
{
|
|
8898
8961
|
...extraProps,
|
|
8899
8962
|
asChild: true,
|
|
8900
8963
|
value,
|
|
8901
|
-
children: /* @__PURE__ */ (0,
|
|
8964
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(
|
|
8902
8965
|
MenuItemButton,
|
|
8903
8966
|
{
|
|
8904
8967
|
...props,
|
|
8905
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
8968
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(import_react_dropdown_menu6.DropdownMenuItemIndicator, { children: indicator })
|
|
8906
8969
|
}
|
|
8907
8970
|
)
|
|
8908
8971
|
}
|
|
@@ -8912,9 +8975,9 @@ RadioMenuItem.displayName = "RadioMenuItem";
|
|
|
8912
8975
|
|
|
8913
8976
|
// src/components/Menu/CheckboxMenuItem.tsx
|
|
8914
8977
|
var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
|
|
8915
|
-
var
|
|
8978
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
8916
8979
|
var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
8917
|
-
return checked ? /* @__PURE__ */ (0,
|
|
8980
|
+
return checked ? /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(
|
|
8918
8981
|
"svg",
|
|
8919
8982
|
{
|
|
8920
8983
|
...props,
|
|
@@ -8924,14 +8987,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8924
8987
|
width: "24",
|
|
8925
8988
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8926
8989
|
children: [
|
|
8927
|
-
/* @__PURE__ */ (0,
|
|
8990
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8928
8991
|
"path",
|
|
8929
8992
|
{
|
|
8930
8993
|
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",
|
|
8931
8994
|
fill: "#2949e5"
|
|
8932
8995
|
}
|
|
8933
8996
|
),
|
|
8934
|
-
/* @__PURE__ */ (0,
|
|
8997
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8935
8998
|
"path",
|
|
8936
8999
|
{
|
|
8937
9000
|
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",
|
|
@@ -8940,7 +9003,7 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8940
9003
|
)
|
|
8941
9004
|
]
|
|
8942
9005
|
}
|
|
8943
|
-
) : /* @__PURE__ */ (0,
|
|
9006
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)(
|
|
8944
9007
|
"svg",
|
|
8945
9008
|
{
|
|
8946
9009
|
...props,
|
|
@@ -8950,14 +9013,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8950
9013
|
width: "24",
|
|
8951
9014
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8952
9015
|
children: [
|
|
8953
|
-
/* @__PURE__ */ (0,
|
|
9016
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8954
9017
|
"path",
|
|
8955
9018
|
{
|
|
8956
9019
|
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",
|
|
8957
9020
|
fill: "#fcfcfd"
|
|
8958
9021
|
}
|
|
8959
9022
|
),
|
|
8960
|
-
/* @__PURE__ */ (0,
|
|
9023
|
+
/* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8961
9024
|
"path",
|
|
8962
9025
|
{
|
|
8963
9026
|
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",
|
|
@@ -8974,18 +9037,18 @@ var CheckboxMenuItem = ({
|
|
|
8974
9037
|
onCheckedChange,
|
|
8975
9038
|
...props
|
|
8976
9039
|
}) => {
|
|
8977
|
-
return /* @__PURE__ */ (0,
|
|
9040
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8978
9041
|
import_react_dropdown_menu7.DropdownMenuCheckboxItem,
|
|
8979
9042
|
{
|
|
8980
9043
|
asChild: true,
|
|
8981
9044
|
checked,
|
|
8982
9045
|
onCheckedChange,
|
|
8983
9046
|
onSelect,
|
|
8984
|
-
children: /* @__PURE__ */ (0,
|
|
9047
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
8985
9048
|
MenuItemButton,
|
|
8986
9049
|
{
|
|
8987
9050
|
...props,
|
|
8988
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
9051
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(CheckboxIndicator2, { checked })
|
|
8989
9052
|
}
|
|
8990
9053
|
)
|
|
8991
9054
|
}
|
|
@@ -8994,37 +9057,37 @@ var CheckboxMenuItem = ({
|
|
|
8994
9057
|
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
8995
9058
|
|
|
8996
9059
|
// src/components/Modal/Modal.tsx
|
|
8997
|
-
var
|
|
8998
|
-
var
|
|
9060
|
+
var import_react41 = require("react");
|
|
9061
|
+
var import_styled_components59 = __toESM(require("styled-components"));
|
|
8999
9062
|
var import_react_dialog4 = require("@radix-ui/react-dialog");
|
|
9000
|
-
var
|
|
9063
|
+
var import_type_guards33 = require("@wistia/type-guards");
|
|
9001
9064
|
|
|
9002
9065
|
// src/components/Modal/ModalHeader.tsx
|
|
9003
|
-
var
|
|
9066
|
+
var import_styled_components56 = __toESM(require("styled-components"));
|
|
9004
9067
|
var import_react_dialog2 = require("@radix-ui/react-dialog");
|
|
9005
9068
|
|
|
9006
9069
|
// src/components/Modal/ModalCloseButton.tsx
|
|
9007
|
-
var
|
|
9070
|
+
var import_styled_components55 = __toESM(require("styled-components"));
|
|
9008
9071
|
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
9009
|
-
var
|
|
9010
|
-
var CloseButton = (0,
|
|
9072
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
9073
|
+
var CloseButton = (0, import_styled_components55.default)(import_react_dialog.Close)`
|
|
9011
9074
|
align-self: start;
|
|
9012
9075
|
`;
|
|
9013
9076
|
var ModalCloseButton = () => {
|
|
9014
|
-
return /* @__PURE__ */ (0,
|
|
9077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(CloseButton, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(
|
|
9015
9078
|
IconButton,
|
|
9016
9079
|
{
|
|
9017
9080
|
label: "Dismiss modal",
|
|
9018
9081
|
size: "sm",
|
|
9019
9082
|
variant: "ghost",
|
|
9020
|
-
children: /* @__PURE__ */ (0,
|
|
9083
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(Icon, { type: "close" })
|
|
9021
9084
|
}
|
|
9022
9085
|
) });
|
|
9023
9086
|
};
|
|
9024
9087
|
|
|
9025
9088
|
// src/components/Modal/ModalHeader.tsx
|
|
9026
|
-
var
|
|
9027
|
-
var Header =
|
|
9089
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
9090
|
+
var Header = import_styled_components56.default.header`
|
|
9028
9091
|
display: flex;
|
|
9029
9092
|
order: 1;
|
|
9030
9093
|
gap: var(--wui-space-01);
|
|
@@ -9036,7 +9099,7 @@ var Header = import_styled_components54.default.header`
|
|
|
9036
9099
|
margin-top: 0;
|
|
9037
9100
|
}
|
|
9038
9101
|
`;
|
|
9039
|
-
var Title = (0,
|
|
9102
|
+
var Title = (0, import_styled_components56.default)(import_react_dialog2.Title)`
|
|
9040
9103
|
font-family: var(--wui-typography-heading-2-family);
|
|
9041
9104
|
line-height: var(--wui-typography-heading-2-line-height);
|
|
9042
9105
|
font-size: var(--wui-typography-heading-2-size);
|
|
@@ -9048,28 +9111,28 @@ var ModalHeader = ({
|
|
|
9048
9111
|
hideCloseButton
|
|
9049
9112
|
}) => {
|
|
9050
9113
|
const TitleWrapper = hideTitle ? ScreenReaderOnly : Title;
|
|
9051
|
-
return /* @__PURE__ */ (0,
|
|
9052
|
-
/* @__PURE__ */ (0,
|
|
9053
|
-
hideCloseButton ? null : /* @__PURE__ */ (0,
|
|
9114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(Header, { children: [
|
|
9115
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(TitleWrapper, { children: title }),
|
|
9116
|
+
hideCloseButton ? null : /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(ModalCloseButton, {})
|
|
9054
9117
|
] });
|
|
9055
9118
|
};
|
|
9056
9119
|
|
|
9057
9120
|
// src/components/Modal/ModalContent.tsx
|
|
9058
|
-
var
|
|
9059
|
-
var
|
|
9121
|
+
var import_react39 = require("react");
|
|
9122
|
+
var import_styled_components57 = __toESM(require("styled-components"));
|
|
9060
9123
|
var import_react_dialog3 = require("@radix-ui/react-dialog");
|
|
9061
9124
|
|
|
9062
9125
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
9063
|
-
var
|
|
9064
|
-
var
|
|
9126
|
+
var import_react38 = require("react");
|
|
9127
|
+
var import_type_guards32 = require("@wistia/type-guards");
|
|
9065
9128
|
var useFocusRestore = () => {
|
|
9066
|
-
const previouslyFocusedRef = (0,
|
|
9067
|
-
(0,
|
|
9129
|
+
const previouslyFocusedRef = (0, import_react38.useRef)(null);
|
|
9130
|
+
(0, import_react38.useEffect)(() => {
|
|
9068
9131
|
previouslyFocusedRef.current = document.activeElement;
|
|
9069
9132
|
}, []);
|
|
9070
|
-
(0,
|
|
9133
|
+
(0, import_react38.useEffect)(() => {
|
|
9071
9134
|
return () => {
|
|
9072
|
-
if ((0,
|
|
9135
|
+
if ((0, import_type_guards32.isNotNil)(previouslyFocusedRef.current)) {
|
|
9073
9136
|
setTimeout(() => {
|
|
9074
9137
|
previouslyFocusedRef.current?.focus();
|
|
9075
9138
|
}, 0);
|
|
@@ -9079,8 +9142,8 @@ var useFocusRestore = () => {
|
|
|
9079
9142
|
};
|
|
9080
9143
|
|
|
9081
9144
|
// src/components/Modal/ModalContent.tsx
|
|
9082
|
-
var
|
|
9083
|
-
var StyledModalContent = (0,
|
|
9145
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
9146
|
+
var StyledModalContent = (0, import_styled_components57.default)(import_react_dialog3.Content)`
|
|
9084
9147
|
background-color: var(--wui-color-bg-app);
|
|
9085
9148
|
box-sizing: border-box;
|
|
9086
9149
|
display: flex;
|
|
@@ -9121,10 +9184,10 @@ var StyledModalContent = (0, import_styled_components55.default)(import_react_di
|
|
|
9121
9184
|
}
|
|
9122
9185
|
}
|
|
9123
9186
|
`;
|
|
9124
|
-
var ModalContent = (0,
|
|
9187
|
+
var ModalContent = (0, import_react39.forwardRef)(
|
|
9125
9188
|
({ fullHeight, width, children, ...otherProps }, ref) => {
|
|
9126
9189
|
useFocusRestore();
|
|
9127
|
-
return /* @__PURE__ */ (0,
|
|
9190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
9128
9191
|
StyledModalContent,
|
|
9129
9192
|
{
|
|
9130
9193
|
ref,
|
|
@@ -9139,9 +9202,9 @@ var ModalContent = (0, import_react38.forwardRef)(
|
|
|
9139
9202
|
);
|
|
9140
9203
|
|
|
9141
9204
|
// src/private/components/Backdrop/Backdrop.tsx
|
|
9142
|
-
var
|
|
9143
|
-
var
|
|
9144
|
-
var
|
|
9205
|
+
var import_react40 = require("react");
|
|
9206
|
+
var import_styled_components58 = __toESM(require("styled-components"));
|
|
9207
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
9145
9208
|
var backdropAnimationDuration = 150;
|
|
9146
9209
|
var alignVerticalMap = {
|
|
9147
9210
|
stretch: "normal",
|
|
@@ -9154,7 +9217,7 @@ var alignHorizontalMap = {
|
|
|
9154
9217
|
center: "center",
|
|
9155
9218
|
right: "end"
|
|
9156
9219
|
};
|
|
9157
|
-
var BackdropComponent =
|
|
9220
|
+
var BackdropComponent = import_styled_components58.default.div`
|
|
9158
9221
|
align-items: ${({ $alignVertical }) => alignVerticalMap[$alignVertical]};
|
|
9159
9222
|
animation-name: backdropShow;
|
|
9160
9223
|
animation-duration: ${() => `${backdropAnimationDuration}ms`};
|
|
@@ -9177,8 +9240,8 @@ var BackdropComponent = import_styled_components56.default.div`
|
|
|
9177
9240
|
}
|
|
9178
9241
|
}
|
|
9179
9242
|
`;
|
|
9180
|
-
var Backdrop = (0,
|
|
9181
|
-
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0,
|
|
9243
|
+
var Backdrop = (0, import_react40.forwardRef)(
|
|
9244
|
+
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
9182
9245
|
BackdropComponent,
|
|
9183
9246
|
{
|
|
9184
9247
|
ref,
|
|
@@ -9192,14 +9255,14 @@ var Backdrop = (0, import_react39.forwardRef)(
|
|
|
9192
9255
|
Backdrop.displayName = "Backdrop";
|
|
9193
9256
|
|
|
9194
9257
|
// src/components/Modal/Modal.tsx
|
|
9195
|
-
var
|
|
9258
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
9196
9259
|
var DEFAULT_MODAL_WIDTH = "532px";
|
|
9197
|
-
var ModalBody =
|
|
9260
|
+
var ModalBody = import_styled_components59.default.div`
|
|
9198
9261
|
flex-direction: column;
|
|
9199
9262
|
display: flex;
|
|
9200
9263
|
order: 2;
|
|
9201
9264
|
`;
|
|
9202
|
-
var Modal = (0,
|
|
9265
|
+
var Modal = (0, import_react41.forwardRef)(
|
|
9203
9266
|
({
|
|
9204
9267
|
children,
|
|
9205
9268
|
fullHeight = false,
|
|
@@ -9212,24 +9275,24 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9212
9275
|
width = DEFAULT_MODAL_WIDTH,
|
|
9213
9276
|
...props
|
|
9214
9277
|
}, ref) => {
|
|
9215
|
-
return /* @__PURE__ */ (0,
|
|
9278
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
9216
9279
|
import_react_dialog4.Root,
|
|
9217
9280
|
{
|
|
9218
9281
|
onOpenChange: (open2) => {
|
|
9219
|
-
if (!open2 && (0,
|
|
9282
|
+
if (!open2 && (0, import_type_guards33.isNotNil)(onRequestClose)) {
|
|
9220
9283
|
onRequestClose();
|
|
9221
9284
|
}
|
|
9222
9285
|
},
|
|
9223
9286
|
open: isOpen,
|
|
9224
|
-
children: /* @__PURE__ */ (0,
|
|
9225
|
-
/* @__PURE__ */ (0,
|
|
9226
|
-
/* @__PURE__ */ (0,
|
|
9287
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)(import_react_dialog4.Portal, { children: [
|
|
9288
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Backdrop, {}),
|
|
9289
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsxs)(
|
|
9227
9290
|
ModalContent,
|
|
9228
9291
|
{
|
|
9229
9292
|
ref,
|
|
9230
9293
|
fullHeight,
|
|
9231
9294
|
onOpenAutoFocus: (event) => {
|
|
9232
|
-
if ((0,
|
|
9295
|
+
if ((0, import_type_guards33.isNotNil)(initialFocusRef) && initialFocusRef.current) {
|
|
9233
9296
|
event.preventDefault();
|
|
9234
9297
|
requestAnimationFrame(() => {
|
|
9235
9298
|
initialFocusRef.current?.focus();
|
|
@@ -9239,8 +9302,8 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9239
9302
|
width,
|
|
9240
9303
|
...props,
|
|
9241
9304
|
children: [
|
|
9242
|
-
/* @__PURE__ */ (0,
|
|
9243
|
-
/* @__PURE__ */ (0,
|
|
9305
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(ModalBody, { children }),
|
|
9306
|
+
/* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
9244
9307
|
ModalHeader,
|
|
9245
9308
|
{
|
|
9246
9309
|
hideCloseButton,
|
|
@@ -9258,17 +9321,81 @@ var Modal = (0, import_react40.forwardRef)(
|
|
|
9258
9321
|
);
|
|
9259
9322
|
Modal.displayName = "Modal";
|
|
9260
9323
|
|
|
9324
|
+
// src/components/Popover/Popover.tsx
|
|
9325
|
+
var import_react_popover = require("@radix-ui/react-popover");
|
|
9326
|
+
var import_styled_components60 = __toESM(require("styled-components"));
|
|
9327
|
+
|
|
9328
|
+
// src/private/helpers/getControls/getControlProps.tsx
|
|
9329
|
+
var import_type_guards34 = require("@wistia/type-guards");
|
|
9330
|
+
var getControlProps = (isOpen, onOpenChange) => {
|
|
9331
|
+
return (0, import_type_guards34.isNotNil)(onOpenChange) && (0, import_type_guards34.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {};
|
|
9332
|
+
};
|
|
9333
|
+
|
|
9334
|
+
// src/components/Popover/Popover.tsx
|
|
9335
|
+
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
9336
|
+
var StyledContent2 = (0, import_styled_components60.default)(import_react_popover.Content)`
|
|
9337
|
+
border-radius: var(--wui-border-radius-02);
|
|
9338
|
+
padding: var(--wui-space-04);
|
|
9339
|
+
max-width: 320px;
|
|
9340
|
+
background-color: var(--wui-color-bg-surface);
|
|
9341
|
+
box-shadow: var(--wui-elevation-01);
|
|
9342
|
+
border: 1px solid var(--wui-color-border);
|
|
9343
|
+
|
|
9344
|
+
[data-wui-popover-close] {
|
|
9345
|
+
position: absolute;
|
|
9346
|
+
top: var(--wui-space-02);
|
|
9347
|
+
right: var(--wui-space-02);
|
|
9348
|
+
}
|
|
9349
|
+
`;
|
|
9350
|
+
var StyledArrow = (0, import_styled_components60.default)(import_react_popover.Arrow)`
|
|
9351
|
+
fill: white;
|
|
9352
|
+
display: none;
|
|
9353
|
+
`;
|
|
9354
|
+
var Popover = ({
|
|
9355
|
+
children,
|
|
9356
|
+
trigger,
|
|
9357
|
+
isOpen = false,
|
|
9358
|
+
hideCloseButton = false,
|
|
9359
|
+
onOpenChange,
|
|
9360
|
+
...props
|
|
9361
|
+
}) => {
|
|
9362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_react_popover.Root, { ...getControlProps(isOpen, onOpenChange), children: [
|
|
9363
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_popover.Trigger, { asChild: true, children: trigger }),
|
|
9364
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9365
|
+
StyledContent2,
|
|
9366
|
+
{
|
|
9367
|
+
sideOffset: 5,
|
|
9368
|
+
...props,
|
|
9369
|
+
children: [
|
|
9370
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(StyledArrow, {}),
|
|
9371
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_popover.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
9372
|
+
IconButton,
|
|
9373
|
+
{
|
|
9374
|
+
"data-wui-popover-close": true,
|
|
9375
|
+
label: "Close",
|
|
9376
|
+
variant: "ghost",
|
|
9377
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Icon, { type: "close" })
|
|
9378
|
+
}
|
|
9379
|
+
) }),
|
|
9380
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { children })
|
|
9381
|
+
]
|
|
9382
|
+
}
|
|
9383
|
+
) })
|
|
9384
|
+
] });
|
|
9385
|
+
};
|
|
9386
|
+
Popover.displayName = "Popover";
|
|
9387
|
+
|
|
9261
9388
|
// src/components/Radio/Radio.tsx
|
|
9262
|
-
var
|
|
9263
|
-
var
|
|
9264
|
-
var
|
|
9265
|
-
var
|
|
9266
|
-
var StyledLabelWrapper2 =
|
|
9389
|
+
var import_react42 = require("react");
|
|
9390
|
+
var import_styled_components61 = __toESM(require("styled-components"));
|
|
9391
|
+
var import_type_guards35 = require("@wistia/type-guards");
|
|
9392
|
+
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
9393
|
+
var StyledLabelWrapper2 = import_styled_components61.default.div`
|
|
9267
9394
|
display: flex;
|
|
9268
9395
|
flex-direction: column;
|
|
9269
9396
|
padding-left: var(--wui-space-02);
|
|
9270
9397
|
`;
|
|
9271
|
-
var StyledRadio =
|
|
9398
|
+
var StyledRadio = import_styled_components61.default.input`
|
|
9272
9399
|
box-shadow: ${({ type }) => type === "checkbox" ? "inset 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.38)" : "none"};
|
|
9273
9400
|
appearance: none;
|
|
9274
9401
|
margin: 0;
|
|
@@ -9294,11 +9421,11 @@ var StyledRadio = import_styled_components58.default.input`
|
|
|
9294
9421
|
transform: scale(1);
|
|
9295
9422
|
}
|
|
9296
9423
|
`;
|
|
9297
|
-
var disabledStyle2 =
|
|
9424
|
+
var disabledStyle2 = import_styled_components61.css`
|
|
9298
9425
|
cursor: not-allowed;
|
|
9299
9426
|
opacity: 0.5;
|
|
9300
9427
|
`;
|
|
9301
|
-
var errorStyle =
|
|
9428
|
+
var errorStyle = import_styled_components61.css`
|
|
9302
9429
|
/* TODO Lamp to design error state */
|
|
9303
9430
|
&:hover,
|
|
9304
9431
|
&:focus,
|
|
@@ -9306,11 +9433,11 @@ var errorStyle = import_styled_components58.css`
|
|
|
9306
9433
|
border-color: transparent !important;
|
|
9307
9434
|
}
|
|
9308
9435
|
`;
|
|
9309
|
-
var defaultHoverStyle =
|
|
9436
|
+
var defaultHoverStyle = import_styled_components61.css`
|
|
9310
9437
|
/* TODO Lamp to design hover state */
|
|
9311
9438
|
cursor: pointer;
|
|
9312
9439
|
`;
|
|
9313
|
-
var StyledRadioWrapper =
|
|
9440
|
+
var StyledRadioWrapper = import_styled_components61.default.div`
|
|
9314
9441
|
align-items: baseline;
|
|
9315
9442
|
border: 1px solid transparent;
|
|
9316
9443
|
border-radius: 4px;
|
|
@@ -9333,7 +9460,7 @@ var StyledRadioWrapper = import_styled_components58.default.div`
|
|
|
9333
9460
|
|
|
9334
9461
|
${({ disabled }) => disabled && disabledStyle2};
|
|
9335
9462
|
`;
|
|
9336
|
-
var Radio = (0,
|
|
9463
|
+
var Radio = (0, import_react42.forwardRef)(
|
|
9337
9464
|
({
|
|
9338
9465
|
checked,
|
|
9339
9466
|
disabled = false,
|
|
@@ -9346,15 +9473,15 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9346
9473
|
value = "false",
|
|
9347
9474
|
...otherProps
|
|
9348
9475
|
}, ref) => {
|
|
9349
|
-
const generatedId = (0,
|
|
9350
|
-
const computedId = (0,
|
|
9351
|
-
return /* @__PURE__ */ (0,
|
|
9476
|
+
const generatedId = (0, import_react42.useId)();
|
|
9477
|
+
const computedId = (0, import_type_guards35.isNonEmptyString)(id) ? id : `ui-radio-${generatedId}`;
|
|
9478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)(
|
|
9352
9479
|
StyledRadioWrapper,
|
|
9353
9480
|
{
|
|
9354
9481
|
"aria-invalid": otherProps["aria-invalid"],
|
|
9355
9482
|
disabled,
|
|
9356
9483
|
children: [
|
|
9357
|
-
/* @__PURE__ */ (0,
|
|
9484
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
|
|
9358
9485
|
StyledRadio,
|
|
9359
9486
|
{
|
|
9360
9487
|
ref,
|
|
@@ -9369,8 +9496,8 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9369
9496
|
...otherProps
|
|
9370
9497
|
}
|
|
9371
9498
|
),
|
|
9372
|
-
/* @__PURE__ */ (0,
|
|
9373
|
-
/* @__PURE__ */ (0,
|
|
9499
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsxs)(StyledLabelWrapper2, { children: [
|
|
9500
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
|
|
9374
9501
|
Label,
|
|
9375
9502
|
{
|
|
9376
9503
|
disabled,
|
|
@@ -9379,7 +9506,7 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9379
9506
|
children: label
|
|
9380
9507
|
}
|
|
9381
9508
|
),
|
|
9382
|
-
/* @__PURE__ */ (0,
|
|
9509
|
+
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(LabelDescription, { children: description })
|
|
9383
9510
|
] })
|
|
9384
9511
|
]
|
|
9385
9512
|
}
|
|
@@ -9389,35 +9516,124 @@ var Radio = (0, import_react41.forwardRef)(
|
|
|
9389
9516
|
Radio.displayName = "Radio";
|
|
9390
9517
|
|
|
9391
9518
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9392
|
-
var
|
|
9393
|
-
var
|
|
9519
|
+
var import_react46 = require("react");
|
|
9520
|
+
var import_styled_components63 = __toESM(require("styled-components"));
|
|
9394
9521
|
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
9395
|
-
var
|
|
9396
|
-
|
|
9397
|
-
|
|
9398
|
-
|
|
9399
|
-
|
|
9400
|
-
|
|
9401
|
-
|
|
9402
|
-
|
|
9403
|
-
|
|
9404
|
-
|
|
9405
|
-
|
|
9406
|
-
|
|
9407
|
-
|
|
9408
|
-
|
|
9409
|
-
|
|
9410
|
-
|
|
9522
|
+
var import_type_guards36 = require("@wistia/type-guards");
|
|
9523
|
+
|
|
9524
|
+
// src/components/SegmentedControl/useSelectedItemMeasurements.tsx
|
|
9525
|
+
var import_react43 = require("react");
|
|
9526
|
+
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
9527
|
+
var SelectedItemMeasurementsContext = (0, import_react43.createContext)(
|
|
9528
|
+
null
|
|
9529
|
+
);
|
|
9530
|
+
var SelectedItemMeasurementsProvider = ({
|
|
9531
|
+
children
|
|
9532
|
+
}) => {
|
|
9533
|
+
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react43.useState)(null);
|
|
9534
|
+
const contextValue = (0, import_react43.useMemo)(
|
|
9535
|
+
() => ({
|
|
9536
|
+
setSelectedItemMeasurements,
|
|
9537
|
+
selectedItemMeasurements
|
|
9538
|
+
}),
|
|
9539
|
+
[selectedItemMeasurements]
|
|
9540
|
+
);
|
|
9541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
|
|
9542
|
+
};
|
|
9543
|
+
var useSelectedItemMeasurements = () => {
|
|
9544
|
+
const context = (0, import_react43.useContext)(SelectedItemMeasurementsContext);
|
|
9545
|
+
if (context === null) {
|
|
9546
|
+
throw new Error(
|
|
9547
|
+
"useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
|
|
9548
|
+
);
|
|
9549
|
+
}
|
|
9550
|
+
return context;
|
|
9551
|
+
};
|
|
9552
|
+
|
|
9553
|
+
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9554
|
+
var import_react45 = require("react");
|
|
9555
|
+
var import_styled_components62 = __toESM(require("styled-components"));
|
|
9556
|
+
|
|
9557
|
+
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
9558
|
+
var import_react44 = require("react");
|
|
9559
|
+
var SegmentedControlValueContext = (0, import_react44.createContext)(null);
|
|
9560
|
+
var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
|
|
9561
|
+
var useSegmentedControlValue = () => {
|
|
9562
|
+
const context = (0, import_react44.useContext)(SegmentedControlValueContext);
|
|
9563
|
+
if (context === null) {
|
|
9564
|
+
throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
|
|
9565
|
+
}
|
|
9566
|
+
return context;
|
|
9567
|
+
};
|
|
9568
|
+
|
|
9569
|
+
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9570
|
+
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
9571
|
+
var Z_INDEX_TO_SIT_BEHIND_SIBLINGS = -1;
|
|
9572
|
+
var SelectedItemIndicatorDiv = import_styled_components62.default.div`
|
|
9573
|
+
background-color: var(--wui-color-bg-fill-white);
|
|
9574
|
+
border-radius: var(--wui-border-radius-rounded);
|
|
9575
|
+
left: 0;
|
|
9576
|
+
position: absolute;
|
|
9577
|
+
top: 0;
|
|
9578
|
+
transition:
|
|
9579
|
+
transform var(--wui-motion-duration-03) var(--wui-motion-ease-out),
|
|
9580
|
+
width var(--wui-motion-duration-02) var(--wui-motion-ease-out);
|
|
9581
|
+
z-index: ${Z_INDEX_TO_SIT_BEHIND_SIBLINGS};
|
|
9582
|
+
`;
|
|
9583
|
+
var SelectedItemIndicator = () => {
|
|
9584
|
+
const selectedValue = useSegmentedControlValue();
|
|
9585
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9586
|
+
const selectedItemIndicatorStyle = (0, import_react45.useMemo)(
|
|
9587
|
+
() => selectedItemMeasurements != null ? {
|
|
9588
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
9589
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
9590
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
9591
|
+
} : {},
|
|
9592
|
+
[selectedItemMeasurements]
|
|
9593
|
+
);
|
|
9594
|
+
if (!selectedValue) {
|
|
9595
|
+
return null;
|
|
9596
|
+
}
|
|
9597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
9598
|
+
SelectedItemIndicatorDiv,
|
|
9599
|
+
{
|
|
9600
|
+
style: {
|
|
9601
|
+
width: selectedItemIndicatorStyle.width,
|
|
9602
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
9603
|
+
height: selectedItemIndicatorStyle.height
|
|
9604
|
+
}
|
|
9605
|
+
}
|
|
9606
|
+
);
|
|
9607
|
+
};
|
|
9608
|
+
|
|
9609
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9610
|
+
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
9611
|
+
var segmentedControlStyles = import_styled_components63.css`
|
|
9612
|
+
display: inline-flex;
|
|
9613
|
+
background-color: var(--wui-color-bg-surface-secondary);
|
|
9614
|
+
border-radius: var(--wui-border-radius-rounded);
|
|
9615
|
+
border: 2px solid var(--wui-color-bg-surface-secondary);
|
|
9616
|
+
gap: var(--wui-space-01);
|
|
9617
|
+
isolation: isolate;
|
|
9618
|
+
position: relative;
|
|
9619
|
+
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
9620
|
+
`;
|
|
9621
|
+
var StyledSegmentedControl = (0, import_styled_components63.default)(import_react_toggle_group.Root)`
|
|
9622
|
+
${segmentedControlStyles}
|
|
9623
|
+
`;
|
|
9624
|
+
var SegmentedControl = (0, import_react46.forwardRef)(
|
|
9625
|
+
({
|
|
9626
|
+
children,
|
|
9411
9627
|
disabled = false,
|
|
9412
9628
|
fullWidth = false,
|
|
9413
9629
|
selectedValue,
|
|
9414
9630
|
onSelectedValueChange,
|
|
9415
9631
|
...props
|
|
9416
9632
|
}, ref) => {
|
|
9417
|
-
if ((0,
|
|
9633
|
+
if ((0, import_type_guards36.isNil)(children)) {
|
|
9418
9634
|
return null;
|
|
9419
9635
|
}
|
|
9420
|
-
return /* @__PURE__ */ (0,
|
|
9636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(
|
|
9421
9637
|
StyledSegmentedControl,
|
|
9422
9638
|
{
|
|
9423
9639
|
ref,
|
|
@@ -9429,7 +9645,10 @@ var SegmentedControl = (0, import_react42.forwardRef)(
|
|
|
9429
9645
|
type: "single",
|
|
9430
9646
|
value: selectedValue,
|
|
9431
9647
|
...props,
|
|
9432
|
-
children
|
|
9648
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)(SelectedItemMeasurementsProvider, { children: [
|
|
9649
|
+
/* @__PURE__ */ (0, import_jsx_runtime214.jsx)(SelectedItemIndicator, {}),
|
|
9650
|
+
children
|
|
9651
|
+
] }) })
|
|
9433
9652
|
}
|
|
9434
9653
|
);
|
|
9435
9654
|
}
|
|
@@ -9437,12 +9656,28 @@ var SegmentedControl = (0, import_react42.forwardRef)(
|
|
|
9437
9656
|
SegmentedControl.displayName = "SegmentedControl";
|
|
9438
9657
|
|
|
9439
9658
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9440
|
-
var
|
|
9441
|
-
var
|
|
9659
|
+
var import_react47 = require("react");
|
|
9660
|
+
var import_styled_components64 = __toESM(require("styled-components"));
|
|
9442
9661
|
var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
|
|
9443
|
-
var
|
|
9444
|
-
|
|
9445
|
-
|
|
9662
|
+
var import_type_guards38 = require("@wistia/type-guards");
|
|
9663
|
+
|
|
9664
|
+
// src/private/helpers/mergeRefs/mergeRefs.ts
|
|
9665
|
+
var import_type_guards37 = require("@wistia/type-guards");
|
|
9666
|
+
var mergeRefs = (refs) => (value) => {
|
|
9667
|
+
refs.forEach((ref) => {
|
|
9668
|
+
if ((0, import_type_guards37.isFunction)(ref)) {
|
|
9669
|
+
ref(value);
|
|
9670
|
+
return;
|
|
9671
|
+
}
|
|
9672
|
+
if ((0, import_type_guards37.isNotNil)(ref)) {
|
|
9673
|
+
ref.current = value;
|
|
9674
|
+
}
|
|
9675
|
+
});
|
|
9676
|
+
};
|
|
9677
|
+
|
|
9678
|
+
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9679
|
+
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
9680
|
+
var segmentedControlItemStyles = import_styled_components64.css`
|
|
9446
9681
|
all: unset; /* ToggleGroupItem is a button element */
|
|
9447
9682
|
align-items: center;
|
|
9448
9683
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -9452,8 +9687,9 @@ var segmentedControlItemStyles = import_styled_components60.css`
|
|
|
9452
9687
|
flex-grow: 1;
|
|
9453
9688
|
flex-shrink: 1;
|
|
9454
9689
|
font-size: var(--wui-typography-label-3-size);
|
|
9690
|
+
font-weight: var(--wui-typography-label-3-weight);
|
|
9455
9691
|
justify-content: center;
|
|
9456
|
-
padding: 6px 8px;
|
|
9692
|
+
padding: 6px ${({ $hasLabel }) => $hasLabel ? "8px" : "6px"};
|
|
9457
9693
|
user-select: none;
|
|
9458
9694
|
|
|
9459
9695
|
/* Icon component */
|
|
@@ -9465,18 +9701,17 @@ var segmentedControlItemStyles = import_styled_components60.css`
|
|
|
9465
9701
|
${({ $hasLabel }) => $hasLabel ? "margin-right: var(--wui-space-01)" : ""}
|
|
9466
9702
|
}
|
|
9467
9703
|
|
|
9468
|
-
&:hover {
|
|
9469
|
-
background-color: var(--wui-color-bg-surface-secondary-hover);
|
|
9470
|
-
}
|
|
9471
|
-
|
|
9472
9704
|
&:focus-visible {
|
|
9473
9705
|
outline: 2px solid var(--wui-color-focus-ring);
|
|
9474
9706
|
}
|
|
9475
9707
|
|
|
9708
|
+
&:hover:not([data-state='on'], [data-state='active']) {
|
|
9709
|
+
background-color: var(--wui-color-bg-surface-secondary-hover);
|
|
9710
|
+
}
|
|
9711
|
+
|
|
9476
9712
|
/* note: react-toggle-group uses "on" and react-tabs uses "active" */
|
|
9477
9713
|
&[data-state='on'],
|
|
9478
9714
|
&[data-state='active'] {
|
|
9479
|
-
background-color: var(--wui-color-bg-fill-white);
|
|
9480
9715
|
color: var(--wui-color-text-selected);
|
|
9481
9716
|
cursor: default;
|
|
9482
9717
|
}
|
|
@@ -9491,17 +9726,26 @@ var segmentedControlItemStyles = import_styled_components60.css`
|
|
|
9491
9726
|
|
|
9492
9727
|
&[data-disabled] {
|
|
9493
9728
|
cursor: not-allowed;
|
|
9729
|
+
color: var(--wui-color-text-disabled);
|
|
9730
|
+
|
|
9731
|
+
svg path {
|
|
9732
|
+
fill: var(--wui-color-icon-disabled);
|
|
9733
|
+
}
|
|
9494
9734
|
|
|
9495
9735
|
&:hover {
|
|
9496
9736
|
background-color: inherit;
|
|
9497
9737
|
}
|
|
9498
9738
|
}
|
|
9499
9739
|
`;
|
|
9500
|
-
var StyledSegmentedControlItem = (0,
|
|
9740
|
+
var StyledSegmentedControlItem = (0, import_styled_components64.default)(import_react_toggle_group2.Item)`
|
|
9501
9741
|
${segmentedControlItemStyles}
|
|
9502
9742
|
`;
|
|
9503
|
-
var SegmentedControlItem = (0,
|
|
9504
|
-
({ disabled, icon, label, "aria-label": ariaLabel, value },
|
|
9743
|
+
var SegmentedControlItem = (0, import_react47.forwardRef)(
|
|
9744
|
+
({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
9745
|
+
const selectedValue = useSegmentedControlValue();
|
|
9746
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9747
|
+
const buttonRef = (0, import_react47.useRef)(null);
|
|
9748
|
+
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
9505
9749
|
const handleClick = (event) => {
|
|
9506
9750
|
const target = event.target;
|
|
9507
9751
|
const { state } = target.dataset;
|
|
@@ -9509,12 +9753,37 @@ var SegmentedControlItem = (0, import_react43.forwardRef)(
|
|
|
9509
9753
|
event.preventDefault();
|
|
9510
9754
|
}
|
|
9511
9755
|
};
|
|
9512
|
-
|
|
9756
|
+
(0, import_react47.useEffect)(() => {
|
|
9757
|
+
const buttonElem = buttonRef.current;
|
|
9758
|
+
if (!buttonElem) {
|
|
9759
|
+
return void 0;
|
|
9760
|
+
}
|
|
9761
|
+
if (selectedValue !== value) {
|
|
9762
|
+
return void 0;
|
|
9763
|
+
}
|
|
9764
|
+
setSelectedItemMeasurements({
|
|
9765
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9766
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9767
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9768
|
+
});
|
|
9769
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
9770
|
+
setSelectedItemMeasurements({
|
|
9771
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9772
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9773
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9774
|
+
});
|
|
9775
|
+
});
|
|
9776
|
+
resizeObserver.observe(buttonElem);
|
|
9777
|
+
return () => {
|
|
9778
|
+
resizeObserver.disconnect();
|
|
9779
|
+
};
|
|
9780
|
+
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(
|
|
9513
9782
|
StyledSegmentedControlItem,
|
|
9514
9783
|
{
|
|
9515
|
-
ref,
|
|
9516
|
-
$hasLabel: (0,
|
|
9517
|
-
"aria-label": (0,
|
|
9784
|
+
ref: combinedRef,
|
|
9785
|
+
$hasLabel: (0, import_type_guards38.isNotNil)(label),
|
|
9786
|
+
"aria-label": (0, import_type_guards38.isNotNil)(label) ? void 0 : ariaLabel,
|
|
9518
9787
|
disabled,
|
|
9519
9788
|
onClick: handleClick,
|
|
9520
9789
|
value,
|
|
@@ -9528,205 +9797,21 @@ var SegmentedControlItem = (0, import_react43.forwardRef)(
|
|
|
9528
9797
|
);
|
|
9529
9798
|
SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
9530
9799
|
|
|
9531
|
-
// src/components/Select/Select.tsx
|
|
9532
|
-
var import_react_select = require("@radix-ui/react-select");
|
|
9533
|
-
var import_react44 = require("react");
|
|
9534
|
-
var import_styled_components61 = __toESM(require("styled-components"));
|
|
9535
|
-
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
9536
|
-
var StyledTrigger = (0, import_styled_components61.default)(import_react_select.Trigger)`
|
|
9537
|
-
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9538
|
-
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
9539
|
-
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
9540
|
-
--wui-select-color-border: var(--wui-color-border);
|
|
9541
|
-
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
9542
|
-
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
9543
|
-
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
9544
|
-
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
9545
|
-
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
9546
|
-
--wui-select-vertical-padding: var(--wui-space-02);
|
|
9547
|
-
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
9548
|
-
--wui-select-placeholder: var(--wui-gray-10);
|
|
9549
|
-
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
9550
|
-
|
|
9551
|
-
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
9552
|
-
background-color: var(--wui-select-color-bg);
|
|
9553
|
-
border: 1px solid var(--wui-select-color-border);
|
|
9554
|
-
border-radius: var(--wui-select-border-radius);
|
|
9555
|
-
min-width: 200px;
|
|
9556
|
-
text-align: left;
|
|
9557
|
-
display: inline-flex;
|
|
9558
|
-
align-items: center;
|
|
9559
|
-
justify-content: space-between;
|
|
9560
|
-
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
9561
|
-
|
|
9562
|
-
&[aria-expanded='true'],
|
|
9563
|
-
&:focus {
|
|
9564
|
-
outline: 2px solid var(--wui-color-focus-ring);
|
|
9565
|
-
}
|
|
9566
|
-
|
|
9567
|
-
&[aria-invalid='true'] {
|
|
9568
|
-
outline: 2px solid var(--wui-select-color-border-error);
|
|
9569
|
-
color: var(--wui-select-color-text-error);
|
|
9570
|
-
}
|
|
9571
|
-
|
|
9572
|
-
&:disabled {
|
|
9573
|
-
border-color: var(--wui-color-bg-surface-disabled);
|
|
9574
|
-
background-color: var(--wui-color-bg-surface-disabled);
|
|
9575
|
-
}
|
|
9576
|
-
`;
|
|
9577
|
-
var StyledContent2 = (0, import_styled_components61.default)(import_react_select.Content)`
|
|
9578
|
-
--wui-select-content-border: var(--wui-color-border);
|
|
9579
|
-
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
9580
|
-
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
9581
|
-
--wui-select-option-padding: var(--wui-space-02);
|
|
9582
|
-
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
9583
|
-
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
9584
|
-
|
|
9585
|
-
overflow: hidden;
|
|
9586
|
-
transform: translateY(8px);
|
|
9587
|
-
background-color: var(--wui-select-content-bg);
|
|
9588
|
-
border: 1px solid var(--wui-select-content-border);
|
|
9589
|
-
border-radius: var(--wui-select-content-border-radius);
|
|
9590
|
-
padding: var(--wui-select-option-padding);
|
|
9591
|
-
min-width: 200px;
|
|
9592
|
-
`;
|
|
9593
|
-
var Select = (0, import_react44.forwardRef)(
|
|
9594
|
-
({
|
|
9595
|
-
colorScheme = "inherit",
|
|
9596
|
-
children,
|
|
9597
|
-
onChange = () => null,
|
|
9598
|
-
placeholder = "Select...",
|
|
9599
|
-
fullWidth = false,
|
|
9600
|
-
...props
|
|
9601
|
-
}, forwardedRef) => {
|
|
9602
|
-
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
9603
|
-
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9604
|
-
import_react_select.Root,
|
|
9605
|
-
{
|
|
9606
|
-
...props,
|
|
9607
|
-
onValueChange: onChange,
|
|
9608
|
-
children: [
|
|
9609
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(
|
|
9610
|
-
StyledTrigger,
|
|
9611
|
-
{
|
|
9612
|
-
ref: forwardedRef,
|
|
9613
|
-
$colorScheme: colorScheme,
|
|
9614
|
-
$fullWidth: responsiveFullWidth,
|
|
9615
|
-
...props,
|
|
9616
|
-
children: [
|
|
9617
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Value, { placeholder }),
|
|
9618
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
9619
|
-
Icon,
|
|
9620
|
-
{
|
|
9621
|
-
size: "md",
|
|
9622
|
-
type: "caret-down"
|
|
9623
|
-
}
|
|
9624
|
-
)
|
|
9625
|
-
]
|
|
9626
|
-
}
|
|
9627
|
-
),
|
|
9628
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(StyledContent2, { position: "popper", children: [
|
|
9629
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Icon, { type: "caret-up" }) }),
|
|
9630
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.Viewport, { children }),
|
|
9631
|
-
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Icon, { type: "caret-down" }) })
|
|
9632
|
-
] }) })
|
|
9633
|
-
]
|
|
9634
|
-
}
|
|
9635
|
-
);
|
|
9636
|
-
}
|
|
9637
|
-
);
|
|
9638
|
-
Select.displayName = "Select";
|
|
9639
|
-
|
|
9640
|
-
// src/components/Select/SelectOption.tsx
|
|
9641
|
-
var import_react_select2 = require("@radix-ui/react-select");
|
|
9642
|
-
var import_react45 = require("react");
|
|
9643
|
-
var import_styled_components62 = __toESM(require("styled-components"));
|
|
9644
|
-
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
9645
|
-
var StyledItem = (0, import_styled_components62.default)(import_react_select2.Item)`
|
|
9646
|
-
${variantStyleMap2.body3};
|
|
9647
|
-
display: flex;
|
|
9648
|
-
padding: var(--wui-select-option-padding);
|
|
9649
|
-
gap: var(--wui-select-option-inner-gap);
|
|
9650
|
-
font-size: var(--font-size);
|
|
9651
|
-
font-weight: var(--font-weight);
|
|
9652
|
-
border-radius: var(--wui-border-radius-01);
|
|
9653
|
-
|
|
9654
|
-
&:hover,
|
|
9655
|
-
&:focus-visible {
|
|
9656
|
-
background-color: var(--wui-select-option-bg-hover);
|
|
9657
|
-
outline: none;
|
|
9658
|
-
}
|
|
9659
|
-
|
|
9660
|
-
&[aria-disabled='true'] {
|
|
9661
|
-
color: var(--wui-color-text-disabled);
|
|
9662
|
-
}
|
|
9663
|
-
|
|
9664
|
-
&[aria-disabled='true']:hover {
|
|
9665
|
-
background-color: transparent;
|
|
9666
|
-
}
|
|
9667
|
-
`;
|
|
9668
|
-
var StyledIconContainer = import_styled_components62.default.span`
|
|
9669
|
-
width: 12px;
|
|
9670
|
-
`;
|
|
9671
|
-
var SelectOption = (0, import_react45.forwardRef)(
|
|
9672
|
-
({ children, ...props }, forwardedRef) => {
|
|
9673
|
-
return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)(
|
|
9674
|
-
StyledItem,
|
|
9675
|
-
{
|
|
9676
|
-
...props,
|
|
9677
|
-
ref: forwardedRef,
|
|
9678
|
-
children: [
|
|
9679
|
-
/* @__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)(
|
|
9680
|
-
Icon,
|
|
9681
|
-
{
|
|
9682
|
-
size: "sm",
|
|
9683
|
-
type: "checkmark"
|
|
9684
|
-
}
|
|
9685
|
-
) }) }),
|
|
9686
|
-
/* @__PURE__ */ (0, import_jsx_runtime211.jsx)(import_react_select2.ItemText, { children })
|
|
9687
|
-
]
|
|
9688
|
-
}
|
|
9689
|
-
);
|
|
9690
|
-
}
|
|
9691
|
-
);
|
|
9692
|
-
SelectOption.displayName = "Option";
|
|
9693
|
-
|
|
9694
|
-
// src/components/Select/SelectOptionGroup.tsx
|
|
9695
|
-
var import_react_select3 = require("@radix-ui/react-select");
|
|
9696
|
-
var import_styled_components63 = __toESM(require("styled-components"));
|
|
9697
|
-
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
9698
|
-
var StyledLabel4 = (0, import_styled_components63.default)(import_react_select3.Label)`
|
|
9699
|
-
padding: var(--wui-select-option-padding);
|
|
9700
|
-
`;
|
|
9701
|
-
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
9702
|
-
return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
9703
|
-
/* @__PURE__ */ (0, import_jsx_runtime212.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
|
|
9704
|
-
Text,
|
|
9705
|
-
{
|
|
9706
|
-
prominence: "secondary",
|
|
9707
|
-
variant: "body3",
|
|
9708
|
-
children: label
|
|
9709
|
-
}
|
|
9710
|
-
) }),
|
|
9711
|
-
children
|
|
9712
|
-
] });
|
|
9713
|
-
};
|
|
9714
|
-
|
|
9715
9800
|
// src/components/Tabs/Tabs.tsx
|
|
9716
|
-
var
|
|
9801
|
+
var import_react52 = require("react");
|
|
9717
9802
|
var import_react_tabs4 = require("@radix-ui/react-tabs");
|
|
9718
|
-
var
|
|
9803
|
+
var import_type_guards40 = require("@wistia/type-guards");
|
|
9719
9804
|
|
|
9720
9805
|
// src/components/Tabs/TabPanel.tsx
|
|
9721
|
-
var
|
|
9806
|
+
var import_styled_components65 = __toESM(require("styled-components"));
|
|
9722
9807
|
var import_react_tabs = require("@radix-ui/react-tabs");
|
|
9723
|
-
var
|
|
9724
|
-
var StyledTabPanel = (0,
|
|
9808
|
+
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
9809
|
+
var StyledTabPanel = (0, import_styled_components65.default)(import_react_tabs.Content)`
|
|
9725
9810
|
display: flex;
|
|
9726
9811
|
flex-direction: column;
|
|
9727
9812
|
`;
|
|
9728
9813
|
var TabPanel = ({ children, value, ...props }) => {
|
|
9729
|
-
return /* @__PURE__ */ (0,
|
|
9814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(
|
|
9730
9815
|
StyledTabPanel,
|
|
9731
9816
|
{
|
|
9732
9817
|
value,
|
|
@@ -9738,10 +9823,10 @@ var TabPanel = ({ children, value, ...props }) => {
|
|
|
9738
9823
|
TabPanel.displayName = "TabPanel";
|
|
9739
9824
|
|
|
9740
9825
|
// src/components/Tabs/TabList.tsx
|
|
9741
|
-
var
|
|
9826
|
+
var import_styled_components66 = __toESM(require("styled-components"));
|
|
9742
9827
|
var import_react_tabs2 = require("@radix-ui/react-tabs");
|
|
9743
|
-
var
|
|
9744
|
-
var StyledTabList = (0,
|
|
9828
|
+
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
9829
|
+
var StyledTabList = (0, import_styled_components66.default)(import_react_tabs2.List)`
|
|
9745
9830
|
${segmentedControlStyles}
|
|
9746
9831
|
|
|
9747
9832
|
margin-bottom: var(--wui-space-04);
|
|
@@ -9752,7 +9837,7 @@ var TabList = ({
|
|
|
9752
9837
|
ariaLabel,
|
|
9753
9838
|
...props
|
|
9754
9839
|
}) => {
|
|
9755
|
-
return /* @__PURE__ */ (0,
|
|
9840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(
|
|
9756
9841
|
StyledTabList,
|
|
9757
9842
|
{
|
|
9758
9843
|
$fullWidth: fullWidth,
|
|
@@ -9765,26 +9850,69 @@ var TabList = ({
|
|
|
9765
9850
|
TabList.displayName = "TabList";
|
|
9766
9851
|
|
|
9767
9852
|
// src/components/Tabs/TabItem.tsx
|
|
9768
|
-
var
|
|
9769
|
-
var
|
|
9853
|
+
var import_react49 = require("react");
|
|
9854
|
+
var import_styled_components67 = __toESM(require("styled-components"));
|
|
9770
9855
|
var import_react_tabs3 = require("@radix-ui/react-tabs");
|
|
9771
|
-
var
|
|
9772
|
-
|
|
9773
|
-
|
|
9856
|
+
var import_type_guards39 = require("@wistia/type-guards");
|
|
9857
|
+
|
|
9858
|
+
// src/components/Tabs/useTabsValue.tsx
|
|
9859
|
+
var import_react48 = require("react");
|
|
9860
|
+
var TabsValueContext = (0, import_react48.createContext)(null);
|
|
9861
|
+
var TabsValueProvider = TabsValueContext.Provider;
|
|
9862
|
+
var useTabsValue = () => {
|
|
9863
|
+
const context = (0, import_react48.useContext)(TabsValueContext);
|
|
9864
|
+
if (context === null) {
|
|
9865
|
+
throw new Error("useTabsValue must be used within a TabsValueProvider");
|
|
9866
|
+
}
|
|
9867
|
+
return context;
|
|
9868
|
+
};
|
|
9869
|
+
|
|
9870
|
+
// src/components/Tabs/TabItem.tsx
|
|
9871
|
+
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
9872
|
+
var StyledTabItem = (0, import_styled_components67.default)(import_react_tabs3.Trigger)`
|
|
9774
9873
|
${segmentedControlItemStyles}
|
|
9775
9874
|
|
|
9776
|
-
|
|
9777
|
-
|
|
9875
|
+
&:focus-visible {
|
|
9876
|
+
outline: none;
|
|
9778
9877
|
}
|
|
9779
9878
|
`;
|
|
9780
|
-
var TabItem = (0,
|
|
9781
|
-
({ disabled = false, icon, label, "aria-label": ariaLabel, value },
|
|
9782
|
-
|
|
9879
|
+
var TabItem = (0, import_react49.forwardRef)(
|
|
9880
|
+
({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
9881
|
+
const selectedValue = useTabsValue();
|
|
9882
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9883
|
+
const buttonRef = (0, import_react49.useRef)(null);
|
|
9884
|
+
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
9885
|
+
(0, import_react49.useEffect)(() => {
|
|
9886
|
+
const buttonElem = buttonRef.current;
|
|
9887
|
+
if (!buttonElem) {
|
|
9888
|
+
return void 0;
|
|
9889
|
+
}
|
|
9890
|
+
if (selectedValue !== value) {
|
|
9891
|
+
return void 0;
|
|
9892
|
+
}
|
|
9893
|
+
setSelectedItemMeasurements({
|
|
9894
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9895
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9896
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9897
|
+
});
|
|
9898
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
9899
|
+
setSelectedItemMeasurements({
|
|
9900
|
+
offsetLeft: buttonElem.offsetLeft,
|
|
9901
|
+
offsetWidth: buttonElem.offsetWidth,
|
|
9902
|
+
offsetHeight: buttonElem.offsetHeight
|
|
9903
|
+
});
|
|
9904
|
+
});
|
|
9905
|
+
resizeObserver.observe(buttonElem);
|
|
9906
|
+
return () => {
|
|
9907
|
+
resizeObserver.disconnect();
|
|
9908
|
+
};
|
|
9909
|
+
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)(
|
|
9783
9911
|
StyledTabItem,
|
|
9784
9912
|
{
|
|
9785
|
-
ref,
|
|
9786
|
-
$hasLabel: (0,
|
|
9787
|
-
"aria-label": (0,
|
|
9913
|
+
ref: combinedRef,
|
|
9914
|
+
$hasLabel: (0, import_type_guards39.isNotNil)(label),
|
|
9915
|
+
"aria-label": (0, import_type_guards39.isNotNil)(label) ? void 0 : ariaLabel,
|
|
9788
9916
|
disabled,
|
|
9789
9917
|
value,
|
|
9790
9918
|
children: [
|
|
@@ -9798,16 +9926,16 @@ var TabItem = (0, import_react46.forwardRef)(
|
|
|
9798
9926
|
TabItem.displayName = "TabItem";
|
|
9799
9927
|
|
|
9800
9928
|
// src/components/Tabs/extractTabItems.ts
|
|
9801
|
-
var
|
|
9929
|
+
var import_react50 = require("react");
|
|
9802
9930
|
var extractTabItems = (children) => {
|
|
9803
9931
|
const tabItems = [];
|
|
9804
|
-
|
|
9805
|
-
if (!(0,
|
|
9932
|
+
import_react50.Children.forEach(children, (child) => {
|
|
9933
|
+
if (!(0, import_react50.isValidElement)(child)) {
|
|
9806
9934
|
return;
|
|
9807
9935
|
}
|
|
9808
9936
|
if (typeof child.type !== "string" && child.type.displayName === "Tab") {
|
|
9809
9937
|
tabItems.push(child);
|
|
9810
|
-
} else if (child.type ===
|
|
9938
|
+
} else if (child.type === import_react50.Fragment) {
|
|
9811
9939
|
const fragmentElement = child;
|
|
9812
9940
|
tabItems.push(...extractTabItems(fragmentElement.props.children));
|
|
9813
9941
|
} else if ((child.props.children ?? null) != null) {
|
|
@@ -9819,9 +9947,44 @@ var extractTabItems = (children) => {
|
|
|
9819
9947
|
return tabItems;
|
|
9820
9948
|
};
|
|
9821
9949
|
|
|
9950
|
+
// src/components/Tabs/SelectedItemIndicator.tsx
|
|
9951
|
+
var import_react51 = require("react");
|
|
9952
|
+
var import_styled_components68 = __toESM(require("styled-components"));
|
|
9953
|
+
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
9954
|
+
var TabsSelectedItemIndicatorDiv = (0, import_styled_components68.default)(SelectedItemIndicatorDiv)`
|
|
9955
|
+
&:has(~ ${StyledTabItem}:focus-visible) {
|
|
9956
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
9957
|
+
}
|
|
9958
|
+
`;
|
|
9959
|
+
var SelectedItemIndicator2 = () => {
|
|
9960
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
9961
|
+
const selectedValue = useTabsValue();
|
|
9962
|
+
const selectedItemIndicatorStyle = (0, import_react51.useMemo)(
|
|
9963
|
+
() => selectedItemMeasurements != null ? {
|
|
9964
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
9965
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
9966
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
9967
|
+
} : {},
|
|
9968
|
+
[selectedItemMeasurements]
|
|
9969
|
+
);
|
|
9970
|
+
if (selectedValue == null) {
|
|
9971
|
+
return null;
|
|
9972
|
+
}
|
|
9973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(
|
|
9974
|
+
TabsSelectedItemIndicatorDiv,
|
|
9975
|
+
{
|
|
9976
|
+
style: {
|
|
9977
|
+
width: selectedItemIndicatorStyle.width,
|
|
9978
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
9979
|
+
height: selectedItemIndicatorStyle.height
|
|
9980
|
+
}
|
|
9981
|
+
}
|
|
9982
|
+
);
|
|
9983
|
+
};
|
|
9984
|
+
|
|
9822
9985
|
// src/components/Tabs/Tabs.tsx
|
|
9823
|
-
var
|
|
9824
|
-
var Tabs = (0,
|
|
9986
|
+
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
9987
|
+
var Tabs = (0, import_react52.forwardRef)(
|
|
9825
9988
|
({
|
|
9826
9989
|
children,
|
|
9827
9990
|
fullWidth = true,
|
|
@@ -9832,76 +9995,89 @@ var Tabs = (0, import_react48.forwardRef)(
|
|
|
9832
9995
|
...otherProps
|
|
9833
9996
|
}, ref) => {
|
|
9834
9997
|
const tabItems = extractTabItems(children);
|
|
9835
|
-
const
|
|
9836
|
-
|
|
9998
|
+
const [internalSelectedValue, setInternalSelectedValue] = (0, import_react52.useState)(defaultSelectedValue);
|
|
9999
|
+
const modeProps = defaultSelectedValue !== void 0 ? {
|
|
10000
|
+
defaultValue: defaultSelectedValue,
|
|
10001
|
+
onValueChange: setInternalSelectedValue
|
|
10002
|
+
} : { value: selectedValue, onValueChange: onSelectedValueChange };
|
|
10003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
9837
10004
|
import_react_tabs4.Root,
|
|
9838
10005
|
{
|
|
9839
10006
|
ref,
|
|
9840
10007
|
activationMode: "automatic",
|
|
9841
10008
|
...otherProps,
|
|
9842
10009
|
...modeProps,
|
|
9843
|
-
children:
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9864
|
-
|
|
9865
|
-
|
|
9866
|
-
|
|
9867
|
-
|
|
9868
|
-
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
|
|
9874
|
-
label
|
|
9875
|
-
|
|
9876
|
-
|
|
9877
|
-
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9886
|
-
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
10010
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
10011
|
+
TabsValueProvider,
|
|
10012
|
+
{
|
|
10013
|
+
value: defaultSelectedValue !== void 0 ? internalSelectedValue : selectedValue,
|
|
10014
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(SelectedItemMeasurementsProvider, { children: [
|
|
10015
|
+
/* @__PURE__ */ (0, import_jsx_runtime220.jsxs)(
|
|
10016
|
+
TabList,
|
|
10017
|
+
{
|
|
10018
|
+
ariaLabel,
|
|
10019
|
+
fullWidth,
|
|
10020
|
+
children: [
|
|
10021
|
+
/* @__PURE__ */ (0, import_jsx_runtime220.jsx)(SelectedItemIndicator2, {}),
|
|
10022
|
+
tabItems.map((tab) => {
|
|
10023
|
+
const {
|
|
10024
|
+
value,
|
|
10025
|
+
disabled = false,
|
|
10026
|
+
icon,
|
|
10027
|
+
label,
|
|
10028
|
+
"aria-label": ariaLabelForTab
|
|
10029
|
+
} = tab.props;
|
|
10030
|
+
if ((0, import_type_guards40.isNil)(icon)) {
|
|
10031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
10032
|
+
TabItem,
|
|
10033
|
+
{
|
|
10034
|
+
disabled,
|
|
10035
|
+
label,
|
|
10036
|
+
value
|
|
10037
|
+
},
|
|
10038
|
+
value
|
|
10039
|
+
);
|
|
10040
|
+
}
|
|
10041
|
+
if ((0, import_type_guards40.isNotNil)(label)) {
|
|
10042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
10043
|
+
TabItem,
|
|
10044
|
+
{
|
|
10045
|
+
disabled,
|
|
10046
|
+
icon,
|
|
10047
|
+
label,
|
|
10048
|
+
value
|
|
10049
|
+
},
|
|
10050
|
+
value
|
|
10051
|
+
);
|
|
10052
|
+
}
|
|
10053
|
+
if ((0, import_type_guards40.isNotNil)(ariaLabelForTab)) {
|
|
10054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
10055
|
+
TabItem,
|
|
10056
|
+
{
|
|
10057
|
+
"aria-label": ariaLabelForTab,
|
|
10058
|
+
disabled,
|
|
10059
|
+
icon,
|
|
10060
|
+
value
|
|
10061
|
+
},
|
|
10062
|
+
value
|
|
10063
|
+
);
|
|
10064
|
+
}
|
|
10065
|
+
throw new Error("A `Tab` with an icon must have either label or aria-label");
|
|
10066
|
+
})
|
|
10067
|
+
]
|
|
9891
10068
|
}
|
|
9892
|
-
|
|
9893
|
-
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
}
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
]
|
|
10069
|
+
),
|
|
10070
|
+
tabItems.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(
|
|
10071
|
+
TabPanel,
|
|
10072
|
+
{
|
|
10073
|
+
value: tab.props.value,
|
|
10074
|
+
children: tab.props.children
|
|
10075
|
+
},
|
|
10076
|
+
tab.props.value
|
|
10077
|
+
))
|
|
10078
|
+
] })
|
|
10079
|
+
}
|
|
10080
|
+
)
|
|
9905
10081
|
}
|
|
9906
10082
|
);
|
|
9907
10083
|
}
|
|
@@ -9909,19 +10085,19 @@ var Tabs = (0, import_react48.forwardRef)(
|
|
|
9909
10085
|
Tabs.displayName = "Tabs";
|
|
9910
10086
|
|
|
9911
10087
|
// src/components/Tabs/Tab.tsx
|
|
9912
|
-
var
|
|
9913
|
-
var
|
|
9914
|
-
var Tab = (0,
|
|
9915
|
-
return /* @__PURE__ */ (0,
|
|
10088
|
+
var import_react53 = require("react");
|
|
10089
|
+
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
10090
|
+
var Tab = (0, import_react53.forwardRef)(({ children }, ref) => {
|
|
10091
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ref, children });
|
|
9916
10092
|
});
|
|
9917
10093
|
Tab.displayName = "Tab";
|
|
9918
10094
|
|
|
9919
10095
|
// src/components/Tag/Tag.tsx
|
|
9920
|
-
var
|
|
9921
|
-
var
|
|
9922
|
-
var
|
|
9923
|
-
var
|
|
9924
|
-
var TagLabel =
|
|
10096
|
+
var import_react54 = require("react");
|
|
10097
|
+
var import_styled_components69 = __toESM(require("styled-components"));
|
|
10098
|
+
var import_type_guards41 = require("@wistia/type-guards");
|
|
10099
|
+
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
10100
|
+
var TagLabel = import_styled_components69.default.a`
|
|
9925
10101
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9926
10102
|
font-size: var(--wui-typography-label-4-size);
|
|
9927
10103
|
font-weight: var(--wui-typography-label-4-weight);
|
|
@@ -9949,14 +10125,14 @@ var TagLabel = import_styled_components67.default.a`
|
|
|
9949
10125
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9950
10126
|
}
|
|
9951
10127
|
`;
|
|
9952
|
-
var TagDivider =
|
|
10128
|
+
var TagDivider = import_styled_components69.default.div`
|
|
9953
10129
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9954
10130
|
border-left: 1px solid var(--wui-color-border);
|
|
9955
10131
|
display: flex;
|
|
9956
10132
|
height: 14px;
|
|
9957
10133
|
width: 1px;
|
|
9958
10134
|
`;
|
|
9959
|
-
var StyledRemoveButton =
|
|
10135
|
+
var StyledRemoveButton = import_styled_components69.default.button`
|
|
9960
10136
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9961
10137
|
all: unset;
|
|
9962
10138
|
cursor: pointer;
|
|
@@ -9984,7 +10160,7 @@ var StyledRemoveButton = import_styled_components67.default.button`
|
|
|
9984
10160
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9985
10161
|
}
|
|
9986
10162
|
`;
|
|
9987
|
-
var StyledTag =
|
|
10163
|
+
var StyledTag = import_styled_components69.default.div`
|
|
9988
10164
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9989
10165
|
align-items: center;
|
|
9990
10166
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -9997,47 +10173,47 @@ var StyledTag = import_styled_components67.default.div`
|
|
|
9997
10173
|
}
|
|
9998
10174
|
`;
|
|
9999
10175
|
var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
10000
|
-
if ((0,
|
|
10176
|
+
if ((0, import_type_guards41.isNil)(onClickRemove)) {
|
|
10001
10177
|
return null;
|
|
10002
10178
|
}
|
|
10003
|
-
if ((0,
|
|
10179
|
+
if ((0, import_type_guards41.isNil)(onClickRemoveLabel)) {
|
|
10004
10180
|
throw new Error(
|
|
10005
10181
|
"for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
|
|
10006
10182
|
);
|
|
10007
10183
|
}
|
|
10008
|
-
return /* @__PURE__ */ (0,
|
|
10009
|
-
/* @__PURE__ */ (0,
|
|
10010
|
-
/* @__PURE__ */ (0,
|
|
10184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(import_jsx_runtime222.Fragment, { children: [
|
|
10185
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(TagDivider, { $colorScheme: colorScheme }),
|
|
10186
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(
|
|
10011
10187
|
StyledRemoveButton,
|
|
10012
10188
|
{
|
|
10013
10189
|
$colorScheme: colorScheme,
|
|
10014
10190
|
onClick: onClickRemove,
|
|
10015
10191
|
type: "button",
|
|
10016
10192
|
children: [
|
|
10017
|
-
/* @__PURE__ */ (0,
|
|
10193
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10018
10194
|
Icon,
|
|
10019
10195
|
{
|
|
10020
10196
|
size: "sm",
|
|
10021
10197
|
type: "close"
|
|
10022
10198
|
}
|
|
10023
10199
|
),
|
|
10024
|
-
/* @__PURE__ */ (0,
|
|
10200
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ScreenReaderOnly, { children: onClickRemoveLabel })
|
|
10025
10201
|
]
|
|
10026
10202
|
}
|
|
10027
10203
|
)
|
|
10028
10204
|
] });
|
|
10029
10205
|
};
|
|
10030
|
-
var Tag = (0,
|
|
10206
|
+
var Tag = (0, import_react54.forwardRef)(
|
|
10031
10207
|
({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
|
|
10032
|
-
const labelProps = (0,
|
|
10033
|
-
return /* @__PURE__ */ (0,
|
|
10208
|
+
const labelProps = (0, import_type_guards41.isNotNil)(href) && (0, import_type_guards41.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
|
|
10209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)(
|
|
10034
10210
|
StyledTag,
|
|
10035
10211
|
{
|
|
10036
10212
|
ref,
|
|
10037
10213
|
$colorScheme: colorScheme,
|
|
10038
10214
|
...otherProps,
|
|
10039
10215
|
children: [
|
|
10040
|
-
/* @__PURE__ */ (0,
|
|
10216
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10041
10217
|
TagLabel,
|
|
10042
10218
|
{
|
|
10043
10219
|
...labelProps,
|
|
@@ -10045,7 +10221,7 @@ var Tag = (0, import_react50.forwardRef)(
|
|
|
10045
10221
|
children: label
|
|
10046
10222
|
}
|
|
10047
10223
|
),
|
|
10048
|
-
/* @__PURE__ */ (0,
|
|
10224
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
|
|
10049
10225
|
RemoveButton,
|
|
10050
10226
|
{
|
|
10051
10227
|
colorScheme,
|
|
@@ -10061,26 +10237,26 @@ var Tag = (0, import_react50.forwardRef)(
|
|
|
10061
10237
|
Tag.displayName = "Tag";
|
|
10062
10238
|
|
|
10063
10239
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
10064
|
-
var
|
|
10065
|
-
var
|
|
10066
|
-
var
|
|
10240
|
+
var import_styled_components70 = __toESM(require("styled-components"));
|
|
10241
|
+
var import_type_guards42 = require("@wistia/type-guards");
|
|
10242
|
+
var import_jsx_runtime223 = require("react/jsx-runtime");
|
|
10067
10243
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
10068
10244
|
if (iconOnly) {
|
|
10069
|
-
return /* @__PURE__ */ (0,
|
|
10245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
|
|
10070
10246
|
"g",
|
|
10071
10247
|
{
|
|
10072
10248
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10073
10249
|
fill: brandmarkColor,
|
|
10074
|
-
children: /* @__PURE__ */ (0,
|
|
10250
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime223.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" })
|
|
10075
10251
|
}
|
|
10076
10252
|
);
|
|
10077
10253
|
}
|
|
10078
|
-
return /* @__PURE__ */ (0,
|
|
10254
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
|
|
10079
10255
|
"g",
|
|
10080
10256
|
{
|
|
10081
10257
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10082
10258
|
fill: brandmarkColor,
|
|
10083
|
-
children: /* @__PURE__ */ (0,
|
|
10259
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime223.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" })
|
|
10084
10260
|
}
|
|
10085
10261
|
);
|
|
10086
10262
|
};
|
|
@@ -10088,12 +10264,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
|
|
|
10088
10264
|
if (iconOnly) {
|
|
10089
10265
|
return null;
|
|
10090
10266
|
}
|
|
10091
|
-
return /* @__PURE__ */ (0,
|
|
10267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(
|
|
10092
10268
|
"g",
|
|
10093
10269
|
{
|
|
10094
10270
|
"data-testid": "ui-wistia-logo-logotype",
|
|
10095
10271
|
fill: logotypeColor,
|
|
10096
|
-
children: /* @__PURE__ */ (0,
|
|
10272
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime223.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" })
|
|
10097
10273
|
}
|
|
10098
10274
|
);
|
|
10099
10275
|
};
|
|
@@ -10103,7 +10279,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
10103
10279
|
}
|
|
10104
10280
|
return "0 0 144 31.47";
|
|
10105
10281
|
};
|
|
10106
|
-
var WistiaLogoComponent =
|
|
10282
|
+
var WistiaLogoComponent = import_styled_components70.default.svg`
|
|
10107
10283
|
height: ${({ height }) => `${height}px`};
|
|
10108
10284
|
|
|
10109
10285
|
/* ensure it will always fit on mobile */
|
|
@@ -10145,7 +10321,7 @@ var WistiaLogo = ({
|
|
|
10145
10321
|
};
|
|
10146
10322
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
10147
10323
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
10148
|
-
const Logo = /* @__PURE__ */ (0,
|
|
10324
|
+
const Logo = /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(
|
|
10149
10325
|
WistiaLogoComponent,
|
|
10150
10326
|
{
|
|
10151
10327
|
$hoverColor: hoverColor,
|
|
@@ -10155,16 +10331,200 @@ var WistiaLogo = ({
|
|
|
10155
10331
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10156
10332
|
...otherProps,
|
|
10157
10333
|
children: [
|
|
10158
|
-
/* @__PURE__ */ (0,
|
|
10159
|
-
(0,
|
|
10334
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)("title", { children: title }),
|
|
10335
|
+
(0, import_type_guards42.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("desc", { children: description }) : null,
|
|
10160
10336
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
10161
10337
|
renderLogotype(logotypeColor, iconOnly)
|
|
10162
10338
|
]
|
|
10163
10339
|
}
|
|
10164
10340
|
);
|
|
10165
|
-
return href !== void 0 ? /* @__PURE__ */ (0,
|
|
10341
|
+
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("a", { href, children: Logo }) : Logo;
|
|
10166
10342
|
};
|
|
10167
10343
|
WistiaLogo.displayName = "WistiaLogo";
|
|
10344
|
+
|
|
10345
|
+
// src/components/Select/Select.tsx
|
|
10346
|
+
var import_react_select = require("@radix-ui/react-select");
|
|
10347
|
+
var import_react55 = require("react");
|
|
10348
|
+
var import_styled_components71 = __toESM(require("styled-components"));
|
|
10349
|
+
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
10350
|
+
var StyledTrigger = (0, import_styled_components71.default)(import_react_select.Trigger)`
|
|
10351
|
+
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
10352
|
+
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
10353
|
+
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
10354
|
+
--wui-select-color-border: var(--wui-color-border);
|
|
10355
|
+
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
10356
|
+
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
10357
|
+
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
10358
|
+
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
10359
|
+
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
10360
|
+
--wui-select-vertical-padding: var(--wui-space-02);
|
|
10361
|
+
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
10362
|
+
--wui-select-placeholder: var(--wui-gray-10);
|
|
10363
|
+
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
10364
|
+
|
|
10365
|
+
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
10366
|
+
background-color: var(--wui-select-color-bg);
|
|
10367
|
+
border: 1px solid var(--wui-select-color-border);
|
|
10368
|
+
border-radius: var(--wui-select-border-radius);
|
|
10369
|
+
min-width: 200px;
|
|
10370
|
+
text-align: left;
|
|
10371
|
+
display: inline-flex;
|
|
10372
|
+
align-items: center;
|
|
10373
|
+
justify-content: space-between;
|
|
10374
|
+
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
10375
|
+
|
|
10376
|
+
&[aria-expanded='true'],
|
|
10377
|
+
&:focus {
|
|
10378
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
10379
|
+
}
|
|
10380
|
+
|
|
10381
|
+
&[aria-invalid='true'] {
|
|
10382
|
+
outline: 2px solid var(--wui-select-color-border-error);
|
|
10383
|
+
color: var(--wui-select-color-text-error);
|
|
10384
|
+
}
|
|
10385
|
+
|
|
10386
|
+
&:disabled {
|
|
10387
|
+
border-color: var(--wui-color-bg-surface-disabled);
|
|
10388
|
+
background-color: var(--wui-color-bg-surface-disabled);
|
|
10389
|
+
}
|
|
10390
|
+
`;
|
|
10391
|
+
var StyledContent3 = (0, import_styled_components71.default)(import_react_select.Content)`
|
|
10392
|
+
--wui-select-content-border: var(--wui-color-border);
|
|
10393
|
+
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
10394
|
+
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
10395
|
+
--wui-select-option-padding: var(--wui-space-02);
|
|
10396
|
+
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
10397
|
+
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
10398
|
+
|
|
10399
|
+
overflow: hidden;
|
|
10400
|
+
transform: translateY(8px);
|
|
10401
|
+
background-color: var(--wui-select-content-bg);
|
|
10402
|
+
border: 1px solid var(--wui-select-content-border);
|
|
10403
|
+
border-radius: var(--wui-select-content-border-radius);
|
|
10404
|
+
padding: var(--wui-select-option-padding);
|
|
10405
|
+
min-width: 200px;
|
|
10406
|
+
`;
|
|
10407
|
+
var Select = (0, import_react55.forwardRef)(
|
|
10408
|
+
({
|
|
10409
|
+
colorScheme = "inherit",
|
|
10410
|
+
children,
|
|
10411
|
+
onChange = () => null,
|
|
10412
|
+
placeholder = "Select...",
|
|
10413
|
+
fullWidth = false,
|
|
10414
|
+
...props
|
|
10415
|
+
}, forwardedRef) => {
|
|
10416
|
+
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
10417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
|
|
10418
|
+
import_react_select.Root,
|
|
10419
|
+
{
|
|
10420
|
+
...props,
|
|
10421
|
+
onValueChange: onChange,
|
|
10422
|
+
children: [
|
|
10423
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(
|
|
10424
|
+
StyledTrigger,
|
|
10425
|
+
{
|
|
10426
|
+
ref: forwardedRef,
|
|
10427
|
+
$colorScheme: colorScheme,
|
|
10428
|
+
$fullWidth: responsiveFullWidth,
|
|
10429
|
+
...props,
|
|
10430
|
+
children: [
|
|
10431
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select.Value, { placeholder }),
|
|
10432
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(
|
|
10433
|
+
Icon,
|
|
10434
|
+
{
|
|
10435
|
+
size: "md",
|
|
10436
|
+
type: "caret-down"
|
|
10437
|
+
}
|
|
10438
|
+
)
|
|
10439
|
+
]
|
|
10440
|
+
}
|
|
10441
|
+
),
|
|
10442
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)(StyledContent3, { position: "popper", children: [
|
|
10443
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(Icon, { type: "caret-up" }) }),
|
|
10444
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select.Viewport, { children }),
|
|
10445
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(Icon, { type: "caret-down" }) })
|
|
10446
|
+
] }) })
|
|
10447
|
+
]
|
|
10448
|
+
}
|
|
10449
|
+
);
|
|
10450
|
+
}
|
|
10451
|
+
);
|
|
10452
|
+
Select.displayName = "Select";
|
|
10453
|
+
|
|
10454
|
+
// src/components/Select/SelectOption.tsx
|
|
10455
|
+
var import_react_select2 = require("@radix-ui/react-select");
|
|
10456
|
+
var import_react56 = require("react");
|
|
10457
|
+
var import_styled_components72 = __toESM(require("styled-components"));
|
|
10458
|
+
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
10459
|
+
var StyledItem = (0, import_styled_components72.default)(import_react_select2.Item)`
|
|
10460
|
+
${variantStyleMap2.body3};
|
|
10461
|
+
display: flex;
|
|
10462
|
+
padding: var(--wui-select-option-padding);
|
|
10463
|
+
gap: var(--wui-select-option-inner-gap);
|
|
10464
|
+
font-size: var(--font-size);
|
|
10465
|
+
font-weight: var(--font-weight);
|
|
10466
|
+
border-radius: var(--wui-border-radius-01);
|
|
10467
|
+
|
|
10468
|
+
&:hover,
|
|
10469
|
+
&:focus-visible {
|
|
10470
|
+
background-color: var(--wui-select-option-bg-hover);
|
|
10471
|
+
outline: none;
|
|
10472
|
+
}
|
|
10473
|
+
|
|
10474
|
+
&[aria-disabled='true'] {
|
|
10475
|
+
color: var(--wui-color-text-disabled);
|
|
10476
|
+
}
|
|
10477
|
+
|
|
10478
|
+
&[aria-disabled='true']:hover {
|
|
10479
|
+
background-color: transparent;
|
|
10480
|
+
}
|
|
10481
|
+
`;
|
|
10482
|
+
var StyledIconContainer = import_styled_components72.default.span`
|
|
10483
|
+
width: 12px;
|
|
10484
|
+
`;
|
|
10485
|
+
var SelectOption = (0, import_react56.forwardRef)(
|
|
10486
|
+
({ children, ...props }, forwardedRef) => {
|
|
10487
|
+
return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
|
|
10488
|
+
StyledItem,
|
|
10489
|
+
{
|
|
10490
|
+
...props,
|
|
10491
|
+
ref: forwardedRef,
|
|
10492
|
+
children: [
|
|
10493
|
+
/* @__PURE__ */ (0, import_jsx_runtime225.jsx)(StyledIconContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(
|
|
10494
|
+
Icon,
|
|
10495
|
+
{
|
|
10496
|
+
size: "sm",
|
|
10497
|
+
type: "checkmark"
|
|
10498
|
+
}
|
|
10499
|
+
) }) }),
|
|
10500
|
+
/* @__PURE__ */ (0, import_jsx_runtime225.jsx)(import_react_select2.ItemText, { children })
|
|
10501
|
+
]
|
|
10502
|
+
}
|
|
10503
|
+
);
|
|
10504
|
+
}
|
|
10505
|
+
);
|
|
10506
|
+
SelectOption.displayName = "Option";
|
|
10507
|
+
|
|
10508
|
+
// src/components/Select/SelectOptionGroup.tsx
|
|
10509
|
+
var import_react_select3 = require("@radix-ui/react-select");
|
|
10510
|
+
var import_styled_components73 = __toESM(require("styled-components"));
|
|
10511
|
+
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
10512
|
+
var StyledLabel4 = (0, import_styled_components73.default)(import_react_select3.Label)`
|
|
10513
|
+
padding: var(--wui-select-option-padding);
|
|
10514
|
+
`;
|
|
10515
|
+
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
10516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
10517
|
+
/* @__PURE__ */ (0, import_jsx_runtime226.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(
|
|
10518
|
+
Text,
|
|
10519
|
+
{
|
|
10520
|
+
prominence: "secondary",
|
|
10521
|
+
variant: "body3",
|
|
10522
|
+
children: label
|
|
10523
|
+
}
|
|
10524
|
+
) }),
|
|
10525
|
+
children
|
|
10526
|
+
] });
|
|
10527
|
+
};
|
|
10168
10528
|
// Annotate the CommonJS export names for ESM import in node:
|
|
10169
10529
|
0 && (module.exports = {
|
|
10170
10530
|
ActionButton,
|
|
@@ -10179,6 +10539,9 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
10179
10539
|
Checkbox,
|
|
10180
10540
|
CheckboxGroup,
|
|
10181
10541
|
CheckboxMenuItem,
|
|
10542
|
+
Collapsible,
|
|
10543
|
+
CollapsibleContent,
|
|
10544
|
+
CollapsibleTrigger,
|
|
10182
10545
|
ColorSchemeWrapper,
|
|
10183
10546
|
DataCard,
|
|
10184
10547
|
DataCardTrend,
|
|
@@ -10203,6 +10566,7 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
10203
10566
|
MenuLabel,
|
|
10204
10567
|
MenuRadioGroup,
|
|
10205
10568
|
Modal,
|
|
10569
|
+
Popover,
|
|
10206
10570
|
Radio,
|
|
10207
10571
|
RadioGroup,
|
|
10208
10572
|
RadioMenuItem,
|