@wistia/ui 0.9.5-beta.d06f577d.c09e2a6 → 0.9.5

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.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.9.5-beta.d06f577d.c09e2a6
3
+ * @license @wistia/ui v0.9.5
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -8076,8 +8076,8 @@ var Center = forwardRef6(
8076
8076
  Center.displayName = "Center";
8077
8077
 
8078
8078
  // src/components/Checkbox/Checkbox.tsx
8079
- import { forwardRef as forwardRef9, useId } from "react";
8080
- import styled23, { css as css22 } from "styled-components";
8079
+ import { forwardRef as forwardRef7, useId } from "react";
8080
+ import styled20, { css as css21 } from "styled-components";
8081
8081
  import { isNonEmptyString as isNonEmptyString2 } from "@wistia/type-guards";
8082
8082
 
8083
8083
  // src/private/components/FormControlLabel/FormControlLabel.tsx
@@ -8196,230 +8196,9 @@ var FormControlLabel = ({
8196
8196
  };
8197
8197
  FormControlLabel.displayName = "FormControlLabel";
8198
8198
 
8199
- // src/components/FormGroup/CheckboxGroup.tsx
8200
- import { createContext as createContext3, useMemo as useMemo4, useContext as useContext3 } from "react";
8201
-
8202
- // src/components/FormGroup/FormGroup.tsx
8203
- import styled22 from "styled-components";
8204
- import { useRef as useRef6 } from "react";
8205
-
8206
- // src/components/Stack/Stack.tsx
8207
- import { forwardRef as forwardRef7 } from "react";
8208
- import styled20 from "styled-components";
8209
- import { jsx as jsx208 } from "react/jsx-runtime";
8210
- var DEFAULT_ELEMENT2 = "div";
8211
- var StyledStack = styled20.div`
8212
- display: flex;
8213
- flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
8214
- gap: ${({ $gap }) => `var(--wui-${$gap})`};
8215
- align-items: ${({ $alignItems }) => $alignItems};
8216
- `;
8217
- var StackComponent = forwardRef7(
8218
- ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
8219
- const responsiveGap = useResponsiveProp(gap);
8220
- const responsiveDirection = useResponsiveProp(direction);
8221
- const responsiveAlignItems = useResponsiveProp(alignItems);
8222
- return /* @__PURE__ */ jsx208(
8223
- StyledStack,
8224
- {
8225
- ref,
8226
- $alignItems: responsiveAlignItems,
8227
- $direction: responsiveDirection,
8228
- $gap: responsiveGap,
8229
- as: renderAs ?? DEFAULT_ELEMENT2,
8230
- ...props
8231
- }
8232
- );
8233
- }
8234
- );
8235
- StackComponent.displayName = "Stack";
8236
- var Stack = makePolymorphic(StackComponent);
8237
-
8238
- // src/components/Heading/Heading.tsx
8239
- import { forwardRef as forwardRef8 } from "react";
8240
- import styled21, { css as css21 } from "styled-components";
8241
- import { isNotNil as isNotNil13 } from "@wistia/type-guards";
8242
- import { jsx as jsx209 } from "react/jsx-runtime";
8243
- var heroStyle = css21`
8244
- --font-family: var(--wui-typography-heading-hero-family);
8245
- --font-size: var(--wui-typography-heading-hero-size);
8246
- --font-weight: var(--wui-typography-heading-hero-weight);
8247
- --line-height: var(--wui-typography-heading-hero-line-height);
8248
- `;
8249
- var heading1TextStyle = css21`
8250
- --font-family: var(--wui-typography-heading-1-family);
8251
- --font-size: var(--wui-typography-heading-1-size);
8252
- --font-weight: var(--wui-typography-heading-1-weight);
8253
- --line-height: var(--wui-typography-heading-1-line-height);
8254
- `;
8255
- var heading2TextStyle = css21`
8256
- --font-family: var(--wui-typography-heading-2-family);
8257
- --font-size: var(--wui-typography-heading-2-size);
8258
- --font-weight: var(--wui-typography-heading-2-weight);
8259
- --line-height: var(--wui-typography-heading-2-line-height);
8260
- `;
8261
- var heading3TextStyle = css21`
8262
- --font-family: var(--wui-typography-heading-3-family);
8263
- --font-size: var(--wui-typography-heading-3-size);
8264
- --font-weight: var(--wui-typography-heading-3-weight);
8265
- --line-height: var(--wui-typography-heading-3-line-height);
8266
- `;
8267
- var heading4TextStyle = css21`
8268
- --font-family: var(--wui-typography-heading-4-family);
8269
- --font-size: var(--wui-typography-heading-4-size);
8270
- --font-weight: var(--wui-typography-heading-4-weight);
8271
- --line-height: var(--wui-typography-heading-4-line-height);
8272
- `;
8273
- var heading5TextStyle = css21`
8274
- --font-family: var(--wui-typography-heading-5-family);
8275
- --font-size: var(--wui-typography-heading-5-size);
8276
- --font-weight: var(--wui-typography-heading-5-weight);
8277
- --line-height: var(--wui-typography-heading-5-line-height);
8278
- `;
8279
- var heading6TextStyle = css21`
8280
- --font-family: var(--wui-typography-heading-6-family);
8281
- --font-size: var(--wui-typography-heading-6-size);
8282
- --font-weight: var(--wui-typography-heading-6-weight);
8283
- --line-height: var(--wui-typography-heading-6-line-height);
8284
- `;
8285
- var variantStyleMap = {
8286
- hero: heroStyle,
8287
- heading1: heading1TextStyle,
8288
- heading2: heading2TextStyle,
8289
- heading3: heading3TextStyle,
8290
- heading4: heading4TextStyle,
8291
- heading5: heading5TextStyle,
8292
- heading6: heading6TextStyle
8293
- };
8294
- var DEFAULT_ELEMENT3 = "h1";
8295
- var StyledHeading = styled21.div`
8296
- ${({ $colorScheme }) => getColorScheme($colorScheme)};
8297
- font-family: var(--font-family);
8298
- font-size: var(--font-size);
8299
- font-weight: var(--font-weight);
8300
- line-height: var(--line-height);
8301
- color: var(--wui-color-text);
8302
- ${({ $variant }) => variantStyleMap[$variant]}
8303
- ${({ $truncate }) => {
8304
- if (isNotNil13($truncate)) {
8305
- return css21`
8306
- ${ellipsisStyle};
8307
- ${lineClampCss($truncate)};
8308
- `;
8309
- }
8310
- return void 0;
8311
- }}
8312
- ${({ $inline }) => $inline && css21`
8313
- display: inline-block;
8314
- `}
8315
- ${({ $disabled }) => $disabled && css21`
8316
- color: var(--wui-color-text-disabled);
8317
- `}
8318
- ${({ $preventUserSelect }) => $preventUserSelect && css21`
8319
- user-select: none;
8320
- `}
8321
- ${({ $align }) => css21`
8322
- text-align: ${$align};
8323
- `}
8324
- margin: 0;
8325
- `;
8326
- var variantElementMap = {
8327
- hero: DEFAULT_ELEMENT3,
8328
- heading1: DEFAULT_ELEMENT3,
8329
- heading2: "h2",
8330
- heading3: "h3",
8331
- heading4: "h4",
8332
- heading5: "h5",
8333
- heading6: "h6"
8334
- };
8335
- var HeadingComponent = forwardRef8(
8336
- ({
8337
- align = "left",
8338
- colorScheme = "inherit",
8339
- disabled = false,
8340
- inline = false,
8341
- preventUserSelect = false,
8342
- truncate,
8343
- variant = "heading1",
8344
- renderAs,
8345
- ...props
8346
- }, ref) => /* @__PURE__ */ jsx209(
8347
- StyledHeading,
8348
- {
8349
- ref,
8350
- $align: align,
8351
- $colorScheme: colorScheme,
8352
- $disabled: disabled,
8353
- $inline: inline,
8354
- $preventUserSelect: preventUserSelect,
8355
- $truncate: truncate,
8356
- $variant: variant,
8357
- as: renderAs ?? variantElementMap[variant],
8358
- ...props
8359
- }
8360
- )
8361
- );
8362
- HeadingComponent.displayName = "Heading";
8363
- var Heading = makePolymorphic(HeadingComponent);
8364
-
8365
- // src/components/FormGroup/FormGroup.tsx
8366
- import { jsx as jsx210, jsxs as jsxs15 } from "react/jsx-runtime";
8367
- var StyledFieldset = styled22.fieldset`
8368
- border: 0;
8369
- `;
8370
- var StyledLegend = styled22.legend`
8371
- margin-bottom: var(--space-01);
8372
- `;
8373
- var FormGroup = ({ children, label, ...props }) => {
8374
- const ref = useRef6();
8375
- return /* @__PURE__ */ jsxs15(
8376
- Stack,
8377
- {
8378
- ...props,
8379
- ref,
8380
- renderAs: StyledFieldset,
8381
- children: [
8382
- /* @__PURE__ */ jsx210(
8383
- Heading,
8384
- {
8385
- renderAs: StyledLegend,
8386
- variant: "heading5",
8387
- children: label
8388
- }
8389
- ),
8390
- children
8391
- ]
8392
- }
8393
- );
8394
- };
8395
- FormGroup.displayName = "FormGroup";
8396
-
8397
- // src/components/FormGroup/CheckboxGroup.tsx
8398
- import { jsx as jsx211 } from "react/jsx-runtime";
8399
- var CheckboxGroupContext = createContext3(null);
8400
- var useCheckboxGroup = () => {
8401
- return useContext3(CheckboxGroupContext);
8402
- };
8403
- var CheckboxGroup = ({
8404
- children,
8405
- name,
8406
- onChange,
8407
- value,
8408
- ...props
8409
- }) => {
8410
- const context = useMemo4(() => {
8411
- return {
8412
- name,
8413
- onChange
8414
- };
8415
- }, [name, onChange]);
8416
- return /* @__PURE__ */ jsx211(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ jsx211(FormGroup, { ...props, children }) });
8417
- };
8418
- CheckboxGroup.displayName = "CheckboxGroup";
8419
-
8420
8199
  // src/components/Checkbox/Checkbox.tsx
8421
- import { jsx as jsx212, jsxs as jsxs16 } from "react/jsx-runtime";
8422
- var CheckIcon = () => /* @__PURE__ */ jsx212(
8200
+ import { jsx as jsx208, jsxs as jsxs15 } from "react/jsx-runtime";
8201
+ var CheckIcon = () => /* @__PURE__ */ jsx208(
8423
8202
  "svg",
8424
8203
  {
8425
8204
  fill: "inherit",
@@ -8427,7 +8206,7 @@ var CheckIcon = () => /* @__PURE__ */ jsx212(
8427
8206
  viewBox: "0 0 10 8",
8428
8207
  width: "10",
8429
8208
  xmlns: "http://www.w3.org/2000/svg",
8430
- children: /* @__PURE__ */ jsx212(
8209
+ children: /* @__PURE__ */ jsx208(
8431
8210
  "path",
8432
8211
  {
8433
8212
  d: "M3.47281 7.19303L0.377565 4.07999C0.191609 3.89297 0.191609 3.58973 0.377565 3.40268L1.05098 2.72537C1.23694 2.53833 1.53847 2.53833 1.72442 2.72537L3.80953 4.82245L8.27558 0.330729C8.46154 0.143704 8.76306 0.143704 8.94902 0.330729L9.62244 1.00804C9.8084 1.19506 9.8084 1.49831 9.62244 1.68535L4.14624 7.19305C3.96027 7.38008 3.65876 7.38008 3.47281 7.19303Z",
@@ -8436,7 +8215,7 @@ var CheckIcon = () => /* @__PURE__ */ jsx212(
8436
8215
  )
8437
8216
  }
8438
8217
  );
8439
- var sizeSmall = css22`
8218
+ var sizeSmall = css21`
8440
8219
  width: 14px;
8441
8220
  height: 14px;
8442
8221
  min-width: 14px;
@@ -8447,7 +8226,7 @@ var sizeSmall = css22`
8447
8226
  height: 7px;
8448
8227
  }
8449
8228
  `;
8450
- var sizeMedium = css22`
8229
+ var sizeMedium = css21`
8451
8230
  width: 16px;
8452
8231
  height: 16px;
8453
8232
  min-width: 16px;
@@ -8458,7 +8237,7 @@ var sizeMedium = css22`
8458
8237
  height: 9px;
8459
8238
  }
8460
8239
  `;
8461
- var sizeLarge = css22`
8240
+ var sizeLarge = css21`
8462
8241
  width: 20px;
8463
8242
  height: 20px;
8464
8243
  min-width: 20px;
@@ -8474,14 +8253,14 @@ var getSizeCss = (size) => {
8474
8253
  if (size === "lg") return sizeLarge;
8475
8254
  return sizeMedium;
8476
8255
  };
8477
- var StyledCheckboxWrapper = styled23.div`
8256
+ var StyledCheckboxWrapper = styled20.div`
8478
8257
  display: flex;
8479
8258
  margin: 0;
8480
8259
 
8481
8260
  /* TODO this solves a problem but potentially causes and a11y issue */
8482
8261
  user-select: none;
8483
8262
  `;
8484
- var StyledCheckboxInput = styled23.div`
8263
+ var StyledCheckboxInput = styled20.div`
8485
8264
  ${({ $size }) => getSizeCss($size)}
8486
8265
  line-height: 0;
8487
8266
  margin: 0;
@@ -8503,7 +8282,7 @@ var StyledCheckboxInput = styled23.div`
8503
8282
  }
8504
8283
  }
8505
8284
  `;
8506
- var StyledHiddenCheckboxInput = styled23.input`
8285
+ var StyledHiddenCheckboxInput = styled20.input`
8507
8286
  ${visuallyHiddenStyle}
8508
8287
 
8509
8288
  /* toggles display of faux-input background-color */
@@ -8517,7 +8296,7 @@ var StyledHiddenCheckboxInput = styled23.input`
8517
8296
  display: block;
8518
8297
  }
8519
8298
  `;
8520
- var Checkbox = forwardRef9(
8299
+ var Checkbox = forwardRef7(
8521
8300
  ({
8522
8301
  checked,
8523
8302
  disabled = false,
@@ -8534,13 +8313,8 @@ var Checkbox = forwardRef9(
8534
8313
  }, ref) => {
8535
8314
  const generatedId = useId();
8536
8315
  const computedId = isNonEmptyString2(id) ? id : `wistia-ui-checkbox-${generatedId}`;
8537
- const checkboxGroupContext = useCheckboxGroup();
8538
- const contextName = checkboxGroupContext?.name;
8539
- const contextOnChange = checkboxGroupContext?.onChange;
8540
- const checkboxName = name ?? contextName;
8541
- const handleOnChange = onChange ?? contextOnChange;
8542
- return /* @__PURE__ */ jsxs16(StyledCheckboxWrapper, { disabled, children: [
8543
- /* @__PURE__ */ jsx212(
8316
+ return /* @__PURE__ */ jsxs15(StyledCheckboxWrapper, { disabled, children: [
8317
+ /* @__PURE__ */ jsx208(
8544
8318
  StyledHiddenCheckboxInput,
8545
8319
  {
8546
8320
  ...props,
@@ -8548,23 +8322,23 @@ var Checkbox = forwardRef9(
8548
8322
  checked,
8549
8323
  disabled,
8550
8324
  id: computedId,
8551
- name: checkboxName,
8552
- onChange: handleOnChange,
8325
+ name,
8326
+ onChange,
8553
8327
  required,
8554
8328
  type: "checkbox",
8555
8329
  value
8556
8330
  }
8557
8331
  ),
8558
- /* @__PURE__ */ jsx212(
8332
+ /* @__PURE__ */ jsx208(
8559
8333
  FormControlLabel,
8560
8334
  {
8561
- controlSlot: /* @__PURE__ */ jsx212(
8335
+ controlSlot: /* @__PURE__ */ jsx208(
8562
8336
  StyledCheckboxInput,
8563
8337
  {
8564
8338
  $disabled: disabled,
8565
8339
  $size: size,
8566
8340
  "data-wui-faux-input": "true",
8567
- children: /* @__PURE__ */ jsx212(CheckIcon, {})
8341
+ children: /* @__PURE__ */ jsx208(CheckIcon, {})
8568
8342
  }
8569
8343
  ),
8570
8344
  description,
@@ -8624,10 +8398,10 @@ ClickRegion.displayName = "ClickRegion";
8624
8398
 
8625
8399
  // src/components/Collapsible/Collapsible.tsx
8626
8400
  import { Root as CollapsibleRoot } from "@radix-ui/react-collapsible";
8627
- import { isNotNil as isNotNil14 } from "@wistia/type-guards";
8628
- import styled24 from "styled-components";
8629
- import { jsx as jsx213 } from "react/jsx-runtime";
8630
- var StyledRoot = styled24(CollapsibleRoot)`
8401
+ import { isNotNil as isNotNil13 } from "@wistia/type-guards";
8402
+ import styled21 from "styled-components";
8403
+ import { jsx as jsx209 } from "react/jsx-runtime";
8404
+ var StyledRoot = styled21(CollapsibleRoot)`
8631
8405
  &[data-state='closed'] [data-wui-collapsible-content] {
8632
8406
  display: -webkit-box;
8633
8407
  -webkit-box-orient: vertical;
@@ -8641,32 +8415,32 @@ var Collapsible = ({
8641
8415
  onOpenChange
8642
8416
  }) => {
8643
8417
  const controlProps = {
8644
- ...isNotNil14(onOpenChange) && isNotNil14(isOpen) ? { open: isOpen, onOpenChange } : {}
8418
+ ...isNotNil13(onOpenChange) && isNotNil13(isOpen) ? { open: isOpen, onOpenChange } : {}
8645
8419
  };
8646
- return /* @__PURE__ */ jsx213(StyledRoot, { ...controlProps, children });
8420
+ return /* @__PURE__ */ jsx209(StyledRoot, { ...controlProps, children });
8647
8421
  };
8648
8422
  Collapsible.displayName = "Collapsible";
8649
8423
 
8650
8424
  // src/components/Collapsible/CollapsibleTrigger.tsx
8651
8425
  import { Children as Children3 } from "react";
8652
8426
  import { Trigger } from "@radix-ui/react-collapsible";
8653
- import { jsx as jsx214 } from "react/jsx-runtime";
8427
+ import { jsx as jsx210 } from "react/jsx-runtime";
8654
8428
  var CollapsibleTrigger = ({ children }) => {
8655
8429
  Children3.only(children);
8656
- return /* @__PURE__ */ jsx214(Trigger, { asChild: true, children });
8430
+ return /* @__PURE__ */ jsx210(Trigger, { asChild: true, children });
8657
8431
  };
8658
8432
 
8659
8433
  // src/components/Collapsible/CollapsibleContent.tsx
8660
- import styled25 from "styled-components";
8434
+ import styled22 from "styled-components";
8661
8435
  import { Content } from "@radix-ui/react-collapsible";
8662
8436
  import { isNotUndefined as isNotUndefined6 } from "@wistia/type-guards";
8663
- import { Fragment as Fragment4, jsx as jsx215, jsxs as jsxs17 } from "react/jsx-runtime";
8664
- var ClampedContent = styled25.div`
8437
+ import { Fragment as Fragment4, jsx as jsx211, jsxs as jsxs16 } from "react/jsx-runtime";
8438
+ var ClampedContent = styled22.div`
8665
8439
  --wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
8666
8440
  `;
8667
8441
  var CollapsibleContent = ({ clamp, children }) => {
8668
8442
  if (isNotUndefined6(clamp)) {
8669
- return /* @__PURE__ */ jsx215(
8443
+ return /* @__PURE__ */ jsx211(
8670
8444
  ClampedContent,
8671
8445
  {
8672
8446
  $clamp: clamp,
@@ -8675,18 +8449,147 @@ var CollapsibleContent = ({ clamp, children }) => {
8675
8449
  }
8676
8450
  );
8677
8451
  }
8678
- return /* @__PURE__ */ jsx215(Content, { children: /* @__PURE__ */ jsxs17(Fragment4, { children: [
8452
+ return /* @__PURE__ */ jsx211(Content, { children: /* @__PURE__ */ jsxs16(Fragment4, { children: [
8679
8453
  children,
8680
8454
  " "
8681
8455
  ] }) });
8682
8456
  };
8683
8457
 
8684
8458
  // src/components/DataCards/DataCard.tsx
8685
- import { useRef as useRef7 } from "react";
8686
- import styled26, { keyframes } from "styled-components";
8459
+ import { useRef as useRef6 } from "react";
8460
+ import styled24, { keyframes } from "styled-components";
8687
8461
  import { isNotNil as isNotNil15, isNotNull } from "@wistia/type-guards";
8688
- import { jsx as jsx216, jsxs as jsxs18 } from "react/jsx-runtime";
8689
- var StyledDataCard = styled26.div`
8462
+
8463
+ // src/components/Heading/Heading.tsx
8464
+ import { forwardRef as forwardRef8 } from "react";
8465
+ import styled23, { css as css22 } from "styled-components";
8466
+ import { isNotNil as isNotNil14 } from "@wistia/type-guards";
8467
+ import { jsx as jsx212 } from "react/jsx-runtime";
8468
+ var heroStyle = css22`
8469
+ --font-family: var(--wui-typography-heading-hero-family);
8470
+ --font-size: var(--wui-typography-heading-hero-size);
8471
+ --font-weight: var(--wui-typography-heading-hero-weight);
8472
+ --line-height: var(--wui-typography-heading-hero-line-height);
8473
+ `;
8474
+ var heading1TextStyle = css22`
8475
+ --font-family: var(--wui-typography-heading-1-family);
8476
+ --font-size: var(--wui-typography-heading-1-size);
8477
+ --font-weight: var(--wui-typography-heading-1-weight);
8478
+ --line-height: var(--wui-typography-heading-1-line-height);
8479
+ `;
8480
+ var heading2TextStyle = css22`
8481
+ --font-family: var(--wui-typography-heading-2-family);
8482
+ --font-size: var(--wui-typography-heading-2-size);
8483
+ --font-weight: var(--wui-typography-heading-2-weight);
8484
+ --line-height: var(--wui-typography-heading-2-line-height);
8485
+ `;
8486
+ var heading3TextStyle = css22`
8487
+ --font-family: var(--wui-typography-heading-3-family);
8488
+ --font-size: var(--wui-typography-heading-3-size);
8489
+ --font-weight: var(--wui-typography-heading-3-weight);
8490
+ --line-height: var(--wui-typography-heading-3-line-height);
8491
+ `;
8492
+ var heading4TextStyle = css22`
8493
+ --font-family: var(--wui-typography-heading-4-family);
8494
+ --font-size: var(--wui-typography-heading-4-size);
8495
+ --font-weight: var(--wui-typography-heading-4-weight);
8496
+ --line-height: var(--wui-typography-heading-4-line-height);
8497
+ `;
8498
+ var heading5TextStyle = css22`
8499
+ --font-family: var(--wui-typography-heading-5-family);
8500
+ --font-size: var(--wui-typography-heading-5-size);
8501
+ --font-weight: var(--wui-typography-heading-5-weight);
8502
+ --line-height: var(--wui-typography-heading-5-line-height);
8503
+ `;
8504
+ var heading6TextStyle = css22`
8505
+ --font-family: var(--wui-typography-heading-6-family);
8506
+ --font-size: var(--wui-typography-heading-6-size);
8507
+ --font-weight: var(--wui-typography-heading-6-weight);
8508
+ --line-height: var(--wui-typography-heading-6-line-height);
8509
+ `;
8510
+ var variantStyleMap = {
8511
+ hero: heroStyle,
8512
+ heading1: heading1TextStyle,
8513
+ heading2: heading2TextStyle,
8514
+ heading3: heading3TextStyle,
8515
+ heading4: heading4TextStyle,
8516
+ heading5: heading5TextStyle,
8517
+ heading6: heading6TextStyle
8518
+ };
8519
+ var DEFAULT_ELEMENT2 = "h1";
8520
+ var StyledHeading = styled23.div`
8521
+ ${({ $colorScheme }) => getColorScheme($colorScheme)};
8522
+ font-family: var(--font-family);
8523
+ font-size: var(--font-size);
8524
+ font-weight: var(--font-weight);
8525
+ line-height: var(--line-height);
8526
+ color: var(--wui-color-text);
8527
+ ${({ $variant }) => variantStyleMap[$variant]}
8528
+ ${({ $truncate }) => {
8529
+ if (isNotNil14($truncate)) {
8530
+ return css22`
8531
+ ${ellipsisStyle};
8532
+ ${lineClampCss($truncate)};
8533
+ `;
8534
+ }
8535
+ return void 0;
8536
+ }}
8537
+ ${({ $inline }) => $inline && css22`
8538
+ display: inline-block;
8539
+ `}
8540
+ ${({ $disabled }) => $disabled && css22`
8541
+ color: var(--wui-color-text-disabled);
8542
+ `}
8543
+ ${({ $preventUserSelect }) => $preventUserSelect && css22`
8544
+ user-select: none;
8545
+ `}
8546
+ ${({ $align }) => css22`
8547
+ text-align: ${$align};
8548
+ `}
8549
+ margin: 0;
8550
+ `;
8551
+ var variantElementMap = {
8552
+ hero: DEFAULT_ELEMENT2,
8553
+ heading1: DEFAULT_ELEMENT2,
8554
+ heading2: "h2",
8555
+ heading3: "h3",
8556
+ heading4: "h4",
8557
+ heading5: "h5",
8558
+ heading6: "h6"
8559
+ };
8560
+ var HeadingComponent = forwardRef8(
8561
+ ({
8562
+ align = "left",
8563
+ colorScheme = "inherit",
8564
+ disabled = false,
8565
+ inline = false,
8566
+ preventUserSelect = false,
8567
+ truncate,
8568
+ variant = "heading1",
8569
+ renderAs,
8570
+ ...props
8571
+ }, ref) => /* @__PURE__ */ jsx212(
8572
+ StyledHeading,
8573
+ {
8574
+ ref,
8575
+ $align: align,
8576
+ $colorScheme: colorScheme,
8577
+ $disabled: disabled,
8578
+ $inline: inline,
8579
+ $preventUserSelect: preventUserSelect,
8580
+ $truncate: truncate,
8581
+ $variant: variant,
8582
+ as: renderAs ?? variantElementMap[variant],
8583
+ ...props
8584
+ }
8585
+ )
8586
+ );
8587
+ HeadingComponent.displayName = "Heading";
8588
+ var Heading = makePolymorphic(HeadingComponent);
8589
+
8590
+ // src/components/DataCards/DataCard.tsx
8591
+ import { jsx as jsx213, jsxs as jsxs17 } from "react/jsx-runtime";
8592
+ var StyledDataCard = styled24.div`
8690
8593
  display: grid;
8691
8594
  grid-template-areas: 'label slot' 'value value';
8692
8595
  grid-template-rows: auto auto;
@@ -8749,7 +8652,7 @@ var shimmer = keyframes`
8749
8652
  background-position: -200% 0;
8750
8653
  }
8751
8654
  `;
8752
- var LoadingBackground = styled26.div`
8655
+ var LoadingBackground = styled24.div`
8753
8656
  background: linear-gradient(
8754
8657
  90deg,
8755
8658
  var(--wui-color-bg-surface-tertiary) 25%,
@@ -8760,27 +8663,27 @@ var LoadingBackground = styled26.div`
8760
8663
  animation: ${shimmer} 1.5s infinite;
8761
8664
  border-radius: var(--wui-border-radius-01);
8762
8665
  `;
8763
- var StyledLoadingLabel = styled26(LoadingBackground)`
8666
+ var StyledLoadingLabel = styled24(LoadingBackground)`
8764
8667
  width: 80px;
8765
8668
  height: var(--wui-typography-heading-6-line-height);
8766
8669
  `;
8767
- var StyledLoadingValue = styled26(LoadingBackground)`
8670
+ var StyledLoadingValue = styled24(LoadingBackground)`
8768
8671
  width: 90%;
8769
8672
  height: var(--wui-typography-heading-3-line-height);
8770
8673
  `;
8771
- var StyledLabel2 = styled26(Heading)`
8674
+ var StyledLabel2 = styled24(Heading)`
8772
8675
  grid-area: label;
8773
8676
  `;
8774
- var StyledValue = styled26(Heading)`
8677
+ var StyledValue = styled24(Heading)`
8775
8678
  grid-area: value;
8776
8679
  `;
8777
- var StyledSlot = styled26.div`
8680
+ var StyledSlot = styled24.div`
8778
8681
  display: flex;
8779
8682
  justify-content: flex-end;
8780
8683
  grid-area: slot;
8781
8684
  align-self: center;
8782
8685
  `;
8783
- var StyledDataCardTrendContainer = styled26.div`
8686
+ var StyledDataCardTrendContainer = styled24.div`
8784
8687
  position: absolute;
8785
8688
  bottom: var(--wui-space-01);
8786
8689
  right: var(--wui-space-01);
@@ -8793,34 +8696,34 @@ var DataCardInner = ({
8793
8696
  isLoading = false,
8794
8697
  trend,
8795
8698
  ...props
8796
- }) => /* @__PURE__ */ jsxs18(
8699
+ }) => /* @__PURE__ */ jsxs17(
8797
8700
  StyledDataCard,
8798
8701
  {
8799
8702
  $colorScheme: colorScheme,
8800
8703
  ...props,
8801
8704
  children: [
8802
- /* @__PURE__ */ jsx216(
8705
+ /* @__PURE__ */ jsx213(
8803
8706
  StyledLabel2,
8804
8707
  {
8805
8708
  renderAs: "dt",
8806
8709
  variant: "heading6",
8807
- children: isLoading ? /* @__PURE__ */ jsx216(StyledLoadingLabel, {}) : label
8710
+ children: isLoading ? /* @__PURE__ */ jsx213(StyledLoadingLabel, {}) : label
8808
8711
  }
8809
8712
  ),
8810
- /* @__PURE__ */ jsx216(
8713
+ /* @__PURE__ */ jsx213(
8811
8714
  StyledValue,
8812
8715
  {
8813
8716
  renderAs: "dd",
8814
8717
  variant: "heading3",
8815
- children: isLoading ? /* @__PURE__ */ jsx216(StyledLoadingValue, {}) : value
8718
+ children: isLoading ? /* @__PURE__ */ jsx213(StyledLoadingValue, {}) : value
8816
8719
  }
8817
8720
  ),
8818
- isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */ jsx216(StyledSlot, { children: upperRightSlot }),
8819
- isNotNull(trend) && !isLoading && /* @__PURE__ */ jsx216(StyledDataCardTrendContainer, { children: trend })
8721
+ isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */ jsx213(StyledSlot, { children: upperRightSlot }),
8722
+ isNotNull(trend) && !isLoading && /* @__PURE__ */ jsx213(StyledDataCardTrendContainer, { children: trend })
8820
8723
  ]
8821
8724
  }
8822
8725
  );
8823
- var DataCardArrowIcon = /* @__PURE__ */ jsx216(
8726
+ var DataCardArrowIcon = /* @__PURE__ */ jsx213(
8824
8727
  Icon,
8825
8728
  {
8826
8729
  "data-wui-data-card-hover-icon": true,
@@ -8828,14 +8731,14 @@ var DataCardArrowIcon = /* @__PURE__ */ jsx216(
8828
8731
  }
8829
8732
  );
8830
8733
  var DataCard = (props) => {
8831
- const ref = useRef7(null);
8734
+ const ref = useRef6(null);
8832
8735
  if (isNotNil15(props.href) || isNotNil15(props.onClick)) {
8833
- return /* @__PURE__ */ jsx216(ClickRegion, { targetRef: ref, children: /* @__PURE__ */ jsx216(
8736
+ return /* @__PURE__ */ jsx213(ClickRegion, { targetRef: ref, children: /* @__PURE__ */ jsx213(
8834
8737
  DataCardInner,
8835
8738
  {
8836
8739
  upperRightSlot: props.upperRightSlot ?? DataCardArrowIcon,
8837
8740
  ...props,
8838
- label: /* @__PURE__ */ jsx216(
8741
+ label: /* @__PURE__ */ jsx213(
8839
8742
  Button,
8840
8743
  {
8841
8744
  ref,
@@ -8850,14 +8753,14 @@ var DataCard = (props) => {
8850
8753
  }
8851
8754
  ) });
8852
8755
  }
8853
- return /* @__PURE__ */ jsx216(DataCardInner, { ...props });
8756
+ return /* @__PURE__ */ jsx213(DataCardInner, { ...props });
8854
8757
  };
8855
8758
  DataCard.displayName = "DataCard";
8856
8759
 
8857
8760
  // src/components/DataCards/DataCards.tsx
8858
- import styled27 from "styled-components";
8859
- import { jsx as jsx217 } from "react/jsx-runtime";
8860
- var StyledDataCards = styled27(Box)`
8761
+ import styled25 from "styled-components";
8762
+ import { jsx as jsx214 } from "react/jsx-runtime";
8763
+ var StyledDataCards = styled25(Box)`
8861
8764
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
8862
8765
  margin-top: 0; /* Remove default <dl> style */
8863
8766
  > * {
@@ -8871,7 +8774,7 @@ var DataCards = ({
8871
8774
  colorScheme = "inherit",
8872
8775
  ...props
8873
8776
  }) => {
8874
- return /* @__PURE__ */ jsx217(
8777
+ return /* @__PURE__ */ jsx214(
8875
8778
  StyledDataCards,
8876
8779
  {
8877
8780
  ...props,
@@ -8889,13 +8792,13 @@ var DataCards = ({
8889
8792
  DataCards.displayName = "DataCards";
8890
8793
 
8891
8794
  // src/components/DataCards/DataCardTrend.tsx
8892
- import styled29 from "styled-components";
8795
+ import styled27 from "styled-components";
8893
8796
 
8894
8797
  // src/components/Text/Text.tsx
8895
- import { forwardRef as forwardRef10 } from "react";
8896
- import styled28, { css as css23 } from "styled-components";
8798
+ import { forwardRef as forwardRef9 } from "react";
8799
+ import styled26, { css as css23 } from "styled-components";
8897
8800
  import { isNotNil as isNotNil16 } from "@wistia/type-guards";
8898
- import { jsx as jsx218 } from "react/jsx-runtime";
8801
+ import { jsx as jsx215 } from "react/jsx-runtime";
8899
8802
  var bodyBoldStyles = css23`
8900
8803
  > strong,
8901
8804
  b {
@@ -9000,22 +8903,22 @@ var variantStyleMap2 = {
9000
8903
  };
9001
8904
  var bodyElement = "p";
9002
8905
  var labelElement = "span";
9003
- var DEFAULT_ELEMENT4 = bodyElement;
8906
+ var DEFAULT_ELEMENT3 = bodyElement;
9004
8907
  var variantElementMap2 = {
9005
- body1: DEFAULT_ELEMENT4,
9006
- body2: DEFAULT_ELEMENT4,
9007
- body3: DEFAULT_ELEMENT4,
9008
- body4: DEFAULT_ELEMENT4,
9009
- body1Mono: DEFAULT_ELEMENT4,
9010
- body2Mono: DEFAULT_ELEMENT4,
9011
- body3Mono: DEFAULT_ELEMENT4,
9012
- body4Mono: DEFAULT_ELEMENT4,
8908
+ body1: DEFAULT_ELEMENT3,
8909
+ body2: DEFAULT_ELEMENT3,
8910
+ body3: DEFAULT_ELEMENT3,
8911
+ body4: DEFAULT_ELEMENT3,
8912
+ body1Mono: DEFAULT_ELEMENT3,
8913
+ body2Mono: DEFAULT_ELEMENT3,
8914
+ body3Mono: DEFAULT_ELEMENT3,
8915
+ body4Mono: DEFAULT_ELEMENT3,
9013
8916
  label1: labelElement,
9014
8917
  label2: labelElement,
9015
8918
  label3: labelElement,
9016
8919
  label4: labelElement
9017
8920
  };
9018
- var StyledText = styled28.div`
8921
+ var StyledText = styled26.div`
9019
8922
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
9020
8923
  --text-color: ${({ $prominence, $disabled }) => {
9021
8924
  if ($disabled) {
@@ -9067,7 +8970,7 @@ var StyledText = styled28.div`
9067
8970
  }
9068
8971
  `}
9069
8972
  `;
9070
- var TextComponent = forwardRef10(
8973
+ var TextComponent = forwardRef9(
9071
8974
  ({
9072
8975
  align = "left",
9073
8976
  colorScheme = "inherit",
@@ -9080,7 +8983,7 @@ var TextComponent = forwardRef10(
9080
8983
  renderAs,
9081
8984
  ...props
9082
8985
  }, ref) => {
9083
- return /* @__PURE__ */ jsx218(
8986
+ return /* @__PURE__ */ jsx215(
9084
8987
  StyledText,
9085
8988
  {
9086
8989
  ref,
@@ -9102,8 +9005,8 @@ TextComponent.displayName = "Text";
9102
9005
  var Text = makePolymorphic(TextComponent);
9103
9006
 
9104
9007
  // src/components/DataCards/DataCardTrend.tsx
9105
- import { jsx as jsx219, jsxs as jsxs19 } from "react/jsx-runtime";
9106
- var StyledDataCardTrend = styled29.div`
9008
+ import { jsx as jsx216, jsxs as jsxs18 } from "react/jsx-runtime";
9009
+ var StyledDataCardTrend = styled27.div`
9107
9010
  ${({ $outlook }) => getColorScheme($outlook === "positive" ? "success" : "error")};
9108
9011
  background: var(--wui-color-bg-app);
9109
9012
  border-radius: var(--wui-border-radius-rounded);
@@ -9118,8 +9021,8 @@ var DataCardTrend = ({
9118
9021
  children,
9119
9022
  ...props
9120
9023
  }) => {
9121
- return /* @__PURE__ */ jsxs19(StyledDataCardTrend, { $outlook: outlook, children: [
9122
- /* @__PURE__ */ jsx219(
9024
+ return /* @__PURE__ */ jsxs18(StyledDataCardTrend, { $outlook: outlook, children: [
9025
+ /* @__PURE__ */ jsx216(
9123
9026
  Icon,
9124
9027
  {
9125
9028
  size: "md",
@@ -9127,7 +9030,7 @@ var DataCardTrend = ({
9127
9030
  ...props
9128
9031
  }
9129
9032
  ),
9130
- /* @__PURE__ */ jsx219(
9033
+ /* @__PURE__ */ jsx216(
9131
9034
  Text,
9132
9035
  {
9133
9036
  prominence: "secondary",
@@ -9139,8 +9042,8 @@ var DataCardTrend = ({
9139
9042
  };
9140
9043
 
9141
9044
  // src/components/Divider/Divider.tsx
9142
- import styled30, { css as css24 } from "styled-components";
9143
- import { jsx as jsx220 } from "react/jsx-runtime";
9045
+ import styled28, { css as css24 } from "styled-components";
9046
+ import { jsx as jsx217 } from "react/jsx-runtime";
9144
9047
  var horizontalBorderCss = css24`
9145
9048
  border-top-color: var(--wui-color-border);
9146
9049
  border-top-style: solid;
@@ -9154,7 +9057,7 @@ var verticalBorderCss = css24`
9154
9057
  min-height: 100%;
9155
9058
  width: 1px;
9156
9059
  `;
9157
- var DividerComponent = styled30.div`
9060
+ var DividerComponent = styled28.div`
9158
9061
  ${({ $orientation }) => {
9159
9062
  switch ($orientation) {
9160
9063
  case "vertical":
@@ -9166,7 +9069,7 @@ var DividerComponent = styled30.div`
9166
9069
  }}
9167
9070
  `;
9168
9071
  var Divider = ({ orientation = "horizontal", ...props }) => {
9169
- return /* @__PURE__ */ jsx220(
9072
+ return /* @__PURE__ */ jsx217(
9170
9073
  DividerComponent,
9171
9074
  {
9172
9075
  $orientation: orientation,
@@ -9179,8 +9082,8 @@ var Divider = ({ orientation = "horizontal", ...props }) => {
9179
9082
  Divider.displayName = "Divider";
9180
9083
 
9181
9084
  // src/components/EditableHeading/EditableHeading.tsx
9182
- import styled33, { css as css27 } from "styled-components";
9183
- import { useState as useState9, useRef as useRef9 } from "react";
9085
+ import styled31, { css as css27 } from "styled-components";
9086
+ import { useState as useState9, useRef as useRef8 } from "react";
9184
9087
 
9185
9088
  // src/components/Tooltip/Tooltip.tsx
9186
9089
  import {
@@ -9190,8 +9093,8 @@ import {
9190
9093
  Portal as TooltipPortal,
9191
9094
  Arrow as TooltipArrow
9192
9095
  } from "@radix-ui/react-tooltip";
9193
- import styled31, { keyframes as keyframes2 } from "styled-components";
9194
- import { jsx as jsx221, jsxs as jsxs20 } from "react/jsx-runtime";
9096
+ import styled29, { keyframes as keyframes2 } from "styled-components";
9097
+ import { jsx as jsx218, jsxs as jsxs19 } from "react/jsx-runtime";
9195
9098
  var hide = keyframes2`
9196
9099
  from {
9197
9100
  opacity: 1;
@@ -9240,7 +9143,7 @@ var slideRightAndFade = keyframes2`
9240
9143
  transform: translateX(0);
9241
9144
  }
9242
9145
  `;
9243
- var StyledContent = styled31(TooltipContent)`
9146
+ var StyledContent = styled29(TooltipContent)`
9244
9147
  --tooltip-font-family: var(--wui-typography-family-default);
9245
9148
  --tooltip-border-radius: var(--wui-border-radius-05);
9246
9149
  --tooltip-bg: var(--wui-color-bg-tooltip);
@@ -9302,21 +9205,21 @@ var Tooltip = ({
9302
9205
  if (forceOpen === true) {
9303
9206
  rootProps.open = true;
9304
9207
  }
9305
- return /* @__PURE__ */ jsxs20(
9208
+ return /* @__PURE__ */ jsxs19(
9306
9209
  TooltipRoot,
9307
9210
  {
9308
9211
  delayDuration: delay,
9309
9212
  ...rootProps,
9310
9213
  children: [
9311
- /* @__PURE__ */ jsx221(TooltipTrigger, { asChild: true, children }),
9312
- /* @__PURE__ */ jsx221(TooltipPortal, { children: /* @__PURE__ */ jsxs20(
9214
+ /* @__PURE__ */ jsx218(TooltipTrigger, { asChild: true, children }),
9215
+ /* @__PURE__ */ jsx218(TooltipPortal, { children: /* @__PURE__ */ jsxs19(
9313
9216
  StyledContent,
9314
9217
  {
9315
9218
  side: direction,
9316
9219
  sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
9317
9220
  children: [
9318
9221
  content,
9319
- !hideArrow ? /* @__PURE__ */ jsx221(TooltipArrow, { asChild: true, children: /* @__PURE__ */ jsx221(
9222
+ !hideArrow ? /* @__PURE__ */ jsx218(TooltipArrow, { asChild: true, children: /* @__PURE__ */ jsx218(
9320
9223
  "svg",
9321
9224
  {
9322
9225
  fill: "var(--tooltip-bg)",
@@ -9325,7 +9228,7 @@ var Tooltip = ({
9325
9228
  viewBox: "0 0 12 8",
9326
9229
  width: "12",
9327
9230
  xmlns: "http://www.w3.org/2000/svg",
9328
- children: /* @__PURE__ */ jsx221("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" })
9231
+ children: /* @__PURE__ */ jsx218("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" })
9329
9232
  }
9330
9233
  ) }) : null
9331
9234
  ]
@@ -9338,8 +9241,8 @@ var Tooltip = ({
9338
9241
  Tooltip.displayName = "Tooltip";
9339
9242
 
9340
9243
  // src/components/Input/Input.tsx
9341
- import { forwardRef as forwardRef11, cloneElement as cloneElement3, useRef as useRef8 } from "react";
9342
- import styled32, { css as css26 } from "styled-components";
9244
+ import { forwardRef as forwardRef10, cloneElement as cloneElement3, useRef as useRef7 } from "react";
9245
+ import styled30, { css as css26 } from "styled-components";
9343
9246
  import { isNil as isNil12, isNotNil as isNotNil17, isRecord as isRecord4 } from "@wistia/type-guards";
9344
9247
 
9345
9248
  // src/css/sharedStyles/inputCssVariables.ts
@@ -9370,7 +9273,7 @@ var inputCssVariables = css25`
9370
9273
  `;
9371
9274
 
9372
9275
  // src/components/Input/Input.tsx
9373
- import { jsx as jsx222, jsxs as jsxs21 } from "react/jsx-runtime";
9276
+ import { jsx as jsx219, jsxs as jsxs20 } from "react/jsx-runtime";
9374
9277
  var inputStyles = css26`
9375
9278
  ${inputCssVariables}
9376
9279
  input,
@@ -9406,7 +9309,7 @@ var inputStyles = css26`
9406
9309
  }
9407
9310
  }
9408
9311
  `;
9409
- var StyledInputContainer = styled32.div`
9312
+ var StyledInputContainer = styled30.div`
9410
9313
  display: inline-flex;
9411
9314
  position: relative;
9412
9315
  ${inputStyles};
@@ -9473,7 +9376,7 @@ var StyledInputContainer = styled32.div`
9473
9376
  padding-right: 32px;
9474
9377
  }
9475
9378
  `;
9476
- var Input = forwardRef11(
9379
+ var Input = forwardRef10(
9477
9380
  ({
9478
9381
  fullWidth = true,
9479
9382
  monospace = false,
@@ -9483,14 +9386,14 @@ var Input = forwardRef11(
9483
9386
  rightIcon,
9484
9387
  ...props
9485
9388
  }, externalRef) => {
9486
- const internalRef = useRef8();
9389
+ const internalRef = useRef7();
9487
9390
  const ref = (
9488
9391
  // eslint-disable-next-line react-compiler/react-compiler
9489
9392
  isNotNil17(externalRef) && isRecord4(externalRef) && "current" in externalRef ? externalRef : internalRef
9490
9393
  );
9491
9394
  let leftIconToDisplay = leftIcon;
9492
9395
  if (isNil12(leftIcon) && type === "search") {
9493
- leftIconToDisplay = /* @__PURE__ */ jsx222(Icon, { type: "search" });
9396
+ leftIconToDisplay = /* @__PURE__ */ jsx219(Icon, { type: "search" });
9494
9397
  }
9495
9398
  if (isNotNil17(leftIconToDisplay)) {
9496
9399
  leftIconToDisplay = cloneElement3(leftIconToDisplay, {
@@ -9515,21 +9418,21 @@ var Input = forwardRef11(
9515
9418
  });
9516
9419
  }
9517
9420
  };
9518
- return /* @__PURE__ */ jsxs21(
9421
+ return /* @__PURE__ */ jsxs20(
9519
9422
  StyledInputContainer,
9520
9423
  {
9521
9424
  $fullWidth: fullWidth,
9522
9425
  $monospace: monospace,
9523
9426
  children: [
9524
9427
  leftIconToDisplay ?? null,
9525
- type === "multiline" ? /* @__PURE__ */ jsx222(
9428
+ type === "multiline" ? /* @__PURE__ */ jsx219(
9526
9429
  "textarea",
9527
9430
  {
9528
9431
  ...props,
9529
9432
  ref,
9530
9433
  onFocus: handleFocus2
9531
9434
  }
9532
- ) : /* @__PURE__ */ jsx222(
9435
+ ) : /* @__PURE__ */ jsx219(
9533
9436
  "input",
9534
9437
  {
9535
9438
  ...props,
@@ -9547,8 +9450,8 @@ var Input = forwardRef11(
9547
9450
  Input.displayName = "Input";
9548
9451
 
9549
9452
  // src/components/EditableHeading/EditableHeading.tsx
9550
- import { Fragment as Fragment5, jsx as jsx223, jsxs as jsxs22 } from "react/jsx-runtime";
9551
- var StyledInput = styled33(Input)`
9453
+ import { Fragment as Fragment5, jsx as jsx220, jsxs as jsxs21 } from "react/jsx-runtime";
9454
+ var StyledInput = styled31(Input)`
9552
9455
  :not([rows]) {
9553
9456
  min-height: unset;
9554
9457
  }
@@ -9575,7 +9478,7 @@ var editableStyles = css27`
9575
9478
  cursor: pointer;
9576
9479
  }
9577
9480
  `;
9578
- var StyledHeading2 = styled33(Heading)`
9481
+ var StyledHeading2 = styled31(Heading)`
9579
9482
  width: 100%;
9580
9483
  border-radius: var(--wui-border-radius-02);
9581
9484
  padding: var(--wui-space-02);
@@ -9596,7 +9499,7 @@ var EditableHeading = ({
9596
9499
  const [value, setValue] = useState9(children);
9597
9500
  const [previousValue, setPreviousValue] = useState9(children);
9598
9501
  const [headingHeight, setHeadingHeight] = useState9("60");
9599
- const headingRef = useRef9(null);
9502
+ const headingRef = useRef8(null);
9600
9503
  const handleSetEditing = (editing) => {
9601
9504
  if (editingDisabled) return;
9602
9505
  if (editing && headingRef.current) {
@@ -9629,7 +9532,7 @@ var EditableHeading = ({
9629
9532
  handleSetEditing(false);
9630
9533
  }
9631
9534
  };
9632
- const HeadingComponent2 = /* @__PURE__ */ jsx223(
9535
+ const HeadingComponent2 = /* @__PURE__ */ jsx220(
9633
9536
  StyledHeading2,
9634
9537
  {
9635
9538
  ref: headingRef,
@@ -9643,7 +9546,7 @@ var EditableHeading = ({
9643
9546
  return HeadingComponent2;
9644
9547
  }
9645
9548
  if (isEditing || __forceEditing) {
9646
- return /* @__PURE__ */ jsx223(
9549
+ return /* @__PURE__ */ jsx220(
9647
9550
  StyledInput,
9648
9551
  {
9649
9552
  $height: headingHeight,
@@ -9661,9 +9564,9 @@ var EditableHeading = ({
9661
9564
  }
9662
9565
  );
9663
9566
  }
9664
- return /* @__PURE__ */ jsxs22(Fragment5, { children: [
9665
- /* @__PURE__ */ jsx223(Tooltip, { content: tooltipText, children: HeadingComponent2 }),
9666
- /* @__PURE__ */ jsx223(ScreenReaderOnly, { children: /* @__PURE__ */ jsx223(
9567
+ return /* @__PURE__ */ jsxs21(Fragment5, { children: [
9568
+ /* @__PURE__ */ jsx220(Tooltip, { content: tooltipText, children: HeadingComponent2 }),
9569
+ /* @__PURE__ */ jsx220(ScreenReaderOnly, { children: /* @__PURE__ */ jsx220(
9667
9570
  "button",
9668
9571
  {
9669
9572
  "aria-label": ariaLabel,
@@ -9675,17 +9578,51 @@ var EditableHeading = ({
9675
9578
  };
9676
9579
 
9677
9580
  // src/components/Form/Form.tsx
9678
- import { forwardRef as forwardRef12, useRef as useRef10, useMemo as useMemo5, createContext as createContext4, useState as useState10, useId as useId2 } from "react";
9679
- import styled34 from "styled-components";
9581
+ import { forwardRef as forwardRef12, useRef as useRef9, useMemo as useMemo4, createContext as createContext3, useState as useState10, useId as useId2 } from "react";
9582
+ import styled33 from "styled-components";
9680
9583
  import { isNotUndefined as isNotUndefined7, isUndefined as isUndefined3 } from "@wistia/type-guards";
9681
- import { jsx as jsx224 } from "react/jsx-runtime";
9682
- var StyledForm = styled34.form`
9584
+
9585
+ // src/components/Stack/Stack.tsx
9586
+ import { forwardRef as forwardRef11 } from "react";
9587
+ import styled32 from "styled-components";
9588
+ import { jsx as jsx221 } from "react/jsx-runtime";
9589
+ var DEFAULT_ELEMENT4 = "div";
9590
+ var StyledStack = styled32.div`
9591
+ display: flex;
9592
+ flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
9593
+ gap: ${({ $gap }) => `var(--wui-${$gap})`};
9594
+ align-items: ${({ $alignItems }) => $alignItems};
9595
+ `;
9596
+ var StackComponent = forwardRef11(
9597
+ ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
9598
+ const responsiveGap = useResponsiveProp(gap);
9599
+ const responsiveDirection = useResponsiveProp(direction);
9600
+ const responsiveAlignItems = useResponsiveProp(alignItems);
9601
+ return /* @__PURE__ */ jsx221(
9602
+ StyledStack,
9603
+ {
9604
+ ref,
9605
+ $alignItems: responsiveAlignItems,
9606
+ $direction: responsiveDirection,
9607
+ $gap: responsiveGap,
9608
+ as: renderAs ?? DEFAULT_ELEMENT4,
9609
+ ...props
9610
+ }
9611
+ );
9612
+ }
9613
+ );
9614
+ StackComponent.displayName = "Stack";
9615
+ var Stack = makePolymorphic(StackComponent);
9616
+
9617
+ // src/components/Form/Form.tsx
9618
+ import { jsx as jsx222 } from "react/jsx-runtime";
9619
+ var StyledForm = styled33.form`
9683
9620
  --form-default-width: 690px;
9684
9621
 
9685
9622
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
9686
9623
  align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
9687
9624
  `;
9688
- var FormContext = createContext4({
9625
+ var FormContext = createContext3({
9689
9626
  values: {},
9690
9627
  errors: {},
9691
9628
  hasSubmitted: false,
@@ -9703,7 +9640,7 @@ var FormComponent = ({
9703
9640
  }, forwardedRef) => {
9704
9641
  const [errors, setErrors] = useState10({});
9705
9642
  const [hasSubmitted, setHasSubmitted] = useState10(false);
9706
- const innerRef = useRef10();
9643
+ const innerRef = useRef9();
9707
9644
  const ref = forwardedRef ?? innerRef;
9708
9645
  const autoId = useId2();
9709
9646
  const id = props.id ?? autoId;
@@ -9747,7 +9684,7 @@ var FormComponent = ({
9747
9684
  void action(null);
9748
9685
  }
9749
9686
  };
9750
- const context = useMemo5(() => {
9687
+ const context = useMemo4(() => {
9751
9688
  return {
9752
9689
  values,
9753
9690
  errors,
@@ -9758,7 +9695,7 @@ var FormComponent = ({
9758
9695
  }, [labelPosition, values, errors, id, hasSubmitted]);
9759
9696
  return (
9760
9697
  // @ts-expect-error - generic context providers are a giant pain
9761
- /* @__PURE__ */ jsx224(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx224(
9698
+ /* @__PURE__ */ jsx222(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx222(
9762
9699
  Stack,
9763
9700
  {
9764
9701
  ...props,
@@ -9815,23 +9752,23 @@ var useFormState = (action, initialData = {}) => {
9815
9752
  };
9816
9753
 
9817
9754
  // src/components/Form/FormErrorSummary.tsx
9818
- import { useContext as useContext4, useRef as useRef11 } from "react";
9755
+ import { useContext as useContext3, useRef as useRef10 } from "react";
9819
9756
  import { isArray, isNotUndefined as isNotUndefined8 } from "@wistia/type-guards";
9820
- import { jsx as jsx225, jsxs as jsxs23 } from "react/jsx-runtime";
9757
+ import { jsx as jsx223, jsxs as jsxs22 } from "react/jsx-runtime";
9821
9758
  var ErrorItem = ({ name, error, formId }) => {
9822
- return /* @__PURE__ */ jsx225("li", { children: /* @__PURE__ */ jsx225(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9759
+ return /* @__PURE__ */ jsx223("li", { children: /* @__PURE__ */ jsx223(Link, { href: `#${formId}-${name}`, children: error }) }, name);
9823
9760
  };
9824
9761
  var FormErrorSummary = ({ description }) => {
9825
- const ref = useRef11(null);
9826
- const { formId, errors, hasSubmitted } = useContext4(FormContext);
9762
+ const ref = useRef10(null);
9763
+ const { formId, errors, hasSubmitted } = useContext3(FormContext);
9827
9764
  const isValid = Object.keys(errors).length === 0;
9828
9765
  if (isValid || !hasSubmitted) {
9829
9766
  return null;
9830
9767
  }
9831
- return /* @__PURE__ */ jsxs23("div", { ref, children: [
9832
- /* @__PURE__ */ jsx225("p", { children: description }),
9833
- /* @__PURE__ */ jsx225("ul", { children: Object.entries(errors).filter(([, error]) => isNotUndefined8(error)).map(
9834
- ([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */ jsx225(
9768
+ return /* @__PURE__ */ jsxs22("div", { ref, children: [
9769
+ /* @__PURE__ */ jsx223("p", { children: description }),
9770
+ /* @__PURE__ */ jsx223("ul", { children: Object.entries(errors).filter(([, error]) => isNotUndefined8(error)).map(
9771
+ ([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */ jsx223(
9835
9772
  ErrorItem,
9836
9773
  {
9837
9774
  error: err,
@@ -9839,7 +9776,7 @@ var FormErrorSummary = ({ description }) => {
9839
9776
  name
9840
9777
  },
9841
9778
  err
9842
- )) : /* @__PURE__ */ jsx225(
9779
+ )) : /* @__PURE__ */ jsx223(
9843
9780
  ErrorItem,
9844
9781
  {
9845
9782
  error: error ?? "",
@@ -9853,13 +9790,13 @@ var FormErrorSummary = ({ description }) => {
9853
9790
  };
9854
9791
 
9855
9792
  // src/components/FormField/FormField.tsx
9856
- import { Children as Children4, cloneElement as cloneElement4, useContext as useContext5 } from "react";
9793
+ import { Children as Children4, cloneElement as cloneElement4, useContext as useContext4 } from "react";
9857
9794
  import styled36 from "styled-components";
9858
9795
  import { isArray as isArray2, isNotNil as isNotNil18, isNotUndefined as isNotUndefined9, isUndefined as isUndefined4 } from "@wistia/type-guards";
9859
9796
 
9860
9797
  // src/components/Label/Label.tsx
9861
- import styled35, { css as css28 } from "styled-components";
9862
- import { jsx as jsx226 } from "react/jsx-runtime";
9798
+ import styled34, { css as css28 } from "styled-components";
9799
+ import { jsx as jsx224 } from "react/jsx-runtime";
9863
9800
  var requiredStyle = css28`
9864
9801
  &::after {
9865
9802
  color: var(--wui-color-text-error);
@@ -9871,7 +9808,7 @@ var requiredStyle = css28`
9871
9808
  var disabledStyle3 = css28`
9872
9809
  color: var(--wui-color-text-disabled);
9873
9810
  `;
9874
- var StyledLabel3 = styled35.label`
9811
+ var StyledLabel3 = styled34.label`
9875
9812
  display: block;
9876
9813
  width: 100%;
9877
9814
  color: var(--wui-color-text);
@@ -9903,7 +9840,7 @@ var Label = ({
9903
9840
  screenReaderOnly = false,
9904
9841
  ...props
9905
9842
  }) => {
9906
- return /* @__PURE__ */ jsx226(
9843
+ return /* @__PURE__ */ jsx224(
9907
9844
  StyledLabel3,
9908
9845
  {
9909
9846
  ...props,
@@ -9917,6 +9854,63 @@ var Label = ({
9917
9854
  };
9918
9855
  Label.displayName = "Label";
9919
9856
 
9857
+ // src/components/FormGroup/CheckboxGroup.tsx
9858
+ import { createContext as createContext4, useMemo as useMemo5 } from "react";
9859
+
9860
+ // src/components/FormGroup/FormGroup.tsx
9861
+ import styled35 from "styled-components";
9862
+ import { useRef as useRef11 } from "react";
9863
+ import { jsx as jsx225, jsxs as jsxs23 } from "react/jsx-runtime";
9864
+ var StyledFieldset = styled35.fieldset`
9865
+ border: 0;
9866
+ `;
9867
+ var StyledLegend = styled35.legend`
9868
+ margin-bottom: var(--space-01);
9869
+ `;
9870
+ var FormGroup = ({ children, label, ...props }) => {
9871
+ const ref = useRef11();
9872
+ return /* @__PURE__ */ jsxs23(
9873
+ Stack,
9874
+ {
9875
+ ...props,
9876
+ ref,
9877
+ renderAs: StyledFieldset,
9878
+ children: [
9879
+ /* @__PURE__ */ jsx225(
9880
+ Heading,
9881
+ {
9882
+ renderAs: StyledLegend,
9883
+ variant: "heading5",
9884
+ children: label
9885
+ }
9886
+ ),
9887
+ children
9888
+ ]
9889
+ }
9890
+ );
9891
+ };
9892
+ FormGroup.displayName = "FormGroup";
9893
+
9894
+ // src/components/FormGroup/CheckboxGroup.tsx
9895
+ import { jsx as jsx226 } from "react/jsx-runtime";
9896
+ var CheckboxGroupContext = createContext4(null);
9897
+ var CheckboxGroup = ({
9898
+ children,
9899
+ name,
9900
+ onChange,
9901
+ value,
9902
+ ...props
9903
+ }) => {
9904
+ const context = useMemo5(() => {
9905
+ return {
9906
+ name,
9907
+ onChange
9908
+ };
9909
+ }, [name, onChange]);
9910
+ return /* @__PURE__ */ jsx226(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ jsx226(FormGroup, { ...props, children }) });
9911
+ };
9912
+ CheckboxGroup.displayName = "CheckboxGroup";
9913
+
9920
9914
  // src/components/FormField/FormField.tsx
9921
9915
  import { Fragment as Fragment6, jsx as jsx227, jsxs as jsxs24 } from "react/jsx-runtime";
9922
9916
  var StyledFormField = styled36.div`
@@ -9992,8 +9986,8 @@ var FormField = ({
9992
9986
  value,
9993
9987
  ...props
9994
9988
  }) => {
9995
- const formState = useContext5(FormContext);
9996
- const checkboxGroup = useContext5(CheckboxGroupContext);
9989
+ const formState = useContext4(FormContext);
9990
+ const checkboxGroup = useContext4(CheckboxGroupContext);
9997
9991
  const defaultValue = formState.values[name];
9998
9992
  const isIntegratedLabel = children.type === Checkbox;
9999
9993
  const computedId = id ?? `${formState.formId}-${name}`;
@@ -10058,12 +10052,9 @@ var FormField = ({
10058
10052
  FormField.displayName = "FormField";
10059
10053
 
10060
10054
  // src/components/FormGroup/RadioGroup.tsx
10061
- import { createContext as createContext5, useMemo as useMemo6, useContext as useContext6 } from "react";
10055
+ import { createContext as createContext5, useMemo as useMemo6 } from "react";
10062
10056
  import { jsx as jsx228 } from "react/jsx-runtime";
10063
10057
  var RadioGroupContext = createContext5(null);
10064
- var useRadioGroup = () => {
10065
- return useContext6(RadioGroupContext);
10066
- };
10067
10058
  var RadioGroup = ({
10068
10059
  children,
10069
10060
  name,
@@ -10304,9 +10295,9 @@ import { isNotNil as isNotNil20, isNotUndefined as isNotUndefined10 } from "@wis
10304
10295
  import { useMemo as useMemo7 } from "react";
10305
10296
 
10306
10297
  // src/components/Menu/MenuContext.tsx
10307
- import { createContext as createContext6, useContext as useContext7 } from "react";
10298
+ import { createContext as createContext6, useContext as useContext5 } from "react";
10308
10299
  var MenuContext = createContext6({ compact: false });
10309
- var useMenuContext = () => useContext7(MenuContext);
10300
+ var useMenuContext = () => useContext5(MenuContext);
10310
10301
 
10311
10302
  // src/components/Menu/Menu.tsx
10312
10303
  import { jsx as jsx232, jsxs as jsxs26 } from "react/jsx-runtime";
@@ -11532,11 +11523,6 @@ var Radio = forwardRef20(
11532
11523
  }, ref) => {
11533
11524
  const generatedId = useId3();
11534
11525
  const computedId = isNonEmptyString3(id) ? id : `wistia-ui-radio-${generatedId}`;
11535
- const radioGroupContext = useRadioGroup();
11536
- const contextName = radioGroupContext?.name;
11537
- const contextOnChange = radioGroupContext?.onChange;
11538
- const radioName = name ?? contextName;
11539
- const handleOnChange = onChange ?? contextOnChange;
11540
11526
  return /* @__PURE__ */ jsxs35(
11541
11527
  StyledRadioWrapper,
11542
11528
  {
@@ -11551,8 +11537,8 @@ var Radio = forwardRef20(
11551
11537
  checked,
11552
11538
  disabled,
11553
11539
  id: computedId,
11554
- name: radioName,
11555
- onChange: handleOnChange,
11540
+ name,
11541
+ onChange,
11556
11542
  required,
11557
11543
  type: "radio",
11558
11544
  value
@@ -11591,7 +11577,7 @@ import { Root as ToggleGroupRoot } from "@radix-ui/react-toggle-group";
11591
11577
  import { isNil as isNil13 } from "@wistia/type-guards";
11592
11578
 
11593
11579
  // src/components/SegmentedControl/useSelectedItemStyle.tsx
11594
- import { createContext as createContext7, useContext as useContext8, useMemo as useMemo8, useState as useState14 } from "react";
11580
+ import { createContext as createContext7, useContext as useContext6, useMemo as useMemo8, useState as useState14 } from "react";
11595
11581
  import { jsx as jsx250 } from "react/jsx-runtime";
11596
11582
  var SelectedItemStyleContext = createContext7(null);
11597
11583
  var SelectedItemStyleProvider = ({
@@ -11618,7 +11604,7 @@ var SelectedItemStyleProvider = ({
11618
11604
  return /* @__PURE__ */ jsx250(SelectedItemStyleContext.Provider, { value: contextValue, children });
11619
11605
  };
11620
11606
  var useSelectedItemStyle = () => {
11621
- const context = useContext8(SelectedItemStyleContext);
11607
+ const context = useContext6(SelectedItemStyleContext);
11622
11608
  if (context === null) {
11623
11609
  throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
11624
11610
  }
@@ -11629,11 +11615,11 @@ var useSelectedItemStyle = () => {
11629
11615
  import styled54 from "styled-components";
11630
11616
 
11631
11617
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
11632
- import { createContext as createContext8, useContext as useContext9 } from "react";
11618
+ import { createContext as createContext8, useContext as useContext7 } from "react";
11633
11619
  var SegmentedControlValueContext = createContext8(null);
11634
11620
  var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
11635
11621
  var useSegmentedControlValue = () => {
11636
- const context = useContext9(SegmentedControlValueContext);
11622
+ const context = useContext7(SegmentedControlValueContext);
11637
11623
  if (context === null) {
11638
11624
  throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
11639
11625
  }
@@ -12265,7 +12251,7 @@ var TableBody = ({ children, ...props }) => {
12265
12251
  };
12266
12252
 
12267
12253
  // src/components/Table/TableCell.tsx
12268
- import { useContext as useContext10 } from "react";
12254
+ import { useContext as useContext8 } from "react";
12269
12255
  import styled63, { css as css38 } from "styled-components";
12270
12256
  import { jsx as jsx259 } from "react/jsx-runtime";
12271
12257
  var sharedStyles = css38`
@@ -12286,7 +12272,7 @@ var StyledTd = styled63.td`
12286
12272
  line-height: var(--wui-typography-body-2-line-height);
12287
12273
  `;
12288
12274
  var TableCell = ({ children, ...props }) => {
12289
- const section = useContext10(TableSectionContext);
12275
+ const section = useContext8(TableSectionContext);
12290
12276
  if (section === "head") {
12291
12277
  return /* @__PURE__ */ jsx259(StyledTh, { ...props, children });
12292
12278
  }
@@ -12379,11 +12365,11 @@ import { Trigger as RadixTab } from "@radix-ui/react-tabs";
12379
12365
  import { isNotNil as isNotNil30 } from "@wistia/type-guards";
12380
12366
 
12381
12367
  // src/components/Tabs/useTabsValue.tsx
12382
- import { createContext as createContext10, useContext as useContext11 } from "react";
12368
+ import { createContext as createContext10, useContext as useContext9 } from "react";
12383
12369
  var TabsValueContext = createContext10(null);
12384
12370
  var TabsValueProvider = TabsValueContext.Provider;
12385
12371
  var useTabsValue = () => {
12386
- const context = useContext11(TabsValueContext);
12372
+ const context = useContext9(TabsValueContext);
12387
12373
  if (context === null) {
12388
12374
  throw new Error("useTabsValue must be used within a TabsValueProvider");
12389
12375
  }