@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.mjs
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
|
*
|
|
@@ -5477,6 +5477,7 @@ var StyledButton = styled7.button`
|
|
|
5477
5477
|
${({ $unstyled }) => !$unstyled && buttonBaseStyles}
|
|
5478
5478
|
${({ $fullWidth }) => $fullWidth && "width: 100%;"}
|
|
5479
5479
|
position: relative;
|
|
5480
|
+
text-align: center;
|
|
5480
5481
|
`;
|
|
5481
5482
|
var StyledButtonContent = styled7.div`
|
|
5482
5483
|
align-items: center;
|
|
@@ -5492,7 +5493,6 @@ var StyledButtonContent = styled7.div`
|
|
|
5492
5493
|
`;
|
|
5493
5494
|
var StyledButtonContentLabel = styled7.span`
|
|
5494
5495
|
flex: 1;
|
|
5495
|
-
text-align: center;
|
|
5496
5496
|
`;
|
|
5497
5497
|
var StyledButtonLoading = styled7.div`
|
|
5498
5498
|
position: absolute;
|
|
@@ -5664,14 +5664,237 @@ var ButtonGroup = ({
|
|
|
5664
5664
|
};
|
|
5665
5665
|
ButtonGroup.displayName = "ButtonGroup";
|
|
5666
5666
|
|
|
5667
|
-
// src/components/
|
|
5668
|
-
import
|
|
5667
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5668
|
+
import { forwardRef as forwardRef4, useId } from "react";
|
|
5669
|
+
import { Root as CheckboxRoot, Indicator as CheckboxIndicator } from "@radix-ui/react-checkbox";
|
|
5670
|
+
import styled11 from "styled-components";
|
|
5671
|
+
import { isNonEmptyString as isNonEmptyString2 } from "@wistia/type-guards";
|
|
5672
|
+
|
|
5673
|
+
// src/components/Label/Label.tsx
|
|
5674
|
+
import styled9, { css as css12 } from "styled-components";
|
|
5669
5675
|
import { jsx as jsx164 } from "react/jsx-runtime";
|
|
5676
|
+
var requiredStyle = css12`
|
|
5677
|
+
&::after {
|
|
5678
|
+
color: var(--color-text-error);
|
|
5679
|
+
display: inline;
|
|
5680
|
+
padding-left: var(--space-01);
|
|
5681
|
+
content: '*';
|
|
5682
|
+
}
|
|
5683
|
+
`;
|
|
5684
|
+
var disabledStyle = css12`
|
|
5685
|
+
color: var(--color-text-disabled);
|
|
5686
|
+
`;
|
|
5687
|
+
var SPACE_BETWEEN_LABEL_AND_INPUT = "var(--space-02)";
|
|
5688
|
+
var StyledLabel = styled9.label`
|
|
5689
|
+
display: inline-block;
|
|
5690
|
+
font-size: var(--typography-label-1-size);
|
|
5691
|
+
font-weight: var(--typography-label-1-weight);
|
|
5692
|
+
line-height: var(--typography-label-1-line-height);
|
|
5693
|
+
cursor: inherit;
|
|
5694
|
+
width: 100%;
|
|
5695
|
+
|
|
5696
|
+
/* if label is wrapping an input this ensures it appears beneath the label with a nice margin */
|
|
5697
|
+
> input,
|
|
5698
|
+
> textarea,
|
|
5699
|
+
> select {
|
|
5700
|
+
display: block;
|
|
5701
|
+
margin-top: ${SPACE_BETWEEN_LABEL_AND_INPUT};
|
|
5702
|
+
}
|
|
5703
|
+
|
|
5704
|
+
> label {
|
|
5705
|
+
font-weight: normal;
|
|
5706
|
+
}
|
|
5707
|
+
|
|
5708
|
+
${({ $screenReaderOnly }) => $screenReaderOnly && visuallyHiddenStyle}
|
|
5709
|
+
${({ disabled }) => disabled && disabledStyle}
|
|
5710
|
+
${({ required }) => required && requiredStyle}
|
|
5711
|
+
`;
|
|
5712
|
+
var Label = ({
|
|
5713
|
+
children,
|
|
5714
|
+
disabled = false,
|
|
5715
|
+
htmlFor,
|
|
5716
|
+
required = false,
|
|
5717
|
+
screenReaderOnly = false,
|
|
5718
|
+
...otherProps
|
|
5719
|
+
}) => /* @__PURE__ */ jsx164(
|
|
5720
|
+
StyledLabel,
|
|
5721
|
+
{
|
|
5722
|
+
$screenReaderOnly: screenReaderOnly,
|
|
5723
|
+
disabled,
|
|
5724
|
+
htmlFor,
|
|
5725
|
+
required,
|
|
5726
|
+
...otherProps,
|
|
5727
|
+
children
|
|
5728
|
+
}
|
|
5729
|
+
);
|
|
5730
|
+
Label.displayName = "Label";
|
|
5731
|
+
|
|
5732
|
+
// src/components/Label/LabelDescription.tsx
|
|
5733
|
+
import styled10 from "styled-components";
|
|
5734
|
+
import { isNil as isNil9 } from "@wistia/type-guards";
|
|
5735
|
+
import { jsx as jsx165 } from "react/jsx-runtime";
|
|
5736
|
+
var StyledLabelDescription = styled10.div`
|
|
5737
|
+
color: var(--color-text-secondary);
|
|
5738
|
+
font-size: var(--typography-body-4-size);
|
|
5739
|
+
font-weight: var(--typography-body-4-weight);
|
|
5740
|
+
line-height: var(--typography-body-4-line-height);
|
|
5741
|
+
`;
|
|
5742
|
+
var LabelDescription = ({
|
|
5743
|
+
children,
|
|
5744
|
+
...props
|
|
5745
|
+
}) => {
|
|
5746
|
+
if (isNil9(children)) {
|
|
5747
|
+
return null;
|
|
5748
|
+
}
|
|
5749
|
+
return /* @__PURE__ */ jsx165(StyledLabelDescription, { ...props, children });
|
|
5750
|
+
};
|
|
5751
|
+
LabelDescription.displayName = "LabelDescription";
|
|
5752
|
+
|
|
5753
|
+
// src/components/Checkbox/Checkbox.tsx
|
|
5754
|
+
import { jsx as jsx166, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
5755
|
+
var CheckIcon = () => /* @__PURE__ */ jsx166(
|
|
5756
|
+
"svg",
|
|
5757
|
+
{
|
|
5758
|
+
fill: "inherit",
|
|
5759
|
+
height: "8",
|
|
5760
|
+
viewBox: "0 0 10 8",
|
|
5761
|
+
width: "10",
|
|
5762
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5763
|
+
children: /* @__PURE__ */ jsx166(
|
|
5764
|
+
"path",
|
|
5765
|
+
{
|
|
5766
|
+
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",
|
|
5767
|
+
fill: "white"
|
|
5768
|
+
}
|
|
5769
|
+
)
|
|
5770
|
+
}
|
|
5771
|
+
);
|
|
5772
|
+
var StyledCheckboxWrapper = styled11.div`
|
|
5773
|
+
display: flex;
|
|
5774
|
+
align-items: center;
|
|
5775
|
+
cursor: pointer;
|
|
5776
|
+
padding: var(--space-02);
|
|
5777
|
+
|
|
5778
|
+
&:hover {
|
|
5779
|
+
/* TODO Lamp to design hover state */
|
|
5780
|
+
}
|
|
5781
|
+
|
|
5782
|
+
&:focus-within {
|
|
5783
|
+
/* TODO Lamp to design focus state */
|
|
5784
|
+
background-color: #efefef;
|
|
5785
|
+
}
|
|
5786
|
+
`;
|
|
5787
|
+
var StyledCheckboxRoot = styled11(CheckboxRoot)`
|
|
5788
|
+
all: unset; /* CheckboxRoot renders as a button element, so we need to reset all styles */
|
|
5789
|
+
background-color: var(--color-bg-fill-white);
|
|
5790
|
+
min-width: 16px;
|
|
5791
|
+
min-height: 16px;
|
|
5792
|
+
border-radius: var(--border-radius-01);
|
|
5793
|
+
border-width: 1px;
|
|
5794
|
+
border-style: solid;
|
|
5795
|
+
border-color: var(--color-border);
|
|
5796
|
+
display: flex;
|
|
5797
|
+
align-items: center;
|
|
5798
|
+
justify-content: center;
|
|
5799
|
+
align-self: start; /* align to the top to handle label descriptions */
|
|
5800
|
+
margin-top: 3px; /* bump down slightly to mimic "align-self: center" */
|
|
5801
|
+
|
|
5802
|
+
&[data-state='checked'] {
|
|
5803
|
+
background-color: var(--color-bg-fill);
|
|
5804
|
+
}
|
|
5805
|
+
|
|
5806
|
+
&[disabled] {
|
|
5807
|
+
background-color: var(--color-bg-surface-disabled);
|
|
5808
|
+
|
|
5809
|
+
svg path {
|
|
5810
|
+
fill: var(--color-icon-disabled);
|
|
5811
|
+
}
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
&:hover {
|
|
5815
|
+
/* TODO Lamp to design hover state */
|
|
5816
|
+
}
|
|
5817
|
+
|
|
5818
|
+
&:focus {
|
|
5819
|
+
/* TODO Lamp to design focus state */
|
|
5820
|
+
}
|
|
5821
|
+
`;
|
|
5822
|
+
var StyledCheckboxIndicator = styled11(CheckboxIndicator)`
|
|
5823
|
+
display: flex;
|
|
5824
|
+
`;
|
|
5825
|
+
var StyledLabelWrapper = styled11.div`
|
|
5826
|
+
display: flex;
|
|
5827
|
+
flex-direction: column;
|
|
5828
|
+
padding-left: var(--space-02);
|
|
5829
|
+
`;
|
|
5830
|
+
var Checkbox = forwardRef4(
|
|
5831
|
+
({
|
|
5832
|
+
checked,
|
|
5833
|
+
disabled = false,
|
|
5834
|
+
forceState,
|
|
5835
|
+
id,
|
|
5836
|
+
label = "default",
|
|
5837
|
+
description,
|
|
5838
|
+
name,
|
|
5839
|
+
onChange,
|
|
5840
|
+
required = false,
|
|
5841
|
+
value = "false",
|
|
5842
|
+
...otherProps
|
|
5843
|
+
}, ref) => {
|
|
5844
|
+
const generatedId = useId();
|
|
5845
|
+
const computedId = isNonEmptyString2(id) ? id : `vhs-collapsible-group-${generatedId}`;
|
|
5846
|
+
return /* @__PURE__ */ jsxs6(StyledCheckboxWrapper, { children: [
|
|
5847
|
+
/* @__PURE__ */ jsx166(
|
|
5848
|
+
StyledCheckboxRoot,
|
|
5849
|
+
{
|
|
5850
|
+
ref,
|
|
5851
|
+
checked: checked ?? void 0,
|
|
5852
|
+
defaultChecked: checked === void 0 ? false : void 0,
|
|
5853
|
+
disabled,
|
|
5854
|
+
id: computedId,
|
|
5855
|
+
name,
|
|
5856
|
+
onCheckedChange: (state) => {
|
|
5857
|
+
if (onChange) {
|
|
5858
|
+
const syntheticEvent = {
|
|
5859
|
+
target: {
|
|
5860
|
+
id: computedId,
|
|
5861
|
+
checked: state === true
|
|
5862
|
+
}
|
|
5863
|
+
};
|
|
5864
|
+
onChange(syntheticEvent);
|
|
5865
|
+
}
|
|
5866
|
+
},
|
|
5867
|
+
required,
|
|
5868
|
+
value,
|
|
5869
|
+
...otherProps,
|
|
5870
|
+
children: /* @__PURE__ */ jsx166(StyledCheckboxIndicator, { children: /* @__PURE__ */ jsx166(CheckIcon, {}) })
|
|
5871
|
+
}
|
|
5872
|
+
),
|
|
5873
|
+
/* @__PURE__ */ jsxs6(StyledLabelWrapper, { children: [
|
|
5874
|
+
/* @__PURE__ */ jsx166(
|
|
5875
|
+
Label,
|
|
5876
|
+
{
|
|
5877
|
+
disabled,
|
|
5878
|
+
htmlFor: computedId,
|
|
5879
|
+
required,
|
|
5880
|
+
children: label
|
|
5881
|
+
}
|
|
5882
|
+
),
|
|
5883
|
+
/* @__PURE__ */ jsx166(LabelDescription, { children: description })
|
|
5884
|
+
] })
|
|
5885
|
+
] });
|
|
5886
|
+
}
|
|
5887
|
+
);
|
|
5888
|
+
Checkbox.displayName = "Checkbox";
|
|
5889
|
+
|
|
5890
|
+
// src/components/Divider/Divider.tsx
|
|
5891
|
+
import styled12 from "styled-components";
|
|
5892
|
+
import { jsx as jsx167 } from "react/jsx-runtime";
|
|
5670
5893
|
var sizeToPixelMap = {
|
|
5671
5894
|
lg: 4,
|
|
5672
5895
|
sm: 1
|
|
5673
5896
|
};
|
|
5674
|
-
var DividerComponent =
|
|
5897
|
+
var DividerComponent = styled12.hr`
|
|
5675
5898
|
background: none;
|
|
5676
5899
|
border-bottom: none;
|
|
5677
5900
|
border-left: none;
|
|
@@ -5686,7 +5909,7 @@ var DividerComponent = styled9.hr`
|
|
|
5686
5909
|
`;
|
|
5687
5910
|
var Divider = ({ size = "sm", ...otherProps }) => {
|
|
5688
5911
|
const responsiveSize = useResponsiveProp(size);
|
|
5689
|
-
return /* @__PURE__ */
|
|
5912
|
+
return /* @__PURE__ */ jsx167(
|
|
5690
5913
|
DividerComponent,
|
|
5691
5914
|
{
|
|
5692
5915
|
$borderHeight: sizeToPixelMap[responsiveSize],
|
|
@@ -5698,9 +5921,9 @@ Divider.displayName = "Divider";
|
|
|
5698
5921
|
|
|
5699
5922
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
5700
5923
|
import { isNotNil as isNotNil5 } from "@wistia/type-guards";
|
|
5701
|
-
import
|
|
5702
|
-
import { jsx as
|
|
5703
|
-
var ellipsisStyle =
|
|
5924
|
+
import styled13, { css as css13 } from "styled-components";
|
|
5925
|
+
import { jsx as jsx168 } from "react/jsx-runtime";
|
|
5926
|
+
var ellipsisStyle = css13`
|
|
5704
5927
|
overflow: hidden;
|
|
5705
5928
|
text-overflow: ellipsis;
|
|
5706
5929
|
white-space: nowrap;
|
|
@@ -5723,14 +5946,14 @@ var ellipsisStyle = css12`
|
|
|
5723
5946
|
}
|
|
5724
5947
|
}
|
|
5725
5948
|
`;
|
|
5726
|
-
var ellipsisFlexParentStyle =
|
|
5949
|
+
var ellipsisFlexParentStyle = css13`
|
|
5727
5950
|
min-width: 0;
|
|
5728
5951
|
`;
|
|
5729
|
-
var EllipsisComponent =
|
|
5952
|
+
var EllipsisComponent = styled13.div`
|
|
5730
5953
|
${ellipsisStyle};
|
|
5731
5954
|
${({ $lines }) => {
|
|
5732
5955
|
if (isNotNil5($lines)) {
|
|
5733
|
-
return
|
|
5956
|
+
return css13`
|
|
5734
5957
|
-webkit-box-orient: vertical;
|
|
5735
5958
|
-webkit-line-clamp: ${$lines};
|
|
5736
5959
|
display: -webkit-box;
|
|
@@ -5740,7 +5963,7 @@ var EllipsisComponent = styled10.div`
|
|
|
5740
5963
|
return void 0;
|
|
5741
5964
|
}}
|
|
5742
5965
|
`;
|
|
5743
|
-
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */
|
|
5966
|
+
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx168(
|
|
5744
5967
|
EllipsisComponent,
|
|
5745
5968
|
{
|
|
5746
5969
|
$lines: lines,
|
|
@@ -5751,8 +5974,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
|
|
|
5751
5974
|
Ellipsis.displayName = "Ellipsis";
|
|
5752
5975
|
|
|
5753
5976
|
// src/components/Heading/Heading.tsx
|
|
5754
|
-
import { forwardRef as
|
|
5755
|
-
import
|
|
5977
|
+
import { forwardRef as forwardRef5 } from "react";
|
|
5978
|
+
import styled14, { css as css14 } from "styled-components";
|
|
5756
5979
|
|
|
5757
5980
|
// src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
5758
5981
|
var makePolymorphic = (component) => {
|
|
@@ -5760,44 +5983,44 @@ var makePolymorphic = (component) => {
|
|
|
5760
5983
|
};
|
|
5761
5984
|
|
|
5762
5985
|
// src/components/Heading/Heading.tsx
|
|
5763
|
-
import { jsx as
|
|
5764
|
-
var heroStyle =
|
|
5986
|
+
import { jsx as jsx169 } from "react/jsx-runtime";
|
|
5987
|
+
var heroStyle = css14`
|
|
5765
5988
|
--font-family: var(--typography-heading-hero-family);
|
|
5766
5989
|
--font-size: var(--typography-heading-hero-size);
|
|
5767
5990
|
--font-weight: var(--typography-heading-hero-weight);
|
|
5768
5991
|
--line-height: var(--typography-heading-hero-line-height);
|
|
5769
5992
|
`;
|
|
5770
|
-
var heading1TextStyle =
|
|
5993
|
+
var heading1TextStyle = css14`
|
|
5771
5994
|
--font-family: var(--typography-heading-1-family);
|
|
5772
5995
|
--font-size: var(--typography-heading-1-size);
|
|
5773
5996
|
--font-weight: var(--typography-heading-1-weight);
|
|
5774
5997
|
--line-height: var(--typography-heading-1-line-height);
|
|
5775
5998
|
`;
|
|
5776
|
-
var heading2TextStyle =
|
|
5999
|
+
var heading2TextStyle = css14`
|
|
5777
6000
|
--font-family: var(--typography-heading-2-family);
|
|
5778
6001
|
--font-size: var(--typography-heading-2-size);
|
|
5779
6002
|
--font-weight: var(--typography-heading-2-weight);
|
|
5780
6003
|
--line-height: var(--typography-heading-2-line-height);
|
|
5781
6004
|
`;
|
|
5782
|
-
var heading3TextStyle =
|
|
6005
|
+
var heading3TextStyle = css14`
|
|
5783
6006
|
--font-family: var(--typography-heading-3-family);
|
|
5784
6007
|
--font-size: var(--typography-heading-3-size);
|
|
5785
6008
|
--font-weight: var(--typography-heading-3-weight);
|
|
5786
6009
|
--line-height: var(--typography-heading-3-line-height);
|
|
5787
6010
|
`;
|
|
5788
|
-
var heading4TextStyle =
|
|
6011
|
+
var heading4TextStyle = css14`
|
|
5789
6012
|
--font-family: var(--typography-heading-4-family);
|
|
5790
6013
|
--font-size: var(--typography-heading-4-size);
|
|
5791
6014
|
--font-weight: var(--typography-heading-4-weight);
|
|
5792
6015
|
--line-height: var(--typography-heading-4-line-height);
|
|
5793
6016
|
`;
|
|
5794
|
-
var heading5TextStyle =
|
|
6017
|
+
var heading5TextStyle = css14`
|
|
5795
6018
|
--font-family: var(--typography-heading-5-family);
|
|
5796
6019
|
--font-size: var(--typography-heading-5-size);
|
|
5797
6020
|
--font-weight: var(--typography-heading-5-weight);
|
|
5798
6021
|
--line-height: var(--typography-heading-5-line-height);
|
|
5799
6022
|
`;
|
|
5800
|
-
var heading6TextStyle =
|
|
6023
|
+
var heading6TextStyle = css14`
|
|
5801
6024
|
--font-family: var(--typography-heading-6-family);
|
|
5802
6025
|
--font-size: var(--typography-heading-6-size);
|
|
5803
6026
|
--font-weight: var(--typography-heading-6-weight);
|
|
@@ -5813,7 +6036,7 @@ var variantStyleMap = {
|
|
|
5813
6036
|
heading6: heading6TextStyle
|
|
5814
6037
|
};
|
|
5815
6038
|
var DEFAULT_ELEMENT = "h1";
|
|
5816
|
-
var StyledHeading =
|
|
6039
|
+
var StyledHeading = styled14.div`
|
|
5817
6040
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
5818
6041
|
font-family: var(--font-family);
|
|
5819
6042
|
font-size: var(--font-size);
|
|
@@ -5822,16 +6045,16 @@ var StyledHeading = styled11.div`
|
|
|
5822
6045
|
color: var(--color-text);
|
|
5823
6046
|
${({ $variant }) => variantStyleMap[$variant]}
|
|
5824
6047
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
5825
|
-
${({ $inline }) => $inline &&
|
|
6048
|
+
${({ $inline }) => $inline && css14`
|
|
5826
6049
|
display: inline-block;
|
|
5827
6050
|
`}
|
|
5828
|
-
${({ $disabled }) => $disabled &&
|
|
6051
|
+
${({ $disabled }) => $disabled && css14`
|
|
5829
6052
|
color: var(--color-text-disabled);
|
|
5830
6053
|
`}
|
|
5831
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6054
|
+
${({ $preventUserSelect }) => $preventUserSelect && css14`
|
|
5832
6055
|
user-select: none;
|
|
5833
6056
|
`}
|
|
5834
|
-
${({ $align }) =>
|
|
6057
|
+
${({ $align }) => css14`
|
|
5835
6058
|
text-align: ${$align};
|
|
5836
6059
|
`}
|
|
5837
6060
|
margin: 0;
|
|
@@ -5845,7 +6068,7 @@ var variantElementMap = {
|
|
|
5845
6068
|
heading5: "h5",
|
|
5846
6069
|
heading6: "h6"
|
|
5847
6070
|
};
|
|
5848
|
-
var HeadingComponent =
|
|
6071
|
+
var HeadingComponent = forwardRef5(
|
|
5849
6072
|
({
|
|
5850
6073
|
align = "left",
|
|
5851
6074
|
colorScheme = "inherit",
|
|
@@ -5856,7 +6079,7 @@ var HeadingComponent = forwardRef4(
|
|
|
5856
6079
|
variant = "heading1",
|
|
5857
6080
|
renderAs,
|
|
5858
6081
|
...otherProps
|
|
5859
|
-
}, ref) => /* @__PURE__ */
|
|
6082
|
+
}, ref) => /* @__PURE__ */ jsx169(
|
|
5860
6083
|
StyledHeading,
|
|
5861
6084
|
{
|
|
5862
6085
|
ref,
|
|
@@ -5876,8 +6099,8 @@ HeadingComponent.displayName = "Heading";
|
|
|
5876
6099
|
var Heading = makePolymorphic(HeadingComponent);
|
|
5877
6100
|
|
|
5878
6101
|
// src/components/IconButton/IconButton.tsx
|
|
5879
|
-
import { Children as Children2, cloneElement as cloneElement2, forwardRef as
|
|
5880
|
-
import
|
|
6102
|
+
import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef6 } from "react";
|
|
6103
|
+
import styled16 from "styled-components";
|
|
5881
6104
|
|
|
5882
6105
|
// src/components/Tooltip/Tooltip.tsx
|
|
5883
6106
|
import {
|
|
@@ -5887,16 +6110,16 @@ import {
|
|
|
5887
6110
|
Portal,
|
|
5888
6111
|
Arrow
|
|
5889
6112
|
} from "@radix-ui/react-tooltip";
|
|
5890
|
-
import
|
|
5891
|
-
import { jsx as
|
|
5892
|
-
var CompactTooltipStyles =
|
|
6113
|
+
import styled15, { css as css15 } from "styled-components";
|
|
6114
|
+
import { jsx as jsx170, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
6115
|
+
var CompactTooltipStyles = css15`
|
|
5893
6116
|
--tooltip-font-size: var(--typography-label-4-size);
|
|
5894
6117
|
--tooltip-line-height: var(--typography-label-4-line-height);
|
|
5895
6118
|
--tooltip-font-weight: var(--typography-label-4-weight);
|
|
5896
6119
|
--tooltip-horizontal-padding: var(--space-02);
|
|
5897
6120
|
--tooltip-vertical-padding: var(--space-03);
|
|
5898
6121
|
`;
|
|
5899
|
-
var StyledContent =
|
|
6122
|
+
var StyledContent = styled15(Content)`
|
|
5900
6123
|
--tooltip-font-family: var(--typography-family-default);
|
|
5901
6124
|
--tooltip-border-radius: var(--border-radius-05);
|
|
5902
6125
|
--tooltip-bg: var(--color-bg-tooltip);
|
|
@@ -5954,14 +6177,14 @@ var Tooltip = ({
|
|
|
5954
6177
|
if (forceOpen === true) {
|
|
5955
6178
|
rootProps.open = true;
|
|
5956
6179
|
}
|
|
5957
|
-
return /* @__PURE__ */
|
|
6180
|
+
return /* @__PURE__ */ jsxs7(
|
|
5958
6181
|
Root,
|
|
5959
6182
|
{
|
|
5960
6183
|
delayDuration: delay,
|
|
5961
6184
|
...rootProps,
|
|
5962
6185
|
children: [
|
|
5963
|
-
/* @__PURE__ */
|
|
5964
|
-
/* @__PURE__ */
|
|
6186
|
+
/* @__PURE__ */ jsx170(Trigger, { asChild: true, children }),
|
|
6187
|
+
/* @__PURE__ */ jsx170(Portal, { children: /* @__PURE__ */ jsxs7(
|
|
5965
6188
|
StyledContent,
|
|
5966
6189
|
{
|
|
5967
6190
|
$compact: compact,
|
|
@@ -5969,7 +6192,7 @@ var Tooltip = ({
|
|
|
5969
6192
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
5970
6193
|
children: [
|
|
5971
6194
|
content,
|
|
5972
|
-
!hideArrow ? /* @__PURE__ */
|
|
6195
|
+
!hideArrow ? /* @__PURE__ */ jsx170(Arrow, { asChild: true, children: /* @__PURE__ */ jsx170(
|
|
5973
6196
|
"svg",
|
|
5974
6197
|
{
|
|
5975
6198
|
fill: "var(--tooltip-bg)",
|
|
@@ -5978,7 +6201,7 @@ var Tooltip = ({
|
|
|
5978
6201
|
viewBox: "0 0 12 8",
|
|
5979
6202
|
width: "12",
|
|
5980
6203
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5981
|
-
children: /* @__PURE__ */
|
|
6204
|
+
children: /* @__PURE__ */ jsx170("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" })
|
|
5982
6205
|
}
|
|
5983
6206
|
) }) : null
|
|
5984
6207
|
]
|
|
@@ -5991,8 +6214,8 @@ var Tooltip = ({
|
|
|
5991
6214
|
Tooltip.displayName = "Tooltip";
|
|
5992
6215
|
|
|
5993
6216
|
// src/components/IconButton/IconButton.tsx
|
|
5994
|
-
import { jsx as
|
|
5995
|
-
var StyledButton2 =
|
|
6217
|
+
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
6218
|
+
var StyledButton2 = styled16(Button)`
|
|
5996
6219
|
--icon-button-size-sm: 24px;
|
|
5997
6220
|
--icon-button-size-md: 32px;
|
|
5998
6221
|
--icon-button-size-lg: 40px;
|
|
@@ -6006,10 +6229,10 @@ var StyledButton2 = styled13(Button)`
|
|
|
6006
6229
|
align-items: center;
|
|
6007
6230
|
line-height: 1;
|
|
6008
6231
|
`;
|
|
6009
|
-
var IconButton =
|
|
6232
|
+
var IconButton = forwardRef6(
|
|
6010
6233
|
({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
|
|
6011
6234
|
const responsiveSize = useResponsiveProp(size);
|
|
6012
|
-
const button = /* @__PURE__ */
|
|
6235
|
+
const button = /* @__PURE__ */ jsx171(
|
|
6013
6236
|
StyledButton2,
|
|
6014
6237
|
{
|
|
6015
6238
|
...props,
|
|
@@ -6025,211 +6248,217 @@ var IconButton = forwardRef5(
|
|
|
6025
6248
|
if (disableTooltip) {
|
|
6026
6249
|
return button;
|
|
6027
6250
|
}
|
|
6028
|
-
return /* @__PURE__ */
|
|
6251
|
+
return /* @__PURE__ */ jsx171(Tooltip, { content: label, children: button });
|
|
6029
6252
|
}
|
|
6030
6253
|
);
|
|
6031
6254
|
IconButton.displayName = "IconButton";
|
|
6032
6255
|
|
|
6033
|
-
// src/components/
|
|
6034
|
-
import
|
|
6035
|
-
import {
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
|
|
6256
|
+
// src/components/Menu/Menu.tsx
|
|
6257
|
+
import styled17, { css as css16, keyframes } from "styled-components";
|
|
6258
|
+
import {
|
|
6259
|
+
DropdownMenu,
|
|
6260
|
+
DropdownMenuTrigger,
|
|
6261
|
+
DropdownMenuPortal,
|
|
6262
|
+
DropdownMenuContent
|
|
6263
|
+
} from "@radix-ui/react-dropdown-menu";
|
|
6264
|
+
import { isNotNil as isNotNil6, isNotUndefined as isNotUndefined4 } from "@wistia/type-guards";
|
|
6265
|
+
import { jsx as jsx172, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
6266
|
+
var open = keyframes`
|
|
6267
|
+
from {
|
|
6268
|
+
opacity: 0;
|
|
6269
|
+
transform: scale(.97) translateY(-8px);
|
|
6270
|
+
}
|
|
6271
|
+
to {
|
|
6272
|
+
opacity: 1;
|
|
6273
|
+
transform: scale(1);
|
|
6042
6274
|
}
|
|
6043
6275
|
`;
|
|
6044
|
-
var
|
|
6045
|
-
|
|
6276
|
+
var close = keyframes`
|
|
6277
|
+
from {
|
|
6278
|
+
opacity: 1;
|
|
6279
|
+
transform: scale(1);
|
|
6280
|
+
}
|
|
6281
|
+
to {
|
|
6282
|
+
opacity: 0;
|
|
6283
|
+
transform: scale(.97) translateY(-8px);
|
|
6284
|
+
}
|
|
6046
6285
|
`;
|
|
6047
|
-
var
|
|
6048
|
-
var
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6286
|
+
var menuContentCss = css16`
|
|
6287
|
+
--menu-font-family: var(--typography-family-default);
|
|
6288
|
+
--menu-bg: var(--color-bg-fill-white); /* TODO - Not sure what token to use for this */
|
|
6289
|
+
--menu-shadow: 0 0 64px 0 rgba(0 0 0 / 8%); /* TODO - Need a box-shadow token */
|
|
6290
|
+
--menu-border-radius: var(--border-radius-01);
|
|
6291
|
+
--menu-padding: var(--space-03);
|
|
6292
|
+
--menu-min-width: 120px;
|
|
6293
|
+
--menu-max-width: 284px;
|
|
6294
|
+
--menu-zindex: 500; /* TODO - need z-index token */
|
|
6295
|
+
|
|
6296
|
+
animation: ${open}; /* TODO - need easing tokens */
|
|
6297
|
+
font-family: var(--menu-font-family);
|
|
6298
|
+
background: var(--menu-bg);
|
|
6299
|
+
border-radius: var(--menu-border-radius);
|
|
6300
|
+
box-shadow: var(--menu-shadow); /* TODO - Need a box-shadow token */
|
|
6301
|
+
max-height: var(--radix-dropdown-menu-content-available-height);
|
|
6302
|
+
min-width: var(--menu-min-width);
|
|
6303
|
+
max-width: var(--menu-max-width);
|
|
6304
|
+
overflow: auto;
|
|
6305
|
+
padding: var(--menu-padding);
|
|
6306
|
+
transform-origin: var(--radix-dropdown-menu-content-transform-origin);
|
|
6307
|
+
z-index: var(--menu-zindex);
|
|
6308
|
+
|
|
6309
|
+
&[data-state='closed'] {
|
|
6310
|
+
animation: ${close}; /* TODO - need easing tokens */
|
|
6063
6311
|
}
|
|
6064
6312
|
|
|
6065
|
-
|
|
6066
|
-
|
|
6313
|
+
${mq.smAndUp} {
|
|
6314
|
+
bottom: 0;
|
|
6315
|
+
padding: var(--menu-padding);
|
|
6316
|
+
right: 0;
|
|
6317
|
+
top: 0;
|
|
6318
|
+
transform: initial;
|
|
6067
6319
|
}
|
|
6068
6320
|
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
${({ required }) => required && requiredStyle}
|
|
6072
|
-
`;
|
|
6073
|
-
var Label = ({
|
|
6074
|
-
children,
|
|
6075
|
-
disabled = false,
|
|
6076
|
-
htmlFor,
|
|
6077
|
-
required = false,
|
|
6078
|
-
screenReaderOnly = false,
|
|
6079
|
-
...otherProps
|
|
6080
|
-
}) => /* @__PURE__ */ jsx169(
|
|
6081
|
-
StyledLabel,
|
|
6082
|
-
{
|
|
6083
|
-
disabled,
|
|
6084
|
-
htmlFor,
|
|
6085
|
-
required,
|
|
6086
|
-
screenReaderOnly,
|
|
6087
|
-
...otherProps,
|
|
6088
|
-
children
|
|
6321
|
+
hr {
|
|
6322
|
+
margin: var(--space-02) 0;
|
|
6089
6323
|
}
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
import { jsx as jsx170 } from "react/jsx-runtime";
|
|
6097
|
-
var VisuallyHidden = styled15.div({ ...visuallyHiddenStyle });
|
|
6098
|
-
var VisuallyHiddenButFocusable = styled15.div({
|
|
6099
|
-
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6100
|
-
});
|
|
6101
|
-
var ScreenReaderOnly = ({
|
|
6102
|
-
text,
|
|
6324
|
+
`;
|
|
6325
|
+
var MenuContent = styled17(DropdownMenuContent)`
|
|
6326
|
+
${menuContentCss}
|
|
6327
|
+
`;
|
|
6328
|
+
var Menu = ({
|
|
6329
|
+
align = "start",
|
|
6103
6330
|
children,
|
|
6104
|
-
|
|
6105
|
-
|
|
6331
|
+
trigger,
|
|
6332
|
+
label,
|
|
6333
|
+
isOpen,
|
|
6334
|
+
triggerProps = {},
|
|
6335
|
+
onOpenChange,
|
|
6336
|
+
onInteractOutside,
|
|
6337
|
+
...props
|
|
6106
6338
|
}) => {
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6339
|
+
return /* @__PURE__ */ jsxs8(
|
|
6340
|
+
DropdownMenu,
|
|
6341
|
+
{
|
|
6342
|
+
modal: false,
|
|
6343
|
+
...isNotNil6(onOpenChange) && isNotNil6(isOpen) ? { open: isOpen, onOpenChange } : {},
|
|
6344
|
+
children: [
|
|
6345
|
+
/* @__PURE__ */ jsx172(DropdownMenuTrigger, { asChild: true, children: isNotUndefined4(trigger) ? trigger : /* @__PURE__ */ jsx172(
|
|
6346
|
+
Button,
|
|
6347
|
+
{
|
|
6348
|
+
"aria-expanded": isOpen,
|
|
6349
|
+
forceState: isOpen ? "active" : void 0,
|
|
6350
|
+
rightIcon: /* @__PURE__ */ jsx172(Icon, { type: "caret-down" }),
|
|
6351
|
+
...triggerProps,
|
|
6352
|
+
children: label
|
|
6353
|
+
}
|
|
6354
|
+
) }),
|
|
6355
|
+
/* @__PURE__ */ jsx172(DropdownMenuPortal, { children: /* @__PURE__ */ jsx172(
|
|
6356
|
+
MenuContent,
|
|
6357
|
+
{
|
|
6358
|
+
...props,
|
|
6359
|
+
align,
|
|
6360
|
+
onFocusOutside: (event) => {
|
|
6361
|
+
event.preventDefault();
|
|
6362
|
+
},
|
|
6363
|
+
sideOffset: 6,
|
|
6364
|
+
children
|
|
6365
|
+
}
|
|
6366
|
+
) })
|
|
6367
|
+
]
|
|
6368
|
+
}
|
|
6369
|
+
);
|
|
6112
6370
|
};
|
|
6113
|
-
|
|
6371
|
+
Menu.displayName = "Menu";
|
|
6114
6372
|
|
|
6115
|
-
// src/components/
|
|
6116
|
-
import
|
|
6117
|
-
import
|
|
6118
|
-
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
6119
|
-
var DEFAULT_ELEMENT2 = "div";
|
|
6120
|
-
var StyledStack = styled16.div`
|
|
6121
|
-
display: flex;
|
|
6122
|
-
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6123
|
-
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6124
|
-
|
|
6125
|
-
> * {
|
|
6126
|
-
flex: 1;
|
|
6127
|
-
}
|
|
6128
|
-
`;
|
|
6129
|
-
var StackComponent = forwardRef6(
|
|
6130
|
-
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6131
|
-
const responsiveGap = useResponsiveProp(gap);
|
|
6132
|
-
const responsiveDirection = useResponsiveProp(direction);
|
|
6133
|
-
return /* @__PURE__ */ jsx171(
|
|
6134
|
-
StyledStack,
|
|
6135
|
-
{
|
|
6136
|
-
ref,
|
|
6137
|
-
$direction: responsiveDirection,
|
|
6138
|
-
$gap: responsiveGap,
|
|
6139
|
-
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6140
|
-
...props
|
|
6141
|
-
}
|
|
6142
|
-
);
|
|
6143
|
-
}
|
|
6144
|
-
);
|
|
6145
|
-
StackComponent.displayName = "Stack";
|
|
6146
|
-
var Stack = makePolymorphic(StackComponent);
|
|
6373
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6374
|
+
import styled19 from "styled-components";
|
|
6375
|
+
import { DropdownMenuLabel } from "@radix-ui/react-dropdown-menu";
|
|
6147
6376
|
|
|
6148
6377
|
// src/components/Text/Text.tsx
|
|
6149
6378
|
import { forwardRef as forwardRef7 } from "react";
|
|
6150
|
-
import
|
|
6151
|
-
import { jsx as
|
|
6152
|
-
var bodyBoldStyles =
|
|
6379
|
+
import styled18, { css as css17 } from "styled-components";
|
|
6380
|
+
import { jsx as jsx173 } from "react/jsx-runtime";
|
|
6381
|
+
var bodyBoldStyles = css17`
|
|
6153
6382
|
> strong,
|
|
6154
6383
|
b {
|
|
6155
6384
|
font-weight: var(--typography-weight-body-bold);
|
|
6156
6385
|
}
|
|
6157
6386
|
`;
|
|
6158
|
-
var labelBoldStyles =
|
|
6387
|
+
var labelBoldStyles = css17`
|
|
6159
6388
|
> strong,
|
|
6160
6389
|
b {
|
|
6161
6390
|
font-weight: var(--typography-weight-label-bold);
|
|
6162
6391
|
}
|
|
6163
6392
|
`;
|
|
6164
|
-
var body1TextStyle =
|
|
6393
|
+
var body1TextStyle = css17`
|
|
6165
6394
|
--font-family: var(--typography-body-1-family);
|
|
6166
6395
|
--font-size: var(--typography-body-1-size);
|
|
6167
6396
|
--font-weight: var(--typography-body-1-weight);
|
|
6168
6397
|
--line-height: var(--typography-body-1-line-height);
|
|
6169
6398
|
${bodyBoldStyles}
|
|
6170
6399
|
`;
|
|
6171
|
-
var body2TextStyle =
|
|
6400
|
+
var body2TextStyle = css17`
|
|
6172
6401
|
--font-family: var(--typography-body-2-family);
|
|
6173
6402
|
--font-size: var(--typography-body-2-size);
|
|
6174
6403
|
--font-weight: var(--typography-body-2-weight);
|
|
6175
6404
|
--line-height: var(--typography-body-2-line-height);
|
|
6176
6405
|
${bodyBoldStyles}
|
|
6177
6406
|
`;
|
|
6178
|
-
var body3TextStyle =
|
|
6407
|
+
var body3TextStyle = css17`
|
|
6179
6408
|
--font-family: var(--typography-body-3-family);
|
|
6180
6409
|
--font-size: var(--typography-body-3-size);
|
|
6181
6410
|
--font-weight: var(--typography-body-3-weight);
|
|
6182
6411
|
--line-height: var(--typography-body-3-line-height);
|
|
6183
6412
|
${bodyBoldStyles}
|
|
6184
6413
|
`;
|
|
6185
|
-
var body4TextStyle =
|
|
6414
|
+
var body4TextStyle = css17`
|
|
6186
6415
|
--font-family: var(--typography-body-4-family);
|
|
6187
6416
|
--font-size: var(--typography-body-4-size);
|
|
6188
6417
|
--font-weight: var(--typography-body-4-weight);
|
|
6189
6418
|
--line-height: var(--typography-body-4-line-height);
|
|
6190
6419
|
${bodyBoldStyles}
|
|
6191
6420
|
`;
|
|
6192
|
-
var label1TextStyle =
|
|
6421
|
+
var label1TextStyle = css17`
|
|
6193
6422
|
--font-family: var(--typography-label-1-family);
|
|
6194
6423
|
--font-size: var(--typography-label-1-size);
|
|
6195
6424
|
--font-weight: var(--typography-label-1-weight);
|
|
6196
6425
|
--line-height: var(--typography-label-1-line-height);
|
|
6197
6426
|
${labelBoldStyles}
|
|
6198
6427
|
`;
|
|
6199
|
-
var label2TextStyle =
|
|
6428
|
+
var label2TextStyle = css17`
|
|
6200
6429
|
--font-family: var(--typography-label-2-family);
|
|
6201
6430
|
--font-size: var(--typography-label-2-size);
|
|
6202
6431
|
--font-weight: var(--typography-label-2-weight);
|
|
6203
6432
|
--line-height: var(--typography-label-2-line-height);
|
|
6204
6433
|
${labelBoldStyles}
|
|
6205
6434
|
`;
|
|
6206
|
-
var label3TextStyle =
|
|
6435
|
+
var label3TextStyle = css17`
|
|
6207
6436
|
--font-family: var(--typography-label-3-family);
|
|
6208
6437
|
--font-size: var(--typography-label-3-size);
|
|
6209
6438
|
--font-weight: var(--typography-label-3-weight);
|
|
6210
6439
|
--line-height: var(--typography-label-3-line-height);
|
|
6211
6440
|
${labelBoldStyles}
|
|
6212
6441
|
`;
|
|
6213
|
-
var label4TextStyle =
|
|
6442
|
+
var label4TextStyle = css17`
|
|
6214
6443
|
--font-family: var(--typography-label-4-family);
|
|
6215
6444
|
--font-size: var(--typography-label-4-size);
|
|
6216
6445
|
--font-weight: var(--typography-label-4-weight);
|
|
6217
6446
|
--line-height: var(--typography-label-4-line-height);
|
|
6218
6447
|
${labelBoldStyles}
|
|
6219
6448
|
`;
|
|
6220
|
-
var body1MonoTextStyle =
|
|
6449
|
+
var body1MonoTextStyle = css17`
|
|
6221
6450
|
${body1TextStyle};
|
|
6222
6451
|
--font-family: var(--typography-family-mono);
|
|
6223
6452
|
`;
|
|
6224
|
-
var body2MonoTextStyle =
|
|
6453
|
+
var body2MonoTextStyle = css17`
|
|
6225
6454
|
${body2TextStyle};
|
|
6226
6455
|
--font-family: var(--typography-family-mono);
|
|
6227
6456
|
`;
|
|
6228
|
-
var body3MonoTextStyle =
|
|
6457
|
+
var body3MonoTextStyle = css17`
|
|
6229
6458
|
${body3TextStyle};
|
|
6230
6459
|
--font-family: var(--typography-family-mono);
|
|
6231
6460
|
`;
|
|
6232
|
-
var body4MonoTextStyle =
|
|
6461
|
+
var body4MonoTextStyle = css17`
|
|
6233
6462
|
${body4TextStyle};
|
|
6234
6463
|
--font-family: var(--typography-family-mono);
|
|
6235
6464
|
`;
|
|
@@ -6247,13 +6476,13 @@ var variantStyleMap2 = {
|
|
|
6247
6476
|
label3: label3TextStyle,
|
|
6248
6477
|
label4: label4TextStyle
|
|
6249
6478
|
};
|
|
6250
|
-
var highContrastProminenceStyle =
|
|
6479
|
+
var highContrastProminenceStyle = css17`
|
|
6251
6480
|
--text-color: var(--color-text-high-contrast);
|
|
6252
6481
|
`;
|
|
6253
|
-
var vibrantProminenceStyle =
|
|
6482
|
+
var vibrantProminenceStyle = css17`
|
|
6254
6483
|
--text-color: var(--color-text);
|
|
6255
6484
|
`;
|
|
6256
|
-
var secondaryProminenceStyle =
|
|
6485
|
+
var secondaryProminenceStyle = css17`
|
|
6257
6486
|
--text-color: var(--color-text-secondary);
|
|
6258
6487
|
`;
|
|
6259
6488
|
var prominenceMap = {
|
|
@@ -6261,7 +6490,7 @@ var prominenceMap = {
|
|
|
6261
6490
|
vibrant: vibrantProminenceStyle,
|
|
6262
6491
|
secondary: secondaryProminenceStyle
|
|
6263
6492
|
};
|
|
6264
|
-
var StyledText =
|
|
6493
|
+
var StyledText = styled18.div`
|
|
6265
6494
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
6266
6495
|
font-family: var(--font-family);
|
|
6267
6496
|
font-size: var(--font-size);
|
|
@@ -6273,23 +6502,23 @@ var StyledText = styled17.div`
|
|
|
6273
6502
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
6274
6503
|
${({ $prominence }) => prominenceMap[$prominence]}
|
|
6275
6504
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
6276
|
-
${({ $inline }) => $inline &&
|
|
6505
|
+
${({ $inline }) => $inline && css17`
|
|
6277
6506
|
display: inline-block;
|
|
6278
6507
|
`}
|
|
6279
|
-
${({ $disabled }) => $disabled &&
|
|
6508
|
+
${({ $disabled }) => $disabled && css17`
|
|
6280
6509
|
--text-color: var(--color-text-disabled);
|
|
6281
6510
|
`}
|
|
6282
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6511
|
+
${({ $preventUserSelect }) => $preventUserSelect && css17`
|
|
6283
6512
|
user-select: none;
|
|
6284
6513
|
`}
|
|
6285
|
-
${({ $align }) =>
|
|
6514
|
+
${({ $align }) => css17`
|
|
6286
6515
|
text-align: ${$align};
|
|
6287
6516
|
`}
|
|
6288
|
-
${({ as }) => as === "p" &&
|
|
6517
|
+
${({ as }) => as === "p" && css17`
|
|
6289
6518
|
display: block;
|
|
6290
6519
|
`}
|
|
6291
6520
|
`;
|
|
6292
|
-
var
|
|
6521
|
+
var DEFAULT_ELEMENT2 = "div";
|
|
6293
6522
|
var TextComponent = forwardRef7(
|
|
6294
6523
|
({
|
|
6295
6524
|
align = "left",
|
|
@@ -6303,7 +6532,7 @@ var TextComponent = forwardRef7(
|
|
|
6303
6532
|
renderAs,
|
|
6304
6533
|
...otherProps
|
|
6305
6534
|
}, ref) => {
|
|
6306
|
-
return /* @__PURE__ */
|
|
6535
|
+
return /* @__PURE__ */ jsx173(
|
|
6307
6536
|
StyledText,
|
|
6308
6537
|
{
|
|
6309
6538
|
ref,
|
|
@@ -6315,7 +6544,7 @@ var TextComponent = forwardRef7(
|
|
|
6315
6544
|
$preventUserSelect: preventUserSelect,
|
|
6316
6545
|
$prominence: prominence,
|
|
6317
6546
|
$variant: variant,
|
|
6318
|
-
as: renderAs ??
|
|
6547
|
+
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6319
6548
|
...otherProps
|
|
6320
6549
|
}
|
|
6321
6550
|
);
|
|
@@ -6324,21 +6553,408 @@ var TextComponent = forwardRef7(
|
|
|
6324
6553
|
TextComponent.displayName = "Text";
|
|
6325
6554
|
var Text = makePolymorphic(TextComponent);
|
|
6326
6555
|
|
|
6556
|
+
// src/components/Menu/MenuLabel.tsx
|
|
6557
|
+
import { jsx as jsx174 } from "react/jsx-runtime";
|
|
6558
|
+
var StyledMenuLabel = styled19(DropdownMenuLabel)`
|
|
6559
|
+
padding: var(--space-02);
|
|
6560
|
+
`;
|
|
6561
|
+
var MenuLabel = ({ children, ...props }) => {
|
|
6562
|
+
return /* @__PURE__ */ jsx174(
|
|
6563
|
+
StyledMenuLabel,
|
|
6564
|
+
{
|
|
6565
|
+
asChild: true,
|
|
6566
|
+
...props,
|
|
6567
|
+
children: /* @__PURE__ */ jsx174(
|
|
6568
|
+
Text,
|
|
6569
|
+
{
|
|
6570
|
+
variant: "label3",
|
|
6571
|
+
...props,
|
|
6572
|
+
children
|
|
6573
|
+
}
|
|
6574
|
+
)
|
|
6575
|
+
}
|
|
6576
|
+
);
|
|
6577
|
+
};
|
|
6578
|
+
MenuLabel.displayName = "MenuLabel";
|
|
6579
|
+
|
|
6580
|
+
// src/components/Menu/SubMenu.tsx
|
|
6581
|
+
import { useState as useState4 } from "react";
|
|
6582
|
+
import styled22 from "styled-components";
|
|
6583
|
+
import {
|
|
6584
|
+
DropdownMenuPortal as DropdownMenuPortal2,
|
|
6585
|
+
DropdownMenuSub,
|
|
6586
|
+
DropdownMenuGroup,
|
|
6587
|
+
DropdownMenuSubContent,
|
|
6588
|
+
DropdownMenuSubTrigger,
|
|
6589
|
+
DropdownMenuItem
|
|
6590
|
+
} from "@radix-ui/react-dropdown-menu";
|
|
6591
|
+
|
|
6592
|
+
// src/components/Menu/MenuItemButton.tsx
|
|
6593
|
+
import { forwardRef as forwardRef8 } from "react";
|
|
6594
|
+
import styled20 from "styled-components";
|
|
6595
|
+
import { isNotNil as isNotNil7, isNotUndefined as isNotUndefined5 } from "@wistia/type-guards";
|
|
6596
|
+
import { jsx as jsx175, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
6597
|
+
var StyledButton3 = styled20(Button)`
|
|
6598
|
+
--menu-item-border-radius: var(--border-radius-01);
|
|
6599
|
+
--menu-item-gap: var(--space-01);
|
|
6600
|
+
--menu-item-inner-gap: var(--space-04);
|
|
6601
|
+
--menu-item-disabled-bg: var(--color-white);
|
|
6602
|
+
|
|
6603
|
+
text-align: left;
|
|
6604
|
+
align-items: left;
|
|
6605
|
+
border-radius: var(--menu-item-border-radius);
|
|
6606
|
+
display: flex;
|
|
6607
|
+
|
|
6608
|
+
&[aria-disabled='true'] {
|
|
6609
|
+
background-color: var(--menu-item-disabled-bg);
|
|
6610
|
+
}
|
|
6611
|
+
|
|
6612
|
+
${({ $isGated }) => isNotUndefined5($isGated) && $isGated ? `color: var(--color-text);` : ""}
|
|
6613
|
+
`;
|
|
6614
|
+
var StyledMenuContent = styled20.div`
|
|
6615
|
+
display: grid;
|
|
6616
|
+
grid-template-areas:
|
|
6617
|
+
'label badge'
|
|
6618
|
+
'description badge';
|
|
6619
|
+
grid-template-columns: 1fr auto;
|
|
6620
|
+
position: relative;
|
|
6621
|
+
align-content: center;
|
|
6622
|
+
`;
|
|
6623
|
+
var StyledBadgeContainer = styled20.div`
|
|
6624
|
+
grid-area: badge;
|
|
6625
|
+
align-self: start;
|
|
6626
|
+
justify-self: end;
|
|
6627
|
+
margin-left: var(--menu-item-inner-gap);
|
|
6628
|
+
`;
|
|
6629
|
+
var MenuItemButton = forwardRef8(({ children, appearance, command, ...props }, ref) => {
|
|
6630
|
+
let { colorScheme, badge } = props;
|
|
6631
|
+
if (appearance === "dangerous") {
|
|
6632
|
+
if (isNotUndefined5(colorScheme)) {
|
|
6633
|
+
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
6634
|
+
}
|
|
6635
|
+
colorScheme = "error";
|
|
6636
|
+
}
|
|
6637
|
+
if (appearance === "gated") {
|
|
6638
|
+
if (isNotUndefined5(colorScheme)) {
|
|
6639
|
+
console.warn("colorScheme prop is ignored when appearance is gated");
|
|
6640
|
+
}
|
|
6641
|
+
colorScheme = "purple";
|
|
6642
|
+
badge = /* @__PURE__ */ jsx175(Icon, { type: "sparkle" });
|
|
6643
|
+
}
|
|
6644
|
+
return /* @__PURE__ */ jsx175(
|
|
6645
|
+
StyledButton3,
|
|
6646
|
+
{
|
|
6647
|
+
...props,
|
|
6648
|
+
ref,
|
|
6649
|
+
$isGated: appearance === "gated",
|
|
6650
|
+
colorScheme: colorScheme ?? "default",
|
|
6651
|
+
fullWidth: true,
|
|
6652
|
+
variant: "ghost",
|
|
6653
|
+
children: /* @__PURE__ */ jsxs9(StyledMenuContent, { children: [
|
|
6654
|
+
children,
|
|
6655
|
+
isNotNil7(badge) || isNotNil7(command) ? /* @__PURE__ */ jsx175(StyledBadgeContainer, { children: badge ?? command }) : null
|
|
6656
|
+
] })
|
|
6657
|
+
}
|
|
6658
|
+
);
|
|
6659
|
+
});
|
|
6660
|
+
MenuItemButton.displayName = "MenuItemButton";
|
|
6661
|
+
|
|
6662
|
+
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
6663
|
+
import styled21 from "styled-components";
|
|
6664
|
+
import { jsx as jsx176 } from "react/jsx-runtime";
|
|
6665
|
+
var StyledMenuItemLabel = styled21(Text).attrs({ variant: "label3" })`
|
|
6666
|
+
grid-area: label;
|
|
6667
|
+
`;
|
|
6668
|
+
var StyledMenuItemDescription = styled21(Text).attrs({
|
|
6669
|
+
variant: "label4",
|
|
6670
|
+
prominence: "secondary"
|
|
6671
|
+
})`
|
|
6672
|
+
margin-top: var(--menu-item-gap);
|
|
6673
|
+
grid-area: description;
|
|
6674
|
+
`;
|
|
6675
|
+
var MenuItemLabel = ({ children }) => {
|
|
6676
|
+
return /* @__PURE__ */ jsx176(StyledMenuItemLabel, { children });
|
|
6677
|
+
};
|
|
6678
|
+
var MenuItemDescription = ({ children }) => {
|
|
6679
|
+
return /* @__PURE__ */ jsx176(StyledMenuItemDescription, { children });
|
|
6680
|
+
};
|
|
6681
|
+
|
|
6682
|
+
// src/components/Menu/SubMenu.tsx
|
|
6683
|
+
import { jsx as jsx177, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
6684
|
+
var SubMenuContent = styled22(DropdownMenuSubContent)`
|
|
6685
|
+
${menuContentCss}
|
|
6686
|
+
width: 298px;
|
|
6687
|
+
|
|
6688
|
+
${mq.smAndDown} {
|
|
6689
|
+
transform: translateX(-100%) !important;
|
|
6690
|
+
}
|
|
6691
|
+
`;
|
|
6692
|
+
var StyledMobileSubMenuItems = styled22.div`
|
|
6693
|
+
margin-left: var(--space-04);
|
|
6694
|
+
`;
|
|
6695
|
+
var StyledSubTrigger = styled22(DropdownMenuSubTrigger)`
|
|
6696
|
+
outline: none;
|
|
6697
|
+
|
|
6698
|
+
&[data-state='open'],
|
|
6699
|
+
&[data-highlighted] {
|
|
6700
|
+
background-color: var(--button-color-bg-hover);
|
|
6701
|
+
}
|
|
6702
|
+
`;
|
|
6703
|
+
var SubMenuTrigger = (props) => {
|
|
6704
|
+
const { isSmAndUp } = useMq();
|
|
6705
|
+
const Trigger2 = isSmAndUp ? StyledSubTrigger : DropdownMenuItem;
|
|
6706
|
+
return /* @__PURE__ */ jsx177(Trigger2, { asChild: true, children: /* @__PURE__ */ jsx177(
|
|
6707
|
+
MenuItemButton,
|
|
6708
|
+
{
|
|
6709
|
+
...props,
|
|
6710
|
+
rightIcon: /* @__PURE__ */ jsx177(Icon, { type: "caret-right" })
|
|
6711
|
+
}
|
|
6712
|
+
) });
|
|
6713
|
+
};
|
|
6714
|
+
var SubMenu = ({
|
|
6715
|
+
label,
|
|
6716
|
+
description,
|
|
6717
|
+
children,
|
|
6718
|
+
onOpenChange = () => null,
|
|
6719
|
+
...props
|
|
6720
|
+
}) => {
|
|
6721
|
+
const { isSmAndUp } = useMq();
|
|
6722
|
+
const [isExpanded, setIsExpanded] = useState4(false);
|
|
6723
|
+
return isSmAndUp ? /* @__PURE__ */ jsxs10(DropdownMenuSub, { onOpenChange, children: [
|
|
6724
|
+
/* @__PURE__ */ jsxs10(SubMenuTrigger, { ...props, children: [
|
|
6725
|
+
/* @__PURE__ */ jsx177(MenuItemLabel, { children: label }),
|
|
6726
|
+
/* @__PURE__ */ jsx177(MenuItemDescription, { children: description })
|
|
6727
|
+
] }),
|
|
6728
|
+
/* @__PURE__ */ jsx177(DropdownMenuPortal2, { children: /* @__PURE__ */ jsx177(SubMenuContent, { children }) })
|
|
6729
|
+
] }) : /* @__PURE__ */ jsxs10(DropdownMenuGroup, { children: [
|
|
6730
|
+
/* @__PURE__ */ jsxs10(
|
|
6731
|
+
SubMenuTrigger,
|
|
6732
|
+
{
|
|
6733
|
+
...props,
|
|
6734
|
+
onClick: (event) => {
|
|
6735
|
+
event.preventDefault();
|
|
6736
|
+
setIsExpanded((prev) => !prev);
|
|
6737
|
+
},
|
|
6738
|
+
children: [
|
|
6739
|
+
/* @__PURE__ */ jsx177(MenuItemLabel, { children: label }),
|
|
6740
|
+
/* @__PURE__ */ jsx177(MenuItemDescription, { children: description })
|
|
6741
|
+
]
|
|
6742
|
+
}
|
|
6743
|
+
),
|
|
6744
|
+
/* @__PURE__ */ jsx177(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
6745
|
+
] });
|
|
6746
|
+
};
|
|
6747
|
+
SubMenu.displayName = "SubMenu";
|
|
6748
|
+
|
|
6749
|
+
// src/components/Menu/MenuItem.tsx
|
|
6750
|
+
import { forwardRef as forwardRef9 } from "react";
|
|
6751
|
+
import { DropdownMenuItem as DropdownMenuItem2 } from "@radix-ui/react-dropdown-menu";
|
|
6752
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
6753
|
+
var MenuItem = forwardRef9(
|
|
6754
|
+
({ onSelect = () => null, ...props }, ref) => {
|
|
6755
|
+
return /* @__PURE__ */ jsx178(
|
|
6756
|
+
DropdownMenuItem2,
|
|
6757
|
+
{
|
|
6758
|
+
asChild: true,
|
|
6759
|
+
onSelect,
|
|
6760
|
+
children: /* @__PURE__ */ jsx178(
|
|
6761
|
+
MenuItemButton,
|
|
6762
|
+
{
|
|
6763
|
+
...props,
|
|
6764
|
+
ref,
|
|
6765
|
+
leftIcon: props.icon
|
|
6766
|
+
}
|
|
6767
|
+
)
|
|
6768
|
+
}
|
|
6769
|
+
);
|
|
6770
|
+
}
|
|
6771
|
+
);
|
|
6772
|
+
MenuItem.displayName = "MenuItem";
|
|
6773
|
+
|
|
6774
|
+
// src/components/Menu/MenuRadioGroup.tsx
|
|
6775
|
+
import {
|
|
6776
|
+
DropdownMenuRadioGroup
|
|
6777
|
+
} from "@radix-ui/react-dropdown-menu";
|
|
6778
|
+
import { jsx as jsx179, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
6779
|
+
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
6780
|
+
return /* @__PURE__ */ jsxs11(DropdownMenuRadioGroup, { ...props, children: [
|
|
6781
|
+
/* @__PURE__ */ jsx179(MenuLabel, { children: label }),
|
|
6782
|
+
children
|
|
6783
|
+
] });
|
|
6784
|
+
};
|
|
6785
|
+
MenuRadioGroup.displayName = "MenuRadioGroup";
|
|
6786
|
+
|
|
6787
|
+
// src/components/Menu/RadioMenuItem.tsx
|
|
6788
|
+
import {
|
|
6789
|
+
DropdownMenuItemIndicator,
|
|
6790
|
+
DropdownMenuRadioItem
|
|
6791
|
+
} from "@radix-ui/react-dropdown-menu";
|
|
6792
|
+
import { jsx as jsx180 } from "react/jsx-runtime";
|
|
6793
|
+
var RadioMenuItem = ({
|
|
6794
|
+
onSelect,
|
|
6795
|
+
value,
|
|
6796
|
+
indicator = /* @__PURE__ */ jsx180(
|
|
6797
|
+
Icon,
|
|
6798
|
+
{
|
|
6799
|
+
size: "sm",
|
|
6800
|
+
type: "checkmark"
|
|
6801
|
+
}
|
|
6802
|
+
),
|
|
6803
|
+
...props
|
|
6804
|
+
}) => {
|
|
6805
|
+
const extraProps = onSelect ? { onSelect } : {};
|
|
6806
|
+
return /* @__PURE__ */ jsx180(
|
|
6807
|
+
DropdownMenuRadioItem,
|
|
6808
|
+
{
|
|
6809
|
+
...extraProps,
|
|
6810
|
+
value,
|
|
6811
|
+
children: /* @__PURE__ */ jsx180(
|
|
6812
|
+
MenuItemButton,
|
|
6813
|
+
{
|
|
6814
|
+
...props,
|
|
6815
|
+
rightIcon: /* @__PURE__ */ jsx180(DropdownMenuItemIndicator, { children: indicator })
|
|
6816
|
+
}
|
|
6817
|
+
)
|
|
6818
|
+
}
|
|
6819
|
+
);
|
|
6820
|
+
};
|
|
6821
|
+
RadioMenuItem.displayName = "RadioMenuItem";
|
|
6822
|
+
|
|
6823
|
+
// src/components/Menu/CheckboxMenuItem.tsx
|
|
6824
|
+
import {
|
|
6825
|
+
DropdownMenuItemIndicator as DropdownMenuItemIndicator2,
|
|
6826
|
+
DropdownMenuCheckboxItem
|
|
6827
|
+
} from "@radix-ui/react-dropdown-menu";
|
|
6828
|
+
import { jsx as jsx181 } from "react/jsx-runtime";
|
|
6829
|
+
var CheckboxMenuItem = ({
|
|
6830
|
+
onSelect,
|
|
6831
|
+
checked,
|
|
6832
|
+
onCheckedChange,
|
|
6833
|
+
indicator = /* @__PURE__ */ jsx181(
|
|
6834
|
+
Icon,
|
|
6835
|
+
{
|
|
6836
|
+
size: "sm",
|
|
6837
|
+
type: "checkmark"
|
|
6838
|
+
}
|
|
6839
|
+
),
|
|
6840
|
+
...props
|
|
6841
|
+
}) => {
|
|
6842
|
+
let extraProps = {};
|
|
6843
|
+
if (onSelect) {
|
|
6844
|
+
extraProps = {
|
|
6845
|
+
...extraProps,
|
|
6846
|
+
onCheckedChange,
|
|
6847
|
+
onSelect
|
|
6848
|
+
};
|
|
6849
|
+
}
|
|
6850
|
+
return /* @__PURE__ */ jsx181(
|
|
6851
|
+
DropdownMenuCheckboxItem,
|
|
6852
|
+
{
|
|
6853
|
+
...extraProps,
|
|
6854
|
+
checked,
|
|
6855
|
+
children: /* @__PURE__ */ jsx181(
|
|
6856
|
+
MenuItemButton,
|
|
6857
|
+
{
|
|
6858
|
+
...props,
|
|
6859
|
+
rightIcon: /* @__PURE__ */ jsx181(DropdownMenuItemIndicator2, { children: indicator })
|
|
6860
|
+
}
|
|
6861
|
+
)
|
|
6862
|
+
}
|
|
6863
|
+
);
|
|
6864
|
+
};
|
|
6865
|
+
CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
6866
|
+
|
|
6867
|
+
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
6868
|
+
import styled23 from "styled-components";
|
|
6869
|
+
import { isNotNil as isNotNil8 } from "@wistia/type-guards";
|
|
6870
|
+
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
6871
|
+
var VisuallyHidden = styled23.div({ ...visuallyHiddenStyle });
|
|
6872
|
+
var VisuallyHiddenButFocusable = styled23.div({
|
|
6873
|
+
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6874
|
+
});
|
|
6875
|
+
var ScreenReaderOnly = ({
|
|
6876
|
+
text,
|
|
6877
|
+
children,
|
|
6878
|
+
focusable = false,
|
|
6879
|
+
...otherProps
|
|
6880
|
+
}) => {
|
|
6881
|
+
const accessibleText = isNotNil8(text) ? text : children;
|
|
6882
|
+
if (focusable) {
|
|
6883
|
+
return /* @__PURE__ */ jsx182(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
6884
|
+
}
|
|
6885
|
+
return /* @__PURE__ */ jsx182(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
6886
|
+
};
|
|
6887
|
+
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
6888
|
+
|
|
6889
|
+
// src/components/Stack/Stack.tsx
|
|
6890
|
+
import { forwardRef as forwardRef10 } from "react";
|
|
6891
|
+
import styled24 from "styled-components";
|
|
6892
|
+
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
6893
|
+
var DEFAULT_ELEMENT3 = "div";
|
|
6894
|
+
var StyledStack = styled24.div`
|
|
6895
|
+
display: flex;
|
|
6896
|
+
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6897
|
+
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6898
|
+
|
|
6899
|
+
> * {
|
|
6900
|
+
flex: 1;
|
|
6901
|
+
}
|
|
6902
|
+
`;
|
|
6903
|
+
var StackComponent = forwardRef10(
|
|
6904
|
+
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6905
|
+
const responsiveGap = useResponsiveProp(gap);
|
|
6906
|
+
const responsiveDirection = useResponsiveProp(direction);
|
|
6907
|
+
return /* @__PURE__ */ jsx183(
|
|
6908
|
+
StyledStack,
|
|
6909
|
+
{
|
|
6910
|
+
ref,
|
|
6911
|
+
$direction: responsiveDirection,
|
|
6912
|
+
$gap: responsiveGap,
|
|
6913
|
+
as: renderAs ?? DEFAULT_ELEMENT3,
|
|
6914
|
+
...props
|
|
6915
|
+
}
|
|
6916
|
+
);
|
|
6917
|
+
}
|
|
6918
|
+
);
|
|
6919
|
+
StackComponent.displayName = "Stack";
|
|
6920
|
+
var Stack = makePolymorphic(StackComponent);
|
|
6921
|
+
|
|
6327
6922
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
6328
|
-
import
|
|
6329
|
-
import { isNotNil as
|
|
6330
|
-
import { jsx as
|
|
6923
|
+
import styled25 from "styled-components";
|
|
6924
|
+
import { isNotNil as isNotNil9 } from "@wistia/type-guards";
|
|
6925
|
+
import { jsx as jsx184, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
6331
6926
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
6332
6927
|
if (iconOnly) {
|
|
6333
|
-
return /* @__PURE__ */
|
|
6928
|
+
return /* @__PURE__ */ jsx184(
|
|
6929
|
+
"g",
|
|
6930
|
+
{
|
|
6931
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6932
|
+
fill: brandmarkColor,
|
|
6933
|
+
children: /* @__PURE__ */ jsx184("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" })
|
|
6934
|
+
}
|
|
6935
|
+
);
|
|
6334
6936
|
}
|
|
6335
|
-
return /* @__PURE__ */
|
|
6937
|
+
return /* @__PURE__ */ jsx184(
|
|
6938
|
+
"g",
|
|
6939
|
+
{
|
|
6940
|
+
"data-testid": "ui-wistia-logo-brandmark",
|
|
6941
|
+
fill: brandmarkColor,
|
|
6942
|
+
children: /* @__PURE__ */ jsx184("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" })
|
|
6943
|
+
}
|
|
6944
|
+
);
|
|
6336
6945
|
};
|
|
6337
6946
|
var renderLogotype = (logotypeColor, iconOnly) => {
|
|
6338
6947
|
if (iconOnly) {
|
|
6339
6948
|
return null;
|
|
6340
6949
|
}
|
|
6341
|
-
return /* @__PURE__ */
|
|
6950
|
+
return /* @__PURE__ */ jsx184(
|
|
6951
|
+
"g",
|
|
6952
|
+
{
|
|
6953
|
+
"data-testid": "ui-wistia-logo-logotype",
|
|
6954
|
+
fill: logotypeColor,
|
|
6955
|
+
children: /* @__PURE__ */ jsx184("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" })
|
|
6956
|
+
}
|
|
6957
|
+
);
|
|
6342
6958
|
};
|
|
6343
6959
|
var computedViewBox = (iconOnly) => {
|
|
6344
6960
|
if (iconOnly) {
|
|
@@ -6346,7 +6962,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
6346
6962
|
}
|
|
6347
6963
|
return "0 0 144 31.47";
|
|
6348
6964
|
};
|
|
6349
|
-
var WistiaLogoComponent =
|
|
6965
|
+
var WistiaLogoComponent = styled25.svg`
|
|
6350
6966
|
height: ${({ height }) => `${height}px`};
|
|
6351
6967
|
|
|
6352
6968
|
/* ensure it will always fit on mobile */
|
|
@@ -6388,7 +7004,7 @@ var WistiaLogo = ({
|
|
|
6388
7004
|
};
|
|
6389
7005
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
6390
7006
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
6391
|
-
const Logo = /* @__PURE__ */
|
|
7007
|
+
const Logo = /* @__PURE__ */ jsxs12(
|
|
6392
7008
|
WistiaLogoComponent,
|
|
6393
7009
|
{
|
|
6394
7010
|
$hoverColor: hoverColor,
|
|
@@ -6398,14 +7014,14 @@ var WistiaLogo = ({
|
|
|
6398
7014
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6399
7015
|
...otherProps,
|
|
6400
7016
|
children: [
|
|
6401
|
-
/* @__PURE__ */
|
|
6402
|
-
|
|
7017
|
+
/* @__PURE__ */ jsx184("title", { children: title }),
|
|
7018
|
+
isNotNil9(description) ? /* @__PURE__ */ jsx184("desc", { children: description }) : null,
|
|
6403
7019
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
6404
7020
|
renderLogotype(logotypeColor, iconOnly)
|
|
6405
7021
|
]
|
|
6406
7022
|
}
|
|
6407
7023
|
);
|
|
6408
|
-
return href !== void 0 ? /* @__PURE__ */
|
|
7024
|
+
return href !== void 0 ? /* @__PURE__ */ jsx184("a", { href, children: Logo }) : Logo;
|
|
6409
7025
|
};
|
|
6410
7026
|
WistiaLogo.displayName = "WistiaLogo";
|
|
6411
7027
|
export {
|
|
@@ -6414,6 +7030,8 @@ export {
|
|
|
6414
7030
|
Box,
|
|
6415
7031
|
Button,
|
|
6416
7032
|
ButtonGroup,
|
|
7033
|
+
Checkbox,
|
|
7034
|
+
CheckboxMenuItem,
|
|
6417
7035
|
ColorSchemeWrapper,
|
|
6418
7036
|
Divider,
|
|
6419
7037
|
Ellipsis,
|
|
@@ -6422,8 +7040,16 @@ export {
|
|
|
6422
7040
|
IconButton,
|
|
6423
7041
|
Label,
|
|
6424
7042
|
Link,
|
|
7043
|
+
Menu,
|
|
7044
|
+
MenuItem,
|
|
7045
|
+
MenuItemDescription,
|
|
7046
|
+
MenuItemLabel,
|
|
7047
|
+
MenuLabel,
|
|
7048
|
+
MenuRadioGroup,
|
|
7049
|
+
RadioMenuItem,
|
|
6425
7050
|
ScreenReaderOnly,
|
|
6426
7051
|
Stack,
|
|
7052
|
+
SubMenu,
|
|
6427
7053
|
Text,
|
|
6428
7054
|
Tooltip,
|
|
6429
7055
|
UIProvider,
|