@wistia/ui 0.12.0 → 0.12.1-beta.3a3a5ac3.e63c6fc
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 +682 -352
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +164 -9
- package/dist/index.d.ts +164 -9
- package/dist/index.mjs +616 -288
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.12.
|
|
3
|
+
* @license @wistia/ui v0.12.1-beta.3a3a5ac3.e63c6fc
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -100,6 +100,8 @@ __export(index_exports, {
|
|
|
100
100
|
Popover: () => Popover2,
|
|
101
101
|
ProgressBar: () => ProgressBar,
|
|
102
102
|
Radio: () => Radio,
|
|
103
|
+
RadioCard: () => RadioCard,
|
|
104
|
+
RadioCardImage: () => RadioCardImage,
|
|
103
105
|
RadioGroup: () => RadioGroup,
|
|
104
106
|
RadioMenuItem: () => RadioMenuItem,
|
|
105
107
|
ScreenReaderOnly: () => ScreenReaderOnly,
|
|
@@ -9102,7 +9104,7 @@ var StyledFieldset = import_styled_components41.default.fieldset`
|
|
|
9102
9104
|
border: 0;
|
|
9103
9105
|
`;
|
|
9104
9106
|
var StyledLegend = import_styled_components41.default.legend`
|
|
9105
|
-
margin-bottom: var(--space-
|
|
9107
|
+
margin-bottom: var(--wui-space-02);
|
|
9106
9108
|
`;
|
|
9107
9109
|
var FormGroup = ({ children, label, ...props }) => {
|
|
9108
9110
|
const ref = (0, import_react35.useRef)(null);
|
|
@@ -11091,9 +11093,11 @@ var RadioGroup = ({
|
|
|
11091
11093
|
RadioGroup.displayName = "RadioGroup";
|
|
11092
11094
|
|
|
11093
11095
|
// src/components/Grid/Grid.tsx
|
|
11096
|
+
var import_react50 = require("react");
|
|
11094
11097
|
var import_styled_components59 = __toESM(require("styled-components"));
|
|
11095
11098
|
var import_type_guards38 = require("@wistia/type-guards");
|
|
11096
11099
|
var import_jsx_runtime238 = require("react/jsx-runtime");
|
|
11100
|
+
var DEFAULT_ELEMENT5 = "div";
|
|
11097
11101
|
var StyledGrid = import_styled_components59.default.div`
|
|
11098
11102
|
--wui-grid-column-gap: ${({ $columnGap }) => `var(--wui-${$columnGap})`};
|
|
11099
11103
|
--wui-grid-row-gap: ${({ $rowGap }) => `var(--wui-${$rowGap})`};
|
|
@@ -11135,34 +11139,33 @@ var StyledGrid = import_styled_components59.default.div`
|
|
|
11135
11139
|
`;
|
|
11136
11140
|
}}
|
|
11137
11141
|
`;
|
|
11138
|
-
var
|
|
11139
|
-
children,
|
|
11140
|
-
|
|
11141
|
-
|
|
11142
|
-
|
|
11143
|
-
|
|
11144
|
-
|
|
11145
|
-
|
|
11146
|
-
|
|
11147
|
-
|
|
11148
|
-
|
|
11149
|
-
|
|
11150
|
-
|
|
11151
|
-
|
|
11152
|
-
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
|
|
11156
|
-
|
|
11157
|
-
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
|
|
11161
|
-
Grid.displayName = "Grid";
|
|
11142
|
+
var GridComponent = (0, import_react50.forwardRef)(
|
|
11143
|
+
({ children, columns = "auto", minChildWidth = "auto", gap = "space-04", renderAs, ...props }, ref) => {
|
|
11144
|
+
const responsiveGap = useResponsiveProp(gap);
|
|
11145
|
+
const { column, row } = (0, import_type_guards38.isRecord)(responsiveGap) ? responsiveGap : { column: responsiveGap, row: responsiveGap };
|
|
11146
|
+
const responsiveColumns = useResponsiveProp(columns);
|
|
11147
|
+
const responsiveMinChildWidth = useResponsiveProp(minChildWidth);
|
|
11148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(
|
|
11149
|
+
StyledGrid,
|
|
11150
|
+
{
|
|
11151
|
+
ref,
|
|
11152
|
+
$columnGap: column,
|
|
11153
|
+
$maxColumns: responsiveColumns,
|
|
11154
|
+
$minChildWidth: responsiveMinChildWidth,
|
|
11155
|
+
$rowGap: row,
|
|
11156
|
+
as: renderAs ?? DEFAULT_ELEMENT5,
|
|
11157
|
+
...props,
|
|
11158
|
+
children
|
|
11159
|
+
}
|
|
11160
|
+
);
|
|
11161
|
+
}
|
|
11162
|
+
);
|
|
11163
|
+
GridComponent.displayName = "Grid";
|
|
11164
|
+
var Grid = makePolymorphic(GridComponent);
|
|
11162
11165
|
|
|
11163
11166
|
// src/components/InputClickToCopy/InputClickToCopy.tsx
|
|
11164
11167
|
var import_styled_components60 = __toESM(require("styled-components"));
|
|
11165
|
-
var
|
|
11168
|
+
var import_react51 = require("react");
|
|
11166
11169
|
var import_type_guards39 = require("@wistia/type-guards");
|
|
11167
11170
|
var import_jsx_runtime239 = require("react/jsx-runtime");
|
|
11168
11171
|
var StyledInput2 = (0, import_styled_components60.default)(Input)`
|
|
@@ -11175,10 +11178,10 @@ var StyledInput2 = (0, import_styled_components60.default)(Input)`
|
|
|
11175
11178
|
}
|
|
11176
11179
|
`;
|
|
11177
11180
|
var COPY_SUCCESS_DURATION = 2e3;
|
|
11178
|
-
var InputClickToCopy = (0,
|
|
11181
|
+
var InputClickToCopy = (0, import_react51.forwardRef)(
|
|
11179
11182
|
({ value, onCopy, ...props }, ref) => {
|
|
11180
|
-
const [isCopied, setIsCopied] = (0,
|
|
11181
|
-
(0,
|
|
11183
|
+
const [isCopied, setIsCopied] = (0, import_react51.useState)(false);
|
|
11184
|
+
(0, import_react51.useEffect)(() => {
|
|
11182
11185
|
if (isCopied) {
|
|
11183
11186
|
const timeout = setTimeout(() => {
|
|
11184
11187
|
setIsCopied(false);
|
|
@@ -11492,15 +11495,15 @@ var List = ({
|
|
|
11492
11495
|
List.displayName = "List";
|
|
11493
11496
|
|
|
11494
11497
|
// src/components/Menu/Menu.tsx
|
|
11495
|
-
var
|
|
11498
|
+
var import_react53 = require("react");
|
|
11496
11499
|
var import_styled_components64 = __toESM(require("styled-components"));
|
|
11497
11500
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
11498
11501
|
var import_type_guards43 = require("@wistia/type-guards");
|
|
11499
11502
|
|
|
11500
11503
|
// src/components/Menu/MenuContext.tsx
|
|
11501
|
-
var
|
|
11502
|
-
var MenuContext = (0,
|
|
11503
|
-
var useMenuContext = () => (0,
|
|
11504
|
+
var import_react52 = require("react");
|
|
11505
|
+
var MenuContext = (0, import_react52.createContext)({ compact: false });
|
|
11506
|
+
var useMenuContext = () => (0, import_react52.useContext)(MenuContext);
|
|
11504
11507
|
|
|
11505
11508
|
// src/components/Menu/Menu.tsx
|
|
11506
11509
|
var import_jsx_runtime243 = require("react/jsx-runtime");
|
|
@@ -11592,7 +11595,7 @@ var MenuContent = (0, import_styled_components64.default)(import_react_dropdown_
|
|
|
11592
11595
|
${menuContentCss}
|
|
11593
11596
|
min-width: var(--radix-dropdown-menu-trigger-width);
|
|
11594
11597
|
`;
|
|
11595
|
-
var Menu = (0,
|
|
11598
|
+
var Menu = (0, import_react53.forwardRef)(
|
|
11596
11599
|
({
|
|
11597
11600
|
align = "start",
|
|
11598
11601
|
children,
|
|
@@ -11606,7 +11609,7 @@ var Menu = (0, import_react52.forwardRef)(
|
|
|
11606
11609
|
onInteractOutside,
|
|
11607
11610
|
...props
|
|
11608
11611
|
}, ref) => {
|
|
11609
|
-
const contextValue = (0,
|
|
11612
|
+
const contextValue = (0, import_react53.useMemo)(() => ({ compact }), [compact]);
|
|
11610
11613
|
let controlProps = {
|
|
11611
11614
|
...(0, import_type_guards43.isNotNil)(onOpenChange) && (0, import_type_guards43.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
11612
11615
|
};
|
|
@@ -11684,13 +11687,13 @@ var MenuLabel = ({ children, ...props }) => {
|
|
|
11684
11687
|
MenuLabel.displayName = "MenuLabel";
|
|
11685
11688
|
|
|
11686
11689
|
// src/components/Menu/SubMenu.tsx
|
|
11687
|
-
var
|
|
11690
|
+
var import_react55 = require("react");
|
|
11688
11691
|
var import_styled_components68 = __toESM(require("styled-components"));
|
|
11689
11692
|
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
11690
11693
|
var import_type_guards45 = require("@wistia/type-guards");
|
|
11691
11694
|
|
|
11692
11695
|
// src/components/Menu/MenuItemButton.tsx
|
|
11693
|
-
var
|
|
11696
|
+
var import_react54 = require("react");
|
|
11694
11697
|
var import_styled_components66 = __toESM(require("styled-components"));
|
|
11695
11698
|
var import_type_guards44 = require("@wistia/type-guards");
|
|
11696
11699
|
var import_jsx_runtime245 = require("react/jsx-runtime");
|
|
@@ -11767,7 +11770,7 @@ var StyledBadgeContainer = import_styled_components66.default.div`
|
|
|
11767
11770
|
font-size: var(--wui-typography-label-4-size);
|
|
11768
11771
|
color: var(--wui-color-text-secondary);
|
|
11769
11772
|
`;
|
|
11770
|
-
var MenuItemButton = (0,
|
|
11773
|
+
var MenuItemButton = (0, import_react54.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
|
|
11771
11774
|
let { colorScheme, badge } = props;
|
|
11772
11775
|
if (appearance === "dangerous") {
|
|
11773
11776
|
if ((0, import_type_guards44.isNotUndefined)(colorScheme)) {
|
|
@@ -11867,7 +11870,7 @@ var SubMenu = ({
|
|
|
11867
11870
|
...props
|
|
11868
11871
|
}) => {
|
|
11869
11872
|
const { isSmAndUp } = useMq();
|
|
11870
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
11873
|
+
const [isExpanded, setIsExpanded] = (0, import_react55.useState)(false);
|
|
11871
11874
|
const { compact } = useMenuContext();
|
|
11872
11875
|
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
11873
11876
|
/* @__PURE__ */ (0, import_jsx_runtime247.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
@@ -11896,10 +11899,10 @@ var SubMenu = ({
|
|
|
11896
11899
|
SubMenu.displayName = "SubMenu";
|
|
11897
11900
|
|
|
11898
11901
|
// src/components/Menu/MenuItem.tsx
|
|
11899
|
-
var
|
|
11902
|
+
var import_react56 = require("react");
|
|
11900
11903
|
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
11901
11904
|
var import_jsx_runtime248 = require("react/jsx-runtime");
|
|
11902
|
-
var MenuItem = (0,
|
|
11905
|
+
var MenuItem = (0, import_react56.forwardRef)(
|
|
11903
11906
|
({ onSelect = () => null, ...props }, ref) => {
|
|
11904
11907
|
return /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(
|
|
11905
11908
|
import_react_dropdown_menu4.DropdownMenuItem,
|
|
@@ -12048,17 +12051,17 @@ var CheckboxMenuItem = ({
|
|
|
12048
12051
|
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
12049
12052
|
|
|
12050
12053
|
// src/components/Menu/FilterMenu.tsx
|
|
12051
|
-
var
|
|
12054
|
+
var import_react57 = require("react");
|
|
12055
|
+
var import_react_dropdown_menu8 = require("@radix-ui/react-dropdown-menu");
|
|
12052
12056
|
var import_jsx_runtime252 = require("react/jsx-runtime");
|
|
12053
12057
|
var FilterMenuItem = CheckboxMenuItem;
|
|
12054
|
-
var FilterMenu = (0,
|
|
12058
|
+
var FilterMenu = (0, import_react57.forwardRef)(
|
|
12055
12059
|
({ value, onChange, searchValue, onSearchValueChange, children, ...props }, ref) => {
|
|
12056
12060
|
return /* @__PURE__ */ (0, import_jsx_runtime252.jsxs)(
|
|
12057
12061
|
Menu,
|
|
12058
12062
|
{
|
|
12059
12063
|
...props,
|
|
12060
12064
|
ref,
|
|
12061
|
-
isOpen: true,
|
|
12062
12065
|
children: [
|
|
12063
12066
|
/* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
|
|
12064
12067
|
Card,
|
|
@@ -12082,7 +12085,6 @@ var FilterMenu = (0, import_react56.forwardRef)(
|
|
|
12082
12085
|
onChange: (event) => {
|
|
12083
12086
|
onSearchValueChange(event.target.value);
|
|
12084
12087
|
},
|
|
12085
|
-
onClick: (event) => event.preventDefault(),
|
|
12086
12088
|
onKeyDown: (event) => {
|
|
12087
12089
|
if (event.key === "ArrowDown") {
|
|
12088
12090
|
event.preventDefault();
|
|
@@ -12096,7 +12098,8 @@ var FilterMenu = (0, import_react56.forwardRef)(
|
|
|
12096
12098
|
},
|
|
12097
12099
|
placeholder: "Search...",
|
|
12098
12100
|
tabIndex: 0,
|
|
12099
|
-
type: "search"
|
|
12101
|
+
type: "search",
|
|
12102
|
+
value: searchValue
|
|
12100
12103
|
}
|
|
12101
12104
|
)
|
|
12102
12105
|
}
|
|
@@ -12109,32 +12112,39 @@ var FilterMenu = (0, import_react56.forwardRef)(
|
|
|
12109
12112
|
children: " "
|
|
12110
12113
|
}
|
|
12111
12114
|
),
|
|
12112
|
-
|
|
12113
|
-
value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
|
|
12114
|
-
|
|
12115
|
+
import_react57.Children.toArray(children).length > 0 ? children : /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(MenuItem, { disabled: true, children: "No results found" }),
|
|
12116
|
+
value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
|
|
12117
|
+
import_react_dropdown_menu8.DropdownMenuItem,
|
|
12115
12118
|
{
|
|
12116
|
-
|
|
12117
|
-
|
|
12118
|
-
borderRadius: "border-radius-02",
|
|
12119
|
-
paddingSize: "space-01",
|
|
12120
|
-
prominence: "default",
|
|
12121
|
-
style: {
|
|
12122
|
-
position: "absolute",
|
|
12123
|
-
bottom: 0,
|
|
12124
|
-
left: 0,
|
|
12125
|
-
right: 0,
|
|
12126
|
-
margin: "1px"
|
|
12127
|
-
},
|
|
12119
|
+
disabled: true,
|
|
12120
|
+
style: { marginTop: "24px" },
|
|
12128
12121
|
children: /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
|
|
12129
|
-
|
|
12122
|
+
Card,
|
|
12130
12123
|
{
|
|
12131
|
-
|
|
12132
|
-
|
|
12133
|
-
|
|
12124
|
+
alignItems: "flex-end",
|
|
12125
|
+
border: false,
|
|
12126
|
+
borderRadius: "border-radius-02",
|
|
12127
|
+
paddingSize: "space-01",
|
|
12128
|
+
prominence: "default",
|
|
12129
|
+
style: {
|
|
12130
|
+
position: "absolute",
|
|
12131
|
+
bottom: 0,
|
|
12132
|
+
left: 0,
|
|
12133
|
+
right: 0,
|
|
12134
|
+
margin: "1px"
|
|
12135
|
+
},
|
|
12136
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime252.jsx)(
|
|
12137
|
+
Button,
|
|
12138
|
+
{
|
|
12139
|
+
onClick: () => onChange([]),
|
|
12140
|
+
size: "sm",
|
|
12141
|
+
children: "Clear"
|
|
12142
|
+
}
|
|
12143
|
+
)
|
|
12134
12144
|
}
|
|
12135
12145
|
)
|
|
12136
12146
|
}
|
|
12137
|
-
)
|
|
12147
|
+
)
|
|
12138
12148
|
]
|
|
12139
12149
|
}
|
|
12140
12150
|
);
|
|
@@ -12143,7 +12153,7 @@ var FilterMenu = (0, import_react56.forwardRef)(
|
|
|
12143
12153
|
FilterMenu.displayName = "FilterMenu";
|
|
12144
12154
|
|
|
12145
12155
|
// src/components/Modal/Modal.tsx
|
|
12146
|
-
var
|
|
12156
|
+
var import_react60 = require("react");
|
|
12147
12157
|
var import_styled_components73 = __toESM(require("styled-components"));
|
|
12148
12158
|
var import_react_dialog5 = require("@radix-ui/react-dialog");
|
|
12149
12159
|
var import_type_guards48 = require("@wistia/type-guards");
|
|
@@ -12203,19 +12213,19 @@ var ModalHeader = ({
|
|
|
12203
12213
|
};
|
|
12204
12214
|
|
|
12205
12215
|
// src/components/Modal/ModalContent.tsx
|
|
12206
|
-
var
|
|
12216
|
+
var import_react59 = require("react");
|
|
12207
12217
|
var import_styled_components71 = __toESM(require("styled-components"));
|
|
12208
12218
|
var import_react_dialog3 = require("@radix-ui/react-dialog");
|
|
12209
12219
|
|
|
12210
12220
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
12211
|
-
var
|
|
12221
|
+
var import_react58 = require("react");
|
|
12212
12222
|
var import_type_guards47 = require("@wistia/type-guards");
|
|
12213
12223
|
var useFocusRestore = () => {
|
|
12214
|
-
const previouslyFocusedRef = (0,
|
|
12215
|
-
(0,
|
|
12224
|
+
const previouslyFocusedRef = (0, import_react58.useRef)(null);
|
|
12225
|
+
(0, import_react58.useEffect)(() => {
|
|
12216
12226
|
previouslyFocusedRef.current = document.activeElement;
|
|
12217
12227
|
}, []);
|
|
12218
|
-
(0,
|
|
12228
|
+
(0, import_react58.useEffect)(() => {
|
|
12219
12229
|
return () => {
|
|
12220
12230
|
if ((0, import_type_guards47.isNotNil)(previouslyFocusedRef.current)) {
|
|
12221
12231
|
setTimeout(() => {
|
|
@@ -12353,7 +12363,7 @@ var StyledModalContent = (0, import_styled_components71.default)(import_react_di
|
|
|
12353
12363
|
${({ $positionVariant }) => positionStyleMap[$positionVariant]}
|
|
12354
12364
|
}
|
|
12355
12365
|
`;
|
|
12356
|
-
var ModalContent = (0,
|
|
12366
|
+
var ModalContent = (0, import_react59.forwardRef)(
|
|
12357
12367
|
({ width, positionVariant = "fixed-top", children, ...props }, ref) => {
|
|
12358
12368
|
useFocusRestore();
|
|
12359
12369
|
return /* @__PURE__ */ (0, import_jsx_runtime255.jsx)(
|
|
@@ -12412,7 +12422,7 @@ var ModalBody = import_styled_components73.default.div`
|
|
|
12412
12422
|
flex: 1 0 0;
|
|
12413
12423
|
order: 2;
|
|
12414
12424
|
`;
|
|
12415
|
-
var Modal = (0,
|
|
12425
|
+
var Modal = (0, import_react60.forwardRef)(
|
|
12416
12426
|
({
|
|
12417
12427
|
children,
|
|
12418
12428
|
hideCloseButton = false,
|
|
@@ -12710,7 +12720,7 @@ var ProgressBar = ({
|
|
|
12710
12720
|
ProgressBar.displayName = "ProgressBar";
|
|
12711
12721
|
|
|
12712
12722
|
// src/components/Radio/Radio.tsx
|
|
12713
|
-
var
|
|
12723
|
+
var import_react61 = require("react");
|
|
12714
12724
|
var import_styled_components77 = __toESM(require("styled-components"));
|
|
12715
12725
|
var import_type_guards51 = require("@wistia/type-guards");
|
|
12716
12726
|
var import_jsx_runtime260 = require("react/jsx-runtime");
|
|
@@ -12813,7 +12823,7 @@ var StyledHiddenRadioInput = import_styled_components77.default.input`
|
|
|
12813
12823
|
display: block;
|
|
12814
12824
|
}
|
|
12815
12825
|
`;
|
|
12816
|
-
var Radio = (0,
|
|
12826
|
+
var Radio = (0, import_react61.forwardRef)(
|
|
12817
12827
|
({
|
|
12818
12828
|
checked,
|
|
12819
12829
|
disabled = false,
|
|
@@ -12828,7 +12838,7 @@ var Radio = (0, import_react60.forwardRef)(
|
|
|
12828
12838
|
hideLabel = false,
|
|
12829
12839
|
...props
|
|
12830
12840
|
}, ref) => {
|
|
12831
|
-
const generatedId = (0,
|
|
12841
|
+
const generatedId = (0, import_react61.useId)();
|
|
12832
12842
|
const computedId = (0, import_type_guards51.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
|
|
12833
12843
|
const radioGroupContext = useRadioGroup();
|
|
12834
12844
|
const contextName = radioGroupContext?.name;
|
|
@@ -12884,21 +12894,339 @@ var Radio = (0, import_react60.forwardRef)(
|
|
|
12884
12894
|
);
|
|
12885
12895
|
Radio.displayName = "Radio";
|
|
12886
12896
|
|
|
12887
|
-
// src/components/
|
|
12897
|
+
// src/components/RadioCard/RadioCard.tsx
|
|
12888
12898
|
var import_react63 = require("react");
|
|
12899
|
+
|
|
12900
|
+
// src/components/RadioCard/RadioCardRoot.tsx
|
|
12901
|
+
var import_react62 = require("react");
|
|
12902
|
+
var import_styled_components78 = __toESM(require("styled-components"));
|
|
12903
|
+
var import_type_guards52 = require("@wistia/type-guards");
|
|
12904
|
+
var import_jsx_runtime261 = require("react/jsx-runtime");
|
|
12905
|
+
var checkedStyles = import_styled_components78.css`
|
|
12906
|
+
--wui-radio-card-border-color: var(--wui-color-focus-ring);
|
|
12907
|
+
--wui-color-icon: var(--wui-color-icon-selected);
|
|
12908
|
+
--wui-radio-card-background-color: var(--wui-color-bg-surface-info);
|
|
12909
|
+
--wui-color-text: var(--wui-color-text-info);
|
|
12910
|
+
--wui-color-text-secondary: var(--wui-color-text-info);
|
|
12911
|
+
`;
|
|
12912
|
+
var disabledStyles = import_styled_components78.css`
|
|
12913
|
+
--wui-radio-card-border-color: var(--wui-color-border-disabled);
|
|
12914
|
+
--wui-radio-card-background-color: var(--wui-color-bg-surface-disabled);
|
|
12915
|
+
--wui-radio-card-cursor: not-allowed;
|
|
12916
|
+
--wui-color-icon: var(--wui-color-icon-disabled);
|
|
12917
|
+
--wui-color-text: var(--wui-color-text-disabled);
|
|
12918
|
+
--wui-color-text-secondary: var(--wui-color-text-disabled);
|
|
12919
|
+
`;
|
|
12920
|
+
var focusStyles = import_styled_components78.css`
|
|
12921
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
12922
|
+
`;
|
|
12923
|
+
var imageCoverStyles = import_styled_components78.css`
|
|
12924
|
+
--wui-radio-card-image-inset: 0px;
|
|
12925
|
+
--wui-radio-card-border-width: 0px;
|
|
12926
|
+
--wui-inset-shadow-width: 1px;
|
|
12927
|
+
--wui-radio-card-border-color: rgb(0 0 0 / 25%);
|
|
12928
|
+
|
|
12929
|
+
overflow: hidden;
|
|
12930
|
+
|
|
12931
|
+
&:has(input:checked) {
|
|
12932
|
+
--wui-radio-card-border-color: var(--wui-color-focus-ring);
|
|
12933
|
+
--wui-radio-card-image-inset: 2px;
|
|
12934
|
+
--wui-inset-shadow-width: 2px;
|
|
12935
|
+
}
|
|
12936
|
+
|
|
12937
|
+
&:hover:not(:has(input:disabled, input:checked)) {
|
|
12938
|
+
--wui-radio-card-border-color: rgb(0 0 0 / 50%);
|
|
12939
|
+
}
|
|
12940
|
+
|
|
12941
|
+
&::after {
|
|
12942
|
+
content: '';
|
|
12943
|
+
position: absolute;
|
|
12944
|
+
top: 0;
|
|
12945
|
+
width: 100%;
|
|
12946
|
+
height: 100%;
|
|
12947
|
+
border-radius: var(--wui-radio-card-border-radius);
|
|
12948
|
+
box-shadow:
|
|
12949
|
+
inset 0 0 0 var(--wui-inset-shadow-width) var(--wui-radio-card-border-color),
|
|
12950
|
+
inset 0 0 0 calc(var(--wui-radio-card-image-inset) * 2) var(--wui-radio-card-background-color);
|
|
12951
|
+
transition: all var(--wui-motion-duration-02) var(--wui-motion-ease);
|
|
12952
|
+
}
|
|
12953
|
+
`;
|
|
12954
|
+
var StyledCard2 = import_styled_components78.default.label`
|
|
12955
|
+
--wui-radio-card-border-color: var(--wui-color-border-secondary);
|
|
12956
|
+
--wui-radio-card-background-color: var(--wui-color-bg-surface);
|
|
12957
|
+
--wui-radio-card-cursor: pointer;
|
|
12958
|
+
--wui-radio-card-border-width: 1px;
|
|
12959
|
+
--wui-radio-card-border-radius: var(--wui-border-radius-02);
|
|
12960
|
+
|
|
12961
|
+
position: relative;
|
|
12962
|
+
display: flex;
|
|
12963
|
+
padding: ${({ $padding }) => `var(--wui-${$padding})`};
|
|
12964
|
+
aspect-ratio: ${({ $aspectRatio }) => $aspectRatio};
|
|
12965
|
+
border: var(--wui-radio-card-border-width) solid var(--wui-radio-card-border-color);
|
|
12966
|
+
border-radius: var(--wui-radio-card-border-radius);
|
|
12967
|
+
background-color: var(--wui-radio-card-background-color);
|
|
12968
|
+
cursor: var(--wui-radio-card-cursor);
|
|
12969
|
+
transition: all var(--wui-motion-duration-03) var(--wui-motion-ease);
|
|
12970
|
+
|
|
12971
|
+
svg {
|
|
12972
|
+
transition: all var(--wui-motion-duration-03) var(--wui-motion-ease);
|
|
12973
|
+
}
|
|
12974
|
+
|
|
12975
|
+
&:hover {
|
|
12976
|
+
--wui-radio-card-border-color: var(--wui-color-border-secondary-hover);
|
|
12977
|
+
}
|
|
12978
|
+
|
|
12979
|
+
&:active {
|
|
12980
|
+
--wui-radio-card-border-color: var(--wui-color-border-secondary-active);
|
|
12981
|
+
}
|
|
12982
|
+
|
|
12983
|
+
&:has(input:checked) {
|
|
12984
|
+
${checkedStyles}
|
|
12985
|
+
}
|
|
12986
|
+
|
|
12987
|
+
&:has(input:disabled) {
|
|
12988
|
+
${disabledStyles}
|
|
12989
|
+
}
|
|
12990
|
+
|
|
12991
|
+
&:has(input:focus-visible) {
|
|
12992
|
+
${focusStyles}
|
|
12993
|
+
}
|
|
12994
|
+
|
|
12995
|
+
&:has([data-wui-radio-card-image]) {
|
|
12996
|
+
&:has(input:disabled) {
|
|
12997
|
+
[data-wui-radio-card-image] {
|
|
12998
|
+
filter: grayscale(100%);
|
|
12999
|
+
}
|
|
13000
|
+
}
|
|
13001
|
+
|
|
13002
|
+
&:has([data-wui-radio-card-image='cover']) {
|
|
13003
|
+
${imageCoverStyles}
|
|
13004
|
+
}
|
|
13005
|
+
}
|
|
13006
|
+
`;
|
|
13007
|
+
var StyledHiddenInput = import_styled_components78.default.input`
|
|
13008
|
+
${visuallyHiddenStyle}
|
|
13009
|
+
`;
|
|
13010
|
+
var RadioCardRoot = (0, import_react62.forwardRef)(
|
|
13011
|
+
({
|
|
13012
|
+
children,
|
|
13013
|
+
disabled = false,
|
|
13014
|
+
id,
|
|
13015
|
+
name,
|
|
13016
|
+
onChange,
|
|
13017
|
+
value,
|
|
13018
|
+
aspectRatio = "initial",
|
|
13019
|
+
padding = "space-04",
|
|
13020
|
+
checked,
|
|
13021
|
+
...props
|
|
13022
|
+
}, ref) => {
|
|
13023
|
+
const generatedId = (0, import_react62.useId)();
|
|
13024
|
+
const computedId = (0, import_type_guards52.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
|
|
13025
|
+
const radioGroupContext = useRadioGroup();
|
|
13026
|
+
const contextName = radioGroupContext?.name;
|
|
13027
|
+
const contextOnChange = radioGroupContext?.onChange;
|
|
13028
|
+
const contextValue = radioGroupContext?.value;
|
|
13029
|
+
const radioName = name ?? contextName;
|
|
13030
|
+
const handleOnChange = onChange ?? contextOnChange;
|
|
13031
|
+
const defaultChecked = (0, import_type_guards52.isNotUndefined)(value) && (0, import_type_guards52.isNotUndefined)(contextValue) ? contextValue.includes(value) : void 0;
|
|
13032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime261.jsxs)(
|
|
13033
|
+
StyledCard2,
|
|
13034
|
+
{
|
|
13035
|
+
$aspectRatio: aspectRatio,
|
|
13036
|
+
$padding: padding,
|
|
13037
|
+
htmlFor: computedId,
|
|
13038
|
+
children: [
|
|
13039
|
+
/* @__PURE__ */ (0, import_jsx_runtime261.jsx)(
|
|
13040
|
+
StyledHiddenInput,
|
|
13041
|
+
{
|
|
13042
|
+
...props,
|
|
13043
|
+
ref,
|
|
13044
|
+
disabled,
|
|
13045
|
+
id: computedId,
|
|
13046
|
+
name: radioName,
|
|
13047
|
+
onChange: handleOnChange,
|
|
13048
|
+
type: "radio",
|
|
13049
|
+
value,
|
|
13050
|
+
...(0, import_type_guards52.isNotUndefined)(defaultChecked) ? { defaultChecked } : { checked }
|
|
13051
|
+
}
|
|
13052
|
+
),
|
|
13053
|
+
children
|
|
13054
|
+
]
|
|
13055
|
+
}
|
|
13056
|
+
);
|
|
13057
|
+
}
|
|
13058
|
+
);
|
|
13059
|
+
RadioCardRoot.displayName = "RadioCardRoot";
|
|
13060
|
+
|
|
13061
|
+
// src/components/RadioCard/RadioCardDefaultLayout.tsx
|
|
13062
|
+
var import_styled_components80 = __toESM(require("styled-components"));
|
|
13063
|
+
var import_type_guards53 = require("@wistia/type-guards");
|
|
13064
|
+
|
|
13065
|
+
// src/components/RadioCard/RadioCardIndicator.tsx
|
|
12889
13066
|
var import_styled_components79 = __toESM(require("styled-components"));
|
|
13067
|
+
var RadioCardIndicator = import_styled_components79.default.div`
|
|
13068
|
+
--wui-radio-card-indicator-size: 14px;
|
|
13069
|
+
--wui-radio-card-indicator-background-color: var(--wui-color-bg-surface);
|
|
13070
|
+
--wui-radio-card-indicator-fill-color: var(--wui-color-bg-fill);
|
|
13071
|
+
|
|
13072
|
+
/* TODO: figure out radio / checkbox / switch colors */
|
|
13073
|
+
--wui-radio-card-indicator-border-color: var(--wui-color-border-secondary-active);
|
|
13074
|
+
|
|
13075
|
+
width: var(--wui-radio-card-indicator-size);
|
|
13076
|
+
height: var(--wui-radio-card-indicator-size);
|
|
13077
|
+
min-width: var(--wui-radio-card-indicator-size);
|
|
13078
|
+
min-height: var(--wui-radio-card-indicator-size);
|
|
13079
|
+
background-color: var(--wui-radio-card-indicator-background-color);
|
|
13080
|
+
box-shadow: inset 0 0 0 1px var(--wui-radio-card-indicator-border-color);
|
|
13081
|
+
border-radius: 100%;
|
|
13082
|
+
position: relative;
|
|
13083
|
+
cursor: pointer;
|
|
13084
|
+
transition: border-color var(--wui-motion-duration-03) var(--wui-motion-ease);
|
|
13085
|
+
|
|
13086
|
+
&::after {
|
|
13087
|
+
content: '';
|
|
13088
|
+
position: absolute;
|
|
13089
|
+
top: 50%;
|
|
13090
|
+
left: 50%;
|
|
13091
|
+
width: 0;
|
|
13092
|
+
height: 0;
|
|
13093
|
+
background-color: var(--wui-radio-card-indicator-fill-color);
|
|
13094
|
+
border-radius: 100%;
|
|
13095
|
+
transform: translate(-50%, -50%);
|
|
13096
|
+
}
|
|
13097
|
+
|
|
13098
|
+
${StyledCard2}:has(input:checked) & {
|
|
13099
|
+
--wui-radio-card-indicator-border-color: var(--wui-color-focus-ring);
|
|
13100
|
+
--wui-radio-card-indicator-fill-color: var(--wui-color-focus-ring);
|
|
13101
|
+
|
|
13102
|
+
&::after {
|
|
13103
|
+
width: calc(var(--wui-radio-card-indicator-size) / 2);
|
|
13104
|
+
height: calc(var(--wui-radio-card-indicator-size) / 2);
|
|
13105
|
+
}
|
|
13106
|
+
}
|
|
13107
|
+
|
|
13108
|
+
${StyledCard2}:has(input:disabled) & {
|
|
13109
|
+
--wui-radio-card-indicator-border-color: var(--wui-color-border-secondary);
|
|
13110
|
+
--wui-radio-card-indicator-background-color: var(--wui-color-bg-surface-disabled);
|
|
13111
|
+
}
|
|
13112
|
+
`;
|
|
13113
|
+
RadioCardIndicator.displayName = "RadioCardIndicator";
|
|
13114
|
+
|
|
13115
|
+
// src/components/RadioCard/RadioCardDefaultLayout.tsx
|
|
13116
|
+
var import_jsx_runtime262 = require("react/jsx-runtime");
|
|
13117
|
+
var StyledCardContent = import_styled_components80.default.div`
|
|
13118
|
+
display: grid;
|
|
13119
|
+
grid-auto-flow: column;
|
|
13120
|
+
gap: var(--wui-space-02);
|
|
13121
|
+
`;
|
|
13122
|
+
var StyledCardIcon = import_styled_components80.default.div`
|
|
13123
|
+
display: contents;
|
|
13124
|
+
`;
|
|
13125
|
+
var StyledIndicatorContainer = import_styled_components80.default.div`
|
|
13126
|
+
height: ${({ $hasIcon }) => $hasIcon ? "24px" : "16px"};
|
|
13127
|
+
display: flex;
|
|
13128
|
+
align-items: center;
|
|
13129
|
+
`;
|
|
13130
|
+
var RadioCardDefaultLayout = ({
|
|
13131
|
+
icon,
|
|
13132
|
+
label,
|
|
13133
|
+
description,
|
|
13134
|
+
showIndicator = true
|
|
13135
|
+
}) => {
|
|
13136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(StyledCardContent, { children: [
|
|
13137
|
+
showIndicator ? /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(StyledIndicatorContainer, { $hasIcon: (0, import_type_guards53.isNotNil)(icon), children: /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(RadioCardIndicator, { "data-testid": "wui-radio-card-indicator" }) }) : null,
|
|
13138
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(Stack, { gap: "space-02", children: [
|
|
13139
|
+
(0, import_type_guards53.isNotNil)(icon) && /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(StyledCardIcon, { "data-wui-radio-card-icon": true, children: icon }),
|
|
13140
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsxs)(
|
|
13141
|
+
Stack,
|
|
13142
|
+
{
|
|
13143
|
+
gap: "space-01",
|
|
13144
|
+
style: (0, import_type_guards53.isNotNil)(icon) ? { paddingLeft: 2 } : void 0,
|
|
13145
|
+
children: [
|
|
13146
|
+
/* @__PURE__ */ (0, import_jsx_runtime262.jsx)(Text, { variant: "label3", children: /* @__PURE__ */ (0, import_jsx_runtime262.jsx)("strong", { children: label }) }),
|
|
13147
|
+
(0, import_type_guards53.isNotNil)(description) && /* @__PURE__ */ (0, import_jsx_runtime262.jsx)(
|
|
13148
|
+
Text,
|
|
13149
|
+
{
|
|
13150
|
+
prominence: "secondary",
|
|
13151
|
+
variant: "body3",
|
|
13152
|
+
children: description
|
|
13153
|
+
}
|
|
13154
|
+
)
|
|
13155
|
+
]
|
|
13156
|
+
}
|
|
13157
|
+
)
|
|
13158
|
+
] })
|
|
13159
|
+
] });
|
|
13160
|
+
};
|
|
13161
|
+
RadioCardDefaultLayout.displayName = "RadioCardDefaultLayout";
|
|
13162
|
+
|
|
13163
|
+
// src/components/RadioCard/RadioCard.tsx
|
|
13164
|
+
var import_jsx_runtime263 = require("react/jsx-runtime");
|
|
13165
|
+
var RadioCard = (0, import_react63.forwardRef)(
|
|
13166
|
+
({ icon, label, description, showIndicator, ...rootProps }, ref) => {
|
|
13167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
|
|
13168
|
+
RadioCardRoot,
|
|
13169
|
+
{
|
|
13170
|
+
ref,
|
|
13171
|
+
...rootProps,
|
|
13172
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime263.jsx)(
|
|
13173
|
+
RadioCardDefaultLayout,
|
|
13174
|
+
{
|
|
13175
|
+
description,
|
|
13176
|
+
icon,
|
|
13177
|
+
label,
|
|
13178
|
+
showIndicator
|
|
13179
|
+
}
|
|
13180
|
+
)
|
|
13181
|
+
}
|
|
13182
|
+
);
|
|
13183
|
+
}
|
|
13184
|
+
);
|
|
13185
|
+
RadioCard.displayName = "RadioCard";
|
|
13186
|
+
|
|
13187
|
+
// src/components/RadioCard/RadioCardImage.tsx
|
|
13188
|
+
var import_react64 = require("react");
|
|
13189
|
+
var import_jsx_runtime264 = require("react/jsx-runtime");
|
|
13190
|
+
var RadioCardImage = (0, import_react64.forwardRef)(
|
|
13191
|
+
({ label, imageSrc, aspectRatio, padding = "space-04", ...rootProps }, ref) => {
|
|
13192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
|
|
13193
|
+
RadioCardRoot,
|
|
13194
|
+
{
|
|
13195
|
+
ref,
|
|
13196
|
+
...rootProps,
|
|
13197
|
+
aspectRatio,
|
|
13198
|
+
padding,
|
|
13199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(
|
|
13200
|
+
Image,
|
|
13201
|
+
{
|
|
13202
|
+
alt: label,
|
|
13203
|
+
"data-wui-radio-card-image": padding === "space-00" ? "cover" : "contain",
|
|
13204
|
+
fill: true,
|
|
13205
|
+
fit: padding === "space-00" ? "cover" : "contain",
|
|
13206
|
+
src: imageSrc
|
|
13207
|
+
}
|
|
13208
|
+
)
|
|
13209
|
+
}
|
|
13210
|
+
);
|
|
13211
|
+
}
|
|
13212
|
+
);
|
|
13213
|
+
RadioCardImage.displayName = "RadioCardImage";
|
|
13214
|
+
|
|
13215
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
13216
|
+
var import_react67 = require("react");
|
|
13217
|
+
var import_styled_components82 = __toESM(require("styled-components"));
|
|
12890
13218
|
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
12891
|
-
var
|
|
13219
|
+
var import_type_guards55 = require("@wistia/type-guards");
|
|
12892
13220
|
|
|
12893
13221
|
// src/components/SegmentedControl/useSelectedItemStyle.tsx
|
|
12894
|
-
var
|
|
12895
|
-
var
|
|
12896
|
-
var SelectedItemStyleContext = (0,
|
|
13222
|
+
var import_react65 = require("react");
|
|
13223
|
+
var import_jsx_runtime265 = require("react/jsx-runtime");
|
|
13224
|
+
var SelectedItemStyleContext = (0, import_react65.createContext)(null);
|
|
12897
13225
|
var SelectedItemStyleProvider = ({
|
|
12898
13226
|
children
|
|
12899
13227
|
}) => {
|
|
12900
|
-
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0,
|
|
12901
|
-
const selectedItemIndicatorStyle = (0,
|
|
13228
|
+
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react65.useState)(null);
|
|
13229
|
+
const selectedItemIndicatorStyle = (0, import_react65.useMemo)(
|
|
12902
13230
|
() => selectedItemMeasurements != null ? {
|
|
12903
13231
|
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
12904
13232
|
transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
|
|
@@ -12906,17 +13234,17 @@ var SelectedItemStyleProvider = ({
|
|
|
12906
13234
|
} : void 0,
|
|
12907
13235
|
[selectedItemMeasurements]
|
|
12908
13236
|
);
|
|
12909
|
-
const contextValue = (0,
|
|
13237
|
+
const contextValue = (0, import_react65.useMemo)(
|
|
12910
13238
|
() => ({
|
|
12911
13239
|
setSelectedItemMeasurements,
|
|
12912
13240
|
selectedItemIndicatorStyle
|
|
12913
13241
|
}),
|
|
12914
13242
|
[selectedItemIndicatorStyle]
|
|
12915
13243
|
);
|
|
12916
|
-
return /* @__PURE__ */ (0,
|
|
13244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
|
|
12917
13245
|
};
|
|
12918
13246
|
var useSelectedItemStyle = () => {
|
|
12919
|
-
const context = (0,
|
|
13247
|
+
const context = (0, import_react65.useContext)(SelectedItemStyleContext);
|
|
12920
13248
|
if (context === null) {
|
|
12921
13249
|
throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
|
|
12922
13250
|
}
|
|
@@ -12924,15 +13252,15 @@ var useSelectedItemStyle = () => {
|
|
|
12924
13252
|
};
|
|
12925
13253
|
|
|
12926
13254
|
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
12927
|
-
var
|
|
12928
|
-
var
|
|
13255
|
+
var import_styled_components81 = __toESM(require("styled-components"));
|
|
13256
|
+
var import_type_guards54 = require("@wistia/type-guards");
|
|
12929
13257
|
|
|
12930
13258
|
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
12931
|
-
var
|
|
12932
|
-
var SegmentedControlValueContext = (0,
|
|
13259
|
+
var import_react66 = require("react");
|
|
13260
|
+
var SegmentedControlValueContext = (0, import_react66.createContext)(null);
|
|
12933
13261
|
var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
|
|
12934
13262
|
var useSegmentedControlValue = () => {
|
|
12935
|
-
const context = (0,
|
|
13263
|
+
const context = (0, import_react66.useContext)(SegmentedControlValueContext);
|
|
12936
13264
|
if (context === null) {
|
|
12937
13265
|
throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
|
|
12938
13266
|
}
|
|
@@ -12940,13 +13268,13 @@ var useSegmentedControlValue = () => {
|
|
|
12940
13268
|
};
|
|
12941
13269
|
|
|
12942
13270
|
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
12943
|
-
var
|
|
12944
|
-
var selectedItemIndicatorStyles =
|
|
13271
|
+
var import_jsx_runtime266 = require("react/jsx-runtime");
|
|
13272
|
+
var selectedItemIndicatorStyles = import_styled_components81.css`
|
|
12945
13273
|
background-color: var(--wui-color-bg-fill-white);
|
|
12946
13274
|
border-radius: var(--wui-border-radius-rounded);
|
|
12947
13275
|
box-shadow: var(--wui-elevation-01);
|
|
12948
13276
|
`;
|
|
12949
|
-
var SelectedItemIndicatorDiv =
|
|
13277
|
+
var SelectedItemIndicatorDiv = import_styled_components81.default.div`
|
|
12950
13278
|
${selectedItemIndicatorStyles}
|
|
12951
13279
|
left: 0;
|
|
12952
13280
|
position: absolute;
|
|
@@ -12959,10 +13287,10 @@ var SelectedItemIndicatorDiv = import_styled_components78.default.div`
|
|
|
12959
13287
|
var SelectedItemIndicator = () => {
|
|
12960
13288
|
const selectedValue = useSegmentedControlValue();
|
|
12961
13289
|
const { selectedItemIndicatorStyle } = useSelectedItemStyle();
|
|
12962
|
-
if (!selectedValue || (0,
|
|
13290
|
+
if (!selectedValue || (0, import_type_guards54.isUndefined)(selectedItemIndicatorStyle)) {
|
|
12963
13291
|
return null;
|
|
12964
13292
|
}
|
|
12965
|
-
return /* @__PURE__ */ (0,
|
|
13293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
|
|
12966
13294
|
SelectedItemIndicatorDiv,
|
|
12967
13295
|
{
|
|
12968
13296
|
"data-wui-selected-item-indicator": true,
|
|
@@ -12972,8 +13300,8 @@ var SelectedItemIndicator = () => {
|
|
|
12972
13300
|
};
|
|
12973
13301
|
|
|
12974
13302
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
12975
|
-
var
|
|
12976
|
-
var segmentedControlStyles =
|
|
13303
|
+
var import_jsx_runtime267 = require("react/jsx-runtime");
|
|
13304
|
+
var segmentedControlStyles = import_styled_components82.css`
|
|
12977
13305
|
display: inline-flex;
|
|
12978
13306
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
12979
13307
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -12984,10 +13312,10 @@ var segmentedControlStyles = import_styled_components79.css`
|
|
|
12984
13312
|
position: relative;
|
|
12985
13313
|
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
12986
13314
|
`;
|
|
12987
|
-
var StyledSegmentedControl = (0,
|
|
13315
|
+
var StyledSegmentedControl = (0, import_styled_components82.default)(import_react_toggle_group.Root)`
|
|
12988
13316
|
${segmentedControlStyles}
|
|
12989
13317
|
`;
|
|
12990
|
-
var SegmentedControl = (0,
|
|
13318
|
+
var SegmentedControl = (0, import_react67.forwardRef)(
|
|
12991
13319
|
({
|
|
12992
13320
|
children,
|
|
12993
13321
|
disabled = false,
|
|
@@ -12996,10 +13324,10 @@ var SegmentedControl = (0, import_react63.forwardRef)(
|
|
|
12996
13324
|
onSelectedValueChange,
|
|
12997
13325
|
...props
|
|
12998
13326
|
}, ref) => {
|
|
12999
|
-
if ((0,
|
|
13327
|
+
if ((0, import_type_guards55.isNil)(children)) {
|
|
13000
13328
|
return null;
|
|
13001
13329
|
}
|
|
13002
|
-
return /* @__PURE__ */ (0,
|
|
13330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(
|
|
13003
13331
|
StyledSegmentedControl,
|
|
13004
13332
|
{
|
|
13005
13333
|
ref,
|
|
@@ -13011,9 +13339,9 @@ var SegmentedControl = (0, import_react63.forwardRef)(
|
|
|
13011
13339
|
type: "single",
|
|
13012
13340
|
value: selectedValue,
|
|
13013
13341
|
...props,
|
|
13014
|
-
children: /* @__PURE__ */ (0,
|
|
13342
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ (0, import_jsx_runtime267.jsxs)(SelectedItemStyleProvider, { children: [
|
|
13015
13343
|
children,
|
|
13016
|
-
/* @__PURE__ */ (0,
|
|
13344
|
+
/* @__PURE__ */ (0, import_jsx_runtime267.jsx)(SelectedItemIndicator, {})
|
|
13017
13345
|
] }) })
|
|
13018
13346
|
}
|
|
13019
13347
|
);
|
|
@@ -13022,12 +13350,12 @@ var SegmentedControl = (0, import_react63.forwardRef)(
|
|
|
13022
13350
|
SegmentedControl.displayName = "SegmentedControl";
|
|
13023
13351
|
|
|
13024
13352
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
13025
|
-
var
|
|
13026
|
-
var
|
|
13353
|
+
var import_react68 = require("react");
|
|
13354
|
+
var import_styled_components83 = __toESM(require("styled-components"));
|
|
13027
13355
|
var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
|
|
13028
|
-
var
|
|
13029
|
-
var
|
|
13030
|
-
var segmentedControlItemStyles =
|
|
13356
|
+
var import_type_guards56 = require("@wistia/type-guards");
|
|
13357
|
+
var import_jsx_runtime268 = require("react/jsx-runtime");
|
|
13358
|
+
var segmentedControlItemStyles = import_styled_components83.css`
|
|
13031
13359
|
all: unset; /* ToggleGroupItem is a button element */
|
|
13032
13360
|
align-items: center;
|
|
13033
13361
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -13094,14 +13422,14 @@ var segmentedControlItemStyles = import_styled_components80.css`
|
|
|
13094
13422
|
}
|
|
13095
13423
|
}
|
|
13096
13424
|
`;
|
|
13097
|
-
var StyledSegmentedControlItem = (0,
|
|
13425
|
+
var StyledSegmentedControlItem = (0, import_styled_components83.default)(import_react_toggle_group2.Item)`
|
|
13098
13426
|
${segmentedControlItemStyles}
|
|
13099
13427
|
`;
|
|
13100
|
-
var SegmentedControlItem = (0,
|
|
13428
|
+
var SegmentedControlItem = (0, import_react68.forwardRef)(
|
|
13101
13429
|
({ disabled, icon, label, "aria-label": ariaLabel, value, ...otherProps }, forwardedRef) => {
|
|
13102
13430
|
const selectedValue = useSegmentedControlValue();
|
|
13103
13431
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
13104
|
-
const buttonRef = (0,
|
|
13432
|
+
const buttonRef = (0, import_react68.useRef)(null);
|
|
13105
13433
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
13106
13434
|
const handleClick = (event) => {
|
|
13107
13435
|
const target = event.target;
|
|
@@ -13110,7 +13438,7 @@ var SegmentedControlItem = (0, import_react64.forwardRef)(
|
|
|
13110
13438
|
event.preventDefault();
|
|
13111
13439
|
}
|
|
13112
13440
|
};
|
|
13113
|
-
(0,
|
|
13441
|
+
(0, import_react68.useEffect)(() => {
|
|
13114
13442
|
const buttonElem = buttonRef.current;
|
|
13115
13443
|
if (!buttonElem) {
|
|
13116
13444
|
return void 0;
|
|
@@ -13135,13 +13463,13 @@ var SegmentedControlItem = (0, import_react64.forwardRef)(
|
|
|
13135
13463
|
resizeObserver.disconnect();
|
|
13136
13464
|
};
|
|
13137
13465
|
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
13138
|
-
return /* @__PURE__ */ (0,
|
|
13466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime268.jsxs)(
|
|
13139
13467
|
StyledSegmentedControlItem,
|
|
13140
13468
|
{
|
|
13141
13469
|
ref: combinedRef,
|
|
13142
13470
|
...otherProps,
|
|
13143
|
-
$hasLabel: (0,
|
|
13144
|
-
"aria-label": (0,
|
|
13471
|
+
$hasLabel: (0, import_type_guards56.isNotNil)(label),
|
|
13472
|
+
"aria-label": (0, import_type_guards56.isNotNil)(label) ? void 0 : ariaLabel,
|
|
13145
13473
|
disabled,
|
|
13146
13474
|
onClick: handleClick,
|
|
13147
13475
|
value,
|
|
@@ -13157,10 +13485,10 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
|
13157
13485
|
|
|
13158
13486
|
// src/components/Select/Select.tsx
|
|
13159
13487
|
var import_react_select = require("@radix-ui/react-select");
|
|
13160
|
-
var
|
|
13161
|
-
var
|
|
13162
|
-
var
|
|
13163
|
-
var StyledTrigger2 = (0,
|
|
13488
|
+
var import_react69 = require("react");
|
|
13489
|
+
var import_styled_components84 = __toESM(require("styled-components"));
|
|
13490
|
+
var import_jsx_runtime269 = require("react/jsx-runtime");
|
|
13491
|
+
var StyledTrigger2 = (0, import_styled_components84.default)(import_react_select.Trigger)`
|
|
13164
13492
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
13165
13493
|
${inputCss};
|
|
13166
13494
|
padding: var(--wui-input-vertical-padding) var(--wui-input-horizontal-padding);
|
|
@@ -13204,7 +13532,7 @@ var StyledTrigger2 = (0, import_styled_components81.default)(import_react_select
|
|
|
13204
13532
|
color: var(--wui-input-placeholder);
|
|
13205
13533
|
}
|
|
13206
13534
|
`;
|
|
13207
|
-
var StyledContent3 = (0,
|
|
13535
|
+
var StyledContent3 = (0, import_styled_components84.default)(import_react_select.Content)`
|
|
13208
13536
|
--wui-select-content-border: var(--wui-color-border);
|
|
13209
13537
|
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
13210
13538
|
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
@@ -13222,7 +13550,7 @@ var StyledContent3 = (0, import_styled_components81.default)(import_react_select
|
|
|
13222
13550
|
max-height: var(--radix-select-content-available-height);
|
|
13223
13551
|
z-index: var(--wui-zindex-select);
|
|
13224
13552
|
`;
|
|
13225
|
-
var Select = (0,
|
|
13553
|
+
var Select = (0, import_react69.forwardRef)(
|
|
13226
13554
|
({
|
|
13227
13555
|
colorScheme = "inherit",
|
|
13228
13556
|
children,
|
|
@@ -13232,13 +13560,13 @@ var Select = (0, import_react65.forwardRef)(
|
|
|
13232
13560
|
...props
|
|
13233
13561
|
}, forwardedRef) => {
|
|
13234
13562
|
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
13235
|
-
return /* @__PURE__ */ (0,
|
|
13563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
|
|
13236
13564
|
import_react_select.Root,
|
|
13237
13565
|
{
|
|
13238
13566
|
...props,
|
|
13239
13567
|
onValueChange: onChange,
|
|
13240
13568
|
children: [
|
|
13241
|
-
/* @__PURE__ */ (0,
|
|
13569
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(
|
|
13242
13570
|
StyledTrigger2,
|
|
13243
13571
|
{
|
|
13244
13572
|
ref: forwardedRef,
|
|
@@ -13246,8 +13574,8 @@ var Select = (0, import_react65.forwardRef)(
|
|
|
13246
13574
|
$fullWidth: responsiveFullWidth,
|
|
13247
13575
|
...props,
|
|
13248
13576
|
children: [
|
|
13249
|
-
/* @__PURE__ */ (0,
|
|
13250
|
-
/* @__PURE__ */ (0,
|
|
13577
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Value, { placeholder }),
|
|
13578
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(
|
|
13251
13579
|
Icon,
|
|
13252
13580
|
{
|
|
13253
13581
|
size: "md",
|
|
@@ -13257,10 +13585,10 @@ var Select = (0, import_react65.forwardRef)(
|
|
|
13257
13585
|
]
|
|
13258
13586
|
}
|
|
13259
13587
|
),
|
|
13260
|
-
/* @__PURE__ */ (0,
|
|
13261
|
-
/* @__PURE__ */ (0,
|
|
13262
|
-
/* @__PURE__ */ (0,
|
|
13263
|
-
/* @__PURE__ */ (0,
|
|
13588
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsxs)(StyledContent3, { position: "popper", children: [
|
|
13589
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Icon, { type: "caret-up" }) }),
|
|
13590
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.Viewport, { children }),
|
|
13591
|
+
/* @__PURE__ */ (0, import_jsx_runtime269.jsx)(import_react_select.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime269.jsx)(Icon, { type: "caret-down" }) })
|
|
13264
13592
|
] }) })
|
|
13265
13593
|
]
|
|
13266
13594
|
}
|
|
@@ -13271,11 +13599,11 @@ Select.displayName = "Select";
|
|
|
13271
13599
|
|
|
13272
13600
|
// src/components/Select/SelectOption.tsx
|
|
13273
13601
|
var import_react_select2 = require("@radix-ui/react-select");
|
|
13274
|
-
var
|
|
13275
|
-
var
|
|
13276
|
-
var
|
|
13277
|
-
var
|
|
13278
|
-
var StyledItem = (0,
|
|
13602
|
+
var import_react70 = require("react");
|
|
13603
|
+
var import_styled_components85 = __toESM(require("styled-components"));
|
|
13604
|
+
var import_type_guards57 = require("@wistia/type-guards");
|
|
13605
|
+
var import_jsx_runtime270 = require("react/jsx-runtime");
|
|
13606
|
+
var StyledItem = (0, import_styled_components85.default)(import_react_select2.Item)`
|
|
13279
13607
|
${variantStyleMap2.body3};
|
|
13280
13608
|
display: flex;
|
|
13281
13609
|
padding: var(--wui-select-option-padding);
|
|
@@ -13299,28 +13627,28 @@ var StyledItem = (0, import_styled_components82.default)(import_react_select2.It
|
|
|
13299
13627
|
background-color: transparent;
|
|
13300
13628
|
}
|
|
13301
13629
|
`;
|
|
13302
|
-
var StyledIconContainer =
|
|
13630
|
+
var StyledIconContainer = import_styled_components85.default.span`
|
|
13303
13631
|
width: 12px;
|
|
13304
13632
|
`;
|
|
13305
|
-
var SelectOption = (0,
|
|
13633
|
+
var SelectOption = (0, import_react70.forwardRef)(
|
|
13306
13634
|
({ children, selectedDisplayValue, ...props }, forwardedRef) => {
|
|
13307
|
-
return /* @__PURE__ */ (0,
|
|
13635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)(
|
|
13308
13636
|
StyledItem,
|
|
13309
13637
|
{
|
|
13310
13638
|
...props,
|
|
13311
13639
|
ref: forwardedRef,
|
|
13312
13640
|
children: [
|
|
13313
|
-
/* @__PURE__ */ (0,
|
|
13641
|
+
/* @__PURE__ */ (0, import_jsx_runtime270.jsx)(StyledIconContainer, { "data-indicator": true, children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(
|
|
13314
13642
|
Icon,
|
|
13315
13643
|
{
|
|
13316
13644
|
size: "sm",
|
|
13317
13645
|
type: "checkmark"
|
|
13318
13646
|
}
|
|
13319
13647
|
) }) }),
|
|
13320
|
-
(0,
|
|
13648
|
+
(0, import_type_guards57.isNotNil)(selectedDisplayValue) ? /* @__PURE__ */ (0, import_jsx_runtime270.jsxs)("div", { children: [
|
|
13321
13649
|
children,
|
|
13322
|
-
/* @__PURE__ */ (0,
|
|
13323
|
-
] }) : /* @__PURE__ */ (0,
|
|
13650
|
+
/* @__PURE__ */ (0, import_jsx_runtime270.jsx)("div", { style: { display: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemText, { children: selectedDisplayValue }) })
|
|
13651
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(import_react_select2.ItemText, { children })
|
|
13324
13652
|
]
|
|
13325
13653
|
}
|
|
13326
13654
|
);
|
|
@@ -13330,14 +13658,14 @@ SelectOption.displayName = "SelectOption";
|
|
|
13330
13658
|
|
|
13331
13659
|
// src/components/Select/SelectOptionGroup.tsx
|
|
13332
13660
|
var import_react_select3 = require("@radix-ui/react-select");
|
|
13333
|
-
var
|
|
13334
|
-
var
|
|
13335
|
-
var StyledLabel4 = (0,
|
|
13661
|
+
var import_styled_components86 = __toESM(require("styled-components"));
|
|
13662
|
+
var import_jsx_runtime271 = require("react/jsx-runtime");
|
|
13663
|
+
var StyledLabel4 = (0, import_styled_components86.default)(import_react_select3.Label)`
|
|
13336
13664
|
padding: var(--wui-select-option-padding);
|
|
13337
13665
|
`;
|
|
13338
13666
|
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
13339
|
-
return /* @__PURE__ */ (0,
|
|
13340
|
-
/* @__PURE__ */ (0,
|
|
13667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime271.jsxs)(import_react_select3.Group, { ...props, children: [
|
|
13668
|
+
/* @__PURE__ */ (0, import_jsx_runtime271.jsx)(StyledLabel4, { children: /* @__PURE__ */ (0, import_jsx_runtime271.jsx)(
|
|
13341
13669
|
Text,
|
|
13342
13670
|
{
|
|
13343
13671
|
prominence: "secondary",
|
|
@@ -13351,10 +13679,10 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
|
13351
13679
|
|
|
13352
13680
|
// src/components/Slider/Slider.tsx
|
|
13353
13681
|
var import_react_slider = require("@radix-ui/react-slider");
|
|
13354
|
-
var
|
|
13355
|
-
var
|
|
13356
|
-
var
|
|
13357
|
-
var SliderContainer =
|
|
13682
|
+
var import_styled_components87 = __toESM(require("styled-components"));
|
|
13683
|
+
var import_type_guards58 = require("@wistia/type-guards");
|
|
13684
|
+
var import_jsx_runtime272 = require("react/jsx-runtime");
|
|
13685
|
+
var SliderContainer = import_styled_components87.default.div`
|
|
13358
13686
|
--wui-slider-track-color: var(--wui-gray-6);
|
|
13359
13687
|
--wui-slider-track-border-radius: var(--wui-border-radius-rounded);
|
|
13360
13688
|
--wui-slider-range-color: var(--wui-color-bg-fill);
|
|
@@ -13370,7 +13698,7 @@ var SliderContainer = import_styled_components84.default.div`
|
|
|
13370
13698
|
pointer-events: none;
|
|
13371
13699
|
}
|
|
13372
13700
|
`;
|
|
13373
|
-
var StyledSliderRoot = (0,
|
|
13701
|
+
var StyledSliderRoot = (0, import_styled_components87.default)(import_react_slider.Root)`
|
|
13374
13702
|
position: relative;
|
|
13375
13703
|
display: flex;
|
|
13376
13704
|
align-items: center;
|
|
@@ -13378,20 +13706,20 @@ var StyledSliderRoot = (0, import_styled_components84.default)(import_react_slid
|
|
|
13378
13706
|
touch-action: none;
|
|
13379
13707
|
width: 100%;
|
|
13380
13708
|
`;
|
|
13381
|
-
var StyledSliderTrack = (0,
|
|
13709
|
+
var StyledSliderTrack = (0, import_styled_components87.default)(import_react_slider.Track)`
|
|
13382
13710
|
background-color: var(--wui-slider-track-color);
|
|
13383
13711
|
border-radius: var(--wui-slider-track-border-radius);
|
|
13384
13712
|
flex-grow: 1;
|
|
13385
13713
|
height: 6px;
|
|
13386
13714
|
position: relative;
|
|
13387
13715
|
`;
|
|
13388
|
-
var StyledSliderRange = (0,
|
|
13716
|
+
var StyledSliderRange = (0, import_styled_components87.default)(import_react_slider.Range)`
|
|
13389
13717
|
background-color: var(--wui-slider-range-color);
|
|
13390
13718
|
border-radius: var(--wui-slider-track-border-radius);
|
|
13391
13719
|
height: 100%;
|
|
13392
13720
|
position: absolute;
|
|
13393
13721
|
`;
|
|
13394
|
-
var StyledSliderThumb = (0,
|
|
13722
|
+
var StyledSliderThumb = (0, import_styled_components87.default)(import_react_slider.Thumb)`
|
|
13395
13723
|
background-color: var(--wui-slider-thumb-color);
|
|
13396
13724
|
border-radius: var(--wui-border-radius-rounded);
|
|
13397
13725
|
cursor: grab;
|
|
@@ -13431,7 +13759,7 @@ var Slider = ({
|
|
|
13431
13759
|
"data-testid": dataTestId = "ui-slider",
|
|
13432
13760
|
...otherProps
|
|
13433
13761
|
}) => {
|
|
13434
|
-
if (!((0,
|
|
13762
|
+
if (!((0, import_type_guards58.isNonEmptyString)(ariaLabel) || (0, import_type_guards58.isNonEmptyString)(ariaLabelledby))) {
|
|
13435
13763
|
throw new Error(
|
|
13436
13764
|
"UI Slider: Sliders should have an accessible name. Add a label using the aria-label or aria-labelledby prop."
|
|
13437
13765
|
);
|
|
@@ -13442,12 +13770,12 @@ var Slider = ({
|
|
|
13442
13770
|
onChange(newValue);
|
|
13443
13771
|
}
|
|
13444
13772
|
};
|
|
13445
|
-
return /* @__PURE__ */ (0,
|
|
13773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
|
|
13446
13774
|
SliderContainer,
|
|
13447
13775
|
{
|
|
13448
13776
|
...otherProps,
|
|
13449
13777
|
"data-testid": dataTestId,
|
|
13450
|
-
children: /* @__PURE__ */ (0,
|
|
13778
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime272.jsxs)(
|
|
13451
13779
|
StyledSliderRoot,
|
|
13452
13780
|
{
|
|
13453
13781
|
"aria-label": ariaLabel,
|
|
@@ -13460,8 +13788,8 @@ var Slider = ({
|
|
|
13460
13788
|
step,
|
|
13461
13789
|
...value ? { value } : {},
|
|
13462
13790
|
children: [
|
|
13463
|
-
/* @__PURE__ */ (0,
|
|
13464
|
-
values.map((_, index) => /* @__PURE__ */ (0,
|
|
13791
|
+
/* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledSliderTrack, { "data-testid": `${dataTestId}-track`, children: /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(StyledSliderRange, { "data-testid": `${dataTestId}-range` }) }),
|
|
13792
|
+
values.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
|
|
13465
13793
|
StyledSliderThumb,
|
|
13466
13794
|
{
|
|
13467
13795
|
"data-testid": `${dataTestId}-thumb-${index}`
|
|
@@ -13477,11 +13805,11 @@ var Slider = ({
|
|
|
13477
13805
|
Slider.displayName = "Slider";
|
|
13478
13806
|
|
|
13479
13807
|
// src/components/Switch/Switch.tsx
|
|
13480
|
-
var
|
|
13481
|
-
var
|
|
13482
|
-
var
|
|
13483
|
-
var
|
|
13484
|
-
var sizeSmall3 =
|
|
13808
|
+
var import_react71 = require("react");
|
|
13809
|
+
var import_styled_components88 = __toESM(require("styled-components"));
|
|
13810
|
+
var import_type_guards59 = require("@wistia/type-guards");
|
|
13811
|
+
var import_jsx_runtime273 = require("react/jsx-runtime");
|
|
13812
|
+
var sizeSmall3 = import_styled_components88.css`
|
|
13485
13813
|
--wui-size-small-width: 24px;
|
|
13486
13814
|
--wui-size-small-height: 14px;
|
|
13487
13815
|
|
|
@@ -13496,7 +13824,7 @@ var sizeSmall3 = import_styled_components85.css`
|
|
|
13496
13824
|
height: calc(var(--wui-size-small-width) / 2);
|
|
13497
13825
|
}
|
|
13498
13826
|
`;
|
|
13499
|
-
var sizeMedium3 =
|
|
13827
|
+
var sizeMedium3 = import_styled_components88.css`
|
|
13500
13828
|
--wui-size-medium-width: 32px;
|
|
13501
13829
|
--wui-size-medium-height: 18px;
|
|
13502
13830
|
|
|
@@ -13511,7 +13839,7 @@ var sizeMedium3 = import_styled_components85.css`
|
|
|
13511
13839
|
height: calc(var(--wui-size-medium-width) / 2);
|
|
13512
13840
|
}
|
|
13513
13841
|
`;
|
|
13514
|
-
var sizeLarge3 =
|
|
13842
|
+
var sizeLarge3 = import_styled_components88.css`
|
|
13515
13843
|
--wui-size-large-width: 40px;
|
|
13516
13844
|
--wui-size-large-height: 22px;
|
|
13517
13845
|
|
|
@@ -13531,14 +13859,14 @@ var getSizeCss3 = (size) => {
|
|
|
13531
13859
|
if (size === "lg") return sizeLarge3;
|
|
13532
13860
|
return sizeMedium3;
|
|
13533
13861
|
};
|
|
13534
|
-
var StyledSwitchWrapper =
|
|
13862
|
+
var StyledSwitchWrapper = import_styled_components88.default.div`
|
|
13535
13863
|
display: flex;
|
|
13536
13864
|
margin: 0;
|
|
13537
13865
|
|
|
13538
13866
|
/* TODO this solves a problem but potentially causes and a11y issue */
|
|
13539
13867
|
user-select: none;
|
|
13540
13868
|
`;
|
|
13541
|
-
var StyledSwitchInput =
|
|
13869
|
+
var StyledSwitchInput = import_styled_components88.default.div`
|
|
13542
13870
|
${({ $size }) => getSizeCss3($size)}
|
|
13543
13871
|
line-height: 0;
|
|
13544
13872
|
margin: 0;
|
|
@@ -13566,7 +13894,7 @@ var StyledSwitchInput = import_styled_components85.default.div`
|
|
|
13566
13894
|
transition: all 0.2s ease-in-out;
|
|
13567
13895
|
}
|
|
13568
13896
|
`;
|
|
13569
|
-
var StyledHiddenSwitchInput =
|
|
13897
|
+
var StyledHiddenSwitchInput = import_styled_components88.default.input`
|
|
13570
13898
|
${visuallyHiddenStyle}
|
|
13571
13899
|
|
|
13572
13900
|
/* toggles display of faux-input background-color and toggle position */
|
|
@@ -13582,7 +13910,7 @@ var StyledHiddenSwitchInput = import_styled_components85.default.input`
|
|
|
13582
13910
|
}
|
|
13583
13911
|
}
|
|
13584
13912
|
`;
|
|
13585
|
-
var Switch = (0,
|
|
13913
|
+
var Switch = (0, import_react71.forwardRef)(
|
|
13586
13914
|
({
|
|
13587
13915
|
align = "left",
|
|
13588
13916
|
checked,
|
|
@@ -13598,10 +13926,10 @@ var Switch = (0, import_react67.forwardRef)(
|
|
|
13598
13926
|
hideLabel = false,
|
|
13599
13927
|
...props
|
|
13600
13928
|
}, ref) => {
|
|
13601
|
-
const generatedId = (0,
|
|
13602
|
-
const computedId = (0,
|
|
13603
|
-
return /* @__PURE__ */ (0,
|
|
13604
|
-
/* @__PURE__ */ (0,
|
|
13929
|
+
const generatedId = (0, import_react71.useId)();
|
|
13930
|
+
const computedId = (0, import_type_guards59.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
|
|
13931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime273.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
|
|
13932
|
+
/* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
|
|
13605
13933
|
StyledHiddenSwitchInput,
|
|
13606
13934
|
{
|
|
13607
13935
|
...props,
|
|
@@ -13616,11 +13944,11 @@ var Switch = (0, import_react67.forwardRef)(
|
|
|
13616
13944
|
value
|
|
13617
13945
|
}
|
|
13618
13946
|
),
|
|
13619
|
-
/* @__PURE__ */ (0,
|
|
13947
|
+
/* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
|
|
13620
13948
|
FormControlLabel,
|
|
13621
13949
|
{
|
|
13622
13950
|
align,
|
|
13623
|
-
controlSlot: /* @__PURE__ */ (0,
|
|
13951
|
+
controlSlot: /* @__PURE__ */ (0, import_jsx_runtime273.jsx)(
|
|
13624
13952
|
StyledSwitchInput,
|
|
13625
13953
|
{
|
|
13626
13954
|
$disabled: disabled,
|
|
@@ -13642,25 +13970,25 @@ var Switch = (0, import_react67.forwardRef)(
|
|
|
13642
13970
|
Switch.displayName = "Switch";
|
|
13643
13971
|
|
|
13644
13972
|
// src/components/Table/Table.tsx
|
|
13645
|
-
var
|
|
13646
|
-
var
|
|
13647
|
-
var StyledTable =
|
|
13973
|
+
var import_styled_components89 = __toESM(require("styled-components"));
|
|
13974
|
+
var import_jsx_runtime274 = require("react/jsx-runtime");
|
|
13975
|
+
var StyledTable = import_styled_components89.default.table`
|
|
13648
13976
|
width: 100%;
|
|
13649
13977
|
border-collapse: collapse;
|
|
13650
13978
|
|
|
13651
|
-
${({ $divided }) => $divided &&
|
|
13979
|
+
${({ $divided }) => $divided && import_styled_components89.css`
|
|
13652
13980
|
tr {
|
|
13653
13981
|
border-bottom: 1px solid var(--wui-color-border);
|
|
13654
13982
|
}
|
|
13655
13983
|
`}
|
|
13656
13984
|
|
|
13657
|
-
${({ $striped }) => $striped &&
|
|
13985
|
+
${({ $striped }) => $striped && import_styled_components89.css`
|
|
13658
13986
|
tbody tr:nth-child(even) {
|
|
13659
13987
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
13660
13988
|
}
|
|
13661
13989
|
`}
|
|
13662
13990
|
|
|
13663
|
-
${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader &&
|
|
13991
|
+
${({ $visuallyHiddenHeader }) => $visuallyHiddenHeader && import_styled_components89.css`
|
|
13664
13992
|
thead {
|
|
13665
13993
|
${visuallyHiddenStyle}
|
|
13666
13994
|
}
|
|
@@ -13673,7 +14001,7 @@ var Table = ({
|
|
|
13673
14001
|
visuallyHiddenHeader = false,
|
|
13674
14002
|
...props
|
|
13675
14003
|
}) => {
|
|
13676
|
-
return /* @__PURE__ */ (0,
|
|
14004
|
+
return /* @__PURE__ */ (0, import_jsx_runtime274.jsx)(
|
|
13677
14005
|
StyledTable,
|
|
13678
14006
|
{
|
|
13679
14007
|
$divided: divided,
|
|
@@ -13686,83 +14014,83 @@ var Table = ({
|
|
|
13686
14014
|
};
|
|
13687
14015
|
|
|
13688
14016
|
// src/components/Table/TableBody.tsx
|
|
13689
|
-
var
|
|
14017
|
+
var import_styled_components90 = __toESM(require("styled-components"));
|
|
13690
14018
|
|
|
13691
14019
|
// src/components/Table/TableSectionContext.ts
|
|
13692
|
-
var
|
|
13693
|
-
var TableSectionContext = (0,
|
|
14020
|
+
var import_react72 = require("react");
|
|
14021
|
+
var TableSectionContext = (0, import_react72.createContext)(null);
|
|
13694
14022
|
|
|
13695
14023
|
// src/components/Table/TableBody.tsx
|
|
13696
|
-
var
|
|
13697
|
-
var StyledTableBody =
|
|
14024
|
+
var import_jsx_runtime275 = require("react/jsx-runtime");
|
|
14025
|
+
var StyledTableBody = import_styled_components90.default.tbody``;
|
|
13698
14026
|
var TableBody = ({ children, ...props }) => {
|
|
13699
|
-
return /* @__PURE__ */ (0,
|
|
14027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime275.jsx)(StyledTableBody, { ...props, children }) });
|
|
13700
14028
|
};
|
|
13701
14029
|
|
|
13702
14030
|
// src/components/Table/TableCell.tsx
|
|
13703
|
-
var
|
|
13704
|
-
var
|
|
13705
|
-
var
|
|
13706
|
-
var sharedStyles =
|
|
14031
|
+
var import_react73 = require("react");
|
|
14032
|
+
var import_styled_components91 = __toESM(require("styled-components"));
|
|
14033
|
+
var import_jsx_runtime276 = require("react/jsx-runtime");
|
|
14034
|
+
var sharedStyles = import_styled_components91.css`
|
|
13707
14035
|
color: var(--wui-color-text);
|
|
13708
14036
|
padding: var(--wui-space-02);
|
|
13709
14037
|
text-align: left;
|
|
13710
14038
|
`;
|
|
13711
|
-
var StyledTh =
|
|
14039
|
+
var StyledTh = import_styled_components91.default.th`
|
|
13712
14040
|
${sharedStyles}
|
|
13713
14041
|
font-size: var(--wui-typography-body-4-size);
|
|
13714
14042
|
font-weight: var(--wui-typography-weight-label-bold);
|
|
13715
14043
|
line-height: var(--wui-typography-body-4-line-height);
|
|
13716
14044
|
`;
|
|
13717
|
-
var StyledTd =
|
|
14045
|
+
var StyledTd = import_styled_components91.default.td`
|
|
13718
14046
|
${sharedStyles}
|
|
13719
14047
|
font-size: var(--wui-typography-body-2-size);
|
|
13720
14048
|
font-weight: var(--wui-typography-body-2-weight);
|
|
13721
14049
|
line-height: var(--wui-typography-body-2-line-height);
|
|
13722
14050
|
`;
|
|
13723
14051
|
var TableCell = ({ children, ...props }) => {
|
|
13724
|
-
const section = (0,
|
|
14052
|
+
const section = (0, import_react73.useContext)(TableSectionContext);
|
|
13725
14053
|
if (section === "head") {
|
|
13726
|
-
return /* @__PURE__ */ (0,
|
|
14054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(StyledTh, { ...props, children });
|
|
13727
14055
|
}
|
|
13728
|
-
return /* @__PURE__ */ (0,
|
|
14056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime276.jsx)(StyledTd, { ...props, children });
|
|
13729
14057
|
};
|
|
13730
14058
|
|
|
13731
14059
|
// src/components/Table/TableFoot.tsx
|
|
13732
|
-
var
|
|
13733
|
-
var
|
|
13734
|
-
var StyledTableFoot =
|
|
14060
|
+
var import_styled_components92 = __toESM(require("styled-components"));
|
|
14061
|
+
var import_jsx_runtime277 = require("react/jsx-runtime");
|
|
14062
|
+
var StyledTableFoot = import_styled_components92.default.tfoot``;
|
|
13735
14063
|
var TableFoot = ({ children, ...props }) => {
|
|
13736
|
-
return /* @__PURE__ */ (0,
|
|
14064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(StyledTableFoot, { ...props, children }) });
|
|
13737
14065
|
};
|
|
13738
14066
|
|
|
13739
14067
|
// src/components/Table/TableHead.tsx
|
|
13740
|
-
var
|
|
13741
|
-
var
|
|
13742
|
-
var StyledThead =
|
|
14068
|
+
var import_styled_components93 = __toESM(require("styled-components"));
|
|
14069
|
+
var import_jsx_runtime278 = require("react/jsx-runtime");
|
|
14070
|
+
var StyledThead = import_styled_components93.default.thead``;
|
|
13743
14071
|
var TableHead = ({ children, ...props }) => {
|
|
13744
|
-
return /* @__PURE__ */ (0,
|
|
14072
|
+
return /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(TableSectionContext.Provider, { value: "head", children: /* @__PURE__ */ (0, import_jsx_runtime278.jsx)(StyledThead, { ...props, children }) });
|
|
13745
14073
|
};
|
|
13746
14074
|
|
|
13747
14075
|
// src/components/Table/TableRow.tsx
|
|
13748
|
-
var
|
|
13749
|
-
var
|
|
13750
|
-
var StyledTableRow =
|
|
14076
|
+
var import_styled_components94 = __toESM(require("styled-components"));
|
|
14077
|
+
var import_jsx_runtime279 = require("react/jsx-runtime");
|
|
14078
|
+
var StyledTableRow = import_styled_components94.default.tr``;
|
|
13751
14079
|
var TableRow = ({ children, ...props }) => {
|
|
13752
|
-
return /* @__PURE__ */ (0,
|
|
14080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime279.jsx)(StyledTableRow, { ...props, children });
|
|
13753
14081
|
};
|
|
13754
14082
|
|
|
13755
14083
|
// src/components/Tabs/Tabs.tsx
|
|
13756
14084
|
var import_react_tabs = require("@radix-ui/react-tabs");
|
|
13757
|
-
var
|
|
13758
|
-
var
|
|
14085
|
+
var import_react75 = require("react");
|
|
14086
|
+
var import_type_guards60 = require("@wistia/type-guards");
|
|
13759
14087
|
|
|
13760
14088
|
// src/components/Tabs/useTabsValue.tsx
|
|
13761
|
-
var
|
|
13762
|
-
var TabsValueContext = (0,
|
|
14089
|
+
var import_react74 = require("react");
|
|
14090
|
+
var TabsValueContext = (0, import_react74.createContext)(null);
|
|
13763
14091
|
var TabsValueProvider = TabsValueContext.Provider;
|
|
13764
14092
|
var useTabsValue = () => {
|
|
13765
|
-
const context = (0,
|
|
14093
|
+
const context = (0, import_react74.useContext)(TabsValueContext);
|
|
13766
14094
|
if (context === null) {
|
|
13767
14095
|
throw new Error("useTabsValue must be used within a TabsValueProvider");
|
|
13768
14096
|
}
|
|
@@ -13770,7 +14098,7 @@ var useTabsValue = () => {
|
|
|
13770
14098
|
};
|
|
13771
14099
|
|
|
13772
14100
|
// src/components/Tabs/Tabs.tsx
|
|
13773
|
-
var
|
|
14101
|
+
var import_jsx_runtime280 = require("react/jsx-runtime");
|
|
13774
14102
|
var Tabs = ({
|
|
13775
14103
|
children,
|
|
13776
14104
|
value: valueProp,
|
|
@@ -13778,8 +14106,8 @@ var Tabs = ({
|
|
|
13778
14106
|
defaultValue,
|
|
13779
14107
|
...props
|
|
13780
14108
|
}) => {
|
|
13781
|
-
const [value, setValue] = (0,
|
|
13782
|
-
const onValueChange = (0,
|
|
14109
|
+
const [value, setValue] = (0, import_react75.useState)(valueProp ?? defaultValue);
|
|
14110
|
+
const onValueChange = (0, import_react75.useCallback)(
|
|
13783
14111
|
(newValue) => {
|
|
13784
14112
|
setValue(newValue);
|
|
13785
14113
|
if (onValueChangeProp) {
|
|
@@ -13792,48 +14120,48 @@ var Tabs = ({
|
|
|
13792
14120
|
...props,
|
|
13793
14121
|
onValueChange
|
|
13794
14122
|
};
|
|
13795
|
-
if ((0,
|
|
14123
|
+
if ((0, import_type_guards60.isNotNil)(value)) {
|
|
13796
14124
|
rootProps.value = value;
|
|
13797
14125
|
}
|
|
13798
|
-
if ((0,
|
|
14126
|
+
if ((0, import_type_guards60.isNotNil)(defaultValue)) {
|
|
13799
14127
|
rootProps.defaultValue = defaultValue;
|
|
13800
14128
|
}
|
|
13801
|
-
return /* @__PURE__ */ (0,
|
|
14129
|
+
return /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(import_react_tabs.Root, { ...rootProps, children: /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(TabsValueProvider, { value: value ?? defaultValue, children: /* @__PURE__ */ (0, import_jsx_runtime280.jsx)(SelectedItemStyleProvider, { children }) }) });
|
|
13802
14130
|
};
|
|
13803
14131
|
Tabs.displayName = "Tabs";
|
|
13804
14132
|
|
|
13805
14133
|
// src/components/Tabs/TabsContent.tsx
|
|
13806
14134
|
var import_react_tabs2 = require("@radix-ui/react-tabs");
|
|
13807
|
-
var
|
|
14135
|
+
var import_jsx_runtime281 = require("react/jsx-runtime");
|
|
13808
14136
|
var TabsContent = ({ children, value }) => {
|
|
13809
|
-
return /* @__PURE__ */ (0,
|
|
14137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime281.jsx)(import_react_tabs2.Content, { value, children });
|
|
13810
14138
|
};
|
|
13811
14139
|
TabsContent.displayName = "TabsContent";
|
|
13812
14140
|
|
|
13813
14141
|
// src/components/Tabs/TabsList.tsx
|
|
13814
14142
|
var import_react_tabs3 = require("@radix-ui/react-tabs");
|
|
13815
|
-
var
|
|
14143
|
+
var import_styled_components96 = __toESM(require("styled-components"));
|
|
13816
14144
|
|
|
13817
14145
|
// src/components/Tabs/SelectedTabIndicator.tsx
|
|
13818
|
-
var
|
|
14146
|
+
var import_type_guards61 = require("@wistia/type-guards");
|
|
13819
14147
|
|
|
13820
14148
|
// src/components/Tabs/TabsSelectedItemIndicatorDiv.tsx
|
|
13821
|
-
var
|
|
13822
|
-
var TabsSelectedItemIndicatorDiv = (0,
|
|
14149
|
+
var import_styled_components95 = __toESM(require("styled-components"));
|
|
14150
|
+
var TabsSelectedItemIndicatorDiv = (0, import_styled_components95.default)(SelectedItemIndicatorDiv)`
|
|
13823
14151
|
&:has(~ button[role='tab']:focus-visible) {
|
|
13824
14152
|
outline: 2px solid var(--wui-color-focus-ring);
|
|
13825
14153
|
}
|
|
13826
14154
|
`;
|
|
13827
14155
|
|
|
13828
14156
|
// src/components/Tabs/SelectedTabIndicator.tsx
|
|
13829
|
-
var
|
|
14157
|
+
var import_jsx_runtime282 = require("react/jsx-runtime");
|
|
13830
14158
|
var SelectedTabIndicator = () => {
|
|
13831
14159
|
const { selectedItemIndicatorStyle } = useSelectedItemStyle();
|
|
13832
14160
|
const selectedValue = useTabsValue();
|
|
13833
|
-
if (selectedValue == null || (0,
|
|
14161
|
+
if (selectedValue == null || (0, import_type_guards61.isUndefined)(selectedItemIndicatorStyle)) {
|
|
13834
14162
|
return null;
|
|
13835
14163
|
}
|
|
13836
|
-
return /* @__PURE__ */ (0,
|
|
14164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime282.jsx)(
|
|
13837
14165
|
TabsSelectedItemIndicatorDiv,
|
|
13838
14166
|
{
|
|
13839
14167
|
"data-wui-selected-item-indicator": true,
|
|
@@ -13843,19 +14171,19 @@ var SelectedTabIndicator = () => {
|
|
|
13843
14171
|
};
|
|
13844
14172
|
|
|
13845
14173
|
// src/components/Tabs/TabsList.tsx
|
|
13846
|
-
var
|
|
13847
|
-
var StyledRadixTabsList = (0,
|
|
14174
|
+
var import_jsx_runtime283 = require("react/jsx-runtime");
|
|
14175
|
+
var StyledRadixTabsList = (0, import_styled_components96.default)(import_react_tabs3.List)`
|
|
13848
14176
|
${segmentedControlStyles}
|
|
13849
14177
|
`;
|
|
13850
14178
|
var TabsList = ({ children, fullWidth = true, ...props }) => {
|
|
13851
|
-
return /* @__PURE__ */ (0,
|
|
14179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime283.jsxs)(
|
|
13852
14180
|
StyledRadixTabsList,
|
|
13853
14181
|
{
|
|
13854
14182
|
$fullWidth: fullWidth,
|
|
13855
14183
|
"aria-label": props["aria-label"],
|
|
13856
14184
|
children: [
|
|
13857
14185
|
children,
|
|
13858
|
-
/* @__PURE__ */ (0,
|
|
14186
|
+
/* @__PURE__ */ (0, import_jsx_runtime283.jsx)(SelectedTabIndicator, {})
|
|
13859
14187
|
]
|
|
13860
14188
|
}
|
|
13861
14189
|
);
|
|
@@ -13863,13 +14191,13 @@ var TabsList = ({ children, fullWidth = true, ...props }) => {
|
|
|
13863
14191
|
TabsList.displayName = "TabsList";
|
|
13864
14192
|
|
|
13865
14193
|
// src/components/Tabs/TabsTrigger.tsx
|
|
13866
|
-
var
|
|
13867
|
-
var
|
|
14194
|
+
var import_react76 = require("react");
|
|
14195
|
+
var import_type_guards62 = require("@wistia/type-guards");
|
|
13868
14196
|
|
|
13869
14197
|
// src/components/Tabs/StyledRadixTabsTrigger.tsx
|
|
13870
|
-
var
|
|
14198
|
+
var import_styled_components97 = __toESM(require("styled-components"));
|
|
13871
14199
|
var import_react_tabs4 = require("@radix-ui/react-tabs");
|
|
13872
|
-
var StyledRadixTabsTrigger = (0,
|
|
14200
|
+
var StyledRadixTabsTrigger = (0, import_styled_components97.default)(import_react_tabs4.Trigger)`
|
|
13873
14201
|
${segmentedControlItemStyles}
|
|
13874
14202
|
|
|
13875
14203
|
&:focus-visible {
|
|
@@ -13878,14 +14206,14 @@ var StyledRadixTabsTrigger = (0, import_styled_components94.default)(import_reac
|
|
|
13878
14206
|
`;
|
|
13879
14207
|
|
|
13880
14208
|
// src/components/Tabs/TabsTrigger.tsx
|
|
13881
|
-
var
|
|
13882
|
-
var TabsTrigger = (0,
|
|
14209
|
+
var import_jsx_runtime284 = require("react/jsx-runtime");
|
|
14210
|
+
var TabsTrigger = (0, import_react76.forwardRef)(
|
|
13883
14211
|
({ disabled = false, icon, label, "aria-label": ariaLabel, value, ...otherProps }, forwardedRef) => {
|
|
13884
14212
|
const selectedValue = useTabsValue();
|
|
13885
14213
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
13886
|
-
const buttonRef = (0,
|
|
14214
|
+
const buttonRef = (0, import_react76.useRef)(null);
|
|
13887
14215
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
13888
|
-
(0,
|
|
14216
|
+
(0, import_react76.useEffect)(() => {
|
|
13889
14217
|
const buttonElem = buttonRef.current;
|
|
13890
14218
|
if (!buttonElem) {
|
|
13891
14219
|
return void 0;
|
|
@@ -13910,13 +14238,13 @@ var TabsTrigger = (0, import_react72.forwardRef)(
|
|
|
13910
14238
|
resizeObserver.disconnect();
|
|
13911
14239
|
};
|
|
13912
14240
|
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
13913
|
-
return /* @__PURE__ */ (0,
|
|
14241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime284.jsxs)(
|
|
13914
14242
|
StyledRadixTabsTrigger,
|
|
13915
14243
|
{
|
|
13916
14244
|
...otherProps,
|
|
13917
14245
|
ref: combinedRef,
|
|
13918
|
-
$hasLabel: (0,
|
|
13919
|
-
"aria-label": (0,
|
|
14246
|
+
$hasLabel: (0, import_type_guards62.isNotNil)(label),
|
|
14247
|
+
"aria-label": (0, import_type_guards62.isNotNil)(label) ? void 0 : ariaLabel,
|
|
13920
14248
|
disabled,
|
|
13921
14249
|
value,
|
|
13922
14250
|
children: [
|
|
@@ -13930,10 +14258,10 @@ var TabsTrigger = (0, import_react72.forwardRef)(
|
|
|
13930
14258
|
TabsTrigger.displayName = "TabsTrigger";
|
|
13931
14259
|
|
|
13932
14260
|
// src/components/Thumbnail/ThumbnailBadge.tsx
|
|
13933
|
-
var
|
|
13934
|
-
var
|
|
13935
|
-
var
|
|
13936
|
-
var StyledThumbnailBadge =
|
|
14261
|
+
var import_styled_components98 = __toESM(require("styled-components"));
|
|
14262
|
+
var import_type_guards63 = require("@wistia/type-guards");
|
|
14263
|
+
var import_jsx_runtime285 = require("react/jsx-runtime");
|
|
14264
|
+
var StyledThumbnailBadge = import_styled_components98.default.div`
|
|
13937
14265
|
align-items: center;
|
|
13938
14266
|
background-color: rgb(0 0 0 / 50%);
|
|
13939
14267
|
border-radius: var(--wui-border-radius-01);
|
|
@@ -13958,23 +14286,23 @@ var StyledThumbnailBadge = import_styled_components95.default.div`
|
|
|
13958
14286
|
}
|
|
13959
14287
|
`;
|
|
13960
14288
|
var ThumbnailBadge = ({ icon, label, ...props }) => {
|
|
13961
|
-
return /* @__PURE__ */ (0,
|
|
13962
|
-
(0,
|
|
13963
|
-
/* @__PURE__ */ (0,
|
|
14289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime285.jsxs)(StyledThumbnailBadge, { ...props, children: [
|
|
14290
|
+
(0, import_type_guards63.isNotNil)(icon) && icon,
|
|
14291
|
+
/* @__PURE__ */ (0, import_jsx_runtime285.jsx)("span", { children: label })
|
|
13964
14292
|
] });
|
|
13965
14293
|
};
|
|
13966
14294
|
ThumbnailBadge.displayName = "ThumbnailBadge";
|
|
13967
14295
|
|
|
13968
14296
|
// src/components/Thumbnail/Thumbnail.tsx
|
|
13969
|
-
var
|
|
13970
|
-
var
|
|
13971
|
-
var
|
|
14297
|
+
var import_react77 = require("react");
|
|
14298
|
+
var import_styled_components101 = __toESM(require("styled-components"));
|
|
14299
|
+
var import_type_guards66 = require("@wistia/type-guards");
|
|
13972
14300
|
|
|
13973
14301
|
// src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
|
|
13974
|
-
var
|
|
13975
|
-
var
|
|
14302
|
+
var import_type_guards64 = require("@wistia/type-guards");
|
|
14303
|
+
var import_styled_components99 = require("styled-components");
|
|
13976
14304
|
var gradients = {
|
|
13977
|
-
defaultDarkOne:
|
|
14305
|
+
defaultDarkOne: import_styled_components99.css`
|
|
13978
14306
|
background-color: #222d66;
|
|
13979
14307
|
background-image:
|
|
13980
14308
|
radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
|
|
@@ -13982,7 +14310,7 @@ var gradients = {
|
|
|
13982
14310
|
radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
|
|
13983
14311
|
radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
|
|
13984
14312
|
`,
|
|
13985
|
-
defaultDarkTwo:
|
|
14313
|
+
defaultDarkTwo: import_styled_components99.css`
|
|
13986
14314
|
background-color: #222d66;
|
|
13987
14315
|
background-image:
|
|
13988
14316
|
radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
|
|
@@ -13990,7 +14318,7 @@ var gradients = {
|
|
|
13990
14318
|
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
13991
14319
|
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
13992
14320
|
`,
|
|
13993
|
-
defaultLightOne:
|
|
14321
|
+
defaultLightOne: import_styled_components99.css`
|
|
13994
14322
|
background-color: #ccd5ff;
|
|
13995
14323
|
background-image:
|
|
13996
14324
|
radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
|
|
@@ -13998,13 +14326,13 @@ var gradients = {
|
|
|
13998
14326
|
radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
|
|
13999
14327
|
radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
|
|
14000
14328
|
`,
|
|
14001
|
-
defaultLightTwo:
|
|
14329
|
+
defaultLightTwo: import_styled_components99.css`
|
|
14002
14330
|
background-color: #ccd5ff;
|
|
14003
14331
|
background-image:
|
|
14004
14332
|
radial-gradient(ellipse at top, #ccd5ff, transparent),
|
|
14005
14333
|
radial-gradient(ellipse at bottom, #6b84ff, transparent);
|
|
14006
14334
|
`,
|
|
14007
|
-
defaultMidOne:
|
|
14335
|
+
defaultMidOne: import_styled_components99.css`
|
|
14008
14336
|
background-color: #6b84ff;
|
|
14009
14337
|
background-image:
|
|
14010
14338
|
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
|
|
@@ -14012,13 +14340,13 @@ var gradients = {
|
|
|
14012
14340
|
radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
|
|
14013
14341
|
radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
|
|
14014
14342
|
`,
|
|
14015
|
-
defaultMidTwo:
|
|
14343
|
+
defaultMidTwo: import_styled_components99.css`
|
|
14016
14344
|
background-color: #6b84ff;
|
|
14017
14345
|
background-image:
|
|
14018
14346
|
radial-gradient(ellipse at top, #2949e5, transparent),
|
|
14019
14347
|
radial-gradient(ellipse at bottom, #ccd5ff, transparent);
|
|
14020
14348
|
`,
|
|
14021
|
-
green:
|
|
14349
|
+
green: import_styled_components99.css`
|
|
14022
14350
|
background-color: #fafffa;
|
|
14023
14351
|
background-image:
|
|
14024
14352
|
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
@@ -14026,7 +14354,7 @@ var gradients = {
|
|
|
14026
14354
|
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
14027
14355
|
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
14028
14356
|
`,
|
|
14029
|
-
greenWithPop:
|
|
14357
|
+
greenWithPop: import_styled_components99.css`
|
|
14030
14358
|
background-color: #fafffa;
|
|
14031
14359
|
background-image:
|
|
14032
14360
|
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
@@ -14034,7 +14362,7 @@ var gradients = {
|
|
|
14034
14362
|
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
14035
14363
|
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
14036
14364
|
`,
|
|
14037
|
-
pink:
|
|
14365
|
+
pink: import_styled_components99.css`
|
|
14038
14366
|
background-color: #fffff0;
|
|
14039
14367
|
background-image:
|
|
14040
14368
|
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
|
|
@@ -14042,7 +14370,7 @@ var gradients = {
|
|
|
14042
14370
|
radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
|
|
14043
14371
|
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
|
|
14044
14372
|
`,
|
|
14045
|
-
pinkWithPop:
|
|
14373
|
+
pinkWithPop: import_styled_components99.css`
|
|
14046
14374
|
background-color: #fffff0;
|
|
14047
14375
|
background-image:
|
|
14048
14376
|
radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
|
|
@@ -14050,7 +14378,7 @@ var gradients = {
|
|
|
14050
14378
|
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
|
|
14051
14379
|
radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
|
|
14052
14380
|
`,
|
|
14053
|
-
playfulGradientOne:
|
|
14381
|
+
playfulGradientOne: import_styled_components99.css`
|
|
14054
14382
|
background-color: #f7f8ff;
|
|
14055
14383
|
background-image:
|
|
14056
14384
|
radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
|
|
@@ -14058,7 +14386,7 @@ var gradients = {
|
|
|
14058
14386
|
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
|
|
14059
14387
|
radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
|
|
14060
14388
|
`,
|
|
14061
|
-
playfulGradientTwo:
|
|
14389
|
+
playfulGradientTwo: import_styled_components99.css`
|
|
14062
14390
|
background-color: #f7f8ff;
|
|
14063
14391
|
background-image:
|
|
14064
14392
|
radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
|
|
@@ -14066,13 +14394,13 @@ var gradients = {
|
|
|
14066
14394
|
radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
|
|
14067
14395
|
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
14068
14396
|
`,
|
|
14069
|
-
purple:
|
|
14397
|
+
purple: import_styled_components99.css`
|
|
14070
14398
|
background-color: #f2caff;
|
|
14071
14399
|
background-image:
|
|
14072
14400
|
radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
|
|
14073
14401
|
radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
|
|
14074
14402
|
`,
|
|
14075
|
-
purpleWithPop:
|
|
14403
|
+
purpleWithPop: import_styled_components99.css`
|
|
14076
14404
|
background-color: #f2caff;
|
|
14077
14405
|
background-image:
|
|
14078
14406
|
radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
|
|
@@ -14080,7 +14408,7 @@ var gradients = {
|
|
|
14080
14408
|
radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
|
|
14081
14409
|
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
14082
14410
|
`,
|
|
14083
|
-
yellow:
|
|
14411
|
+
yellow: import_styled_components99.css`
|
|
14084
14412
|
background-color: #fffff0;
|
|
14085
14413
|
background-image:
|
|
14086
14414
|
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
@@ -14088,7 +14416,7 @@ var gradients = {
|
|
|
14088
14416
|
radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
|
|
14089
14417
|
radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
|
|
14090
14418
|
`,
|
|
14091
|
-
yellowWithPop:
|
|
14419
|
+
yellowWithPop: import_styled_components99.css`
|
|
14092
14420
|
background-color: #fffff0;
|
|
14093
14421
|
background-image:
|
|
14094
14422
|
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
@@ -14099,14 +14427,14 @@ var gradients = {
|
|
|
14099
14427
|
};
|
|
14100
14428
|
var gradientMap = Object.keys(gradients);
|
|
14101
14429
|
var getBackgroundGradient = (gradientName = void 0) => {
|
|
14102
|
-
return (0,
|
|
14430
|
+
return (0, import_type_guards64.isNotNil)(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
|
|
14103
14431
|
};
|
|
14104
14432
|
|
|
14105
14433
|
// src/components/Thumbnail/ThumbnailStoryboardViewer.tsx
|
|
14106
|
-
var
|
|
14107
|
-
var
|
|
14108
|
-
var
|
|
14109
|
-
var ScrubLine =
|
|
14434
|
+
var import_styled_components100 = __toESM(require("styled-components"));
|
|
14435
|
+
var import_type_guards65 = require("@wistia/type-guards");
|
|
14436
|
+
var import_jsx_runtime286 = require("react/jsx-runtime");
|
|
14437
|
+
var ScrubLine = import_styled_components100.default.div`
|
|
14110
14438
|
position: absolute;
|
|
14111
14439
|
top: 0;
|
|
14112
14440
|
height: 100%;
|
|
@@ -14190,8 +14518,8 @@ var ThumbnailStoryboardViewer = ({
|
|
|
14190
14518
|
);
|
|
14191
14519
|
const backgroundSize = `${scaledStoryboardWidth}px ${scaledStoryboardHeight}px`;
|
|
14192
14520
|
const backgroundImage = `url(${storyboardUrl})`;
|
|
14193
|
-
const showScrubLine = (0,
|
|
14194
|
-
const scrubLinePosition = (0,
|
|
14521
|
+
const showScrubLine = (0, import_type_guards65.isNotNil)(cursorPosition);
|
|
14522
|
+
const scrubLinePosition = (0, import_type_guards65.isNotNil)(cursorPosition) ? `${cursorPosition - 1}px` : "0";
|
|
14195
14523
|
const viewerStyles = {
|
|
14196
14524
|
position: "relative",
|
|
14197
14525
|
overflow: "hidden",
|
|
@@ -14209,14 +14537,14 @@ var ThumbnailStoryboardViewer = ({
|
|
|
14209
14537
|
backgroundPosition,
|
|
14210
14538
|
backgroundSize
|
|
14211
14539
|
};
|
|
14212
|
-
return /* @__PURE__ */ (0,
|
|
14540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime286.jsxs)(
|
|
14213
14541
|
"div",
|
|
14214
14542
|
{
|
|
14215
14543
|
...props,
|
|
14216
14544
|
style: viewerStyles,
|
|
14217
14545
|
children: [
|
|
14218
|
-
/* @__PURE__ */ (0,
|
|
14219
|
-
showScrubLine ? /* @__PURE__ */ (0,
|
|
14546
|
+
/* @__PURE__ */ (0, import_jsx_runtime286.jsx)("div", { style: storyboardStyles }),
|
|
14547
|
+
showScrubLine ? /* @__PURE__ */ (0, import_jsx_runtime286.jsx)(
|
|
14220
14548
|
ScrubLine,
|
|
14221
14549
|
{
|
|
14222
14550
|
style: {
|
|
@@ -14230,20 +14558,20 @@ var ThumbnailStoryboardViewer = ({
|
|
|
14230
14558
|
};
|
|
14231
14559
|
|
|
14232
14560
|
// src/components/Thumbnail/Thumbnail.tsx
|
|
14233
|
-
var
|
|
14234
|
-
var WideThumbnailImage =
|
|
14561
|
+
var import_jsx_runtime287 = require("react/jsx-runtime");
|
|
14562
|
+
var WideThumbnailImage = import_styled_components101.default.img`
|
|
14235
14563
|
height: 100%;
|
|
14236
14564
|
object-fit: cover;
|
|
14237
14565
|
width: 100%;
|
|
14238
14566
|
`;
|
|
14239
|
-
var SquareThumbnailImage =
|
|
14567
|
+
var SquareThumbnailImage = import_styled_components101.default.img`
|
|
14240
14568
|
backdrop-filter: blur(8px);
|
|
14241
14569
|
object-fit: contain;
|
|
14242
14570
|
width: 100%;
|
|
14243
14571
|
`;
|
|
14244
14572
|
var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
|
|
14245
14573
|
if (thumbnailImageType === "wide") {
|
|
14246
|
-
return /* @__PURE__ */ (0,
|
|
14574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
|
|
14247
14575
|
WideThumbnailImage,
|
|
14248
14576
|
{
|
|
14249
14577
|
alt: "",
|
|
@@ -14252,7 +14580,7 @@ var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
|
|
|
14252
14580
|
}
|
|
14253
14581
|
);
|
|
14254
14582
|
}
|
|
14255
|
-
return /* @__PURE__ */ (0,
|
|
14583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
|
|
14256
14584
|
SquareThumbnailImage,
|
|
14257
14585
|
{
|
|
14258
14586
|
alt: "",
|
|
@@ -14261,11 +14589,11 @@ var ThumbnailImage = ({ thumbnailImageType, thumbnailUrl }) => {
|
|
|
14261
14589
|
}
|
|
14262
14590
|
);
|
|
14263
14591
|
};
|
|
14264
|
-
var StyledThumbnail =
|
|
14265
|
-
background-image: ${({ $backgroundUrl }) => (0,
|
|
14592
|
+
var StyledThumbnail = import_styled_components101.default.div`
|
|
14593
|
+
background-image: ${({ $backgroundUrl }) => (0, import_type_guards66.isNotNil)($backgroundUrl) ? `url('${$backgroundUrl}')` : void 0};
|
|
14266
14594
|
${({ $backgroundUrl, $gradientBackground }) => (
|
|
14267
14595
|
// if we don't have $backgroundUrl show a gradient
|
|
14268
|
-
(0,
|
|
14596
|
+
(0, import_type_guards66.isNil)($backgroundUrl) ? getBackgroundGradient($gradientBackground) : void 0
|
|
14269
14597
|
)};
|
|
14270
14598
|
background-position: center center;
|
|
14271
14599
|
background-size: cover;
|
|
@@ -14290,7 +14618,7 @@ var getRelativeMousePosition = (elem, mouseEvent) => {
|
|
|
14290
14618
|
left: relativeLeft
|
|
14291
14619
|
};
|
|
14292
14620
|
};
|
|
14293
|
-
var Thumbnail = (0,
|
|
14621
|
+
var Thumbnail = (0, import_react77.forwardRef)(
|
|
14294
14622
|
({
|
|
14295
14623
|
gradientBackground = "defaultMidOne",
|
|
14296
14624
|
thumbnailImageType = "wide",
|
|
@@ -14301,17 +14629,17 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14301
14629
|
height,
|
|
14302
14630
|
...props
|
|
14303
14631
|
}, ref) => {
|
|
14304
|
-
const [percent, setPercent] = (0,
|
|
14305
|
-
const [isMouseOver, setIsMouseOver] = (0,
|
|
14306
|
-
const [isStoryboardReady, setIsStoryboardReady] = (0,
|
|
14307
|
-
const storyboardElementRef = (0,
|
|
14308
|
-
const [cursorPosition, setCursorPosition] = (0,
|
|
14309
|
-
const backgroundUrl = (0,
|
|
14310
|
-
() => thumbnailImageType === "square" && (0,
|
|
14632
|
+
const [percent, setPercent] = (0, import_react77.useState)(0);
|
|
14633
|
+
const [isMouseOver, setIsMouseOver] = (0, import_react77.useState)(false);
|
|
14634
|
+
const [isStoryboardReady, setIsStoryboardReady] = (0, import_react77.useState)(false);
|
|
14635
|
+
const storyboardElementRef = (0, import_react77.useRef)(null);
|
|
14636
|
+
const [cursorPosition, setCursorPosition] = (0, import_react77.useState)(null);
|
|
14637
|
+
const backgroundUrl = (0, import_react77.useMemo)(
|
|
14638
|
+
() => thumbnailImageType === "square" && (0, import_type_guards66.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0,
|
|
14311
14639
|
[thumbnailImageType, thumbnailUrl]
|
|
14312
14640
|
);
|
|
14313
|
-
const isScrubbable = (0,
|
|
14314
|
-
const trackStoryboardLoadStatus = (0,
|
|
14641
|
+
const isScrubbable = (0, import_type_guards66.isNotNil)(storyboard);
|
|
14642
|
+
const trackStoryboardLoadStatus = (0, import_react77.useCallback)(() => {
|
|
14315
14643
|
if (storyboardElementRef.current || !storyboard) {
|
|
14316
14644
|
return storyboardElementRef.current;
|
|
14317
14645
|
}
|
|
@@ -14321,7 +14649,7 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14321
14649
|
storyboardElementRef.current = asset;
|
|
14322
14650
|
return storyboardElementRef.current;
|
|
14323
14651
|
}, [storyboard]);
|
|
14324
|
-
const handleMouseMove = (0,
|
|
14652
|
+
const handleMouseMove = (0, import_react77.useCallback)(
|
|
14325
14653
|
(mouseEvent) => {
|
|
14326
14654
|
if (!isScrubbable) return;
|
|
14327
14655
|
const elem = mouseEvent.currentTarget;
|
|
@@ -14334,16 +14662,16 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14334
14662
|
},
|
|
14335
14663
|
[isScrubbable, trackStoryboardLoadStatus]
|
|
14336
14664
|
);
|
|
14337
|
-
const handleMouseOut = (0,
|
|
14665
|
+
const handleMouseOut = (0, import_react77.useCallback)(() => {
|
|
14338
14666
|
if (!isScrubbable) return;
|
|
14339
14667
|
setIsMouseOver(false);
|
|
14340
14668
|
setCursorPosition(null);
|
|
14341
14669
|
}, [isScrubbable]);
|
|
14342
|
-
const shouldRenderStoryboard = (0,
|
|
14670
|
+
const shouldRenderStoryboard = (0, import_react77.useMemo)(() => {
|
|
14343
14671
|
return Boolean(isScrubbable && isMouseOver && isStoryboardReady);
|
|
14344
14672
|
}, [isScrubbable, isMouseOver, isStoryboardReady]);
|
|
14345
|
-
const renderStoryboard = (0,
|
|
14346
|
-
if (!storyboard || (0,
|
|
14673
|
+
const renderStoryboard = (0, import_react77.useCallback)(() => {
|
|
14674
|
+
if (!storyboard || (0, import_type_guards66.isUndefined)(height) || (0, import_type_guards66.isEmptyString)(height)) return null;
|
|
14347
14675
|
const {
|
|
14348
14676
|
url,
|
|
14349
14677
|
width: sbWidth,
|
|
@@ -14353,9 +14681,9 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14353
14681
|
frameCount,
|
|
14354
14682
|
aspectRatio
|
|
14355
14683
|
} = storyboard;
|
|
14356
|
-
const targetWidth = (0,
|
|
14684
|
+
const targetWidth = (0, import_type_guards66.isString)(width) ? parseInt(width, 10) : Number(width);
|
|
14357
14685
|
const effectiveCursorPosition = isStoryboardReady ? cursorPosition : null;
|
|
14358
|
-
return /* @__PURE__ */ (0,
|
|
14686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
|
|
14359
14687
|
ThumbnailStoryboardViewer,
|
|
14360
14688
|
{
|
|
14361
14689
|
cursorPosition: effectiveCursorPosition,
|
|
@@ -14374,8 +14702,8 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14374
14702
|
let thumbnailContent = null;
|
|
14375
14703
|
if (shouldRenderStoryboard) {
|
|
14376
14704
|
thumbnailContent = renderStoryboard();
|
|
14377
|
-
} else if ((0,
|
|
14378
|
-
thumbnailContent = /* @__PURE__ */ (0,
|
|
14705
|
+
} else if ((0, import_type_guards66.isNotNil)(thumbnailUrl)) {
|
|
14706
|
+
thumbnailContent = /* @__PURE__ */ (0, import_jsx_runtime287.jsx)(
|
|
14379
14707
|
ThumbnailImage,
|
|
14380
14708
|
{
|
|
14381
14709
|
thumbnailImageType,
|
|
@@ -14385,7 +14713,7 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14385
14713
|
} else {
|
|
14386
14714
|
thumbnailContent = null;
|
|
14387
14715
|
}
|
|
14388
|
-
return /* @__PURE__ */ (0,
|
|
14716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime287.jsxs)(
|
|
14389
14717
|
StyledThumbnail,
|
|
14390
14718
|
{
|
|
14391
14719
|
ref,
|
|
@@ -14399,7 +14727,7 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14399
14727
|
onMouseOut: handleMouseOut,
|
|
14400
14728
|
role: "presentation",
|
|
14401
14729
|
children: [
|
|
14402
|
-
(0,
|
|
14730
|
+
(0, import_type_guards66.isNotNil)(children) ? children : null,
|
|
14403
14731
|
thumbnailContent
|
|
14404
14732
|
]
|
|
14405
14733
|
}
|
|
@@ -14409,14 +14737,14 @@ var Thumbnail = (0, import_react73.forwardRef)(
|
|
|
14409
14737
|
Thumbnail.displayName = "Thumbnail";
|
|
14410
14738
|
|
|
14411
14739
|
// src/components/ThumbnailCollage/ThumbnailCollage.tsx
|
|
14412
|
-
var
|
|
14413
|
-
var
|
|
14414
|
-
var
|
|
14415
|
-
var
|
|
14740
|
+
var import_react78 = __toESM(require("react"));
|
|
14741
|
+
var import_styled_components102 = __toESM(require("styled-components"));
|
|
14742
|
+
var import_type_guards67 = require("@wistia/type-guards");
|
|
14743
|
+
var import_jsx_runtime288 = (
|
|
14416
14744
|
// ThumbnailCollage will fallback to a Thumbnail with a gradient background if no children are provided
|
|
14417
14745
|
require("react/jsx-runtime")
|
|
14418
14746
|
);
|
|
14419
|
-
var StyledThumbnailCollage =
|
|
14747
|
+
var StyledThumbnailCollage = import_styled_components102.default.div`
|
|
14420
14748
|
display: grid;
|
|
14421
14749
|
gap: var(--wui-space-01);
|
|
14422
14750
|
width: 100%;
|
|
@@ -14489,15 +14817,15 @@ var ThumbnailCollage = ({
|
|
|
14489
14817
|
gradientBackground = "defaultMidOne",
|
|
14490
14818
|
...props
|
|
14491
14819
|
}) => {
|
|
14492
|
-
const thumbnailArray =
|
|
14820
|
+
const thumbnailArray = import_react78.default.Children.toArray(children);
|
|
14493
14821
|
const truncatedThumbnails = thumbnailArray.slice(0, 3);
|
|
14494
|
-
const thumbnails = (0,
|
|
14495
|
-
return
|
|
14822
|
+
const thumbnails = (0, import_type_guards67.isNonEmptyArray)(thumbnailArray) ? truncatedThumbnails.map((child) => {
|
|
14823
|
+
return import_react78.default.cloneElement(child, {
|
|
14496
14824
|
...child.props,
|
|
14497
14825
|
children: void 0
|
|
14498
14826
|
});
|
|
14499
14827
|
}) : [
|
|
14500
|
-
/* @__PURE__ */ (0,
|
|
14828
|
+
/* @__PURE__ */ (0, import_jsx_runtime288.jsx)(
|
|
14501
14829
|
Thumbnail,
|
|
14502
14830
|
{
|
|
14503
14831
|
gradientBackground,
|
|
@@ -14506,7 +14834,7 @@ var ThumbnailCollage = ({
|
|
|
14506
14834
|
"fallback"
|
|
14507
14835
|
)
|
|
14508
14836
|
];
|
|
14509
|
-
return /* @__PURE__ */ (0,
|
|
14837
|
+
return /* @__PURE__ */ (0, import_jsx_runtime288.jsx)(
|
|
14510
14838
|
StyledThumbnailCollage,
|
|
14511
14839
|
{
|
|
14512
14840
|
$gradientBackground: gradientBackground,
|
|
@@ -14518,26 +14846,26 @@ var ThumbnailCollage = ({
|
|
|
14518
14846
|
};
|
|
14519
14847
|
|
|
14520
14848
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
14521
|
-
var
|
|
14522
|
-
var
|
|
14523
|
-
var
|
|
14849
|
+
var import_styled_components103 = __toESM(require("styled-components"));
|
|
14850
|
+
var import_type_guards68 = require("@wistia/type-guards");
|
|
14851
|
+
var import_jsx_runtime289 = require("react/jsx-runtime");
|
|
14524
14852
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
14525
14853
|
if (iconOnly) {
|
|
14526
|
-
return /* @__PURE__ */ (0,
|
|
14854
|
+
return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
|
|
14527
14855
|
"g",
|
|
14528
14856
|
{
|
|
14529
14857
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
14530
14858
|
fill: brandmarkColor,
|
|
14531
|
-
children: /* @__PURE__ */ (0,
|
|
14859
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
14532
14860
|
}
|
|
14533
14861
|
);
|
|
14534
14862
|
}
|
|
14535
|
-
return /* @__PURE__ */ (0,
|
|
14863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
|
|
14536
14864
|
"g",
|
|
14537
14865
|
{
|
|
14538
14866
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
14539
14867
|
fill: brandmarkColor,
|
|
14540
|
-
children: /* @__PURE__ */ (0,
|
|
14868
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
14541
14869
|
}
|
|
14542
14870
|
);
|
|
14543
14871
|
};
|
|
@@ -14545,12 +14873,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
|
|
|
14545
14873
|
if (iconOnly) {
|
|
14546
14874
|
return null;
|
|
14547
14875
|
}
|
|
14548
|
-
return /* @__PURE__ */ (0,
|
|
14876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime289.jsx)(
|
|
14549
14877
|
"g",
|
|
14550
14878
|
{
|
|
14551
14879
|
"data-testid": "ui-wistia-logo-logotype",
|
|
14552
14880
|
fill: logotypeColor,
|
|
14553
|
-
children: /* @__PURE__ */ (0,
|
|
14881
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
|
|
14554
14882
|
}
|
|
14555
14883
|
);
|
|
14556
14884
|
};
|
|
@@ -14560,7 +14888,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
14560
14888
|
}
|
|
14561
14889
|
return "0 0 144 31.47";
|
|
14562
14890
|
};
|
|
14563
|
-
var WistiaLogoComponent =
|
|
14891
|
+
var WistiaLogoComponent = import_styled_components103.default.svg`
|
|
14564
14892
|
height: ${({ height }) => `${height}px`};
|
|
14565
14893
|
|
|
14566
14894
|
/* ensure it will always fit on mobile */
|
|
@@ -14576,12 +14904,12 @@ var WistiaLogoComponent = import_styled_components100.default.svg`
|
|
|
14576
14904
|
${({ $opticallyCentered, $iconOnly }) => {
|
|
14577
14905
|
if ($opticallyCentered) {
|
|
14578
14906
|
if ($iconOnly) {
|
|
14579
|
-
return
|
|
14907
|
+
return import_styled_components103.css`
|
|
14580
14908
|
aspect-ratio: 1;
|
|
14581
14909
|
padding: 11.85% 3.12% 13.91%;
|
|
14582
14910
|
`;
|
|
14583
14911
|
}
|
|
14584
|
-
return
|
|
14912
|
+
return import_styled_components103.css`
|
|
14585
14913
|
aspect-ratio: 127 / 32;
|
|
14586
14914
|
`;
|
|
14587
14915
|
}
|
|
@@ -14618,7 +14946,7 @@ var WistiaLogo = ({
|
|
|
14618
14946
|
};
|
|
14619
14947
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
14620
14948
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
14621
|
-
const Logo = /* @__PURE__ */ (0,
|
|
14949
|
+
const Logo = /* @__PURE__ */ (0, import_jsx_runtime289.jsxs)(
|
|
14622
14950
|
WistiaLogoComponent,
|
|
14623
14951
|
{
|
|
14624
14952
|
$hoverColor: hoverColor,
|
|
@@ -14631,23 +14959,23 @@ var WistiaLogo = ({
|
|
|
14631
14959
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14632
14960
|
...props,
|
|
14633
14961
|
children: [
|
|
14634
|
-
/* @__PURE__ */ (0,
|
|
14635
|
-
(0,
|
|
14962
|
+
/* @__PURE__ */ (0, import_jsx_runtime289.jsx)("title", { children: title }),
|
|
14963
|
+
(0, import_type_guards68.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("desc", { children: description }) : null,
|
|
14636
14964
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
14637
14965
|
renderLogotype(logotypeColor, iconOnly)
|
|
14638
14966
|
]
|
|
14639
14967
|
}
|
|
14640
14968
|
);
|
|
14641
|
-
return href !== void 0 ? /* @__PURE__ */ (0,
|
|
14969
|
+
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime289.jsx)("a", { href, children: Logo }) : Logo;
|
|
14642
14970
|
};
|
|
14643
14971
|
WistiaLogo.displayName = "WistiaLogo";
|
|
14644
14972
|
|
|
14645
14973
|
// src/components/InputPassword/InputPassword.tsx
|
|
14646
|
-
var
|
|
14647
|
-
var
|
|
14648
|
-
var
|
|
14649
|
-
var
|
|
14650
|
-
var StyledIconButton = (0,
|
|
14974
|
+
var import_styled_components104 = __toESM(require("styled-components"));
|
|
14975
|
+
var import_react79 = require("react");
|
|
14976
|
+
var import_type_guards69 = require("@wistia/type-guards");
|
|
14977
|
+
var import_jsx_runtime290 = require("react/jsx-runtime");
|
|
14978
|
+
var StyledIconButton = (0, import_styled_components104.default)(IconButton)`
|
|
14651
14979
|
/* override size for icon button since prop gets changed by Input */
|
|
14652
14980
|
height: var(--icon-button-size-sm);
|
|
14653
14981
|
width: var(--icon-button-size-sm);
|
|
@@ -14655,23 +14983,23 @@ var StyledIconButton = (0, import_styled_components101.default)(IconButton)`
|
|
|
14655
14983
|
/* override input padding variable since it is used for Input Icon positioning */
|
|
14656
14984
|
--wui-input-horizontal-padding: 4px;
|
|
14657
14985
|
`;
|
|
14658
|
-
var InputPassword = (0,
|
|
14986
|
+
var InputPassword = (0, import_react79.forwardRef)(
|
|
14659
14987
|
({ onVisibilityToggle, disabled = false, ...props }, ref) => {
|
|
14660
|
-
const [isVisible, setIsVisible] = (0,
|
|
14988
|
+
const [isVisible, setIsVisible] = (0, import_react79.useState)(false);
|
|
14661
14989
|
const handleClick = () => {
|
|
14662
14990
|
const newVisibility = !isVisible;
|
|
14663
14991
|
setIsVisible(newVisibility);
|
|
14664
|
-
if ((0,
|
|
14992
|
+
if ((0, import_type_guards69.isFunction)(onVisibilityToggle)) {
|
|
14665
14993
|
onVisibilityToggle(newVisibility);
|
|
14666
14994
|
}
|
|
14667
14995
|
};
|
|
14668
|
-
return /* @__PURE__ */ (0,
|
|
14996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(
|
|
14669
14997
|
Input,
|
|
14670
14998
|
{
|
|
14671
14999
|
...props,
|
|
14672
15000
|
ref,
|
|
14673
15001
|
disabled,
|
|
14674
|
-
rightIcon: /* @__PURE__ */ (0,
|
|
15002
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(
|
|
14675
15003
|
StyledIconButton,
|
|
14676
15004
|
{
|
|
14677
15005
|
disabled,
|
|
@@ -14679,7 +15007,7 @@ var InputPassword = (0, import_react75.forwardRef)(
|
|
|
14679
15007
|
onClick: handleClick,
|
|
14680
15008
|
tabIndex: disabled ? -1 : 0,
|
|
14681
15009
|
variant: "ghost",
|
|
14682
|
-
children: /* @__PURE__ */ (0,
|
|
15010
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime290.jsx)(Icon, { type: isVisible ? "preview" : "hide" })
|
|
14683
15011
|
}
|
|
14684
15012
|
),
|
|
14685
15013
|
type: isVisible ? "text" : "password"
|
|
@@ -14751,6 +15079,8 @@ InputPassword.displayName = "InputPassword";
|
|
|
14751
15079
|
Popover,
|
|
14752
15080
|
ProgressBar,
|
|
14753
15081
|
Radio,
|
|
15082
|
+
RadioCard,
|
|
15083
|
+
RadioCardImage,
|
|
14754
15084
|
RadioGroup,
|
|
14755
15085
|
RadioMenuItem,
|
|
14756
15086
|
ScreenReaderOnly,
|