@wistia/ui 0.18.18 → 0.19.0-beta.e04d42c5.ec25c59

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.18.18
3
+ * @license @wistia/ui v0.19.0-beta.e04d42c5.ec25c59
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -15075,11 +15075,23 @@ var FormErrorSummary = ({ description }) => {
15075
15075
 
15076
15076
  // src/components/FormField/FormField.tsx
15077
15077
  import { Children as Children10, cloneElement as cloneElement8, useContext as useContext13 } from "react";
15078
- import { styled as styled68 } from "styled-components";
15078
+ import { styled as styled68, css as css36 } from "styled-components";
15079
15079
  import { isArray as isArray4, isNotNil as isNotNil28, isNotUndefined as isNotUndefined12, isUndefined as isUndefined4 } from "@wistia/type-guards";
15080
- import { Fragment as Fragment9, jsx as jsx293, jsxs as jsxs47 } from "react/jsx-runtime";
15080
+ import { jsx as jsx293, jsxs as jsxs47 } from "react/jsx-runtime";
15081
+ var inlineErrorStyles = css36`
15082
+ grid-template-rows: 1fr auto;
15083
+ grid-template-areas: 'label-description input' '. error';
15084
+ `;
15085
+ var inlineBaseGridAreaStyles = css36`
15086
+ grid-template-rows: 1fr;
15087
+ grid-template-areas: 'label-description input';
15088
+ `;
15089
+ var blockGridErrorStyles = css36`
15090
+ grid-template-rows: auto 1fr auto;
15091
+ grid-template-areas: 'label-description' 'input' 'error';
15092
+ `;
15081
15093
  var StyledFormField = styled68.div`
15082
- --form-field-spacing: var(--wui-space-01);
15094
+ --form-field-spacing: var(--wui-space-02);
15083
15095
  --form-field-spacing-inline: var(--wui-space-02);
15084
15096
  --form-field-error-color: var(--wui-color-text-secondary-error);
15085
15097
 
@@ -15093,21 +15105,28 @@ var StyledFormField = styled68.div`
15093
15105
  &[data-label-position='inline-compact'] {
15094
15106
  gap: var(--form-field-spacing-inline);
15095
15107
  grid-template-columns: auto 1fr;
15096
- grid-template-rows: 1fr auto;
15108
+ ${inlineBaseGridAreaStyles}
15109
+ ${({ $hasError }) => $hasError && inlineErrorStyles}
15097
15110
  }
15098
15111
 
15099
15112
  &[data-label-position='inline'] {
15100
15113
  gap: var(--form-field-spacing-inline);
15101
15114
  grid-template-columns: minmax(auto, 1fr) 1fr;
15102
- grid-template-rows: 1fr auto;
15115
+ ${inlineBaseGridAreaStyles}
15116
+ ${({ $hasError }) => $hasError && inlineErrorStyles}
15103
15117
  }
15104
15118
 
15105
15119
  &[data-label-position='block'] {
15106
15120
  gap: var(--form-field-spacing);
15107
15121
  grid-template-columns: 1fr;
15108
- grid-template-rows: 1fr;
15122
+ grid-template-rows: auto 1fr;
15123
+ grid-template-areas: 'label-description' 'input';
15124
+ ${({ $hasError }) => $hasError && blockGridErrorStyles}
15109
15125
  }
15110
15126
  `;
15127
+ var ErrorText = styled68(Text)`
15128
+ grid-area: error;
15129
+ `;
15111
15130
  var StyledErrorList = styled68.ul`
15112
15131
  margin: 0;
15113
15132
  padding: 0;
@@ -15115,13 +15134,14 @@ var StyledErrorList = styled68.ul`
15115
15134
  display: flex;
15116
15135
  flex-direction: column;
15117
15136
  gap: var(--wui-space-01);
15137
+ grid-area: error;
15118
15138
  `;
15119
15139
  var ErrorMessages = ({ errors, id }) => {
15120
15140
  const isErrorArray = isArray4(errors);
15121
15141
  const isMultipleErrors = isErrorArray && errors.length > 1;
15122
15142
  if (!isErrorArray) {
15123
15143
  return /* @__PURE__ */ jsx293(
15124
- Text,
15144
+ ErrorText,
15125
15145
  {
15126
15146
  colorScheme: "error",
15127
15147
  id,
@@ -15134,7 +15154,7 @@ var ErrorMessages = ({ errors, id }) => {
15134
15154
  }
15135
15155
  if (!isMultipleErrors) {
15136
15156
  return /* @__PURE__ */ jsx293(
15137
- Text,
15157
+ ErrorText,
15138
15158
  {
15139
15159
  colorScheme: "error",
15140
15160
  id,
@@ -15179,12 +15199,16 @@ var FormField = ({
15179
15199
  const descriptionId = `${computedId}-description`;
15180
15200
  const errorId = `${computedId}-error`;
15181
15201
  const ariaDescribedby = [descriptionId, errorId].filter(Boolean).join(" ") || void 0;
15202
+ const hasDescription = isNotNil28(description);
15203
+ const hasError = isNotNil28(computedError);
15204
+ const shouldRenderLabelDescriptionWrapper = !isIntegratedLabel || hasDescription;
15182
15205
  let childProps = {
15183
15206
  name,
15184
15207
  id: computedId,
15185
15208
  label: isIntegratedLabel ? label : void 0,
15186
15209
  "aria-describedby": ariaDescribedby,
15187
- "aria-invalid": isNotNil28(computedError),
15210
+ "aria-invalid": hasError,
15211
+ style: { gridArea: "input" },
15188
15212
  ...props
15189
15213
  };
15190
15214
  if (isUndefined4(value) && isNotUndefined12(defaultValue)) {
@@ -15214,28 +15238,38 @@ var FormField = ({
15214
15238
  StyledFormField,
15215
15239
  {
15216
15240
  ...props,
15241
+ $hasError: hasError,
15217
15242
  "data-label-position": labelPosition ?? formState.labelPosition,
15218
15243
  children: [
15219
- !isIntegratedLabel && /* @__PURE__ */ jsx293(
15220
- Label,
15244
+ shouldRenderLabelDescriptionWrapper ? /* @__PURE__ */ jsxs47(
15245
+ Stack,
15221
15246
  {
15222
- htmlFor: computedId,
15223
- required,
15224
- children: label
15247
+ direction: "vertical",
15248
+ gap: "space-01",
15249
+ style: {
15250
+ gridArea: "label-description"
15251
+ },
15252
+ children: [
15253
+ !isIntegratedLabel && /* @__PURE__ */ jsx293(
15254
+ Label,
15255
+ {
15256
+ htmlFor: computedId,
15257
+ required,
15258
+ children: label
15259
+ }
15260
+ ),
15261
+ hasDescription ? /* @__PURE__ */ jsx293(FormControlLabelDescription, { id: descriptionId, children: description }) : null
15262
+ ]
15225
15263
  }
15226
- ),
15227
- isNotNil28(description) ? /* @__PURE__ */ jsx293(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
15264
+ ) : null,
15228
15265
  cloneElement8(children, childProps),
15229
- isNotNil28(computedError) ? /* @__PURE__ */ jsxs47(Fragment9, { children: [
15230
- /* @__PURE__ */ jsx293("div", {}),
15231
- /* @__PURE__ */ jsx293(
15232
- ErrorMessages,
15233
- {
15234
- errors: computedError,
15235
- id: errorId
15236
- }
15237
- )
15238
- ] }) : null
15266
+ hasError ? /* @__PURE__ */ jsx293(
15267
+ ErrorMessages,
15268
+ {
15269
+ errors: computedError,
15270
+ id: errorId
15271
+ }
15272
+ ) : null
15239
15273
  ]
15240
15274
  }
15241
15275
  );
@@ -15271,24 +15305,24 @@ RadioGroup.displayName = "RadioGroup_UI";
15271
15305
 
15272
15306
  // src/components/Grid/Grid.tsx
15273
15307
  import { forwardRef as forwardRef22 } from "react";
15274
- import { styled as styled69, css as css36 } from "styled-components";
15308
+ import { styled as styled69, css as css37 } from "styled-components";
15275
15309
  import { isRecord as isRecord5 } from "@wistia/type-guards";
15276
15310
  import { jsx as jsx295 } from "react/jsx-runtime";
15277
15311
  var DEFAULT_ELEMENT5 = "div";
15278
15312
  var getGridTemplateColumns = (maxColumns, minChildWidth, expandItems) => {
15279
15313
  if (minChildWidth === "auto" && maxColumns === "auto") {
15280
- return css36`
15314
+ return css37`
15281
15315
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
15282
15316
  `;
15283
15317
  }
15284
15318
  const gridMode = expandItems ? "auto-fit" : "auto-fill";
15285
15319
  const minChildWidthValue = minChildWidth === "auto" ? 0 : minChildWidth;
15286
15320
  if (maxColumns === "auto") {
15287
- return css36`
15321
+ return css37`
15288
15322
  grid-template-columns: repeat(${gridMode}, minmax(${minChildWidthValue}px, 1fr));
15289
15323
  `;
15290
15324
  }
15291
- return css36`
15325
+ return css37`
15292
15326
  /* Adapted from https://9elements.com/blog/building-a-rock-solid-auto-grid/ */
15293
15327
  --wui-grid-total-column-gap-width: calc(${maxColumns - 1} * var(--wui-grid-column-gap));
15294
15328
  --wui-grid-max-column-width: calc(
@@ -15572,7 +15606,7 @@ KeyboardShortcut.displayName = "KeyboardShortcut_UI";
15572
15606
 
15573
15607
  // src/components/List/List.tsx
15574
15608
  import { isNotNil as isNotNil30 } from "@wistia/type-guards";
15575
- import { styled as styled74, css as css37 } from "styled-components";
15609
+ import { styled as styled74, css as css38 } from "styled-components";
15576
15610
 
15577
15611
  // src/components/List/ListItem.tsx
15578
15612
  import { styled as styled73 } from "styled-components";
@@ -15591,7 +15625,7 @@ ListItem.displayName = "ListItem_UI";
15591
15625
 
15592
15626
  // src/components/List/List.tsx
15593
15627
  import { jsx as jsx300, jsxs as jsxs49 } from "react/jsx-runtime";
15594
- var spacesStyle = css37`
15628
+ var spacesStyle = css38`
15595
15629
  overflow: hidden;
15596
15630
  padding-left: 0;
15597
15631
  vertical-align: bottom;
@@ -15613,7 +15647,7 @@ var spacesStyle = css37`
15613
15647
  }
15614
15648
  }
15615
15649
  `;
15616
- var commasStyle = css37`
15650
+ var commasStyle = css38`
15617
15651
  ${spacesStyle};
15618
15652
 
15619
15653
  li {
@@ -15623,7 +15657,7 @@ var commasStyle = css37`
15623
15657
  }
15624
15658
  }
15625
15659
  `;
15626
- var slashesStyle = css37`
15660
+ var slashesStyle = css38`
15627
15661
  ${spacesStyle};
15628
15662
 
15629
15663
  li {
@@ -15634,7 +15668,7 @@ var slashesStyle = css37`
15634
15668
  }
15635
15669
  }
15636
15670
  `;
15637
- var breadcrumbsStyle = css37`
15671
+ var breadcrumbsStyle = css38`
15638
15672
  ${spacesStyle};
15639
15673
 
15640
15674
  li {
@@ -15645,7 +15679,7 @@ var breadcrumbsStyle = css37`
15645
15679
  }
15646
15680
  }
15647
15681
  `;
15648
- var unbulletedStyle = css37`
15682
+ var unbulletedStyle = css38`
15649
15683
  list-style: none;
15650
15684
  padding-left: 0;
15651
15685
  `;
@@ -15827,7 +15861,7 @@ var ModalHeader = ({
15827
15861
 
15828
15862
  // src/components/Modal/ModalContent.tsx
15829
15863
  import { forwardRef as forwardRef25 } from "react";
15830
- import { styled as styled78, css as css38, keyframes as keyframes5 } from "styled-components";
15864
+ import { styled as styled78, css as css39, keyframes as keyframes5 } from "styled-components";
15831
15865
  import { Content as DialogContent } from "@radix-ui/react-dialog";
15832
15866
 
15833
15867
  // src/private/hooks/useFocusRestore/useFocusRestore.ts
@@ -15873,7 +15907,7 @@ var modalExit = keyframes5`
15873
15907
  transform: translateX(-50%) translateY(calc(var(--wui-modal-translate-y) + 24px));
15874
15908
  }
15875
15909
  `;
15876
- var centeredModalStyles = css38`
15910
+ var centeredModalStyles = css39`
15877
15911
  --wui-modal-screen-offset: var(--wui-space-05);
15878
15912
  --wui-modal-translate-y: -50%;
15879
15913
 
@@ -15889,7 +15923,7 @@ var centeredModalStyles = css38`
15889
15923
  animation: ${modalExit} var(--wui-motion-duration-03) var(--wui-motion-ease-out);
15890
15924
  }
15891
15925
  `;
15892
- var fixedTopModalStyles = css38`
15926
+ var fixedTopModalStyles = css39`
15893
15927
  --wui-modal-screen-offset-top: 15vh;
15894
15928
  --wui-modal-screen-offset-bottom: 5vh;
15895
15929
  --wui-modal-translate-y: 0%;
@@ -15930,7 +15964,7 @@ var slideOutRight = keyframes5`
15930
15964
  transform: translateX(100%);
15931
15965
  }
15932
15966
  `;
15933
- var rightSidePanelModalStyles = css38`
15967
+ var rightSidePanelModalStyles = css39`
15934
15968
  --wui-modal-screen-offset: var(--wui-space-05);
15935
15969
 
15936
15970
  height: calc(100vh - var(--wui-modal-screen-offset) * 2);
@@ -16128,7 +16162,7 @@ ModalCallout.displayName = "ModalCallout_UI";
16128
16162
 
16129
16163
  // src/components/Popover/Popover.tsx
16130
16164
  import { Root as Root2, Trigger as Trigger2, Portal, Content as Content2, Close } from "@radix-ui/react-popover";
16131
- import { styled as styled82, css as css40 } from "styled-components";
16165
+ import { styled as styled82, css as css41 } from "styled-components";
16132
16166
 
16133
16167
  // src/private/helpers/getControls/getControlProps.tsx
16134
16168
  import { isNotNil as isNotNil33 } from "@wistia/type-guards";
@@ -16138,7 +16172,7 @@ var getControlProps = (isOpen, onOpenChange) => {
16138
16172
 
16139
16173
  // src/components/Popover/PopoverArrow.tsx
16140
16174
  import { PopoverArrow as RadixPopoverArrow } from "@radix-ui/react-popover";
16141
- import { styled as styled81, css as css39, keyframes as keyframes7 } from "styled-components";
16175
+ import { styled as styled81, css as css40, keyframes as keyframes7 } from "styled-components";
16142
16176
  import { jsx as jsx307, jsxs as jsxs53 } from "react/jsx-runtime";
16143
16177
  var StyledPath = styled81.path`
16144
16178
  fill: var(--wui-color-border-secondary);
@@ -16172,7 +16206,7 @@ var StyledCircle = styled81.circle`
16172
16206
  }
16173
16207
 
16174
16208
  @media (prefers-reduced-motion: no-preference) {
16175
- ${({ $isAnimated }) => $isAnimated && css39`
16209
+ ${({ $isAnimated }) => $isAnimated && css40`
16176
16210
  animation-name: ${circleAnimation};
16177
16211
  `}
16178
16212
  }
@@ -16221,7 +16255,7 @@ import { jsx as jsx308, jsxs as jsxs54 } from "react/jsx-runtime";
16221
16255
  var StyledContent2 = styled82(Content2)`
16222
16256
  z-index: var(--wui-zindex-popover);
16223
16257
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
16224
- ${({ $unstyled }) => !$unstyled && css40`
16258
+ ${({ $unstyled }) => !$unstyled && css41`
16225
16259
  border-radius: var(--wui-border-radius-02);
16226
16260
  padding: var(--wui-space-04);
16227
16261
  max-width: var(--wui-popover-max-width, 320px);
@@ -16371,17 +16405,17 @@ ProgressBar.displayName = "ProgressBar_UI";
16371
16405
  // src/components/Radio/Radio.tsx
16372
16406
  import { isNonEmptyString as isNonEmptyString7, isNotUndefined as isNotUndefined13 } from "@wistia/type-guards";
16373
16407
  import { forwardRef as forwardRef27, useId as useId5 } from "react";
16374
- import { styled as styled84, css as css41 } from "styled-components";
16408
+ import { styled as styled84, css as css42 } from "styled-components";
16375
16409
  import { jsx as jsx310, jsxs as jsxs56 } from "react/jsx-runtime";
16376
- var sizeSmall2 = css41`
16410
+ var sizeSmall2 = css42`
16377
16411
  --wui-radio-size: 14px;
16378
16412
  --wui-radio-icon-size: 7px;
16379
16413
  `;
16380
- var sizeMedium2 = css41`
16414
+ var sizeMedium2 = css42`
16381
16415
  --wui-radio-size: 16px;
16382
16416
  --wui-radio-icon-size: 8px;
16383
16417
  `;
16384
- var sizeLarge2 = css41`
16418
+ var sizeLarge2 = css42`
16385
16419
  --wui-radio-size: 20px;
16386
16420
  --wui-radio-icon-size: 10px;
16387
16421
  `;
@@ -16522,17 +16556,17 @@ import { forwardRef as forwardRef29 } from "react";
16522
16556
 
16523
16557
  // src/components/RadioCard/RadioCardRoot.tsx
16524
16558
  import { forwardRef as forwardRef28, useId as useId6 } from "react";
16525
- import { styled as styled85, css as css42 } from "styled-components";
16559
+ import { styled as styled85, css as css43 } from "styled-components";
16526
16560
  import { isNonEmptyString as isNonEmptyString8, isNotUndefined as isNotUndefined14 } from "@wistia/type-guards";
16527
16561
  import { jsx as jsx311, jsxs as jsxs57 } from "react/jsx-runtime";
16528
- var checkedStyles = css42`
16562
+ var checkedStyles = css43`
16529
16563
  --wui-radio-card-border-color: var(--wui-color-focus-ring);
16530
16564
  --wui-color-icon: var(--wui-color-icon-selected);
16531
16565
  --wui-radio-card-background-color: var(--wui-color-bg-surface-info);
16532
16566
  --wui-color-text: var(--wui-color-text-info);
16533
16567
  --wui-color-text-secondary: var(--wui-color-text-info);
16534
16568
  `;
16535
- var disabledStyles = css42`
16569
+ var disabledStyles = css43`
16536
16570
  --wui-radio-card-border-color: var(--wui-color-border-disabled);
16537
16571
  --wui-radio-card-background-color: var(--wui-color-bg-surface-disabled);
16538
16572
  --wui-radio-card-cursor: not-allowed;
@@ -16540,10 +16574,10 @@ var disabledStyles = css42`
16540
16574
  --wui-color-text: var(--wui-color-text-disabled);
16541
16575
  --wui-color-text-secondary: var(--wui-color-text-disabled);
16542
16576
  `;
16543
- var focusStyles = css42`
16577
+ var focusStyles = css43`
16544
16578
  outline: 2px solid var(--wui-color-focus-ring);
16545
16579
  `;
16546
- var imageCoverStyles = css42`
16580
+ var imageCoverStyles = css43`
16547
16581
  --wui-radio-card-image-inset: 0px;
16548
16582
  --wui-radio-card-border-width: 0px;
16549
16583
  --wui-inset-shadow-width: 1px;
@@ -16949,7 +16983,7 @@ ScrollArea.displayName = "ScrollArea_UI";
16949
16983
 
16950
16984
  // src/components/SegmentedControl/SegmentedControl.tsx
16951
16985
  import { forwardRef as forwardRef32 } from "react";
16952
- import { styled as styled91, css as css44 } from "styled-components";
16986
+ import { styled as styled91, css as css45 } from "styled-components";
16953
16987
  import { Root as ToggleGroupRoot2 } from "@radix-ui/react-toggle-group";
16954
16988
  import { isNil as isNil18 } from "@wistia/type-guards";
16955
16989
 
@@ -16987,7 +17021,7 @@ var useSelectedItemStyle = () => {
16987
17021
  };
16988
17022
 
16989
17023
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
16990
- import { styled as styled90, css as css43 } from "styled-components";
17024
+ import { styled as styled90, css as css44 } from "styled-components";
16991
17025
  import { isUndefined as isUndefined5 } from "@wistia/type-guards";
16992
17026
 
16993
17027
  // src/components/SegmentedControl/useSegmentedControlValue.tsx
@@ -17004,7 +17038,7 @@ var useSegmentedControlValue = () => {
17004
17038
 
17005
17039
  // src/components/SegmentedControl/SelectedItemIndicator.tsx
17006
17040
  import { jsx as jsx317 } from "react/jsx-runtime";
17007
- var selectedItemIndicatorStyles = css43`
17041
+ var selectedItemIndicatorStyles = css44`
17008
17042
  background-color: var(--wui-color-bg-fill-white);
17009
17043
  border-radius: var(--wui-border-radius-rounded);
17010
17044
  box-shadow: var(--wui-elevation-01);
@@ -17036,7 +17070,7 @@ var SelectedItemIndicator = () => {
17036
17070
 
17037
17071
  // src/components/SegmentedControl/SegmentedControl.tsx
17038
17072
  import { jsx as jsx318, jsxs as jsxs60 } from "react/jsx-runtime";
17039
- var segmentedControlStyles = css44`
17073
+ var segmentedControlStyles = css45`
17040
17074
  display: inline-flex;
17041
17075
  background-color: var(--wui-color-bg-surface-secondary);
17042
17076
  border-radius: var(--wui-border-radius-rounded);
@@ -17086,11 +17120,11 @@ SegmentedControl.displayName = "SegmentedControl_UI";
17086
17120
 
17087
17121
  // src/components/SegmentedControl/SegmentedControlItem.tsx
17088
17122
  import { forwardRef as forwardRef33, useEffect as useEffect21, useRef as useRef22 } from "react";
17089
- import { styled as styled92, css as css45 } from "styled-components";
17123
+ import { styled as styled92, css as css46 } from "styled-components";
17090
17124
  import { Item as ToggleGroupItem2 } from "@radix-ui/react-toggle-group";
17091
17125
  import { isNotNil as isNotNil36 } from "@wistia/type-guards";
17092
17126
  import { jsxs as jsxs61 } from "react/jsx-runtime";
17093
- var segmentedControlItemStyles = css45`
17127
+ var segmentedControlItemStyles = css46`
17094
17128
  all: unset; /* ToggleGroupItem is a button element */
17095
17129
  align-items: center;
17096
17130
  border-radius: var(--wui-border-radius-rounded);
@@ -17231,7 +17265,7 @@ import {
17231
17265
  ScrollDownButton
17232
17266
  } from "@radix-ui/react-select";
17233
17267
  import { forwardRef as forwardRef34 } from "react";
17234
- import { styled as styled93, css as css46 } from "styled-components";
17268
+ import { styled as styled93, css as css47 } from "styled-components";
17235
17269
  import { jsx as jsx319, jsxs as jsxs62 } from "react/jsx-runtime";
17236
17270
  var StyledTrigger2 = styled93(Trigger3)`
17237
17271
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
@@ -17302,7 +17336,7 @@ var StyledContent3 = styled93(Content3)`
17302
17336
  margin: var(--wui-space-02) 0;
17303
17337
  }
17304
17338
  `;
17305
- var scrollButtonStyles = css46`
17339
+ var scrollButtonStyles = css47`
17306
17340
  align-items: center;
17307
17341
  display: flex;
17308
17342
  justify-content: center;
@@ -17588,25 +17622,25 @@ var Slider = ({
17588
17622
  Slider.displayName = "Slider_UI";
17589
17623
 
17590
17624
  // src/components/Table/Table.tsx
17591
- import { styled as styled97, css as css47 } from "styled-components";
17625
+ import { styled as styled97, css as css48 } from "styled-components";
17592
17626
  import { jsx as jsx323 } from "react/jsx-runtime";
17593
17627
  var StyledTable = styled97.table`
17594
17628
  width: 100%;
17595
17629
  border-collapse: collapse;
17596
17630
 
17597
- ${({ $divided }) => $divided && css47`
17631
+ ${({ $divided }) => $divided && css48`
17598
17632
  tr {
17599
17633
  border-bottom: 1px solid var(--wui-color-border);
17600
17634
  }
17601
17635
  `}
17602
17636
 
17603
- ${({ $striped }) => $striped && css47`
17637
+ ${({ $striped }) => $striped && css48`
17604
17638
  tbody tr:nth-child(even) {
17605
17639
  background-color: var(--wui-color-bg-surface-secondary);
17606
17640
  }
17607
17641
  `}
17608
17642
 
17609
- ${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader && css47`
17643
+ ${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader && css48`
17610
17644
  thead {
17611
17645
  ${visuallyHiddenStyle}
17612
17646
  }
@@ -17649,9 +17683,9 @@ var TableBody = ({ children, ...props }) => {
17649
17683
 
17650
17684
  // src/components/Table/TableCell.tsx
17651
17685
  import { useContext as useContext17 } from "react";
17652
- import { styled as styled99, css as css48 } from "styled-components";
17686
+ import { styled as styled99, css as css49 } from "styled-components";
17653
17687
  import { jsx as jsx325 } from "react/jsx-runtime";
17654
- var sharedStyles = css48`
17688
+ var sharedStyles = css49`
17655
17689
  color: var(--wui-color-text);
17656
17690
  padding: var(--wui-space-02);
17657
17691
  text-align: left;
@@ -17934,9 +17968,9 @@ import {
17934
17968
 
17935
17969
  // src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
17936
17970
  import { isNotNil as isNotNil41 } from "@wistia/type-guards";
17937
- import { css as css49 } from "styled-components";
17971
+ import { css as css50 } from "styled-components";
17938
17972
  var gradients = {
17939
- defaultDarkOne: css49`
17973
+ defaultDarkOne: css50`
17940
17974
  background-color: #222d66;
17941
17975
  background-image:
17942
17976
  radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
@@ -17944,7 +17978,7 @@ var gradients = {
17944
17978
  radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
17945
17979
  radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
17946
17980
  `,
17947
- defaultDarkTwo: css49`
17981
+ defaultDarkTwo: css50`
17948
17982
  background-color: #222d66;
17949
17983
  background-image:
17950
17984
  radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
@@ -17952,7 +17986,7 @@ var gradients = {
17952
17986
  radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
17953
17987
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
17954
17988
  `,
17955
- defaultLightOne: css49`
17989
+ defaultLightOne: css50`
17956
17990
  background-color: #ccd5ff;
17957
17991
  background-image:
17958
17992
  radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
@@ -17960,13 +17994,13 @@ var gradients = {
17960
17994
  radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
17961
17995
  radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
17962
17996
  `,
17963
- defaultLightTwo: css49`
17997
+ defaultLightTwo: css50`
17964
17998
  background-color: #ccd5ff;
17965
17999
  background-image:
17966
18000
  radial-gradient(ellipse at top, #ccd5ff, transparent),
17967
18001
  radial-gradient(ellipse at bottom, #6b84ff, transparent);
17968
18002
  `,
17969
- defaultMidOne: css49`
18003
+ defaultMidOne: css50`
17970
18004
  background-color: #6b84ff;
17971
18005
  background-image:
17972
18006
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
@@ -17974,13 +18008,13 @@ var gradients = {
17974
18008
  radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
17975
18009
  radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
17976
18010
  `,
17977
- defaultMidTwo: css49`
18011
+ defaultMidTwo: css50`
17978
18012
  background-color: #6b84ff;
17979
18013
  background-image:
17980
18014
  radial-gradient(ellipse at top, #2949e5, transparent),
17981
18015
  radial-gradient(ellipse at bottom, #ccd5ff, transparent);
17982
18016
  `,
17983
- green: css49`
18017
+ green: css50`
17984
18018
  background-color: #fafffa;
17985
18019
  background-image:
17986
18020
  radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
@@ -17988,7 +18022,7 @@ var gradients = {
17988
18022
  radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
17989
18023
  radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
17990
18024
  `,
17991
- greenWithPop: css49`
18025
+ greenWithPop: css50`
17992
18026
  background-color: #fafffa;
17993
18027
  background-image:
17994
18028
  radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
@@ -17996,7 +18030,7 @@ var gradients = {
17996
18030
  radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
17997
18031
  radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
17998
18032
  `,
17999
- pink: css49`
18033
+ pink: css50`
18000
18034
  background-color: #fffff0;
18001
18035
  background-image:
18002
18036
  radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
@@ -18004,7 +18038,7 @@ var gradients = {
18004
18038
  radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
18005
18039
  radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
18006
18040
  `,
18007
- pinkWithPop: css49`
18041
+ pinkWithPop: css50`
18008
18042
  background-color: #fffff0;
18009
18043
  background-image:
18010
18044
  radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
@@ -18012,7 +18046,7 @@ var gradients = {
18012
18046
  radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
18013
18047
  radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
18014
18048
  `,
18015
- playfulGradientOne: css49`
18049
+ playfulGradientOne: css50`
18016
18050
  background-color: #f7f8ff;
18017
18051
  background-image:
18018
18052
  radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
@@ -18020,7 +18054,7 @@ var gradients = {
18020
18054
  radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
18021
18055
  radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
18022
18056
  `,
18023
- playfulGradientTwo: css49`
18057
+ playfulGradientTwo: css50`
18024
18058
  background-color: #f7f8ff;
18025
18059
  background-image:
18026
18060
  radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
@@ -18028,13 +18062,13 @@ var gradients = {
18028
18062
  radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
18029
18063
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
18030
18064
  `,
18031
- purple: css49`
18065
+ purple: css50`
18032
18066
  background-color: #f2caff;
18033
18067
  background-image:
18034
18068
  radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
18035
18069
  radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
18036
18070
  `,
18037
- purpleWithPop: css49`
18071
+ purpleWithPop: css50`
18038
18072
  background-color: #f2caff;
18039
18073
  background-image:
18040
18074
  radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
@@ -18042,7 +18076,7 @@ var gradients = {
18042
18076
  radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
18043
18077
  radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
18044
18078
  `,
18045
- yellow: css49`
18079
+ yellow: css50`
18046
18080
  background-color: #fffff0;
18047
18081
  background-image:
18048
18082
  radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
@@ -18050,7 +18084,7 @@ var gradients = {
18050
18084
  radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
18051
18085
  radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
18052
18086
  `,
18053
- yellowWithPop: css49`
18087
+ yellowWithPop: css50`
18054
18088
  background-color: #fffff0;
18055
18089
  background-image:
18056
18090
  radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
@@ -18422,8 +18456,8 @@ var Thumbnail = forwardRef37(
18422
18456
  Thumbnail.displayName = "Thumbnail_UI";
18423
18457
 
18424
18458
  // src/components/ThumbnailCollage/ThumbnailCollage.tsx
18425
- import { cloneElement as cloneElement9, Children as Children11 } from "react";
18426
- import { styled as styled109 } from "styled-components";
18459
+ import React from "react";
18460
+ import { css as css51, styled as styled109 } from "styled-components";
18427
18461
  import { isNonEmptyArray } from "@wistia/type-guards";
18428
18462
  import { jsx as jsx336 } from "react/jsx-runtime";
18429
18463
  var ThumbnailCollageContainer = styled109.div`
@@ -18433,12 +18467,20 @@ var ThumbnailCollageContainer = styled109.div`
18433
18467
  display: flex;
18434
18468
  `;
18435
18469
  var StyledThumbnailCollage = styled109.div`
18470
+ --wui-thumbnail-collage-spacing: var(--wui-space-01);
18471
+ border-radius: clamp(var(--wui-border-radius-01), 8cqh, var(--wui-border-radius-05));
18436
18472
  display: grid;
18437
- gap: var(--wui-space-01);
18473
+ gap: var(--wui-thumbnail-collage-spacing);
18438
18474
  width: 100%;
18439
18475
  grid-template-columns: 3fr 2fr;
18440
18476
  grid-template-rows: 1fr 1fr;
18441
18477
 
18478
+ ${({ $hasBackground }) => $hasBackground && css51`
18479
+ background-color: var(--wui-color-bg-surface-secondary);
18480
+ border: 1px solid rgba(0, 0, 0, 0.05);
18481
+ padding: var(--wui-thumbnail-collage-spacing);
18482
+ `}
18483
+
18442
18484
  &:has(:nth-child(1)) {
18443
18485
  grid-template-areas:
18444
18486
  'a a'
@@ -18475,16 +18517,21 @@ var StyledThumbnailCollage = styled109.div`
18475
18517
  height: 100%;
18476
18518
  width: 100%;
18477
18519
  }
18520
+
18521
+ @container (min-width: 200px) {
18522
+ --wui-thumbnail-collage-spacing: var(--wui-space-02);
18523
+ }
18478
18524
  `;
18479
18525
  var ThumbnailCollage = ({
18480
18526
  children = [],
18481
18527
  gradientBackground = "defaultMidOne",
18528
+ hasBackground = false,
18482
18529
  ...props
18483
18530
  }) => {
18484
- const thumbnailArray = Children11.toArray(children);
18531
+ const thumbnailArray = React.Children.toArray(children);
18485
18532
  const truncatedThumbnails = thumbnailArray.slice(0, 3);
18486
18533
  const thumbnails = isNonEmptyArray(thumbnailArray) ? truncatedThumbnails.map((child) => {
18487
- return cloneElement9(child, {
18534
+ return React.cloneElement(child, {
18488
18535
  ...child.props,
18489
18536
  children: void 0
18490
18537
  });
@@ -18503,6 +18550,7 @@ var ThumbnailCollage = ({
18503
18550
  StyledThumbnailCollage,
18504
18551
  {
18505
18552
  $gradientBackground: gradientBackground,
18553
+ $hasBackground: hasBackground,
18506
18554
  "data-wui-thumbnail-collage": true,
18507
18555
  ...props,
18508
18556
  children: thumbnails
@@ -18511,7 +18559,7 @@ var ThumbnailCollage = ({
18511
18559
  };
18512
18560
 
18513
18561
  // src/components/WistiaLogo/WistiaLogo.tsx
18514
- import { styled as styled110, css as css50 } from "styled-components";
18562
+ import { styled as styled110, css as css52 } from "styled-components";
18515
18563
  import { isNotNil as isNotNil44 } from "@wistia/type-guards";
18516
18564
  import { jsx as jsx337, jsxs as jsxs71 } from "react/jsx-runtime";
18517
18565
  var renderBrandmark = (brandmarkColor, iconOnly) => {
@@ -18569,12 +18617,12 @@ var WistiaLogoComponent = styled110.svg`
18569
18617
  ${({ $opticallyCentered, $iconOnly }) => {
18570
18618
  if ($opticallyCentered) {
18571
18619
  if ($iconOnly) {
18572
- return css50`
18620
+ return css52`
18573
18621
  aspect-ratio: 1;
18574
18622
  padding: 11.85% 3.12% 13.91%;
18575
18623
  `;
18576
18624
  }
18577
- return css50`
18625
+ return css52`
18578
18626
  aspect-ratio: 127 / 32;
18579
18627
  `;
18580
18628
  }
@@ -18638,7 +18686,7 @@ WistiaLogo.displayName = "WistiaLogo_UI";
18638
18686
  // src/components/SplitButton/SplitButton.tsx
18639
18687
  import { styled as styled111 } from "styled-components";
18640
18688
  import { isNotNil as isNotNil45 } from "@wistia/type-guards";
18641
- import { cloneElement as cloneElement10 } from "react";
18689
+ import { cloneElement as cloneElement9 } from "react";
18642
18690
  import { jsx as jsx338, jsxs as jsxs72 } from "react/jsx-runtime";
18643
18691
  var StyledSplitButton = styled111.span`
18644
18692
  ${({ $colorScheme }) => getColorScheme($colorScheme)};
@@ -18703,7 +18751,7 @@ var SplitButton = ({
18703
18751
  children: menuItems
18704
18752
  }
18705
18753
  ),
18706
- isNotNil45(secondaryAction) && cloneElement10(secondaryAction, { disabled, size, unstyled, variant, colorScheme })
18754
+ isNotNil45(secondaryAction) && cloneElement9(secondaryAction, { disabled, size, unstyled, variant, colorScheme })
18707
18755
  ] });
18708
18756
  };
18709
18757
  SplitButton.displayName = "SplitButton_UI";