@wistia/ui 0.9.1 → 0.9.2-beta.e562f7d7.1a8cf9b
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 +216 -140
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +2 -5
- package/dist/index.d.ts +2 -5
- package/dist/index.mjs +164 -88
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.9.
|
|
3
|
+
* @license @wistia/ui v0.9.2-beta.e562f7d7.1a8cf9b
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -2976,9 +2976,8 @@ var buttonResetCss = import_styled_components17.css`
|
|
|
2976
2976
|
padding: 0;
|
|
2977
2977
|
}
|
|
2978
2978
|
|
|
2979
|
-
/* add some default affordance for a focused button */
|
|
2980
2979
|
&:focus {
|
|
2981
|
-
outline:
|
|
2980
|
+
outline: none;
|
|
2982
2981
|
}
|
|
2983
2982
|
|
|
2984
2983
|
&[aria-disabled] {
|
|
@@ -7375,6 +7374,8 @@ var StyledActionButton = (0, import_styled_components22.default)(Button)`
|
|
|
7375
7374
|
|
|
7376
7375
|
&:hover,
|
|
7377
7376
|
:focus-visible {
|
|
7377
|
+
--wui-color-text: var(--wui-color-text-button);
|
|
7378
|
+
|
|
7378
7379
|
${({ $hoverColorScheme }) => getColorScheme($hoverColorScheme)};
|
|
7379
7380
|
background: var(--wui-color-bg-surface-tertiary);
|
|
7380
7381
|
}
|
|
@@ -7417,7 +7418,7 @@ var StyledSecondaryIcon = import_styled_components22.default.div`
|
|
|
7417
7418
|
width: 100%;
|
|
7418
7419
|
display: flex;
|
|
7419
7420
|
justify-content: flex-end;
|
|
7420
|
-
transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-
|
|
7421
|
+
transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-out);
|
|
7421
7422
|
|
|
7422
7423
|
${({ $hideUntilHover }) => $hideUntilHover && import_styled_components22.css`
|
|
7423
7424
|
will-change: transform;
|
|
@@ -8587,6 +8588,7 @@ var CollapsibleContent = ({ clamp, children }) => {
|
|
|
8587
8588
|
};
|
|
8588
8589
|
|
|
8589
8590
|
// src/components/DataCards/DataCard.tsx
|
|
8591
|
+
var import_react33 = require("react");
|
|
8590
8592
|
var import_styled_components40 = __toESM(require("styled-components"));
|
|
8591
8593
|
var import_type_guards29 = require("@wistia/type-guards");
|
|
8592
8594
|
|
|
@@ -8720,7 +8722,6 @@ var Heading = makePolymorphic(HeadingComponent);
|
|
|
8720
8722
|
// src/components/DataCards/DataCard.tsx
|
|
8721
8723
|
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
8722
8724
|
var StyledDataCard = import_styled_components40.default.div`
|
|
8723
|
-
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
8724
8725
|
display: grid;
|
|
8725
8726
|
grid-template-areas: 'label slot' 'value value';
|
|
8726
8727
|
grid-template-rows: auto auto;
|
|
@@ -8731,6 +8732,49 @@ var StyledDataCard = import_styled_components40.default.div`
|
|
|
8731
8732
|
flex: 1;
|
|
8732
8733
|
border-radius: var(--wui-border-radius-02);
|
|
8733
8734
|
position: relative;
|
|
8735
|
+
transition: background var(--wui-motion-duration-01) var(--wui-motion-ease);
|
|
8736
|
+
|
|
8737
|
+
&[data-click-region] {
|
|
8738
|
+
[data-wui-data-card-hover-icon] {
|
|
8739
|
+
opacity: 0;
|
|
8740
|
+
transform: translateX(-16px);
|
|
8741
|
+
transition: all var(--wui-motion-duration-02) var(--wui-motion-ease-out);
|
|
8742
|
+
}
|
|
8743
|
+
|
|
8744
|
+
&:not([disabled]) {
|
|
8745
|
+
cursor: pointer;
|
|
8746
|
+
|
|
8747
|
+
&:hover,
|
|
8748
|
+
&:has([data-click-region-target-button]:focus-visible),
|
|
8749
|
+
&:has([data-click-region-target-link]:focus-visible) {
|
|
8750
|
+
--wui-color-text: var(--wui-color-text-button);
|
|
8751
|
+
|
|
8752
|
+
background: var(--wui-color-bg-surface-secondary-hover);
|
|
8753
|
+
|
|
8754
|
+
[data-wui-data-card-hover-icon] {
|
|
8755
|
+
opacity: 1;
|
|
8756
|
+
transform: translateX(0);
|
|
8757
|
+
}
|
|
8758
|
+
}
|
|
8759
|
+
|
|
8760
|
+
&:has([data-click-region-target-button]:active),
|
|
8761
|
+
&:has([data-click-region-target-link]:active) {
|
|
8762
|
+
background: var(--wui-color-bg-surface-secondary-active);
|
|
8763
|
+
}
|
|
8764
|
+
|
|
8765
|
+
&:has([data-click-region-target-button]:focus-visible),
|
|
8766
|
+
&:has([data-click-region-target-link]:focus-visible) {
|
|
8767
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
8768
|
+
outline-offset: 2px;
|
|
8769
|
+
}
|
|
8770
|
+
}
|
|
8771
|
+
|
|
8772
|
+
&[disabled] {
|
|
8773
|
+
pointer-events: none;
|
|
8774
|
+
}
|
|
8775
|
+
|
|
8776
|
+
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
8777
|
+
}
|
|
8734
8778
|
`;
|
|
8735
8779
|
var shimmer = import_styled_components40.keyframes`
|
|
8736
8780
|
0% {
|
|
@@ -8776,7 +8820,7 @@ var StyledDataCardTrendContainer = import_styled_components40.default.div`
|
|
|
8776
8820
|
bottom: var(--wui-space-01);
|
|
8777
8821
|
right: var(--wui-space-01);
|
|
8778
8822
|
`;
|
|
8779
|
-
var
|
|
8823
|
+
var DataCardInner = ({
|
|
8780
8824
|
label,
|
|
8781
8825
|
value,
|
|
8782
8826
|
upperRightSlot,
|
|
@@ -8811,6 +8855,38 @@ var DataCard = ({
|
|
|
8811
8855
|
]
|
|
8812
8856
|
}
|
|
8813
8857
|
);
|
|
8858
|
+
var DataCardArrowIcon = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
8859
|
+
Icon,
|
|
8860
|
+
{
|
|
8861
|
+
"data-wui-data-card-hover-icon": true,
|
|
8862
|
+
type: "arrow-right"
|
|
8863
|
+
}
|
|
8864
|
+
);
|
|
8865
|
+
var DataCard = (props) => {
|
|
8866
|
+
const ref = (0, import_react33.useRef)(null);
|
|
8867
|
+
if ((0, import_type_guards29.isNotNil)(props.href) || (0, import_type_guards29.isNotNil)(props.onClick)) {
|
|
8868
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(ClickRegion, { targetRef: ref, children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
8869
|
+
DataCardInner,
|
|
8870
|
+
{
|
|
8871
|
+
upperRightSlot: props.upperRightSlot ?? DataCardArrowIcon,
|
|
8872
|
+
...props,
|
|
8873
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
8874
|
+
Button,
|
|
8875
|
+
{
|
|
8876
|
+
ref,
|
|
8877
|
+
...(0, import_type_guards29.isNotNil)(props.beforeAction) ? { beforeAction: props.beforeAction } : {},
|
|
8878
|
+
disabled: props.disabled ?? false,
|
|
8879
|
+
href: props.href,
|
|
8880
|
+
onClick: props.onClick,
|
|
8881
|
+
unstyled: true,
|
|
8882
|
+
children: props.label
|
|
8883
|
+
}
|
|
8884
|
+
)
|
|
8885
|
+
}
|
|
8886
|
+
) });
|
|
8887
|
+
}
|
|
8888
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(DataCardInner, { ...props });
|
|
8889
|
+
};
|
|
8814
8890
|
DataCard.displayName = "DataCard";
|
|
8815
8891
|
|
|
8816
8892
|
// src/components/DataCards/DataCards.tsx
|
|
@@ -8851,7 +8927,7 @@ DataCards.displayName = "DataCards";
|
|
|
8851
8927
|
var import_styled_components43 = __toESM(require("styled-components"));
|
|
8852
8928
|
|
|
8853
8929
|
// src/components/Text/Text.tsx
|
|
8854
|
-
var
|
|
8930
|
+
var import_react34 = require("react");
|
|
8855
8931
|
var import_styled_components42 = __toESM(require("styled-components"));
|
|
8856
8932
|
var import_type_guards30 = require("@wistia/type-guards");
|
|
8857
8933
|
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
@@ -9026,7 +9102,7 @@ var StyledText = import_styled_components42.default.div`
|
|
|
9026
9102
|
}
|
|
9027
9103
|
`}
|
|
9028
9104
|
`;
|
|
9029
|
-
var TextComponent = (0,
|
|
9105
|
+
var TextComponent = (0, import_react34.forwardRef)(
|
|
9030
9106
|
({
|
|
9031
9107
|
align = "left",
|
|
9032
9108
|
colorScheme = "inherit",
|
|
@@ -9139,7 +9215,7 @@ Divider.displayName = "Divider";
|
|
|
9139
9215
|
|
|
9140
9216
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
9141
9217
|
var import_styled_components48 = __toESM(require("styled-components"));
|
|
9142
|
-
var
|
|
9218
|
+
var import_react36 = require("react");
|
|
9143
9219
|
|
|
9144
9220
|
// src/components/Tooltip/Tooltip.tsx
|
|
9145
9221
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
@@ -9291,7 +9367,7 @@ var Tooltip = ({
|
|
|
9291
9367
|
Tooltip.displayName = "Tooltip";
|
|
9292
9368
|
|
|
9293
9369
|
// src/components/Input/Input.tsx
|
|
9294
|
-
var
|
|
9370
|
+
var import_react35 = require("react");
|
|
9295
9371
|
var import_styled_components47 = __toESM(require("styled-components"));
|
|
9296
9372
|
var import_type_guards31 = require("@wistia/type-guards");
|
|
9297
9373
|
|
|
@@ -9426,7 +9502,7 @@ var StyledInputContainer = import_styled_components47.default.div`
|
|
|
9426
9502
|
padding-right: 32px;
|
|
9427
9503
|
}
|
|
9428
9504
|
`;
|
|
9429
|
-
var Input = (0,
|
|
9505
|
+
var Input = (0, import_react35.forwardRef)(
|
|
9430
9506
|
({
|
|
9431
9507
|
fullWidth = true,
|
|
9432
9508
|
monospace = false,
|
|
@@ -9436,7 +9512,7 @@ var Input = (0, import_react34.forwardRef)(
|
|
|
9436
9512
|
rightIcon,
|
|
9437
9513
|
...props
|
|
9438
9514
|
}, externalRef) => {
|
|
9439
|
-
const internalRef = (0,
|
|
9515
|
+
const internalRef = (0, import_react35.useRef)();
|
|
9440
9516
|
const ref = (
|
|
9441
9517
|
// eslint-disable-next-line react-compiler/react-compiler
|
|
9442
9518
|
(0, import_type_guards31.isNotNil)(externalRef) && (0, import_type_guards31.isRecord)(externalRef) && "current" in externalRef ? externalRef : internalRef
|
|
@@ -9446,14 +9522,14 @@ var Input = (0, import_react34.forwardRef)(
|
|
|
9446
9522
|
leftIconToDisplay = /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Icon, { type: "search" });
|
|
9447
9523
|
}
|
|
9448
9524
|
if ((0, import_type_guards31.isNotNil)(leftIconToDisplay)) {
|
|
9449
|
-
leftIconToDisplay = (0,
|
|
9525
|
+
leftIconToDisplay = (0, import_react35.cloneElement)(leftIconToDisplay, {
|
|
9450
9526
|
size: "md",
|
|
9451
9527
|
className: "wui-input-left-icon"
|
|
9452
9528
|
});
|
|
9453
9529
|
}
|
|
9454
9530
|
let rightIconToDisplay = rightIcon;
|
|
9455
9531
|
if ((0, import_type_guards31.isNotNil)(rightIconToDisplay)) {
|
|
9456
|
-
rightIconToDisplay = (0,
|
|
9532
|
+
rightIconToDisplay = (0, import_react35.cloneElement)(rightIconToDisplay, {
|
|
9457
9533
|
size: "md",
|
|
9458
9534
|
className: "wui-input-right-icon"
|
|
9459
9535
|
});
|
|
@@ -9545,11 +9621,11 @@ var EditableHeading = ({
|
|
|
9545
9621
|
__forceEditing = false,
|
|
9546
9622
|
editingDisabled = false
|
|
9547
9623
|
}) => {
|
|
9548
|
-
const [isEditing, setIsEditing] = (0,
|
|
9549
|
-
const [value, setValue] = (0,
|
|
9550
|
-
const [previousValue, setPreviousValue] = (0,
|
|
9551
|
-
const [headingHeight, setHeadingHeight] = (0,
|
|
9552
|
-
const headingRef = (0,
|
|
9624
|
+
const [isEditing, setIsEditing] = (0, import_react36.useState)(false);
|
|
9625
|
+
const [value, setValue] = (0, import_react36.useState)(children);
|
|
9626
|
+
const [previousValue, setPreviousValue] = (0, import_react36.useState)(children);
|
|
9627
|
+
const [headingHeight, setHeadingHeight] = (0, import_react36.useState)("60");
|
|
9628
|
+
const headingRef = (0, import_react36.useRef)(null);
|
|
9553
9629
|
const handleSetEditing = (editing) => {
|
|
9554
9630
|
if (editingDisabled) return;
|
|
9555
9631
|
if (editing && headingRef.current) {
|
|
@@ -9628,12 +9704,12 @@ var EditableHeading = ({
|
|
|
9628
9704
|
};
|
|
9629
9705
|
|
|
9630
9706
|
// src/components/Form/Form.tsx
|
|
9631
|
-
var
|
|
9707
|
+
var import_react38 = require("react");
|
|
9632
9708
|
var import_styled_components50 = __toESM(require("styled-components"));
|
|
9633
9709
|
var import_type_guards32 = require("@wistia/type-guards");
|
|
9634
9710
|
|
|
9635
9711
|
// src/components/Stack/Stack.tsx
|
|
9636
|
-
var
|
|
9712
|
+
var import_react37 = require("react");
|
|
9637
9713
|
var import_styled_components49 = __toESM(require("styled-components"));
|
|
9638
9714
|
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
9639
9715
|
var DEFAULT_ELEMENT4 = "div";
|
|
@@ -9643,7 +9719,7 @@ var StyledStack = import_styled_components49.default.div`
|
|
|
9643
9719
|
gap: ${({ $gap }) => `var(--wui-${$gap})`};
|
|
9644
9720
|
align-items: ${({ $alignItems }) => $alignItems};
|
|
9645
9721
|
`;
|
|
9646
|
-
var StackComponent = (0,
|
|
9722
|
+
var StackComponent = (0, import_react37.forwardRef)(
|
|
9647
9723
|
({ renderAs, direction = "vertical", gap = "space-02", alignItems = "stretch", ...props }, ref) => {
|
|
9648
9724
|
const responsiveGap = useResponsiveProp(gap);
|
|
9649
9725
|
const responsiveDirection = useResponsiveProp(direction);
|
|
@@ -9672,7 +9748,7 @@ var StyledForm = import_styled_components50.default.form`
|
|
|
9672
9748
|
max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
|
|
9673
9749
|
align-items: ${({ $fullWidth }) => $fullWidth ? "stretch" : "flex-start"};
|
|
9674
9750
|
`;
|
|
9675
|
-
var FormContext = (0,
|
|
9751
|
+
var FormContext = (0, import_react38.createContext)({
|
|
9676
9752
|
values: {},
|
|
9677
9753
|
errors: {},
|
|
9678
9754
|
hasSubmitted: false,
|
|
@@ -9688,11 +9764,11 @@ var FormComponent = ({
|
|
|
9688
9764
|
fullWidth = false,
|
|
9689
9765
|
...props
|
|
9690
9766
|
}, forwardedRef) => {
|
|
9691
|
-
const [errors, setErrors] = (0,
|
|
9692
|
-
const [hasSubmitted, setHasSubmitted] = (0,
|
|
9693
|
-
const innerRef = (0,
|
|
9767
|
+
const [errors, setErrors] = (0, import_react38.useState)({});
|
|
9768
|
+
const [hasSubmitted, setHasSubmitted] = (0, import_react38.useState)(false);
|
|
9769
|
+
const innerRef = (0, import_react38.useRef)();
|
|
9694
9770
|
const ref = forwardedRef ?? innerRef;
|
|
9695
|
-
const autoId = (0,
|
|
9771
|
+
const autoId = (0, import_react38.useId)();
|
|
9696
9772
|
const id = props.id ?? autoId;
|
|
9697
9773
|
const handleValidate = (nextFormData) => {
|
|
9698
9774
|
const nextData = Object.fromEntries(nextFormData.entries());
|
|
@@ -9734,7 +9810,7 @@ var FormComponent = ({
|
|
|
9734
9810
|
void action(null);
|
|
9735
9811
|
}
|
|
9736
9812
|
};
|
|
9737
|
-
const context = (0,
|
|
9813
|
+
const context = (0, import_react38.useMemo)(() => {
|
|
9738
9814
|
return {
|
|
9739
9815
|
values,
|
|
9740
9816
|
errors,
|
|
@@ -9763,15 +9839,15 @@ var FormComponent = ({
|
|
|
9763
9839
|
);
|
|
9764
9840
|
};
|
|
9765
9841
|
FormComponent.displayName = "Form";
|
|
9766
|
-
var Form = (0,
|
|
9842
|
+
var Form = (0, import_react38.forwardRef)(FormComponent);
|
|
9767
9843
|
|
|
9768
9844
|
// src/components/Form/useFormState.tsx
|
|
9769
|
-
var
|
|
9845
|
+
var import_react39 = require("react");
|
|
9770
9846
|
var useFormState = (action, initialData = {}) => {
|
|
9771
|
-
const [data, setData] = (0,
|
|
9772
|
-
const [isPending, setIsPending] = (0,
|
|
9773
|
-
const [error, setError] = (0,
|
|
9774
|
-
const formAction = (0,
|
|
9847
|
+
const [data, setData] = (0, import_react39.useState)(initialData);
|
|
9848
|
+
const [isPending, setIsPending] = (0, import_react39.useState)(false);
|
|
9849
|
+
const [error, setError] = (0, import_react39.useState)(null);
|
|
9850
|
+
const formAction = (0, import_react39.useCallback)(
|
|
9775
9851
|
async (nextFormData) => {
|
|
9776
9852
|
if (nextFormData === null) {
|
|
9777
9853
|
setData(initialData);
|
|
@@ -9802,15 +9878,15 @@ var useFormState = (action, initialData = {}) => {
|
|
|
9802
9878
|
};
|
|
9803
9879
|
|
|
9804
9880
|
// src/components/Form/FormErrorSummary.tsx
|
|
9805
|
-
var
|
|
9881
|
+
var import_react40 = require("react");
|
|
9806
9882
|
var import_type_guards33 = require("@wistia/type-guards");
|
|
9807
9883
|
var import_jsx_runtime223 = require("react/jsx-runtime");
|
|
9808
9884
|
var ErrorItem = ({ name, error, formId }) => {
|
|
9809
9885
|
return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Link, { href: `#${formId}-${name}`, children: error }) }, name);
|
|
9810
9886
|
};
|
|
9811
9887
|
var FormErrorSummary = ({ description }) => {
|
|
9812
|
-
const ref = (0,
|
|
9813
|
-
const { formId, errors, hasSubmitted } = (0,
|
|
9888
|
+
const ref = (0, import_react40.useRef)(null);
|
|
9889
|
+
const { formId, errors, hasSubmitted } = (0, import_react40.useContext)(FormContext);
|
|
9814
9890
|
const isValid = Object.keys(errors).length === 0;
|
|
9815
9891
|
if (isValid || !hasSubmitted) {
|
|
9816
9892
|
return null;
|
|
@@ -9840,7 +9916,7 @@ var FormErrorSummary = ({ description }) => {
|
|
|
9840
9916
|
};
|
|
9841
9917
|
|
|
9842
9918
|
// src/components/FormField/FormField.tsx
|
|
9843
|
-
var
|
|
9919
|
+
var import_react43 = require("react");
|
|
9844
9920
|
var import_styled_components53 = __toESM(require("styled-components"));
|
|
9845
9921
|
var import_type_guards34 = require("@wistia/type-guards");
|
|
9846
9922
|
|
|
@@ -9905,11 +9981,11 @@ var Label = ({
|
|
|
9905
9981
|
Label.displayName = "Label";
|
|
9906
9982
|
|
|
9907
9983
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
9908
|
-
var
|
|
9984
|
+
var import_react42 = require("react");
|
|
9909
9985
|
|
|
9910
9986
|
// src/components/FormGroup/FormGroup.tsx
|
|
9911
9987
|
var import_styled_components52 = __toESM(require("styled-components"));
|
|
9912
|
-
var
|
|
9988
|
+
var import_react41 = require("react");
|
|
9913
9989
|
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
9914
9990
|
var StyledFieldset = import_styled_components52.default.fieldset`
|
|
9915
9991
|
border: 0;
|
|
@@ -9918,7 +9994,7 @@ var StyledLegend = import_styled_components52.default.legend`
|
|
|
9918
9994
|
margin-bottom: var(--space-01);
|
|
9919
9995
|
`;
|
|
9920
9996
|
var FormGroup = ({ children, label, ...props }) => {
|
|
9921
|
-
const ref = (0,
|
|
9997
|
+
const ref = (0, import_react41.useRef)();
|
|
9922
9998
|
return /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)(
|
|
9923
9999
|
Stack,
|
|
9924
10000
|
{
|
|
@@ -9943,7 +10019,7 @@ FormGroup.displayName = "FormGroup";
|
|
|
9943
10019
|
|
|
9944
10020
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
9945
10021
|
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
9946
|
-
var CheckboxGroupContext = (0,
|
|
10022
|
+
var CheckboxGroupContext = (0, import_react42.createContext)(null);
|
|
9947
10023
|
var CheckboxGroup = ({
|
|
9948
10024
|
children,
|
|
9949
10025
|
name,
|
|
@@ -9951,7 +10027,7 @@ var CheckboxGroup = ({
|
|
|
9951
10027
|
value,
|
|
9952
10028
|
...props
|
|
9953
10029
|
}) => {
|
|
9954
|
-
const context = (0,
|
|
10030
|
+
const context = (0, import_react42.useMemo)(() => {
|
|
9955
10031
|
return {
|
|
9956
10032
|
name,
|
|
9957
10033
|
onChange
|
|
@@ -10036,8 +10112,8 @@ var FormField = ({
|
|
|
10036
10112
|
value,
|
|
10037
10113
|
...props
|
|
10038
10114
|
}) => {
|
|
10039
|
-
const formState = (0,
|
|
10040
|
-
const checkboxGroup = (0,
|
|
10115
|
+
const formState = (0, import_react43.useContext)(FormContext);
|
|
10116
|
+
const checkboxGroup = (0, import_react43.useContext)(CheckboxGroupContext);
|
|
10041
10117
|
const defaultValue = formState.values[name];
|
|
10042
10118
|
const isIntegratedLabel = children.type === Checkbox;
|
|
10043
10119
|
const computedId = id ?? `${formState.formId}-${name}`;
|
|
@@ -10075,7 +10151,7 @@ var FormField = ({
|
|
|
10075
10151
|
"aria-invalid": (0, import_type_guards34.isNotNil)(error)
|
|
10076
10152
|
};
|
|
10077
10153
|
}
|
|
10078
|
-
|
|
10154
|
+
import_react43.Children.only(children);
|
|
10079
10155
|
return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(
|
|
10080
10156
|
StyledFormField,
|
|
10081
10157
|
{
|
|
@@ -10084,7 +10160,7 @@ var FormField = ({
|
|
|
10084
10160
|
children: [
|
|
10085
10161
|
!isIntegratedLabel && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Label, { htmlFor: computedId, children: label }),
|
|
10086
10162
|
(0, import_type_guards34.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(FormControlLabelDescription, { id: descriptionId, children: description }) : null,
|
|
10087
|
-
(0,
|
|
10163
|
+
(0, import_react43.cloneElement)(children, childProps),
|
|
10088
10164
|
(0, import_type_guards34.isNotNil)(computedError) ? /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(import_jsx_runtime227.Fragment, { children: [
|
|
10089
10165
|
/* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", {}),
|
|
10090
10166
|
/* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
|
|
@@ -10102,9 +10178,9 @@ var FormField = ({
|
|
|
10102
10178
|
FormField.displayName = "FormField";
|
|
10103
10179
|
|
|
10104
10180
|
// src/components/FormGroup/RadioGroup.tsx
|
|
10105
|
-
var
|
|
10181
|
+
var import_react44 = require("react");
|
|
10106
10182
|
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
10107
|
-
var RadioGroupContext = (0,
|
|
10183
|
+
var RadioGroupContext = (0, import_react44.createContext)(null);
|
|
10108
10184
|
var RadioGroup = ({
|
|
10109
10185
|
children,
|
|
10110
10186
|
name,
|
|
@@ -10112,7 +10188,7 @@ var RadioGroup = ({
|
|
|
10112
10188
|
value,
|
|
10113
10189
|
...props
|
|
10114
10190
|
}) => {
|
|
10115
|
-
const context = (0,
|
|
10191
|
+
const context = (0, import_react44.useMemo)(() => {
|
|
10116
10192
|
return {
|
|
10117
10193
|
name,
|
|
10118
10194
|
onChange
|
|
@@ -10123,7 +10199,7 @@ var RadioGroup = ({
|
|
|
10123
10199
|
RadioGroup.displayName = "RadioGroup";
|
|
10124
10200
|
|
|
10125
10201
|
// src/components/IconButton/IconButton.tsx
|
|
10126
|
-
var
|
|
10202
|
+
var import_react45 = require("react");
|
|
10127
10203
|
var import_styled_components54 = __toESM(require("styled-components"));
|
|
10128
10204
|
var import_jsx_runtime229 = require("react/jsx-runtime");
|
|
10129
10205
|
var StyledButton2 = (0, import_styled_components54.default)(Button)`
|
|
@@ -10140,7 +10216,7 @@ var StyledButton2 = (0, import_styled_components54.default)(Button)`
|
|
|
10140
10216
|
align-items: center;
|
|
10141
10217
|
line-height: 1;
|
|
10142
10218
|
`;
|
|
10143
|
-
var IconButton = (0,
|
|
10219
|
+
var IconButton = (0, import_react45.forwardRef)(
|
|
10144
10220
|
({ children, label, size = "md", ...props }, ref) => {
|
|
10145
10221
|
const responsiveSize = useResponsiveProp(size);
|
|
10146
10222
|
return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(
|
|
@@ -10151,7 +10227,7 @@ var IconButton = (0, import_react44.forwardRef)(
|
|
|
10151
10227
|
"aria-label": label,
|
|
10152
10228
|
"data-wistia-ui-icon-button": true,
|
|
10153
10229
|
size: responsiveSize,
|
|
10154
|
-
children: (0,
|
|
10230
|
+
children: (0, import_react45.cloneElement)(import_react45.Children.only(children), {
|
|
10155
10231
|
size: responsiveSize
|
|
10156
10232
|
})
|
|
10157
10233
|
}
|
|
@@ -10162,7 +10238,7 @@ IconButton.displayName = "IconButton";
|
|
|
10162
10238
|
|
|
10163
10239
|
// src/components/InputClickToCopy/InputClickToCopy.tsx
|
|
10164
10240
|
var import_styled_components55 = __toESM(require("styled-components"));
|
|
10165
|
-
var
|
|
10241
|
+
var import_react46 = require("react");
|
|
10166
10242
|
var import_type_guards35 = require("@wistia/type-guards");
|
|
10167
10243
|
var import_jsx_runtime230 = require("react/jsx-runtime");
|
|
10168
10244
|
var StyledInput2 = (0, import_styled_components55.default)(Input)`
|
|
@@ -10175,10 +10251,10 @@ var StyledInput2 = (0, import_styled_components55.default)(Input)`
|
|
|
10175
10251
|
}
|
|
10176
10252
|
`;
|
|
10177
10253
|
var COPY_SUCCESS_DURATION = 2e3;
|
|
10178
|
-
var InputClickToCopy = (0,
|
|
10254
|
+
var InputClickToCopy = (0, import_react46.forwardRef)(
|
|
10179
10255
|
({ value, onCopy, ...props }, ref) => {
|
|
10180
|
-
const [isCopied, setIsCopied] = (0,
|
|
10181
|
-
(0,
|
|
10256
|
+
const [isCopied, setIsCopied] = (0, import_react46.useState)(false);
|
|
10257
|
+
(0, import_react46.useEffect)(() => {
|
|
10182
10258
|
if (isCopied) {
|
|
10183
10259
|
const timeout = setTimeout(() => {
|
|
10184
10260
|
setIsCopied(false);
|
|
@@ -10337,12 +10413,12 @@ KeyboardShortcut.displayName = "KeyboardShortcut";
|
|
|
10337
10413
|
var import_styled_components57 = __toESM(require("styled-components"));
|
|
10338
10414
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
10339
10415
|
var import_type_guards37 = require("@wistia/type-guards");
|
|
10340
|
-
var
|
|
10416
|
+
var import_react48 = require("react");
|
|
10341
10417
|
|
|
10342
10418
|
// src/components/Menu/MenuContext.tsx
|
|
10343
|
-
var
|
|
10344
|
-
var MenuContext = (0,
|
|
10345
|
-
var useMenuContext = () => (0,
|
|
10419
|
+
var import_react47 = require("react");
|
|
10420
|
+
var MenuContext = (0, import_react47.createContext)({ compact: false });
|
|
10421
|
+
var useMenuContext = () => (0, import_react47.useContext)(MenuContext);
|
|
10346
10422
|
|
|
10347
10423
|
// src/components/Menu/Menu.tsx
|
|
10348
10424
|
var import_jsx_runtime232 = require("react/jsx-runtime");
|
|
@@ -10446,7 +10522,7 @@ var Menu = ({
|
|
|
10446
10522
|
onInteractOutside,
|
|
10447
10523
|
...props
|
|
10448
10524
|
}) => {
|
|
10449
|
-
const contextValue = (0,
|
|
10525
|
+
const contextValue = (0, import_react48.useMemo)(() => ({ compact }), [compact]);
|
|
10450
10526
|
let controlProps = {
|
|
10451
10527
|
...(0, import_type_guards37.isNotNil)(onOpenChange) && (0, import_type_guards37.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
10452
10528
|
};
|
|
@@ -10521,13 +10597,13 @@ var MenuLabel = ({ children, ...props }) => {
|
|
|
10521
10597
|
MenuLabel.displayName = "MenuLabel";
|
|
10522
10598
|
|
|
10523
10599
|
// src/components/Menu/SubMenu.tsx
|
|
10524
|
-
var
|
|
10600
|
+
var import_react50 = require("react");
|
|
10525
10601
|
var import_styled_components61 = __toESM(require("styled-components"));
|
|
10526
10602
|
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
10527
10603
|
var import_type_guards39 = require("@wistia/type-guards");
|
|
10528
10604
|
|
|
10529
10605
|
// src/components/Menu/MenuItemButton.tsx
|
|
10530
|
-
var
|
|
10606
|
+
var import_react49 = require("react");
|
|
10531
10607
|
var import_styled_components59 = __toESM(require("styled-components"));
|
|
10532
10608
|
var import_type_guards38 = require("@wistia/type-guards");
|
|
10533
10609
|
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
@@ -10604,7 +10680,7 @@ var StyledBadgeContainer = import_styled_components59.default.div`
|
|
|
10604
10680
|
font-size: var(--wui-typography-label-4-size);
|
|
10605
10681
|
color: var(--wui-color-text-secondary);
|
|
10606
10682
|
`;
|
|
10607
|
-
var MenuItemButton = (0,
|
|
10683
|
+
var MenuItemButton = (0, import_react49.forwardRef)(({ children, appearance, command, icon, ...props }, ref) => {
|
|
10608
10684
|
let { colorScheme, badge } = props;
|
|
10609
10685
|
if (appearance === "dangerous") {
|
|
10610
10686
|
if ((0, import_type_guards38.isNotUndefined)(colorScheme)) {
|
|
@@ -10704,7 +10780,7 @@ var SubMenu = ({
|
|
|
10704
10780
|
...props
|
|
10705
10781
|
}) => {
|
|
10706
10782
|
const { isSmAndUp } = useMq();
|
|
10707
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
10783
|
+
const [isExpanded, setIsExpanded] = (0, import_react50.useState)(false);
|
|
10708
10784
|
const { compact } = useMenuContext();
|
|
10709
10785
|
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
10710
10786
|
/* @__PURE__ */ (0, import_jsx_runtime236.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
@@ -10733,10 +10809,10 @@ var SubMenu = ({
|
|
|
10733
10809
|
SubMenu.displayName = "SubMenu";
|
|
10734
10810
|
|
|
10735
10811
|
// src/components/Menu/MenuItem.tsx
|
|
10736
|
-
var
|
|
10812
|
+
var import_react51 = require("react");
|
|
10737
10813
|
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
10738
10814
|
var import_jsx_runtime237 = require("react/jsx-runtime");
|
|
10739
|
-
var MenuItem = (0,
|
|
10815
|
+
var MenuItem = (0, import_react51.forwardRef)(
|
|
10740
10816
|
({ onSelect = () => null, ...props }, ref) => {
|
|
10741
10817
|
return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
|
|
10742
10818
|
import_react_dropdown_menu4.DropdownMenuItem,
|
|
@@ -10885,7 +10961,7 @@ var CheckboxMenuItem = ({
|
|
|
10885
10961
|
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
10886
10962
|
|
|
10887
10963
|
// src/components/Modal/Modal.tsx
|
|
10888
|
-
var
|
|
10964
|
+
var import_react55 = require("react");
|
|
10889
10965
|
var import_styled_components66 = __toESM(require("styled-components"));
|
|
10890
10966
|
var import_react_dialog4 = require("@radix-ui/react-dialog");
|
|
10891
10967
|
var import_type_guards42 = require("@wistia/type-guards");
|
|
@@ -10945,19 +11021,19 @@ var ModalHeader = ({
|
|
|
10945
11021
|
};
|
|
10946
11022
|
|
|
10947
11023
|
// src/components/Modal/ModalContent.tsx
|
|
10948
|
-
var
|
|
11024
|
+
var import_react53 = require("react");
|
|
10949
11025
|
var import_styled_components64 = __toESM(require("styled-components"));
|
|
10950
11026
|
var import_react_dialog3 = require("@radix-ui/react-dialog");
|
|
10951
11027
|
|
|
10952
11028
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
10953
|
-
var
|
|
11029
|
+
var import_react52 = require("react");
|
|
10954
11030
|
var import_type_guards41 = require("@wistia/type-guards");
|
|
10955
11031
|
var useFocusRestore = () => {
|
|
10956
|
-
const previouslyFocusedRef = (0,
|
|
10957
|
-
(0,
|
|
11032
|
+
const previouslyFocusedRef = (0, import_react52.useRef)(null);
|
|
11033
|
+
(0, import_react52.useEffect)(() => {
|
|
10958
11034
|
previouslyFocusedRef.current = document.activeElement;
|
|
10959
11035
|
}, []);
|
|
10960
|
-
(0,
|
|
11036
|
+
(0, import_react52.useEffect)(() => {
|
|
10961
11037
|
return () => {
|
|
10962
11038
|
if ((0, import_type_guards41.isNotNil)(previouslyFocusedRef.current)) {
|
|
10963
11039
|
setTimeout(() => {
|
|
@@ -11048,7 +11124,7 @@ var StyledModalContent = (0, import_styled_components64.default)(import_react_di
|
|
|
11048
11124
|
}
|
|
11049
11125
|
}
|
|
11050
11126
|
`;
|
|
11051
|
-
var ModalContent = (0,
|
|
11127
|
+
var ModalContent = (0, import_react53.forwardRef)(
|
|
11052
11128
|
({ fullHeight, width, alignHorizontal, alignVertical, children, ...props }, ref) => {
|
|
11053
11129
|
useFocusRestore();
|
|
11054
11130
|
return /* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
|
|
@@ -11068,7 +11144,7 @@ var ModalContent = (0, import_react52.forwardRef)(
|
|
|
11068
11144
|
);
|
|
11069
11145
|
|
|
11070
11146
|
// src/private/components/Backdrop/Backdrop.tsx
|
|
11071
|
-
var
|
|
11147
|
+
var import_react54 = require("react");
|
|
11072
11148
|
var import_styled_components65 = __toESM(require("styled-components"));
|
|
11073
11149
|
var import_jsx_runtime244 = require("react/jsx-runtime");
|
|
11074
11150
|
var alignVerticalMap = {
|
|
@@ -11108,7 +11184,7 @@ var BackdropComponent = import_styled_components65.default.div`
|
|
|
11108
11184
|
}
|
|
11109
11185
|
}
|
|
11110
11186
|
`;
|
|
11111
|
-
var Backdrop = (0,
|
|
11187
|
+
var Backdrop = (0, import_react54.forwardRef)(
|
|
11112
11188
|
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ (0, import_jsx_runtime244.jsx)(
|
|
11113
11189
|
BackdropComponent,
|
|
11114
11190
|
{
|
|
@@ -11131,7 +11207,7 @@ var ModalBody = import_styled_components66.default.div`
|
|
|
11131
11207
|
flex: 1 0 0;
|
|
11132
11208
|
order: 2;
|
|
11133
11209
|
`;
|
|
11134
|
-
var Modal = (0,
|
|
11210
|
+
var Modal = (0, import_react55.forwardRef)(
|
|
11135
11211
|
({
|
|
11136
11212
|
children,
|
|
11137
11213
|
fullHeight = false,
|
|
@@ -11433,7 +11509,7 @@ var ProgressBar = ({
|
|
|
11433
11509
|
ProgressBar.displayName = "ProgressBar";
|
|
11434
11510
|
|
|
11435
11511
|
// src/components/Radio/Radio.tsx
|
|
11436
|
-
var
|
|
11512
|
+
var import_react56 = require("react");
|
|
11437
11513
|
var import_styled_components70 = __toESM(require("styled-components"));
|
|
11438
11514
|
var import_type_guards45 = require("@wistia/type-guards");
|
|
11439
11515
|
var import_jsx_runtime249 = require("react/jsx-runtime");
|
|
@@ -11536,7 +11612,7 @@ var StyledHiddenRadioInput = import_styled_components70.default.input`
|
|
|
11536
11612
|
display: block;
|
|
11537
11613
|
}
|
|
11538
11614
|
`;
|
|
11539
|
-
var Radio = (0,
|
|
11615
|
+
var Radio = (0, import_react56.forwardRef)(
|
|
11540
11616
|
({
|
|
11541
11617
|
checked,
|
|
11542
11618
|
disabled = false,
|
|
@@ -11551,7 +11627,7 @@ var Radio = (0, import_react55.forwardRef)(
|
|
|
11551
11627
|
hideLabel = false,
|
|
11552
11628
|
...props
|
|
11553
11629
|
}, ref) => {
|
|
11554
|
-
const generatedId = (0,
|
|
11630
|
+
const generatedId = (0, import_react56.useId)();
|
|
11555
11631
|
const computedId = (0, import_type_guards45.isNonEmptyString)(id) ? id : `wistia-ui-radio-${generatedId}`;
|
|
11556
11632
|
return /* @__PURE__ */ (0, import_jsx_runtime249.jsxs)(
|
|
11557
11633
|
StyledRadioWrapper,
|
|
@@ -11601,20 +11677,20 @@ var Radio = (0, import_react55.forwardRef)(
|
|
|
11601
11677
|
Radio.displayName = "Radio";
|
|
11602
11678
|
|
|
11603
11679
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
11604
|
-
var
|
|
11680
|
+
var import_react59 = require("react");
|
|
11605
11681
|
var import_styled_components72 = __toESM(require("styled-components"));
|
|
11606
11682
|
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
11607
11683
|
var import_type_guards46 = require("@wistia/type-guards");
|
|
11608
11684
|
|
|
11609
11685
|
// src/components/SegmentedControl/useSelectedItemStyle.tsx
|
|
11610
|
-
var
|
|
11686
|
+
var import_react57 = require("react");
|
|
11611
11687
|
var import_jsx_runtime250 = require("react/jsx-runtime");
|
|
11612
|
-
var SelectedItemStyleContext = (0,
|
|
11688
|
+
var SelectedItemStyleContext = (0, import_react57.createContext)(null);
|
|
11613
11689
|
var SelectedItemStyleProvider = ({
|
|
11614
11690
|
children
|
|
11615
11691
|
}) => {
|
|
11616
|
-
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0,
|
|
11617
|
-
const selectedItemIndicatorStyle = (0,
|
|
11692
|
+
const [selectedItemMeasurements, setSelectedItemMeasurements] = (0, import_react57.useState)(null);
|
|
11693
|
+
const selectedItemIndicatorStyle = (0, import_react57.useMemo)(
|
|
11618
11694
|
() => selectedItemMeasurements != null ? {
|
|
11619
11695
|
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
11620
11696
|
transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
|
|
@@ -11624,7 +11700,7 @@ var SelectedItemStyleProvider = ({
|
|
|
11624
11700
|
},
|
|
11625
11701
|
[selectedItemMeasurements]
|
|
11626
11702
|
);
|
|
11627
|
-
const contextValue = (0,
|
|
11703
|
+
const contextValue = (0, import_react57.useMemo)(
|
|
11628
11704
|
() => ({
|
|
11629
11705
|
setSelectedItemMeasurements,
|
|
11630
11706
|
selectedItemIndicatorStyle
|
|
@@ -11634,7 +11710,7 @@ var SelectedItemStyleProvider = ({
|
|
|
11634
11710
|
return /* @__PURE__ */ (0, import_jsx_runtime250.jsx)(SelectedItemStyleContext.Provider, { value: contextValue, children });
|
|
11635
11711
|
};
|
|
11636
11712
|
var useSelectedItemStyle = () => {
|
|
11637
|
-
const context = (0,
|
|
11713
|
+
const context = (0, import_react57.useContext)(SelectedItemStyleContext);
|
|
11638
11714
|
if (context === null) {
|
|
11639
11715
|
throw new Error("useSelectedItemStyle must be used within a SelectedItemStyleProvider");
|
|
11640
11716
|
}
|
|
@@ -11645,11 +11721,11 @@ var useSelectedItemStyle = () => {
|
|
|
11645
11721
|
var import_styled_components71 = __toESM(require("styled-components"));
|
|
11646
11722
|
|
|
11647
11723
|
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
11648
|
-
var
|
|
11649
|
-
var SegmentedControlValueContext = (0,
|
|
11724
|
+
var import_react58 = require("react");
|
|
11725
|
+
var SegmentedControlValueContext = (0, import_react58.createContext)(null);
|
|
11650
11726
|
var SegmentedControlValueProvider = SegmentedControlValueContext.Provider;
|
|
11651
11727
|
var useSegmentedControlValue = () => {
|
|
11652
|
-
const context = (0,
|
|
11728
|
+
const context = (0, import_react58.useContext)(SegmentedControlValueContext);
|
|
11653
11729
|
if (context === null) {
|
|
11654
11730
|
throw new Error("useSegmentedControlValue must be used within a SegmentedControlValueProvider");
|
|
11655
11731
|
}
|
|
@@ -11695,7 +11771,7 @@ var segmentedControlStyles = import_styled_components72.css`
|
|
|
11695
11771
|
var StyledSegmentedControl = (0, import_styled_components72.default)(import_react_toggle_group.Root)`
|
|
11696
11772
|
${segmentedControlStyles}
|
|
11697
11773
|
`;
|
|
11698
|
-
var SegmentedControl = (0,
|
|
11774
|
+
var SegmentedControl = (0, import_react59.forwardRef)(
|
|
11699
11775
|
({
|
|
11700
11776
|
children,
|
|
11701
11777
|
disabled = false,
|
|
@@ -11730,7 +11806,7 @@ var SegmentedControl = (0, import_react58.forwardRef)(
|
|
|
11730
11806
|
SegmentedControl.displayName = "SegmentedControl";
|
|
11731
11807
|
|
|
11732
11808
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
11733
|
-
var
|
|
11809
|
+
var import_react60 = require("react");
|
|
11734
11810
|
var import_styled_components73 = __toESM(require("styled-components"));
|
|
11735
11811
|
var import_react_toggle_group2 = require("@radix-ui/react-toggle-group");
|
|
11736
11812
|
var import_type_guards47 = require("@wistia/type-guards");
|
|
@@ -11798,11 +11874,11 @@ var segmentedControlItemStyles = import_styled_components73.css`
|
|
|
11798
11874
|
var StyledSegmentedControlItem = (0, import_styled_components73.default)(import_react_toggle_group2.Item)`
|
|
11799
11875
|
${segmentedControlItemStyles}
|
|
11800
11876
|
`;
|
|
11801
|
-
var SegmentedControlItem = (0,
|
|
11877
|
+
var SegmentedControlItem = (0, import_react60.forwardRef)(
|
|
11802
11878
|
({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
11803
11879
|
const selectedValue = useSegmentedControlValue();
|
|
11804
11880
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
11805
|
-
const buttonRef = (0,
|
|
11881
|
+
const buttonRef = (0, import_react60.useRef)(null);
|
|
11806
11882
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
11807
11883
|
const handleClick = (event) => {
|
|
11808
11884
|
const target = event.target;
|
|
@@ -11811,7 +11887,7 @@ var SegmentedControlItem = (0, import_react59.forwardRef)(
|
|
|
11811
11887
|
event.preventDefault();
|
|
11812
11888
|
}
|
|
11813
11889
|
};
|
|
11814
|
-
(0,
|
|
11890
|
+
(0, import_react60.useEffect)(() => {
|
|
11815
11891
|
const buttonElem = buttonRef.current;
|
|
11816
11892
|
if (!buttonElem) {
|
|
11817
11893
|
return void 0;
|
|
@@ -11857,7 +11933,7 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
|
11857
11933
|
|
|
11858
11934
|
// src/components/Select/Select.tsx
|
|
11859
11935
|
var import_react_select = require("@radix-ui/react-select");
|
|
11860
|
-
var
|
|
11936
|
+
var import_react61 = require("react");
|
|
11861
11937
|
var import_styled_components74 = __toESM(require("styled-components"));
|
|
11862
11938
|
var import_jsx_runtime254 = require("react/jsx-runtime");
|
|
11863
11939
|
var StyledTrigger = (0, import_styled_components74.default)(import_react_select.Trigger)`
|
|
@@ -11922,7 +11998,7 @@ var StyledContent3 = (0, import_styled_components74.default)(import_react_select
|
|
|
11922
11998
|
max-height: var(--radix-select-content-available-height);
|
|
11923
11999
|
z-index: var(--wui-zindex-select);
|
|
11924
12000
|
`;
|
|
11925
|
-
var Select = (0,
|
|
12001
|
+
var Select = (0, import_react61.forwardRef)(
|
|
11926
12002
|
({
|
|
11927
12003
|
colorScheme = "inherit",
|
|
11928
12004
|
children,
|
|
@@ -11971,7 +12047,7 @@ Select.displayName = "Select";
|
|
|
11971
12047
|
|
|
11972
12048
|
// src/components/Select/SelectOption.tsx
|
|
11973
12049
|
var import_react_select2 = require("@radix-ui/react-select");
|
|
11974
|
-
var
|
|
12050
|
+
var import_react62 = require("react");
|
|
11975
12051
|
var import_styled_components75 = __toESM(require("styled-components"));
|
|
11976
12052
|
var import_type_guards48 = require("@wistia/type-guards");
|
|
11977
12053
|
var import_jsx_runtime255 = require("react/jsx-runtime");
|
|
@@ -12002,7 +12078,7 @@ var StyledItem = (0, import_styled_components75.default)(import_react_select2.It
|
|
|
12002
12078
|
var StyledIconContainer = import_styled_components75.default.span`
|
|
12003
12079
|
width: 12px;
|
|
12004
12080
|
`;
|
|
12005
|
-
var SelectOption = (0,
|
|
12081
|
+
var SelectOption = (0, import_react62.forwardRef)(
|
|
12006
12082
|
({ children, selectedDisplayValue, ...props }, forwardedRef) => {
|
|
12007
12083
|
return /* @__PURE__ */ (0, import_jsx_runtime255.jsxs)(
|
|
12008
12084
|
StyledItem,
|
|
@@ -12050,7 +12126,7 @@ var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
|
12050
12126
|
};
|
|
12051
12127
|
|
|
12052
12128
|
// src/components/Switch/Switch.tsx
|
|
12053
|
-
var
|
|
12129
|
+
var import_react63 = require("react");
|
|
12054
12130
|
var import_styled_components77 = __toESM(require("styled-components"));
|
|
12055
12131
|
var import_type_guards49 = require("@wistia/type-guards");
|
|
12056
12132
|
var import_jsx_runtime257 = require("react/jsx-runtime");
|
|
@@ -12155,7 +12231,7 @@ var StyledHiddenSwitchInput = import_styled_components77.default.input`
|
|
|
12155
12231
|
}
|
|
12156
12232
|
}
|
|
12157
12233
|
`;
|
|
12158
|
-
var Switch = (0,
|
|
12234
|
+
var Switch = (0, import_react63.forwardRef)(
|
|
12159
12235
|
({
|
|
12160
12236
|
checked,
|
|
12161
12237
|
disabled = false,
|
|
@@ -12170,7 +12246,7 @@ var Switch = (0, import_react62.forwardRef)(
|
|
|
12170
12246
|
hideLabel = false,
|
|
12171
12247
|
...props
|
|
12172
12248
|
}, ref) => {
|
|
12173
|
-
const generatedId = (0,
|
|
12249
|
+
const generatedId = (0, import_react63.useId)();
|
|
12174
12250
|
const computedId = (0, import_type_guards49.isNonEmptyString)(id) ? id : `wistia-ui-switch-${generatedId}`;
|
|
12175
12251
|
return /* @__PURE__ */ (0, import_jsx_runtime257.jsxs)(StyledSwitchWrapper, { $disabled: disabled, children: [
|
|
12176
12252
|
/* @__PURE__ */ (0, import_jsx_runtime257.jsx)(
|
|
@@ -12260,8 +12336,8 @@ var Table = ({
|
|
|
12260
12336
|
var import_styled_components79 = __toESM(require("styled-components"));
|
|
12261
12337
|
|
|
12262
12338
|
// src/components/Table/TableSectionContext.ts
|
|
12263
|
-
var
|
|
12264
|
-
var TableSectionContext = (0,
|
|
12339
|
+
var import_react64 = require("react");
|
|
12340
|
+
var TableSectionContext = (0, import_react64.createContext)(null);
|
|
12265
12341
|
|
|
12266
12342
|
// src/components/Table/TableBody.tsx
|
|
12267
12343
|
var import_jsx_runtime259 = require("react/jsx-runtime");
|
|
@@ -12271,7 +12347,7 @@ var TableBody = ({ children, ...props }) => {
|
|
|
12271
12347
|
};
|
|
12272
12348
|
|
|
12273
12349
|
// src/components/Table/TableCell.tsx
|
|
12274
|
-
var
|
|
12350
|
+
var import_react65 = require("react");
|
|
12275
12351
|
var import_styled_components80 = __toESM(require("styled-components"));
|
|
12276
12352
|
var import_jsx_runtime260 = require("react/jsx-runtime");
|
|
12277
12353
|
var sharedStyles = import_styled_components80.css`
|
|
@@ -12292,7 +12368,7 @@ var StyledTd = import_styled_components80.default.td`
|
|
|
12292
12368
|
line-height: var(--wui-typography-body-2-line-height);
|
|
12293
12369
|
`;
|
|
12294
12370
|
var TableCell = ({ children, ...props }) => {
|
|
12295
|
-
const section = (0,
|
|
12371
|
+
const section = (0, import_react65.useContext)(TableSectionContext);
|
|
12296
12372
|
if (section === "head") {
|
|
12297
12373
|
return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(StyledTh, { ...props, children });
|
|
12298
12374
|
}
|
|
@@ -12324,7 +12400,7 @@ var TableRow = ({ children, ...props }) => {
|
|
|
12324
12400
|
};
|
|
12325
12401
|
|
|
12326
12402
|
// src/components/Tabs/Tabs.tsx
|
|
12327
|
-
var
|
|
12403
|
+
var import_react69 = require("react");
|
|
12328
12404
|
var import_react_tabs4 = require("@radix-ui/react-tabs");
|
|
12329
12405
|
var import_type_guards51 = require("@wistia/type-guards");
|
|
12330
12406
|
var import_styled_components88 = __toESM(require("styled-components"));
|
|
@@ -12379,17 +12455,17 @@ var TabList = ({
|
|
|
12379
12455
|
TabList.displayName = "TabList";
|
|
12380
12456
|
|
|
12381
12457
|
// src/components/Tabs/TabItem.tsx
|
|
12382
|
-
var
|
|
12458
|
+
var import_react67 = require("react");
|
|
12383
12459
|
var import_styled_components86 = __toESM(require("styled-components"));
|
|
12384
12460
|
var import_react_tabs3 = require("@radix-ui/react-tabs");
|
|
12385
12461
|
var import_type_guards50 = require("@wistia/type-guards");
|
|
12386
12462
|
|
|
12387
12463
|
// src/components/Tabs/useTabsValue.tsx
|
|
12388
|
-
var
|
|
12389
|
-
var TabsValueContext = (0,
|
|
12464
|
+
var import_react66 = require("react");
|
|
12465
|
+
var TabsValueContext = (0, import_react66.createContext)(null);
|
|
12390
12466
|
var TabsValueProvider = TabsValueContext.Provider;
|
|
12391
12467
|
var useTabsValue = () => {
|
|
12392
|
-
const context = (0,
|
|
12468
|
+
const context = (0, import_react66.useContext)(TabsValueContext);
|
|
12393
12469
|
if (context === null) {
|
|
12394
12470
|
throw new Error("useTabsValue must be used within a TabsValueProvider");
|
|
12395
12471
|
}
|
|
@@ -12405,13 +12481,13 @@ var StyledTabItem = (0, import_styled_components86.default)(import_react_tabs3.T
|
|
|
12405
12481
|
outline: none;
|
|
12406
12482
|
}
|
|
12407
12483
|
`;
|
|
12408
|
-
var TabItem = (0,
|
|
12484
|
+
var TabItem = (0, import_react67.forwardRef)(
|
|
12409
12485
|
({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
12410
12486
|
const selectedValue = useTabsValue();
|
|
12411
12487
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
12412
|
-
const buttonRef = (0,
|
|
12488
|
+
const buttonRef = (0, import_react67.useRef)(null);
|
|
12413
12489
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
12414
|
-
(0,
|
|
12490
|
+
(0, import_react67.useEffect)(() => {
|
|
12415
12491
|
const buttonElem = buttonRef.current;
|
|
12416
12492
|
if (!buttonElem) {
|
|
12417
12493
|
return void 0;
|
|
@@ -12455,16 +12531,16 @@ var TabItem = (0, import_react66.forwardRef)(
|
|
|
12455
12531
|
TabItem.displayName = "TabItem";
|
|
12456
12532
|
|
|
12457
12533
|
// src/components/Tabs/extractTabItems.ts
|
|
12458
|
-
var
|
|
12534
|
+
var import_react68 = require("react");
|
|
12459
12535
|
var extractTabItems = (children) => {
|
|
12460
12536
|
const tabItems = [];
|
|
12461
|
-
|
|
12462
|
-
if (!(0,
|
|
12537
|
+
import_react68.Children.forEach(children, (child) => {
|
|
12538
|
+
if (!(0, import_react68.isValidElement)(child)) {
|
|
12463
12539
|
return;
|
|
12464
12540
|
}
|
|
12465
12541
|
if (typeof child.type !== "string" && child.type.displayName === "Tab") {
|
|
12466
12542
|
tabItems.push(child);
|
|
12467
|
-
} else if (child.type ===
|
|
12543
|
+
} else if (child.type === import_react68.Fragment) {
|
|
12468
12544
|
const fragmentElement = child;
|
|
12469
12545
|
tabItems.push(...extractTabItems(fragmentElement.props.children));
|
|
12470
12546
|
} else if ((child.props.children ?? null) != null) {
|
|
@@ -12511,7 +12587,7 @@ var StyledTabsRoot = (0, import_styled_components88.default)(import_react_tabs4.
|
|
|
12511
12587
|
flex-direction: column;
|
|
12512
12588
|
height: ${({ $stickyHeaders }) => $stickyHeaders ? "100%" : "auto"};
|
|
12513
12589
|
`;
|
|
12514
|
-
var Tabs = (0,
|
|
12590
|
+
var Tabs = (0, import_react69.forwardRef)(
|
|
12515
12591
|
({
|
|
12516
12592
|
children,
|
|
12517
12593
|
fullWidth = true,
|
|
@@ -12523,7 +12599,7 @@ var Tabs = (0, import_react68.forwardRef)(
|
|
|
12523
12599
|
...props
|
|
12524
12600
|
}, ref) => {
|
|
12525
12601
|
const tabItems = extractTabItems(children);
|
|
12526
|
-
const [internalSelectedValue, setInternalSelectedValue] = (0,
|
|
12602
|
+
const [internalSelectedValue, setInternalSelectedValue] = (0, import_react69.useState)(defaultSelectedValue);
|
|
12527
12603
|
const modeProps = defaultSelectedValue !== void 0 ? {
|
|
12528
12604
|
defaultValue: defaultSelectedValue,
|
|
12529
12605
|
onValueChange: setInternalSelectedValue
|
|
@@ -12609,15 +12685,15 @@ var Tabs = (0, import_react68.forwardRef)(
|
|
|
12609
12685
|
Tabs.displayName = "Tabs";
|
|
12610
12686
|
|
|
12611
12687
|
// src/components/Tabs/Tab.tsx
|
|
12612
|
-
var
|
|
12688
|
+
var import_react70 = require("react");
|
|
12613
12689
|
var import_jsx_runtime269 = require("react/jsx-runtime");
|
|
12614
|
-
var Tab = (0,
|
|
12690
|
+
var Tab = (0, import_react70.forwardRef)(({ children }, ref) => {
|
|
12615
12691
|
return /* @__PURE__ */ (0, import_jsx_runtime269.jsx)("div", { ref, children });
|
|
12616
12692
|
});
|
|
12617
12693
|
Tab.displayName = "Tab";
|
|
12618
12694
|
|
|
12619
12695
|
// src/components/Tag/Tag.tsx
|
|
12620
|
-
var
|
|
12696
|
+
var import_react71 = require("react");
|
|
12621
12697
|
var import_styled_components89 = __toESM(require("styled-components"));
|
|
12622
12698
|
var import_type_guards52 = require("@wistia/type-guards");
|
|
12623
12699
|
var import_jsx_runtime270 = require("react/jsx-runtime");
|
|
@@ -12734,7 +12810,7 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
12734
12810
|
)
|
|
12735
12811
|
] });
|
|
12736
12812
|
};
|
|
12737
|
-
var Tag = (0,
|
|
12813
|
+
var Tag = (0, import_react71.forwardRef)(
|
|
12738
12814
|
({ onClickRemove, colorScheme = "inherit", href, icon, label, onClickRemoveLabel, ...props }, ref) => {
|
|
12739
12815
|
const hasIcon = (0, import_type_guards52.isNotNil)(icon);
|
|
12740
12816
|
const labelProps = (0, import_type_guards52.isNotNil)(href) && (0, import_type_guards52.isNonEmptyString)(href) ? { href, as: "a" } : { as: "span" };
|
|
@@ -12808,7 +12884,7 @@ var ThumbnailBadge = ({ icon, label, ...props }) => {
|
|
|
12808
12884
|
ThumbnailBadge.displayName = "ThumbnailBadge";
|
|
12809
12885
|
|
|
12810
12886
|
// src/components/Thumbnail/Thumbnail.tsx
|
|
12811
|
-
var
|
|
12887
|
+
var import_react72 = require("react");
|
|
12812
12888
|
var import_styled_components92 = __toESM(require("styled-components"));
|
|
12813
12889
|
var import_type_guards55 = require("@wistia/type-guards");
|
|
12814
12890
|
|
|
@@ -13109,7 +13185,7 @@ var getRelativeMousePosition = (elem, mouseEvent) => {
|
|
|
13109
13185
|
left: relativeLeft
|
|
13110
13186
|
};
|
|
13111
13187
|
};
|
|
13112
|
-
var Thumbnail = (0,
|
|
13188
|
+
var Thumbnail = (0, import_react72.forwardRef)(
|
|
13113
13189
|
({
|
|
13114
13190
|
gradientBackground = "defaultMidOne",
|
|
13115
13191
|
thumbnailImageType = "square",
|
|
@@ -13120,16 +13196,16 @@ var Thumbnail = (0, import_react71.forwardRef)(
|
|
|
13120
13196
|
height,
|
|
13121
13197
|
...props
|
|
13122
13198
|
}, ref) => {
|
|
13123
|
-
const [percent, setPercent] = (0,
|
|
13124
|
-
const [isMouseOver, setIsMouseOver] = (0,
|
|
13125
|
-
const [isStoryboardReady, setIsStoryboardReady] = (0,
|
|
13126
|
-
const storyboardElementRef = (0,
|
|
13127
|
-
const backgroundUrl = (0,
|
|
13199
|
+
const [percent, setPercent] = (0, import_react72.useState)(0);
|
|
13200
|
+
const [isMouseOver, setIsMouseOver] = (0, import_react72.useState)(false);
|
|
13201
|
+
const [isStoryboardReady, setIsStoryboardReady] = (0, import_react72.useState)(false);
|
|
13202
|
+
const storyboardElementRef = (0, import_react72.useRef)(null);
|
|
13203
|
+
const backgroundUrl = (0, import_react72.useMemo)(
|
|
13128
13204
|
() => thumbnailImageType === "square" && (0, import_type_guards55.isNotNil)(thumbnailUrl) ? thumbnailUrl : void 0,
|
|
13129
13205
|
[thumbnailImageType, thumbnailUrl]
|
|
13130
13206
|
);
|
|
13131
13207
|
const isScrubbable = (0, import_type_guards55.isNotNil)(storyboard);
|
|
13132
|
-
const trackStoryboardLoadStatus = (0,
|
|
13208
|
+
const trackStoryboardLoadStatus = (0, import_react72.useCallback)(() => {
|
|
13133
13209
|
if (storyboardElementRef.current || !storyboard) {
|
|
13134
13210
|
return storyboardElementRef.current;
|
|
13135
13211
|
}
|
|
@@ -13139,7 +13215,7 @@ var Thumbnail = (0, import_react71.forwardRef)(
|
|
|
13139
13215
|
storyboardElementRef.current = asset;
|
|
13140
13216
|
return storyboardElementRef.current;
|
|
13141
13217
|
}, [storyboard]);
|
|
13142
|
-
const handleMouseMove = (0,
|
|
13218
|
+
const handleMouseMove = (0, import_react72.useCallback)(
|
|
13143
13219
|
(mouseEvent) => {
|
|
13144
13220
|
if (!isScrubbable) return;
|
|
13145
13221
|
const elem = mouseEvent.currentTarget;
|
|
@@ -13151,14 +13227,14 @@ var Thumbnail = (0, import_react71.forwardRef)(
|
|
|
13151
13227
|
},
|
|
13152
13228
|
[isScrubbable, trackStoryboardLoadStatus]
|
|
13153
13229
|
);
|
|
13154
|
-
const handleMouseOut = (0,
|
|
13230
|
+
const handleMouseOut = (0, import_react72.useCallback)(() => {
|
|
13155
13231
|
if (!isScrubbable) return;
|
|
13156
13232
|
setIsMouseOver(false);
|
|
13157
13233
|
}, [isScrubbable]);
|
|
13158
|
-
const shouldRenderStoryboard = (0,
|
|
13234
|
+
const shouldRenderStoryboard = (0, import_react72.useMemo)(() => {
|
|
13159
13235
|
return Boolean(isScrubbable && isMouseOver && isStoryboardReady);
|
|
13160
13236
|
}, [isScrubbable, isMouseOver, isStoryboardReady]);
|
|
13161
|
-
const renderStoryboard = (0,
|
|
13237
|
+
const renderStoryboard = (0, import_react72.useCallback)(() => {
|
|
13162
13238
|
if (!storyboard || (0, import_type_guards55.isUndefined)(height) || (0, import_type_guards55.isEmptyString)(height)) return null;
|
|
13163
13239
|
const {
|
|
13164
13240
|
url,
|
|
@@ -13223,7 +13299,7 @@ var Thumbnail = (0, import_react71.forwardRef)(
|
|
|
13223
13299
|
Thumbnail.displayName = "Thumbnail";
|
|
13224
13300
|
|
|
13225
13301
|
// src/components/ThumbnailCollage/ThumbnailCollage.tsx
|
|
13226
|
-
var
|
|
13302
|
+
var import_react73 = __toESM(require("react"));
|
|
13227
13303
|
var import_styled_components93 = __toESM(require("styled-components"));
|
|
13228
13304
|
var import_type_guards56 = require("@wistia/type-guards");
|
|
13229
13305
|
var import_jsx_runtime274 = (
|
|
@@ -13303,10 +13379,10 @@ var ThumbnailCollage = ({
|
|
|
13303
13379
|
gradientBackground = "defaultMidOne",
|
|
13304
13380
|
...props
|
|
13305
13381
|
}) => {
|
|
13306
|
-
const thumbnailArray =
|
|
13382
|
+
const thumbnailArray = import_react73.default.Children.toArray(children);
|
|
13307
13383
|
const truncatedThumbnails = thumbnailArray.slice(0, 3);
|
|
13308
13384
|
const thumbnails = (0, import_type_guards56.isNonEmptyArray)(thumbnailArray) ? truncatedThumbnails.map((child) => {
|
|
13309
|
-
return
|
|
13385
|
+
return import_react73.default.cloneElement(child, {
|
|
13310
13386
|
...child.props,
|
|
13311
13387
|
children: void 0
|
|
13312
13388
|
});
|