@wistia/ui 0.5.5 → 0.5.6-beta.425fd28d.df46600

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