@wistia/ui 0.0.15 → 0.0.16
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 -189
- 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 -187
- 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.16
|
|
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,
|
|
@@ -5540,6 +5550,7 @@ var StyledButton = import_styled_components19.default.button`
|
|
|
5540
5550
|
${({ $unstyled }) => !$unstyled && buttonBaseStyles}
|
|
5541
5551
|
${({ $fullWidth }) => $fullWidth && "width: 100%;"}
|
|
5542
5552
|
position: relative;
|
|
5553
|
+
text-align: center;
|
|
5543
5554
|
`;
|
|
5544
5555
|
var StyledButtonContent = import_styled_components19.default.div`
|
|
5545
5556
|
align-items: center;
|
|
@@ -5555,7 +5566,6 @@ var StyledButtonContent = import_styled_components19.default.div`
|
|
|
5555
5566
|
`;
|
|
5556
5567
|
var StyledButtonContentLabel = import_styled_components19.default.span`
|
|
5557
5568
|
flex: 1;
|
|
5558
|
-
text-align: center;
|
|
5559
5569
|
`;
|
|
5560
5570
|
var StyledButtonLoading = import_styled_components19.default.div`
|
|
5561
5571
|
position: absolute;
|
|
@@ -5727,14 +5737,237 @@ var ButtonGroup = ({
|
|
|
5727
5737
|
};
|
|
5728
5738
|
ButtonGroup.displayName = "ButtonGroup";
|
|
5729
5739
|
|
|
5730
|
-
// src/components/
|
|
5740
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5741
|
+
var import_react11 = require("react");
|
|
5742
|
+
var import_react_checkbox = require("@radix-ui/react-checkbox");
|
|
5743
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
5744
|
+
var import_type_guards15 = require("@wistia/type-guards");
|
|
5745
|
+
|
|
5746
|
+
// src/components/Label/Label.tsx
|
|
5731
5747
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
5732
5748
|
var import_jsx_runtime164 = require("react/jsx-runtime");
|
|
5749
|
+
var requiredStyle = import_styled_components21.css`
|
|
5750
|
+
&::after {
|
|
5751
|
+
color: var(--color-text-error);
|
|
5752
|
+
display: inline;
|
|
5753
|
+
padding-left: var(--space-01);
|
|
5754
|
+
content: '*';
|
|
5755
|
+
}
|
|
5756
|
+
`;
|
|
5757
|
+
var disabledStyle = import_styled_components21.css`
|
|
5758
|
+
color: var(--color-text-disabled);
|
|
5759
|
+
`;
|
|
5760
|
+
var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
|
|
5761
|
+
var StyledLabel = import_styled_components21.default.label`
|
|
5762
|
+
display: inline-block;
|
|
5763
|
+
font-size: var(--typography-label-1-size);
|
|
5764
|
+
font-weight: var(--typography-label-1-weight);
|
|
5765
|
+
line-height: var(--typography-label-1-line-height);
|
|
5766
|
+
cursor: inherit;
|
|
5767
|
+
width: 100%;
|
|
5768
|
+
|
|
5769
|
+
/* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
|
|
5770
|
+
> input,
|
|
5771
|
+
> textarea,
|
|
5772
|
+
> select {
|
|
5773
|
+
display: block;
|
|
5774
|
+
margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5777
|
+
> label {
|
|
5778
|
+
font-weight: normal;
|
|
5779
|
+
}
|
|
5780
|
+
|
|
5781
|
+
${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
|
|
5782
|
+
${({ disabled }) => disabled && disabledStyle}
|
|
5783
|
+
${({ required }) => required && requiredStyle}
|
|
5784
|
+
`;
|
|
5785
|
+
var Label = ({
|
|
5786
|
+
children,
|
|
5787
|
+
disabled = false,
|
|
5788
|
+
htmlFor,
|
|
5789
|
+
required = false,
|
|
5790
|
+
screenReaderOnly = false,
|
|
5791
|
+
...otherProps
|
|
5792
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
|
|
5793
|
+
StyledLabel,
|
|
5794
|
+
{
|
|
5795
|
+
$screenReaderOnly: screenReaderOnly,
|
|
5796
|
+
disabled,
|
|
5797
|
+
htmlFor,
|
|
5798
|
+
required,
|
|
5799
|
+
...otherProps,
|
|
5800
|
+
children
|
|
5801
|
+
}
|
|
5802
|
+
);
|
|
5803
|
+
Label.displayName = "Label";
|
|
5804
|
+
|
|
5805
|
+
// src/components/Label/LabelDescription.tsx
|
|
5806
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
5807
|
+
var import_type_guards14 = require("@wistia/type-guards");
|
|
5808
|
+
var import_jsx_runtime165 = require("react/jsx-runtime");
|
|
5809
|
+
var StyledLabelDescription = import_styled_components22.default.div`
|
|
5810
|
+
color: var(--color-text-secondary);
|
|
5811
|
+
font-size: var(--typography-body-4-size);
|
|
5812
|
+
font-weight: var(--typography-body-4-weight);
|
|
5813
|
+
line-height: var(--typography-body-4-line-height);
|
|
5814
|
+
`;
|
|
5815
|
+
var LabelDescription = ({
|
|
5816
|
+
children,
|
|
5817
|
+
...props
|
|
5818
|
+
}) => {
|
|
5819
|
+
if ((0, import_type_guards14.isNil)(children)) {
|
|
5820
|
+
return null;
|
|
5821
|
+
}
|
|
5822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(StyledLabelDescription, { ...props, children });
|
|
5823
|
+
};
|
|
5824
|
+
LabelDescription.displayName = "LabelDescription";
|
|
5825
|
+
|
|
5826
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5827
|
+
var import_jsx_runtime166 = require("react/jsx-runtime");
|
|
5828
|
+
var CheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5829
|
+
"svg",
|
|
5830
|
+
{
|
|
5831
|
+
fill: "inherit",
|
|
5832
|
+
height: "8",
|
|
5833
|
+
viewBox: "0 0 10 8",
|
|
5834
|
+
width: "10",
|
|
5835
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5836
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5837
|
+
"path",
|
|
5838
|
+
{
|
|
5839
|
+
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",
|
|
5840
|
+
fill: "white"
|
|
5841
|
+
}
|
|
5842
|
+
)
|
|
5843
|
+
}
|
|
5844
|
+
);
|
|
5845
|
+
var StyledCheckboxWrapper = import_styled_components23.default.div`
|
|
5846
|
+
display: flex;
|
|
5847
|
+
align-items: center;
|
|
5848
|
+
cursor: pointer;
|
|
5849
|
+
padding: var(--space-02);
|
|
5850
|
+
|
|
5851
|
+
&:hover {
|
|
5852
|
+
/* TODO Lamp to design hover state */
|
|
5853
|
+
}
|
|
5854
|
+
|
|
5855
|
+
&:focus-within {
|
|
5856
|
+
/* TODO Lamp to design focus state */
|
|
5857
|
+
background-color: #efefef;
|
|
5858
|
+
}
|
|
5859
|
+
`;
|
|
5860
|
+
var StyledCheckboxRoot = (0, import_styled_components23.default)(import_react_checkbox.Root)`
|
|
5861
|
+
all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
|
|
5862
|
+
background-color: var(--color-bg-fill-white);
|
|
5863
|
+
min-width: 16px;
|
|
5864
|
+
min-height: 16px;
|
|
5865
|
+
border-radius: var(--border-radius-01);
|
|
5866
|
+
border-width: 1px;
|
|
5867
|
+
border-style: solid;
|
|
5868
|
+
border-color: var(--color-border);
|
|
5869
|
+
display: flex;
|
|
5870
|
+
align-items: center;
|
|
5871
|
+
justify-content: center;
|
|
5872
|
+
align-self: start; /* align to the top to handle label descriptions */
|
|
5873
|
+
margin-top: 3px; /* bump down slightly to mimic "align-self: center" */
|
|
5874
|
+
|
|
5875
|
+
&[data-state='checked'] {
|
|
5876
|
+
background-color: var(--color-bg-fill);
|
|
5877
|
+
}
|
|
5878
|
+
|
|
5879
|
+
&[disabled] {
|
|
5880
|
+
background-color: var(--color-bg-surface-disabled);
|
|
5881
|
+
|
|
5882
|
+
svg path {
|
|
5883
|
+
fill: var(--color-icon-disabled);
|
|
5884
|
+
}
|
|
5885
|
+
}
|
|
5886
|
+
|
|
5887
|
+
&:hover {
|
|
5888
|
+
/* TODO Lamp to design hover state */
|
|
5889
|
+
}
|
|
5890
|
+
|
|
5891
|
+
&:focus {
|
|
5892
|
+
/* TODO Lamp to design focus state */
|
|
5893
|
+
}
|
|
5894
|
+
`;
|
|
5895
|
+
var StyledCheckboxIndicator = (0, import_styled_components23.default)(import_react_checkbox.Indicator)`
|
|
5896
|
+
display: flex;
|
|
5897
|
+
`;
|
|
5898
|
+
var StyledLabelWrapper = import_styled_components23.default.div`
|
|
5899
|
+
display: flex;
|
|
5900
|
+
flex-direction: column;
|
|
5901
|
+
padding-left: var(--space-02);
|
|
5902
|
+
`;
|
|
5903
|
+
var Checkbox = (0, import_react11.forwardRef)(
|
|
5904
|
+
({
|
|
5905
|
+
checked,
|
|
5906
|
+
disabled = false,
|
|
5907
|
+
forceState,
|
|
5908
|
+
id,
|
|
5909
|
+
label = "default",
|
|
5910
|
+
description,
|
|
5911
|
+
name,
|
|
5912
|
+
onChange,
|
|
5913
|
+
required = false,
|
|
5914
|
+
value = "false",
|
|
5915
|
+
...otherProps
|
|
5916
|
+
}, ref) => {
|
|
5917
|
+
const generatedId = (0, import_react11.useId)();
|
|
5918
|
+
const computedId = (0, import_type_guards15.isNonEmptyString)(id) ? id : `vhs-collapsible-group-${generatedId}`;
|
|
5919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledCheckboxWrapper, { children: [
|
|
5920
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5921
|
+
StyledCheckboxRoot,
|
|
5922
|
+
{
|
|
5923
|
+
ref,
|
|
5924
|
+
checked: checked ?? void 0,
|
|
5925
|
+
defaultChecked: checked === void 0 ? false : void 0,
|
|
5926
|
+
disabled,
|
|
5927
|
+
id: computedId,
|
|
5928
|
+
name,
|
|
5929
|
+
onCheckedChange: (state) => {
|
|
5930
|
+
if (onChange) {
|
|
5931
|
+
const syntheticEvent = {
|
|
5932
|
+
target: {
|
|
5933
|
+
id: computedId,
|
|
5934
|
+
checked: state === true
|
|
5935
|
+
}
|
|
5936
|
+
};
|
|
5937
|
+
onChange(syntheticEvent);
|
|
5938
|
+
}
|
|
5939
|
+
},
|
|
5940
|
+
required,
|
|
5941
|
+
value,
|
|
5942
|
+
...otherProps,
|
|
5943
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(StyledCheckboxIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(CheckIcon, {}) })
|
|
5944
|
+
}
|
|
5945
|
+
),
|
|
5946
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsxs)(StyledLabelWrapper, { children: [
|
|
5947
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(
|
|
5948
|
+
Label,
|
|
5949
|
+
{
|
|
5950
|
+
disabled,
|
|
5951
|
+
htmlFor: computedId,
|
|
5952
|
+
required,
|
|
5953
|
+
children: label
|
|
5954
|
+
}
|
|
5955
|
+
),
|
|
5956
|
+
/* @__PURE__ */ (0, import_jsx_runtime166.jsx)(LabelDescription, { children: description })
|
|
5957
|
+
] })
|
|
5958
|
+
] });
|
|
5959
|
+
}
|
|
5960
|
+
);
|
|
5961
|
+
Checkbox.displayName = "Checkbox";
|
|
5962
|
+
|
|
5963
|
+
// src/components/Divider/Divider.tsx
|
|
5964
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
5965
|
+
var import_jsx_runtime167 = require("react/jsx-runtime");
|
|
5733
5966
|
var sizeToPixelMap = {
|
|
5734
5967
|
lg: 4,
|
|
5735
5968
|
sm: 1
|
|
5736
5969
|
};
|
|
5737
|
-
var DividerComponent =
|
|
5970
|
+
var DividerComponent = import_styled_components24.default.hr`
|
|
5738
5971
|
background: none;
|
|
5739
5972
|
border-bottom: none;
|
|
5740
5973
|
border-left: none;
|
|
@@ -5749,7 +5982,7 @@ var DividerComponent = import_styled_components21.default.hr`
|
|
|
5749
5982
|
`;
|
|
5750
5983
|
var Divider = ({ size = "sm", ...otherProps }) => {
|
|
5751
5984
|
const responsiveSize = useResponsiveProp(size);
|
|
5752
|
-
return /* @__PURE__ */ (0,
|
|
5985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
5753
5986
|
DividerComponent,
|
|
5754
5987
|
{
|
|
5755
5988
|
$borderHeight: sizeToPixelMap[responsiveSize],
|
|
@@ -5760,10 +5993,10 @@ var Divider = ({ size = "sm", ...otherProps }) => {
|
|
|
5760
5993
|
Divider.displayName = "Divider";
|
|
5761
5994
|
|
|
5762
5995
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
5763
|
-
var
|
|
5764
|
-
var
|
|
5765
|
-
var
|
|
5766
|
-
var ellipsisStyle =
|
|
5996
|
+
var import_type_guards16 = require("@wistia/type-guards");
|
|
5997
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
5998
|
+
var import_jsx_runtime168 = require("react/jsx-runtime");
|
|
5999
|
+
var ellipsisStyle = import_styled_components25.css`
|
|
5767
6000
|
overflow: hidden;
|
|
5768
6001
|
text-overflow: ellipsis;
|
|
5769
6002
|
white-space: nowrap;
|
|
@@ -5786,14 +6019,14 @@ var ellipsisStyle = import_styled_components22.css`
|
|
|
5786
6019
|
}
|
|
5787
6020
|
}
|
|
5788
6021
|
`;
|
|
5789
|
-
var ellipsisFlexParentStyle =
|
|
6022
|
+
var ellipsisFlexParentStyle = import_styled_components25.css`
|
|
5790
6023
|
min-width: 0;
|
|
5791
6024
|
`;
|
|
5792
|
-
var EllipsisComponent =
|
|
6025
|
+
var EllipsisComponent = import_styled_components25.default.div`
|
|
5793
6026
|
${ellipsisStyle};
|
|
5794
6027
|
${({ $lines }) => {
|
|
5795
|
-
if ((0,
|
|
5796
|
-
return
|
|
6028
|
+
if ((0, import_type_guards16.isNotNil)($lines)) {
|
|
6029
|
+
return import_styled_components25.css`
|
|
5797
6030
|
-webkit-box-orient: vertical;
|
|
5798
6031
|
-webkit-line-clamp: ${$lines};
|
|
5799
6032
|
display: -webkit-box;
|
|
@@ -5803,7 +6036,7 @@ var EllipsisComponent = import_styled_components22.default.div`
|
|
|
5803
6036
|
return void 0;
|
|
5804
6037
|
}}
|
|
5805
6038
|
`;
|
|
5806
|
-
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0,
|
|
6039
|
+
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
|
|
5807
6040
|
EllipsisComponent,
|
|
5808
6041
|
{
|
|
5809
6042
|
$lines: lines,
|
|
@@ -5814,8 +6047,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ (0, impor
|
|
|
5814
6047
|
Ellipsis.displayName = "Ellipsis";
|
|
5815
6048
|
|
|
5816
6049
|
// src/components/Heading/Heading.tsx
|
|
5817
|
-
var
|
|
5818
|
-
var
|
|
6050
|
+
var import_react12 = require("react");
|
|
6051
|
+
var import_styled_components26 = __toESM(require("styled-components"));
|
|
5819
6052
|
|
|
5820
6053
|
// src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
5821
6054
|
var makePolymorphic = (component) => {
|
|
@@ -5823,44 +6056,44 @@ var makePolymorphic = (component) => {
|
|
|
5823
6056
|
};
|
|
5824
6057
|
|
|
5825
6058
|
// src/components/Heading/Heading.tsx
|
|
5826
|
-
var
|
|
5827
|
-
var heroStyle =
|
|
6059
|
+
var import_jsx_runtime169 = require("react/jsx-runtime");
|
|
6060
|
+
var heroStyle = import_styled_components26.css`
|
|
5828
6061
|
--font-family: var(--typography-heading-hero-family);
|
|
5829
6062
|
--font-size: var(--typography-heading-hero-size);
|
|
5830
6063
|
--font-weight: var(--typography-heading-hero-weight);
|
|
5831
6064
|
--line-height: var(--typography-heading-hero-line-height);
|
|
5832
6065
|
`;
|
|
5833
|
-
var heading1TextStyle =
|
|
6066
|
+
var heading1TextStyle = import_styled_components26.css`
|
|
5834
6067
|
--font-family: var(--typography-heading-1-family);
|
|
5835
6068
|
--font-size: var(--typography-heading-1-size);
|
|
5836
6069
|
--font-weight: var(--typography-heading-1-weight);
|
|
5837
6070
|
--line-height: var(--typography-heading-1-line-height);
|
|
5838
6071
|
`;
|
|
5839
|
-
var heading2TextStyle =
|
|
6072
|
+
var heading2TextStyle = import_styled_components26.css`
|
|
5840
6073
|
--font-family: var(--typography-heading-2-family);
|
|
5841
6074
|
--font-size: var(--typography-heading-2-size);
|
|
5842
6075
|
--font-weight: var(--typography-heading-2-weight);
|
|
5843
6076
|
--line-height: var(--typography-heading-2-line-height);
|
|
5844
6077
|
`;
|
|
5845
|
-
var heading3TextStyle =
|
|
6078
|
+
var heading3TextStyle = import_styled_components26.css`
|
|
5846
6079
|
--font-family: var(--typography-heading-3-family);
|
|
5847
6080
|
--font-size: var(--typography-heading-3-size);
|
|
5848
6081
|
--font-weight: var(--typography-heading-3-weight);
|
|
5849
6082
|
--line-height: var(--typography-heading-3-line-height);
|
|
5850
6083
|
`;
|
|
5851
|
-
var heading4TextStyle =
|
|
6084
|
+
var heading4TextStyle = import_styled_components26.css`
|
|
5852
6085
|
--font-family: var(--typography-heading-4-family);
|
|
5853
6086
|
--font-size: var(--typography-heading-4-size);
|
|
5854
6087
|
--font-weight: var(--typography-heading-4-weight);
|
|
5855
6088
|
--line-height: var(--typography-heading-4-line-height);
|
|
5856
6089
|
`;
|
|
5857
|
-
var heading5TextStyle =
|
|
6090
|
+
var heading5TextStyle = import_styled_components26.css`
|
|
5858
6091
|
--font-family: var(--typography-heading-5-family);
|
|
5859
6092
|
--font-size: var(--typography-heading-5-size);
|
|
5860
6093
|
--font-weight: var(--typography-heading-5-weight);
|
|
5861
6094
|
--line-height: var(--typography-heading-5-line-height);
|
|
5862
6095
|
`;
|
|
5863
|
-
var heading6TextStyle =
|
|
6096
|
+
var heading6TextStyle = import_styled_components26.css`
|
|
5864
6097
|
--font-family: var(--typography-heading-6-family);
|
|
5865
6098
|
--font-size: var(--typography-heading-6-size);
|
|
5866
6099
|
--font-weight: var(--typography-heading-6-weight);
|
|
@@ -5876,7 +6109,7 @@ var variantStyleMap = {
|
|
|
5876
6109
|
heading6: heading6TextStyle
|
|
5877
6110
|
};
|
|
5878
6111
|
var DEFAULT_ELEMENT = "h1";
|
|
5879
|
-
var StyledHeading =
|
|
6112
|
+
var StyledHeading = import_styled_components26.default.div`
|
|
5880
6113
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
5881
6114
|
font-family: var(--font-family);
|
|
5882
6115
|
font-size: var(--font-size);
|
|
@@ -5885,16 +6118,16 @@ var StyledHeading = import_styled_components23.default.div`
|
|
|
5885
6118
|
color: var(--color-text);
|
|
5886
6119
|
${({ $variant }) => variantStyleMap[$variant]}
|
|
5887
6120
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
5888
|
-
${({ $inline }) => $inline &&
|
|
6121
|
+
${({ $inline }) => $inline && import_styled_components26.css`
|
|
5889
6122
|
display: inline-block;
|
|
5890
6123
|
`}
|
|
5891
|
-
${({ $disabled }) => $disabled &&
|
|
6124
|
+
${({ $disabled }) => $disabled && import_styled_components26.css`
|
|
5892
6125
|
color: var(--color-text-disabled);
|
|
5893
6126
|
`}
|
|
5894
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6127
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components26.css`
|
|
5895
6128
|
user-select: none;
|
|
5896
6129
|
`}
|
|
5897
|
-
${({ $align }) =>
|
|
6130
|
+
${({ $align }) => import_styled_components26.css`
|
|
5898
6131
|
text-align: ${$align};
|
|
5899
6132
|
`}
|
|
5900
6133
|
margin: 0;
|
|
@@ -5908,7 +6141,7 @@ var variantElementMap = {
|
|
|
5908
6141
|
heading5: "h5",
|
|
5909
6142
|
heading6: "h6"
|
|
5910
6143
|
};
|
|
5911
|
-
var HeadingComponent = (0,
|
|
6144
|
+
var HeadingComponent = (0, import_react12.forwardRef)(
|
|
5912
6145
|
({
|
|
5913
6146
|
align = "left",
|
|
5914
6147
|
colorScheme = "inherit",
|
|
@@ -5919,7 +6152,7 @@ var HeadingComponent = (0, import_react11.forwardRef)(
|
|
|
5919
6152
|
variant = "heading1",
|
|
5920
6153
|
renderAs,
|
|
5921
6154
|
...otherProps
|
|
5922
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
6155
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
|
|
5923
6156
|
StyledHeading,
|
|
5924
6157
|
{
|
|
5925
6158
|
ref,
|
|
@@ -5939,21 +6172,21 @@ HeadingComponent.displayName = "Heading";
|
|
|
5939
6172
|
var Heading = makePolymorphic(HeadingComponent);
|
|
5940
6173
|
|
|
5941
6174
|
// src/components/IconButton/IconButton.tsx
|
|
5942
|
-
var
|
|
5943
|
-
var
|
|
6175
|
+
var import_react13 = require("react");
|
|
6176
|
+
var import_styled_components28 = __toESM(require("styled-components"));
|
|
5944
6177
|
|
|
5945
6178
|
// src/components/Tooltip/Tooltip.tsx
|
|
5946
6179
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
5947
|
-
var
|
|
5948
|
-
var
|
|
5949
|
-
var CompactTooltipStyles =
|
|
6180
|
+
var import_styled_components27 = __toESM(require("styled-components"));
|
|
6181
|
+
var import_jsx_runtime170 = require("react/jsx-runtime");
|
|
6182
|
+
var CompactTooltipStyles = import_styled_components27.css`
|
|
5950
6183
|
--tooltip-font-size: var(--typography-label-4-size);
|
|
5951
6184
|
--tooltip-line-height: var(--typography-label-4-line-height);
|
|
5952
6185
|
--tooltip-font-weight: var(--typography-label-4-weight);
|
|
5953
6186
|
--tooltip-horizontal-padding: var(--space-02);
|
|
5954
6187
|
--tooltip-vertical-padding: var(--space-03);
|
|
5955
6188
|
`;
|
|
5956
|
-
var StyledContent = (0,
|
|
6189
|
+
var StyledContent = (0, import_styled_components27.default)(import_react_tooltip2.Content)`
|
|
5957
6190
|
--tooltip-font-family: var(--typography-family-default);
|
|
5958
6191
|
--tooltip-border-radius: var(--border-radius-05);
|
|
5959
6192
|
--tooltip-bg: var(--color-bg-tooltip);
|
|
@@ -6011,14 +6244,14 @@ var Tooltip = ({
|
|
|
6011
6244
|
if (forceOpen === true) {
|
|
6012
6245
|
rootProps.open = true;
|
|
6013
6246
|
}
|
|
6014
|
-
return /* @__PURE__ */ (0,
|
|
6247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
|
|
6015
6248
|
import_react_tooltip2.Root,
|
|
6016
6249
|
{
|
|
6017
6250
|
delayDuration: delay,
|
|
6018
6251
|
...rootProps,
|
|
6019
6252
|
children: [
|
|
6020
|
-
/* @__PURE__ */ (0,
|
|
6021
|
-
/* @__PURE__ */ (0,
|
|
6253
|
+
/* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Trigger, { asChild: true, children }),
|
|
6254
|
+
/* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)(
|
|
6022
6255
|
StyledContent,
|
|
6023
6256
|
{
|
|
6024
6257
|
$compact: compact,
|
|
@@ -6026,7 +6259,7 @@ var Tooltip = ({
|
|
|
6026
6259
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
6027
6260
|
children: [
|
|
6028
6261
|
content,
|
|
6029
|
-
!hideArrow ? /* @__PURE__ */ (0,
|
|
6262
|
+
!hideArrow ? /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(import_react_tooltip2.Arrow, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
|
|
6030
6263
|
"svg",
|
|
6031
6264
|
{
|
|
6032
6265
|
fill: "var(--tooltip-bg)",
|
|
@@ -6035,7 +6268,7 @@ var Tooltip = ({
|
|
|
6035
6268
|
viewBox: "0 0 12 8",
|
|
6036
6269
|
width: "12",
|
|
6037
6270
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6038
|
-
children: /* @__PURE__ */ (0,
|
|
6271
|
+
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
6272
|
}
|
|
6040
6273
|
) }) : null
|
|
6041
6274
|
]
|
|
@@ -6048,8 +6281,8 @@ var Tooltip = ({
|
|
|
6048
6281
|
Tooltip.displayName = "Tooltip";
|
|
6049
6282
|
|
|
6050
6283
|
// src/components/IconButton/IconButton.tsx
|
|
6051
|
-
var
|
|
6052
|
-
var StyledButton2 = (0,
|
|
6284
|
+
var import_jsx_runtime171 = require("react/jsx-runtime");
|
|
6285
|
+
var StyledButton2 = (0, import_styled_components28.default)(Button)`
|
|
6053
6286
|
--icon-button-size-sm: 24px;
|
|
6054
6287
|
--icon-button-size-md: 32px;
|
|
6055
6288
|
--icon-button-size-lg: 40px;
|
|
@@ -6063,10 +6296,10 @@ var StyledButton2 = (0, import_styled_components25.default)(Button)`
|
|
|
6063
6296
|
align-items: center;
|
|
6064
6297
|
line-height: 1;
|
|
6065
6298
|
`;
|
|
6066
|
-
var IconButton = (0,
|
|
6299
|
+
var IconButton = (0, import_react13.forwardRef)(
|
|
6067
6300
|
({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
|
|
6068
6301
|
const responsiveSize = useResponsiveProp(size);
|
|
6069
|
-
const button = /* @__PURE__ */ (0,
|
|
6302
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
|
|
6070
6303
|
StyledButton2,
|
|
6071
6304
|
{
|
|
6072
6305
|
...props,
|
|
@@ -6074,7 +6307,7 @@ var IconButton = (0, import_react12.forwardRef)(
|
|
|
6074
6307
|
"aria-label": label,
|
|
6075
6308
|
"data-wistia-ui-icon-button": true,
|
|
6076
6309
|
size: responsiveSize,
|
|
6077
|
-
children: (0,
|
|
6310
|
+
children: (0, import_react13.cloneElement)(import_react13.Children.only(children), {
|
|
6078
6311
|
size: responsiveSize
|
|
6079
6312
|
})
|
|
6080
6313
|
}
|
|
@@ -6082,211 +6315,212 @@ var IconButton = (0, import_react12.forwardRef)(
|
|
|
6082
6315
|
if (disableTooltip) {
|
|
6083
6316
|
return button;
|
|
6084
6317
|
}
|
|
6085
|
-
return /* @__PURE__ */ (0,
|
|
6318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(Tooltip, { content: label, children: button });
|
|
6086
6319
|
}
|
|
6087
6320
|
);
|
|
6088
6321
|
IconButton.displayName = "IconButton";
|
|
6089
6322
|
|
|
6090
|
-
// src/components/
|
|
6091
|
-
var
|
|
6092
|
-
var
|
|
6093
|
-
var
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6323
|
+
// src/components/Menu/Menu.tsx
|
|
6324
|
+
var import_styled_components29 = __toESM(require("styled-components"));
|
|
6325
|
+
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
6326
|
+
var import_type_guards17 = require("@wistia/type-guards");
|
|
6327
|
+
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
6328
|
+
var open = import_styled_components29.keyframes`
|
|
6329
|
+
from {
|
|
6330
|
+
opacity: 0;
|
|
6331
|
+
transform: scale(.97) translateY(-8px);
|
|
6332
|
+
}
|
|
6333
|
+
to {
|
|
6334
|
+
opacity: 1;
|
|
6335
|
+
transform: scale(1);
|
|
6099
6336
|
}
|
|
6100
6337
|
`;
|
|
6101
|
-
var
|
|
6102
|
-
|
|
6338
|
+
var close = import_styled_components29.keyframes`
|
|
6339
|
+
from {
|
|
6340
|
+
opacity: 1;
|
|
6341
|
+
transform: scale(1);
|
|
6342
|
+
}
|
|
6343
|
+
to {
|
|
6344
|
+
opacity: 0;
|
|
6345
|
+
transform: scale(.97) translateY(-8px);
|
|
6346
|
+
}
|
|
6103
6347
|
`;
|
|
6104
|
-
var
|
|
6105
|
-
var
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6119
|
-
|
|
6348
|
+
var menuContentCss = import_styled_components29.css`
|
|
6349
|
+
--menu-font-family: var(--typography-family-default);
|
|
6350
|
+
--menu-bg: var(--color-bg-fill-white); /* TODO - Not sure what token to use for this */
|
|
6351
|
+
--menu-shadow: 0 0 64px 0 rgba(0 0 0 / 8%); /* TODO - Need a box-shadow token */
|
|
6352
|
+
--menu-border-radius: var(--border-radius-01);
|
|
6353
|
+
--menu-padding: var(--space-03);
|
|
6354
|
+
--menu-min-width: 120px;
|
|
6355
|
+
--menu-max-width: 284px;
|
|
6356
|
+
--menu-zindex: 500; /* TODO - need z-index token */
|
|
6357
|
+
|
|
6358
|
+
animation: ${open}; /* TODO - need easing tokens */
|
|
6359
|
+
font-family: var(--menu-font-family);
|
|
6360
|
+
background: var(--menu-bg);
|
|
6361
|
+
border-radius: var(--menu-border-radius);
|
|
6362
|
+
box-shadow: var(--menu-shadow); /* TODO - Need a box-shadow token */
|
|
6363
|
+
max-height: var(--radix-dropdown-menu-content-available-height);
|
|
6364
|
+
min-width: var(--menu-min-width);
|
|
6365
|
+
max-width: var(--menu-max-width);
|
|
6366
|
+
overflow: auto;
|
|
6367
|
+
padding: var(--menu-padding);
|
|
6368
|
+
transform-origin: var(--radix-dropdown-menu-content-transform-origin);
|
|
6369
|
+
z-index: var(--menu-zindex);
|
|
6370
|
+
|
|
6371
|
+
&[data-state='closed'] {
|
|
6372
|
+
animation: ${close}; /* TODO - need easing tokens */
|
|
6120
6373
|
}
|
|
6121
6374
|
|
|
6122
|
-
|
|
6123
|
-
|
|
6375
|
+
${mq.smAndUp} {
|
|
6376
|
+
bottom: 0;
|
|
6377
|
+
padding: var(--menu-padding);
|
|
6378
|
+
right: 0;
|
|
6379
|
+
top: 0;
|
|
6380
|
+
transform: initial;
|
|
6124
6381
|
}
|
|
6125
6382
|
|
|
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
|
|
6383
|
+
hr {
|
|
6384
|
+
margin: var(--space-02) 0;
|
|
6146
6385
|
}
|
|
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,
|
|
6386
|
+
`;
|
|
6387
|
+
var MenuContent = (0, import_styled_components29.default)(import_react_dropdown_menu.DropdownMenuContent)`
|
|
6388
|
+
${menuContentCss}
|
|
6389
|
+
`;
|
|
6390
|
+
var Menu = ({
|
|
6391
|
+
align = "start",
|
|
6160
6392
|
children,
|
|
6161
|
-
|
|
6162
|
-
|
|
6393
|
+
trigger,
|
|
6394
|
+
label,
|
|
6395
|
+
isOpen,
|
|
6396
|
+
triggerProps = {},
|
|
6397
|
+
onOpenChange,
|
|
6398
|
+
onInteractOutside,
|
|
6399
|
+
...props
|
|
6163
6400
|
}) => {
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime172.jsxs)(
|
|
6402
|
+
import_react_dropdown_menu.DropdownMenu,
|
|
6403
|
+
{
|
|
6404
|
+
modal: false,
|
|
6405
|
+
...(0, import_type_guards17.isNotNil)(onOpenChange) && (0, import_type_guards17.isNotNil)(isOpen) ? { open: isOpen, onOpenChange } : {},
|
|
6406
|
+
children: [
|
|
6407
|
+
/* @__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)(
|
|
6408
|
+
Button,
|
|
6409
|
+
{
|
|
6410
|
+
"aria-expanded": isOpen,
|
|
6411
|
+
forceState: isOpen ? "active" : void 0,
|
|
6412
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(Icon, { type: "caret-down" }),
|
|
6413
|
+
...triggerProps,
|
|
6414
|
+
children: label
|
|
6415
|
+
}
|
|
6416
|
+
) }),
|
|
6417
|
+
/* @__PURE__ */ (0, import_jsx_runtime172.jsx)(import_react_dropdown_menu.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime172.jsx)(
|
|
6418
|
+
MenuContent,
|
|
6419
|
+
{
|
|
6420
|
+
...props,
|
|
6421
|
+
align,
|
|
6422
|
+
onFocusOutside: (event) => {
|
|
6423
|
+
event.preventDefault();
|
|
6424
|
+
},
|
|
6425
|
+
sideOffset: 6,
|
|
6426
|
+
children
|
|
6427
|
+
}
|
|
6428
|
+
) })
|
|
6429
|
+
]
|
|
6430
|
+
}
|
|
6431
|
+
);
|
|
6169
6432
|
};
|
|
6170
|
-
|
|
6433
|
+
Menu.displayName = "Menu";
|
|
6171
6434
|
|
|
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);
|
|
6435
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6436
|
+
var import_styled_components31 = __toESM(require("styled-components"));
|
|
6437
|
+
var import_react_dropdown_menu2 = require("@radix-ui/react-dropdown-menu");
|
|
6204
6438
|
|
|
6205
6439
|
// src/components/Text/Text.tsx
|
|
6206
6440
|
var import_react14 = require("react");
|
|
6207
|
-
var
|
|
6208
|
-
var
|
|
6209
|
-
var bodyBoldStyles =
|
|
6441
|
+
var import_styled_components30 = __toESM(require("styled-components"));
|
|
6442
|
+
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
6443
|
+
var bodyBoldStyles = import_styled_components30.css`
|
|
6210
6444
|
> strong,
|
|
6211
6445
|
b {
|
|
6212
6446
|
font-weight: var(--typography-weight-body-bold);
|
|
6213
6447
|
}
|
|
6214
6448
|
`;
|
|
6215
|
-
var labelBoldStyles =
|
|
6449
|
+
var labelBoldStyles = import_styled_components30.css`
|
|
6216
6450
|
> strong,
|
|
6217
6451
|
b {
|
|
6218
6452
|
font-weight: var(--typography-weight-label-bold);
|
|
6219
6453
|
}
|
|
6220
6454
|
`;
|
|
6221
|
-
var body1TextStyle =
|
|
6455
|
+
var body1TextStyle = import_styled_components30.css`
|
|
6222
6456
|
--font-family: var(--typography-body-1-family);
|
|
6223
6457
|
--font-size: var(--typography-body-1-size);
|
|
6224
6458
|
--font-weight: var(--typography-body-1-weight);
|
|
6225
6459
|
--line-height: var(--typography-body-1-line-height);
|
|
6226
6460
|
${bodyBoldStyles}
|
|
6227
6461
|
`;
|
|
6228
|
-
var body2TextStyle =
|
|
6462
|
+
var body2TextStyle = import_styled_components30.css`
|
|
6229
6463
|
--font-family: var(--typography-body-2-family);
|
|
6230
6464
|
--font-size: var(--typography-body-2-size);
|
|
6231
6465
|
--font-weight: var(--typography-body-2-weight);
|
|
6232
6466
|
--line-height: var(--typography-body-2-line-height);
|
|
6233
6467
|
${bodyBoldStyles}
|
|
6234
6468
|
`;
|
|
6235
|
-
var body3TextStyle =
|
|
6469
|
+
var body3TextStyle = import_styled_components30.css`
|
|
6236
6470
|
--font-family: var(--typography-body-3-family);
|
|
6237
6471
|
--font-size: var(--typography-body-3-size);
|
|
6238
6472
|
--font-weight: var(--typography-body-3-weight);
|
|
6239
6473
|
--line-height: var(--typography-body-3-line-height);
|
|
6240
6474
|
${bodyBoldStyles}
|
|
6241
6475
|
`;
|
|
6242
|
-
var body4TextStyle =
|
|
6476
|
+
var body4TextStyle = import_styled_components30.css`
|
|
6243
6477
|
--font-family: var(--typography-body-4-family);
|
|
6244
6478
|
--font-size: var(--typography-body-4-size);
|
|
6245
6479
|
--font-weight: var(--typography-body-4-weight);
|
|
6246
6480
|
--line-height: var(--typography-body-4-line-height);
|
|
6247
6481
|
${bodyBoldStyles}
|
|
6248
6482
|
`;
|
|
6249
|
-
var label1TextStyle =
|
|
6483
|
+
var label1TextStyle = import_styled_components30.css`
|
|
6250
6484
|
--font-family: var(--typography-label-1-family);
|
|
6251
6485
|
--font-size: var(--typography-label-1-size);
|
|
6252
6486
|
--font-weight: var(--typography-label-1-weight);
|
|
6253
6487
|
--line-height: var(--typography-label-1-line-height);
|
|
6254
6488
|
${labelBoldStyles}
|
|
6255
6489
|
`;
|
|
6256
|
-
var label2TextStyle =
|
|
6490
|
+
var label2TextStyle = import_styled_components30.css`
|
|
6257
6491
|
--font-family: var(--typography-label-2-family);
|
|
6258
6492
|
--font-size: var(--typography-label-2-size);
|
|
6259
6493
|
--font-weight: var(--typography-label-2-weight);
|
|
6260
6494
|
--line-height: var(--typography-label-2-line-height);
|
|
6261
6495
|
${labelBoldStyles}
|
|
6262
6496
|
`;
|
|
6263
|
-
var label3TextStyle =
|
|
6497
|
+
var label3TextStyle = import_styled_components30.css`
|
|
6264
6498
|
--font-family: var(--typography-label-3-family);
|
|
6265
6499
|
--font-size: var(--typography-label-3-size);
|
|
6266
6500
|
--font-weight: var(--typography-label-3-weight);
|
|
6267
6501
|
--line-height: var(--typography-label-3-line-height);
|
|
6268
6502
|
${labelBoldStyles}
|
|
6269
6503
|
`;
|
|
6270
|
-
var label4TextStyle =
|
|
6504
|
+
var label4TextStyle = import_styled_components30.css`
|
|
6271
6505
|
--font-family: var(--typography-label-4-family);
|
|
6272
6506
|
--font-size: var(--typography-label-4-size);
|
|
6273
6507
|
--font-weight: var(--typography-label-4-weight);
|
|
6274
6508
|
--line-height: var(--typography-label-4-line-height);
|
|
6275
6509
|
${labelBoldStyles}
|
|
6276
6510
|
`;
|
|
6277
|
-
var body1MonoTextStyle =
|
|
6511
|
+
var body1MonoTextStyle = import_styled_components30.css`
|
|
6278
6512
|
${body1TextStyle};
|
|
6279
6513
|
--font-family: var(--typography-family-mono);
|
|
6280
6514
|
`;
|
|
6281
|
-
var body2MonoTextStyle =
|
|
6515
|
+
var body2MonoTextStyle = import_styled_components30.css`
|
|
6282
6516
|
${body2TextStyle};
|
|
6283
6517
|
--font-family: var(--typography-family-mono);
|
|
6284
6518
|
`;
|
|
6285
|
-
var body3MonoTextStyle =
|
|
6519
|
+
var body3MonoTextStyle = import_styled_components30.css`
|
|
6286
6520
|
${body3TextStyle};
|
|
6287
6521
|
--font-family: var(--typography-family-mono);
|
|
6288
6522
|
`;
|
|
6289
|
-
var body4MonoTextStyle =
|
|
6523
|
+
var body4MonoTextStyle = import_styled_components30.css`
|
|
6290
6524
|
${body4TextStyle};
|
|
6291
6525
|
--font-family: var(--typography-family-mono);
|
|
6292
6526
|
`;
|
|
@@ -6304,13 +6538,13 @@ var variantStyleMap2 = {
|
|
|
6304
6538
|
label3: label3TextStyle,
|
|
6305
6539
|
label4: label4TextStyle
|
|
6306
6540
|
};
|
|
6307
|
-
var highContrastProminenceStyle =
|
|
6541
|
+
var highContrastProminenceStyle = import_styled_components30.css`
|
|
6308
6542
|
--text-color: var(--color-text-high-contrast);
|
|
6309
6543
|
`;
|
|
6310
|
-
var vibrantProminenceStyle =
|
|
6544
|
+
var vibrantProminenceStyle = import_styled_components30.css`
|
|
6311
6545
|
--text-color: var(--color-text);
|
|
6312
6546
|
`;
|
|
6313
|
-
var secondaryProminenceStyle =
|
|
6547
|
+
var secondaryProminenceStyle = import_styled_components30.css`
|
|
6314
6548
|
--text-color: var(--color-text-secondary);
|
|
6315
6549
|
`;
|
|
6316
6550
|
var prominenceMap = {
|
|
@@ -6318,7 +6552,7 @@ var prominenceMap = {
|
|
|
6318
6552
|
vibrant: vibrantProminenceStyle,
|
|
6319
6553
|
secondary: secondaryProminenceStyle
|
|
6320
6554
|
};
|
|
6321
|
-
var StyledText =
|
|
6555
|
+
var StyledText = import_styled_components30.default.div`
|
|
6322
6556
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
6323
6557
|
font-family: var(--font-family);
|
|
6324
6558
|
font-size: var(--font-size);
|
|
@@ -6330,23 +6564,23 @@ var StyledText = import_styled_components29.default.div`
|
|
|
6330
6564
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
6331
6565
|
${({ $prominence }) => prominenceMap[$prominence]}
|
|
6332
6566
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
6333
|
-
${({ $inline }) => $inline &&
|
|
6567
|
+
${({ $inline }) => $inline && import_styled_components30.css`
|
|
6334
6568
|
display: inline-block;
|
|
6335
6569
|
`}
|
|
6336
|
-
${({ $disabled }) => $disabled &&
|
|
6570
|
+
${({ $disabled }) => $disabled && import_styled_components30.css`
|
|
6337
6571
|
--text-color: var(--color-text-disabled);
|
|
6338
6572
|
`}
|
|
6339
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6573
|
+
${({ $preventUserSelect }) => $preventUserSelect && import_styled_components30.css`
|
|
6340
6574
|
user-select: none;
|
|
6341
6575
|
`}
|
|
6342
|
-
${({ $align }) =>
|
|
6576
|
+
${({ $align }) => import_styled_components30.css`
|
|
6343
6577
|
text-align: ${$align};
|
|
6344
6578
|
`}
|
|
6345
|
-
${({ as }) => as === "p" &&
|
|
6579
|
+
${({ as }) => as === "p" && import_styled_components30.css`
|
|
6346
6580
|
display: block;
|
|
6347
6581
|
`}
|
|
6348
6582
|
`;
|
|
6349
|
-
var
|
|
6583
|
+
var DEFAULT_ELEMENT2 = "div";
|
|
6350
6584
|
var TextComponent = (0, import_react14.forwardRef)(
|
|
6351
6585
|
({
|
|
6352
6586
|
align = "left",
|
|
@@ -6360,7 +6594,7 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6360
6594
|
renderAs,
|
|
6361
6595
|
...otherProps
|
|
6362
6596
|
}, ref) => {
|
|
6363
|
-
return /* @__PURE__ */ (0,
|
|
6597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime173.jsx)(
|
|
6364
6598
|
StyledText,
|
|
6365
6599
|
{
|
|
6366
6600
|
ref,
|
|
@@ -6372,7 +6606,7 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6372
6606
|
$preventUserSelect: preventUserSelect,
|
|
6373
6607
|
$prominence: prominence,
|
|
6374
6608
|
$variant: variant,
|
|
6375
|
-
as: renderAs ??
|
|
6609
|
+
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6376
6610
|
...otherProps
|
|
6377
6611
|
}
|
|
6378
6612
|
);
|
|
@@ -6381,21 +6615,393 @@ var TextComponent = (0, import_react14.forwardRef)(
|
|
|
6381
6615
|
TextComponent.displayName = "Text";
|
|
6382
6616
|
var Text = makePolymorphic(TextComponent);
|
|
6383
6617
|
|
|
6618
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6619
|
+
var import_jsx_runtime174 = require("react/jsx-runtime");
|
|
6620
|
+
var StyledMenuLabel = (0, import_styled_components31.default)(import_react_dropdown_menu2.DropdownMenuLabel)`
|
|
6621
|
+
padding: var(--space-02);
|
|
6622
|
+
`;
|
|
6623
|
+
var MenuLabel = ({ children, ...props }) => {
|
|
6624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
6625
|
+
StyledMenuLabel,
|
|
6626
|
+
{
|
|
6627
|
+
asChild: true,
|
|
6628
|
+
...props,
|
|
6629
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
|
|
6630
|
+
Text,
|
|
6631
|
+
{
|
|
6632
|
+
variant: "label3",
|
|
6633
|
+
...props,
|
|
6634
|
+
children
|
|
6635
|
+
}
|
|
6636
|
+
)
|
|
6637
|
+
}
|
|
6638
|
+
);
|
|
6639
|
+
};
|
|
6640
|
+
MenuLabel.displayName = "MenuLabel";
|
|
6641
|
+
|
|
6642
|
+
// src/components/Menu/SubMenu.tsx
|
|
6643
|
+
var import_react16 = require("react");
|
|
6644
|
+
var import_styled_components34 = __toESM(require("styled-components"));
|
|
6645
|
+
var import_react_dropdown_menu3 = require("@radix-ui/react-dropdown-menu");
|
|
6646
|
+
|
|
6647
|
+
// src/components/Menu/MenuItemButton.tsx
|
|
6648
|
+
var import_react15 = require("react");
|
|
6649
|
+
var import_styled_components32 = __toESM(require("styled-components"));
|
|
6650
|
+
var import_type_guards18 = require("@wistia/type-guards");
|
|
6651
|
+
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
6652
|
+
var StyledButton3 = (0, import_styled_components32.default)(Button)`
|
|
6653
|
+
--menu-item-border-radius: var(--border-radius-01);
|
|
6654
|
+
--menu-item-gap: var(--space-01);
|
|
6655
|
+
--menu-item-inner-gap: var(--space-04);
|
|
6656
|
+
--menu-item-disabled-bg: var(--color-white);
|
|
6657
|
+
|
|
6658
|
+
text-align: left;
|
|
6659
|
+
align-items: left;
|
|
6660
|
+
border-radius: var(--menu-item-border-radius);
|
|
6661
|
+
display: flex;
|
|
6662
|
+
|
|
6663
|
+
&[aria-disabled='true'] {
|
|
6664
|
+
background-color: var(--menu-item-disabled-bg);
|
|
6665
|
+
}
|
|
6666
|
+
|
|
6667
|
+
${({ $isGated }) => (0, import_type_guards18.isNotUndefined)($isGated) && $isGated ? `color: var(--color-text);` : ""}
|
|
6668
|
+
`;
|
|
6669
|
+
var StyledMenuContent = import_styled_components32.default.div`
|
|
6670
|
+
display: grid;
|
|
6671
|
+
grid-template-areas:
|
|
6672
|
+
'label badge'
|
|
6673
|
+
'description badge';
|
|
6674
|
+
grid-template-columns: 1fr auto;
|
|
6675
|
+
position: relative;
|
|
6676
|
+
align-content: center;
|
|
6677
|
+
`;
|
|
6678
|
+
var StyledBadgeContainer = import_styled_components32.default.div`
|
|
6679
|
+
grid-area: badge;
|
|
6680
|
+
align-self: start;
|
|
6681
|
+
justify-self: end;
|
|
6682
|
+
margin-left: var(--menu-item-inner-gap);
|
|
6683
|
+
`;
|
|
6684
|
+
var MenuItemButton = (0, import_react15.forwardRef)(({ children, appearance, command, ...props }, ref) => {
|
|
6685
|
+
let { colorScheme, badge } = props;
|
|
6686
|
+
if (appearance === "dangerous") {
|
|
6687
|
+
if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
|
|
6688
|
+
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
6689
|
+
}
|
|
6690
|
+
colorScheme = "error";
|
|
6691
|
+
}
|
|
6692
|
+
if (appearance === "gated") {
|
|
6693
|
+
if ((0, import_type_guards18.isNotUndefined)(colorScheme)) {
|
|
6694
|
+
console.warn("colorScheme prop is ignored when appearance is gated");
|
|
6695
|
+
}
|
|
6696
|
+
colorScheme = "purple";
|
|
6697
|
+
badge = /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Icon, { type: "sparkle" });
|
|
6698
|
+
}
|
|
6699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
|
|
6700
|
+
StyledButton3,
|
|
6701
|
+
{
|
|
6702
|
+
...props,
|
|
6703
|
+
ref,
|
|
6704
|
+
$isGated: appearance === "gated",
|
|
6705
|
+
colorScheme: colorScheme ?? "default",
|
|
6706
|
+
fullWidth: true,
|
|
6707
|
+
variant: "ghost",
|
|
6708
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime175.jsxs)(StyledMenuContent, { children: [
|
|
6709
|
+
children,
|
|
6710
|
+
(0, import_type_guards18.isNotNil)(badge) || (0, import_type_guards18.isNotNil)(command) ? /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(StyledBadgeContainer, { children: badge ?? command }) : null
|
|
6711
|
+
] })
|
|
6712
|
+
}
|
|
6713
|
+
);
|
|
6714
|
+
});
|
|
6715
|
+
MenuItemButton.displayName = "MenuItemButton";
|
|
6716
|
+
|
|
6717
|
+
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
6718
|
+
var import_styled_components33 = __toESM(require("styled-components"));
|
|
6719
|
+
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
6720
|
+
var StyledMenuItemLabel = (0, import_styled_components33.default)(Text).attrs({ variant: "label3" })`
|
|
6721
|
+
grid-area: label;
|
|
6722
|
+
`;
|
|
6723
|
+
var StyledMenuItemDescription = (0, import_styled_components33.default)(Text).attrs({
|
|
6724
|
+
variant: "label4",
|
|
6725
|
+
prominence: "secondary"
|
|
6726
|
+
})`
|
|
6727
|
+
margin-top: var(--menu-item-gap);
|
|
6728
|
+
grid-area: description;
|
|
6729
|
+
`;
|
|
6730
|
+
var MenuItemLabel = ({ children }) => {
|
|
6731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemLabel, { children });
|
|
6732
|
+
};
|
|
6733
|
+
var MenuItemDescription = ({ children }) => {
|
|
6734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(StyledMenuItemDescription, { children });
|
|
6735
|
+
};
|
|
6736
|
+
|
|
6737
|
+
// src/components/Menu/SubMenu.tsx
|
|
6738
|
+
var import_jsx_runtime177 = require("react/jsx-runtime");
|
|
6739
|
+
var SubMenuContent = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubContent)`
|
|
6740
|
+
${menuContentCss}
|
|
6741
|
+
width: 298px;
|
|
6742
|
+
|
|
6743
|
+
${mq.smAndDown} {
|
|
6744
|
+
transform: translateX(-100%) !important;
|
|
6745
|
+
}
|
|
6746
|
+
`;
|
|
6747
|
+
var StyledMobileSubMenuItems = import_styled_components34.default.div`
|
|
6748
|
+
margin-left: var(--space-04);
|
|
6749
|
+
`;
|
|
6750
|
+
var StyledSubTrigger = (0, import_styled_components34.default)(import_react_dropdown_menu3.DropdownMenuSubTrigger)`
|
|
6751
|
+
outline: none;
|
|
6752
|
+
|
|
6753
|
+
&[data-state='open'],
|
|
6754
|
+
&[data-highlighted] {
|
|
6755
|
+
background-color: var(--button-color-bg-hover);
|
|
6756
|
+
}
|
|
6757
|
+
`;
|
|
6758
|
+
var SubMenuTrigger = (props) => {
|
|
6759
|
+
const { isSmAndUp } = useMq();
|
|
6760
|
+
const Trigger2 = isSmAndUp ? StyledSubTrigger : import_react_dropdown_menu3.DropdownMenuItem;
|
|
6761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Trigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
|
|
6762
|
+
MenuItemButton,
|
|
6763
|
+
{
|
|
6764
|
+
...props,
|
|
6765
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Icon, { type: "caret-right" })
|
|
6766
|
+
}
|
|
6767
|
+
) });
|
|
6768
|
+
};
|
|
6769
|
+
var SubMenu = ({
|
|
6770
|
+
label,
|
|
6771
|
+
description,
|
|
6772
|
+
children,
|
|
6773
|
+
onOpenChange = () => null,
|
|
6774
|
+
...props
|
|
6775
|
+
}) => {
|
|
6776
|
+
const { isSmAndUp } = useMq();
|
|
6777
|
+
const [isExpanded, setIsExpanded] = (0, import_react16.useState)(false);
|
|
6778
|
+
return isSmAndUp ? /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuSub, { onOpenChange, children: [
|
|
6779
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(SubMenuTrigger, { ...props, children: [
|
|
6780
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
|
|
6781
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
|
|
6782
|
+
] }),
|
|
6783
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(import_react_dropdown_menu3.DropdownMenuPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(SubMenuContent, { children }) })
|
|
6784
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react_dropdown_menu3.DropdownMenuGroup, { children: [
|
|
6785
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(
|
|
6786
|
+
SubMenuTrigger,
|
|
6787
|
+
{
|
|
6788
|
+
...props,
|
|
6789
|
+
onClick: (event) => {
|
|
6790
|
+
event.preventDefault();
|
|
6791
|
+
setIsExpanded((prev) => !prev);
|
|
6792
|
+
},
|
|
6793
|
+
children: [
|
|
6794
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemLabel, { children: label }),
|
|
6795
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(MenuItemDescription, { children: description })
|
|
6796
|
+
]
|
|
6797
|
+
}
|
|
6798
|
+
),
|
|
6799
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
6800
|
+
] });
|
|
6801
|
+
};
|
|
6802
|
+
SubMenu.displayName = "SubMenu";
|
|
6803
|
+
|
|
6804
|
+
// src/components/Menu/MenuItem.tsx
|
|
6805
|
+
var import_react17 = require("react");
|
|
6806
|
+
var import_react_dropdown_menu4 = require("@radix-ui/react-dropdown-menu");
|
|
6807
|
+
var import_jsx_runtime178 = require("react/jsx-runtime");
|
|
6808
|
+
var MenuItem = (0, import_react17.forwardRef)(
|
|
6809
|
+
({ onSelect = () => null, ...props }, ref) => {
|
|
6810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
|
|
6811
|
+
import_react_dropdown_menu4.DropdownMenuItem,
|
|
6812
|
+
{
|
|
6813
|
+
asChild: true,
|
|
6814
|
+
onSelect,
|
|
6815
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(
|
|
6816
|
+
MenuItemButton,
|
|
6817
|
+
{
|
|
6818
|
+
...props,
|
|
6819
|
+
ref,
|
|
6820
|
+
leftIcon: props.icon
|
|
6821
|
+
}
|
|
6822
|
+
)
|
|
6823
|
+
}
|
|
6824
|
+
);
|
|
6825
|
+
}
|
|
6826
|
+
);
|
|
6827
|
+
MenuItem.displayName = "MenuItem";
|
|
6828
|
+
|
|
6829
|
+
// src/components/Menu/MenuRadioGroup.tsx
|
|
6830
|
+
var import_react_dropdown_menu5 = require("@radix-ui/react-dropdown-menu");
|
|
6831
|
+
var import_jsx_runtime179 = require("react/jsx-runtime");
|
|
6832
|
+
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
6833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)(import_react_dropdown_menu5.DropdownMenuRadioGroup, { ...props, children: [
|
|
6834
|
+
/* @__PURE__ */ (0, import_jsx_runtime179.jsx)(MenuLabel, { children: label }),
|
|
6835
|
+
children
|
|
6836
|
+
] });
|
|
6837
|
+
};
|
|
6838
|
+
MenuRadioGroup.displayName = "MenuRadioGroup";
|
|
6839
|
+
|
|
6840
|
+
// src/components/Menu/RadioMenuItem.tsx
|
|
6841
|
+
var import_react_dropdown_menu6 = require("@radix-ui/react-dropdown-menu");
|
|
6842
|
+
var import_jsx_runtime180 = require("react/jsx-runtime");
|
|
6843
|
+
var RadioMenuItem = ({
|
|
6844
|
+
onSelect,
|
|
6845
|
+
value,
|
|
6846
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6847
|
+
Icon,
|
|
6848
|
+
{
|
|
6849
|
+
size: "sm",
|
|
6850
|
+
type: "checkmark"
|
|
6851
|
+
}
|
|
6852
|
+
),
|
|
6853
|
+
...props
|
|
6854
|
+
}) => {
|
|
6855
|
+
const extraProps = onSelect ? { onSelect } : {};
|
|
6856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6857
|
+
import_react_dropdown_menu6.DropdownMenuRadioItem,
|
|
6858
|
+
{
|
|
6859
|
+
...extraProps,
|
|
6860
|
+
value,
|
|
6861
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
|
|
6862
|
+
MenuItemButton,
|
|
6863
|
+
{
|
|
6864
|
+
...props,
|
|
6865
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_react_dropdown_menu6.DropdownMenuItemIndicator, { children: indicator })
|
|
6866
|
+
}
|
|
6867
|
+
)
|
|
6868
|
+
}
|
|
6869
|
+
);
|
|
6870
|
+
};
|
|
6871
|
+
RadioMenuItem.displayName = "RadioMenuItem";
|
|
6872
|
+
|
|
6873
|
+
// src/components/Menu/CheckboxMenuItem.tsx
|
|
6874
|
+
var import_react_dropdown_menu7 = require("@radix-ui/react-dropdown-menu");
|
|
6875
|
+
var import_jsx_runtime181 = require("react/jsx-runtime");
|
|
6876
|
+
var CheckboxMenuItem = ({
|
|
6877
|
+
onSelect,
|
|
6878
|
+
checked,
|
|
6879
|
+
onCheckedChange,
|
|
6880
|
+
indicator = /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6881
|
+
Icon,
|
|
6882
|
+
{
|
|
6883
|
+
size: "sm",
|
|
6884
|
+
type: "checkmark"
|
|
6885
|
+
}
|
|
6886
|
+
),
|
|
6887
|
+
...props
|
|
6888
|
+
}) => {
|
|
6889
|
+
let extraProps = {};
|
|
6890
|
+
if (onSelect) {
|
|
6891
|
+
extraProps = {
|
|
6892
|
+
...extraProps,
|
|
6893
|
+
onCheckedChange,
|
|
6894
|
+
onSelect
|
|
6895
|
+
};
|
|
6896
|
+
}
|
|
6897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6898
|
+
import_react_dropdown_menu7.DropdownMenuCheckboxItem,
|
|
6899
|
+
{
|
|
6900
|
+
...extraProps,
|
|
6901
|
+
checked,
|
|
6902
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
|
|
6903
|
+
MenuItemButton,
|
|
6904
|
+
{
|
|
6905
|
+
...props,
|
|
6906
|
+
rightIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_react_dropdown_menu7.DropdownMenuItemIndicator, { children: indicator })
|
|
6907
|
+
}
|
|
6908
|
+
)
|
|
6909
|
+
}
|
|
6910
|
+
);
|
|
6911
|
+
};
|
|
6912
|
+
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
6913
|
+
|
|
6914
|
+
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
6915
|
+
var import_styled_components35 = __toESM(require("styled-components"));
|
|
6916
|
+
var import_type_guards19 = require("@wistia/type-guards");
|
|
6917
|
+
var import_jsx_runtime182 = require("react/jsx-runtime");
|
|
6918
|
+
var VisuallyHidden = import_styled_components35.default.div({ ...visuallyHiddenStyle });
|
|
6919
|
+
var VisuallyHiddenButFocusable = import_styled_components35.default.div({
|
|
6920
|
+
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6921
|
+
});
|
|
6922
|
+
var ScreenReaderOnly = ({
|
|
6923
|
+
text,
|
|
6924
|
+
children,
|
|
6925
|
+
focusable = false,
|
|
6926
|
+
...otherProps
|
|
6927
|
+
}) => {
|
|
6928
|
+
const accessibleText = (0, import_type_guards19.isNotNil)(text) ? text : children;
|
|
6929
|
+
if (focusable) {
|
|
6930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
6931
|
+
}
|
|
6932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime182.jsx)(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
6933
|
+
};
|
|
6934
|
+
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
6935
|
+
|
|
6936
|
+
// src/components/Stack/Stack.tsx
|
|
6937
|
+
var import_react18 = require("react");
|
|
6938
|
+
var import_styled_components36 = __toESM(require("styled-components"));
|
|
6939
|
+
var import_jsx_runtime183 = require("react/jsx-runtime");
|
|
6940
|
+
var DEFAULT_ELEMENT3 = "div";
|
|
6941
|
+
var StyledStack = import_styled_components36.default.div`
|
|
6942
|
+
display: flex;
|
|
6943
|
+
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6944
|
+
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6945
|
+
|
|
6946
|
+
> * {
|
|
6947
|
+
flex: 1;
|
|
6948
|
+
}
|
|
6949
|
+
`;
|
|
6950
|
+
var StackComponent = (0, import_react18.forwardRef)(
|
|
6951
|
+
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6952
|
+
const responsiveGap = useResponsiveProp(gap);
|
|
6953
|
+
const responsiveDirection = useResponsiveProp(direction);
|
|
6954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime183.jsx)(
|
|
6955
|
+
StyledStack,
|
|
6956
|
+
{
|
|
6957
|
+
ref,
|
|
6958
|
+
$direction: responsiveDirection,
|
|
6959
|
+
$gap: responsiveGap,
|
|
6960
|
+
as: renderAs ?? DEFAULT_ELEMENT3,
|
|
6961
|
+
...props
|
|
6962
|
+
}
|
|
6963
|
+
);
|
|
6964
|
+
}
|
|
6965
|
+
);
|
|
6966
|
+
StackComponent.displayName = "Stack";
|
|
6967
|
+
var Stack = makePolymorphic(StackComponent);
|
|
6968
|
+
|
|
6384
6969
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
6385
|
-
var
|
|
6386
|
-
var
|
|
6387
|
-
var
|
|
6970
|
+
var import_styled_components37 = __toESM(require("styled-components"));
|
|
6971
|
+
var import_type_guards20 = require("@wistia/type-guards");
|
|
6972
|
+
var import_jsx_runtime184 = require("react/jsx-runtime");
|
|
6388
6973
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
6389
6974
|
if (iconOnly) {
|
|
6390
|
-
return /* @__PURE__ */ (0,
|
|
6975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6976
|
+
"g",
|
|
6977
|
+
{
|
|
6978
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6979
|
+
fill: brandmarkColor,
|
|
6980
|
+
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" })
|
|
6981
|
+
}
|
|
6982
|
+
);
|
|
6391
6983
|
}
|
|
6392
|
-
return /* @__PURE__ */ (0,
|
|
6984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6985
|
+
"g",
|
|
6986
|
+
{
|
|
6987
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6988
|
+
fill: brandmarkColor,
|
|
6989
|
+
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" })
|
|
6990
|
+
}
|
|
6991
|
+
);
|
|
6393
6992
|
};
|
|
6394
6993
|
var renderLogotype = (logotypeColor, iconOnly) => {
|
|
6395
6994
|
if (iconOnly) {
|
|
6396
6995
|
return null;
|
|
6397
6996
|
}
|
|
6398
|
-
return /* @__PURE__ */ (0,
|
|
6997
|
+
return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
|
|
6998
|
+
"g",
|
|
6999
|
+
{
|
|
7000
|
+
"data-testid": "ui-wistia-logo-logotype",
|
|
7001
|
+
fill: logotypeColor,
|
|
7002
|
+
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" })
|
|
7003
|
+
}
|
|
7004
|
+
);
|
|
6399
7005
|
};
|
|
6400
7006
|
var computedViewBox = (iconOnly) => {
|
|
6401
7007
|
if (iconOnly) {
|
|
@@ -6403,7 +7009,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
6403
7009
|
}
|
|
6404
7010
|
return "0 0 144 31.47";
|
|
6405
7011
|
};
|
|
6406
|
-
var WistiaLogoComponent =
|
|
7012
|
+
var WistiaLogoComponent = import_styled_components37.default.svg`
|
|
6407
7013
|
height: ${({ height }) => `${height}px`};
|
|
6408
7014
|
|
|
6409
7015
|
/* ensure it will always fit on mobile */
|
|
@@ -6445,7 +7051,7 @@ var WistiaLogo = ({
|
|
|
6445
7051
|
};
|
|
6446
7052
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
6447
7053
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
6448
|
-
const Logo = /* @__PURE__ */ (0,
|
|
7054
|
+
const Logo = /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)(
|
|
6449
7055
|
WistiaLogoComponent,
|
|
6450
7056
|
{
|
|
6451
7057
|
$hoverColor: hoverColor,
|
|
@@ -6455,14 +7061,14 @@ var WistiaLogo = ({
|
|
|
6455
7061
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6456
7062
|
...otherProps,
|
|
6457
7063
|
children: [
|
|
6458
|
-
/* @__PURE__ */ (0,
|
|
6459
|
-
(0,
|
|
7064
|
+
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)("title", { children: title }),
|
|
7065
|
+
(0, import_type_guards20.isNotNil)(description) ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("desc", { children: description }) : null,
|
|
6460
7066
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
6461
7067
|
renderLogotype(logotypeColor, iconOnly)
|
|
6462
7068
|
]
|
|
6463
7069
|
}
|
|
6464
7070
|
);
|
|
6465
|
-
return href !== void 0 ? /* @__PURE__ */ (0,
|
|
7071
|
+
return href !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime184.jsx)("a", { href, children: Logo }) : Logo;
|
|
6466
7072
|
};
|
|
6467
7073
|
WistiaLogo.displayName = "WistiaLogo";
|
|
6468
7074
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -6472,6 +7078,8 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
6472
7078
|
Box,
|
|
6473
7079
|
Button,
|
|
6474
7080
|
ButtonGroup,
|
|
7081
|
+
Checkbox,
|
|
7082
|
+
CheckboxMenuItem,
|
|
6475
7083
|
ColorSchemeWrapper,
|
|
6476
7084
|
Divider,
|
|
6477
7085
|
Ellipsis,
|
|
@@ -6480,8 +7088,16 @@ WistiaLogo.displayName = "WistiaLogo";
|
|
|
6480
7088
|
IconButton,
|
|
6481
7089
|
Label,
|
|
6482
7090
|
Link,
|
|
7091
|
+
Menu,
|
|
7092
|
+
MenuItem,
|
|
7093
|
+
MenuItemDescription,
|
|
7094
|
+
MenuItemLabel,
|
|
7095
|
+
MenuLabel,
|
|
7096
|
+
MenuRadioGroup,
|
|
7097
|
+
RadioMenuItem,
|
|
6483
7098
|
ScreenReaderOnly,
|
|
6484
7099
|
Stack,
|
|
7100
|
+
SubMenu,
|
|
6485
7101
|
Text,
|
|
6486
7102
|
Tooltip,
|
|
6487
7103
|
UIProvider,
|