@wistia/ui 0.0.15 → 0.0.17
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 +805 -190
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +367 -40
- package/dist/index.d.ts +367 -40
- package/dist/index.mjs +813 -188
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -18
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.0.
|
|
3
|
+
* @license @wistia/ui v0.0.17
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2024, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -44,6 +44,8 @@ __export(src_exports, {
|
|
|
44
44
|
Box: () => Box,
|
|
45
45
|
Button: () => Button,
|
|
46
46
|
ButtonGroup: () => ButtonGroup,
|
|
47
|
+
Checkbox: () => Checkbox,
|
|
48
|
+
CheckboxMenuItem: () => CheckboxMenuItem,
|
|
47
49
|
ColorSchemeWrapper: () => ColorSchemeWrapper,
|
|
48
50
|
Divider: () => Divider,
|
|
49
51
|
Ellipsis: () => Ellipsis,
|
|
@@ -52,8 +54,16 @@ __export(src_exports, {
|
|
|
52
54
|
IconButton: () => IconButton,
|
|
53
55
|
Label: () => Label,
|
|
54
56
|
Link: () => Link,
|
|
57
|
+
Menu: () => Menu,
|
|
58
|
+
MenuItem: () => MenuItem,
|
|
59
|
+
MenuItemDescription: () => MenuItemDescription,
|
|
60
|
+
MenuItemLabel: () => MenuItemLabel,
|
|
61
|
+
MenuLabel: () => MenuLabel,
|
|
62
|
+
MenuRadioGroup: () => MenuRadioGroup,
|
|
63
|
+
RadioMenuItem: () => RadioMenuItem,
|
|
55
64
|
ScreenReaderOnly: () => ScreenReaderOnly,
|
|
56
65
|
Stack: () => Stack,
|
|
66
|
+
SubMenu: () => SubMenu,
|
|
57
67
|
Text: () => Text,
|
|
58
68
|
Tooltip: () => Tooltip,
|
|
59
69
|
UIProvider: () => UIProvider,
|
|
@@ -2082,7 +2092,6 @@ var outlineButtonVariant = import_styled_components16.css`
|
|
|
2082
2092
|
${ghostButtonVariant};
|
|
2083
2093
|
--button-color-border: var(--color-border);
|
|
2084
2094
|
|
|
2085
|
-
border: 1px solid var(--button-color-border);
|
|
2086
2095
|
box-shadow: 0 0 0 2px var(--button-color-border) inset;
|
|
2087
2096
|
`;
|
|
2088
2097
|
var softButtonVariant = import_styled_components16.css`
|
|
@@ -5540,6 +5549,7 @@ var StyledButton = import_styled_components19.default.button`
|
|
|
5540
5549
|
${({ $unstyled }) => !$unstyled && buttonBaseStyles}
|
|
5541
5550
|
${({ $fullWidth }) => $fullWidth && "width: 100%;"}
|
|
5542
5551
|
position: relative;
|
|
5552
|
+
text-align: center;
|
|
5543
5553
|
`;
|
|
5544
5554
|
var StyledButtonContent = import_styled_components19.default.div`
|
|
5545
5555
|
align-items: center;
|
|
@@ -5555,7 +5565,6 @@ var StyledButtonContent = import_styled_components19.default.div`
|
|
|
5555
5565
|
`;
|
|
5556
5566
|
var StyledButtonContentLabel = import_styled_components19.default.span`
|
|
5557
5567
|
flex: 1;
|
|
5558
|
-
text-align: center;
|
|
5559
5568
|
`;
|
|
5560
5569
|
var StyledButtonLoading = import_styled_components19.default.div`
|
|
5561
5570
|
position: absolute;
|
|
@@ -5727,14 +5736,237 @@ var ButtonGroup = ({
|
|
|
5727
5736
|
};
|
|
5728
5737
|
ButtonGroup.displayName = "ButtonGroup";
|
|
5729
5738
|
|
|
5730
|
-
// src/components/
|
|
5739
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5740
|
+
var import_react11 = require("react");
|
|
5741
|
+
var import_react_checkbox = require("@radix-ui/react-checkbox");
|
|
5742
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
5743
|
+
var import_type_guards15 = require("@wistia/type-guards");
|
|
5744
|
+
|
|
5745
|
+
// src/components/Label/Label.tsx
|
|
5731
5746
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
5732
5747
|
var import_jsx_runtime164 = require("react/jsx-runtime");
|
|
5748
|
+
var requiredStyle = import_styled_components21.css`
|
|
5749
|
+
&::after {
|
|
5750
|
+
color: var(--color-text-error);
|
|
5751
|
+
display: inline;
|
|
5752
|
+
padding-left: var(--space-01);
|
|
5753
|
+
content: '*';
|
|
5754
|
+
}
|
|
5755
|
+
`;
|
|
5756
|
+
var disabledStyle = import_styled_components21.css`
|
|
5757
|
+
color: var(--color-text-disabled);
|
|
5758
|
+
`;
|
|
5759
|
+
var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
|
|
5760
|
+
var StyledLabel = import_styled_components21.default.label`
|
|
5761
|
+
display: inline-block;
|
|
5762
|
+
font-size: var(--typography-label-1-size);
|
|
5763
|
+
font-weight: var(--typography-label-1-weight);
|
|
5764
|
+
line-height: var(--typography-label-1-line-height);
|
|
5765
|
+
cursor: inherit;
|
|
5766
|
+
width: 100%;
|
|
5767
|
+
|
|
5768
|
+
/* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
|
|
5769
|
+
> input,
|
|
5770
|
+
> textarea,
|
|
5771
|
+
> select {
|
|
5772
|
+
display: block;
|
|
5773
|
+
margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
|
|
5774
|
+
}
|
|
5775
|
+
|
|
5776
|
+
> label {
|
|
5777
|
+
font-weight: normal;
|
|
5778
|
+
}
|
|
5779
|
+
|
|
5780
|
+
${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
|
|
5781
|
+
${({ disabled }) => disabled && disabledStyle}
|
|
5782
|
+
${({ required }) => required && requiredStyle}
|
|
5783
|
+
`;
|
|
5784
|
+
var Label = ({
|
|
5785
|
+
children,
|
|
5786
|
+
disabled = false,
|
|
5787
|
+
htmlFor,
|
|
5788
|
+
required = false,
|
|
5789
|
+
screenReaderOnly = false,
|
|
5790
|
+
...otherProps
|
|
5791
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
|
|
5792
|
+
StyledLabel,
|
|
5793
|
+
{
|
|
5794
|
+
$screenReaderOnly: screenReaderOnly,
|
|
5795
|
+
disabled,
|
|
5796
|
+
htmlFor,
|
|
5797
|
+
required,
|
|
5798
|
+
...otherProps,
|
|
5799
|
+
children
|
|
5800
|
+
}
|
|
5801
|
+
);
|
|
5802
|
+
Label.displayName = "Label";
|
|
5803
|
+
|
|
5804
|
+
// src/components/Label/LabelDescription.tsx
|
|
5805
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
5806
|
+
var import_type_guards14 = require("@wistia/type-guards");
|
|
5807
|
+
var import_jsx_runtime165 = require("react/jsx-runtime");
|
|
5808
|
+
var StyledLabelDescription = import_styled_components22.default.div`
|
|
5809
|
+
color: var(--color-text-secondary);
|
|
5810
|
+
font-size: var(--typography-body-4-size);
|
|
5811
|
+
font-weight: var(--typography-body-4-weight);
|
|
5812
|
+
line-height: var(--typography-body-4-line-height);
|
|
5813
|
+
`;
|
|
5814
|
+
var LabelDescription = ({
|
|
5815
|
+
children,
|
|
5816
|
+
...props
|
|
5817
|
+
}) => {
|
|
5818
|
+
if ((0, import_type_guards14.isNil)(children)) {
|
|
5819
|
+
return null;
|
|
5820
|
+
}
|
|
5821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(StyledLabelDescription, { ...props, children });
|
|
5822
|
+
};
|
|
5823
|
+
LabelDescription.displayName = "LabelDescription";
|
|
5824
|
+
|
|
5825
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5826
|
+
var import_jsx_runtime166 = require("react/jsx-runtime");
|
|
5827
|
+
var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5828
|
+
"svg",
|
|
5829
|
+
{
|
|
5830
|
+
fill: "inherit",
|
|
5831
|
+
height: "8",
|
|
5832
|
+
viewBox: "0 0 10 8",
|
|
5833
|
+
width: "10",
|
|
5834
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5835
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5836
|
+
"path",
|
|
5837
|
+
{
|
|
5838
|
+
d: "M3.47281 7.19303L0.377565 4.07999C0.191609 3.89297 0.191609 3.58973 0.377565 3.40268L1.05098 2.72537C1.23694 2.53833 1.53847 2.53833 1.72442 2.72537L3.80953 4.82245L8.27558 0.330729C8.46154 0.143704 8.76306 0.143704 8.94902 0.330729L9.62244 1.00804C9.8084 1.19506 9.8084 1.49831 9.62244 1.68535L4.14624 7.19305C3.96027 7.38008 3.65876 7.38008 3.47281 7.19303Z",
|
|
5839
|
+
fill: "white"
|
|
5840
|
+
}
|
|
5841
|
+
)
|
|
5842
|
+
}
|
|
5843
|
+
);
|
|
5844
|
+
var StyledCheckboxWrapper = import_styled_components23.default.div`
|
|
5845
|
+
display: flex;
|
|
5846
|
+
align-items: center;
|
|
5847
|
+
cursor: pointer;
|
|
5848
|
+
padding: var(--space-02);
|
|
5849
|
+
|
|
5850
|
+
&:hover {
|
|
5851
|
+
/* TODO Lamp to design hover state */
|
|
5852
|
+
}
|
|
5853
|
+
|
|
5854
|
+
&:focus-within {
|
|
5855
|
+
/* TODO Lamp to design focus state */
|
|
5856
|
+
background-color: #efefef;
|
|
5857
|
+
}
|
|
5858
|
+
`;
|
|
5859
|
+
var StyledCheckboxRoot = (0, import_styled_components23.default)(import_react_checkbox.Root)`
|
|
5860
|
+
all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
|
|
5861
|
+
background-color: var(--color-bg-fill-white);
|
|
5862
|
+
min-width: 16px;
|
|
5863
|
+
min-height: 16px;
|
|
5864
|
+
border-radius: var(--border-radius-01);
|
|
5865
|
+
border-width: 1px;
|
|
5866
|
+
border-style: solid;
|
|
5867
|
+
border-color: var(--color-border);
|
|
5868
|
+
display: flex;
|
|
5869
|
+
align-items: center;
|
|
5870
|
+
justify-content: center;
|
|
5871
|
+
align-self: start; /* align to the top to handle label descriptions */
|
|
5872
|
+
margin-top: 3px; /* bump down slightly to mimic "align-self: center" */
|
|
5873
|
+
|
|
5874
|
+
&[data-state='checked'] {
|
|
5875
|
+
background-color: var(--color-bg-fill);
|
|
5876
|
+
}
|
|
5877
|
+
|
|
5878
|
+
&[disabled] {
|
|
5879
|
+
background-color: var(--color-bg-surface-disabled);
|
|
5880
|
+
|
|
5881
|
+
svg path {
|
|
5882
|
+
fill: var(--color-icon-disabled);
|
|
5883
|
+
}
|
|
5884
|
+
}
|
|
5885
|
+
|
|
5886
|
+
&:hover {
|
|
5887
|
+
/* TODO Lamp to design hover state */
|
|
5888
|
+
}
|
|
5889
|
+
|
|
5890
|
+
&:focus {
|
|
5891
|
+
/* TODO Lamp to design focus state */
|
|
5892
|
+
}
|
|
5893
|
+
`;
|
|
5894
|
+
var StyledCheckboxIndicator = (0, import_styled_components23.default)(import_react_checkbox.Indicator)`
|
|
5895
|
+
display: flex;
|
|
5896
|
+
`;
|
|
5897
|
+
var StyledLabelWrapper = import_styled_components23.default.div`
|
|
5898
|
+
display: flex;
|
|
5899
|
+
flex-direction: column;
|
|
5900
|
+
padding-left: var(--space-02);
|
|
5901
|
+
`;
|
|
5902
|
+
var Checkbox = (0, import_react11.forwardRef)(
|
|
5903
|
+
({
|
|
5904
|
+
checked,
|
|
5905
|
+
disabled = false,
|
|
5906
|
+
forceState,
|
|
5907
|
+
id,
|
|
5908
|
+
label = "default",
|
|
5909
|
+
description,
|
|
5910
|
+
name,
|
|
5911
|
+
onChange,
|
|
5912
|
+
required = false,
|
|
5913
|
+
value = "false",
|
|
5914
|
+
...otherProps
|
|
5915
|
+
}, ref) => {
|
|
5916
|
+
const generatedId = (0, import_react11.useId)();
|
|
5917
|
+
const computedId = (0, import_type_guards15.isNonEmptyString)(id) ? id : `vhs-collapsible-group-${generatedId}`;
|
|
5918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledCheckboxWrapper, { children: [
|
|
5919
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5920
|
+
StyledCheckboxRoot,
|
|
5921
|
+
{
|
|
5922
|
+
ref,
|
|
5923
|
+
checked: checked ?? void 0,
|
|
5924
|
+
defaultChecked: checked === void 0 ? false : void 0,
|
|
5925
|
+
disabled,
|
|
5926
|
+
id: computedId,
|
|
5927
|
+
name,
|
|
5928
|
+
onCheckedChange: (state) => {
|
|
5929
|
+
if (onChange) {
|
|
5930
|
+
const syntheticEvent = {
|
|
5931
|
+
target: {
|
|
5932
|
+
id: computedId,
|
|
5933
|
+
checked: state === true
|
|
5934
|
+
}
|
|
5935
|
+
};
|
|
5936
|
+
onChange(syntheticEvent);
|
|
5937
|
+
}
|
|
5938
|
+
},
|
|
5939
|
+
required,
|
|
5940
|
+
value,
|
|
5941
|
+
...otherProps,
|
|
5942
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(StyledCheckboxIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(CheckIcon, {}) })
|
|
5943
|
+
}
|
|
5944
|
+
),
|
|
5945
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledLabelWrapper, { children: [
|
|
5946
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5947
|
+
Label,
|
|
5948
|
+
{
|
|
5949
|
+
disabled,
|
|
5950
|
+
htmlFor: computedId,
|
|
5951
|
+
required,
|
|
5952
|
+
children: label
|
|
5953
|
+
}
|
|
5954
|
+
),
|
|
5955
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(LabelDescription, { children: description })
|
|
5956
|
+
] })
|
|
5957
|
+
] });
|
|
5958
|
+
}
|
|
5959
|
+
);
|
|
5960
|
+
Checkbox.displayName = "Checkbox";
|
|
5961
|
+
|
|
5962
|
+
// src/components/Divider/Divider.tsx
|
|
5963
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
5964
|
+
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
5733
5965
|
var sizeToPixelMap = {
|
|
5734
5966
|
lg: 4,
|
|
5735
5967
|
sm: 1
|
|
5736
5968
|
};
|
|
5737
|
-
var DividerComponent =
|
|
5969
|
+
var DividerComponent = import_styled_components24.default.hr`
|
|
5738
5970
|
background: none;
|
|
5739
5971
|
border-bottom: none;
|
|
5740
5972
|
border-left: none;
|
|
@@ -5749,7 +5981,7 @@ var DividerComponent = import_styled_components21.default.hr`
|
|
|
5749
5981
|
`;
|
|
5750
5982
|
var Divider = ({ size = "sm", ...otherProps }) => {
|
|
5751
5983
|
const responsiveSize = useResponsiveProp(size);
|
|
5752
|
-
return /* @__PURE__ */ (0,
|
|
5984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
5753
5985
|
DividerComponent,
|
|
5754
5986
|
{
|
|
5755
5987
|
$borderHeight: sizeToPixelMap[responsiveSize],
|
|
@@ -5760,10 +5992,10 @@ var Divider = ({ size = "sm", ...otherProps }) => {
|
|
|
5760
5992
|
Divider.displayName = "Divider";
|
|
5761
5993
|
|
|
5762
5994
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
5763
|
-
var
|
|
5764
|
-
var
|
|
5765
|
-
var
|
|
5766
|
-
var ellipsisStyle =
|
|
5995
|
+
var import_type_guards16 = require("@wistia/type-guards");
|
|
5996
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
5997
|
+
var import_jsx_runtime168 = require("react/jsx-runtime");
|
|
5998
|
+
var ellipsisStyle = import_styled_components25.css`
|
|
5767
5999
|
overflow: hidden;
|
|
5768
6000
|
text-overflow: ellipsis;
|
|
5769
6001
|
white-space: nowrap;
|
|
@@ -5786,14 +6018,14 @@ var ellipsisStyle = import_styled_components22.css`
|
|
|
5786
6018
|
}
|
|
5787
6019
|
}
|
|
5788
6020
|
`;
|
|
5789
|
-
var ellipsisFlexParentStyle =
|
|
6021
|
+
var ellipsisFlexParentStyle = import_styled_components25.css`
|
|
5790
6022
|
min-width: 0;
|
|
5791
6023
|
`;
|
|
5792
|
-
var EllipsisComponent =
|
|
6024
|
+
var EllipsisComponent = import_styled_components25.default.div`
|
|
5793
6025
|
${ellipsisStyle};
|
|
5794
6026
|
${({ $lines }) => {
|
|
5795
|
-
if ((0,
|
|
5796
|
-
return
|
|
6027
|
+
if ((0, import_type_guards16.isNotNil)($lines)) {
|
|
6028
|
+
return import_styled_components25.css`
|
|
5797
6029
|
-webkit-box-orient: vertical;
|
|
5798
6030
|
-webkit-line-clamp: ${$lines};
|
|
5799
6031
|
display: -webkit-box;
|
|
@@ -5803,7 +6035,7 @@ var EllipsisComponent = import_styled_components22.default.div`
|
|
|
5803
6035
|
return void 0;
|
|
5804
6036
|
}}
|
|
5805
6037
|
`;
|
|
5806
|
-
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0,
|
|
6038
|
+
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
|
|
5807
6039
|
EllipsisComponent,
|
|
5808
6040
|
{
|
|
5809
6041
|
$lines: lines,
|
|
@@ -5814,8 +6046,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, impor
|
|
|
5814
6046
|
Ellipsis.displayName = "Ellipsis";
|
|
5815
6047
|
|
|
5816
6048
|
// src/components/Heading/Heading.tsx
|
|
5817
|
-
var
|
|
5818
|
-
var
|
|
6049
|
+
var import_react12 = require("react");
|
|
6050
|
+
var import_styled_components26 = __toESM(require("styled-components"));
|
|
5819
6051
|
|
|
5820
6052
|
// src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
5821
6053
|
var makePolymorphic = (component) => {
|
|
@@ -5823,44 +6055,44 @@ var makePolymorphic = (component) => {
|
|
|
5823
6055
|
};
|
|
5824
6056
|
|
|
5825
6057
|
// src/components/Heading/Heading.tsx
|
|
5826
|
-
var
|
|
5827
|
-
var heroStyle =
|
|
6058
|
+
var import_jsx_runtime169 = require("react/jsx-runtime");
|
|
6059
|
+
var heroStyle = import_styled_components26.css`
|
|
5828
6060
|
--font-family: var(--typography-heading-hero-family);
|
|
5829
6061
|
--font-size: var(--typography-heading-hero-size);
|
|
5830
6062
|
--font-weight: var(--typography-heading-hero-weight);
|
|
5831
6063
|
--line-height: var(--typography-heading-hero-line-height);
|
|
5832
6064
|
`;
|
|
5833
|
-
var heading1TextStyle =
|
|
6065
|
+
var heading1TextStyle = import_styled_components26.css`
|
|
5834
6066
|
--font-family: var(--typography-heading-1-family);
|
|
5835
6067
|
--font-size: var(--typography-heading-1-size);
|
|
5836
6068
|
--font-weight: var(--typography-heading-1-weight);
|
|
5837
6069
|
--line-height: var(--typography-heading-1-line-height);
|
|
5838
6070
|
`;
|
|
5839
|
-
var heading2TextStyle =
|
|
6071
|
+
var heading2TextStyle = import_styled_components26.css`
|
|
5840
6072
|
--font-family: var(--typography-heading-2-family);
|
|
5841
6073
|
--font-size: var(--typography-heading-2-size);
|
|
5842
6074
|
--font-weight: var(--typography-heading-2-weight);
|
|
5843
6075
|
--line-height: var(--typography-heading-2-line-height);
|
|
5844
6076
|
`;
|
|
5845
|
-
var heading3TextStyle =
|
|
6077
|
+
var heading3TextStyle = import_styled_components26.css`
|
|
5846
6078
|
--font-family: var(--typography-heading-3-family);
|
|
5847
6079
|
--font-size: var(--typography-heading-3-size);
|
|
5848
6080
|
--font-weight: var(--typography-heading-3-weight);
|
|
5849
6081
|
--line-height: var(--typography-heading-3-line-height);
|
|
5850
6082
|
`;
|
|
5851
|
-
var heading4TextStyle =
|
|
6083
|
+
var heading4TextStyle = import_styled_components26.css`
|
|
5852
6084
|
--font-family: var(--typography-heading-4-family);
|
|
5853
6085
|
--font-size: var(--typography-heading-4-size);
|
|
5854
6086
|
--font-weight: var(--typography-heading-4-weight);
|
|
5855
6087
|
--line-height: var(--typography-heading-4-line-height);
|
|
5856
6088
|
`;
|
|
5857
|
-
var heading5TextStyle =
|
|
6089
|
+
var heading5TextStyle = import_styled_components26.css`
|
|
5858
6090
|
--font-family: var(--typography-heading-5-family);
|
|
5859
6091
|
--font-size: var(--typography-heading-5-size);
|
|
5860
6092
|
--font-weight: var(--typography-heading-5-weight);
|
|
5861
6093
|
--line-height: var(--typography-heading-5-line-height);
|
|
5862
6094
|
`;
|
|
5863
|
-
var heading6TextStyle =
|
|
6095
|
+
var heading6TextStyle = import_styled_components26.css`
|
|
5864
6096
|
--font-family: var(--typography-heading-6-family);
|
|
5865
6097
|
--font-size: var(--typography-heading-6-size);
|
|
5866
6098
|
--font-weight: var(--typography-heading-6-weight);
|
|
@@ -5876,7 +6108,7 @@ var variantStyleMap = {
|
|
|
5876
6108
|
heading6: heading6TextStyle
|
|
5877
6109
|
};
|
|
5878
6110
|
var DEFAULT_ELEMENT = "h1";
|
|
5879
|
-
var StyledHeading =
|
|
6111
|
+
var StyledHeading = import_styled_components26.default.div`
|
|
5880
6112
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
5881
6113
|
font-family: var(--font-family);
|
|
5882
6114
|
font-size: var(--font-size);
|
|
@@ -5885,16 +6117,16 @@ var StyledHeading = import_styled_components23.default.div`
|
|
|
5885
6117
|
color: var(--color-text);
|
|
5886
6118
|
${({ $variant }) => variantStyleMap[$variant]}
|
|
5887
6119
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
5888
|
-
${({ $inline }) => $inline &&
|
|
6120
|
+
${({ $inline }) => $inline && import_styled_components26.css`
|
|
5889
6121
|
display: inline-block;
|
|
5890
6122
|
`}
|
|
5891
|
-
${({ $disabled }) => $disabled &&
|
|
6123
|
+
${({ $disabled }) => $disabled && import_styled_components26.css`
|
|
5892
6124
|
color: var(--color-text-disabled);
|
|
5893
6125
|
`}
|
|
5894
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6126
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components26.css`
|
|
5895
6127
|
user-select: none;
|
|
5896
6128
|
`}
|
|
5897
|
-
${({ $align }) =>
|
|
6129
|
+
${({ $align }) => import_styled_components26.css`
|
|
5898
6130
|
text-align: ${$align};
|
|
5899
6131
|
`}
|
|
5900
6132
|
margin: 0;
|
|
@@ -5908,7 +6140,7 @@ var variantElementMap = {
|
|
|
5908
6140
|
heading5: "h5",
|
|
5909
6141
|
heading6: "h6"
|
|
5910
6142
|
};
|
|
5911
|
-
var HeadingComponent = (0,
|
|
6143
|
+
var HeadingComponent = (0, import_react12.forwardRef)(
|
|
5912
6144
|
({
|
|
5913
6145
|
align = "left",
|
|
5914
6146
|
colorScheme = "inherit",
|
|
@@ -5919,7 +6151,7 @@ var HeadingComponent = (0, import_react11.forwardRef)(
|
|
|
5919
6151
|
variant = "heading1",
|
|
5920
6152
|
renderAs,
|
|
5921
6153
|
...otherProps
|
|
5922
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
6154
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
|
|
5923
6155
|
StyledHeading,
|
|
5924
6156
|
{
|
|
5925
6157
|
ref,
|
|
@@ -5939,21 +6171,21 @@ HeadingComponent.displayName = "Heading";
|
|
|
5939
6171
|
var Heading = makePolymorphic(HeadingComponent);
|
|
5940
6172
|
|
|
5941
6173
|
// src/components/IconButton/IconButton.tsx
|
|
5942
|
-
var
|
|
5943
|
-
var
|
|
6174
|
+
var import_react13 = require("react");
|
|
6175
|
+
var import_styled_components28 = __toESM(require("styled-components"));
|
|
5944
6176
|
|
|
5945
6177
|
// src/components/Tooltip/Tooltip.tsx
|
|
5946
6178
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
5947
|
-
var
|
|
5948
|
-
var
|
|
5949
|
-
var CompactTooltipStyles =
|
|
6179
|
+
var import_styled_components27 = __toESM(require("styled-components"));
|
|
6180
|
+
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
6181
|
+
var CompactTooltipStyles = import_styled_components27.css`
|
|
5950
6182
|
--tooltip-font-size: var(--typography-label-4-size);
|
|
5951
6183
|
--tooltip-line-height: var(--typography-label-4-line-height);
|
|
5952
6184
|
--tooltip-font-weight: var(--typography-label-4-weight);
|
|
5953
6185
|
--tooltip-horizontal-padding: var(--space-02);
|
|
5954
6186
|
--tooltip-vertical-padding: var(--space-03);
|
|
5955
6187
|
`;
|
|
5956
|
-
var StyledContent = (0,
|
|
6188
|
+
var StyledContent = (0, import_styled_components27.default)(import_react_tooltip2.Content)`
|
|
5957
6189
|
--tooltip-font-family: var(--typography-family-default);
|
|
5958
6190
|
--tooltip-border-radius: var(--border-radius-05);
|
|
5959
6191
|
--tooltip-bg: var(--color-bg-tooltip);
|
|
@@ -6011,14 +6243,14 @@ var Tooltip = ({
|
|
|
6011
6243
|
if (forceOpen === true) {
|
|
6012
6244
|
rootProps.open = true;
|
|
6013
6245
|
}
|
|
6014
|
-
return /* @__PURE__ */ (0,
|
|
6246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
|
|
6015
6247
|
import_react_tooltip2.Root,
|
|
6016
6248
|
{
|
|
6017
6249
|
delayDuration: delay,
|
|
6018
6250
|
...rootProps,
|
|
6019
6251
|
children: [
|
|
6020
|
-
/* @__PURE__ */ (0,
|
|
6021
|
-
/* @__PURE__ */ (0,
|
|
6252
|
+
/* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
|
|
6253
|
+
/* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
|
|
6022
6254
|
StyledContent,
|
|
6023
6255
|
{
|
|
6024
6256
|
$compact: compact,
|
|
@@ -6026,7 +6258,7 @@ var Tooltip = ({
|
|
|
6026
6258
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
6027
6259
|
children: [
|
|
6028
6260
|
content,
|
|
6029
|
-
!hideArrow ? /* @__PURE__ */ (0,
|
|
6261
|
+
!hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
|
|
6030
6262
|
"svg",
|
|
6031
6263
|
{
|
|
6032
6264
|
fill: "var(--tooltip-bg)",
|
|
@@ -6035,7 +6267,7 @@ var Tooltip = ({
|
|
|
6035
6267
|
viewBox: "0 0 12 8",
|
|
6036
6268
|
width: "12",
|
|
6037
6269
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6038
|
-
children: /* @__PURE__ */ (0,
|
|
6270
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)("path", { d: "M6.8 6.93333C6.4 7.46667 5.6 7.46667 5.2 6.93333L-2.54292e-07 -1.04907e-06L12 0L6.8 6.93333Z" })
|
|
6039
6271
|
}
|
|
6040
6272
|
) }) : null
|
|
6041
6273
|
]
|
|
@@ -6048,8 +6280,8 @@ var Tooltip = ({
|
|
|
6048
6280
|
Tooltip.displayName = "Tooltip";
|
|
6049
6281
|
|
|
6050
6282
|
// src/components/IconButton/IconButton.tsx
|
|
6051
|
-
var
|
|
6052
|
-
var StyledButton2 = (0,
|
|
6283
|
+
var import_jsx_runtime171 = require("react/jsx-runtime");
|
|
6284
|
+
var StyledButton2 = (0, import_styled_components28.default)(Button)`
|
|
6053
6285
|
--icon-button-size-sm: 24px;
|
|
6054
6286
|
--icon-button-size-md: 32px;
|
|
6055
6287
|
--icon-button-size-lg: 40px;
|
|
@@ -6063,10 +6295,10 @@ var StyledButton2 = (0, import_styled_components25.default)(Button)`
|
|
|
6063
6295
|
align-items: center;
|
|
6064
6296
|
line-height: 1;
|
|
6065
6297
|
`;
|
|
6066
|
-
var IconButton = (0,
|
|
6298
|
+
var IconButton = (0, import_react13.forwardRef)(
|
|
6067
6299
|
({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
|
|
6068
6300
|
const responsiveSize = useResponsiveProp(size);
|
|
6069
|
-
const button = /* @__PURE__ */ (0,
|
|
6301
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
|
|
6070
6302
|
StyledButton2,
|
|
6071
6303
|
{
|
|
6072
6304
|
...props,
|
|
@@ -6074,7 +6306,7 @@ var IconButton = (0, import_react12.forwardRef)(
|
|
|
6074
6306
|
"aria-label": label,
|
|
6075
6307
|
"data-wistia-ui-icon-button": true,
|
|
6076
6308
|
size: responsiveSize,
|
|
6077
|
-
children: (0,
|
|
6309
|
+
children: (0, import_react13.cloneElement)(import_react13.Children.only(children), {
|
|
6078
6310
|
size: responsiveSize
|
|
6079
6311
|
})
|
|
6080
6312
|
}
|
|
@@ -6082,211 +6314,212 @@ var IconButton = (0, import_react12.forwardRef)(
|
|
|
6082
6314
|
if (disableTooltip) {
|
|
6083
6315
|
return button;
|
|
6084
6316
|
}
|
|
6085
|
-
return /* @__PURE__ */ (0,
|
|
6317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(Tooltip, { content: label, children: button });
|
|
6086
6318
|
}
|
|
6087
6319
|
);
|
|
6088
6320
|
IconButton.displayName = "IconButton";
|
|
6089
6321
|
|
|
6090
|
-
// src/components/
|
|
6091
|
-
var
|
|
6092
|
-
var
|
|
6093
|
-
var
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6322
|
+
// src/components/Menu/Menu.tsx
|
|
6323
|
+
var import_styled_components29 = __toESM(require("styled-components"));
|
|
6324
|
+
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
6325
|
+
var import_type_guards17 = require("@wistia/type-guards");
|
|
6326
|
+
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
6327
|
+
var open = import_styled_components29.keyframes`
|
|
6328
|
+
from {
|
|
6329
|
+
opacity: 0;
|
|
6330
|
+
transform: scale(.97) translateY(-8px);
|
|
6331
|
+
}
|
|
6332
|
+
to {
|
|
6333
|
+
opacity: 1;
|
|
6334
|
+
transform: scale(1);
|
|
6099
6335
|
}
|
|
6100
6336
|
`;
|
|
6101
|
-
var
|
|
6102
|
-
|
|
6337
|
+
var close = import_styled_components29.keyframes`
|
|
6338
|
+
from {
|
|
6339
|
+
opacity: 1;
|
|
6340
|
+
transform: scale(1);
|
|
6341
|
+
}
|
|
6342
|
+
to {
|
|
6343
|
+
opacity: 0;
|
|
6344
|
+
transform: scale(.97) translateY(-8px);
|
|
6345
|
+
}
|
|
6103
6346
|
`;
|
|
6104
|
-
var
|
|
6105
|
-
var
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6119
|
-
|
|
6347
|
+
var menuContentCss = import_styled_components29.css`
|
|
6348
|
+
--menu-font-family: var(--typography-family-default);
|
|
6349
|
+
--menu-bg: var(--color-bg-fill-white); /* TODO - Not sure what token to use for this */
|
|
6350
|
+
--menu-shadow: 0 0 64px 0 rgba(0 0 0 / 8%); /* TODO - Need a box-shadow token */
|
|
6351
|
+
--menu-border-radius: var(--border-radius-01);
|
|
6352
|
+
--menu-padding: var(--space-03);
|
|
6353
|
+
--menu-min-width: 120px;
|
|
6354
|
+
--menu-max-width: 284px;
|
|
6355
|
+
--menu-zindex: 500; /* TODO - need z-index token */
|
|
6356
|
+
|
|
6357
|
+
animation: ${open}; /* TODO - need easing tokens */
|
|
6358
|
+
font-family: var(--menu-font-family);
|
|
6359
|
+
background: var(--menu-bg);
|
|
6360
|
+
border-radius: var(--menu-border-radius);
|
|
6361
|
+
box-shadow: var(--menu-shadow); /* TODO - Need a box-shadow token */
|
|
6362
|
+
max-height: var(--radix-dropdown-menu-content-available-height);
|
|
6363
|
+
min-width: var(--menu-min-width);
|
|
6364
|
+
max-width: var(--menu-max-width);
|
|
6365
|
+
overflow: auto;
|
|
6366
|
+
padding: var(--menu-padding);
|
|
6367
|
+
transform-origin: var(--radix-dropdown-menu-content-transform-origin);
|
|
6368
|
+
z-index: var(--menu-zindex);
|
|
6369
|
+
|
|
6370
|
+
&[data-state='closed'] {
|
|
6371
|
+
animation: ${close}; /* TODO - need easing tokens */
|
|
6120
6372
|
}
|
|
6121
6373
|
|
|
6122
|
-
|
|
6123
|
-
|
|
6374
|
+
${mq.smAndUp} {
|
|
6375
|
+
bottom: 0;
|
|
6376
|
+
padding: var(--menu-padding);
|
|
6377
|
+
right: 0;
|
|
6378
|
+
top: 0;
|
|
6379
|
+
transform: initial;
|
|
6124
6380
|
}
|
|
6125
6381
|
|
|
6126
|
-
|
|
6127
|
-
|
|
6128
|
-
${({ required }) => required && requiredStyle}
|
|
6129
|
-
`;
|
|
6130
|
-
var Label = ({
|
|
6131
|
-
children,
|
|
6132
|
-
disabled = false,
|
|
6133
|
-
htmlFor,
|
|
6134
|
-
required = false,
|
|
6135
|
-
screenReaderOnly = false,
|
|
6136
|
-
...otherProps
|
|
6137
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
|
|
6138
|
-
StyledLabel,
|
|
6139
|
-
{
|
|
6140
|
-
disabled,
|
|
6141
|
-
htmlFor,
|
|
6142
|
-
required,
|
|
6143
|
-
screenReaderOnly,
|
|
6144
|
-
...otherProps,
|
|
6145
|
-
children
|
|
6382
|
+
hr {
|
|
6383
|
+
margin: var(--space-02) 0;
|
|
6146
6384
|
}
|
|
6147
|
-
|
|
6148
|
-
|
|
6149
|
-
|
|
6150
|
-
|
|
6151
|
-
var
|
|
6152
|
-
|
|
6153
|
-
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
6154
|
-
var VisuallyHidden = import_styled_components27.default.div({ ...visuallyHiddenStyle });
|
|
6155
|
-
var VisuallyHiddenButFocusable = import_styled_components27.default.div({
|
|
6156
|
-
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6157
|
-
});
|
|
6158
|
-
var ScreenReaderOnly = ({
|
|
6159
|
-
text,
|
|
6385
|
+
`;
|
|
6386
|
+
var MenuContent = (0, import_styled_components29.default)(import_react_dropdown_menu.DropdownMenuContent)`
|
|
6387
|
+
${menuContentCss}
|
|
6388
|
+
`;
|
|
6389
|
+
var Menu = ({
|
|
6390
|
+
align = "start",
|
|
6160
6391
|
children,
|
|
6161
|
-
|
|
6162
|
-
|
|
6392
|
+
trigger,
|
|
6393
|
+
label,
|
|
6394
|
+
isOpen,
|
|
6395
|
+
triggerProps = {},
|
|
6396
|
+
onOpenChange,
|
|
6397
|
+
onInteractOutside,
|
|
6398
|
+
...props
|
|
6163
6399
|
}) => {
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)(
|
|
6401
|
+
import_react_dropdown_menu.DropdownMenu,
|
|
6402
|
+
{
|
|
6403
|
+
modal: false,
|
|
6404
|
+
...(0, import_type_guards17.isNotNil)(onOpenChange) && (0, import_type_guards17.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {},
|
|
6405
|
+
children: [
|
|
6406
|
+
/* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_react_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: (0, import_type_guards17.isNotUndefined)(trigger) ? trigger : /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
6407
|
+
Button,
|
|
6408
|
+
{
|
|
6409
|
+
"aria-expanded": isOpen,
|
|
6410
|
+
forceState: isOpen ? "active" : void 0,
|
|
6411
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(Icon, { type: "caret-down" }),
|
|
6412
|
+
...triggerProps,
|
|
6413
|
+
children: label
|
|
6414
|
+
}
|
|
6415
|
+
) }),
|
|
6416
|
+
/* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_react_dropdown_menu.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
6417
|
+
MenuContent,
|
|
6418
|
+
{
|
|
6419
|
+
...props,
|
|
6420
|
+
align,
|
|
6421
|
+
onFocusOutside: (event) => {
|
|
6422
|
+
event.preventDefault();
|
|
6423
|
+
},
|
|
6424
|
+
sideOffset: 6,
|
|
6425
|
+
children
|
|
6426
|
+
}
|
|
6427
|
+
) })
|
|
6428
|
+
]
|
|
6429
|
+
}
|
|
6430
|
+
);
|
|
6169
6431
|
};
|
|
6170
|
-
|
|
6432
|
+
Menu.displayName = "Menu";
|
|
6171
6433
|
|
|
6172
|
-
// src/components/
|
|
6173
|
-
var
|
|
6174
|
-
var
|
|
6175
|
-
var import_jsx_runtime171 = require("react/jsx-runtime");
|
|
6176
|
-
var DEFAULT_ELEMENT2 = "div";
|
|
6177
|
-
var StyledStack = import_styled_components28.default.div`
|
|
6178
|
-
display: flex;
|
|
6179
|
-
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6180
|
-
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6181
|
-
|
|
6182
|
-
> * {
|
|
6183
|
-
flex: 1;
|
|
6184
|
-
}
|
|
6185
|
-
`;
|
|
6186
|
-
var StackComponent = (0, import_react13.forwardRef)(
|
|
6187
|
-
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6188
|
-
const responsiveGap = useResponsiveProp(gap);
|
|
6189
|
-
const responsiveDirection = useResponsiveProp(direction);
|
|
6190
|
-
return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
|
|
6191
|
-
StyledStack,
|
|
6192
|
-
{
|
|
6193
|
-
ref,
|
|
6194
|
-
$direction: responsiveDirection,
|
|
6195
|
-
$gap: responsiveGap,
|
|
6196
|
-
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6197
|
-
...props
|
|
6198
|
-
}
|
|
6199
|
-
);
|
|
6200
|
-
}
|
|
6201
|
-
);
|
|
6202
|
-
StackComponent.displayName = "Stack";
|
|
6203
|
-
var Stack = makePolymorphic(StackComponent);
|
|
6434
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6435
|
+
var import_styled_components31 = __toESM(require("styled-components"));
|
|
6436
|
+
var import_react_dropdown_menu2 = require("@radix-ui/react-dropdown-menu");
|
|
6204
6437
|
|
|
6205
6438
|
// src/components/Text/Text.tsx
|
|
6206
6439
|
var import_react14 = require("react");
|
|
6207
|
-
var
|
|
6208
|
-
var
|
|
6209
|
-
var bodyBoldStyles =
|
|
6440
|
+
var import_styled_components30 = __toESM(require("styled-components"));
|
|
6441
|
+
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
6442
|
+
var bodyBoldStyles = import_styled_components30.css`
|
|
6210
6443
|
> strong,
|
|
6211
6444
|
b {
|
|
6212
6445
|
font-weight: var(--typography-weight-body-bold);
|
|
6213
6446
|
}
|
|
6214
6447
|
`;
|
|
6215
|
-
var labelBoldStyles =
|
|
6448
|
+
var labelBoldStyles = import_styled_components30.css`
|
|
6216
6449
|
> strong,
|
|
6217
6450
|
b {
|
|
6218
6451
|
font-weight: var(--typography-weight-label-bold);
|
|
6219
6452
|
}
|
|
6220
6453
|
`;
|
|
6221
|
-
var body1TextStyle =
|
|
6454
|
+
var body1TextStyle = import_styled_components30.css`
|
|
6222
6455
|
--font-family: var(--typography-body-1-family);
|
|
6223
6456
|
--font-size: var(--typography-body-1-size);
|
|
6224
6457
|
--font-weight: var(--typography-body-1-weight);
|
|
6225
6458
|
--line-height: var(--typography-body-1-line-height);
|
|
6226
6459
|
${bodyBoldStyles}
|
|
6227
6460
|
`;
|
|
6228
|
-
var body2TextStyle =
|
|
6461
|
+
var body2TextStyle = import_styled_components30.css`
|
|
6229
6462
|
--font-family: var(--typography-body-2-family);
|
|
6230
6463
|
--font-size: var(--typography-body-2-size);
|
|
6231
6464
|
--font-weight: var(--typography-body-2-weight);
|
|
6232
6465
|
--line-height: var(--typography-body-2-line-height);
|
|
6233
6466
|
${bodyBoldStyles}
|
|
6234
6467
|
`;
|
|
6235
|
-
var body3TextStyle =
|
|
6468
|
+
var body3TextStyle = import_styled_components30.css`
|
|
6236
6469
|
--font-family: var(--typography-body-3-family);
|
|
6237
6470
|
--font-size: var(--typography-body-3-size);
|
|
6238
6471
|
--font-weight: var(--typography-body-3-weight);
|
|
6239
6472
|
--line-height: var(--typography-body-3-line-height);
|
|
6240
6473
|
${bodyBoldStyles}
|
|
6241
6474
|
`;
|
|
6242
|
-
var body4TextStyle =
|
|
6475
|
+
var body4TextStyle = import_styled_components30.css`
|
|
6243
6476
|
--font-family: var(--typography-body-4-family);
|
|
6244
6477
|
--font-size: var(--typography-body-4-size);
|
|
6245
6478
|
--font-weight: var(--typography-body-4-weight);
|
|
6246
6479
|
--line-height: var(--typography-body-4-line-height);
|
|
6247
6480
|
${bodyBoldStyles}
|
|
6248
6481
|
`;
|
|
6249
|
-
var label1TextStyle =
|
|
6482
|
+
var label1TextStyle = import_styled_components30.css`
|
|
6250
6483
|
--font-family: var(--typography-label-1-family);
|
|
6251
6484
|
--font-size: var(--typography-label-1-size);
|
|
6252
6485
|
--font-weight: var(--typography-label-1-weight);
|
|
6253
6486
|
--line-height: var(--typography-label-1-line-height);
|
|
6254
6487
|
${labelBoldStyles}
|
|
6255
6488
|
`;
|
|
6256
|
-
var label2TextStyle =
|
|
6489
|
+
var label2TextStyle = import_styled_components30.css`
|
|
6257
6490
|
--font-family: var(--typography-label-2-family);
|
|
6258
6491
|
--font-size: var(--typography-label-2-size);
|
|
6259
6492
|
--font-weight: var(--typography-label-2-weight);
|
|
6260
6493
|
--line-height: var(--typography-label-2-line-height);
|
|
6261
6494
|
${labelBoldStyles}
|
|
6262
6495
|
`;
|
|
6263
|
-
var label3TextStyle =
|
|
6496
|
+
var label3TextStyle = import_styled_components30.css`
|
|
6264
6497
|
--font-family: var(--typography-label-3-family);
|
|
6265
6498
|
--font-size: var(--typography-label-3-size);
|
|
6266
6499
|
--font-weight: var(--typography-label-3-weight);
|
|
6267
6500
|
--line-height: var(--typography-label-3-line-height);
|
|
6268
6501
|
${labelBoldStyles}
|
|
6269
6502
|
`;
|
|
6270
|
-
var label4TextStyle =
|
|
6503
|
+
var label4TextStyle = import_styled_components30.css`
|
|
6271
6504
|
--font-family: var(--typography-label-4-family);
|
|
6272
6505
|
--font-size: var(--typography-label-4-size);
|
|
6273
6506
|
--font-weight: var(--typography-label-4-weight);
|
|
6274
6507
|
--line-height: var(--typography-label-4-line-height);
|
|
6275
6508
|
${labelBoldStyles}
|
|
6276
6509
|
`;
|
|
6277
|
-
var body1MonoTextStyle =
|
|
6510
|
+
var body1MonoTextStyle = import_styled_components30.css`
|
|
6278
6511
|
${body1TextStyle};
|
|
6279
6512
|
--font-family: var(--typography-family-mono);
|
|
6280
6513
|
`;
|
|
6281
|
-
var body2MonoTextStyle =
|
|
6514
|
+
var body2MonoTextStyle = import_styled_components30.css`
|
|
6282
6515
|
${body2TextStyle};
|
|
6283
6516
|
--font-family: var(--typography-family-mono);
|
|
6284
6517
|
`;
|
|
6285
|
-
var body3MonoTextStyle =
|
|
6518
|
+
var body3MonoTextStyle = import_styled_components30.css`
|
|
6286
6519
|
${body3TextStyle};
|
|
6287
6520
|
--font-family: var(--typography-family-mono);
|
|
6288
6521
|
`;
|
|
6289
|
-
var body4MonoTextStyle =
|
|
6522
|
+
var body4MonoTextStyle = import_styled_components30.css`
|
|
6290
6523
|
${body4TextStyle};
|
|
6291
6524
|
--font-family: var(--typography-family-mono);
|
|
6292
6525
|
`;
|
|
@@ -6304,13 +6537,13 @@ var variantStyleMap2 = {
|
|
|
6304
6537
|
label3: label3TextStyle,
|
|
6305
6538
|
label4: label4TextStyle
|
|
6306
6539
|
};
|
|
6307
|
-
var highContrastProminenceStyle =
|
|
6540
|
+
var highContrastProminenceStyle = import_styled_components30.css`
|
|
6308
6541
|
--text-color: var(--color-text-high-contrast);
|
|
6309
6542
|
`;
|
|
6310
|
-
var vibrantProminenceStyle =
|
|
6543
|
+
var vibrantProminenceStyle = import_styled_components30.css`
|
|
6311
6544
|
--text-color: var(--color-text);
|
|
6312
6545
|
`;
|
|
6313
|
-
var secondaryProminenceStyle =
|
|
6546
|
+
var secondaryProminenceStyle = import_styled_components30.css`
|
|
6314
6547
|
--text-color: var(--color-text-secondary);
|
|
6315
6548
|
`;
|
|
6316
6549
|
var prominenceMap = {
|
|
@@ -6318,7 +6551,7 @@ var prominenceMap = {
|
|
|
6318
6551
|
vibrant: vibrantProminenceStyle,
|
|
6319
6552
|
secondary: secondaryProminenceStyle
|
|
6320
6553
|
};
|
|
6321
|
-
var StyledText =
|
|
6554
|
+
var StyledText = import_styled_components30.default.div`
|
|
6322
6555
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
6323
6556
|
font-family: var(--font-family);
|
|
6324
6557
|
font-size: var(--font-size);
|
|
@@ -6330,23 +6563,23 @@ var StyledText = import_styled_components29.default.div`
|
|
|
6330
6563
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
6331
6564
|
${({ $prominence }) => prominenceMap[$prominence]}
|
|
6332
6565
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
6333
|
-
${({ $inline }) => $inline &&
|
|
6566
|
+
${({ $inline }) => $inline && import_styled_components30.css`
|
|
6334
6567
|
display: inline-block;
|
|
6335
6568
|
`}
|
|
6336
|
-
${({ $disabled }) => $disabled &&
|
|
6569
|
+
${({ $disabled }) => $disabled && import_styled_components30.css`
|
|
6337
6570
|
--text-color: var(--color-text-disabled);
|
|
6338
6571
|
`}
|
|
6339
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6572
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components30.css`
|
|
6340
6573
|
user-select: none;
|
|
6341
6574
|
`}
|
|
6342
|
-
${({ $align }) =>
|
|
6575
|
+
${({ $align }) => import_styled_components30.css`
|
|
6343
6576
|
text-align: ${$align};
|
|
6344
6577
|
`}
|
|
6345
|
-
${({ as }) => as === "p" &&
|
|
6578
|
+
${({ as }) => as === "p" && import_styled_components30.css`
|
|
6346
6579
|
display: block;
|
|
6347
6580
|
`}
|
|
6348
6581
|
`;
|
|
6349
|
-
var
|
|
6582
|
+
var DEFAULT_ELEMENT2 = "div";
|
|
6350
6583
|
var TextComponent = (0, import_react14.forwardRef)(
|
|
6351
6584
|
({
|
|
6352
6585
|
align = "left",
|
|
@@ -6360,7 +6593,7 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6360
6593
|
renderAs,
|
|
6361
6594
|
...otherProps
|
|
6362
6595
|
}, ref) => {
|
|
6363
|
-
return /* @__PURE__ */ (0,
|
|
6596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
|
|
6364
6597
|
StyledText,
|
|
6365
6598
|
{
|
|
6366
6599
|
ref,
|
|
@@ -6372,7 +6605,7 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6372
6605
|
$preventUserSelect: preventUserSelect,
|
|
6373
6606
|
$prominence: prominence,
|
|
6374
6607
|
$variant: variant,
|
|
6375
|
-
as: renderAs ??
|
|
6608
|
+
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6376
6609
|
...otherProps
|
|
6377
6610
|
}
|
|
6378
6611
|
);
|
|
@@ -6381,21 +6614,393 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6381
6614
|
TextComponent.displayName = "Text";
|
|
6382
6615
|
var Text = makePolymorphic(TextComponent);
|
|
6383
6616
|
|
|
6617
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6618
|
+
var import_jsx_runtime174 = require("react/jsx-runtime");
|
|
6619
|
+
var StyledMenuLabel = (0, import_styled_components31.default)(import_react_dropdown_menu2.DropdownMenuLabel)`
|
|
6620
|
+
padding: var(--space-02);
|
|
6621
|
+
`;
|
|
6622
|
+
var MenuLabel = ({ children, ...props }) => {
|
|
6623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
6624
|
+
StyledMenuLabel,
|
|
6625
|
+
{
|
|
6626
|
+
asChild: true,
|
|
6627
|
+
...props,
|
|
6628
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
6629
|
+
Text,
|
|
6630
|
+
{
|
|
6631
|
+
variant: "label3",
|
|
6632
|
+
...props,
|
|
6633
|
+
children
|
|
6634
|
+
}
|
|
6635
|
+
)
|
|
6636
|
+
}
|
|
6637
|
+
);
|
|
6638
|
+
};
|
|
6639
|
+
MenuLabel.displayName = "MenuLabel";
|
|
6640
|
+
|
|
6641
|
+
// src/components/Menu/SubMenu.tsx
|
|
6642
|
+
var import_react16 = require("react");
|
|
6643
|
+
var import_styled_components34 = __toESM(require("styled-components"));
|
|
6644
|
+
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
6645
|
+
|
|
6646
|
+
// src/components/Menu/MenuItemButton.tsx
|
|
6647
|
+
var import_react15 = require("react");
|
|
6648
|
+
var import_styled_components32 = __toESM(require("styled-components"));
|
|
6649
|
+
var import_type_guards18 = require("@wistia/type-guards");
|
|
6650
|
+
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
6651
|
+
var StyledButton3 = (0, import_styled_components32.default)(Button)`
|
|
6652
|
+
--menu-item-border-radius: var(--border-radius-01);
|
|
6653
|
+
--menu-item-gap: var(--space-01);
|
|
6654
|
+
--menu-item-inner-gap: var(--space-04);
|
|
6655
|
+
--menu-item-disabled-bg: var(--color-white);
|
|
6656
|
+
|
|
6657
|
+
text-align: left;
|
|
6658
|
+
align-items: left;
|
|
6659
|
+
border-radius: var(--menu-item-border-radius);
|
|
6660
|
+
display: flex;
|
|
6661
|
+
|
|
6662
|
+
&[aria-disabled='true'] {
|
|
6663
|
+
background-color: var(--menu-item-disabled-bg);
|
|
6664
|
+
}
|
|
6665
|
+
|
|
6666
|
+
${({ $isGated }) => (0, import_type_guards18.isNotUndefined)($isGated) && $isGated ? `color: var(--color-text);` : ""}
|
|
6667
|
+
`;
|
|
6668
|
+
var StyledMenuContent = import_styled_components32.default.div`
|
|
6669
|
+
display: grid;
|
|
6670
|
+
grid-template-areas:
|
|
6671
|
+
'label badge'
|
|
6672
|
+
'description badge';
|
|
6673
|
+
grid-template-columns: 1fr auto;
|
|
6674
|
+
position: relative;
|
|
6675
|
+
align-content: center;
|
|
6676
|
+
`;
|
|
6677
|
+
var StyledBadgeContainer = import_styled_components32.default.div`
|
|
6678
|
+
grid-area: badge;
|
|
6679
|
+
align-self: start;
|
|
6680
|
+
justify-self: end;
|
|
6681
|
+
margin-left: var(--menu-item-inner-gap);
|
|
6682
|
+
`;
|
|
6683
|
+
var MenuItemButton = (0, import_react15.forwardRef)(({ children, appearance, command, ...props }, ref) => {
|
|
6684
|
+
let { colorScheme, badge } = props;
|
|
6685
|
+
if (appearance === "dangerous") {
|
|
6686
|
+
if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
|
|
6687
|
+
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
6688
|
+
}
|
|
6689
|
+
colorScheme = "error";
|
|
6690
|
+
}
|
|
6691
|
+
if (appearance === "gated") {
|
|
6692
|
+
if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
|
|
6693
|
+
console.warn("colorScheme prop is ignored when appearance is gated");
|
|
6694
|
+
}
|
|
6695
|
+
colorScheme = "purple";
|
|
6696
|
+
badge = /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Icon, { type: "sparkle" });
|
|
6697
|
+
}
|
|
6698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
|
|
6699
|
+
StyledButton3,
|
|
6700
|
+
{
|
|
6701
|
+
...props,
|
|
6702
|
+
ref,
|
|
6703
|
+
$isGated: appearance === "gated",
|
|
6704
|
+
colorScheme: colorScheme ?? "default",
|
|
6705
|
+
fullWidth: true,
|
|
6706
|
+
variant: "ghost",
|
|
6707
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(StyledMenuContent, { children: [
|
|
6708
|
+
children,
|
|
6709
|
+
(0, import_type_guards18.isNotNil)(badge) || (0, import_type_guards18.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null
|
|
6710
|
+
] })
|
|
6711
|
+
}
|
|
6712
|
+
);
|
|
6713
|
+
});
|
|
6714
|
+
MenuItemButton.displayName = "MenuItemButton";
|
|
6715
|
+
|
|
6716
|
+
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
6717
|
+
var import_styled_components33 = __toESM(require("styled-components"));
|
|
6718
|
+
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
6719
|
+
var StyledMenuItemLabel = (0, import_styled_components33.default)(Text).attrs({ variant: "label3" })`
|
|
6720
|
+
grid-area: label;
|
|
6721
|
+
`;
|
|
6722
|
+
var StyledMenuItemDescription = (0, import_styled_components33.default)(Text).attrs({
|
|
6723
|
+
variant: "label4",
|
|
6724
|
+
prominence: "secondary"
|
|
6725
|
+
})`
|
|
6726
|
+
margin-top: var(--menu-item-gap);
|
|
6727
|
+
grid-area: description;
|
|
6728
|
+
`;
|
|
6729
|
+
var MenuItemLabel = ({ children }) => {
|
|
6730
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemLabel, { children });
|
|
6731
|
+
};
|
|
6732
|
+
var MenuItemDescription = ({ children }) => {
|
|
6733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemDescription, { children });
|
|
6734
|
+
};
|
|
6735
|
+
|
|
6736
|
+
// src/components/Menu/SubMenu.tsx
|
|
6737
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
6738
|
+
var SubMenuContent = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubContent)`
|
|
6739
|
+
${menuContentCss}
|
|
6740
|
+
width: 298px;
|
|
6741
|
+
|
|
6742
|
+
${mq.smAndDown} {
|
|
6743
|
+
transform: translateX(-100%) !important;
|
|
6744
|
+
}
|
|
6745
|
+
`;
|
|
6746
|
+
var StyledMobileSubMenuItems = import_styled_components34.default.div`
|
|
6747
|
+
margin-left: var(--space-04);
|
|
6748
|
+
`;
|
|
6749
|
+
var StyledSubTrigger = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubTrigger)`
|
|
6750
|
+
outline: none;
|
|
6751
|
+
|
|
6752
|
+
&[data-state='open'],
|
|
6753
|
+
&[data-highlighted] {
|
|
6754
|
+
background-color: var(--button-color-bg-hover);
|
|
6755
|
+
}
|
|
6756
|
+
`;
|
|
6757
|
+
var SubMenuTrigger = (props) => {
|
|
6758
|
+
const { isSmAndUp } = useMq();
|
|
6759
|
+
const Trigger2 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
|
|
6760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Trigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
|
|
6761
|
+
MenuItemButton,
|
|
6762
|
+
{
|
|
6763
|
+
...props,
|
|
6764
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Icon, { type: "caret-right" })
|
|
6765
|
+
}
|
|
6766
|
+
) });
|
|
6767
|
+
};
|
|
6768
|
+
var SubMenu = ({
|
|
6769
|
+
label,
|
|
6770
|
+
description,
|
|
6771
|
+
children,
|
|
6772
|
+
onOpenChange = () => null,
|
|
6773
|
+
...props
|
|
6774
|
+
}) => {
|
|
6775
|
+
const { isSmAndUp } = useMq();
|
|
6776
|
+
const [isExpanded, setIsExpanded] = (0, import_react16.useState)(false);
|
|
6777
|
+
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
6778
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
6779
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
|
|
6780
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
|
|
6781
|
+
] }),
|
|
6782
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(SubMenuContent, { children }) })
|
|
6783
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
|
|
6784
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(
|
|
6785
|
+
SubMenuTrigger,
|
|
6786
|
+
{
|
|
6787
|
+
...props,
|
|
6788
|
+
onClick: (event) => {
|
|
6789
|
+
event.preventDefault();
|
|
6790
|
+
setIsExpanded((prev) => !prev);
|
|
6791
|
+
},
|
|
6792
|
+
children: [
|
|
6793
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
|
|
6794
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
|
|
6795
|
+
]
|
|
6796
|
+
}
|
|
6797
|
+
),
|
|
6798
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
6799
|
+
] });
|
|
6800
|
+
};
|
|
6801
|
+
SubMenu.displayName = "SubMenu";
|
|
6802
|
+
|
|
6803
|
+
// src/components/Menu/MenuItem.tsx
|
|
6804
|
+
var import_react17 = require("react");
|
|
6805
|
+
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
6806
|
+
var import_jsx_runtime178 = require("react/jsx-runtime");
|
|
6807
|
+
var MenuItem = (0, import_react17.forwardRef)(
|
|
6808
|
+
({ onSelect = () => null, ...props }, ref) => {
|
|
6809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
|
|
6810
|
+
import_react_dropdown_menu4.DropdownMenuItem,
|
|
6811
|
+
{
|
|
6812
|
+
asChild: true,
|
|
6813
|
+
onSelect,
|
|
6814
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
|
|
6815
|
+
MenuItemButton,
|
|
6816
|
+
{
|
|
6817
|
+
...props,
|
|
6818
|
+
ref,
|
|
6819
|
+
leftIcon: props.icon
|
|
6820
|
+
}
|
|
6821
|
+
)
|
|
6822
|
+
}
|
|
6823
|
+
);
|
|
6824
|
+
}
|
|
6825
|
+
);
|
|
6826
|
+
MenuItem.displayName = "MenuItem";
|
|
6827
|
+
|
|
6828
|
+
// src/components/Menu/MenuRadioGroup.tsx
|
|
6829
|
+
var import_react_dropdown_menu5 = require("@radix-ui/react-dropdown-menu");
|
|
6830
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
6831
|
+
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
6832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(import_react_dropdown_menu5.DropdownMenuRadioGroup, { ...props, children: [
|
|
6833
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(MenuLabel, { children: label }),
|
|
6834
|
+
children
|
|
6835
|
+
] });
|
|
6836
|
+
};
|
|
6837
|
+
MenuRadioGroup.displayName = "MenuRadioGroup";
|
|
6838
|
+
|
|
6839
|
+
// src/components/Menu/RadioMenuItem.tsx
|
|
6840
|
+
var import_react_dropdown_menu6 = require("@radix-ui/react-dropdown-menu");
|
|
6841
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
6842
|
+
var RadioMenuItem = ({
|
|
6843
|
+
onSelect,
|
|
6844
|
+
value,
|
|
6845
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6846
|
+
Icon,
|
|
6847
|
+
{
|
|
6848
|
+
size: "sm",
|
|
6849
|
+
type: "checkmark"
|
|
6850
|
+
}
|
|
6851
|
+
),
|
|
6852
|
+
...props
|
|
6853
|
+
}) => {
|
|
6854
|
+
const extraProps = onSelect ? { onSelect } : {};
|
|
6855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6856
|
+
import_react_dropdown_menu6.DropdownMenuRadioItem,
|
|
6857
|
+
{
|
|
6858
|
+
...extraProps,
|
|
6859
|
+
value,
|
|
6860
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6861
|
+
MenuItemButton,
|
|
6862
|
+
{
|
|
6863
|
+
...props,
|
|
6864
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_react_dropdown_menu6.DropdownMenuItemIndicator, { children: indicator })
|
|
6865
|
+
}
|
|
6866
|
+
)
|
|
6867
|
+
}
|
|
6868
|
+
);
|
|
6869
|
+
};
|
|
6870
|
+
RadioMenuItem.displayName = "RadioMenuItem";
|
|
6871
|
+
|
|
6872
|
+
// src/components/Menu/CheckboxMenuItem.tsx
|
|
6873
|
+
var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
|
|
6874
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
6875
|
+
var CheckboxMenuItem = ({
|
|
6876
|
+
onSelect,
|
|
6877
|
+
checked,
|
|
6878
|
+
onCheckedChange,
|
|
6879
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6880
|
+
Icon,
|
|
6881
|
+
{
|
|
6882
|
+
size: "sm",
|
|
6883
|
+
type: "checkmark"
|
|
6884
|
+
}
|
|
6885
|
+
),
|
|
6886
|
+
...props
|
|
6887
|
+
}) => {
|
|
6888
|
+
let extraProps = {};
|
|
6889
|
+
if (onSelect) {
|
|
6890
|
+
extraProps = {
|
|
6891
|
+
...extraProps,
|
|
6892
|
+
onCheckedChange,
|
|
6893
|
+
onSelect
|
|
6894
|
+
};
|
|
6895
|
+
}
|
|
6896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6897
|
+
import_react_dropdown_menu7.DropdownMenuCheckboxItem,
|
|
6898
|
+
{
|
|
6899
|
+
...extraProps,
|
|
6900
|
+
checked,
|
|
6901
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6902
|
+
MenuItemButton,
|
|
6903
|
+
{
|
|
6904
|
+
...props,
|
|
6905
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_react_dropdown_menu7.DropdownMenuItemIndicator, { children: indicator })
|
|
6906
|
+
}
|
|
6907
|
+
)
|
|
6908
|
+
}
|
|
6909
|
+
);
|
|
6910
|
+
};
|
|
6911
|
+
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
6912
|
+
|
|
6913
|
+
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
6914
|
+
var import_styled_components35 = __toESM(require("styled-components"));
|
|
6915
|
+
var import_type_guards19 = require("@wistia/type-guards");
|
|
6916
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
6917
|
+
var VisuallyHidden = import_styled_components35.default.div({ ...visuallyHiddenStyle });
|
|
6918
|
+
var VisuallyHiddenButFocusable = import_styled_components35.default.div({
|
|
6919
|
+
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6920
|
+
});
|
|
6921
|
+
var ScreenReaderOnly = ({
|
|
6922
|
+
text,
|
|
6923
|
+
children,
|
|
6924
|
+
focusable = false,
|
|
6925
|
+
...otherProps
|
|
6926
|
+
}) => {
|
|
6927
|
+
const accessibleText = (0, import_type_guards19.isNotNil)(text) ? text : children;
|
|
6928
|
+
if (focusable) {
|
|
6929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
6930
|
+
}
|
|
6931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
6932
|
+
};
|
|
6933
|
+
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
6934
|
+
|
|
6935
|
+
// src/components/Stack/Stack.tsx
|
|
6936
|
+
var import_react18 = require("react");
|
|
6937
|
+
var import_styled_components36 = __toESM(require("styled-components"));
|
|
6938
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
6939
|
+
var DEFAULT_ELEMENT3 = "div";
|
|
6940
|
+
var StyledStack = import_styled_components36.default.div`
|
|
6941
|
+
display: flex;
|
|
6942
|
+
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6943
|
+
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6944
|
+
|
|
6945
|
+
> * {
|
|
6946
|
+
flex: 1;
|
|
6947
|
+
}
|
|
6948
|
+
`;
|
|
6949
|
+
var StackComponent = (0, import_react18.forwardRef)(
|
|
6950
|
+
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6951
|
+
const responsiveGap = useResponsiveProp(gap);
|
|
6952
|
+
const responsiveDirection = useResponsiveProp(direction);
|
|
6953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
6954
|
+
StyledStack,
|
|
6955
|
+
{
|
|
6956
|
+
ref,
|
|
6957
|
+
$direction: responsiveDirection,
|
|
6958
|
+
$gap: responsiveGap,
|
|
6959
|
+
as: renderAs ?? DEFAULT_ELEMENT3,
|
|
6960
|
+
...props
|
|
6961
|
+
}
|
|
6962
|
+
);
|
|
6963
|
+
}
|
|
6964
|
+
);
|
|
6965
|
+
StackComponent.displayName = "Stack";
|
|
6966
|
+
var Stack = makePolymorphic(StackComponent);
|
|
6967
|
+
|
|
6384
6968
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
6385
|
-
var
|
|
6386
|
-
var
|
|
6387
|
-
var
|
|
6969
|
+
var import_styled_components37 = __toESM(require("styled-components"));
|
|
6970
|
+
var import_type_guards20 = require("@wistia/type-guards");
|
|
6971
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
6388
6972
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
6389
6973
|
if (iconOnly) {
|
|
6390
|
-
return /* @__PURE__ */ (0,
|
|
6974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6975
|
+
"g",
|
|
6976
|
+
{
|
|
6977
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6978
|
+
fill: brandmarkColor,
|
|
6979
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
6980
|
+
}
|
|
6981
|
+
);
|
|
6391
6982
|
}
|
|
6392
|
-
return /* @__PURE__ */ (0,
|
|
6983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6984
|
+
"g",
|
|
6985
|
+
{
|
|
6986
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6987
|
+
fill: brandmarkColor,
|
|
6988
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
6989
|
+
}
|
|
6990
|
+
);
|
|
6393
6991
|
};
|
|
6394
6992
|
var renderLogotype = (logotypeColor, iconOnly) => {
|
|
6395
6993
|
if (iconOnly) {
|
|
6396
6994
|
return null;
|
|
6397
6995
|
}
|
|
6398
|
-
return /* @__PURE__ */ (0,
|
|
6996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6997
|
+
"g",
|
|
6998
|
+
{
|
|
6999
|
+
"data-testid": "ui-wistia-logo-logotype",
|
|
7000
|
+
fill: logotypeColor,
|
|
7001
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
|
|
7002
|
+
}
|
|
7003
|
+
);
|
|
6399
7004
|
};
|
|
6400
7005
|
var computedViewBox = (iconOnly) => {
|
|
6401
7006
|
if (iconOnly) {
|
|
@@ -6403,7 +7008,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
6403
7008
|
}
|
|
6404
7009
|
return "0 0 144 31.47";
|
|
6405
7010
|
};
|
|
6406
|
-
var WistiaLogoComponent =
|
|
7011
|
+
var WistiaLogoComponent = import_styled_components37.default.svg`
|
|
6407
7012
|
height: ${({ height }) => `${height}px`};
|
|
6408
7013
|
|
|
6409
7014
|
/* ensure it will always fit on mobile */
|
|
@@ -6445,7 +7050,7 @@ var WistiaLogo = ({
|
|
|
6445
7050
|
};
|
|
6446
7051
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
6447
7052
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
6448
|
-
const Logo = /* @__PURE__ */ (0,
|
|
7053
|
+
const Logo = /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(
|
|
6449
7054
|
WistiaLogoComponent,
|
|
6450
7055
|
{
|
|
6451
7056
|
$hoverColor: hoverColor,
|
|
@@ -6455,14 +7060,14 @@ var WistiaLogo = ({
|
|
|
6455
7060
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6456
7061
|
...otherProps,
|
|
6457
7062
|
children: [
|
|
6458
|
-
/* @__PURE__ */ (0,
|
|
6459
|
-
(0,
|
|
7063
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)("title", { children: title }),
|
|
7064
|
+
(0, import_type_guards20.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("desc", { children: description }) : null,
|
|
6460
7065
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
6461
7066
|
renderLogotype(logotypeColor, iconOnly)
|
|
6462
7067
|
]
|
|
6463
7068
|
}
|
|
6464
7069
|
);
|
|
6465
|
-
return href !== void 0 ? /* @__PURE__ */ (0,
|
|
7070
|
+
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("a", { href, children: Logo }) : Logo;
|
|
6466
7071
|
};
|
|
6467
7072
|
WistiaLogo.displayName = "WistiaLogo";
|
|
6468
7073
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -6472,6 +7077,8 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
6472
7077
|
Box,
|
|
6473
7078
|
Button,
|
|
6474
7079
|
ButtonGroup,
|
|
7080
|
+
Checkbox,
|
|
7081
|
+
CheckboxMenuItem,
|
|
6475
7082
|
ColorSchemeWrapper,
|
|
6476
7083
|
Divider,
|
|
6477
7084
|
Ellipsis,
|
|
@@ -6480,8 +7087,16 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
6480
7087
|
IconButton,
|
|
6481
7088
|
Label,
|
|
6482
7089
|
Link,
|
|
7090
|
+
Menu,
|
|
7091
|
+
MenuItem,
|
|
7092
|
+
MenuItemDescription,
|
|
7093
|
+
MenuItemLabel,
|
|
7094
|
+
MenuLabel,
|
|
7095
|
+
MenuRadioGroup,
|
|
7096
|
+
RadioMenuItem,
|
|
6483
7097
|
ScreenReaderOnly,
|
|
6484
7098
|
Stack,
|
|
7099
|
+
SubMenu,
|
|
6485
7100
|
Text,
|
|
6486
7101
|
Tooltip,
|
|
6487
7102
|
UIProvider,
|