@wistia/ui 0.26.5 → 0.26.6-beta.07d5e63e.7bb2fc5
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.d.ts +430 -45
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +259 -292
- package/dist/index.js.map +1 -1
- package/package.json +16 -16
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.26.
|
|
3
|
+
* @license @wistia/ui v0.26.6-beta.07d5e63e.7bb2fc5
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2026, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
|
|
11
11
|
import { Children, cloneElement, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState, useTransition } from "react";
|
|
12
12
|
import { createGlobalStyle, css, keyframes, styled } from "styled-components";
|
|
13
|
-
import { isArray, isBoolean, isEmptyString, isFunction, isNil, isNonEmptyArray, isNonEmptyString, isNotNil, isNotUndefined, isNumber, isRecord, isString, isUndefined } from "@wistia/type-guards";
|
|
13
|
+
import { isArray, isBoolean, isDate, isEmptyString, isFunction, isNil, isNonEmptyArray, isNonEmptyString, isNotNil, isNotUndefined, isNumber, isRecord, isString, isUndefined } from "@wistia/type-guards";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
import { Toaster, toast } from "sonner";
|
|
16
16
|
import { isValid } from "date-fns/isValid";
|
|
@@ -519,13 +519,6 @@ const buildTimeDuration = (numberOfMilliseconds) => {
|
|
|
519
519
|
};
|
|
520
520
|
};
|
|
521
521
|
//#endregion
|
|
522
|
-
//#region src/helpers/dateTime/isDate.ts
|
|
523
|
-
/**
|
|
524
|
-
* @param {*} date - possible date value - unknown type
|
|
525
|
-
* @returns {boolean} - whether it is a date object
|
|
526
|
-
*/
|
|
527
|
-
const isDate = (date) => date instanceof Date;
|
|
528
|
-
//#endregion
|
|
529
522
|
//#region src/helpers/dateTime/isInvalidDate.ts
|
|
530
523
|
/**
|
|
531
524
|
* @param {*} date - a Date object - could be unknown though
|
|
@@ -1093,17 +1086,6 @@ const dateTime = {
|
|
|
1093
1086
|
timeOnlyString
|
|
1094
1087
|
};
|
|
1095
1088
|
//#endregion
|
|
1096
|
-
//#region src/helpers/mergeRefs/mergeRefs.ts
|
|
1097
|
-
const mergeRefs = (refs) => (value) => {
|
|
1098
|
-
refs.forEach((ref) => {
|
|
1099
|
-
if (isFunction(ref)) {
|
|
1100
|
-
ref(value);
|
|
1101
|
-
return;
|
|
1102
|
-
}
|
|
1103
|
-
if (isNotNil(ref)) ref.current = value;
|
|
1104
|
-
});
|
|
1105
|
-
};
|
|
1106
|
-
//#endregion
|
|
1107
1089
|
//#region src/helpers/isUrl/isUrl.ts
|
|
1108
1090
|
/**
|
|
1109
1091
|
* Loosely validates a URL string
|
|
@@ -1123,6 +1105,167 @@ const isUrl = (str) => {
|
|
|
1123
1105
|
return localhostDomain.test(remaining) || nonLocalhostDomain.test(remaining);
|
|
1124
1106
|
};
|
|
1125
1107
|
//#endregion
|
|
1108
|
+
//#region src/helpers/getBackgroundGradient/getBackgroundGradient.ts
|
|
1109
|
+
const gradients = {
|
|
1110
|
+
defaultDarkOne: css`
|
|
1111
|
+
background-color: #222d66;
|
|
1112
|
+
background-image:
|
|
1113
|
+
radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
|
|
1114
|
+
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
1115
|
+
radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
|
|
1116
|
+
radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
|
|
1117
|
+
`,
|
|
1118
|
+
defaultDarkTwo: css`
|
|
1119
|
+
background-color: #222d66;
|
|
1120
|
+
background-image:
|
|
1121
|
+
radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
|
|
1122
|
+
radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%),
|
|
1123
|
+
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
1124
|
+
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
1125
|
+
`,
|
|
1126
|
+
defaultLightOne: css`
|
|
1127
|
+
background-color: #ccd5ff;
|
|
1128
|
+
background-image:
|
|
1129
|
+
radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
|
|
1130
|
+
radial-gradient(farthest-corner at top left, #ccd5ff, transparent 65%),
|
|
1131
|
+
radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
|
|
1132
|
+
radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
|
|
1133
|
+
`,
|
|
1134
|
+
defaultLightTwo: css`
|
|
1135
|
+
background-color: #ccd5ff;
|
|
1136
|
+
background-image:
|
|
1137
|
+
radial-gradient(ellipse at top, #ccd5ff, transparent),
|
|
1138
|
+
radial-gradient(ellipse at bottom, #6b84ff, transparent);
|
|
1139
|
+
`,
|
|
1140
|
+
defaultMidOne: css`
|
|
1141
|
+
background-color: #6b84ff;
|
|
1142
|
+
background-image:
|
|
1143
|
+
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
|
|
1144
|
+
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
1145
|
+
radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
|
|
1146
|
+
radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
|
|
1147
|
+
`,
|
|
1148
|
+
defaultMidTwo: css`
|
|
1149
|
+
background-color: #6b84ff;
|
|
1150
|
+
background-image:
|
|
1151
|
+
radial-gradient(ellipse at top, #2949e5, transparent),
|
|
1152
|
+
radial-gradient(ellipse at bottom, #ccd5ff, transparent);
|
|
1153
|
+
`,
|
|
1154
|
+
green: css`
|
|
1155
|
+
background-color: #fafffa;
|
|
1156
|
+
background-image:
|
|
1157
|
+
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
1158
|
+
radial-gradient(farthest-corner at top right, #268713, transparent 50%),
|
|
1159
|
+
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
1160
|
+
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
1161
|
+
`,
|
|
1162
|
+
greenWithPop: css`
|
|
1163
|
+
background-color: #fafffa;
|
|
1164
|
+
background-image:
|
|
1165
|
+
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
1166
|
+
radial-gradient(farthest-corner at top right, #2949e5, transparent 50%),
|
|
1167
|
+
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
1168
|
+
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
1169
|
+
`,
|
|
1170
|
+
pink: css`
|
|
1171
|
+
background-color: #fffff0;
|
|
1172
|
+
background-image:
|
|
1173
|
+
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
|
|
1174
|
+
radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
|
|
1175
|
+
radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
|
|
1176
|
+
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
|
|
1177
|
+
`,
|
|
1178
|
+
pinkWithPop: css`
|
|
1179
|
+
background-color: #fffff0;
|
|
1180
|
+
background-image:
|
|
1181
|
+
radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
|
|
1182
|
+
radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
|
|
1183
|
+
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
|
|
1184
|
+
radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
|
|
1185
|
+
`,
|
|
1186
|
+
playfulGradientOne: css`
|
|
1187
|
+
background-color: #f7f8ff;
|
|
1188
|
+
background-image:
|
|
1189
|
+
radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
|
|
1190
|
+
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
1191
|
+
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
|
|
1192
|
+
radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
|
|
1193
|
+
`,
|
|
1194
|
+
playfulGradientTwo: css`
|
|
1195
|
+
background-color: #f7f8ff;
|
|
1196
|
+
background-image:
|
|
1197
|
+
radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
|
|
1198
|
+
radial-gradient(farthest-corner at bottom right, #eff18d, transparent 50%),
|
|
1199
|
+
radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
|
|
1200
|
+
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
1201
|
+
`,
|
|
1202
|
+
purple: css`
|
|
1203
|
+
background-color: #f2caff;
|
|
1204
|
+
background-image:
|
|
1205
|
+
radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
|
|
1206
|
+
radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
|
|
1207
|
+
`,
|
|
1208
|
+
purpleWithPop: css`
|
|
1209
|
+
background-color: #f2caff;
|
|
1210
|
+
background-image:
|
|
1211
|
+
radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
|
|
1212
|
+
radial-gradient(farthest-corner at top left, #d65cff, transparent 65%),
|
|
1213
|
+
radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
|
|
1214
|
+
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
1215
|
+
`,
|
|
1216
|
+
yellow: css`
|
|
1217
|
+
background-color: #fffff0;
|
|
1218
|
+
background-image:
|
|
1219
|
+
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
1220
|
+
radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
|
|
1221
|
+
radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
|
|
1222
|
+
radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
|
|
1223
|
+
`,
|
|
1224
|
+
yellowWithPop: css`
|
|
1225
|
+
background-color: #fffff0;
|
|
1226
|
+
background-image:
|
|
1227
|
+
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
1228
|
+
radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
|
|
1229
|
+
radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
|
|
1230
|
+
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 55%);
|
|
1231
|
+
`
|
|
1232
|
+
};
|
|
1233
|
+
const gradientMap = Object.keys(gradients);
|
|
1234
|
+
/**
|
|
1235
|
+
* Retrieves the CSS background gradient corresponding to the given gradient name.
|
|
1236
|
+
* If the specified gradient name is not found, the default gradient ('defaultDarkOne') is returned.
|
|
1237
|
+
* @param {GradientName} gradientName - The name of the gradient to retrieve.
|
|
1238
|
+
* @returns {CssStyleType} The CSS string representing the specified gradient.
|
|
1239
|
+
*/
|
|
1240
|
+
const getBackgroundGradient = (gradientName) => {
|
|
1241
|
+
return isNotNil(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
|
|
1242
|
+
};
|
|
1243
|
+
//#endregion
|
|
1244
|
+
//#region src/helpers/getBackgroundGradient/getSemiRandomBackgroundGradient.ts
|
|
1245
|
+
const MULTIPLIER = 31;
|
|
1246
|
+
/**
|
|
1247
|
+
* Retrieves a semi-random background gradient based on the given id.
|
|
1248
|
+
*
|
|
1249
|
+
* @param {string} id - The id to use to generate the semi-random background gradient.
|
|
1250
|
+
* @returns {GradientName} gradientName
|
|
1251
|
+
*/
|
|
1252
|
+
const getSemiRandomBackgroundGradient = (id) => {
|
|
1253
|
+
if (!(typeof id === "string" && id)) return gradientMap[0];
|
|
1254
|
+
const hashCode = Array.from(id).reduce((num, char) => Math.imul(MULTIPLIER, num) + char.charCodeAt(0) || 0, 0);
|
|
1255
|
+
return gradientMap[Math.abs(hashCode) % gradientMap.length];
|
|
1256
|
+
};
|
|
1257
|
+
//#endregion
|
|
1258
|
+
//#region src/helpers/mergeRefs/mergeRefs.ts
|
|
1259
|
+
const mergeRefs = (refs) => (value) => {
|
|
1260
|
+
refs.forEach((ref) => {
|
|
1261
|
+
if (isFunction(ref)) {
|
|
1262
|
+
ref(value);
|
|
1263
|
+
return;
|
|
1264
|
+
}
|
|
1265
|
+
if (isNotNil(ref)) ref.current = value;
|
|
1266
|
+
});
|
|
1267
|
+
};
|
|
1268
|
+
//#endregion
|
|
1126
1269
|
//#region src/css/breakpoints.ts
|
|
1127
1270
|
const breakpoints = {
|
|
1128
1271
|
xs: "0em",
|
|
@@ -5446,7 +5589,7 @@ const StyledLink = styled.a`
|
|
|
5446
5589
|
* This means in addition to its own props, `Link` can use props from `react-router`'s `Link` component. View their documentation [here](https://reactrouter.com/en/main/components/link).
|
|
5447
5590
|
* The one prop we ignore from react-router is `to`. We use `href` instead and map it under the hood.
|
|
5448
5591
|
*/
|
|
5449
|
-
const Link =
|
|
5592
|
+
const Link = ({ beforeAction, children, type, disabled = false, colorScheme = "inherit", underline = "none", inheritColor = false, leftIcon, rightIcon, "aria-disabled": ariaDisabled, role, ref, ...props }) => {
|
|
5450
5593
|
const inRouterContext = useInRouterContext();
|
|
5451
5594
|
const to = generateHref(props.href, type, disabled);
|
|
5452
5595
|
const shouldUseReactRouterLink = inRouterContext && type !== "external" && !to?.startsWith("http");
|
|
@@ -5509,8 +5652,7 @@ const Link = forwardRef(({ beforeAction, children, type, disabled = false, color
|
|
|
5509
5652
|
});
|
|
5510
5653
|
}
|
|
5511
5654
|
return null;
|
|
5512
|
-
}
|
|
5513
|
-
Link.displayName = "Link_UI";
|
|
5655
|
+
};
|
|
5514
5656
|
//#endregion
|
|
5515
5657
|
//#region src/components/Button/Button.tsx
|
|
5516
5658
|
const isLink = (props) => isNotUndefined(props.href);
|
|
@@ -5563,7 +5705,7 @@ const ButtonContent = ({ isLoading = false, leftIcon, rightIcon, children, fullW
|
|
|
5563
5705
|
* action, or performing a delete operation. It replaces the HTML `<button>` element,
|
|
5564
5706
|
* unless an `href` attribute is passed, in which it will render an `<a>` element.
|
|
5565
5707
|
*/
|
|
5566
|
-
const Button =
|
|
5708
|
+
const Button = ({ children, forceState, className, leftIcon, rightIcon, colorScheme = "inherit", disabled = false, isLoading = false, unstyled = false, onClick, fullWidth = false, size = "md", variant = "solid", ref, ...props }) => {
|
|
5567
5709
|
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
5568
5710
|
const responsiveSize = useResponsiveProp(size);
|
|
5569
5711
|
const isAriaDisabled = () => isLoading || disabled;
|
|
@@ -5613,8 +5755,7 @@ const Button = forwardRef(({ children, forceState, className, leftIcon, rightIco
|
|
|
5613
5755
|
children
|
|
5614
5756
|
})
|
|
5615
5757
|
});
|
|
5616
|
-
}
|
|
5617
|
-
Button.displayName = "Button_UI";
|
|
5758
|
+
};
|
|
5618
5759
|
//#endregion
|
|
5619
5760
|
//#region src/components/ActionButton/ActionButton.tsx
|
|
5620
5761
|
const StyledActionButton = styled(Button)`
|
|
@@ -5726,7 +5867,7 @@ const StyledLabel$3 = styled.span`
|
|
|
5726
5867
|
/**
|
|
5727
5868
|
* Action Button component is used as one of a group of main actions on the page. It composes [Button](/components/Button).
|
|
5728
5869
|
*/
|
|
5729
|
-
const ActionButton =
|
|
5870
|
+
const ActionButton = ({ icon, colorScheme = "standard", disabled = false, forceState, hoverColorScheme, variant = "default", children, ref, ...props }) => {
|
|
5730
5871
|
const resolvedHoverColorScheme = hoverColorScheme ?? (variant === "gated" ? "purple" : "inherit");
|
|
5731
5872
|
const secondaryIconMap = {
|
|
5732
5873
|
default: "arrow-right",
|
|
@@ -5757,8 +5898,7 @@ const ActionButton = forwardRef(({ icon, colorScheme = "standard", disabled = fa
|
|
|
5757
5898
|
})
|
|
5758
5899
|
]
|
|
5759
5900
|
});
|
|
5760
|
-
}
|
|
5761
|
-
ActionButton.displayName = "ActionButton_UI";
|
|
5901
|
+
};
|
|
5762
5902
|
//#endregion
|
|
5763
5903
|
//#region src/components/Avatar/formatNameForDisplay.tsx
|
|
5764
5904
|
const containsEmojiCharacter = (char) => {
|
|
@@ -5989,7 +6129,7 @@ const StyledBadge = styled.div`
|
|
|
5989
6129
|
/**
|
|
5990
6130
|
* A `Badge` is a compact label, with optional icon, to convey status or context.
|
|
5991
6131
|
*/
|
|
5992
|
-
const Badge =
|
|
6132
|
+
const Badge = ({ colorScheme = "inherit", label, icon, variant = "default", ref, ...props }) => {
|
|
5993
6133
|
const hasIcon = isNotNil(icon);
|
|
5994
6134
|
return /* @__PURE__ */ jsxs(StyledBadge, {
|
|
5995
6135
|
ref,
|
|
@@ -5999,12 +6139,11 @@ const Badge = forwardRef(({ colorScheme = "inherit", label, icon, variant = "def
|
|
|
5999
6139
|
$variant: variant,
|
|
6000
6140
|
children: [hasIcon ? icon : null, isNotNil(label) ? /* @__PURE__ */ jsx("span", { children: label }) : null]
|
|
6001
6141
|
});
|
|
6002
|
-
}
|
|
6003
|
-
Badge.displayName = "Badge_UI";
|
|
6142
|
+
};
|
|
6004
6143
|
//#endregion
|
|
6005
6144
|
//#region src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
6006
6145
|
/**
|
|
6007
|
-
* makePolymorphic takes a component
|
|
6146
|
+
* makePolymorphic takes a component and returns a new version
|
|
6008
6147
|
* that supports polymorphism via a `renderAs` prop. The returned component's types automatically
|
|
6009
6148
|
* merge the intrinsic props of the rendered element with the custom props of the original
|
|
6010
6149
|
* component, while including support for children and refs.
|
|
@@ -6086,7 +6225,7 @@ const StyledBoxComponent = styled.div`
|
|
|
6086
6225
|
order: ${({ $order }) => isNotNil($order) ? $order : null};
|
|
6087
6226
|
`;
|
|
6088
6227
|
const DEFAULT_ELEMENT$4 = "div";
|
|
6089
|
-
const BoxComponent =
|
|
6228
|
+
const BoxComponent = ({ ref, alignContent = "stretch", alignItems = "flex-start", alignSelf, basis, children, direction = "row", fill = false, fillViewport = false, gap, grow, height, inline = false, justifyContent = "flex-start", order, renderAs, shrink, width, wrapItems = false, flexMode, ...props }) => {
|
|
6090
6229
|
const responsiveAlignContent = useResponsiveProp(alignContent);
|
|
6091
6230
|
const responsiveAlignItems = useResponsiveProp(alignItems);
|
|
6092
6231
|
const responsiveAlignSelf = useResponsiveProp(alignSelf);
|
|
@@ -6133,8 +6272,7 @@ const BoxComponent = forwardRef(({ alignContent = "stretch", alignItems = "flex-
|
|
|
6133
6272
|
...props,
|
|
6134
6273
|
children
|
|
6135
6274
|
});
|
|
6136
|
-
}
|
|
6137
|
-
BoxComponent.displayName = "Box_UI";
|
|
6275
|
+
};
|
|
6138
6276
|
/**
|
|
6139
6277
|
* Box is a layout container using [CSS Flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox).
|
|
6140
6278
|
*/
|
|
@@ -6253,7 +6391,7 @@ const variantElementMap$1 = {
|
|
|
6253
6391
|
heading5: "h5",
|
|
6254
6392
|
heading6: "h6"
|
|
6255
6393
|
};
|
|
6256
|
-
const HeadingComponent =
|
|
6394
|
+
const HeadingComponent = ({ ref, align = "left", children, colorScheme = "inherit", disabled = false, inline = false, maxChars, preventUserSelect = false, prominence = "primary", maxLines, variant = "heading1", renderAs, ...props }) => {
|
|
6257
6395
|
const processedChildren = applyMaxCharsToChildren(children, maxChars);
|
|
6258
6396
|
return /* @__PURE__ */ jsx(StyledHeading$1, {
|
|
6259
6397
|
ref,
|
|
@@ -6269,8 +6407,7 @@ const HeadingComponent = forwardRef(({ align = "left", children, colorScheme = "
|
|
|
6269
6407
|
...props,
|
|
6270
6408
|
children: processedChildren
|
|
6271
6409
|
});
|
|
6272
|
-
}
|
|
6273
|
-
HeadingComponent.displayName = "Heading_UI";
|
|
6410
|
+
};
|
|
6274
6411
|
/**
|
|
6275
6412
|
* Displaying heading text, both visually and semantically
|
|
6276
6413
|
*/
|
|
@@ -6444,7 +6581,7 @@ const StyledText = styled.div`
|
|
|
6444
6581
|
}
|
|
6445
6582
|
`}
|
|
6446
6583
|
`;
|
|
6447
|
-
const TextComponent =
|
|
6584
|
+
const TextComponent = ({ ref, align = "left", children, colorScheme = "inherit", disabled = false, inline = false, maxChars, preventUserSelect = false, prominence = "primary", maxLines, variant = "body2", renderAs, ...props }) => {
|
|
6448
6585
|
const processedChildren = applyMaxCharsToChildren(children, maxChars);
|
|
6449
6586
|
return /* @__PURE__ */ jsx(StyledText, {
|
|
6450
6587
|
ref,
|
|
@@ -6460,8 +6597,7 @@ const TextComponent = forwardRef(({ align = "left", children, colorScheme = "inh
|
|
|
6460
6597
|
...props,
|
|
6461
6598
|
children: processedChildren
|
|
6462
6599
|
});
|
|
6463
|
-
}
|
|
6464
|
-
TextComponent.displayName = "Text_UI";
|
|
6600
|
+
};
|
|
6465
6601
|
/**
|
|
6466
6602
|
* Used for rending paragraphs and inline text.
|
|
6467
6603
|
*/
|
|
@@ -6546,7 +6682,7 @@ const StyledButton$1 = styled(Button)`
|
|
|
6546
6682
|
* IconButton behaves like a [Button](/components/Button),
|
|
6547
6683
|
* but only accepts an [Icon](/components/Icon) as a child.
|
|
6548
6684
|
*/
|
|
6549
|
-
const IconButton =
|
|
6685
|
+
const IconButton = ({ children, label, size = "md", ref, ...props }) => {
|
|
6550
6686
|
const responsiveSize = useResponsiveProp(size);
|
|
6551
6687
|
return /* @__PURE__ */ jsx(StyledButton$1, {
|
|
6552
6688
|
...props,
|
|
@@ -6556,8 +6692,7 @@ const IconButton = forwardRef(({ children, label, size = "md", ...props }, ref)
|
|
|
6556
6692
|
size: responsiveSize,
|
|
6557
6693
|
children: cloneElement(Children.only(children), { size: responsiveSize })
|
|
6558
6694
|
});
|
|
6559
|
-
}
|
|
6560
|
-
IconButton.displayName = "IconButton_UI";
|
|
6695
|
+
};
|
|
6561
6696
|
//#endregion
|
|
6562
6697
|
//#region src/components/Banner/Banner.tsx
|
|
6563
6698
|
const StyledBanner = styled.div`
|
|
@@ -6783,15 +6918,14 @@ const StyledCenter = styled.div`
|
|
|
6783
6918
|
* Center component provides various ways to center content horizontally within a container.
|
|
6784
6919
|
* It supports max-width constraints, text alignment, gutters, and intrinsic content centering.
|
|
6785
6920
|
*/
|
|
6786
|
-
const Center =
|
|
6921
|
+
const Center = ({ maxWidth = "100%", gutterWidth = "space-00", intrinsic = false, children, ref, ...props }) => /* @__PURE__ */ jsx(StyledCenter, {
|
|
6787
6922
|
ref,
|
|
6788
6923
|
$gutterWidth: gutterWidth,
|
|
6789
6924
|
$intrinsic: intrinsic,
|
|
6790
6925
|
$maxWidth: maxWidth,
|
|
6791
6926
|
...props,
|
|
6792
6927
|
children
|
|
6793
|
-
})
|
|
6794
|
-
Center.displayName = "Center_UI";
|
|
6928
|
+
});
|
|
6795
6929
|
//#endregion
|
|
6796
6930
|
//#region src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
6797
6931
|
const VisuallyHidden = styled.div({ ...visuallyHiddenStyle });
|
|
@@ -6888,7 +7022,7 @@ const StyledStack = styled.div`
|
|
|
6888
7022
|
${({ $paddingX }) => $paddingX && `padding-left: var(--wui-${$paddingX}); padding-right: var(--wui-${$paddingX});`}
|
|
6889
7023
|
${({ $paddingY }) => $paddingY && `padding-top: var(--wui-${$paddingY}); padding-bottom: var(--wui-${$paddingY});`}
|
|
6890
7024
|
`;
|
|
6891
|
-
const StackComponent =
|
|
7025
|
+
const StackComponent = ({ ref, renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", padding, ...props }) => {
|
|
6892
7026
|
const responsiveGap = useResponsiveProp(gap);
|
|
6893
7027
|
const responsiveDirection = useResponsiveProp(direction);
|
|
6894
7028
|
return /* @__PURE__ */ jsx(StyledStack, {
|
|
@@ -6901,8 +7035,7 @@ const StackComponent = forwardRef(({ renderAs, direction = "vertical", gap = "sp
|
|
|
6901
7035
|
as: renderAs ?? DEFAULT_ELEMENT$1,
|
|
6902
7036
|
...props
|
|
6903
7037
|
});
|
|
6904
|
-
}
|
|
6905
|
-
StackComponent.displayName = "Stack_UI";
|
|
7038
|
+
};
|
|
6906
7039
|
/**
|
|
6907
7040
|
* Used to layout its children in a vertical or horizontal stack. The gap between each item in the stack can be customized.
|
|
6908
7041
|
* This allows for layouting children in a consistent way without needing to manually add margins or padding.
|
|
@@ -6978,7 +7111,7 @@ const FormContext = createContext({
|
|
|
6978
7111
|
* For creating forms. It provides a context for the form fields to access the form state and validation.
|
|
6979
7112
|
* It also provides a way to handle form submission and validation. It is built around [React 19's form APIs](https://react.dev/reference/react-dom/components/form).
|
|
6980
7113
|
*/
|
|
6981
|
-
const Form =
|
|
7114
|
+
const Form = ({ children, action, values = {}, labelPosition = "block", validate, fullWidth = false, ref: forwardedRef, ...props }) => {
|
|
6982
7115
|
const [errors, setErrors] = useState({});
|
|
6983
7116
|
const [hasSubmitted, setHasSubmitted] = useState(false);
|
|
6984
7117
|
const innerRef = useRef(null);
|
|
@@ -7042,7 +7175,7 @@ const Form = forwardRef(({ children, action, values = {}, labelPosition = "block
|
|
|
7042
7175
|
children
|
|
7043
7176
|
})
|
|
7044
7177
|
});
|
|
7045
|
-
}
|
|
7178
|
+
};
|
|
7046
7179
|
//#endregion
|
|
7047
7180
|
//#region src/components/FormGroup/CheckboxGroup.tsx
|
|
7048
7181
|
const CheckboxGroupContext = createContext(null);
|
|
@@ -7176,7 +7309,7 @@ const StyledHiddenCheckboxInput = styled.input`
|
|
|
7176
7309
|
${visuallyHiddenStyle}
|
|
7177
7310
|
position: relative;
|
|
7178
7311
|
`;
|
|
7179
|
-
const Checkbox =
|
|
7312
|
+
const Checkbox = ({ checked, disabled = false, id, label, description, name, onChange, size = "md", value, required = false, hideLabel = false, ref, ...props }) => {
|
|
7180
7313
|
const generatedId = useId();
|
|
7181
7314
|
const computedId = isNonEmptyString(id) ? id : `wistia-ui-checkbox-${generatedId}`;
|
|
7182
7315
|
const checkboxGroupContext = useCheckboxGroup();
|
|
@@ -7214,8 +7347,7 @@ const Checkbox = forwardRef(({ checked, disabled = false, id, label, description
|
|
|
7214
7347
|
label
|
|
7215
7348
|
})]
|
|
7216
7349
|
});
|
|
7217
|
-
}
|
|
7218
|
-
Checkbox.displayName = "Checkbox_UI";
|
|
7350
|
+
};
|
|
7219
7351
|
//#endregion
|
|
7220
7352
|
//#region src/components/ClickRegion/ClickRegion.tsx
|
|
7221
7353
|
const isClickableElement = (element) => {
|
|
@@ -8357,14 +8489,13 @@ const DefaultTriggerContent = () => {
|
|
|
8357
8489
|
* it renders a swatch and hex label for the current color; pass custom children
|
|
8358
8490
|
* to replace that content.
|
|
8359
8491
|
*/
|
|
8360
|
-
const ColorPickerTrigger =
|
|
8492
|
+
const ColorPickerTrigger = ({ children, ref, ...props }) => {
|
|
8361
8493
|
return /* @__PURE__ */ jsx(StyledPopoverTrigger, {
|
|
8362
|
-
ref
|
|
8494
|
+
ref,
|
|
8363
8495
|
...props,
|
|
8364
8496
|
children: children ?? /* @__PURE__ */ jsx(DefaultTriggerContent, {})
|
|
8365
8497
|
});
|
|
8366
|
-
}
|
|
8367
|
-
ColorPickerTrigger.displayName = "ColorPickerTrigger_UI";
|
|
8498
|
+
};
|
|
8368
8499
|
//#endregion
|
|
8369
8500
|
//#region src/components/ColorPicker/ContrastIndicator.tsx
|
|
8370
8501
|
const Container$3 = styled.div`
|
|
@@ -8480,7 +8611,7 @@ const StyledSwitchThumb = styled.div`
|
|
|
8480
8611
|
const StyledHiddenSwitchInput = styled.input`
|
|
8481
8612
|
${visuallyHiddenStyle}
|
|
8482
8613
|
`;
|
|
8483
|
-
const Switch =
|
|
8614
|
+
const Switch = ({ align = "left", checked, disabled = false, id, label, description, name, onChange, size = "md", value, required = false, hideLabel = false, ref, ...props }) => {
|
|
8484
8615
|
const generatedId = useId();
|
|
8485
8616
|
const computedId = isNonEmptyString(id) ? id : `wistia-ui-switch-${generatedId}`;
|
|
8486
8617
|
return /* @__PURE__ */ jsxs(StyledSwitchWrapper, {
|
|
@@ -8512,8 +8643,7 @@ const Switch = forwardRef(({ align = "left", checked, disabled = false, id, labe
|
|
|
8512
8643
|
label
|
|
8513
8644
|
})]
|
|
8514
8645
|
});
|
|
8515
|
-
}
|
|
8516
|
-
Switch.displayName = "Switch_UI";
|
|
8646
|
+
};
|
|
8517
8647
|
//#endregion
|
|
8518
8648
|
//#region src/components/ColorPicker/ContrastEnforcerSwitch.tsx
|
|
8519
8649
|
/**
|
|
@@ -8759,7 +8889,7 @@ const StyledInputContainer = styled.div`
|
|
|
8759
8889
|
/**
|
|
8760
8890
|
* Capture user input with a text field. Should be used within a [Form](/components/Form) and [FormField](/components/FormField).
|
|
8761
8891
|
*/
|
|
8762
|
-
const Input =
|
|
8892
|
+
const Input = ({ fullWidth = true, fullHeight = false, monospace = false, type = "text", autoSelect = false, leftIcon, rightIcon, ref: externalRef, ...props }) => {
|
|
8763
8893
|
const internalRef = useRef(null);
|
|
8764
8894
|
const ref = isNotNil(externalRef) && isRecord(externalRef) && "current" in externalRef ? externalRef : internalRef;
|
|
8765
8895
|
let leftIconToDisplay = leftIcon;
|
|
@@ -8800,8 +8930,7 @@ const Input = forwardRef(({ fullWidth = true, fullHeight = false, monospace = fa
|
|
|
8800
8930
|
rightIconToDisplay ?? null
|
|
8801
8931
|
]
|
|
8802
8932
|
});
|
|
8803
|
-
}
|
|
8804
|
-
Input.displayName = "Input_UI";
|
|
8933
|
+
};
|
|
8805
8934
|
//#endregion
|
|
8806
8935
|
//#region src/components/ColorPicker/HexColorInput.tsx
|
|
8807
8936
|
const SIX_DIGIT_HEX_CODE_LENGTH = 7;
|
|
@@ -9448,7 +9577,7 @@ const RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
9448
9577
|
/**
|
|
9449
9578
|
* A `Tag` is an optionally linked label, with an optional action button, to categorize content.
|
|
9450
9579
|
*/
|
|
9451
|
-
const Tag =
|
|
9580
|
+
const Tag = ({ onClickRemove, colorScheme = "inherit", href, icon, label, onClickRemoveLabel, ref, ...props }) => {
|
|
9452
9581
|
const hasIcon = isNotNil(icon);
|
|
9453
9582
|
const labelProps = isNotNil(href) && isNonEmptyString(href) ? {
|
|
9454
9583
|
href,
|
|
@@ -9468,8 +9597,7 @@ const Tag = forwardRef(({ onClickRemove, colorScheme = "inherit", href, icon, la
|
|
|
9468
9597
|
onClickRemoveLabel
|
|
9469
9598
|
})]
|
|
9470
9599
|
});
|
|
9471
|
-
}
|
|
9472
|
-
Tag.displayName = "Tag_UI";
|
|
9600
|
+
};
|
|
9473
9601
|
//#endregion
|
|
9474
9602
|
//#region src/private/helpers/getTypographicStyles/getTypographicStyles.ts
|
|
9475
9603
|
const typographicVariantStyleMap = {
|
|
@@ -9805,7 +9933,7 @@ const MenuPopup = styled(Menu$1.Popup)`
|
|
|
9805
9933
|
/**
|
|
9806
9934
|
* Displays a menu to the users with a set of actions.
|
|
9807
9935
|
*/
|
|
9808
|
-
const Menu =
|
|
9936
|
+
const Menu = ({ align = "start", children, disabled = false, compact = false, trigger, label, isOpen, side = "bottom", triggerProps = {}, onOpenChange, ref, ...props }) => {
|
|
9809
9937
|
const contextValue = useMemo(() => ({ compact }), [compact]);
|
|
9810
9938
|
const handleOpenChange = useCallback((nextOpen, eventDetails) => {
|
|
9811
9939
|
if (nextOpen !== isOpen) {
|
|
@@ -9847,8 +9975,7 @@ const Menu = forwardRef(({ align = "start", children, disabled = false, compact
|
|
|
9847
9975
|
}) })]
|
|
9848
9976
|
})
|
|
9849
9977
|
});
|
|
9850
|
-
}
|
|
9851
|
-
Menu.displayName = "Menu_UI";
|
|
9978
|
+
};
|
|
9852
9979
|
//#endregion
|
|
9853
9980
|
//#region src/components/ContextMenu/ContextMenu.tsx
|
|
9854
9981
|
const ContextMenuPopup = styled(Menu$1.Popup)`
|
|
@@ -10575,7 +10702,7 @@ const StyledEditableTextDisplay = styled.div`
|
|
|
10575
10702
|
}
|
|
10576
10703
|
}
|
|
10577
10704
|
`;
|
|
10578
|
-
const EditableTextDisplayComponent =
|
|
10705
|
+
const EditableTextDisplayComponent = ({ ref, asTrigger, renderAs, ...props }) => {
|
|
10579
10706
|
const context = useContext(EditableTextContext);
|
|
10580
10707
|
if (!context) throw new Error("EditableTextDisplay must be used within an EditableTextRoot context");
|
|
10581
10708
|
const { value, typographicVariant, setIsEditing, placeholder, maxLines, isEditing, minLines } = context;
|
|
@@ -10617,8 +10744,7 @@ const EditableTextDisplayComponent = forwardRef(({ asTrigger, renderAs, ...props
|
|
|
10617
10744
|
...props,
|
|
10618
10745
|
children: displayText
|
|
10619
10746
|
});
|
|
10620
|
-
}
|
|
10621
|
-
EditableTextDisplayComponent.displayName = "EditableTextDisplay_UI";
|
|
10747
|
+
};
|
|
10622
10748
|
const EditableTextDisplay = makePolymorphic(EditableTextDisplayComponent);
|
|
10623
10749
|
//#endregion
|
|
10624
10750
|
//#region src/components/EditableText/EditableTextInput.tsx
|
|
@@ -11314,7 +11440,7 @@ const StyledGrid = styled.div`
|
|
|
11314
11440
|
* A flexible grid component that can either create a fixed number of columns
|
|
11315
11441
|
* or an auto-filling grid based on the minimum child width.
|
|
11316
11442
|
*/
|
|
11317
|
-
const GridComponent =
|
|
11443
|
+
const GridComponent = ({ ref, children, columns = "auto", minChildWidth = "auto", gap = "space-02", expandItems = false, renderAs, ...props }) => {
|
|
11318
11444
|
const responsiveGap = useResponsiveProp(gap);
|
|
11319
11445
|
const { column, row } = isRecord(responsiveGap) ? responsiveGap : {
|
|
11320
11446
|
column: responsiveGap,
|
|
@@ -11331,8 +11457,7 @@ const GridComponent = forwardRef(({ children, columns = "auto", minChildWidth =
|
|
|
11331
11457
|
...props,
|
|
11332
11458
|
children
|
|
11333
11459
|
});
|
|
11334
|
-
}
|
|
11335
|
-
GridComponent.displayName = "Grid_UI";
|
|
11460
|
+
};
|
|
11336
11461
|
const Grid = makePolymorphic(GridComponent);
|
|
11337
11462
|
//#endregion
|
|
11338
11463
|
//#region src/components/PreviewCard/PreviewCard.tsx
|
|
@@ -11432,7 +11557,7 @@ const COPY_SUCCESS_DURATION = 2e3;
|
|
|
11432
11557
|
/**
|
|
11433
11558
|
* Provides a readonly input that copies the text to the clipboard when clicked.
|
|
11434
11559
|
*/
|
|
11435
|
-
const InputClickToCopy =
|
|
11560
|
+
const InputClickToCopy = ({ value, onCopy, disabled = false, ref, ...props }) => {
|
|
11436
11561
|
const [isCopied, setIsCopied] = useState(false);
|
|
11437
11562
|
useEffect(() => {
|
|
11438
11563
|
if (isCopied) {
|
|
@@ -11471,8 +11596,7 @@ const InputClickToCopy = forwardRef(({ value, onCopy, disabled = false, ...props
|
|
|
11471
11596
|
}),
|
|
11472
11597
|
value
|
|
11473
11598
|
});
|
|
11474
|
-
}
|
|
11475
|
-
InputClickToCopy.displayName = "InputClickToCopy_UI";
|
|
11599
|
+
};
|
|
11476
11600
|
//#endregion
|
|
11477
11601
|
//#region src/components/InputDuration/constants.ts
|
|
11478
11602
|
const SECONDS_PER_MINUTE = 60;
|
|
@@ -12141,7 +12265,7 @@ const getInputWidth = (inputValue) => {
|
|
|
12141
12265
|
/**
|
|
12142
12266
|
* InputDuration lets users edit a duration value using a keyboard-friendly time input.
|
|
12143
12267
|
*/
|
|
12144
|
-
const InputDuration =
|
|
12268
|
+
const InputDuration = ({ decimalUnitLength = 2, disabled = false, fullWidth = false, maxSeconds = MAX_TIME, minSeconds = 0, onChangeValueInSeconds, valueInSeconds, onFocus, style, ref: externalRef, ...props }) => {
|
|
12145
12269
|
const { inputRef, inputValue, onFocus: onInputFocus, onInputSelect, onKeyDown, onKeyUp } = useInputDuration({
|
|
12146
12270
|
decimalUnitLength,
|
|
12147
12271
|
maxSeconds,
|
|
@@ -12176,8 +12300,7 @@ const InputDuration = forwardRef(({ decimalUnitLength = 2, disabled = false, ful
|
|
|
12176
12300
|
type: "text",
|
|
12177
12301
|
value: inputValue
|
|
12178
12302
|
});
|
|
12179
|
-
}
|
|
12180
|
-
InputDuration.displayName = "InputDuration_UI";
|
|
12303
|
+
};
|
|
12181
12304
|
//#endregion
|
|
12182
12305
|
//#region src/components/InputPassword/InputPassword.tsx
|
|
12183
12306
|
const StyledIconButton = styled(IconButton)`
|
|
@@ -12191,7 +12314,7 @@ const StyledIconButton = styled(IconButton)`
|
|
|
12191
12314
|
/**
|
|
12192
12315
|
* A password input component with a toggle button to show or hide the password text.
|
|
12193
12316
|
*/
|
|
12194
|
-
const InputPassword =
|
|
12317
|
+
const InputPassword = ({ onVisibilityToggle, disabled = false, ref, ...props }) => {
|
|
12195
12318
|
const [isVisible, setIsVisible] = useState(false);
|
|
12196
12319
|
const handleClick = () => {
|
|
12197
12320
|
const newVisibility = !isVisible;
|
|
@@ -12212,8 +12335,7 @@ const InputPassword = forwardRef(({ onVisibilityToggle, disabled = false, ...pro
|
|
|
12212
12335
|
}),
|
|
12213
12336
|
type: isVisible ? "text" : "password"
|
|
12214
12337
|
});
|
|
12215
|
-
}
|
|
12216
|
-
InputPassword.displayName = "InputPassword_UI";
|
|
12338
|
+
};
|
|
12217
12339
|
//#endregion
|
|
12218
12340
|
//#region src/components/KeyboardShortcut/isKeyboardKey.ts
|
|
12219
12341
|
const KEYBOARD_KEY_MAP = {
|
|
@@ -12725,7 +12847,7 @@ const StyledBadgeContainer = styled.div`
|
|
|
12725
12847
|
font-size: var(--wui-typography-label-4-size);
|
|
12726
12848
|
color: var(--wui-color-text-secondary);
|
|
12727
12849
|
`;
|
|
12728
|
-
const MenuItemButton =
|
|
12850
|
+
const MenuItemButton = ({ children, appearance, command, icon, ref, ...props }) => {
|
|
12729
12851
|
let { colorScheme, badge } = props;
|
|
12730
12852
|
if (appearance === "dangerous") {
|
|
12731
12853
|
if (isNotUndefined(colorScheme)) console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
@@ -12753,8 +12875,7 @@ const MenuItemButton = forwardRef(({ children, appearance, command, icon, ...pro
|
|
|
12753
12875
|
isNotNil(props.rightIcon) ? /* @__PURE__ */ jsx(StyledRightIconContainer, { children: props.rightIcon }) : null
|
|
12754
12876
|
]
|
|
12755
12877
|
});
|
|
12756
|
-
}
|
|
12757
|
-
MenuItemButton.displayName = "MenuItemButton_UI";
|
|
12878
|
+
};
|
|
12758
12879
|
//#endregion
|
|
12759
12880
|
//#region src/components/Menu/MenuItemLabel.tsx
|
|
12760
12881
|
const StyledMenuItemLabel = styled.span`
|
|
@@ -12833,7 +12954,7 @@ const SubMenu = ({ label, description, children, onOpenChange = () => null, ...p
|
|
|
12833
12954
|
SubMenu.displayName = "SubMenu_UI";
|
|
12834
12955
|
//#endregion
|
|
12835
12956
|
//#region src/components/Menu/MenuItem.tsx
|
|
12836
|
-
const MenuItem =
|
|
12957
|
+
const MenuItem = ({ onSelect = () => null, closeOnClick = true, ref, ...props }) => {
|
|
12837
12958
|
return /* @__PURE__ */ jsx(Menu$1.Item, {
|
|
12838
12959
|
closeOnClick,
|
|
12839
12960
|
nativeButton: isNil(props.href),
|
|
@@ -12844,8 +12965,7 @@ const MenuItem = forwardRef(({ onSelect = () => null, closeOnClick = true, ...pr
|
|
|
12844
12965
|
leftIcon: props.icon
|
|
12845
12966
|
})
|
|
12846
12967
|
});
|
|
12847
|
-
}
|
|
12848
|
-
MenuItem.displayName = "MenuItem_UI";
|
|
12968
|
+
};
|
|
12849
12969
|
//#endregion
|
|
12850
12970
|
//#region src/components/Menu/MenuRadioGroup.tsx
|
|
12851
12971
|
const MenuRadioGroup = ({ children, ...props }) => {
|
|
@@ -12925,7 +13045,7 @@ CheckboxMenuItem.displayName = "CheckboxMenuItem_UI";
|
|
|
12925
13045
|
//#endregion
|
|
12926
13046
|
//#region src/components/Menu/FilterMenu.tsx
|
|
12927
13047
|
const FilterMenuItem = CheckboxMenuItem;
|
|
12928
|
-
const FilterMenu =
|
|
13048
|
+
const FilterMenu = ({ value, onChange, searchValue, onSearchValueChange, children, ref, ...props }) => {
|
|
12929
13049
|
return /* @__PURE__ */ jsxs(Menu, {
|
|
12930
13050
|
...props,
|
|
12931
13051
|
ref,
|
|
@@ -12996,8 +13116,7 @@ const FilterMenu = forwardRef(({ value, onChange, searchValue, onSearchValueChan
|
|
|
12996
13116
|
})
|
|
12997
13117
|
]
|
|
12998
13118
|
});
|
|
12999
|
-
}
|
|
13000
|
-
FilterMenu.displayName = "FilterMenu_UI";
|
|
13119
|
+
};
|
|
13001
13120
|
//#endregion
|
|
13002
13121
|
//#region src/components/Meter/Meter.tsx
|
|
13003
13122
|
const MeterWrapper = styled.div`
|
|
@@ -13100,11 +13219,12 @@ const Meter = ({ segments, label, labelMeta, description, hideKey = false, max =
|
|
|
13100
13219
|
const segmentsWithOffsets = segments.reduce((acc, segment) => {
|
|
13101
13220
|
const offset = acc.reduce((sum, prev) => sum + prev.widthPercent, 0);
|
|
13102
13221
|
const widthPercent = segment.value / max * 100;
|
|
13103
|
-
|
|
13222
|
+
acc.push({
|
|
13104
13223
|
...segment,
|
|
13105
13224
|
offset,
|
|
13106
13225
|
widthPercent
|
|
13107
|
-
}
|
|
13226
|
+
});
|
|
13227
|
+
return acc;
|
|
13108
13228
|
}, []);
|
|
13109
13229
|
const keySegments = segmentsWithOffsets.filter((segment) => isNotNil(segment.label));
|
|
13110
13230
|
const totalValue = segments.reduce((sum, segment) => sum + segment.value, 0);
|
|
@@ -13327,7 +13447,7 @@ const StyledModalContent = styled(Dialog.Popup)`
|
|
|
13327
13447
|
${({ $positionVariant }) => positionStyleMap[$positionVariant]}
|
|
13328
13448
|
}
|
|
13329
13449
|
`;
|
|
13330
|
-
const ModalContent =
|
|
13450
|
+
const ModalContent = ({ width, positionVariant, initialFocusRef, children, ref, ...props }) => {
|
|
13331
13451
|
return /* @__PURE__ */ jsx(StyledModalContent, {
|
|
13332
13452
|
ref,
|
|
13333
13453
|
$positionVariant: positionVariant,
|
|
@@ -13336,8 +13456,7 @@ const ModalContent = forwardRef(({ width, positionVariant, initialFocusRef, chil
|
|
|
13336
13456
|
...props,
|
|
13337
13457
|
children
|
|
13338
13458
|
});
|
|
13339
|
-
}
|
|
13340
|
-
ModalContent.displayName = "ModalContent_UI";
|
|
13459
|
+
};
|
|
13341
13460
|
//#endregion
|
|
13342
13461
|
//#region src/components/Modal/ModalOverlay.tsx
|
|
13343
13462
|
const backdropShow = keyframes`
|
|
@@ -13392,7 +13511,7 @@ const ModalFooter = styled.footer`
|
|
|
13392
13511
|
* A Modal is a focused UI element that appears atop the main interface, requiring
|
|
13393
13512
|
* user interaction or dismissal before returning to the underlying content.
|
|
13394
13513
|
*/
|
|
13395
|
-
const Modal =
|
|
13514
|
+
const Modal = ({ children, footer, hideCloseButton = false, hideTitle = false, initialFocusRef, isOpen, onRequestClose, positionVariant = "centered", title, width = DEFAULT_MODAL_WIDTH, ref, ...props }) => {
|
|
13396
13515
|
return /* @__PURE__ */ jsx(Dialog.Root, {
|
|
13397
13516
|
onOpenChange: (open) => {
|
|
13398
13517
|
if (!open && isNotNil(onRequestClose)) onRequestClose();
|
|
@@ -13416,8 +13535,7 @@ const Modal = forwardRef(({ children, footer, hideCloseButton = false, hideTitle
|
|
|
13416
13535
|
]
|
|
13417
13536
|
})] })
|
|
13418
13537
|
});
|
|
13419
|
-
}
|
|
13420
|
-
Modal.displayName = "Modal_UI";
|
|
13538
|
+
};
|
|
13421
13539
|
//#endregion
|
|
13422
13540
|
//#region src/components/Modal/ModalCallouts.tsx
|
|
13423
13541
|
const ModalCallouts = ({ children }) => {
|
|
@@ -13654,11 +13772,10 @@ PopoverAnchor.displayName = "PopoverAnchor_UI";
|
|
|
13654
13772
|
* pass `render` to merge the close behavior onto a single child element. For
|
|
13655
13773
|
* a pre-styled icon close button, use `PopoverCloseButton`.
|
|
13656
13774
|
*/
|
|
13657
|
-
const PopoverClose =
|
|
13658
|
-
ref
|
|
13775
|
+
const PopoverClose = ({ ref, ...props }) => /* @__PURE__ */ jsx(Popover$1.Close, {
|
|
13776
|
+
ref,
|
|
13659
13777
|
...props
|
|
13660
|
-
})
|
|
13661
|
-
PopoverClose.displayName = "PopoverClose_UI";
|
|
13778
|
+
});
|
|
13662
13779
|
//#endregion
|
|
13663
13780
|
//#region src/components/Popover/PopoverCloseButton.tsx
|
|
13664
13781
|
/**
|
|
@@ -13700,7 +13817,7 @@ const DEFAULT_MAX_HEIGHT = "auto";
|
|
|
13700
13817
|
* The styled popover surface. Place inside a `PopoverRoot` (typically wrapped
|
|
13701
13818
|
* in a `PopoverPortal`). Wraps a `Positioner` and `Popup` internally.
|
|
13702
13819
|
*/
|
|
13703
|
-
const PopoverContent =
|
|
13820
|
+
const PopoverContent = ({ colorScheme = "inherit", unstyled = false, maxWidth = DEFAULT_MAX_WIDTH, maxHeight = DEFAULT_MAX_HEIGHT, sideOffset = DEFAULT_SIDE_OFFSET, side, align, style, role = "dialog", children, ref, ...props }) => {
|
|
13704
13821
|
const sharedAnchorRef = usePopoverAnchor();
|
|
13705
13822
|
const hasAnchor = sharedAnchorRef?.current != null;
|
|
13706
13823
|
const mergedStyle = {
|
|
@@ -13720,7 +13837,7 @@ const PopoverContent = forwardRef(({ colorScheme = "inherit", unstyled = false,
|
|
|
13720
13837
|
style: { zIndex: "var(--wui-zindex-popover)" },
|
|
13721
13838
|
...hasAnchor ? { anchor: sharedAnchorRef } : {},
|
|
13722
13839
|
children: /* @__PURE__ */ jsx(StyledPopup$1, {
|
|
13723
|
-
ref
|
|
13840
|
+
ref,
|
|
13724
13841
|
$colorScheme: colorScheme,
|
|
13725
13842
|
$unstyled: unstyled,
|
|
13726
13843
|
role,
|
|
@@ -13729,8 +13846,7 @@ const PopoverContent = forwardRef(({ colorScheme = "inherit", unstyled = false,
|
|
|
13729
13846
|
children
|
|
13730
13847
|
})
|
|
13731
13848
|
});
|
|
13732
|
-
}
|
|
13733
|
-
PopoverContent.displayName = "PopoverContent_UI";
|
|
13849
|
+
};
|
|
13734
13850
|
//#endregion
|
|
13735
13851
|
//#region src/components/Popover/PopoverPortal.tsx
|
|
13736
13852
|
/**
|
|
@@ -13765,12 +13881,11 @@ PopoverRoot.displayName = "PopoverRoot_UI";
|
|
|
13765
13881
|
* `<button>` wrapping its children; pass `render` to merge the trigger
|
|
13766
13882
|
* behavior onto a single child element (e.g. a `Button` or `IconButton`).
|
|
13767
13883
|
*/
|
|
13768
|
-
const PopoverTrigger =
|
|
13769
|
-
ref
|
|
13884
|
+
const PopoverTrigger = ({ nativeButton = true, ref, ...props }) => /* @__PURE__ */ jsx(Popover$1.Trigger, {
|
|
13885
|
+
ref,
|
|
13770
13886
|
nativeButton,
|
|
13771
13887
|
...props
|
|
13772
|
-
})
|
|
13773
|
-
PopoverTrigger.displayName = "PopoverTrigger_UI";
|
|
13888
|
+
});
|
|
13774
13889
|
//#endregion
|
|
13775
13890
|
//#region src/components/ProgressBar/ProgressBar.tsx
|
|
13776
13891
|
const ProgressBarWrapper = styled.div`
|
|
@@ -13912,7 +14027,7 @@ const StyledRadioInput = styled.div`
|
|
|
13912
14027
|
const StyledHiddenRadioInput = styled.input`
|
|
13913
14028
|
${visuallyHiddenStyle}
|
|
13914
14029
|
`;
|
|
13915
|
-
const Radio =
|
|
14030
|
+
const Radio = ({ checked, disabled = false, id, label, description, name, onChange, size = "md", value = "false", required = false, hideLabel = false, ref, ...props }) => {
|
|
13916
14031
|
const generatedId = useId();
|
|
13917
14032
|
const computedId = isNonEmptyString(id) ? id : `wistia-ui-radio-${generatedId}`;
|
|
13918
14033
|
const radioGroupContext = useRadioGroup();
|
|
@@ -13946,8 +14061,7 @@ const Radio = forwardRef(({ checked, disabled = false, id, label, description, n
|
|
|
13946
14061
|
label
|
|
13947
14062
|
})]
|
|
13948
14063
|
});
|
|
13949
|
-
}
|
|
13950
|
-
Radio.displayName = "Radio_UI";
|
|
14064
|
+
};
|
|
13951
14065
|
//#endregion
|
|
13952
14066
|
//#region src/components/RadioCard/RadioCardRoot.tsx
|
|
13953
14067
|
const checkedStyles = css`
|
|
@@ -14056,7 +14170,7 @@ const StyledCard = styled.label`
|
|
|
14056
14170
|
const StyledHiddenInput = styled.input`
|
|
14057
14171
|
${visuallyHiddenStyle}
|
|
14058
14172
|
`;
|
|
14059
|
-
const RadioCardRoot =
|
|
14173
|
+
const RadioCardRoot = ({ children, disabled = false, id, isGated = false, name, onChange, value, aspectRatio = "initial", padding = "space-04", checked, ref, ...props }) => {
|
|
14060
14174
|
const generatedId = useId();
|
|
14061
14175
|
const computedId = isNonEmptyString(id) ? id : `wistia-ui-radio-${generatedId}`;
|
|
14062
14176
|
const radioGroupContext = useRadioGroup();
|
|
@@ -14083,8 +14197,7 @@ const RadioCardRoot = forwardRef(({ children, disabled = false, id, isGated = fa
|
|
|
14083
14197
|
value
|
|
14084
14198
|
}), children]
|
|
14085
14199
|
});
|
|
14086
|
-
}
|
|
14087
|
-
RadioCardRoot.displayName = "RadioCardRoot_UI";
|
|
14200
|
+
};
|
|
14088
14201
|
//#endregion
|
|
14089
14202
|
//#region src/components/RadioCard/RadioCardIndicator.tsx
|
|
14090
14203
|
const RadioCardIndicator = styled.div`
|
|
@@ -14197,7 +14310,7 @@ const RadioCardChildrenContainer = styled.div`
|
|
|
14197
14310
|
`;
|
|
14198
14311
|
//#endregion
|
|
14199
14312
|
//#region src/components/RadioCard/RadioCard.tsx
|
|
14200
|
-
const RadioCard =
|
|
14313
|
+
const RadioCard = ({ icon, label, description, showIndicator, isGated, children, ref, ...rootProps }) => {
|
|
14201
14314
|
return /* @__PURE__ */ jsx(RadioCardRoot, {
|
|
14202
14315
|
ref,
|
|
14203
14316
|
isGated,
|
|
@@ -14214,11 +14327,10 @@ const RadioCard = forwardRef(({ icon, label, description, showIndicator, isGated
|
|
|
14214
14327
|
showIndicator
|
|
14215
14328
|
})
|
|
14216
14329
|
});
|
|
14217
|
-
}
|
|
14218
|
-
RadioCard.displayName = "RadioCard_UI";
|
|
14330
|
+
};
|
|
14219
14331
|
//#endregion
|
|
14220
14332
|
//#region src/components/RadioCard/RadioCardImage.tsx
|
|
14221
|
-
const RadioCardImage =
|
|
14333
|
+
const RadioCardImage = ({ label, imageSrc, aspectRatio, padding = "space-04", ref, ...rootProps }) => {
|
|
14222
14334
|
return /* @__PURE__ */ jsx(RadioCardRoot, {
|
|
14223
14335
|
ref,
|
|
14224
14336
|
...rootProps,
|
|
@@ -14232,8 +14344,7 @@ const RadioCardImage = forwardRef(({ label, imageSrc, aspectRatio, padding = "sp
|
|
|
14232
14344
|
src: imageSrc
|
|
14233
14345
|
})
|
|
14234
14346
|
});
|
|
14235
|
-
}
|
|
14236
|
-
RadioCardImage.displayName = "RadioCardImage_UI";
|
|
14347
|
+
};
|
|
14237
14348
|
//#endregion
|
|
14238
14349
|
//#region src/components/ScrollArea/ScrollArea.tsx
|
|
14239
14350
|
const SHADOW_SIZE_PX = 8;
|
|
@@ -14286,7 +14397,7 @@ const ShadowAtRight = styled(Shadow)`
|
|
|
14286
14397
|
* ScrollArea is a simple scrollable container with shadow effects to indicate
|
|
14287
14398
|
* scrollability.
|
|
14288
14399
|
*/
|
|
14289
|
-
const ScrollArea =
|
|
14400
|
+
const ScrollArea = ({ children, onScroll, style, locked = false, ref: forwardedRef, ...props }) => {
|
|
14290
14401
|
const scrollContainerRefInternal = useRef(null);
|
|
14291
14402
|
const [shadowState, setShadowState] = useState({
|
|
14292
14403
|
canScrollUp: false,
|
|
@@ -14329,8 +14440,7 @@ const ScrollArea = forwardRef(({ children, onScroll, style, locked = false, ...p
|
|
|
14329
14440
|
})
|
|
14330
14441
|
]
|
|
14331
14442
|
});
|
|
14332
|
-
}
|
|
14333
|
-
ScrollArea.displayName = "ScrollArea_UI";
|
|
14443
|
+
};
|
|
14334
14444
|
//#endregion
|
|
14335
14445
|
//#region src/components/SegmentedControl/useSelectedItemStyle.tsx
|
|
14336
14446
|
const SelectedItemStyleContext = createContext(null);
|
|
@@ -14506,7 +14616,7 @@ const segmentedControlItemStyles = css`
|
|
|
14506
14616
|
const StyledSegmentedControlItem = styled(Toggle)`
|
|
14507
14617
|
${segmentedControlItemStyles}
|
|
14508
14618
|
`;
|
|
14509
|
-
const SegmentedControlItem =
|
|
14619
|
+
const SegmentedControlItem = ({ disabled, icon, label, "aria-label": ariaLabel, value, ref: forwardedRef, ...otherProps }) => {
|
|
14510
14620
|
const selectedValue = useSegmentedControlValue();
|
|
14511
14621
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
14512
14622
|
const buttonRef = useRef(null);
|
|
@@ -14549,8 +14659,7 @@ const SegmentedControlItem = forwardRef(({ disabled, icon, label, "aria-label":
|
|
|
14549
14659
|
value,
|
|
14550
14660
|
children: [icon, label]
|
|
14551
14661
|
});
|
|
14552
|
-
}
|
|
14553
|
-
SegmentedControlItem.displayName = "SegmentedControlItem_UI";
|
|
14662
|
+
};
|
|
14554
14663
|
//#endregion
|
|
14555
14664
|
//#region src/components/Select/Select.tsx
|
|
14556
14665
|
const StyledTrigger = styled(Select$1.Trigger)`
|
|
@@ -14691,7 +14800,7 @@ const collectItemLabels = (children) => Children.toArray(children).flatMap((chil
|
|
|
14691
14800
|
/**
|
|
14692
14801
|
* Display a list of options and choose one of them. Replacement for the native Select HTML element.
|
|
14693
14802
|
*/
|
|
14694
|
-
const Select =
|
|
14803
|
+
const Select = ({ colorScheme = "inherit", children, onOpenChange = () => null, onChange = () => null, placeholder = "Select...", fullWidth = false, forceOpen = false, showScrollArrows = false, disabled, name, value, "aria-invalid": ariaInvalid, ref: forwardedRef, ...props }) => {
|
|
14695
14804
|
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
14696
14805
|
const rootProps = {
|
|
14697
14806
|
disabled,
|
|
@@ -14732,8 +14841,7 @@ const Select = forwardRef(({ colorScheme = "inherit", children, onOpenChange = (
|
|
|
14732
14841
|
] })
|
|
14733
14842
|
}) })]
|
|
14734
14843
|
});
|
|
14735
|
-
}
|
|
14736
|
-
Select.displayName = "Select_UI";
|
|
14844
|
+
};
|
|
14737
14845
|
//#endregion
|
|
14738
14846
|
//#region src/components/Select/SelectOption.tsx
|
|
14739
14847
|
const StyledItem = styled(Select$1.Item)`
|
|
@@ -14762,7 +14870,7 @@ const StyledItem = styled(Select$1.Item)`
|
|
|
14762
14870
|
background-color: transparent;
|
|
14763
14871
|
}
|
|
14764
14872
|
`;
|
|
14765
|
-
const SelectOption =
|
|
14873
|
+
const SelectOption = ({ children, selectedDisplayValue, checkmarkVerticalAlign = "center", textValue, ref: forwardedRef, ...props }) => {
|
|
14766
14874
|
const label = typeof children === "string" ? children : textValue;
|
|
14767
14875
|
return /* @__PURE__ */ jsxs(StyledItem, {
|
|
14768
14876
|
...props,
|
|
@@ -14777,8 +14885,7 @@ const SelectOption = forwardRef(({ children, selectedDisplayValue, checkmarkVert
|
|
|
14777
14885
|
type: "checkmark"
|
|
14778
14886
|
}) })]
|
|
14779
14887
|
});
|
|
14780
|
-
}
|
|
14781
|
-
SelectOption.displayName = "SelectOption_UI";
|
|
14888
|
+
};
|
|
14782
14889
|
//#endregion
|
|
14783
14890
|
//#region src/components/Select/SelectOptionGroup.tsx
|
|
14784
14891
|
const StyledLabel = styled(Select$1.GroupLabel)`
|
|
@@ -14824,14 +14931,13 @@ const StyledSidebar = styled.nav`
|
|
|
14824
14931
|
overflow: hidden;
|
|
14825
14932
|
border-right: 1px solid var(--wui-color-border);
|
|
14826
14933
|
`;
|
|
14827
|
-
const Sidebar =
|
|
14934
|
+
const Sidebar = ({ children, ref, ...props }) => {
|
|
14828
14935
|
return /* @__PURE__ */ jsx(StyledSidebar, {
|
|
14829
14936
|
ref,
|
|
14830
14937
|
...props,
|
|
14831
14938
|
children
|
|
14832
14939
|
});
|
|
14833
|
-
}
|
|
14834
|
-
Sidebar.displayName = "Sidebar_UI";
|
|
14940
|
+
};
|
|
14835
14941
|
//#endregion
|
|
14836
14942
|
//#region src/components/Sidebar/SidebarHeader.tsx
|
|
14837
14943
|
const StyledSidebarHeader = styled.div`
|
|
@@ -14971,7 +15077,7 @@ const StyledSidebarButton = styled(Button)`
|
|
|
14971
15077
|
${pressedButtonVariant};
|
|
14972
15078
|
}
|
|
14973
15079
|
`;
|
|
14974
|
-
const SidebarButton =
|
|
15080
|
+
const SidebarButton = ({ selected = false, ref, ...props }) => {
|
|
14975
15081
|
return /* @__PURE__ */ jsx(StyledSidebarButton, {
|
|
14976
15082
|
ref,
|
|
14977
15083
|
"aria-current": selected ? "page" : void 0,
|
|
@@ -14979,14 +15085,13 @@ const SidebarButton = forwardRef(({ selected = false, ...props }, ref) => {
|
|
|
14979
15085
|
"data-wui-sidebar-button": true,
|
|
14980
15086
|
...props
|
|
14981
15087
|
});
|
|
14982
|
-
}
|
|
14983
|
-
SidebarButton.displayName = "SidebarButton_UI";
|
|
15088
|
+
};
|
|
14984
15089
|
//#endregion
|
|
14985
15090
|
//#region src/components/Sidebar/SidebarSearchInput.tsx
|
|
14986
15091
|
const StyledSidebarSearchInputContainer = styled.div`
|
|
14987
15092
|
padding-inline: var(--wui-space-01);
|
|
14988
15093
|
`;
|
|
14989
|
-
const SidebarSearchInput =
|
|
15094
|
+
const SidebarSearchInput = ({ id, label = "Search navigation", ref, ...props }) => {
|
|
14990
15095
|
const generatedId = useId();
|
|
14991
15096
|
const inputId = id ?? generatedId;
|
|
14992
15097
|
return /* @__PURE__ */ jsxs(StyledSidebarSearchInputContainer, { children: [/* @__PURE__ */ jsx(Label, {
|
|
@@ -14999,8 +15104,7 @@ const SidebarSearchInput = forwardRef(({ id, label = "Search navigation", ...pro
|
|
|
14999
15104
|
type: "search",
|
|
15000
15105
|
...props
|
|
15001
15106
|
})] });
|
|
15002
|
-
}
|
|
15003
|
-
SidebarSearchInput.displayName = "SidebarSearchInput_UI";
|
|
15107
|
+
};
|
|
15004
15108
|
//#endregion
|
|
15005
15109
|
//#region src/components/Slider/Slider.tsx
|
|
15006
15110
|
const SliderContainer = styled.div`
|
|
@@ -15369,11 +15473,11 @@ const StyledTabsTrigger = styled(Tabs$1.Tab)`
|
|
|
15369
15473
|
`;
|
|
15370
15474
|
//#endregion
|
|
15371
15475
|
//#region src/components/Tabs/TabsTrigger.tsx
|
|
15372
|
-
const TabsTrigger =
|
|
15476
|
+
const TabsTrigger = ({ disabled = false, icon, label, "aria-label": ariaLabel, value, ref, ...otherProps }) => {
|
|
15373
15477
|
const selectedValue = useTabsValue();
|
|
15374
15478
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
15375
15479
|
const buttonRef = useRef(null);
|
|
15376
|
-
const combinedRef = mergeRefs([buttonRef,
|
|
15480
|
+
const combinedRef = mergeRefs([buttonRef, ref]);
|
|
15377
15481
|
useEffect(() => {
|
|
15378
15482
|
const buttonElem = buttonRef.current;
|
|
15379
15483
|
if (!buttonElem) return;
|
|
@@ -15408,8 +15512,7 @@ const TabsTrigger = forwardRef(({ disabled = false, icon, label, "aria-label": a
|
|
|
15408
15512
|
value,
|
|
15409
15513
|
children: [icon, label]
|
|
15410
15514
|
});
|
|
15411
|
-
}
|
|
15412
|
-
TabsTrigger.displayName = "TabsTrigger_UI";
|
|
15515
|
+
};
|
|
15413
15516
|
//#endregion
|
|
15414
15517
|
//#region src/components/Thumbnail/ThumbnailBadge.tsx
|
|
15415
15518
|
const StyledThumbnailBadge = styled.div`
|
|
@@ -15445,141 +15548,6 @@ const ThumbnailBadge = ({ icon, label, ...props }) => {
|
|
|
15445
15548
|
};
|
|
15446
15549
|
ThumbnailBadge.displayName = "ThumbnailBadge_UI";
|
|
15447
15550
|
//#endregion
|
|
15448
|
-
//#region src/private/helpers/getBackgroundGradient/getBackgroundGradient.ts
|
|
15449
|
-
const gradients = {
|
|
15450
|
-
defaultDarkOne: css`
|
|
15451
|
-
background-color: #222d66;
|
|
15452
|
-
background-image:
|
|
15453
|
-
radial-gradient(farthest-corner at top right, #222d66, transparent 70%),
|
|
15454
|
-
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
15455
|
-
radial-gradient(farthest-corner at bottom left, #6b84ff, transparent 57%),
|
|
15456
|
-
radial-gradient(farthest-corner at top left, #2949e5, transparent 68%);
|
|
15457
|
-
`,
|
|
15458
|
-
defaultDarkTwo: css`
|
|
15459
|
-
background-color: #222d66;
|
|
15460
|
-
background-image:
|
|
15461
|
-
radial-gradient(farthest-corner at top left, #6b84ff, transparent 100%),
|
|
15462
|
-
radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%),
|
|
15463
|
-
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
15464
|
-
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
15465
|
-
`,
|
|
15466
|
-
defaultLightOne: css`
|
|
15467
|
-
background-color: #ccd5ff;
|
|
15468
|
-
background-image:
|
|
15469
|
-
radial-gradient(farthest-corner at bottom right, #ccd5ff, transparent 55%),
|
|
15470
|
-
radial-gradient(farthest-corner at top left, #ccd5ff, transparent 65%),
|
|
15471
|
-
radial-gradient(farthest-corner at top right, #6b84ff, transparent 50%),
|
|
15472
|
-
radial-gradient(farthest-corner at bottom left, #f7f8ff, transparent 50%);
|
|
15473
|
-
`,
|
|
15474
|
-
defaultLightTwo: css`
|
|
15475
|
-
background-color: #ccd5ff;
|
|
15476
|
-
background-image:
|
|
15477
|
-
radial-gradient(ellipse at top, #ccd5ff, transparent),
|
|
15478
|
-
radial-gradient(ellipse at bottom, #6b84ff, transparent);
|
|
15479
|
-
`,
|
|
15480
|
-
defaultMidOne: css`
|
|
15481
|
-
background-color: #6b84ff;
|
|
15482
|
-
background-image:
|
|
15483
|
-
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%),
|
|
15484
|
-
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
15485
|
-
radial-gradient(farthest-corner at top left, #6b84ff, transparent 80%),
|
|
15486
|
-
radial-gradient(farthest-corner at bottom left, #222d66, transparent 57%);
|
|
15487
|
-
`,
|
|
15488
|
-
defaultMidTwo: css`
|
|
15489
|
-
background-color: #6b84ff;
|
|
15490
|
-
background-image:
|
|
15491
|
-
radial-gradient(ellipse at top, #2949e5, transparent),
|
|
15492
|
-
radial-gradient(ellipse at bottom, #ccd5ff, transparent);
|
|
15493
|
-
`,
|
|
15494
|
-
green: css`
|
|
15495
|
-
background-color: #fafffa;
|
|
15496
|
-
background-image:
|
|
15497
|
-
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
15498
|
-
radial-gradient(farthest-corner at top right, #268713, transparent 50%),
|
|
15499
|
-
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
15500
|
-
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
15501
|
-
`,
|
|
15502
|
-
greenWithPop: css`
|
|
15503
|
-
background-color: #fafffa;
|
|
15504
|
-
background-image:
|
|
15505
|
-
radial-gradient(farthest-corner at bottom left, #b0e5a5, transparent 50%),
|
|
15506
|
-
radial-gradient(farthest-corner at top right, #2949e5, transparent 50%),
|
|
15507
|
-
radial-gradient(farthest-corner at top left, #44b62d, transparent 65%),
|
|
15508
|
-
radial-gradient(farthest-corner at bottom right, #44b62d, transparent 55%);
|
|
15509
|
-
`,
|
|
15510
|
-
pink: css`
|
|
15511
|
-
background-color: #fffff0;
|
|
15512
|
-
background-image:
|
|
15513
|
-
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 50%),
|
|
15514
|
-
radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
|
|
15515
|
-
radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
|
|
15516
|
-
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%);
|
|
15517
|
-
`,
|
|
15518
|
-
pinkWithPop: css`
|
|
15519
|
-
background-color: #fffff0;
|
|
15520
|
-
background-image:
|
|
15521
|
-
radial-gradient(farthest-corner at top right, #e0128e, transparent 70%),
|
|
15522
|
-
radial-gradient(farthest-corner at top left, #ff40b3, transparent 65%),
|
|
15523
|
-
radial-gradient(farthest-corner at bottom right, #ff40b3, transparent 55%),
|
|
15524
|
-
radial-gradient(farthest-corner at bottom left, #2949e5, transparent 50%);
|
|
15525
|
-
`,
|
|
15526
|
-
playfulGradientOne: css`
|
|
15527
|
-
background-color: #f7f8ff;
|
|
15528
|
-
background-image:
|
|
15529
|
-
radial-gradient(farthest-corner at top left, #d65cff, transparent 68%),
|
|
15530
|
-
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 50%),
|
|
15531
|
-
radial-gradient(farthest-corner at bottom left, #ffc7e8, transparent 57%),
|
|
15532
|
-
radial-gradient(farthest-corner at top right, #ffcaba, transparent 70%);
|
|
15533
|
-
`,
|
|
15534
|
-
playfulGradientTwo: css`
|
|
15535
|
-
background-color: #f7f8ff;
|
|
15536
|
-
background-image:
|
|
15537
|
-
radial-gradient(farthest-corner at top left, #44b62d, transparent 68%),
|
|
15538
|
-
radial-gradient(farthest-corner at bottom right, #eff18d, transparent 50%),
|
|
15539
|
-
radial-gradient(farthest-corner at bottom left, #ccd5ff, transparent 57%),
|
|
15540
|
-
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
15541
|
-
`,
|
|
15542
|
-
purple: css`
|
|
15543
|
-
background-color: #f2caff;
|
|
15544
|
-
background-image:
|
|
15545
|
-
radial-gradient(ellipse at 0% 100%, #f9e5ff, transparent 50%),
|
|
15546
|
-
radial-gradient(ellipse at 100% 0%, #e093fa, transparent 70%);
|
|
15547
|
-
`,
|
|
15548
|
-
purpleWithPop: css`
|
|
15549
|
-
background-color: #f2caff;
|
|
15550
|
-
background-image:
|
|
15551
|
-
radial-gradient(farthest-corner at bottom left, #f2caff, transparent 50%),
|
|
15552
|
-
radial-gradient(farthest-corner at top left, #d65cff, transparent 65%),
|
|
15553
|
-
radial-gradient(farthest-corner at bottom right, #d65cff, transparent 55%),
|
|
15554
|
-
radial-gradient(farthest-corner at top right, #2949e5, transparent 70%);
|
|
15555
|
-
`,
|
|
15556
|
-
yellow: css`
|
|
15557
|
-
background-color: #fffff0;
|
|
15558
|
-
background-image:
|
|
15559
|
-
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
15560
|
-
radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
|
|
15561
|
-
radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
|
|
15562
|
-
radial-gradient(farthest-corner at bottom right, #e8ec1e, transparent 55%);
|
|
15563
|
-
`,
|
|
15564
|
-
yellowWithPop: css`
|
|
15565
|
-
background-color: #fffff0;
|
|
15566
|
-
background-image:
|
|
15567
|
-
radial-gradient(farthest-corner at bottom left, #eff18d, transparent 50%),
|
|
15568
|
-
radial-gradient(farthest-corner at top right, #bcbf19, transparent 70%),
|
|
15569
|
-
radial-gradient(farthest-corner at top left, #e8ec1e, transparent 65%),
|
|
15570
|
-
radial-gradient(farthest-corner at bottom right, #2949e5, transparent 55%);
|
|
15571
|
-
`
|
|
15572
|
-
};
|
|
15573
|
-
/**
|
|
15574
|
-
* Retrieves the CSS background gradient corresponding to the given gradient name.
|
|
15575
|
-
* If the specified gradient name is not found, the default gradient ('defaultDarkOne') is returned.
|
|
15576
|
-
* @param {GradientName} gradientName - The name of the gradient to retrieve.
|
|
15577
|
-
* @returns {CssStyleType} The CSS string representing the specified gradient.
|
|
15578
|
-
*/
|
|
15579
|
-
const getBackgroundGradient = (gradientName) => {
|
|
15580
|
-
return isNotNil(gradientName) ? gradients[gradientName] : gradients.defaultDarkOne;
|
|
15581
|
-
};
|
|
15582
|
-
//#endregion
|
|
15583
15551
|
//#region src/components/Thumbnail/ThumbnailStoryboardViewer.tsx
|
|
15584
15552
|
const ScrubLine = styled.div`
|
|
15585
15553
|
position: absolute;
|
|
@@ -15743,7 +15711,7 @@ const hasValidThumbnailUrl = (thumbnailUrl) => {
|
|
|
15743
15711
|
/**
|
|
15744
15712
|
* A `Thumbnail` is a small, reduced-size version of an image or video used as a preview or representative image.
|
|
15745
15713
|
*/
|
|
15746
|
-
const Thumbnail =
|
|
15714
|
+
const Thumbnail = ({ gradientBackground = "defaultMidOne", thumbnailImageType = "wide", thumbnailUrl, width = "100%", children, storyboard, height, aspectRatio = "wide", ref, ...props }) => {
|
|
15747
15715
|
const [percent, setPercent] = useState(0);
|
|
15748
15716
|
const [isMouseOver, setIsMouseOver] = useState(false);
|
|
15749
15717
|
const [isStoryboardReady, setIsStoryboardReady] = useState(false);
|
|
@@ -15816,8 +15784,7 @@ const Thumbnail = forwardRef(({ gradientBackground = "defaultMidOne", thumbnailI
|
|
|
15816
15784
|
children: [isNotNil(children) ? children : null, thumbnailContent]
|
|
15817
15785
|
})
|
|
15818
15786
|
});
|
|
15819
|
-
}
|
|
15820
|
-
Thumbnail.displayName = "Thumbnail_UI";
|
|
15787
|
+
};
|
|
15821
15788
|
//#endregion
|
|
15822
15789
|
//#region src/components/ThumbnailCollage/ThumbnailCollage.tsx
|
|
15823
15790
|
const ThumbnailCollageContainer = styled.div`
|
|
@@ -15993,6 +15960,6 @@ const WistiaLogo = ({ description, height = 100, hoverColor, href, iconOnly = fa
|
|
|
15993
15960
|
};
|
|
15994
15961
|
WistiaLogo.displayName = "WistiaLogo_UI";
|
|
15995
15962
|
//#endregion
|
|
15996
|
-
export { ActionButton, Avatar, Badge, Banner, Box, Breadcrumb, Breadcrumbs, Button, ButtonGroup, Card, Center, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickRegion, Collapsible, CollapsibleContent, CollapsibleTrigger, CollapsibleTriggerIcon, ColorGrid, ColorGridOption, ColorList, ColorListGroup, ColorListOption, ColorPicker, ColorPickerPopoverContent, ColorPickerSection, ColorPickerTrigger, ColorSchemeWrapper, Combobox, ComboboxOption, ContextMenu, ContrastControls, CustomizableThemeWrapper, DataCard, DataCardHoverArrow, DataCardTrend, DataCards, DataList, DataListItem, DataListItemLabel, DataListItemValue, Divider, EditableHeading, EditableText, EditableTextCancelButton, EditableTextContext, EditableTextDisplay, EditableTextInput, EditableTextLabel, EditableTextRoot, EditableTextSubmitButton, EditableTextTrigger, Ellipsis, FeatureCard, FeatureCardImage, FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, FilterMenu, FilterMenuItem, Form, FormErrorSummary, FormField, FormGroup, Grid, Heading, HexColorInput, HueSlider, Icon, IconButton, Image, ImageDimensionsValidator, Input, InputClickToCopy, InputDuration, InputPassword, KeyboardShortcut, Label, Link, List, ListItem, Mark, Markdown, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Meter, Modal, ModalCallout, ModalCallouts, PersistentFileAmountLimitValidator, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverCloseButton, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, PreviewCard, ProgressBar, Radio, RadioCard, RadioCardImage, RadioGroup, RadioMenuItem, SaturationAndValuePicker, ScreenReaderOnly, ScrollArea, SegmentedControl, SegmentedControlItem, Select, SelectOption, SelectOptionGroup, Sidebar, SidebarButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarSearchInput, SidebarTitle, Slider, SplitButton, Stack, SubMenu, Switch, Table, TableBody, TableCell, TableFoot, TableHead, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, Text, Thumbnail, ThumbnailBadge, ThumbnailCollage, Tooltip, UIProvider, ValueNameOrHexCode, ValueSwatch, WistiaLogo, buildTimeDuration, calculateContrast, coerceToBoolean, colorSchemeOptions, copyToClipboard, dateOnlyISOString, dateOnlyString, dateOnlyStringForSentence, dateOnlyStringNumeric, dateTime, dateTimeRounded, dateTimeString, dateTimeStringForSentence, dateTimeToDate, dateTimeToISO, dateToDateTime, dateUTCOffset, dayOfWeekString, iconSizeMap, isKeyboardKey, isUrl, mediaDurationString, mergeRefs, millisecondsToDurationISOString, monthDayStringNumeric, mq, parseDateString, sessionDurationString, stripExtension, timeAgoString, timeOnlyString, useActiveMq, useAriaLive, useBoolean, useClipboard, useElementObserver, useFilePicker, useFocusTrap, useForceUpdate, useFormState, useImperativeFilePicker, useIsHovered, useKey, useKeyPress, useLocalStorage, useLockBodyScroll, useMq, useOnClickOutside, usePreviousValue, useToast, useWindowSize, validateWithYup };
|
|
15963
|
+
export { ActionButton, Avatar, Badge, Banner, Box, Breadcrumb, Breadcrumbs, Button, ButtonGroup, Card, Center, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickRegion, Collapsible, CollapsibleContent, CollapsibleTrigger, CollapsibleTriggerIcon, ColorGrid, ColorGridOption, ColorList, ColorListGroup, ColorListOption, ColorPicker, ColorPickerPopoverContent, ColorPickerSection, ColorPickerTrigger, ColorSchemeWrapper, Combobox, ComboboxOption, ContextMenu, ContrastControls, CustomizableThemeWrapper, DataCard, DataCardHoverArrow, DataCardTrend, DataCards, DataList, DataListItem, DataListItemLabel, DataListItemValue, Divider, EditableHeading, EditableText, EditableTextCancelButton, EditableTextContext, EditableTextDisplay, EditableTextInput, EditableTextLabel, EditableTextRoot, EditableTextSubmitButton, EditableTextTrigger, Ellipsis, FeatureCard, FeatureCardImage, FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, FilterMenu, FilterMenuItem, Form, FormErrorSummary, FormField, FormGroup, Grid, Heading, HexColorInput, HueSlider, Icon, IconButton, Image, ImageDimensionsValidator, Input, InputClickToCopy, InputDuration, InputPassword, KeyboardShortcut, Label, Link, List, ListItem, Mark, Markdown, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Meter, Modal, ModalCallout, ModalCallouts, PersistentFileAmountLimitValidator, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverCloseButton, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, PreviewCard, ProgressBar, Radio, RadioCard, RadioCardImage, RadioGroup, RadioMenuItem, SaturationAndValuePicker, ScreenReaderOnly, ScrollArea, SegmentedControl, SegmentedControlItem, Select, SelectOption, SelectOptionGroup, Sidebar, SidebarButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarSearchInput, SidebarTitle, Slider, SplitButton, Stack, SubMenu, Switch, Table, TableBody, TableCell, TableFoot, TableHead, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, Text, Thumbnail, ThumbnailBadge, ThumbnailCollage, Tooltip, UIProvider, ValueNameOrHexCode, ValueSwatch, WistiaLogo, buildTimeDuration, calculateContrast, coerceToBoolean, colorSchemeOptions, copyToClipboard, dateOnlyISOString, dateOnlyString, dateOnlyStringForSentence, dateOnlyStringNumeric, dateTime, dateTimeRounded, dateTimeString, dateTimeStringForSentence, dateTimeToDate, dateTimeToISO, dateToDateTime, dateUTCOffset, dayOfWeekString, getBackgroundGradient, getSemiRandomBackgroundGradient, iconSizeMap, isKeyboardKey, isUrl, mediaDurationString, mergeRefs, millisecondsToDurationISOString, monthDayStringNumeric, mq, parseDateString, sessionDurationString, stripExtension, timeAgoString, timeOnlyString, useActiveMq, useAriaLive, useBoolean, useClipboard, useElementObserver, useFilePicker, useFocusTrap, useForceUpdate, useFormState, useImperativeFilePicker, useIsHovered, useKey, useKeyPress, useLocalStorage, useLockBodyScroll, useMq, useOnClickOutside, usePreviousValue, useToast, useWindowSize, validateWithYup };
|
|
15997
15964
|
|
|
15998
15965
|
//# sourceMappingURL=index.js.map
|