@wistia/ui 0.4.5-beta.f61cc9f5.2515234 → 0.4.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.cjs +120 -316
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +3 -74
- package/dist/index.d.ts +3 -74
- package/dist/index.mjs +94 -296
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -2
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.4.5
|
|
3
|
+
* @license @wistia/ui v0.4.5
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -71,13 +71,10 @@ __export(index_exports, {
|
|
|
71
71
|
MenuLabel: () => MenuLabel,
|
|
72
72
|
MenuRadioGroup: () => MenuRadioGroup,
|
|
73
73
|
Modal: () => Modal,
|
|
74
|
-
Option: () => Option,
|
|
75
|
-
OptionGroup: () => OptionGroup,
|
|
76
74
|
Radio: () => Radio,
|
|
77
75
|
RadioGroup: () => RadioGroup,
|
|
78
76
|
RadioMenuItem: () => RadioMenuItem,
|
|
79
77
|
ScreenReaderOnly: () => ScreenReaderOnly,
|
|
80
|
-
Select: () => Select,
|
|
81
78
|
Stack: () => Stack,
|
|
82
79
|
SubMenu: () => SubMenu,
|
|
83
80
|
Tag: () => Tag,
|
|
@@ -1643,14 +1640,6 @@ var import_react6 = require("react");
|
|
|
1643
1640
|
|
|
1644
1641
|
// src/private/hooks/useEvent/useEvent.ts
|
|
1645
1642
|
var import_react5 = require("react");
|
|
1646
|
-
|
|
1647
|
-
// src/private/helpers/isObjectRef/isObjectRef.ts
|
|
1648
|
-
var import_type_guards4 = require("@wistia/type-guards");
|
|
1649
|
-
var isObjectRef = (value) => {
|
|
1650
|
-
return (0, import_type_guards4.isNotNil)(value) && (0, import_type_guards4.isRecord)(value) && "current" in value;
|
|
1651
|
-
};
|
|
1652
|
-
|
|
1653
|
-
// src/private/hooks/useEvent/useEvent.ts
|
|
1654
1643
|
var isEventTargetSupported = (eventTarget) => (
|
|
1655
1644
|
// @ts-expect-error the compiler thinks that addEventListener may not exist on eventTarget, but we still need to check it.
|
|
1656
1645
|
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
@@ -1666,8 +1655,7 @@ var useEvent = (eventName, eventHandler, eventTarget = window, eventOptions = {}
|
|
|
1666
1655
|
savedEventOptions.current = eventOptions;
|
|
1667
1656
|
}, [eventOptions]);
|
|
1668
1657
|
(0, import_react5.useEffect)(() => {
|
|
1669
|
-
|
|
1670
|
-
if (!eventName || !isEventTargetSupported(target)) {
|
|
1658
|
+
if (!eventName || !isEventTargetSupported(eventTarget)) {
|
|
1671
1659
|
return;
|
|
1672
1660
|
}
|
|
1673
1661
|
const eventListener = (event) => {
|
|
@@ -1677,45 +1665,48 @@ var useEvent = (eventName, eventHandler, eventTarget = window, eventOptions = {}
|
|
|
1677
1665
|
return () => {
|
|
1678
1666
|
};
|
|
1679
1667
|
};
|
|
1680
|
-
|
|
1668
|
+
eventTarget.addEventListener(eventName, eventListener, savedEventOptions.current);
|
|
1681
1669
|
return () => {
|
|
1682
|
-
|
|
1670
|
+
eventTarget.removeEventListener(eventName, eventListener, savedEventOptions.current);
|
|
1683
1671
|
};
|
|
1684
1672
|
}, [eventName, eventTarget, savedEventOptions]);
|
|
1685
1673
|
};
|
|
1686
1674
|
|
|
1687
1675
|
// src/hooks/useKey/useKey.ts
|
|
1688
|
-
var
|
|
1689
|
-
|
|
1690
|
-
|
|
1676
|
+
var createKeyPredicate = (keyFilter) => {
|
|
1677
|
+
if (typeof keyFilter === "function") {
|
|
1678
|
+
return keyFilter;
|
|
1679
|
+
}
|
|
1680
|
+
if (typeof keyFilter === "string") {
|
|
1681
|
+
return (event) => event.key === keyFilter;
|
|
1682
|
+
}
|
|
1683
|
+
if (keyFilter !== null && keyFilter !== void 0 && !!keyFilter) {
|
|
1684
|
+
return () => true;
|
|
1685
|
+
}
|
|
1686
|
+
return () => false;
|
|
1687
|
+
};
|
|
1688
|
+
var useKey = (key, eventHandler, options = {}, dependencies = [key]) => {
|
|
1689
|
+
const { eventName = "keydown", eventTarget, eventOptions } = options;
|
|
1690
|
+
const memoizedEventHandler = (0, import_react6.useMemo)(() => {
|
|
1691
|
+
const predicate = createKeyPredicate(key);
|
|
1692
|
+
return (handlerEvent) => {
|
|
1691
1693
|
if (["INPUT", "TEXTAREA", "SELECT"].includes(document.activeElement?.nodeName ?? "") || document.activeElement?.isContentEditable) {
|
|
1692
1694
|
return;
|
|
1693
1695
|
}
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
matchesKey = key(handlerEvent);
|
|
1697
|
-
} else if (typeof key === "string") {
|
|
1698
|
-
matchesKey = handlerEvent.key === key;
|
|
1699
|
-
} else if (key) {
|
|
1700
|
-
matchesKey = true;
|
|
1701
|
-
} else {
|
|
1702
|
-
matchesKey = false;
|
|
1696
|
+
if (predicate(handlerEvent)) {
|
|
1697
|
+
return eventHandler(handlerEvent);
|
|
1703
1698
|
}
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
}
|
|
1707
|
-
},
|
|
1708
|
-
[key, eventHandler]
|
|
1709
|
-
);
|
|
1699
|
+
};
|
|
1700
|
+
}, dependencies);
|
|
1710
1701
|
useEvent(eventName, memoizedEventHandler, eventTarget, eventOptions);
|
|
1711
1702
|
};
|
|
1712
1703
|
|
|
1713
1704
|
// src/hooks/useAriaLive/useAriaLive.tsx
|
|
1714
1705
|
var import_react7 = require("react");
|
|
1715
|
-
var
|
|
1706
|
+
var import_type_guards4 = require("@wistia/type-guards");
|
|
1716
1707
|
var useAriaLive = () => {
|
|
1717
1708
|
const context = (0, import_react7.useContext)(AriaLiveContext);
|
|
1718
|
-
if ((0,
|
|
1709
|
+
if ((0, import_type_guards4.isNil)(context)) {
|
|
1719
1710
|
throw new Error("useAriaLive must be used within an AriaLiveProvider");
|
|
1720
1711
|
}
|
|
1721
1712
|
return context;
|
|
@@ -1728,10 +1719,10 @@ var import_sonner2 = require("sonner");
|
|
|
1728
1719
|
// src/private/components/Toast/Toast.tsx
|
|
1729
1720
|
var import_react8 = require("react");
|
|
1730
1721
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
1731
|
-
var
|
|
1722
|
+
var import_type_guards6 = require("@wistia/type-guards");
|
|
1732
1723
|
|
|
1733
1724
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
1734
|
-
var
|
|
1725
|
+
var import_type_guards5 = require("@wistia/type-guards");
|
|
1735
1726
|
var import_styled_components11 = __toESM(require("styled-components"));
|
|
1736
1727
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1737
1728
|
var ellipsisStyle = import_styled_components11.css`
|
|
@@ -1763,7 +1754,7 @@ var ellipsisFlexParentStyle = import_styled_components11.css`
|
|
|
1763
1754
|
var EllipsisComponent = import_styled_components11.default.div`
|
|
1764
1755
|
${ellipsisStyle};
|
|
1765
1756
|
${({ $lines }) => {
|
|
1766
|
-
if ((0,
|
|
1757
|
+
if ((0, import_type_guards5.isNotNil)($lines)) {
|
|
1767
1758
|
return import_styled_components11.css`
|
|
1768
1759
|
-webkit-box-orient: vertical;
|
|
1769
1760
|
-webkit-line-clamp: ${$lines};
|
|
@@ -1947,7 +1938,7 @@ var StyledToast = import_styled_components13.default.div`
|
|
|
1947
1938
|
}
|
|
1948
1939
|
`;
|
|
1949
1940
|
var Action = ({ actionButton }) => {
|
|
1950
|
-
if ((0,
|
|
1941
|
+
if ((0, import_type_guards6.isNotNil)(actionButton) && (0, import_react8.isValidElement)(actionButton)) {
|
|
1951
1942
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ActionWrapper, { children: (0, import_react8.cloneElement)(actionButton, {
|
|
1952
1943
|
variant: "soft",
|
|
1953
1944
|
// force Button variant
|
|
@@ -1971,7 +1962,7 @@ var Toast = ({
|
|
|
1971
1962
|
$colorScheme: colorScheme,
|
|
1972
1963
|
children: [
|
|
1973
1964
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(MessageWrapper, { children: [
|
|
1974
|
-
(0,
|
|
1965
|
+
(0, import_type_guards6.isNotNil)(icon) ? icon : null,
|
|
1975
1966
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Message, { lines: 3, children: message })
|
|
1976
1967
|
] }),
|
|
1977
1968
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Action, { actionButton: action })
|
|
@@ -2012,7 +2003,7 @@ var import_styled_components19 = __toESM(require("styled-components"));
|
|
|
2012
2003
|
// src/components/Button/Button.tsx
|
|
2013
2004
|
var import_react12 = require("react");
|
|
2014
2005
|
var import_styled_components18 = __toESM(require("styled-components"));
|
|
2015
|
-
var
|
|
2006
|
+
var import_type_guards10 = require("@wistia/type-guards");
|
|
2016
2007
|
|
|
2017
2008
|
// src/css/buttonResetCss.tsx
|
|
2018
2009
|
var import_styled_components14 = require("styled-components");
|
|
@@ -2215,7 +2206,7 @@ var buttonSizeStyles = {
|
|
|
2215
2206
|
};
|
|
2216
2207
|
|
|
2217
2208
|
// src/components/Icon/Icon.tsx
|
|
2218
|
-
var
|
|
2209
|
+
var import_type_guards8 = require("@wistia/type-guards");
|
|
2219
2210
|
var import_styled_components16 = __toESM(require("styled-components"));
|
|
2220
2211
|
|
|
2221
2212
|
// src/components/Icon/icons/AbTestIcon.tsx
|
|
@@ -5376,7 +5367,7 @@ var iconMap = {
|
|
|
5376
5367
|
};
|
|
5377
5368
|
|
|
5378
5369
|
// src/private/hooks/useResponsiveProp/useResponsiveProp.ts
|
|
5379
|
-
var
|
|
5370
|
+
var import_type_guards7 = require("@wistia/type-guards");
|
|
5380
5371
|
var import_react10 = require("react");
|
|
5381
5372
|
var isResponsiveObject = (values) => {
|
|
5382
5373
|
return typeof values === "object" && values !== null && !Array.isArray(values) && "base" in values;
|
|
@@ -5384,9 +5375,9 @@ var isResponsiveObject = (values) => {
|
|
|
5384
5375
|
var useResponsiveProp = (values) => {
|
|
5385
5376
|
const activeMediaQueries = useActiveMq();
|
|
5386
5377
|
return (0, import_react10.useMemo)(() => {
|
|
5387
|
-
if ((0,
|
|
5378
|
+
if ((0, import_type_guards7.isRecord)(values) && isResponsiveObject(values)) {
|
|
5388
5379
|
const mq2 = activeMediaQueries.find((key) => key in values);
|
|
5389
|
-
return (0,
|
|
5380
|
+
return (0, import_type_guards7.isNotUndefined)(mq2) && (0, import_type_guards7.isNotUndefined)(values[mq2]) ? values[mq2] : values.base;
|
|
5390
5381
|
}
|
|
5391
5382
|
return values;
|
|
5392
5383
|
}, [activeMediaQueries, values]);
|
|
@@ -5413,13 +5404,13 @@ var Icon = ({
|
|
|
5413
5404
|
...otherProps
|
|
5414
5405
|
}) => {
|
|
5415
5406
|
const responsiveSize = useResponsiveProp(size);
|
|
5416
|
-
if ((0,
|
|
5407
|
+
if ((0, import_type_guards8.isNil)(type)) {
|
|
5417
5408
|
throw new Error("An Icon component requires a `type` prop to be provided");
|
|
5418
5409
|
}
|
|
5419
|
-
if ((0,
|
|
5410
|
+
if ((0, import_type_guards8.isNil)(iconMap[type])) {
|
|
5420
5411
|
throw new Error(`Type "${type}" does not exist, please update type prop in Icon component.`);
|
|
5421
5412
|
}
|
|
5422
|
-
if ((0,
|
|
5413
|
+
if ((0, import_type_guards8.isNil)(iconSizeMap[responsiveSize])) {
|
|
5423
5414
|
throw new Error(
|
|
5424
5415
|
`Size "${responsiveSize}" does not exist, please update size prop in Icon component.`
|
|
5425
5416
|
);
|
|
@@ -5451,12 +5442,12 @@ Icon.displayName = "Icon";
|
|
|
5451
5442
|
|
|
5452
5443
|
// src/components/Link/Link.tsx
|
|
5453
5444
|
var import_react11 = require("react");
|
|
5454
|
-
var
|
|
5445
|
+
var import_type_guards9 = require("@wistia/type-guards");
|
|
5455
5446
|
var import_styled_components17 = __toESM(require("styled-components"));
|
|
5456
5447
|
var import_react_router_dom = require("react-router-dom");
|
|
5457
5448
|
var import_jsx_runtime161 = require("react/jsx-runtime");
|
|
5458
5449
|
var generateHref = (href, type, disabled) => {
|
|
5459
|
-
if (disabled || (0,
|
|
5450
|
+
if (disabled || (0, import_type_guards9.isNil)(href)) {
|
|
5460
5451
|
return void 0;
|
|
5461
5452
|
}
|
|
5462
5453
|
let to = href;
|
|
@@ -5468,10 +5459,10 @@ var generateHref = (href, type, disabled) => {
|
|
|
5468
5459
|
}
|
|
5469
5460
|
return to;
|
|
5470
5461
|
};
|
|
5471
|
-
var isButton = (props) => (0,
|
|
5472
|
-
var isLink = (props) => (0,
|
|
5462
|
+
var isButton = (props) => (0, import_type_guards9.isUndefined)(props.href);
|
|
5463
|
+
var isLink = (props) => (0, import_type_guards9.isNotUndefined)(props.href);
|
|
5473
5464
|
var StyledLink = import_styled_components17.default.a`
|
|
5474
|
-
${({ href }) => (0,
|
|
5465
|
+
${({ href }) => (0, import_type_guards9.isNil)(href) && buttonResetCss};
|
|
5475
5466
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
5476
5467
|
cursor: pointer;
|
|
5477
5468
|
font-family: var(--wui-typography-family-default);
|
|
@@ -5502,7 +5493,7 @@ var Link = (0, import_react11.forwardRef)(
|
|
|
5502
5493
|
} finally {
|
|
5503
5494
|
if (routingCallback !== null) {
|
|
5504
5495
|
routingCallback();
|
|
5505
|
-
} else if ((0,
|
|
5496
|
+
} else if ((0, import_type_guards9.isNotNil)(to)) {
|
|
5506
5497
|
window.location.assign(to);
|
|
5507
5498
|
} else {
|
|
5508
5499
|
}
|
|
@@ -5561,7 +5552,7 @@ Link.displayName = "Link";
|
|
|
5561
5552
|
|
|
5562
5553
|
// src/components/Button/Button.tsx
|
|
5563
5554
|
var import_jsx_runtime162 = require("react/jsx-runtime");
|
|
5564
|
-
var isLink2 = (props) => (0,
|
|
5555
|
+
var isLink2 = (props) => (0, import_type_guards10.isNotUndefined)(props.href);
|
|
5565
5556
|
var StyledButton = import_styled_components18.default.button`
|
|
5566
5557
|
${buttonResetCss}
|
|
5567
5558
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
@@ -5602,8 +5593,8 @@ var ButtonContent = ({
|
|
|
5602
5593
|
/* @__PURE__ */ (0, import_jsx_runtime162.jsxs)(
|
|
5603
5594
|
StyledButtonContent,
|
|
5604
5595
|
{
|
|
5605
|
-
$hasLeftIcon: (0,
|
|
5606
|
-
$hasRightIcon: (0,
|
|
5596
|
+
$hasLeftIcon: (0, import_type_guards10.isNotNil)(leftIcon),
|
|
5597
|
+
$hasRightIcon: (0, import_type_guards10.isNotNil)(rightIcon),
|
|
5607
5598
|
$isLoading: isLoading,
|
|
5608
5599
|
children: [
|
|
5609
5600
|
leftIcon ?? null,
|
|
@@ -5671,7 +5662,7 @@ var Button = (0, import_react12.forwardRef)(
|
|
|
5671
5662
|
event.preventDefault();
|
|
5672
5663
|
return;
|
|
5673
5664
|
}
|
|
5674
|
-
if ((0,
|
|
5665
|
+
if ((0, import_type_guards10.isNotNil)(onClick)) {
|
|
5675
5666
|
onClick(event);
|
|
5676
5667
|
}
|
|
5677
5668
|
};
|
|
@@ -5832,7 +5823,7 @@ ActionButton.displayName = "ActionButton";
|
|
|
5832
5823
|
|
|
5833
5824
|
// src/components/Avatar/Avatar.tsx
|
|
5834
5825
|
var import_react14 = require("react");
|
|
5835
|
-
var
|
|
5826
|
+
var import_type_guards12 = require("@wistia/type-guards");
|
|
5836
5827
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
5837
5828
|
|
|
5838
5829
|
// src/components/ColorSchemeWrapper/ColorSchemeWrapper.tsx
|
|
@@ -5875,13 +5866,13 @@ var ColorSchemeWrapper = ({
|
|
|
5875
5866
|
ColorSchemeWrapper.displayName = "ColorSchemeWrapper";
|
|
5876
5867
|
|
|
5877
5868
|
// src/components/Avatar/formatNameForDisplay.tsx
|
|
5878
|
-
var
|
|
5869
|
+
var import_type_guards11 = require("@wistia/type-guards");
|
|
5879
5870
|
var containsEmojiCharacter = (char) => {
|
|
5880
5871
|
const emojiRegex = /<a?:.+?:\d{18}>|\p{Extended_Pictographic}/gu;
|
|
5881
5872
|
return emojiRegex.test(char);
|
|
5882
5873
|
};
|
|
5883
5874
|
var formatNameForDisplay = (name) => {
|
|
5884
|
-
if ((0,
|
|
5875
|
+
if ((0, import_type_guards11.isNil)(name) || !(0, import_type_guards11.isString)(name) || (0, import_type_guards11.isEmptyString)(name) || containsEmojiCharacter(name)) {
|
|
5885
5876
|
return "U";
|
|
5886
5877
|
}
|
|
5887
5878
|
const firstChar = name.trim().substring(0, 1);
|
|
@@ -5943,7 +5934,7 @@ var AvatarWrapper = import_styled_components21.default.div`
|
|
|
5943
5934
|
max-height: ${({ $maxHeight }) => $maxHeight}px;
|
|
5944
5935
|
`;
|
|
5945
5936
|
var chooseColorScheme = (name) => {
|
|
5946
|
-
if ((0,
|
|
5937
|
+
if ((0, import_type_guards12.isNil)(name) || name === "Anonymous") {
|
|
5947
5938
|
return "default";
|
|
5948
5939
|
}
|
|
5949
5940
|
const filteredColors = colorSchemeOptions.filter(
|
|
@@ -5973,7 +5964,7 @@ var Avatar = ({
|
|
|
5973
5964
|
};
|
|
5974
5965
|
const avatarSize = heightAndWidth ?? avatarSizeMap[size];
|
|
5975
5966
|
const avatarColor = (0, import_react14.useMemo)(() => chooseColorScheme(name), [name]);
|
|
5976
|
-
const showInitials = (0,
|
|
5967
|
+
const showInitials = (0, import_type_guards12.isNil)(imageUrl) || imageLoadState === "error";
|
|
5977
5968
|
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
|
|
5978
5969
|
AvatarWrapper,
|
|
5979
5970
|
{
|
|
@@ -6004,7 +5995,7 @@ Avatar.displayName = "Avatar";
|
|
|
6004
5995
|
// src/components/Badge/Badge.tsx
|
|
6005
5996
|
var import_react15 = require("react");
|
|
6006
5997
|
var import_styled_components22 = __toESM(require("styled-components"));
|
|
6007
|
-
var
|
|
5998
|
+
var import_type_guards13 = require("@wistia/type-guards");
|
|
6008
5999
|
var import_jsx_runtime166 = require("react/jsx-runtime");
|
|
6009
6000
|
var StyledBadge = import_styled_components22.default.div`
|
|
6010
6001
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
@@ -6028,7 +6019,7 @@ var StyledBadge = import_styled_components22.default.div`
|
|
|
6028
6019
|
`;
|
|
6029
6020
|
var Badge = (0, import_react15.forwardRef)(
|
|
6030
6021
|
({ colorScheme = "inherit", label, icon, ...otherProps }, ref) => {
|
|
6031
|
-
const hasIcon = (0,
|
|
6022
|
+
const hasIcon = (0, import_type_guards13.isNotNil)(icon);
|
|
6032
6023
|
return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(
|
|
6033
6024
|
StyledBadge,
|
|
6034
6025
|
{
|
|
@@ -6049,12 +6040,12 @@ Badge.displayName = "Badge";
|
|
|
6049
6040
|
// src/components/Box/Box.tsx
|
|
6050
6041
|
var import_react16 = require("react");
|
|
6051
6042
|
var import_styled_components23 = __toESM(require("styled-components"));
|
|
6052
|
-
var
|
|
6043
|
+
var import_type_guards14 = require("@wistia/type-guards");
|
|
6053
6044
|
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
6054
6045
|
var isDev = process.env["NODE_ENV"] === "development" || process.env["NODE_ENV"] === "test";
|
|
6055
6046
|
var getGapStyle = (gap) => {
|
|
6056
|
-
if ((0,
|
|
6057
|
-
if ((0,
|
|
6047
|
+
if ((0, import_type_guards14.isNotNil)(gap)) {
|
|
6048
|
+
if ((0, import_type_guards14.isRecord)(gap)) {
|
|
6058
6049
|
return Object.entries(gap).map(([key, value]) => {
|
|
6059
6050
|
return `${key}-gap: var(--wui-${value})};`;
|
|
6060
6051
|
}).join("");
|
|
@@ -6097,25 +6088,25 @@ var BoxComponent = import_styled_components23.default.div`
|
|
|
6097
6088
|
align-content: ${({ $alignContent }) => $alignContent};
|
|
6098
6089
|
align-items: ${({ $alignItems }) => $alignItems};
|
|
6099
6090
|
align-self: ${({ $alignSelf }) => $alignSelf ?? null};
|
|
6100
|
-
display: ${({ $inline }) => (0,
|
|
6101
|
-
flex-basis: ${({ $basis }) => (0,
|
|
6091
|
+
display: ${({ $inline }) => (0, import_type_guards14.isNotNil)($inline) && $inline ? "inline-flex" : "flex"};
|
|
6092
|
+
flex-basis: ${({ $basis }) => (0, import_type_guards14.isNotNil)($basis) ? $basis : null};
|
|
6102
6093
|
flex-direction: ${({ $flexDirection }) => $flexDirection};
|
|
6103
6094
|
${({ $fillBox: fill }) => getFillStyle(fill)};
|
|
6104
6095
|
${({ $fillViewport }) => getFillViewportStyle($fillViewport)};
|
|
6105
6096
|
|
|
6106
6097
|
/* Box children styles */
|
|
6107
|
-
flex-grow: ${({ $grow }) => (0,
|
|
6108
|
-
flex-shrink: ${({ $shrink }) => (0,
|
|
6098
|
+
flex-grow: ${({ $grow }) => (0, import_type_guards14.isNotNil)($grow) ? $grow : null};
|
|
6099
|
+
flex-shrink: ${({ $shrink }) => (0, import_type_guards14.isNotNil)($shrink) ? $shrink : null};
|
|
6109
6100
|
flex-wrap: ${({ $wrapItems }) => $wrapItems ? "wrap" : "nowrap"};
|
|
6110
6101
|
${({ $gap }) => getGapStyle($gap)};
|
|
6111
6102
|
justify-content: ${({ $justifyContent }) => $justifyContent};
|
|
6112
|
-
order: ${({ $order }) => (0,
|
|
6103
|
+
order: ${({ $order }) => (0, import_type_guards14.isNotNil)($order) ? $order : null};
|
|
6113
6104
|
`;
|
|
6114
6105
|
var wrapChildren = (children) => {
|
|
6115
|
-
if ((0,
|
|
6106
|
+
if ((0, import_type_guards14.isNotNil)(children)) {
|
|
6116
6107
|
if (typeof children === "object" && isDev) {
|
|
6117
6108
|
return import_react16.Children.map(children, (child) => {
|
|
6118
|
-
if ((0,
|
|
6109
|
+
if ((0, import_type_guards14.isNil)(child)) return null;
|
|
6119
6110
|
const elementParams = {};
|
|
6120
6111
|
if (child.type?.displayName === "Box" || child.type?.displayName === "Box_UI") {
|
|
6121
6112
|
elementParams.hasBoxParent = true;
|
|
@@ -6221,7 +6212,7 @@ var Breadcrumb = ({ icon, href, children }) => {
|
|
|
6221
6212
|
|
|
6222
6213
|
// src/components/ButtonGroup/ButtonGroup.tsx
|
|
6223
6214
|
var import_styled_components25 = __toESM(require("styled-components"));
|
|
6224
|
-
var
|
|
6215
|
+
var import_type_guards15 = require("@wistia/type-guards");
|
|
6225
6216
|
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
6226
6217
|
var getAlignment = (align) => {
|
|
6227
6218
|
if (align === "center") {
|
|
@@ -6261,7 +6252,7 @@ var ButtonGroup = ({
|
|
|
6261
6252
|
fullWidth = false,
|
|
6262
6253
|
...otherProps
|
|
6263
6254
|
}) => {
|
|
6264
|
-
if ((0,
|
|
6255
|
+
if ((0, import_type_guards15.isNil)(children)) {
|
|
6265
6256
|
return null;
|
|
6266
6257
|
}
|
|
6267
6258
|
return /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
|
|
@@ -6331,7 +6322,7 @@ Card.displayName = "Card";
|
|
|
6331
6322
|
var import_react18 = require("react");
|
|
6332
6323
|
var import_react_checkbox = require("@radix-ui/react-checkbox");
|
|
6333
6324
|
var import_styled_components30 = __toESM(require("styled-components"));
|
|
6334
|
-
var
|
|
6325
|
+
var import_type_guards17 = require("@wistia/type-guards");
|
|
6335
6326
|
|
|
6336
6327
|
// src/components/Label/Label.tsx
|
|
6337
6328
|
var import_styled_components28 = __toESM(require("styled-components"));
|
|
@@ -6518,7 +6509,7 @@ Label.displayName = "Label";
|
|
|
6518
6509
|
|
|
6519
6510
|
// src/components/Label/LabelDescription.tsx
|
|
6520
6511
|
var import_styled_components29 = __toESM(require("styled-components"));
|
|
6521
|
-
var
|
|
6512
|
+
var import_type_guards16 = require("@wistia/type-guards");
|
|
6522
6513
|
var import_jsx_runtime174 = require("react/jsx-runtime");
|
|
6523
6514
|
var StyledLabelDescription = import_styled_components29.default.div`
|
|
6524
6515
|
color: var(--wui-color-text-secondary);
|
|
@@ -6530,7 +6521,7 @@ var LabelDescription = ({
|
|
|
6530
6521
|
children,
|
|
6531
6522
|
...props
|
|
6532
6523
|
}) => {
|
|
6533
|
-
if ((0,
|
|
6524
|
+
if ((0, import_type_guards16.isNil)(children)) {
|
|
6534
6525
|
return null;
|
|
6535
6526
|
}
|
|
6536
6527
|
return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(StyledLabelDescription, { ...props, children });
|
|
@@ -6627,7 +6618,7 @@ var Checkbox = (0, import_react18.forwardRef)(
|
|
|
6627
6618
|
...otherProps
|
|
6628
6619
|
}, ref) => {
|
|
6629
6620
|
const generatedId = (0, import_react18.useId)();
|
|
6630
|
-
const computedId = (0,
|
|
6621
|
+
const computedId = (0, import_type_guards17.isNonEmptyString)(id) ? id : `wistia-ui-checkbox-group-${generatedId}`;
|
|
6631
6622
|
return /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(StyledCheckboxWrapper, { children: [
|
|
6632
6623
|
/* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
|
|
6633
6624
|
StyledCheckboxRoot,
|
|
@@ -6720,7 +6711,7 @@ Divider.displayName = "Divider";
|
|
|
6720
6711
|
// src/components/Form/Form.tsx
|
|
6721
6712
|
var import_react20 = require("react");
|
|
6722
6713
|
var import_styled_components33 = __toESM(require("styled-components"));
|
|
6723
|
-
var
|
|
6714
|
+
var import_type_guards18 = require("@wistia/type-guards");
|
|
6724
6715
|
|
|
6725
6716
|
// src/components/Stack/Stack.tsx
|
|
6726
6717
|
var import_react19 = require("react");
|
|
@@ -6774,7 +6765,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
6774
6765
|
const id = props.id ?? autoId;
|
|
6775
6766
|
const handleValidate = (nextFormData) => {
|
|
6776
6767
|
const nextData = Object.fromEntries(nextFormData.entries());
|
|
6777
|
-
if ((0,
|
|
6768
|
+
if ((0, import_type_guards18.isUndefined)(validate)) {
|
|
6778
6769
|
return {};
|
|
6779
6770
|
}
|
|
6780
6771
|
return validate(nextData);
|
|
@@ -6784,7 +6775,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
6784
6775
|
props.onBlur(event);
|
|
6785
6776
|
}
|
|
6786
6777
|
const formData = new FormData(event.currentTarget);
|
|
6787
|
-
if ((0,
|
|
6778
|
+
if ((0, import_type_guards18.isNotUndefined)(validate)) {
|
|
6788
6779
|
handleValidate(formData);
|
|
6789
6780
|
}
|
|
6790
6781
|
};
|
|
@@ -6880,7 +6871,7 @@ var useFormState = (action, initialData = {}) => {
|
|
|
6880
6871
|
|
|
6881
6872
|
// src/components/Form/FormErrorSummary.tsx
|
|
6882
6873
|
var import_react22 = require("react");
|
|
6883
|
-
var
|
|
6874
|
+
var import_type_guards19 = require("@wistia/type-guards");
|
|
6884
6875
|
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
6885
6876
|
var ErrorItem = ({ name, error, formId }) => {
|
|
6886
6877
|
return /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(Link, { href: `${formId}-${name}`, children: error }) }, name);
|
|
@@ -6894,8 +6885,8 @@ var FormErrorSummary = ({ description }) => {
|
|
|
6894
6885
|
}
|
|
6895
6886
|
return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ref, children: [
|
|
6896
6887
|
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("p", { children: description }),
|
|
6897
|
-
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0,
|
|
6898
|
-
([name, error]) => (0,
|
|
6888
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)("ul", { children: Object.entries(errors).filter(([, error]) => (0, import_type_guards19.isNotUndefined)(error)).map(
|
|
6889
|
+
([name, error]) => (0, import_type_guards19.isArray)(error) ? error.map((err) => /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
|
|
6899
6890
|
ErrorItem,
|
|
6900
6891
|
{
|
|
6901
6892
|
error: err,
|
|
@@ -6919,7 +6910,7 @@ var FormErrorSummary = ({ description }) => {
|
|
|
6919
6910
|
// src/components/FormField/FormField.tsx
|
|
6920
6911
|
var import_react26 = require("react");
|
|
6921
6912
|
var import_styled_components36 = __toESM(require("styled-components"));
|
|
6922
|
-
var
|
|
6913
|
+
var import_type_guards20 = require("@wistia/type-guards");
|
|
6923
6914
|
|
|
6924
6915
|
// src/components/Text/Text.tsx
|
|
6925
6916
|
var import_react23 = require("react");
|
|
@@ -7174,7 +7165,7 @@ var StyledErrorList = import_styled_components36.default.ul`
|
|
|
7174
7165
|
gap: var(--wui-space-01);
|
|
7175
7166
|
`;
|
|
7176
7167
|
var ErrorMessages = ({ errors, id }) => {
|
|
7177
|
-
const isMultipleErrors = (0,
|
|
7168
|
+
const isMultipleErrors = (0, import_type_guards20.isArray)(errors);
|
|
7178
7169
|
return isMultipleErrors ? /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(StyledErrorList, { children: errors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
7179
7170
|
Text,
|
|
7180
7171
|
{
|
|
@@ -7217,19 +7208,19 @@ var FormField = ({
|
|
|
7217
7208
|
label: isInlineLabel ? label : void 0,
|
|
7218
7209
|
...props
|
|
7219
7210
|
};
|
|
7220
|
-
if ((0,
|
|
7211
|
+
if ((0, import_type_guards20.isUndefined)(value) && (0, import_type_guards20.isNotUndefined)(defaultValue)) {
|
|
7221
7212
|
childProps = {
|
|
7222
7213
|
...childProps,
|
|
7223
7214
|
defaultValue
|
|
7224
7215
|
};
|
|
7225
7216
|
}
|
|
7226
|
-
if ((0,
|
|
7227
|
-
const computedName = (0,
|
|
7217
|
+
if ((0, import_type_guards20.isNotNil)(checkboxGroup)) {
|
|
7218
|
+
const computedName = (0, import_type_guards20.isNotNil)(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
|
|
7228
7219
|
const handleChange = (event) => {
|
|
7229
|
-
if ((0,
|
|
7220
|
+
if ((0, import_type_guards20.isNotUndefined)(props.onChange)) {
|
|
7230
7221
|
props.onChange(event);
|
|
7231
7222
|
}
|
|
7232
|
-
if ((0,
|
|
7223
|
+
if ((0, import_type_guards20.isNotUndefined)(checkboxGroup.onChange)) {
|
|
7233
7224
|
checkboxGroup.onChange(event);
|
|
7234
7225
|
}
|
|
7235
7226
|
};
|
|
@@ -7237,15 +7228,15 @@ var FormField = ({
|
|
|
7237
7228
|
...childProps,
|
|
7238
7229
|
name: computedName,
|
|
7239
7230
|
onChange: handleChange,
|
|
7240
|
-
"aria-invalid": (0,
|
|
7241
|
-
"aria-describedby": (0,
|
|
7231
|
+
"aria-invalid": (0, import_type_guards20.isNotNil)(error),
|
|
7232
|
+
"aria-describedby": (0, import_type_guards20.isNotNil)(error) ? `${id}-error` : void 0
|
|
7242
7233
|
};
|
|
7243
7234
|
}
|
|
7244
7235
|
import_react26.Children.only(children);
|
|
7245
7236
|
return /* @__PURE__ */ (0, import_jsx_runtime183.jsxs)(StyledFormField, { ...props, children: [
|
|
7246
7237
|
!isInlineLabel && /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(Label, { htmlFor: id, children: label }),
|
|
7247
7238
|
(0, import_react26.cloneElement)(children, childProps),
|
|
7248
|
-
(0,
|
|
7239
|
+
(0, import_type_guards20.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
7249
7240
|
ErrorMessages,
|
|
7250
7241
|
{
|
|
7251
7242
|
errors: computedError,
|
|
@@ -7318,7 +7309,7 @@ IconButton.displayName = "IconButton";
|
|
|
7318
7309
|
// src/components/Input/Input.tsx
|
|
7319
7310
|
var import_react29 = require("react");
|
|
7320
7311
|
var import_styled_components38 = __toESM(require("styled-components"));
|
|
7321
|
-
var
|
|
7312
|
+
var import_type_guards21 = require("@wistia/type-guards");
|
|
7322
7313
|
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
7323
7314
|
var inputStyles = import_styled_components38.css`
|
|
7324
7315
|
--wui-input-color-bg: var(--wui-color-bg-surface);
|
|
@@ -7406,7 +7397,7 @@ var StyledInputContainer = import_styled_components38.default.div`
|
|
|
7406
7397
|
}
|
|
7407
7398
|
`;
|
|
7408
7399
|
var isValidRef = (ref) => {
|
|
7409
|
-
return typeof ref === "object" && ref !== null && "current" in ref && (0,
|
|
7400
|
+
return typeof ref === "object" && ref !== null && "current" in ref && (0, import_type_guards21.isNotNil)(ref.current);
|
|
7410
7401
|
};
|
|
7411
7402
|
var Input = (0, import_react29.forwardRef)(
|
|
7412
7403
|
({
|
|
@@ -7421,24 +7412,24 @@ var Input = (0, import_react29.forwardRef)(
|
|
|
7421
7412
|
const internalRef = (0, import_react29.useRef)();
|
|
7422
7413
|
const ref = isValidRef(externalRef) ? externalRef : internalRef;
|
|
7423
7414
|
let leftIconToDisplay = leftIcon;
|
|
7424
|
-
if ((0,
|
|
7415
|
+
if ((0, import_type_guards21.isNil)(leftIcon) && type === "search") {
|
|
7425
7416
|
leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(Icon, { type: "search" });
|
|
7426
7417
|
}
|
|
7427
|
-
if ((0,
|
|
7418
|
+
if ((0, import_type_guards21.isNotNil)(leftIconToDisplay)) {
|
|
7428
7419
|
leftIconToDisplay = (0, import_react29.cloneElement)(leftIconToDisplay, {
|
|
7429
7420
|
size: "md",
|
|
7430
7421
|
className: "wui-input-left-icon"
|
|
7431
7422
|
});
|
|
7432
7423
|
}
|
|
7433
7424
|
let rightIconToDisplay = rightIcon;
|
|
7434
|
-
if ((0,
|
|
7425
|
+
if ((0, import_type_guards21.isNotNil)(rightIconToDisplay)) {
|
|
7435
7426
|
rightIconToDisplay = (0, import_react29.cloneElement)(rightIconToDisplay, {
|
|
7436
7427
|
size: "md",
|
|
7437
7428
|
className: "wui-input-right-icon"
|
|
7438
7429
|
});
|
|
7439
7430
|
}
|
|
7440
7431
|
const handleFocus = (event) => {
|
|
7441
|
-
if ((0,
|
|
7432
|
+
if ((0, import_type_guards21.isNotNil)(props.onFocus)) {
|
|
7442
7433
|
props.onFocus(event);
|
|
7443
7434
|
}
|
|
7444
7435
|
if (autoSelect && ref && "current" in ref) {
|
|
@@ -7481,7 +7472,7 @@ Input.displayName = "Input";
|
|
|
7481
7472
|
// src/components/Menu/Menu.tsx
|
|
7482
7473
|
var import_styled_components39 = __toESM(require("styled-components"));
|
|
7483
7474
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
7484
|
-
var
|
|
7475
|
+
var import_type_guards22 = require("@wistia/type-guards");
|
|
7485
7476
|
var import_jsx_runtime187 = require("react/jsx-runtime");
|
|
7486
7477
|
var open = import_styled_components39.keyframes`
|
|
7487
7478
|
from {
|
|
@@ -7582,7 +7573,7 @@ var Menu = ({
|
|
|
7582
7573
|
...props
|
|
7583
7574
|
}) => {
|
|
7584
7575
|
let controlProps = {
|
|
7585
|
-
...(0,
|
|
7576
|
+
...(0, import_type_guards22.isNotNil)(onOpenChange) && (0, import_type_guards22.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
7586
7577
|
};
|
|
7587
7578
|
if (disabled) {
|
|
7588
7579
|
controlProps = {
|
|
@@ -7596,7 +7587,7 @@ var Menu = ({
|
|
|
7596
7587
|
modal: false,
|
|
7597
7588
|
...controlProps,
|
|
7598
7589
|
children: [
|
|
7599
|
-
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0,
|
|
7590
|
+
/* @__PURE__ */ (0, import_jsx_runtime187.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards22.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(
|
|
7600
7591
|
Button,
|
|
7601
7592
|
{
|
|
7602
7593
|
"aria-expanded": isOpen,
|
|
@@ -7657,12 +7648,12 @@ MenuLabel.displayName = "MenuLabel";
|
|
|
7657
7648
|
var import_react31 = require("react");
|
|
7658
7649
|
var import_styled_components43 = __toESM(require("styled-components"));
|
|
7659
7650
|
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
7660
|
-
var
|
|
7651
|
+
var import_type_guards24 = require("@wistia/type-guards");
|
|
7661
7652
|
|
|
7662
7653
|
// src/components/Menu/MenuItemButton.tsx
|
|
7663
7654
|
var import_react30 = require("react");
|
|
7664
7655
|
var import_styled_components41 = __toESM(require("styled-components"));
|
|
7665
|
-
var
|
|
7656
|
+
var import_type_guards23 = require("@wistia/type-guards");
|
|
7666
7657
|
var import_jsx_runtime189 = require("react/jsx-runtime");
|
|
7667
7658
|
var StyledButton3 = (0, import_styled_components41.default)(Button)`
|
|
7668
7659
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
@@ -7735,7 +7726,7 @@ var StyledBadgeContainer = import_styled_components41.default.div`
|
|
|
7735
7726
|
var MenuItemButton = (0, import_react30.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
|
|
7736
7727
|
let { colorScheme, badge } = props;
|
|
7737
7728
|
if (appearance === "dangerous") {
|
|
7738
|
-
if ((0,
|
|
7729
|
+
if ((0, import_type_guards23.isNotUndefined)(colorScheme)) {
|
|
7739
7730
|
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
7740
7731
|
}
|
|
7741
7732
|
colorScheme = "error";
|
|
@@ -7765,7 +7756,7 @@ var MenuItemButton = (0, import_react30.forwardRef)(({ children, appearance, com
|
|
|
7765
7756
|
children: [
|
|
7766
7757
|
props.leftIcon ? /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(StyledLeftIconContainer, { children: props.leftIcon }) : null,
|
|
7767
7758
|
/* @__PURE__ */ (0, import_jsx_runtime189.jsx)(StyledLabelAndDescriptionContainer, { children }),
|
|
7768
|
-
(0,
|
|
7759
|
+
(0, import_type_guards23.isNotNil)(badge) || (0, import_type_guards23.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null,
|
|
7769
7760
|
props.rightIcon ? /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(StyledRightIconContainer, { children: props.rightIcon }) : null
|
|
7770
7761
|
]
|
|
7771
7762
|
}
|
|
@@ -7811,8 +7802,8 @@ var StyledSubTrigger = (0, import_styled_components43.default)(import_react_drop
|
|
|
7811
7802
|
`;
|
|
7812
7803
|
var SubMenuTrigger = (props) => {
|
|
7813
7804
|
const { isSmAndUp } = useMq();
|
|
7814
|
-
const
|
|
7815
|
-
return /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(
|
|
7805
|
+
const Trigger2 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
|
|
7806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(Trigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(
|
|
7816
7807
|
MenuItemButton,
|
|
7817
7808
|
{
|
|
7818
7809
|
...props,
|
|
@@ -7832,7 +7823,7 @@ var SubMenu = ({
|
|
|
7832
7823
|
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
7833
7824
|
/* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
7834
7825
|
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(MenuItemLabel, { children: label }),
|
|
7835
|
-
(0,
|
|
7826
|
+
(0, import_type_guards24.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(MenuItemDescription, { children: description }) : null
|
|
7836
7827
|
] }),
|
|
7837
7828
|
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(SubMenuContent, { children }) })
|
|
7838
7829
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
|
|
@@ -8012,7 +8003,7 @@ CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
|
8012
8003
|
var import_react36 = require("react");
|
|
8013
8004
|
var import_styled_components49 = __toESM(require("styled-components"));
|
|
8014
8005
|
var import_react_dialog4 = require("@radix-ui/react-dialog");
|
|
8015
|
-
var
|
|
8006
|
+
var import_type_guards27 = require("@wistia/type-guards");
|
|
8016
8007
|
|
|
8017
8008
|
// src/components/Modal/ModalHeader.tsx
|
|
8018
8009
|
var import_styled_components46 = __toESM(require("styled-components"));
|
|
@@ -8039,7 +8030,7 @@ var ModalCloseButton = () => {
|
|
|
8039
8030
|
|
|
8040
8031
|
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
8041
8032
|
var import_styled_components45 = __toESM(require("styled-components"));
|
|
8042
|
-
var
|
|
8033
|
+
var import_type_guards25 = require("@wistia/type-guards");
|
|
8043
8034
|
var import_jsx_runtime197 = require("react/jsx-runtime");
|
|
8044
8035
|
var VisuallyHidden = import_styled_components45.default.div({ ...visuallyHiddenStyle });
|
|
8045
8036
|
var VisuallyHiddenButFocusable = import_styled_components45.default.div({
|
|
@@ -8051,7 +8042,7 @@ var ScreenReaderOnly = ({
|
|
|
8051
8042
|
focusable = false,
|
|
8052
8043
|
...otherProps
|
|
8053
8044
|
}) => {
|
|
8054
|
-
const accessibleText = (0,
|
|
8045
|
+
const accessibleText = (0, import_type_guards25.isNotNil)(text) ? text : children;
|
|
8055
8046
|
if (focusable) {
|
|
8056
8047
|
return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
8057
8048
|
}
|
|
@@ -8098,7 +8089,7 @@ var import_react_dialog3 = require("@radix-ui/react-dialog");
|
|
|
8098
8089
|
|
|
8099
8090
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
8100
8091
|
var import_react33 = require("react");
|
|
8101
|
-
var
|
|
8092
|
+
var import_type_guards26 = require("@wistia/type-guards");
|
|
8102
8093
|
var useFocusRestore = () => {
|
|
8103
8094
|
const previouslyFocusedRef = (0, import_react33.useRef)(null);
|
|
8104
8095
|
(0, import_react33.useEffect)(() => {
|
|
@@ -8106,7 +8097,7 @@ var useFocusRestore = () => {
|
|
|
8106
8097
|
}, []);
|
|
8107
8098
|
(0, import_react33.useEffect)(() => {
|
|
8108
8099
|
return () => {
|
|
8109
|
-
if ((0,
|
|
8100
|
+
if ((0, import_type_guards26.isNotNil)(previouslyFocusedRef.current)) {
|
|
8110
8101
|
setTimeout(() => {
|
|
8111
8102
|
previouslyFocusedRef.current?.focus();
|
|
8112
8103
|
}, 0);
|
|
@@ -8250,7 +8241,7 @@ var Modal = (0, import_react36.forwardRef)(
|
|
|
8250
8241
|
import_react_dialog4.Root,
|
|
8251
8242
|
{
|
|
8252
8243
|
onOpenChange: (open2) => {
|
|
8253
|
-
if (!open2 && (0,
|
|
8244
|
+
if (!open2 && (0, import_type_guards27.isNotNil)(onRequestClose)) {
|
|
8254
8245
|
onRequestClose();
|
|
8255
8246
|
}
|
|
8256
8247
|
},
|
|
@@ -8264,7 +8255,7 @@ var Modal = (0, import_react36.forwardRef)(
|
|
|
8264
8255
|
"aria-describedby": void 0,
|
|
8265
8256
|
fullHeight,
|
|
8266
8257
|
onOpenAutoFocus: (event) => {
|
|
8267
|
-
if ((0,
|
|
8258
|
+
if ((0, import_type_guards27.isNotNil)(initialFocusRef) && initialFocusRef.current) {
|
|
8268
8259
|
event.preventDefault();
|
|
8269
8260
|
requestAnimationFrame(() => {
|
|
8270
8261
|
initialFocusRef.current?.focus();
|
|
@@ -8296,7 +8287,7 @@ Modal.displayName = "Modal";
|
|
|
8296
8287
|
// src/components/Radio/Radio.tsx
|
|
8297
8288
|
var import_react37 = require("react");
|
|
8298
8289
|
var import_styled_components50 = __toESM(require("styled-components"));
|
|
8299
|
-
var
|
|
8290
|
+
var import_type_guards28 = require("@wistia/type-guards");
|
|
8300
8291
|
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
8301
8292
|
var StyledLabelWrapper2 = import_styled_components50.default.div`
|
|
8302
8293
|
display: flex;
|
|
@@ -8382,7 +8373,7 @@ var Radio = (0, import_react37.forwardRef)(
|
|
|
8382
8373
|
...otherProps
|
|
8383
8374
|
}, ref) => {
|
|
8384
8375
|
const generatedId = (0, import_react37.useId)();
|
|
8385
|
-
const computedId = (0,
|
|
8376
|
+
const computedId = (0, import_type_guards28.isNonEmptyString)(id) ? id : `ui-radio-${generatedId}`;
|
|
8386
8377
|
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)(
|
|
8387
8378
|
StyledRadioWrapper,
|
|
8388
8379
|
{
|
|
@@ -8426,7 +8417,7 @@ Radio.displayName = "Radio";
|
|
|
8426
8417
|
// src/components/Tag/Tag.tsx
|
|
8427
8418
|
var import_react38 = require("react");
|
|
8428
8419
|
var import_styled_components51 = __toESM(require("styled-components"));
|
|
8429
|
-
var
|
|
8420
|
+
var import_type_guards29 = require("@wistia/type-guards");
|
|
8430
8421
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
8431
8422
|
var TagLabel = import_styled_components51.default.a`
|
|
8432
8423
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
@@ -8500,10 +8491,10 @@ var StyledTag = import_styled_components51.default.div`
|
|
|
8500
8491
|
overflow: hidden;
|
|
8501
8492
|
`;
|
|
8502
8493
|
var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
8503
|
-
if ((0,
|
|
8494
|
+
if ((0, import_type_guards29.isNil)(onClickRemove)) {
|
|
8504
8495
|
return null;
|
|
8505
8496
|
}
|
|
8506
|
-
if ((0,
|
|
8497
|
+
if ((0, import_type_guards29.isNil)(onClickRemoveLabel)) {
|
|
8507
8498
|
throw new Error(
|
|
8508
8499
|
"for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
|
|
8509
8500
|
);
|
|
@@ -8532,7 +8523,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
8532
8523
|
};
|
|
8533
8524
|
var Tag = (0, import_react38.forwardRef)(
|
|
8534
8525
|
({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
|
|
8535
|
-
const labelProps = (0,
|
|
8526
|
+
const labelProps = (0, import_type_guards29.isNotNil)(href) && (0, import_type_guards29.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
|
|
8536
8527
|
return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)(
|
|
8537
8528
|
StyledTag,
|
|
8538
8529
|
{
|
|
@@ -8670,7 +8661,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
8670
8661
|
|
|
8671
8662
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
8672
8663
|
var import_styled_components53 = __toESM(require("styled-components"));
|
|
8673
|
-
var
|
|
8664
|
+
var import_type_guards30 = require("@wistia/type-guards");
|
|
8674
8665
|
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
8675
8666
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
8676
8667
|
if (iconOnly) {
|
|
@@ -8764,7 +8755,7 @@ var WistiaLogo = ({
|
|
|
8764
8755
|
...otherProps,
|
|
8765
8756
|
children: [
|
|
8766
8757
|
/* @__PURE__ */ (0, import_jsx_runtime205.jsx)("title", { children: title }),
|
|
8767
|
-
(0,
|
|
8758
|
+
(0, import_type_guards30.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("desc", { children: description }) : null,
|
|
8768
8759
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
8769
8760
|
renderLogotype(logotypeColor, iconOnly)
|
|
8770
8761
|
]
|
|
@@ -8773,190 +8764,6 @@ var WistiaLogo = ({
|
|
|
8773
8764
|
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("a", { href, children: Logo }) : Logo;
|
|
8774
8765
|
};
|
|
8775
8766
|
WistiaLogo.displayName = "WistiaLogo";
|
|
8776
|
-
|
|
8777
|
-
// src/components/Select/Select.tsx
|
|
8778
|
-
var import_react_select = require("@radix-ui/react-select");
|
|
8779
|
-
var import_react39 = require("react");
|
|
8780
|
-
var import_styled_components54 = __toESM(require("styled-components"));
|
|
8781
|
-
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
8782
|
-
var StyledTrigger = (0, import_styled_components54.default)(import_react_select.Trigger)`
|
|
8783
|
-
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
8784
|
-
|
|
8785
|
-
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
8786
|
-
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
8787
|
-
--wui-select-color-border: var(--wui-color-border);
|
|
8788
|
-
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
8789
|
-
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
8790
|
-
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
8791
|
-
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
8792
|
-
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
8793
|
-
--wui-select-vertical-padding: var(--wui-space-02);
|
|
8794
|
-
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
8795
|
-
--wui-select-placeholder: var(--wui-gray-10);
|
|
8796
|
-
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
8797
|
-
|
|
8798
|
-
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
8799
|
-
background-color: var(--wui-select-color-bg);
|
|
8800
|
-
border: 1px solid var(--wui-select-color-border);
|
|
8801
|
-
border-radius: var(--wui-select-border-radius);
|
|
8802
|
-
min-width: 200px;
|
|
8803
|
-
text-align: left;
|
|
8804
|
-
display: inline-flex;
|
|
8805
|
-
align-items: center;
|
|
8806
|
-
justify-content: space-between;
|
|
8807
|
-
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
8808
|
-
|
|
8809
|
-
&[aria-expanded='true'],
|
|
8810
|
-
&:focus {
|
|
8811
|
-
outline: 2px solid var(--wui-color-focus-ring);
|
|
8812
|
-
}
|
|
8813
|
-
|
|
8814
|
-
&[aria-invalid='true'] {
|
|
8815
|
-
outline: 2px solid var(--wui-select-color-border-error);
|
|
8816
|
-
color: var(--wui-select-color-text-error);
|
|
8817
|
-
}
|
|
8818
|
-
|
|
8819
|
-
&:disabled {
|
|
8820
|
-
border-color: var(--wui-color-bg-surface-disabled);
|
|
8821
|
-
background-color: var(--wui-color-bg-surface-disabled);
|
|
8822
|
-
}
|
|
8823
|
-
`;
|
|
8824
|
-
var StyledContent2 = (0, import_styled_components54.default)(import_react_select.Content)`
|
|
8825
|
-
--wui-select-content-border: var(--wui-color-border);
|
|
8826
|
-
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
8827
|
-
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
8828
|
-
--wui-select-option-padding: var(--wui-space-02);
|
|
8829
|
-
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
8830
|
-
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
8831
|
-
overflow: hidden;
|
|
8832
|
-
transform: translateY(8px);
|
|
8833
|
-
background-color: var(--wui-select-content-bg);
|
|
8834
|
-
border: 1px solid var(--wui-select-content-border);
|
|
8835
|
-
border-radius: var(--wui-select-content-border-radius);
|
|
8836
|
-
padding: var(--wui-select-option-padding);
|
|
8837
|
-
min-width: 200px;
|
|
8838
|
-
`;
|
|
8839
|
-
var Select = (0, import_react39.forwardRef)(
|
|
8840
|
-
({
|
|
8841
|
-
colorScheme = "inherit",
|
|
8842
|
-
children,
|
|
8843
|
-
onChange = () => null,
|
|
8844
|
-
placeholder = "Select...",
|
|
8845
|
-
fullWidth = false,
|
|
8846
|
-
...props
|
|
8847
|
-
}, forwardedRef) => {
|
|
8848
|
-
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
8849
|
-
return /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(
|
|
8850
|
-
import_react_select.Root,
|
|
8851
|
-
{
|
|
8852
|
-
...props,
|
|
8853
|
-
onValueChange: onChange,
|
|
8854
|
-
children: [
|
|
8855
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(
|
|
8856
|
-
StyledTrigger,
|
|
8857
|
-
{
|
|
8858
|
-
ref: forwardedRef,
|
|
8859
|
-
$colorScheme: colorScheme,
|
|
8860
|
-
$fullWidth: responsiveFullWidth,
|
|
8861
|
-
...props,
|
|
8862
|
-
children: [
|
|
8863
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_react_select.Value, { placeholder }),
|
|
8864
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(
|
|
8865
|
-
Icon,
|
|
8866
|
-
{
|
|
8867
|
-
size: "md",
|
|
8868
|
-
type: "caret-down"
|
|
8869
|
-
}
|
|
8870
|
-
)
|
|
8871
|
-
]
|
|
8872
|
-
}
|
|
8873
|
-
),
|
|
8874
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(StyledContent2, { position: "popper", children: [
|
|
8875
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(Icon, { type: "caret-up" }) }),
|
|
8876
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_react_select.Viewport, { children }),
|
|
8877
|
-
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime206.jsx)(Icon, { type: "caret-down" }) })
|
|
8878
|
-
] }) })
|
|
8879
|
-
]
|
|
8880
|
-
}
|
|
8881
|
-
);
|
|
8882
|
-
}
|
|
8883
|
-
);
|
|
8884
|
-
Select.displayName = "Select";
|
|
8885
|
-
|
|
8886
|
-
// src/components/Select/Option.tsx
|
|
8887
|
-
var import_react_select2 = require("@radix-ui/react-select");
|
|
8888
|
-
var import_react40 = require("react");
|
|
8889
|
-
var import_styled_components55 = __toESM(require("styled-components"));
|
|
8890
|
-
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
8891
|
-
var StyledItem = (0, import_styled_components55.default)(import_react_select2.Item)`
|
|
8892
|
-
${variantStyleMap2.body3};
|
|
8893
|
-
display: flex;
|
|
8894
|
-
padding: var(--wui-select-option-padding);
|
|
8895
|
-
gap: var(--wui-select-option-inner-gap);
|
|
8896
|
-
font-size: var(--font-size);
|
|
8897
|
-
font-weight: var(--font-weight);
|
|
8898
|
-
border-radius: var(--wui-border-radius-01);
|
|
8899
|
-
|
|
8900
|
-
&:hover,
|
|
8901
|
-
&:focus-visible {
|
|
8902
|
-
background-color: var(--wui-select-option-bg-hover);
|
|
8903
|
-
outline: none;
|
|
8904
|
-
}
|
|
8905
|
-
|
|
8906
|
-
&[aria-disabled='true'] {
|
|
8907
|
-
color: var(--wui-color-text-disabled);
|
|
8908
|
-
}
|
|
8909
|
-
|
|
8910
|
-
&[aria-disabled='true']:hover {
|
|
8911
|
-
background-color: transparent;
|
|
8912
|
-
}
|
|
8913
|
-
`;
|
|
8914
|
-
var StyledIconContainer = import_styled_components55.default.span`
|
|
8915
|
-
width: 12px;
|
|
8916
|
-
`;
|
|
8917
|
-
var Option = (0, import_react40.forwardRef)(
|
|
8918
|
-
({ children, ...props }, forwardedRef) => {
|
|
8919
|
-
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(
|
|
8920
|
-
StyledItem,
|
|
8921
|
-
{
|
|
8922
|
-
...props,
|
|
8923
|
-
ref: forwardedRef,
|
|
8924
|
-
children: [
|
|
8925
|
-
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(StyledIconContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
8926
|
-
Icon,
|
|
8927
|
-
{
|
|
8928
|
-
size: "sm",
|
|
8929
|
-
type: "checkmark"
|
|
8930
|
-
}
|
|
8931
|
-
) }) }),
|
|
8932
|
-
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(import_react_select2.ItemText, { children })
|
|
8933
|
-
]
|
|
8934
|
-
}
|
|
8935
|
-
);
|
|
8936
|
-
}
|
|
8937
|
-
);
|
|
8938
|
-
Option.displayName = "Option";
|
|
8939
|
-
|
|
8940
|
-
// src/components/Select/OptionGroup.tsx
|
|
8941
|
-
var import_react_select3 = require("@radix-ui/react-select");
|
|
8942
|
-
var import_styled_components56 = __toESM(require("styled-components"));
|
|
8943
|
-
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
8944
|
-
var StyledLabel3 = (0, import_styled_components56.default)(import_react_select3.Label)`
|
|
8945
|
-
padding: var(--wui-select-option-padding);
|
|
8946
|
-
`;
|
|
8947
|
-
var OptionGroup = ({ children, label, ...props }) => {
|
|
8948
|
-
return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
8949
|
-
/* @__PURE__ */ (0, import_jsx_runtime208.jsx)(StyledLabel3, { children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
8950
|
-
Text,
|
|
8951
|
-
{
|
|
8952
|
-
prominence: "secondary",
|
|
8953
|
-
variant: "body3",
|
|
8954
|
-
children: label
|
|
8955
|
-
}
|
|
8956
|
-
) }),
|
|
8957
|
-
children
|
|
8958
|
-
] });
|
|
8959
|
-
};
|
|
8960
8767
|
// Annotate the CommonJS export names for ESM import in node:
|
|
8961
8768
|
0 && (module.exports = {
|
|
8962
8769
|
ActionButton,
|
|
@@ -8991,13 +8798,10 @@ var OptionGroup = ({ children, label, ...props }) => {
|
|
|
8991
8798
|
MenuLabel,
|
|
8992
8799
|
MenuRadioGroup,
|
|
8993
8800
|
Modal,
|
|
8994
|
-
Option,
|
|
8995
|
-
OptionGroup,
|
|
8996
8801
|
Radio,
|
|
8997
8802
|
RadioGroup,
|
|
8998
8803
|
RadioMenuItem,
|
|
8999
8804
|
ScreenReaderOnly,
|
|
9000
|
-
Select,
|
|
9001
8805
|
Stack,
|
|
9002
8806
|
SubMenu,
|
|
9003
8807
|
Tag,
|