@wistia/ui 0.6.19 → 0.6.20-beta.c8a0b106.eb6e6a5

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.6.19
3
+ * @license @wistia/ui v0.6.20-beta.c8a0b106.eb6e6a5
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -7413,192 +7413,15 @@ var Card = ({
7413
7413
  Card.displayName = "Card";
7414
7414
 
7415
7415
  // src/components/Checkbox/Checkbox.tsx
7416
- import { forwardRef as forwardRef7, useId } from "react";
7417
- import { Root as CheckboxRoot, Indicator as CheckboxIndicator } from "@radix-ui/react-checkbox";
7418
- import styled18 from "styled-components";
7416
+ import { forwardRef as forwardRef6, useId } from "react";
7417
+ import styled16, { css as css18 } from "styled-components";
7419
7418
  import { isNonEmptyString as isNonEmptyString2 } from "@wistia/type-guards";
7420
7419
 
7421
- // src/components/Label/Label.tsx
7422
- import styled16, { css as css19 } from "styled-components";
7423
-
7424
- // src/components/Heading/Heading.tsx
7425
- import { forwardRef as forwardRef6 } from "react";
7426
- import styled15, { css as css18 } from "styled-components";
7427
- import { jsx as jsx199 } from "react/jsx-runtime";
7428
- var heroStyle = css18`
7429
- --font-family: var(--wui-typography-heading-hero-family);
7430
- --font-size: var(--wui-typography-heading-hero-size);
7431
- --font-weight: var(--wui-typography-heading-hero-weight);
7432
- --line-height: var(--wui-typography-heading-hero-line-height);
7433
- `;
7434
- var heading1TextStyle = css18`
7435
- --font-family: var(--wui-typography-heading-1-family);
7436
- --font-size: var(--wui-typography-heading-1-size);
7437
- --font-weight: var(--wui-typography-heading-1-weight);
7438
- --line-height: var(--wui-typography-heading-1-line-height);
7439
- `;
7440
- var heading2TextStyle = css18`
7441
- --font-family: var(--wui-typography-heading-2-family);
7442
- --font-size: var(--wui-typography-heading-2-size);
7443
- --font-weight: var(--wui-typography-heading-2-weight);
7444
- --line-height: var(--wui-typography-heading-2-line-height);
7445
- `;
7446
- var heading3TextStyle = css18`
7447
- --font-family: var(--wui-typography-heading-3-family);
7448
- --font-size: var(--wui-typography-heading-3-size);
7449
- --font-weight: var(--wui-typography-heading-3-weight);
7450
- --line-height: var(--wui-typography-heading-3-line-height);
7451
- `;
7452
- var heading4TextStyle = css18`
7453
- --font-family: var(--wui-typography-heading-4-family);
7454
- --font-size: var(--wui-typography-heading-4-size);
7455
- --font-weight: var(--wui-typography-heading-4-weight);
7456
- --line-height: var(--wui-typography-heading-4-line-height);
7457
- `;
7458
- var heading5TextStyle = css18`
7459
- --font-family: var(--wui-typography-heading-5-family);
7460
- --font-size: var(--wui-typography-heading-5-size);
7461
- --font-weight: var(--wui-typography-heading-5-weight);
7462
- --line-height: var(--wui-typography-heading-5-line-height);
7463
- `;
7464
- var heading6TextStyle = css18`
7465
- --font-family: var(--wui-typography-heading-6-family);
7466
- --font-size: var(--wui-typography-heading-6-size);
7467
- --font-weight: var(--wui-typography-heading-6-weight);
7468
- --line-height: var(--wui-typography-heading-6-line-height);
7469
- `;
7470
- var variantStyleMap = {
7471
- hero: heroStyle,
7472
- heading1: heading1TextStyle,
7473
- heading2: heading2TextStyle,
7474
- heading3: heading3TextStyle,
7475
- heading4: heading4TextStyle,
7476
- heading5: heading5TextStyle,
7477
- heading6: heading6TextStyle
7478
- };
7479
- var DEFAULT_ELEMENT2 = "h1";
7480
- var StyledHeading = styled15.div`
7481
- ${({ $colorScheme }) => getColorScheme($colorScheme)};
7482
- font-family: var(--font-family);
7483
- font-size: var(--font-size);
7484
- font-weight: var(--font-weight);
7485
- line-height: var(--line-height);
7486
- color: var(--wui-color-text);
7487
- ${({ $variant }) => variantStyleMap[$variant]}
7488
- ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
7489
- ${({ $inline }) => $inline && css18`
7490
- display: inline-block;
7491
- `}
7492
- ${({ $disabled }) => $disabled && css18`
7493
- color: var(--wui-color-text-disabled);
7494
- `}
7495
- ${({ $preventUserSelect }) => $preventUserSelect && css18`
7496
- user-select: none;
7497
- `}
7498
- ${({ $align }) => css18`
7499
- text-align: ${$align};
7500
- `}
7501
- margin: 0;
7502
- `;
7503
- var variantElementMap = {
7504
- hero: DEFAULT_ELEMENT2,
7505
- heading1: DEFAULT_ELEMENT2,
7506
- heading2: "h2",
7507
- heading3: "h3",
7508
- heading4: "h4",
7509
- heading5: "h5",
7510
- heading6: "h6"
7511
- };
7512
- var HeadingComponent = forwardRef6(
7513
- ({
7514
- align = "left",
7515
- colorScheme = "inherit",
7516
- disabled = false,
7517
- ellipsis = false,
7518
- inline = false,
7519
- preventUserSelect = false,
7520
- variant = "heading1",
7521
- renderAs,
7522
- ...otherProps
7523
- }, ref) => /* @__PURE__ */ jsx199(
7524
- StyledHeading,
7525
- {
7526
- ref,
7527
- $align: align,
7528
- $colorScheme: colorScheme,
7529
- $disabled: disabled,
7530
- $ellipsis: ellipsis,
7531
- $inline: inline,
7532
- $preventUserSelect: preventUserSelect,
7533
- $variant: variant,
7534
- as: renderAs ?? variantElementMap[variant],
7535
- ...otherProps
7536
- }
7537
- )
7538
- );
7539
- HeadingComponent.displayName = "Heading";
7540
- var Heading = makePolymorphic(HeadingComponent);
7541
-
7542
- // src/components/Label/Label.tsx
7543
- import { jsx as jsx200 } from "react/jsx-runtime";
7544
- var requiredStyle = css19`
7545
- &::after {
7546
- color: var(--wui-color-text-error);
7547
- display: inline;
7548
- padding-left: var(--wui-space-01);
7549
- content: '*';
7550
- }
7551
- `;
7552
- var disabledStyle = css19`
7553
- color: var(--wui-color-text-disabled);
7554
- `;
7555
- var StyledLabel2 = styled16(Heading).attrs({
7556
- variant: "heading6",
7557
- renderAs: "label"
7558
- })`
7559
- display: block;
7560
- width: 100%;
7561
-
7562
- /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
7563
- > input,
7564
- > textarea,
7565
- > select {
7566
- display: block;
7567
- }
7568
-
7569
- > label {
7570
- font-weight: normal;
7571
- }
7572
-
7573
- ${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
7574
- ${({ $disabled }) => $disabled && disabledStyle}
7575
- ${({ $required }) => $required && requiredStyle}
7576
- `;
7577
- var Label = ({
7578
- children,
7579
- disabled = false,
7580
- htmlFor,
7581
- required = false,
7582
- screenReaderOnly = false,
7583
- ...otherProps
7584
- }) => /* @__PURE__ */ jsx200(
7585
- StyledLabel2,
7586
- {
7587
- ...otherProps,
7588
- $disabled: disabled,
7589
- $required: required,
7590
- $screenReaderOnly: screenReaderOnly,
7591
- htmlFor,
7592
- children
7593
- }
7594
- );
7595
- Label.displayName = "Label";
7596
-
7597
7420
  // src/components/Label/LabelDescription.tsx
7598
- import styled17 from "styled-components";
7421
+ import styled15 from "styled-components";
7599
7422
  import { isNil as isNil11 } from "@wistia/type-guards";
7600
- import { jsx as jsx201 } from "react/jsx-runtime";
7601
- var StyledLabelDescription = styled17.div`
7423
+ import { jsx as jsx199 } from "react/jsx-runtime";
7424
+ var StyledLabelDescription = styled15.div`
7602
7425
  color: var(--wui-color-text-secondary);
7603
7426
  font-size: var(--wui-typography-body-4-size);
7604
7427
  font-weight: var(--wui-typography-body-4-weight);
@@ -7611,13 +7434,13 @@ var LabelDescription = ({
7611
7434
  if (isNil11(children)) {
7612
7435
  return null;
7613
7436
  }
7614
- return /* @__PURE__ */ jsx201(StyledLabelDescription, { ...props, children });
7437
+ return /* @__PURE__ */ jsx199(StyledLabelDescription, { ...props, children });
7615
7438
  };
7616
7439
  LabelDescription.displayName = "LabelDescription";
7617
7440
 
7618
7441
  // src/components/Checkbox/Checkbox.tsx
7619
- import { jsx as jsx202, jsxs as jsxs12 } from "react/jsx-runtime";
7620
- var CheckIcon = () => /* @__PURE__ */ jsx202(
7442
+ import { jsx as jsx200, jsxs as jsxs12 } from "react/jsx-runtime";
7443
+ var CheckIcon = () => /* @__PURE__ */ jsx200(
7621
7444
  "svg",
7622
7445
  {
7623
7446
  fill: "inherit",
@@ -7625,129 +7448,109 @@ var CheckIcon = () => /* @__PURE__ */ jsx202(
7625
7448
  viewBox: "0 0 10 8",
7626
7449
  width: "10",
7627
7450
  xmlns: "http://www.w3.org/2000/svg",
7628
- children: /* @__PURE__ */ jsx202(
7451
+ children: /* @__PURE__ */ jsx200(
7629
7452
  "path",
7630
7453
  {
7631
7454
  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",
7632
- fill: "white"
7455
+ fill: "currentColor"
7633
7456
  }
7634
7457
  )
7635
7458
  }
7636
7459
  );
7637
- var StyledCheckboxWrapper = styled18.div`
7460
+ var disabledStyle = css18`
7461
+ cursor: not-allowed;
7462
+ opacity: 0.5;
7463
+ `;
7464
+ var inputSizeMedium = css18`
7465
+ width: 16px;
7466
+ height: 16px;
7467
+ min-width: 16px;
7468
+ min-height: 16px;
7469
+ `;
7470
+ var StyledLabelWrapper = styled16.div`
7638
7471
  display: flex;
7639
- align-items: center;
7640
- cursor: pointer;
7472
+ flex-direction: column;
7473
+ `;
7474
+ var StyledCheckboxWrapper = styled16.div`
7475
+ display: flex;
7476
+ margin: 0;
7641
7477
 
7642
- &:hover {
7643
- /* TODO Lamp to design hover state */
7644
- }
7478
+ /* TODO this solves a problem but potentially causes and a11y issue */
7479
+ user-select: none;
7645
7480
 
7646
- &:focus-within {
7647
- /* TODO Lamp to design focus state */
7648
- background-color: #efefef;
7649
- }
7481
+ ${({ disabled }) => disabled && disabledStyle};
7650
7482
  `;
7651
- var StyledCheckboxRoot = styled18(CheckboxRoot)`
7652
- all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
7653
- background-color: var(--wui-color-bg-fill-white);
7654
- min-width: 16px;
7655
- min-height: 16px;
7656
- border-radius: var(--wui-border-radius-01);
7657
- border-width: 1px;
7658
- border-style: solid;
7659
- border-color: var(--wui-color-border);
7483
+ var StyledLabel2 = styled16.label`
7484
+ cursor: pointer;
7660
7485
  display: flex;
7661
7486
  align-items: center;
7662
- justify-content: center;
7663
- align-self: start; /* align to the top to handle label descriptions */
7664
-
7665
- &[data-state='checked'] {
7666
- background-color: var(--wui-color-bg-fill);
7667
- }
7487
+ gap: var(--wui-space-01);
7488
+ `;
7489
+ var StyledCheckboxInput = styled16.div`
7490
+ /* TODO prop-ify sizes */
7491
+ ${inputSizeMedium}
7492
+ line-height: 0;
7493
+ margin: 0;
7494
+ border: 1px solid var(--wui-color-border);
7495
+ border-radius: var(--wui-border-radius-01);
7496
+ background-color: var(--wui-color-bg-fill-white);
7497
+ display: grid;
7498
+ place-content: center;
7499
+ align-self: flex-start;
7668
7500
 
7669
- &[disabled] {
7670
- background-color: var(--wui-color-bg-surface-disabled);
7501
+ svg {
7502
+ display: none;
7671
7503
 
7672
- svg path {
7673
- fill: var(--wui-color-icon-disabled);
7504
+ path {
7505
+ fill: var(--wui-color-bg-fill-white);
7674
7506
  }
7675
7507
  }
7508
+ `;
7509
+ var StyledHiddenCheckboxInput = styled16.input`
7510
+ ${visuallyHiddenStyle}
7676
7511
 
7677
- &:hover {
7678
- /* TODO Lamp to design hover state */
7512
+ /* toggles display of faux-input background-color */
7513
+ &:checked + label [data-wui-faux-input='true'] {
7514
+ background-color: var(--wui-color-bg-fill);
7679
7515
  }
7680
7516
 
7681
- &:focus {
7682
- /* TODO Lamp to design focus state */
7517
+ /* toggles display of CheckIcon */
7518
+ &:checked + label svg {
7519
+ display: block;
7683
7520
  }
7684
7521
  `;
7685
- var StyledCheckboxIndicator = styled18(CheckboxIndicator)`
7686
- display: flex;
7687
- `;
7688
- var StyledLabelWrapper = styled18.div`
7689
- display: flex;
7690
- flex-direction: column;
7691
- margin-left: var(--wui-space-02);
7692
- `;
7693
- var Checkbox = forwardRef7(
7694
- ({
7695
- checked,
7696
- disabled = false,
7697
- forceState,
7698
- id,
7699
- label,
7700
- description,
7701
- name,
7702
- onChange,
7703
- required = false,
7704
- value = "false",
7705
- ...otherProps
7706
- }, ref) => {
7522
+ var Checkbox = forwardRef6(
7523
+ ({ checked, disabled = false, id, label, description, name, onChange, value, ...otherProps }, ref) => {
7707
7524
  const generatedId = useId();
7708
- const computedId = isNonEmptyString2(id) ? id : `wistia-ui-checkbox-group-${generatedId}`;
7709
- return /* @__PURE__ */ jsxs12(StyledCheckboxWrapper, { children: [
7710
- /* @__PURE__ */ jsx202(
7711
- StyledCheckboxRoot,
7712
- {
7713
- ref,
7714
- "aria-label": label,
7715
- checked: checked ?? void 0,
7716
- defaultChecked: checked === void 0 ? false : void 0,
7717
- disabled,
7718
- id: computedId,
7719
- name,
7720
- onCheckedChange: (state) => {
7721
- if (onChange) {
7722
- const syntheticEvent = {
7723
- target: {
7724
- name,
7725
- id: computedId,
7726
- checked: state === true
7727
- }
7728
- };
7729
- onChange(syntheticEvent);
7525
+ const computedId = isNonEmptyString2(id) ? id : `wistia-ui-checkbox-${generatedId}`;
7526
+ return /* @__PURE__ */ jsxs12(
7527
+ StyledCheckboxWrapper,
7528
+ {
7529
+ ref,
7530
+ disabled,
7531
+ children: [
7532
+ /* @__PURE__ */ jsx200(
7533
+ StyledHiddenCheckboxInput,
7534
+ {
7535
+ ...otherProps,
7536
+ disabled,
7537
+ id: computedId,
7538
+ name,
7539
+ onChange,
7540
+ type: "checkbox",
7541
+ value
7730
7542
  }
7731
- },
7732
- required,
7733
- value,
7734
- ...otherProps,
7735
- children: /* @__PURE__ */ jsx202(StyledCheckboxIndicator, { children: /* @__PURE__ */ jsx202(CheckIcon, {}) })
7736
- }
7737
- ),
7738
- /* @__PURE__ */ jsxs12(StyledLabelWrapper, { children: [
7739
- /* @__PURE__ */ jsx202(
7740
- Label,
7741
- {
7742
- disabled,
7743
- htmlFor: computedId,
7744
- required,
7745
- children: label
7746
- }
7747
- ),
7748
- /* @__PURE__ */ jsx202(LabelDescription, { children: description })
7749
- ] })
7750
- ] });
7543
+ ),
7544
+ /* @__PURE__ */ jsxs12(StyledLabel2, { htmlFor: computedId, children: [
7545
+ /* @__PURE__ */ jsx200(StyledCheckboxInput, { "data-wui-faux-input": "true", children: /* @__PURE__ */ jsx200(CheckIcon, {}) }),
7546
+ /* @__PURE__ */ jsxs12(StyledLabelWrapper, { children: [
7547
+ label,
7548
+ /* @__PURE__ */ jsx200(LabelDescription, { children: description })
7549
+ ] })
7550
+ ] })
7551
+ ]
7552
+ }
7553
+ );
7751
7554
  }
7752
7555
  );
7753
7556
  Checkbox.displayName = "Checkbox";
@@ -7790,9 +7593,9 @@ ClickRegion.displayName = "ClickRegion";
7790
7593
  // src/components/Collapsible/Collapsible.tsx
7791
7594
  import { Root } from "@radix-ui/react-collapsible";
7792
7595
  import { isNotNil as isNotNil8 } from "@wistia/type-guards";
7793
- import styled19 from "styled-components";
7794
- import { jsx as jsx203 } from "react/jsx-runtime";
7795
- var StyledRoot = styled19(Root)`
7596
+ import styled17 from "styled-components";
7597
+ import { jsx as jsx201 } from "react/jsx-runtime";
7598
+ var StyledRoot = styled17(Root)`
7796
7599
  &[data-state='closed'] [data-wui-collapsible-content] {
7797
7600
  display: -webkit-box;
7798
7601
  -webkit-box-orient: vertical;
@@ -7808,42 +7611,162 @@ var Collapsible = ({
7808
7611
  const controlProps = {
7809
7612
  ...isNotNil8(onOpenChange) && isNotNil8(isOpen) ? { open: isOpen, onOpenChange } : {}
7810
7613
  };
7811
- return /* @__PURE__ */ jsx203(StyledRoot, { ...controlProps, children });
7614
+ return /* @__PURE__ */ jsx201(StyledRoot, { ...controlProps, children });
7812
7615
  };
7813
7616
  Collapsible.displayName = "Collapsible";
7814
7617
 
7815
7618
  // src/components/Collapsible/CollapsibleTrigger.tsx
7816
7619
  import { Children as Children4 } from "react";
7817
7620
  import { Trigger } from "@radix-ui/react-collapsible";
7818
- import { jsx as jsx204 } from "react/jsx-runtime";
7621
+ import { jsx as jsx202 } from "react/jsx-runtime";
7819
7622
  var CollapsibleTrigger = ({ children }) => {
7820
7623
  Children4.only(children);
7821
- return /* @__PURE__ */ jsx204(Trigger, { asChild: true, children });
7624
+ return /* @__PURE__ */ jsx202(Trigger, { asChild: true, children });
7822
7625
  };
7823
7626
 
7824
7627
  // src/components/Collapsible/CollapsibleContent.tsx
7825
- import styled20 from "styled-components";
7628
+ import styled18 from "styled-components";
7826
7629
  import { Content } from "@radix-ui/react-collapsible";
7827
7630
  import { isNotUndefined as isNotUndefined5 } from "@wistia/type-guards";
7828
- import { Fragment as Fragment4, jsx as jsx205, jsxs as jsxs13 } from "react/jsx-runtime";
7829
- var ClampedContent = styled20.div.attrs({ "data-wui-collapsible-content": true })`
7631
+ import { Fragment as Fragment4, jsx as jsx203, jsxs as jsxs13 } from "react/jsx-runtime";
7632
+ var ClampedContent = styled18.div.attrs({ "data-wui-collapsible-content": true })`
7830
7633
  --wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
7831
7634
  `;
7832
7635
  var CollapsibleContent = ({ clamp, children }) => {
7833
7636
  if (isNotUndefined5(clamp)) {
7834
- return /* @__PURE__ */ jsx205(ClampedContent, { $clamp: clamp, children });
7637
+ return /* @__PURE__ */ jsx203(ClampedContent, { $clamp: clamp, children });
7835
7638
  }
7836
- return /* @__PURE__ */ jsx205(Content, { asChild: true, children: /* @__PURE__ */ jsxs13(Fragment4, { children: [
7639
+ return /* @__PURE__ */ jsx203(Content, { asChild: true, children: /* @__PURE__ */ jsxs13(Fragment4, { children: [
7837
7640
  children,
7838
7641
  " "
7839
7642
  ] }) });
7840
7643
  };
7841
7644
 
7842
7645
  // src/components/DataCards/DataCard.tsx
7843
- import styled21, { keyframes } from "styled-components";
7646
+ import styled20, { keyframes } from "styled-components";
7844
7647
  import { isNotNull } from "@wistia/type-guards";
7845
- import { jsx as jsx206, jsxs as jsxs14 } from "react/jsx-runtime";
7846
- var StyledDataCard = styled21.div`
7648
+
7649
+ // src/components/Heading/Heading.tsx
7650
+ import { forwardRef as forwardRef7 } from "react";
7651
+ import styled19, { css as css19 } from "styled-components";
7652
+ import { jsx as jsx204 } from "react/jsx-runtime";
7653
+ var heroStyle = css19`
7654
+ --font-family: var(--wui-typography-heading-hero-family);
7655
+ --font-size: var(--wui-typography-heading-hero-size);
7656
+ --font-weight: var(--wui-typography-heading-hero-weight);
7657
+ --line-height: var(--wui-typography-heading-hero-line-height);
7658
+ `;
7659
+ var heading1TextStyle = css19`
7660
+ --font-family: var(--wui-typography-heading-1-family);
7661
+ --font-size: var(--wui-typography-heading-1-size);
7662
+ --font-weight: var(--wui-typography-heading-1-weight);
7663
+ --line-height: var(--wui-typography-heading-1-line-height);
7664
+ `;
7665
+ var heading2TextStyle = css19`
7666
+ --font-family: var(--wui-typography-heading-2-family);
7667
+ --font-size: var(--wui-typography-heading-2-size);
7668
+ --font-weight: var(--wui-typography-heading-2-weight);
7669
+ --line-height: var(--wui-typography-heading-2-line-height);
7670
+ `;
7671
+ var heading3TextStyle = css19`
7672
+ --font-family: var(--wui-typography-heading-3-family);
7673
+ --font-size: var(--wui-typography-heading-3-size);
7674
+ --font-weight: var(--wui-typography-heading-3-weight);
7675
+ --line-height: var(--wui-typography-heading-3-line-height);
7676
+ `;
7677
+ var heading4TextStyle = css19`
7678
+ --font-family: var(--wui-typography-heading-4-family);
7679
+ --font-size: var(--wui-typography-heading-4-size);
7680
+ --font-weight: var(--wui-typography-heading-4-weight);
7681
+ --line-height: var(--wui-typography-heading-4-line-height);
7682
+ `;
7683
+ var heading5TextStyle = css19`
7684
+ --font-family: var(--wui-typography-heading-5-family);
7685
+ --font-size: var(--wui-typography-heading-5-size);
7686
+ --font-weight: var(--wui-typography-heading-5-weight);
7687
+ --line-height: var(--wui-typography-heading-5-line-height);
7688
+ `;
7689
+ var heading6TextStyle = css19`
7690
+ --font-family: var(--wui-typography-heading-6-family);
7691
+ --font-size: var(--wui-typography-heading-6-size);
7692
+ --font-weight: var(--wui-typography-heading-6-weight);
7693
+ --line-height: var(--wui-typography-heading-6-line-height);
7694
+ `;
7695
+ var variantStyleMap = {
7696
+ hero: heroStyle,
7697
+ heading1: heading1TextStyle,
7698
+ heading2: heading2TextStyle,
7699
+ heading3: heading3TextStyle,
7700
+ heading4: heading4TextStyle,
7701
+ heading5: heading5TextStyle,
7702
+ heading6: heading6TextStyle
7703
+ };
7704
+ var DEFAULT_ELEMENT2 = "h1";
7705
+ var StyledHeading = styled19.div`
7706
+ ${({ $colorScheme }) => getColorScheme($colorScheme)};
7707
+ font-family: var(--font-family);
7708
+ font-size: var(--font-size);
7709
+ font-weight: var(--font-weight);
7710
+ line-height: var(--line-height);
7711
+ color: var(--wui-color-text);
7712
+ ${({ $variant }) => variantStyleMap[$variant]}
7713
+ ${({ $ellipsis }) => $ellipsis && ellipsisStyle};
7714
+ ${({ $inline }) => $inline && css19`
7715
+ display: inline-block;
7716
+ `}
7717
+ ${({ $disabled }) => $disabled && css19`
7718
+ color: var(--wui-color-text-disabled);
7719
+ `}
7720
+ ${({ $preventUserSelect }) => $preventUserSelect && css19`
7721
+ user-select: none;
7722
+ `}
7723
+ ${({ $align }) => css19`
7724
+ text-align: ${$align};
7725
+ `}
7726
+ margin: 0;
7727
+ `;
7728
+ var variantElementMap = {
7729
+ hero: DEFAULT_ELEMENT2,
7730
+ heading1: DEFAULT_ELEMENT2,
7731
+ heading2: "h2",
7732
+ heading3: "h3",
7733
+ heading4: "h4",
7734
+ heading5: "h5",
7735
+ heading6: "h6"
7736
+ };
7737
+ var HeadingComponent = forwardRef7(
7738
+ ({
7739
+ align = "left",
7740
+ colorScheme = "inherit",
7741
+ disabled = false,
7742
+ ellipsis = false,
7743
+ inline = false,
7744
+ preventUserSelect = false,
7745
+ variant = "heading1",
7746
+ renderAs,
7747
+ ...otherProps
7748
+ }, ref) => /* @__PURE__ */ jsx204(
7749
+ StyledHeading,
7750
+ {
7751
+ ref,
7752
+ $align: align,
7753
+ $colorScheme: colorScheme,
7754
+ $disabled: disabled,
7755
+ $ellipsis: ellipsis,
7756
+ $inline: inline,
7757
+ $preventUserSelect: preventUserSelect,
7758
+ $variant: variant,
7759
+ as: renderAs ?? variantElementMap[variant],
7760
+ ...otherProps
7761
+ }
7762
+ )
7763
+ );
7764
+ HeadingComponent.displayName = "Heading";
7765
+ var Heading = makePolymorphic(HeadingComponent);
7766
+
7767
+ // src/components/DataCards/DataCard.tsx
7768
+ import { jsx as jsx205, jsxs as jsxs14 } from "react/jsx-runtime";
7769
+ var StyledDataCard = styled20.div`
7847
7770
  ${({ $colorScheme }) => getColorScheme($colorScheme)}
7848
7771
  display: grid;
7849
7772
  grid-template-areas: 'label slot' 'value value';
@@ -7864,7 +7787,7 @@ var shimmer = keyframes`
7864
7787
  background-position: -200% 0;
7865
7788
  }
7866
7789
  `;
7867
- var LoadingBackground = styled21.div`
7790
+ var LoadingBackground = styled20.div`
7868
7791
  background: linear-gradient(
7869
7792
  90deg,
7870
7793
  var(--wui-color-bg-surface-tertiary) 25%,
@@ -7875,27 +7798,27 @@ var LoadingBackground = styled21.div`
7875
7798
  animation: ${shimmer} 1.5s infinite;
7876
7799
  border-radius: var(--wui-border-radius-01);
7877
7800
  `;
7878
- var StyledLoadingLabel = styled21(LoadingBackground)`
7801
+ var StyledLoadingLabel = styled20(LoadingBackground)`
7879
7802
  width: 80px;
7880
7803
  height: var(--wui-typography-heading-6-line-height);
7881
7804
  `;
7882
- var StyledLoadingValue = styled21(LoadingBackground)`
7805
+ var StyledLoadingValue = styled20(LoadingBackground)`
7883
7806
  width: 90%;
7884
7807
  height: var(--wui-typography-heading-3-line-height);
7885
7808
  `;
7886
- var StyledLabel3 = styled21(Heading)`
7809
+ var StyledLabel3 = styled20(Heading)`
7887
7810
  grid-area: label;
7888
7811
  `;
7889
- var StyledValue = styled21(Heading)`
7812
+ var StyledValue = styled20(Heading)`
7890
7813
  grid-area: value;
7891
7814
  `;
7892
- var StyledSlot = styled21.div`
7815
+ var StyledSlot = styled20.div`
7893
7816
  display: flex;
7894
7817
  justify-content: flex-end;
7895
7818
  grid-area: slot;
7896
7819
  align-self: center;
7897
7820
  `;
7898
- var StyledDataCardTrendContainer = styled21.div`
7821
+ var StyledDataCardTrendContainer = styled20.div`
7899
7822
  position: absolute;
7900
7823
  bottom: var(--wui-space-01);
7901
7824
  right: var(--wui-space-01);
@@ -7914,33 +7837,33 @@ var DataCard = ({
7914
7837
  $colorScheme: colorScheme,
7915
7838
  ...props,
7916
7839
  children: [
7917
- /* @__PURE__ */ jsx206(
7840
+ /* @__PURE__ */ jsx205(
7918
7841
  StyledLabel3,
7919
7842
  {
7920
7843
  renderAs: "dt",
7921
7844
  variant: "heading6",
7922
- children: isLoading ? /* @__PURE__ */ jsx206(StyledLoadingLabel, {}) : label
7845
+ children: isLoading ? /* @__PURE__ */ jsx205(StyledLoadingLabel, {}) : label
7923
7846
  }
7924
7847
  ),
7925
- /* @__PURE__ */ jsx206(
7848
+ /* @__PURE__ */ jsx205(
7926
7849
  StyledValue,
7927
7850
  {
7928
7851
  renderAs: "dd",
7929
7852
  variant: "heading3",
7930
- children: isLoading ? /* @__PURE__ */ jsx206(StyledLoadingValue, {}) : value
7853
+ children: isLoading ? /* @__PURE__ */ jsx205(StyledLoadingValue, {}) : value
7931
7854
  }
7932
7855
  ),
7933
- isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */ jsx206(StyledSlot, { children: upperRightSlot }),
7934
- isNotNull(trend) && !isLoading && /* @__PURE__ */ jsx206(StyledDataCardTrendContainer, { children: trend })
7856
+ isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */ jsx205(StyledSlot, { children: upperRightSlot }),
7857
+ isNotNull(trend) && !isLoading && /* @__PURE__ */ jsx205(StyledDataCardTrendContainer, { children: trend })
7935
7858
  ]
7936
7859
  }
7937
7860
  );
7938
7861
  DataCard.displayName = "DataCard";
7939
7862
 
7940
7863
  // src/components/DataCards/DataCards.tsx
7941
- import styled22 from "styled-components";
7942
- import { jsx as jsx207 } from "react/jsx-runtime";
7943
- var StyledDataCards = styled22(Box)`
7864
+ import styled21 from "styled-components";
7865
+ import { jsx as jsx206 } from "react/jsx-runtime";
7866
+ var StyledDataCards = styled21(Box)`
7944
7867
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
7945
7868
  margin-top: 0; /* Remove default <dl> style */
7946
7869
  > * {
@@ -7954,7 +7877,7 @@ var DataCards = ({
7954
7877
  colorScheme = "inherit",
7955
7878
  ...props
7956
7879
  }) => {
7957
- return /* @__PURE__ */ jsx207(
7880
+ return /* @__PURE__ */ jsx206(
7958
7881
  StyledDataCards,
7959
7882
  {
7960
7883
  ...props,
@@ -7972,12 +7895,12 @@ var DataCards = ({
7972
7895
  DataCards.displayName = "DataCards";
7973
7896
 
7974
7897
  // src/components/DataCards/DataCardTrend.tsx
7975
- import styled24 from "styled-components";
7898
+ import styled23 from "styled-components";
7976
7899
 
7977
7900
  // src/components/Text/Text.tsx
7978
7901
  import { forwardRef as forwardRef8 } from "react";
7979
- import styled23, { css as css20 } from "styled-components";
7980
- import { jsx as jsx208 } from "react/jsx-runtime";
7902
+ import styled22, { css as css20 } from "styled-components";
7903
+ import { jsx as jsx207 } from "react/jsx-runtime";
7981
7904
  var bodyBoldStyles = css20`
7982
7905
  > strong,
7983
7906
  b {
@@ -8097,7 +8020,7 @@ var variantElementMap2 = {
8097
8020
  label3: labelElement,
8098
8021
  label4: labelElement
8099
8022
  };
8100
- var StyledText = styled23.div`
8023
+ var StyledText = styled22.div`
8101
8024
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
8102
8025
  --text-color: ${({ $prominence, $disabled }) => {
8103
8026
  if ($disabled) {
@@ -8154,7 +8077,7 @@ var TextComponent = forwardRef8(
8154
8077
  renderAs,
8155
8078
  ...otherProps
8156
8079
  }, ref) => {
8157
- return /* @__PURE__ */ jsx208(
8080
+ return /* @__PURE__ */ jsx207(
8158
8081
  StyledText,
8159
8082
  {
8160
8083
  ref,
@@ -8176,8 +8099,8 @@ TextComponent.displayName = "Text";
8176
8099
  var Text = makePolymorphic(TextComponent);
8177
8100
 
8178
8101
  // src/components/DataCards/DataCardTrend.tsx
8179
- import { jsx as jsx209, jsxs as jsxs15 } from "react/jsx-runtime";
8180
- var StyledDataCardTrend = styled24.div`
8102
+ import { jsx as jsx208, jsxs as jsxs15 } from "react/jsx-runtime";
8103
+ var StyledDataCardTrend = styled23.div`
8181
8104
  ${({ $outlook }) => getColorScheme($outlook === "positive" ? "success" : "error")};
8182
8105
  background: var(--wui-color-bg-app);
8183
8106
  border-radius: var(--wui-border-radius-rounded);
@@ -8193,7 +8116,7 @@ var DataCardTrend = ({
8193
8116
  ...props
8194
8117
  }) => {
8195
8118
  return /* @__PURE__ */ jsxs15(StyledDataCardTrend, { $outlook: outlook, children: [
8196
- /* @__PURE__ */ jsx209(
8119
+ /* @__PURE__ */ jsx208(
8197
8120
  Icon,
8198
8121
  {
8199
8122
  size: "md",
@@ -8201,7 +8124,7 @@ var DataCardTrend = ({
8201
8124
  ...props
8202
8125
  }
8203
8126
  ),
8204
- /* @__PURE__ */ jsx209(
8127
+ /* @__PURE__ */ jsx208(
8205
8128
  Text,
8206
8129
  {
8207
8130
  prominence: "secondary",
@@ -8213,8 +8136,8 @@ var DataCardTrend = ({
8213
8136
  };
8214
8137
 
8215
8138
  // src/components/Divider/Divider.tsx
8216
- import styled25, { css as css21 } from "styled-components";
8217
- import { jsx as jsx210 } from "react/jsx-runtime";
8139
+ import styled24, { css as css21 } from "styled-components";
8140
+ import { jsx as jsx209 } from "react/jsx-runtime";
8218
8141
  var horizontalBorderCss = css21`
8219
8142
  border-top-color: var(--wui-color-border);
8220
8143
  border-top-style: solid;
@@ -8228,7 +8151,7 @@ var verticalBorderCss = css21`
8228
8151
  min-height: 100%;
8229
8152
  width: 1px;
8230
8153
  `;
8231
- var DividerComponent = styled25.div`
8154
+ var DividerComponent = styled24.div`
8232
8155
  ${({ $orientation }) => {
8233
8156
  switch ($orientation) {
8234
8157
  case "vertical":
@@ -8243,7 +8166,7 @@ var Divider = ({
8243
8166
  orientation = "horizontal",
8244
8167
  ...otherProps
8245
8168
  }) => {
8246
- return /* @__PURE__ */ jsx210(
8169
+ return /* @__PURE__ */ jsx209(
8247
8170
  DividerComponent,
8248
8171
  {
8249
8172
  $orientation: orientation,
@@ -8256,15 +8179,15 @@ var Divider = ({
8256
8179
  Divider.displayName = "Divider";
8257
8180
 
8258
8181
  // src/components/EditableHeading/EditableHeading.tsx
8259
- import styled29, { css as css24 } from "styled-components";
8182
+ import styled28, { css as css24 } from "styled-components";
8260
8183
  import { useState as useState5, useRef as useRef4 } from "react";
8261
8184
 
8262
8185
  // src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
8263
- import styled26 from "styled-components";
8186
+ import styled25 from "styled-components";
8264
8187
  import { isNotNil as isNotNil9 } from "@wistia/type-guards";
8265
- import { jsx as jsx211 } from "react/jsx-runtime";
8266
- var VisuallyHidden = styled26.div({ ...visuallyHiddenStyle });
8267
- var VisuallyHiddenButFocusable = styled26.div({
8188
+ import { jsx as jsx210 } from "react/jsx-runtime";
8189
+ var VisuallyHidden = styled25.div({ ...visuallyHiddenStyle });
8190
+ var VisuallyHiddenButFocusable = styled25.div({
8268
8191
  "&:not(:focus-within)": visuallyHiddenStyle
8269
8192
  });
8270
8193
  var ScreenReaderOnly = ({
@@ -8275,9 +8198,9 @@ var ScreenReaderOnly = ({
8275
8198
  }) => {
8276
8199
  const accessibleText = isNotNil9(text) ? text : children;
8277
8200
  if (focusable) {
8278
- return /* @__PURE__ */ jsx211(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
8201
+ return /* @__PURE__ */ jsx210(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
8279
8202
  }
8280
- return /* @__PURE__ */ jsx211(VisuallyHidden, { ...otherProps, children: accessibleText });
8203
+ return /* @__PURE__ */ jsx210(VisuallyHidden, { ...otherProps, children: accessibleText });
8281
8204
  };
8282
8205
  ScreenReaderOnly.displayName = "ScreenReaderOnly";
8283
8206
 
@@ -8289,8 +8212,8 @@ import {
8289
8212
  Portal as TooltipPortal,
8290
8213
  Arrow as TooltipArrow
8291
8214
  } from "@radix-ui/react-tooltip";
8292
- import styled27, { css as css22 } from "styled-components";
8293
- import { jsx as jsx212, jsxs as jsxs16 } from "react/jsx-runtime";
8215
+ import styled26, { css as css22 } from "styled-components";
8216
+ import { jsx as jsx211, jsxs as jsxs16 } from "react/jsx-runtime";
8294
8217
  var CompactTooltipStyles = css22`
8295
8218
  --tooltip-font-size: var(--wui-typography-label-4-size);
8296
8219
  --tooltip-line-height: var(--wui-typography-label-4-line-height);
@@ -8298,7 +8221,7 @@ var CompactTooltipStyles = css22`
8298
8221
  --tooltip-horizontal-padding: var(--wui-space-02);
8299
8222
  --tooltip-vertical-padding: var(--wui-space-03);
8300
8223
  `;
8301
- var StyledContent = styled27(TooltipContent)`
8224
+ var StyledContent = styled26(TooltipContent)`
8302
8225
  --tooltip-font-family: var(--wui-typography-family-default);
8303
8226
  --tooltip-border-radius: var(--wui-border-radius-05);
8304
8227
  --tooltip-bg: var(--wui-color-bg-tooltip);
@@ -8363,8 +8286,8 @@ var Tooltip = ({
8363
8286
  delayDuration: delay,
8364
8287
  ...rootProps,
8365
8288
  children: [
8366
- /* @__PURE__ */ jsx212(TooltipTrigger, { asChild: true, children }),
8367
- /* @__PURE__ */ jsx212(TooltipPortal, { children: /* @__PURE__ */ jsxs16(
8289
+ /* @__PURE__ */ jsx211(TooltipTrigger, { asChild: true, children }),
8290
+ /* @__PURE__ */ jsx211(TooltipPortal, { children: /* @__PURE__ */ jsxs16(
8368
8291
  StyledContent,
8369
8292
  {
8370
8293
  $compact: compact,
@@ -8372,7 +8295,7 @@ var Tooltip = ({
8372
8295
  sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
8373
8296
  children: [
8374
8297
  content,
8375
- !hideArrow ? /* @__PURE__ */ jsx212(TooltipArrow, { asChild: true, children: /* @__PURE__ */ jsx212(
8298
+ !hideArrow ? /* @__PURE__ */ jsx211(TooltipArrow, { asChild: true, children: /* @__PURE__ */ jsx211(
8376
8299
  "svg",
8377
8300
  {
8378
8301
  fill: "var(--tooltip-bg)",
@@ -8381,7 +8304,7 @@ var Tooltip = ({
8381
8304
  viewBox: "0 0 12 8",
8382
8305
  width: "12",
8383
8306
  xmlns: "http://www.w3.org/2000/svg",
8384
- children: /* @__PURE__ */ jsx212("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" })
8307
+ children: /* @__PURE__ */ jsx211("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" })
8385
8308
  }
8386
8309
  ) }) : null
8387
8310
  ]
@@ -8395,9 +8318,9 @@ Tooltip.displayName = "Tooltip";
8395
8318
 
8396
8319
  // src/components/Input/Input.tsx
8397
8320
  import { forwardRef as forwardRef9, cloneElement as cloneElement4, useRef as useRef3 } from "react";
8398
- import styled28, { css as css23 } from "styled-components";
8321
+ import styled27, { css as css23 } from "styled-components";
8399
8322
  import { isNil as isNil12, isNotNil as isNotNil10, isRecord as isRecord4 } from "@wistia/type-guards";
8400
- import { jsx as jsx213, jsxs as jsxs17 } from "react/jsx-runtime";
8323
+ import { jsx as jsx212, jsxs as jsxs17 } from "react/jsx-runtime";
8401
8324
  var inputStyles = css23`
8402
8325
  --wui-input-color-bg: var(--wui-color-bg-surface);
8403
8326
  --wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
@@ -8439,7 +8362,7 @@ var inputStyles = css23`
8439
8362
  }
8440
8363
  }
8441
8364
  `;
8442
- var StyledInputContainer = styled28.div`
8365
+ var StyledInputContainer = styled27.div`
8443
8366
  display: inline-flex;
8444
8367
  position: relative;
8445
8368
  ${inputStyles};
@@ -8500,7 +8423,7 @@ var Input = forwardRef9(
8500
8423
  );
8501
8424
  let leftIconToDisplay = leftIcon;
8502
8425
  if (isNil12(leftIcon) && type === "search") {
8503
- leftIconToDisplay = /* @__PURE__ */ jsx213(Icon, { type: "search" });
8426
+ leftIconToDisplay = /* @__PURE__ */ jsx212(Icon, { type: "search" });
8504
8427
  }
8505
8428
  if (isNotNil10(leftIconToDisplay)) {
8506
8429
  leftIconToDisplay = cloneElement4(leftIconToDisplay, {
@@ -8532,14 +8455,14 @@ var Input = forwardRef9(
8532
8455
  $monospace: monospace,
8533
8456
  children: [
8534
8457
  leftIconToDisplay ?? null,
8535
- type === "multiline" ? /* @__PURE__ */ jsx213(
8458
+ type === "multiline" ? /* @__PURE__ */ jsx212(
8536
8459
  "textarea",
8537
8460
  {
8538
8461
  ...props,
8539
8462
  ref,
8540
8463
  onFocus: handleFocus
8541
8464
  }
8542
- ) : /* @__PURE__ */ jsx213(
8465
+ ) : /* @__PURE__ */ jsx212(
8543
8466
  "input",
8544
8467
  {
8545
8468
  ...props,
@@ -8557,8 +8480,8 @@ var Input = forwardRef9(
8557
8480
  Input.displayName = "Input";
8558
8481
 
8559
8482
  // src/components/EditableHeading/EditableHeading.tsx
8560
- import { Fragment as Fragment5, jsx as jsx214, jsxs as jsxs18 } from "react/jsx-runtime";
8561
- var StyledInput = styled29(Input)`
8483
+ import { Fragment as Fragment5, jsx as jsx213, jsxs as jsxs18 } from "react/jsx-runtime";
8484
+ var StyledInput = styled28(Input)`
8562
8485
  :not([rows]) {
8563
8486
  min-height: unset;
8564
8487
  }
@@ -8588,7 +8511,7 @@ var editableStyles = css24`
8588
8511
  cursor: pointer;
8589
8512
  }
8590
8513
  `;
8591
- var StyledHeading2 = styled29(Heading)`
8514
+ var StyledHeading2 = styled28(Heading)`
8592
8515
  width: 100%;
8593
8516
  border-radius: var(--wui-border-radius-02);
8594
8517
  padding: var(--wui-space-02);
@@ -8642,7 +8565,7 @@ var EditableHeading = ({
8642
8565
  handleSetEditing(false);
8643
8566
  }
8644
8567
  };
8645
- const HeadingComponent2 = /* @__PURE__ */ jsx214(
8568
+ const HeadingComponent2 = /* @__PURE__ */ jsx213(
8646
8569
  StyledHeading2,
8647
8570
  {
8648
8571
  ref: headingRef,
@@ -8656,7 +8579,7 @@ var EditableHeading = ({
8656
8579
  return HeadingComponent2;
8657
8580
  }
8658
8581
  if (isEditing || forceEditing) {
8659
- return /* @__PURE__ */ jsx214(
8582
+ return /* @__PURE__ */ jsx213(
8660
8583
  StyledInput,
8661
8584
  {
8662
8585
  $height: headingHeight,
@@ -8675,7 +8598,7 @@ var EditableHeading = ({
8675
8598
  );
8676
8599
  }
8677
8600
  return /* @__PURE__ */ jsxs18(Fragment5, { children: [
8678
- /* @__PURE__ */ jsx214(
8601
+ /* @__PURE__ */ jsx213(
8679
8602
  Tooltip,
8680
8603
  {
8681
8604
  compact: true,
@@ -8683,7 +8606,7 @@ var EditableHeading = ({
8683
8606
  children: HeadingComponent2
8684
8607
  }
8685
8608
  ),
8686
- /* @__PURE__ */ jsx214(ScreenReaderOnly, { children: /* @__PURE__ */ jsx214(
8609
+ /* @__PURE__ */ jsx213(ScreenReaderOnly, { children: /* @__PURE__ */ jsx213(
8687
8610
  "button",
8688
8611
  {
8689
8612
  "aria-label": ariaLabel,
@@ -8696,27 +8619,30 @@ var EditableHeading = ({
8696
8619
 
8697
8620
  // src/components/Form/Form.tsx
8698
8621
  import { forwardRef as forwardRef11, useRef as useRef5, useMemo as useMemo4, createContext as createContext2, useState as useState6, useId as useId2 } from "react";
8699
- import styled31 from "styled-components";
8622
+ import styled30 from "styled-components";
8700
8623
  import { isNotUndefined as isNotUndefined6, isUndefined as isUndefined3 } from "@wistia/type-guards";
8701
8624
 
8702
8625
  // src/components/Stack/Stack.tsx
8703
8626
  import { forwardRef as forwardRef10 } from "react";
8704
- import styled30 from "styled-components";
8705
- import { jsx as jsx215 } from "react/jsx-runtime";
8627
+ import styled29 from "styled-components";
8628
+ import { jsx as jsx214 } from "react/jsx-runtime";
8706
8629
  var DEFAULT_ELEMENT4 = "div";
8707
- var StyledStack = styled30.div`
8630
+ var StyledStack = styled29.div`
8708
8631
  display: flex;
8709
8632
  flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
8710
8633
  gap: ${({ $gap }) => `var(--wui-${$gap})`};
8634
+ align-items: ${({ $alignItems }) => $alignItems};
8711
8635
  `;
8712
8636
  var StackComponent = forwardRef10(
8713
- ({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
8637
+ ({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
8714
8638
  const responsiveGap = useResponsiveProp(gap);
8715
8639
  const responsiveDirection = useResponsiveProp(direction);
8716
- return /* @__PURE__ */ jsx215(
8640
+ const responsiveAlignItems = useResponsiveProp(alignItems);
8641
+ return /* @__PURE__ */ jsx214(
8717
8642
  StyledStack,
8718
8643
  {
8719
8644
  ref,
8645
+ $alignItems: responsiveAlignItems,
8720
8646
  $direction: responsiveDirection,
8721
8647
  $gap: responsiveGap,
8722
8648
  as: renderAs ?? DEFAULT_ELEMENT4,
@@ -8729,8 +8655,8 @@ StackComponent.displayName = "Stack";
8729
8655
  var Stack = makePolymorphic(StackComponent);
8730
8656
 
8731
8657
  // src/components/Form/Form.tsx
8732
- import { jsx as jsx216 } from "react/jsx-runtime";
8733
- var StyledForm = styled31.form`
8658
+ import { jsx as jsx215 } from "react/jsx-runtime";
8659
+ var StyledForm = styled30.form`
8734
8660
  --form-default-width: 690px;
8735
8661
 
8736
8662
  max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
@@ -8809,7 +8735,7 @@ var FormComponent = ({
8809
8735
  }, [labelPosition, values, errors, id, hasSubmitted]);
8810
8736
  return (
8811
8737
  // @ts-expect-error - generic context providers are a giant pain
8812
- /* @__PURE__ */ jsx216(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx216(
8738
+ /* @__PURE__ */ jsx215(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx215(
8813
8739
  Stack,
8814
8740
  {
8815
8741
  ...props,
@@ -8868,9 +8794,9 @@ var useFormState = (action, initialData = {}) => {
8868
8794
  // src/components/Form/FormErrorSummary.tsx
8869
8795
  import { useContext as useContext2, useRef as useRef6 } from "react";
8870
8796
  import { isArray, isNotUndefined as isNotUndefined7 } from "@wistia/type-guards";
8871
- import { jsx as jsx217, jsxs as jsxs19 } from "react/jsx-runtime";
8797
+ import { jsx as jsx216, jsxs as jsxs19 } from "react/jsx-runtime";
8872
8798
  var ErrorItem = ({ name, error, formId }) => {
8873
- return /* @__PURE__ */ jsx217("li", { children: /* @__PURE__ */ jsx217(Link, { href: `#${formId}-${name}`, children: error }) }, name);
8799
+ return /* @__PURE__ */ jsx216("li", { children: /* @__PURE__ */ jsx216(Link, { href: `#${formId}-${name}`, children: error }) }, name);
8874
8800
  };
8875
8801
  var FormErrorSummary = ({ description }) => {
8876
8802
  const ref = useRef6(null);
@@ -8880,9 +8806,9 @@ var FormErrorSummary = ({ description }) => {
8880
8806
  return null;
8881
8807
  }
8882
8808
  return /* @__PURE__ */ jsxs19("div", { ref, children: [
8883
- /* @__PURE__ */ jsx217("p", { children: description }),
8884
- /* @__PURE__ */ jsx217("ul", { children: Object.entries(errors).filter(([, error]) => isNotUndefined7(error)).map(
8885
- ([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */ jsx217(
8809
+ /* @__PURE__ */ jsx216("p", { children: description }),
8810
+ /* @__PURE__ */ jsx216("ul", { children: Object.entries(errors).filter(([, error]) => isNotUndefined7(error)).map(
8811
+ ([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */ jsx216(
8886
8812
  ErrorItem,
8887
8813
  {
8888
8814
  error: err,
@@ -8890,7 +8816,7 @@ var FormErrorSummary = ({ description }) => {
8890
8816
  name
8891
8817
  },
8892
8818
  err
8893
- )) : /* @__PURE__ */ jsx217(
8819
+ )) : /* @__PURE__ */ jsx216(
8894
8820
  ErrorItem,
8895
8821
  {
8896
8822
  error: error ?? "",
@@ -8908,6 +8834,62 @@ import { Children as Children5, cloneElement as cloneElement5, useContext as use
8908
8834
  import styled33 from "styled-components";
8909
8835
  import { isArray as isArray2, isNotNil as isNotNil11, isNotUndefined as isNotUndefined8, isUndefined as isUndefined4 } from "@wistia/type-guards";
8910
8836
 
8837
+ // src/components/Label/Label.tsx
8838
+ import styled31, { css as css25 } from "styled-components";
8839
+ import { jsx as jsx217 } from "react/jsx-runtime";
8840
+ var requiredStyle = css25`
8841
+ &::after {
8842
+ color: var(--wui-color-text-error);
8843
+ display: inline;
8844
+ padding-left: var(--wui-space-01);
8845
+ content: '*';
8846
+ }
8847
+ `;
8848
+ var disabledStyle2 = css25`
8849
+ color: var(--wui-color-text-disabled);
8850
+ `;
8851
+ var StyledLabel4 = styled31(Heading).attrs({
8852
+ variant: "heading6",
8853
+ renderAs: "label"
8854
+ })`
8855
+ display: block;
8856
+ width: 100%;
8857
+
8858
+ /* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
8859
+ > input,
8860
+ > textarea,
8861
+ > select {
8862
+ display: block;
8863
+ }
8864
+
8865
+ > label {
8866
+ font-weight: normal;
8867
+ }
8868
+
8869
+ ${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
8870
+ ${({ $disabled }) => $disabled && disabledStyle2}
8871
+ ${({ $required }) => $required && requiredStyle}
8872
+ `;
8873
+ var Label = ({
8874
+ children,
8875
+ disabled = false,
8876
+ htmlFor,
8877
+ required = false,
8878
+ screenReaderOnly = false,
8879
+ ...otherProps
8880
+ }) => /* @__PURE__ */ jsx217(
8881
+ StyledLabel4,
8882
+ {
8883
+ ...otherProps,
8884
+ $disabled: disabled,
8885
+ $required: required,
8886
+ $screenReaderOnly: screenReaderOnly,
8887
+ htmlFor,
8888
+ children
8889
+ }
8890
+ );
8891
+ Label.displayName = "Label";
8892
+
8911
8893
  // src/components/FormGroup/CheckboxGroup.tsx
8912
8894
  import { createContext as createContext3, useMemo as useMemo5 } from "react";
8913
8895
 
@@ -9203,7 +9185,7 @@ var Image = ({
9203
9185
  Image.displayName = "Image";
9204
9186
 
9205
9187
  // src/components/Menu/Menu.tsx
9206
- import styled36, { css as css25, keyframes as keyframes2 } from "styled-components";
9188
+ import styled36, { css as css26, keyframes as keyframes2 } from "styled-components";
9207
9189
  import {
9208
9190
  DropdownMenu,
9209
9191
  DropdownMenuTrigger,
@@ -9240,7 +9222,7 @@ var close = keyframes2`
9240
9222
  transform: scale(.97) translateY(-8px);
9241
9223
  }
9242
9224
  `;
9243
- var menuItemCss = css25`
9225
+ var menuItemCss = css26`
9244
9226
  --menu-label-description-gap: var(--wui-space-01);
9245
9227
  --menu-item-inner-gap: var(--wui-space-03);
9246
9228
  --menu-item-left-icon-size: 24px;
@@ -9251,7 +9233,7 @@ var menuItemCss = css25`
9251
9233
  --menu-label-line-height: var(--wui-typography-label-3-line-height);
9252
9234
  --menu-divider-margin: var(--wui-space-02);
9253
9235
  `;
9254
- var compactMenuItemCss = css25`
9236
+ var compactMenuItemCss = css26`
9255
9237
  --menu-label-description-gap: 0;
9256
9238
  --menu-item-inner-gap: var(--wui-space-02);
9257
9239
  --menu-item-left-icon-size: 16px;
@@ -9262,7 +9244,7 @@ var compactMenuItemCss = css25`
9262
9244
  --menu-label-line-height: var(--wui-typography-label-4-line-height);
9263
9245
  --menu-divider-margin: var(--wui-space-01);
9264
9246
  `;
9265
- var menuContentCss = css25`
9247
+ var menuContentCss = css26`
9266
9248
  --menu-font-family: var(--wui-typography-family-default);
9267
9249
  --menu-bg: var(--wui-color-bg-surface);
9268
9250
  --menu-shadow: var(--wui-elevation-01);
@@ -9688,7 +9670,7 @@ import {
9688
9670
  DropdownMenuCheckboxItem
9689
9671
  } from "@radix-ui/react-dropdown-menu";
9690
9672
  import { jsx as jsx232, jsxs as jsxs26 } from "react/jsx-runtime";
9691
- var CheckboxIndicator2 = ({ checked, ...props }) => {
9673
+ var CheckboxIndicator = ({ checked, ...props }) => {
9692
9674
  return checked ? /* @__PURE__ */ jsxs26(
9693
9675
  "svg",
9694
9676
  {
@@ -9760,7 +9742,7 @@ var CheckboxMenuItem = ({
9760
9742
  MenuItemButton,
9761
9743
  {
9762
9744
  ...props,
9763
- leftIcon: /* @__PURE__ */ jsx232(CheckboxIndicator2, { checked })
9745
+ leftIcon: /* @__PURE__ */ jsx232(CheckboxIndicator, { checked })
9764
9746
  }
9765
9747
  )
9766
9748
  }
@@ -10034,7 +10016,7 @@ Modal.displayName = "Modal";
10034
10016
 
10035
10017
  // src/components/Popover/Popover.tsx
10036
10018
  import { Root as Root2, Trigger as Trigger2, Portal, Content as Content2, Close } from "@radix-ui/react-popover";
10037
- import styled46, { css as css26 } from "styled-components";
10019
+ import styled46, { css as css27 } from "styled-components";
10038
10020
 
10039
10021
  // src/private/helpers/getControls/getControlProps.tsx
10040
10022
  import { isNotNil as isNotNil18 } from "@wistia/type-guards";
@@ -10045,7 +10027,7 @@ var getControlProps = (isOpen, onOpenChange) => {
10045
10027
  // src/components/Popover/Popover.tsx
10046
10028
  import { jsx as jsx238, jsxs as jsxs29 } from "react/jsx-runtime";
10047
10029
  var StyledContent2 = styled46(Content2)`
10048
- ${({ $unstyled }) => !$unstyled && css26`
10030
+ ${({ $unstyled }) => !$unstyled && css27`
10049
10031
  border-radius: var(--wui-border-radius-02);
10050
10032
  padding: var(--wui-space-04);
10051
10033
  max-width: 320px;
@@ -10176,7 +10158,7 @@ ProgressBar.displayName = "ProgressBar";
10176
10158
 
10177
10159
  // src/components/Radio/Radio.tsx
10178
10160
  import { forwardRef as forwardRef18, useId as useId3 } from "react";
10179
- import styled48, { css as css27 } from "styled-components";
10161
+ import styled48, { css as css28 } from "styled-components";
10180
10162
  import { isNonEmptyString as isNonEmptyString3 } from "@wistia/type-guards";
10181
10163
  import { jsx as jsx240, jsxs as jsxs31 } from "react/jsx-runtime";
10182
10164
  var StyledLabelWrapper2 = styled48.div`
@@ -10210,11 +10192,11 @@ var StyledRadio = styled48.input`
10210
10192
  transform: scale(1);
10211
10193
  }
10212
10194
  `;
10213
- var disabledStyle2 = css27`
10195
+ var disabledStyle3 = css28`
10214
10196
  cursor: not-allowed;
10215
10197
  opacity: 0.5;
10216
10198
  `;
10217
- var errorStyle = css27`
10199
+ var errorStyle = css28`
10218
10200
  /* TODO Lamp to design error state */
10219
10201
  &:hover,
10220
10202
  &:focus,
@@ -10222,7 +10204,7 @@ var errorStyle = css27`
10222
10204
  border-color: transparent !important;
10223
10205
  }
10224
10206
  `;
10225
- var defaultHoverStyle = css27`
10207
+ var defaultHoverStyle = css28`
10226
10208
  /* TODO Lamp to design hover state */
10227
10209
  cursor: pointer;
10228
10210
  `;
@@ -10247,7 +10229,7 @@ var StyledRadioWrapper = styled48.div`
10247
10229
  ${errorStyle};
10248
10230
  }
10249
10231
 
10250
- ${({ disabled }) => disabled && disabledStyle2};
10232
+ ${({ disabled }) => disabled && disabledStyle3};
10251
10233
  `;
10252
10234
  var Radio = forwardRef18(
10253
10235
  ({
@@ -10306,7 +10288,7 @@ Radio.displayName = "Radio";
10306
10288
 
10307
10289
  // src/components/SegmentedControl/SegmentedControl.tsx
10308
10290
  import { forwardRef as forwardRef19 } from "react";
10309
- import styled50, { css as css28 } from "styled-components";
10291
+ import styled50, { css as css29 } from "styled-components";
10310
10292
  import { Root as ToggleGroupRoot } from "@radix-ui/react-toggle-group";
10311
10293
  import { isNil as isNil13 } from "@wistia/type-guards";
10312
10294
 
@@ -10397,7 +10379,7 @@ var SelectedItemIndicator = () => {
10397
10379
 
10398
10380
  // src/components/SegmentedControl/SegmentedControl.tsx
10399
10381
  import { jsx as jsx243, jsxs as jsxs32 } from "react/jsx-runtime";
10400
- var segmentedControlStyles = css28`
10382
+ var segmentedControlStyles = css29`
10401
10383
  display: inline-flex;
10402
10384
  background-color: var(--wui-color-bg-surface-secondary);
10403
10385
  border-radius: var(--wui-border-radius-rounded);
@@ -10446,7 +10428,7 @@ SegmentedControl.displayName = "SegmentedControl";
10446
10428
 
10447
10429
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10448
10430
  import { forwardRef as forwardRef20, useEffect as useEffect6, useRef as useRef9 } from "react";
10449
- import styled51, { css as css29 } from "styled-components";
10431
+ import styled51, { css as css30 } from "styled-components";
10450
10432
  import { Item as ToggleGroupItem } from "@radix-ui/react-toggle-group";
10451
10433
  import { isNotNil as isNotNil21 } from "@wistia/type-guards";
10452
10434
 
@@ -10466,7 +10448,7 @@ var mergeRefs = (refs) => (value) => {
10466
10448
 
10467
10449
  // src/components/SegmentedControl/SegmentedControlItem.tsx
10468
10450
  import { jsxs as jsxs33 } from "react/jsx-runtime";
10469
- var segmentedControlItemStyles = css29`
10451
+ var segmentedControlItemStyles = css30`
10470
10452
  all: unset; /* ToggleGroupItem is a button element */
10471
10453
  align-items: center;
10472
10454
  border-radius: var(--wui-border-radius-rounded);
@@ -10770,12 +10752,12 @@ SelectOption.displayName = "Option";
10770
10752
  import { Group, Label as Label2 } from "@radix-ui/react-select";
10771
10753
  import styled54 from "styled-components";
10772
10754
  import { jsx as jsx246, jsxs as jsxs36 } from "react/jsx-runtime";
10773
- var StyledLabel4 = styled54(Label2)`
10755
+ var StyledLabel5 = styled54(Label2)`
10774
10756
  padding: var(--wui-select-option-padding);
10775
10757
  `;
10776
10758
  var SelectOptionGroup = ({ children, label, ...props }) => {
10777
10759
  return /* @__PURE__ */ jsxs36(Group, { ...props, children: [
10778
- /* @__PURE__ */ jsx246(StyledLabel4, { children: /* @__PURE__ */ jsx246(
10760
+ /* @__PURE__ */ jsx246(StyledLabel5, { children: /* @__PURE__ */ jsx246(
10779
10761
  Text,
10780
10762
  {
10781
10763
  prominence: "secondary",
@@ -10788,19 +10770,19 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
10788
10770
  };
10789
10771
 
10790
10772
  // src/components/Table/Table.tsx
10791
- import styled55, { css as css30 } from "styled-components";
10773
+ import styled55, { css as css31 } from "styled-components";
10792
10774
  import { jsx as jsx247 } from "react/jsx-runtime";
10793
10775
  var StyledTable = styled55.table`
10794
10776
  width: 100%;
10795
10777
  border-collapse: collapse;
10796
10778
 
10797
- ${({ $striped }) => $striped && css30`
10779
+ ${({ $striped }) => $striped && css31`
10798
10780
  tbody tr:nth-child(even) {
10799
10781
  background-color: var(--wui-color-bg-surface-secondary);
10800
10782
  }
10801
10783
  `}
10802
10784
 
10803
- ${({ $divided }) => $divided && css30`
10785
+ ${({ $divided }) => $divided && css31`
10804
10786
  tr {
10805
10787
  border-bottom: 1px solid var(--wui-color-border);
10806
10788
  }
@@ -10839,9 +10821,9 @@ var TableBody = ({ children, ...props }) => {
10839
10821
 
10840
10822
  // src/components/Table/TableCell.tsx
10841
10823
  import { useContext as useContext7 } from "react";
10842
- import styled57, { css as css31 } from "styled-components";
10824
+ import styled57, { css as css32 } from "styled-components";
10843
10825
  import { jsx as jsx249 } from "react/jsx-runtime";
10844
- var sharedStyles = css31`
10826
+ var sharedStyles = css32`
10845
10827
  color: var(--wui-color-text);
10846
10828
  padding: var(--wui-space-02);
10847
10829
  text-align: left;
@@ -11346,7 +11328,7 @@ var Tag = forwardRef26(
11346
11328
  Tag.displayName = "Tag";
11347
11329
 
11348
11330
  // src/components/WistiaLogo/WistiaLogo.tsx
11349
- import styled67, { css as css32 } from "styled-components";
11331
+ import styled67, { css as css33 } from "styled-components";
11350
11332
  import { isNotNil as isNotNil25 } from "@wistia/type-guards";
11351
11333
  import { jsx as jsx259, jsxs as jsxs40 } from "react/jsx-runtime";
11352
11334
  var renderBrandmark = (brandmarkColor, iconOnly) => {
@@ -11404,12 +11386,12 @@ var WistiaLogoComponent = styled67.svg`
11404
11386
  ${({ $opticallyCentered, $iconOnly }) => {
11405
11387
  if ($opticallyCentered) {
11406
11388
  if ($iconOnly) {
11407
- return css32`
11389
+ return css33`
11408
11390
  aspect-ratio: 1;
11409
11391
  padding: 11.85% 3.12% 13.91%;
11410
11392
  `;
11411
11393
  }
11412
- return css32`
11394
+ return css33`
11413
11395
  aspect-ratio: 127 / 32;
11414
11396
  `;
11415
11397
  }