@wistia/ui 0.14.6 → 0.14.7
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 +29 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +52 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.14.
|
|
3
|
+
* @license @wistia/ui v0.14.7
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -9501,7 +9501,7 @@ import styled32 from "styled-components";
|
|
|
9501
9501
|
import { Root as RadioGroupRoot } from "@radix-ui/react-radio-group";
|
|
9502
9502
|
|
|
9503
9503
|
// src/components/ColorPicker/ColorPickerContext.tsx
|
|
9504
|
-
import { createContext as createContext5, useCallback as useCallback9, useContext as useContext4, useMemo as useMemo8, useState as useState12 } from "react";
|
|
9504
|
+
import { createContext as createContext5, useCallback as useCallback9, useContext as useContext4, useEffect as useEffect10, useMemo as useMemo8, useState as useState12 } from "react";
|
|
9505
9505
|
import { formatHex as formatHex2 } from "culori/fn";
|
|
9506
9506
|
|
|
9507
9507
|
// src/components/ColorPicker/color-conversion-utils.ts
|
|
@@ -9900,6 +9900,7 @@ var ColorPickerProvider = ({
|
|
|
9900
9900
|
value: valueAsHex
|
|
9901
9901
|
}) => {
|
|
9902
9902
|
const [isTransitioning, setIsTransitioning] = useState12(false);
|
|
9903
|
+
const [isDragging, setIsDragging] = useState12(false);
|
|
9903
9904
|
const [nonDerivedValueAsHsv, setNonDerivedValueAsHsv] = useState12(convertToHsv(valueAsHex));
|
|
9904
9905
|
const [valueAsHsv, setValueAsHsv] = useState12(convertToHsv(valueAsHex));
|
|
9905
9906
|
const [shouldEnforceMinContrast, setShouldEnforceMinContrast] = useState12(false);
|
|
@@ -9972,23 +9973,41 @@ var ColorPickerProvider = ({
|
|
|
9972
9973
|
valueAsHsv
|
|
9973
9974
|
]
|
|
9974
9975
|
);
|
|
9975
|
-
const
|
|
9976
|
-
|
|
9977
|
-
|
|
9976
|
+
const accessibleHsvFromValueAsHex = getAccessibleDerivativeColor(valueAsHex);
|
|
9977
|
+
const whatValueAsHexShouldBe = shouldEnforceMinContrast ? formatHex2(accessibleHsvFromValueAsHex) : valueAsHex;
|
|
9978
|
+
const valueAsHsvConvertedToHex = formatHex2(valueAsHsv);
|
|
9979
|
+
if (whatValueAsHexShouldBe !== valueAsHsvConvertedToHex && !isTransitioning && !isDragging) {
|
|
9980
|
+
setValueAsHsv(
|
|
9981
|
+
shouldEnforceMinContrast ? getAccessibleDerivativeColor(valueAsHex) : convertToHsv(valueAsHex)
|
|
9982
|
+
);
|
|
9978
9983
|
setNonDerivedValueAsHsv(convertToHsv(valueAsHex));
|
|
9979
9984
|
}
|
|
9985
|
+
useEffect10(() => {
|
|
9986
|
+
if (valueAsHex !== valueAsHsvConvertedToHex && !isTransitioning && !isDragging) {
|
|
9987
|
+
onValueChange(whatValueAsHexShouldBe);
|
|
9988
|
+
}
|
|
9989
|
+
}, [
|
|
9990
|
+
isDragging,
|
|
9991
|
+
isTransitioning,
|
|
9992
|
+
onValueChange,
|
|
9993
|
+
valueAsHex,
|
|
9994
|
+
valueAsHsvConvertedToHex,
|
|
9995
|
+
whatValueAsHexShouldBe
|
|
9996
|
+
]);
|
|
9980
9997
|
const contextValue = useMemo8(
|
|
9981
9998
|
() => ({
|
|
9982
9999
|
colorForComparison,
|
|
9983
10000
|
currentContrastRatio,
|
|
9984
10001
|
getAccessibleDerivativeColor,
|
|
9985
10002
|
hasAccessibleDerivatives: hasAccessibleDerivativesValue,
|
|
10003
|
+
isDragging,
|
|
9986
10004
|
isTransitioning,
|
|
9987
10005
|
minimumContrastRatio,
|
|
9988
10006
|
nonDerivedValueAsHex: formatHex2(nonDerivedValueAsHsv),
|
|
9989
10007
|
nonDerivedValueAsHsv,
|
|
9990
10008
|
onChangeNonDerivedValueAsHsv,
|
|
9991
10009
|
opacityForContrastCalculation,
|
|
10010
|
+
setIsDragging,
|
|
9992
10011
|
setShouldEnforceMinContrast: setShouldEnforceMinContrastWrapped,
|
|
9993
10012
|
shouldEnforceMinContrast,
|
|
9994
10013
|
valueAsHex,
|
|
@@ -9999,6 +10018,7 @@ var ColorPickerProvider = ({
|
|
|
9999
10018
|
currentContrastRatio,
|
|
10000
10019
|
getAccessibleDerivativeColor,
|
|
10001
10020
|
hasAccessibleDerivativesValue,
|
|
10021
|
+
isDragging,
|
|
10002
10022
|
isTransitioning,
|
|
10003
10023
|
minimumContrastRatio,
|
|
10004
10024
|
nonDerivedValueAsHsv,
|
|
@@ -10959,7 +10979,7 @@ var ContrastControls = () => {
|
|
|
10959
10979
|
ContrastControls.displayName = "ContrastControls_UI";
|
|
10960
10980
|
|
|
10961
10981
|
// src/components/ColorPicker/HexColorInput.tsx
|
|
10962
|
-
import { useCallback as useCallback13, useEffect as
|
|
10982
|
+
import { useCallback as useCallback13, useEffect as useEffect11, useRef as useRef10, useState as useState13 } from "react";
|
|
10963
10983
|
import { parseHex as parseHex2 } from "culori/fn";
|
|
10964
10984
|
|
|
10965
10985
|
// src/components/Input/Input.tsx
|
|
@@ -11295,7 +11315,7 @@ var HexColorInput = ({ autoFocus = true }) => {
|
|
|
11295
11315
|
}
|
|
11296
11316
|
selectAllButTheHash();
|
|
11297
11317
|
}, [selectAllButTheHash]);
|
|
11298
|
-
|
|
11318
|
+
useEffect11(() => {
|
|
11299
11319
|
if (!autoFocus) {
|
|
11300
11320
|
return;
|
|
11301
11321
|
}
|
|
@@ -11306,7 +11326,7 @@ var HexColorInput = ({ autoFocus = true }) => {
|
|
|
11306
11326
|
inputElem.focus();
|
|
11307
11327
|
selectAllButTheHash();
|
|
11308
11328
|
}, [autoFocus, selectAllButTheHash]);
|
|
11309
|
-
|
|
11329
|
+
useEffect11(() => {
|
|
11310
11330
|
setTextInputValue(valueAsHex);
|
|
11311
11331
|
}, [valueAsHex]);
|
|
11312
11332
|
return /* @__PURE__ */ jsx247(
|
|
@@ -11342,7 +11362,7 @@ import styled46 from "styled-components";
|
|
|
11342
11362
|
import { formatHex as formatHex6 } from "culori/fn";
|
|
11343
11363
|
|
|
11344
11364
|
// src/components/ColorPicker/HSVHueCanvas.tsx
|
|
11345
|
-
import { useEffect as
|
|
11365
|
+
import { useEffect as useEffect12, useRef as useRef11 } from "react";
|
|
11346
11366
|
import styled45 from "styled-components";
|
|
11347
11367
|
import { formatHex as formatHex5 } from "culori/fn";
|
|
11348
11368
|
import { jsx as jsx248 } from "react/jsx-runtime";
|
|
@@ -11353,7 +11373,7 @@ var Canvas = styled45.canvas`
|
|
|
11353
11373
|
`;
|
|
11354
11374
|
var HSVHueCanvas = ({ hsv }) => {
|
|
11355
11375
|
const canvasRef = useRef11(null);
|
|
11356
|
-
|
|
11376
|
+
useEffect12(() => {
|
|
11357
11377
|
const canvas = canvasRef.current;
|
|
11358
11378
|
if (!canvas) {
|
|
11359
11379
|
return;
|
|
@@ -11473,11 +11493,11 @@ var HueSlider = () => {
|
|
|
11473
11493
|
HueSlider.displayName = "HueSlider_UI";
|
|
11474
11494
|
|
|
11475
11495
|
// src/components/ColorPicker/SaturationAndValuePicker.tsx
|
|
11476
|
-
import { useCallback as useCallback15, useEffect as
|
|
11496
|
+
import { useCallback as useCallback15, useEffect as useEffect14, useLayoutEffect as useLayoutEffect4, useMemo as useMemo10, useRef as useRef13, useState as useState14 } from "react";
|
|
11477
11497
|
import styled48 from "styled-components";
|
|
11478
11498
|
|
|
11479
11499
|
// src/components/ColorPicker/HSVSaturationValueCanvas.tsx
|
|
11480
|
-
import { useEffect as
|
|
11500
|
+
import { useEffect as useEffect13, useRef as useRef12 } from "react";
|
|
11481
11501
|
import styled47 from "styled-components";
|
|
11482
11502
|
|
|
11483
11503
|
// src/components/ColorPicker/canvas-utils.ts
|
|
@@ -11568,7 +11588,7 @@ var HSVSaturationValueCanvas = ({
|
|
|
11568
11588
|
opacityForContrastCalculation
|
|
11569
11589
|
}) => {
|
|
11570
11590
|
const canvasRef = useRef12(null);
|
|
11571
|
-
|
|
11591
|
+
useEffect13(() => {
|
|
11572
11592
|
const canvas = canvasRef.current;
|
|
11573
11593
|
if (!canvas) {
|
|
11574
11594
|
return;
|
|
@@ -11660,11 +11680,13 @@ var SaturationAndValuePicker = ({
|
|
|
11660
11680
|
}) => {
|
|
11661
11681
|
const {
|
|
11662
11682
|
colorForComparison,
|
|
11683
|
+
isDragging,
|
|
11663
11684
|
isTransitioning,
|
|
11664
11685
|
minimumContrastRatio,
|
|
11665
11686
|
nonDerivedValueAsHsv,
|
|
11666
11687
|
onChangeNonDerivedValueAsHsv,
|
|
11667
11688
|
opacityForContrastCalculation,
|
|
11689
|
+
setIsDragging,
|
|
11668
11690
|
shouldEnforceMinContrast,
|
|
11669
11691
|
valueAsHex,
|
|
11670
11692
|
valueAsHsv
|
|
@@ -11714,7 +11736,6 @@ var SaturationAndValuePicker = ({
|
|
|
11714
11736
|
},
|
|
11715
11737
|
[nonDerivedValueAsHsv, onChangeNonDerivedValueAsHsv]
|
|
11716
11738
|
);
|
|
11717
|
-
const [isDragging, setIsDragging] = useState14(false);
|
|
11718
11739
|
const updateSaturationAndValueFromCoordinates = useCallback15(
|
|
11719
11740
|
(clientX, clientY) => {
|
|
11720
11741
|
const container = containerRef.current;
|
|
@@ -11741,7 +11762,7 @@ var SaturationAndValuePicker = ({
|
|
|
11741
11762
|
setIsDragging(true);
|
|
11742
11763
|
updateSaturationAndValueFromCoordinates(event.clientX, event.clientY);
|
|
11743
11764
|
},
|
|
11744
|
-
[
|
|
11765
|
+
[setIsDragging, updateSaturationAndValueFromCoordinates]
|
|
11745
11766
|
);
|
|
11746
11767
|
const onThumbMouseDown = useCallback15(
|
|
11747
11768
|
(event) => {
|
|
@@ -11749,7 +11770,7 @@ var SaturationAndValuePicker = ({
|
|
|
11749
11770
|
thumbRef.current?.focus();
|
|
11750
11771
|
setIsDragging(true);
|
|
11751
11772
|
},
|
|
11752
|
-
[
|
|
11773
|
+
[setIsDragging]
|
|
11753
11774
|
);
|
|
11754
11775
|
const onThumbKeyDown = useCallback15(
|
|
11755
11776
|
(event) => {
|
|
@@ -11784,8 +11805,8 @@ var SaturationAndValuePicker = ({
|
|
|
11784
11805
|
},
|
|
11785
11806
|
[isDragging, updateSaturationAndValueFromCoordinates]
|
|
11786
11807
|
);
|
|
11787
|
-
const onWindowMouseUp = useCallback15(() => setIsDragging(false), []);
|
|
11788
|
-
|
|
11808
|
+
const onWindowMouseUp = useCallback15(() => setIsDragging(false), [setIsDragging]);
|
|
11809
|
+
useEffect14(() => {
|
|
11789
11810
|
window.addEventListener("mousemove", onWindowMouseMove);
|
|
11790
11811
|
window.addEventListener("mouseup", onWindowMouseUp);
|
|
11791
11812
|
return () => {
|
|
@@ -11851,7 +11872,7 @@ import {
|
|
|
11851
11872
|
useRef as useRef14,
|
|
11852
11873
|
useState as useState15,
|
|
11853
11874
|
useTransition,
|
|
11854
|
-
useEffect as
|
|
11875
|
+
useEffect as useEffect15,
|
|
11855
11876
|
Children as Children5,
|
|
11856
11877
|
isValidElement as isValidElement2
|
|
11857
11878
|
} from "react";
|
|
@@ -12166,7 +12187,7 @@ var Combobox2 = ({
|
|
|
12166
12187
|
const [wrapperWidth, setWrapperWidth] = useState15("auto");
|
|
12167
12188
|
const comboboxWrapperRef = useRef14(null);
|
|
12168
12189
|
const options = useMemo11(() => extractOptions(children), [children]);
|
|
12169
|
-
|
|
12190
|
+
useEffect15(() => {
|
|
12170
12191
|
const comboboxWrapper = comboboxWrapperRef.current;
|
|
12171
12192
|
if (comboboxWrapper) {
|
|
12172
12193
|
const updateWidthVariable = () => {
|
|
@@ -13064,7 +13085,7 @@ var Grid = makePolymorphic(GridComponent);
|
|
|
13064
13085
|
|
|
13065
13086
|
// src/components/InputClickToCopy/InputClickToCopy.tsx
|
|
13066
13087
|
import styled59 from "styled-components";
|
|
13067
|
-
import { forwardRef as forwardRef18, useEffect as
|
|
13088
|
+
import { forwardRef as forwardRef18, useEffect as useEffect16, useState as useState18 } from "react";
|
|
13068
13089
|
import { isFunction as isFunction3 } from "@wistia/type-guards";
|
|
13069
13090
|
import { jsx as jsx264 } from "react/jsx-runtime";
|
|
13070
13091
|
var StyledInput2 = styled59(Input)`
|
|
@@ -13080,7 +13101,7 @@ var COPY_SUCCESS_DURATION = 2e3;
|
|
|
13080
13101
|
var InputClickToCopy = forwardRef18(
|
|
13081
13102
|
({ value, onCopy, ...props }, ref) => {
|
|
13082
13103
|
const [isCopied, setIsCopied] = useState18(false);
|
|
13083
|
-
|
|
13104
|
+
useEffect16(() => {
|
|
13084
13105
|
if (isCopied) {
|
|
13085
13106
|
const timeout = setTimeout(() => {
|
|
13086
13107
|
setIsCopied(false);
|
|
@@ -14138,14 +14159,14 @@ import styled70, { css as css35, keyframes as keyframes4 } from "styled-componen
|
|
|
14138
14159
|
import { Content as DialogContent } from "@radix-ui/react-dialog";
|
|
14139
14160
|
|
|
14140
14161
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
14141
|
-
import { useRef as useRef18, useEffect as
|
|
14162
|
+
import { useRef as useRef18, useEffect as useEffect17 } from "react";
|
|
14142
14163
|
import { isNotNil as isNotNil28 } from "@wistia/type-guards";
|
|
14143
14164
|
var useFocusRestore = () => {
|
|
14144
14165
|
const previouslyFocusedRef = useRef18(null);
|
|
14145
|
-
|
|
14166
|
+
useEffect17(() => {
|
|
14146
14167
|
previouslyFocusedRef.current = document.activeElement;
|
|
14147
14168
|
}, []);
|
|
14148
|
-
|
|
14169
|
+
useEffect17(() => {
|
|
14149
14170
|
return () => {
|
|
14150
14171
|
if (isNotNil28(previouslyFocusedRef.current)) {
|
|
14151
14172
|
setTimeout(() => {
|
|
@@ -15271,7 +15292,7 @@ var SegmentedControl = forwardRef29(
|
|
|
15271
15292
|
SegmentedControl.displayName = "SegmentedControl_UI";
|
|
15272
15293
|
|
|
15273
15294
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
15274
|
-
import { forwardRef as forwardRef30, useEffect as
|
|
15295
|
+
import { forwardRef as forwardRef30, useEffect as useEffect18, useRef as useRef19 } from "react";
|
|
15275
15296
|
import styled82, { css as css42 } from "styled-components";
|
|
15276
15297
|
import { Item as ToggleGroupItem2 } from "@radix-ui/react-toggle-group";
|
|
15277
15298
|
import { isNotNil as isNotNil33 } from "@wistia/type-guards";
|
|
@@ -15359,7 +15380,7 @@ var SegmentedControlItem = forwardRef30(
|
|
|
15359
15380
|
event.preventDefault();
|
|
15360
15381
|
}
|
|
15361
15382
|
};
|
|
15362
|
-
|
|
15383
|
+
useEffect18(() => {
|
|
15363
15384
|
const buttonElem = buttonRef.current;
|
|
15364
15385
|
if (!buttonElem) {
|
|
15365
15386
|
return void 0;
|
|
@@ -15961,7 +15982,7 @@ var TabsList = ({ children, fullWidth = true, ...props }) => {
|
|
|
15961
15982
|
TabsList.displayName = "TabsList_UI";
|
|
15962
15983
|
|
|
15963
15984
|
// src/components/Tabs/TabsTrigger.tsx
|
|
15964
|
-
import { forwardRef as forwardRef33, useEffect as
|
|
15985
|
+
import { forwardRef as forwardRef33, useEffect as useEffect19, useRef as useRef20 } from "react";
|
|
15965
15986
|
import { isNotNil as isNotNil36 } from "@wistia/type-guards";
|
|
15966
15987
|
|
|
15967
15988
|
// src/components/Tabs/StyledRadixTabsTrigger.tsx
|
|
@@ -15983,7 +16004,7 @@ var TabsTrigger = forwardRef33(
|
|
|
15983
16004
|
const { setSelectedItemMeasurements } = useSelectedItemStyle();
|
|
15984
16005
|
const buttonRef = useRef20(null);
|
|
15985
16006
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
15986
|
-
|
|
16007
|
+
useEffect19(() => {
|
|
15987
16008
|
const buttonElem = buttonRef.current;
|
|
15988
16009
|
if (!buttonElem) {
|
|
15989
16010
|
return void 0;
|
|
@@ -16786,7 +16807,7 @@ var InputPassword = forwardRef35(
|
|
|
16786
16807
|
InputPassword.displayName = "InputPassword_UI";
|
|
16787
16808
|
|
|
16788
16809
|
// src/components/ContextMenu/ContextMenu.tsx
|
|
16789
|
-
import { useEffect as
|
|
16810
|
+
import { useEffect as useEffect20, useState as useState24 } from "react";
|
|
16790
16811
|
import { isNil as isNil18, isNotNil as isNotNil42 } from "@wistia/type-guards";
|
|
16791
16812
|
import { jsx as jsx313 } from "react/jsx-runtime";
|
|
16792
16813
|
var ContextMenu = ({
|
|
@@ -16797,7 +16818,7 @@ var ContextMenu = ({
|
|
|
16797
16818
|
}) => {
|
|
16798
16819
|
const [isRightClicked, setIsRightClicked] = useState24(false);
|
|
16799
16820
|
const [menuPosition, setMenuPosition] = useState24(position ?? { x: 0, y: 0 });
|
|
16800
|
-
|
|
16821
|
+
useEffect20(() => {
|
|
16801
16822
|
if (isNil18(position)) {
|
|
16802
16823
|
const onContextMenu = (event) => {
|
|
16803
16824
|
event.preventDefault();
|