@wistia/ui 0.8.4-beta.ce2e7158.f79e970 → 0.8.4
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 +101 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +60 -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.8.4
|
|
3
|
+
* @license @wistia/ui v0.8.4
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -11042,42 +11042,37 @@ import styled52, { css as css31 } from "styled-components";
|
|
|
11042
11042
|
import { Root as ToggleGroupRoot } from "@radix-ui/react-toggle-group";
|
|
11043
11043
|
import { isNil as isNil14 } from "@wistia/type-guards";
|
|
11044
11044
|
|
|
11045
|
-
// src/components/SegmentedControl/
|
|
11045
|
+
// src/components/SegmentedControl/useSelectedItemMeasurements.tsx
|
|
11046
11046
|
import { createContext as createContext6, useContext as useContext5, useMemo as useMemo8, useState as useState10 } from "react";
|
|
11047
11047
|
import { jsx as jsx247 } from "react/jsx-runtime";
|
|
11048
|
-
var
|
|
11049
|
-
|
|
11048
|
+
var SelectedItemMeasurementsContext = createContext6(
|
|
11049
|
+
null
|
|
11050
|
+
);
|
|
11051
|
+
var SelectedItemMeasurementsProvider = ({
|
|
11050
11052
|
children
|
|
11051
11053
|
}) => {
|
|
11052
11054
|
const [selectedItemMeasurements, setSelectedItemMeasurements] = useState10(null);
|
|
11053
|
-
const selectedItemIndicatorStyle = useMemo8(
|
|
11054
|
-
() => selectedItemMeasurements != null ? {
|
|
11055
|
-
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
11056
|
-
transform: `translateX(${selectedItemMeasurements.offsetLeft}px) translateY(-50%)`,
|
|
11057
|
-
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
11058
|
-
} : {
|
|
11059
|
-
transform: "translateY(-50%)"
|
|
11060
|
-
},
|
|
11061
|
-
[selectedItemMeasurements]
|
|
11062
|
-
);
|
|
11063
11055
|
const contextValue = useMemo8(
|
|
11064
11056
|
() => ({
|
|
11065
11057
|
setSelectedItemMeasurements,
|
|
11066
|
-
|
|
11058
|
+
selectedItemMeasurements
|
|
11067
11059
|
}),
|
|
11068
|
-
[
|
|
11060
|
+
[selectedItemMeasurements]
|
|
11069
11061
|
);
|
|
11070
|
-
return /* @__PURE__ */ jsx247(
|
|
11062
|
+
return /* @__PURE__ */ jsx247(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
|
|
11071
11063
|
};
|
|
11072
|
-
var
|
|
11073
|
-
const context = useContext5(
|
|
11064
|
+
var useSelectedItemMeasurements = () => {
|
|
11065
|
+
const context = useContext5(SelectedItemMeasurementsContext);
|
|
11074
11066
|
if (context === null) {
|
|
11075
|
-
throw new Error(
|
|
11067
|
+
throw new Error(
|
|
11068
|
+
"useSelectedItemMeasurements must be used within a SelectedItemMeasurementsProvider"
|
|
11069
|
+
);
|
|
11076
11070
|
}
|
|
11077
11071
|
return context;
|
|
11078
11072
|
};
|
|
11079
11073
|
|
|
11080
11074
|
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
11075
|
+
import { useMemo as useMemo9 } from "react";
|
|
11081
11076
|
import styled51 from "styled-components";
|
|
11082
11077
|
|
|
11083
11078
|
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
@@ -11099,7 +11094,7 @@ var SelectedItemIndicatorDiv = styled51.div`
|
|
|
11099
11094
|
border-radius: var(--wui-border-radius-rounded);
|
|
11100
11095
|
left: 0;
|
|
11101
11096
|
position: absolute;
|
|
11102
|
-
top:
|
|
11097
|
+
top: 0;
|
|
11103
11098
|
box-shadow: var(--wui-elevation-01);
|
|
11104
11099
|
transition:
|
|
11105
11100
|
transform var(--wui-motion-duration-02) var(--wui-motion-ease-out),
|
|
@@ -11108,11 +11103,28 @@ var SelectedItemIndicatorDiv = styled51.div`
|
|
|
11108
11103
|
`;
|
|
11109
11104
|
var SelectedItemIndicator = () => {
|
|
11110
11105
|
const selectedValue = useSegmentedControlValue();
|
|
11111
|
-
const {
|
|
11106
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
11107
|
+
const selectedItemIndicatorStyle = useMemo9(
|
|
11108
|
+
() => selectedItemMeasurements != null ? {
|
|
11109
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
11110
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
11111
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
11112
|
+
} : {},
|
|
11113
|
+
[selectedItemMeasurements]
|
|
11114
|
+
);
|
|
11112
11115
|
if (!selectedValue) {
|
|
11113
11116
|
return null;
|
|
11114
11117
|
}
|
|
11115
|
-
return /* @__PURE__ */ jsx248(
|
|
11118
|
+
return /* @__PURE__ */ jsx248(
|
|
11119
|
+
SelectedItemIndicatorDiv,
|
|
11120
|
+
{
|
|
11121
|
+
style: {
|
|
11122
|
+
width: selectedItemIndicatorStyle.width,
|
|
11123
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
11124
|
+
height: selectedItemIndicatorStyle.height
|
|
11125
|
+
}
|
|
11126
|
+
}
|
|
11127
|
+
);
|
|
11116
11128
|
};
|
|
11117
11129
|
|
|
11118
11130
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
@@ -11121,10 +11133,9 @@ var segmentedControlStyles = css31`
|
|
|
11121
11133
|
display: inline-flex;
|
|
11122
11134
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
11123
11135
|
border-radius: var(--wui-border-radius-rounded);
|
|
11136
|
+
border: 2px solid var(--wui-color-bg-surface-secondary);
|
|
11124
11137
|
gap: var(--wui-space-01);
|
|
11125
11138
|
isolation: isolate;
|
|
11126
|
-
overflow: hidden;
|
|
11127
|
-
padding: 2px;
|
|
11128
11139
|
position: relative;
|
|
11129
11140
|
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
11130
11141
|
`;
|
|
@@ -11155,7 +11166,7 @@ var SegmentedControl = forwardRef20(
|
|
|
11155
11166
|
type: "single",
|
|
11156
11167
|
value: selectedValue,
|
|
11157
11168
|
...props,
|
|
11158
|
-
children: /* @__PURE__ */ jsx249(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ jsxs35(
|
|
11169
|
+
children: /* @__PURE__ */ jsx249(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ jsxs35(SelectedItemMeasurementsProvider, { children: [
|
|
11159
11170
|
/* @__PURE__ */ jsx249(SelectedItemIndicator, {}),
|
|
11160
11171
|
children
|
|
11161
11172
|
] }) })
|
|
@@ -11237,7 +11248,7 @@ var StyledSegmentedControlItem = styled53(ToggleGroupItem)`
|
|
|
11237
11248
|
var SegmentedControlItem = forwardRef21(
|
|
11238
11249
|
({ disabled, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
11239
11250
|
const selectedValue = useSegmentedControlValue();
|
|
11240
|
-
const { setSelectedItemMeasurements } =
|
|
11251
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
11241
11252
|
const buttonRef = useRef10(null);
|
|
11242
11253
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
11243
11254
|
const handleClick = (event) => {
|
|
@@ -11845,7 +11856,7 @@ var StyledTabItem = styled66(RadixTab)`
|
|
|
11845
11856
|
var TabItem = forwardRef25(
|
|
11846
11857
|
({ disabled = false, icon, label, "aria-label": ariaLabel, value }, forwardedRef) => {
|
|
11847
11858
|
const selectedValue = useTabsValue();
|
|
11848
|
-
const { setSelectedItemMeasurements } =
|
|
11859
|
+
const { setSelectedItemMeasurements } = useSelectedItemMeasurements();
|
|
11849
11860
|
const buttonRef = useRef11(null);
|
|
11850
11861
|
const combinedRef = mergeRefs([buttonRef, forwardedRef]);
|
|
11851
11862
|
useEffect9(() => {
|
|
@@ -11914,6 +11925,7 @@ var extractTabItems = (children) => {
|
|
|
11914
11925
|
};
|
|
11915
11926
|
|
|
11916
11927
|
// src/components/Tabs/SelectedItemIndicator.tsx
|
|
11928
|
+
import { useMemo as useMemo10 } from "react";
|
|
11917
11929
|
import styled67 from "styled-components";
|
|
11918
11930
|
import { jsx as jsx262 } from "react/jsx-runtime";
|
|
11919
11931
|
var TabsSelectedItemIndicatorDiv = styled67(SelectedItemIndicatorDiv)`
|
|
@@ -11922,12 +11934,29 @@ var TabsSelectedItemIndicatorDiv = styled67(SelectedItemIndicatorDiv)`
|
|
|
11922
11934
|
}
|
|
11923
11935
|
`;
|
|
11924
11936
|
var SelectedItemIndicator2 = () => {
|
|
11925
|
-
const {
|
|
11937
|
+
const { selectedItemMeasurements } = useSelectedItemMeasurements();
|
|
11926
11938
|
const selectedValue = useTabsValue();
|
|
11939
|
+
const selectedItemIndicatorStyle = useMemo10(
|
|
11940
|
+
() => selectedItemMeasurements != null ? {
|
|
11941
|
+
height: `${selectedItemMeasurements.offsetHeight}px`,
|
|
11942
|
+
transform: `translateX(${selectedItemMeasurements.offsetLeft}px)`,
|
|
11943
|
+
width: `${selectedItemMeasurements.offsetWidth}px`
|
|
11944
|
+
} : {},
|
|
11945
|
+
[selectedItemMeasurements]
|
|
11946
|
+
);
|
|
11927
11947
|
if (selectedValue == null) {
|
|
11928
11948
|
return null;
|
|
11929
11949
|
}
|
|
11930
|
-
return /* @__PURE__ */ jsx262(
|
|
11950
|
+
return /* @__PURE__ */ jsx262(
|
|
11951
|
+
TabsSelectedItemIndicatorDiv,
|
|
11952
|
+
{
|
|
11953
|
+
style: {
|
|
11954
|
+
width: selectedItemIndicatorStyle.width,
|
|
11955
|
+
transform: selectedItemIndicatorStyle.transform,
|
|
11956
|
+
height: selectedItemIndicatorStyle.height
|
|
11957
|
+
}
|
|
11958
|
+
}
|
|
11959
|
+
);
|
|
11931
11960
|
};
|
|
11932
11961
|
|
|
11933
11962
|
// src/components/Tabs/Tabs.tsx
|
|
@@ -11974,7 +12003,7 @@ var Tabs = forwardRef26(
|
|
|
11974
12003
|
activationMode: "automatic",
|
|
11975
12004
|
...props,
|
|
11976
12005
|
...modeProps,
|
|
11977
|
-
children: /* @__PURE__ */ jsx263(TabsValueProvider, { value: currentValue, children: /* @__PURE__ */ jsxs42(
|
|
12006
|
+
children: /* @__PURE__ */ jsx263(TabsValueProvider, { value: currentValue, children: /* @__PURE__ */ jsxs42(SelectedItemMeasurementsProvider, { children: [
|
|
11978
12007
|
/* @__PURE__ */ jsxs42(
|
|
11979
12008
|
TabList,
|
|
11980
12009
|
{
|