@wistia/ui 0.0.14 → 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 +897 -192
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +368 -41
- package/dist/index.d.ts +368 -41
- package/dist/index.mjs +905 -190
- package/dist/index.mjs.map +1 -1
- package/package.json +25 -21
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
|
*
|
|
@@ -440,6 +440,48 @@ var lightGlobalTokens = css3`
|
|
|
440
440
|
--gray-alpha-10: #0000117d;
|
|
441
441
|
--gray-alpha-11: #00000a9c;
|
|
442
442
|
--gray-alpha-12: #000005de;
|
|
443
|
+
--vendor-hubspot-1: #fefcfb;
|
|
444
|
+
--vendor-hubspot-2: #fff5f2;
|
|
445
|
+
--vendor-hubspot-3: #ffe9e2;
|
|
446
|
+
--vendor-hubspot-4: #ffd7c9;
|
|
447
|
+
--vendor-hubspot-5: #ffc8b7;
|
|
448
|
+
--vendor-hubspot-6: #ffb8a3;
|
|
449
|
+
--vendor-hubspot-7: #ffa48d;
|
|
450
|
+
--vendor-hubspot-8: #f68a70;
|
|
451
|
+
--vendor-hubspot-9: #ff5c36;
|
|
452
|
+
--vendor-hubspot-10: #f24d25;
|
|
453
|
+
--vendor-hubspot-11: #d93a0f;
|
|
454
|
+
--vendor-hubspot-12: #5b2a1e;
|
|
455
|
+
--vendor-hubspot-surface: #fff3efcc;
|
|
456
|
+
--vendor-hubspot-contrast: #ffffff;
|
|
457
|
+
--vendor-marketo-1: #fdfdff;
|
|
458
|
+
--vendor-marketo-2: #f7f8ff;
|
|
459
|
+
--vendor-marketo-3: #eff2ff;
|
|
460
|
+
--vendor-marketo-4: #e3e8ff;
|
|
461
|
+
--vendor-marketo-5: #d5ddff;
|
|
462
|
+
--vendor-marketo-6: #c5cfff;
|
|
463
|
+
--vendor-marketo-7: #b0bcfa;
|
|
464
|
+
--vendor-marketo-8: #93a0f2;
|
|
465
|
+
--vendor-marketo-9: #4c50cc;
|
|
466
|
+
--vendor-marketo-10: #4040bb;
|
|
467
|
+
--vendor-marketo-11: #4f55c7;
|
|
468
|
+
--vendor-marketo-12: #252a62;
|
|
469
|
+
--vendor-marketo-surface: #f5f6ffcc;
|
|
470
|
+
--vendor-marketo-contrast: #ffffff;
|
|
471
|
+
--vendor-pardot-1: #fafdff;
|
|
472
|
+
--vendor-pardot-2: #f3fafe;
|
|
473
|
+
--vendor-pardot-3: #e1f5ff;
|
|
474
|
+
--vendor-pardot-4: #ceeeff;
|
|
475
|
+
--vendor-pardot-5: #bae5ff;
|
|
476
|
+
--vendor-pardot-6: #a4d9fa;
|
|
477
|
+
--vendor-pardot-7: #85c9f1;
|
|
478
|
+
--vendor-pardot-8: #4fb3e8;
|
|
479
|
+
--vendor-pardot-9: #00a1e0;
|
|
480
|
+
--vendor-pardot-10: #0094cf;
|
|
481
|
+
--vendor-pardot-11: #0079b5;
|
|
482
|
+
--vendor-pardot-12: #0c3a51;
|
|
483
|
+
--vendor-pardot-surface: #f0f9fecc;
|
|
484
|
+
--vendor-pardot-contrast: #ffffff;
|
|
443
485
|
`;
|
|
444
486
|
var darkGlobalTokens = css3`
|
|
445
487
|
--app-background: #101629;
|
|
@@ -729,6 +771,48 @@ var darkGlobalTokens = css3`
|
|
|
729
771
|
--gray-alpha-10: #a4bffe96;
|
|
730
772
|
--gray-alpha-11: #b4caffde;
|
|
731
773
|
--gray-alpha-12: #e4eeff;
|
|
774
|
+
--vendor-hubspot-1: #1d1513;
|
|
775
|
+
--vendor-hubspot-2: #231815;
|
|
776
|
+
--vendor-hubspot-3: #3b1a12;
|
|
777
|
+
--vendor-hubspot-4: #511609;
|
|
778
|
+
--vendor-hubspot-5: #601d0d;
|
|
779
|
+
--vendor-hubspot-6: #702a1a;
|
|
780
|
+
--vendor-hubspot-7: #883a27;
|
|
781
|
+
--vendor-hubspot-8: #af4a33;
|
|
782
|
+
--vendor-hubspot-9: #ff5c36;
|
|
783
|
+
--vendor-hubspot-10: #f14f28;
|
|
784
|
+
--vendor-hubspot-11: #ff9578;
|
|
785
|
+
--vendor-hubspot-12: #ffd5ca;
|
|
786
|
+
--vendor-hubspot-surface: #361a0280;
|
|
787
|
+
--vendor-hubspot-contrast: #ffffff;
|
|
788
|
+
--vendor-marketo-1: #141621;
|
|
789
|
+
--vendor-marketo-2: #161827;
|
|
790
|
+
--vendor-marketo-3: #1f234a;
|
|
791
|
+
--vendor-marketo-4: #262a66;
|
|
792
|
+
--vendor-marketo-5: #2f3476;
|
|
793
|
+
--vendor-marketo-6: #383f83;
|
|
794
|
+
--vendor-marketo-7: #444c97;
|
|
795
|
+
--vendor-marketo-8: #515ab4;
|
|
796
|
+
--vendor-marketo-9: #4c50cc;
|
|
797
|
+
--vendor-marketo-10: #4040bb;
|
|
798
|
+
--vendor-marketo-11: #9faeff;
|
|
799
|
+
--vendor-marketo-12: #dae1ff;
|
|
800
|
+
--vendor-marketo-surface: #1c1a2680;
|
|
801
|
+
--vendor-marketo-contrast: #ffffff;
|
|
802
|
+
--vendor-pardot-1: #0e191f;
|
|
803
|
+
--vendor-pardot-2: #111d24;
|
|
804
|
+
--vendor-pardot-3: #092c3d;
|
|
805
|
+
--vendor-pardot-4: #003752;
|
|
806
|
+
--vendor-pardot-5: #004463;
|
|
807
|
+
--vendor-pardot-6: #055274;
|
|
808
|
+
--vendor-pardot-7: #15648a;
|
|
809
|
+
--vendor-pardot-8: #197ba9;
|
|
810
|
+
--vendor-pardot-9: #00a1e0;
|
|
811
|
+
--vendor-pardot-10: #0095d3;
|
|
812
|
+
--vendor-pardot-11: #62c3f8;
|
|
813
|
+
--vendor-pardot-12: #bfe7ff;
|
|
814
|
+
--vendor-pardot-surface: #12242080;
|
|
815
|
+
--vendor-pardot-contrast: #ffffff;
|
|
732
816
|
`;
|
|
733
817
|
|
|
734
818
|
// src/css/designTokens/colorAlias.tsx
|
|
@@ -1512,7 +1596,10 @@ var colorSchemeOptions = [
|
|
|
1512
1596
|
"orange",
|
|
1513
1597
|
"pink",
|
|
1514
1598
|
"purple",
|
|
1515
|
-
"yellow"
|
|
1599
|
+
"yellow",
|
|
1600
|
+
"vendor-hubspot",
|
|
1601
|
+
"vendor-marketo",
|
|
1602
|
+
"vendor-pardot"
|
|
1516
1603
|
];
|
|
1517
1604
|
var StyledColorSchemeWrapper = styled.div`
|
|
1518
1605
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
@@ -1708,8 +1795,8 @@ import { Children, cloneElement } from "react";
|
|
|
1708
1795
|
import styled4 from "styled-components";
|
|
1709
1796
|
import { isNotNil as isNotNil2, isNil as isNil5, isRecord } from "@wistia/type-guards";
|
|
1710
1797
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
1711
|
-
var isDev = process.env["NODE_ENV"] === "development";
|
|
1712
|
-
var
|
|
1798
|
+
var isDev = process.env["NODE_ENV"] === "development" || process.env["NODE_ENV"] === "test";
|
|
1799
|
+
var propsForFlexChildren = /* @__PURE__ */ new Set(["alignSelf", "basis", "grow", "order", "shrink"]);
|
|
1713
1800
|
var getGapStyle = (gap) => {
|
|
1714
1801
|
if (isNotNil2(gap)) {
|
|
1715
1802
|
if (isRecord(gap)) {
|
|
@@ -1799,7 +1886,7 @@ var Box = ({
|
|
|
1799
1886
|
}) => {
|
|
1800
1887
|
if (isDev && !hasBoxParent) {
|
|
1801
1888
|
Object.keys(otherProps).forEach((prop) => {
|
|
1802
|
-
if (
|
|
1889
|
+
if (propsForFlexChildren.has(prop)) {
|
|
1803
1890
|
console.warn(`${prop} only has an effect on <Box> instances that are children of a <Box>`);
|
|
1804
1891
|
}
|
|
1805
1892
|
});
|
|
@@ -5390,6 +5477,7 @@ var StyledButton = styled7.button`
|
|
|
5390
5477
|
${({ $unstyled }) => !$unstyled && buttonBaseStyles}
|
|
5391
5478
|
${({ $fullWidth }) => $fullWidth && "width: 100%;"}
|
|
5392
5479
|
position: relative;
|
|
5480
|
+
text-align: center;
|
|
5393
5481
|
`;
|
|
5394
5482
|
var StyledButtonContent = styled7.div`
|
|
5395
5483
|
align-items: center;
|
|
@@ -5405,7 +5493,6 @@ var StyledButtonContent = styled7.div`
|
|
|
5405
5493
|
`;
|
|
5406
5494
|
var StyledButtonContentLabel = styled7.span`
|
|
5407
5495
|
flex: 1;
|
|
5408
|
-
text-align: center;
|
|
5409
5496
|
`;
|
|
5410
5497
|
var StyledButtonLoading = styled7.div`
|
|
5411
5498
|
position: absolute;
|
|
@@ -5534,7 +5621,7 @@ var getAlignment = (align) => {
|
|
|
5534
5621
|
if (align === "right") {
|
|
5535
5622
|
return "flex-end";
|
|
5536
5623
|
}
|
|
5537
|
-
return
|
|
5624
|
+
return "flex-start";
|
|
5538
5625
|
};
|
|
5539
5626
|
var ButtonGroupComponent = styled8.div`
|
|
5540
5627
|
display: flex;
|
|
@@ -5577,14 +5664,237 @@ var ButtonGroup = ({
|
|
|
5577
5664
|
};
|
|
5578
5665
|
ButtonGroup.displayName = "ButtonGroup";
|
|
5579
5666
|
|
|
5580
|
-
// src/components/
|
|
5581
|
-
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";
|
|
5582
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";
|
|
5583
5893
|
var sizeToPixelMap = {
|
|
5584
5894
|
lg: 4,
|
|
5585
5895
|
sm: 1
|
|
5586
5896
|
};
|
|
5587
|
-
var DividerComponent =
|
|
5897
|
+
var DividerComponent = styled12.hr`
|
|
5588
5898
|
background: none;
|
|
5589
5899
|
border-bottom: none;
|
|
5590
5900
|
border-left: none;
|
|
@@ -5599,7 +5909,7 @@ var DividerComponent = styled9.hr`
|
|
|
5599
5909
|
`;
|
|
5600
5910
|
var Divider = ({ size = "sm", ...otherProps }) => {
|
|
5601
5911
|
const responsiveSize = useResponsiveProp(size);
|
|
5602
|
-
return /* @__PURE__ */
|
|
5912
|
+
return /* @__PURE__ */ jsx167(
|
|
5603
5913
|
DividerComponent,
|
|
5604
5914
|
{
|
|
5605
5915
|
$borderHeight: sizeToPixelMap[responsiveSize],
|
|
@@ -5611,9 +5921,9 @@ Divider.displayName = "Divider";
|
|
|
5611
5921
|
|
|
5612
5922
|
// src/components/Ellipsis/Ellipsis.tsx
|
|
5613
5923
|
import { isNotNil as isNotNil5 } from "@wistia/type-guards";
|
|
5614
|
-
import
|
|
5615
|
-
import { jsx as
|
|
5616
|
-
var ellipsisStyle =
|
|
5924
|
+
import styled13, { css as css13 } from "styled-components";
|
|
5925
|
+
import { jsx as jsx168 } from "react/jsx-runtime";
|
|
5926
|
+
var ellipsisStyle = css13`
|
|
5617
5927
|
overflow: hidden;
|
|
5618
5928
|
text-overflow: ellipsis;
|
|
5619
5929
|
white-space: nowrap;
|
|
@@ -5636,14 +5946,14 @@ var ellipsisStyle = css12`
|
|
|
5636
5946
|
}
|
|
5637
5947
|
}
|
|
5638
5948
|
`;
|
|
5639
|
-
var ellipsisFlexParentStyle =
|
|
5949
|
+
var ellipsisFlexParentStyle = css13`
|
|
5640
5950
|
min-width: 0;
|
|
5641
5951
|
`;
|
|
5642
|
-
var EllipsisComponent =
|
|
5952
|
+
var EllipsisComponent = styled13.div`
|
|
5643
5953
|
${ellipsisStyle};
|
|
5644
5954
|
${({ $lines }) => {
|
|
5645
5955
|
if (isNotNil5($lines)) {
|
|
5646
|
-
return
|
|
5956
|
+
return css13`
|
|
5647
5957
|
-webkit-box-orient: vertical;
|
|
5648
5958
|
-webkit-line-clamp: ${$lines};
|
|
5649
5959
|
display: -webkit-box;
|
|
@@ -5653,7 +5963,7 @@ var EllipsisComponent = styled10.div`
|
|
|
5653
5963
|
return void 0;
|
|
5654
5964
|
}}
|
|
5655
5965
|
`;
|
|
5656
|
-
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */
|
|
5966
|
+
var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx168(
|
|
5657
5967
|
EllipsisComponent,
|
|
5658
5968
|
{
|
|
5659
5969
|
$lines: lines,
|
|
@@ -5664,8 +5974,8 @@ var Ellipsis = ({ children, lines, ...otherProps }) => /* @__PURE__ */ jsx165(
|
|
|
5664
5974
|
Ellipsis.displayName = "Ellipsis";
|
|
5665
5975
|
|
|
5666
5976
|
// src/components/Heading/Heading.tsx
|
|
5667
|
-
import { forwardRef as
|
|
5668
|
-
import
|
|
5977
|
+
import { forwardRef as forwardRef5 } from "react";
|
|
5978
|
+
import styled14, { css as css14 } from "styled-components";
|
|
5669
5979
|
|
|
5670
5980
|
// src/private/helpers/makePolymorphic/makePolymorphic.tsx
|
|
5671
5981
|
var makePolymorphic = (component) => {
|
|
@@ -5673,44 +5983,44 @@ var makePolymorphic = (component) => {
|
|
|
5673
5983
|
};
|
|
5674
5984
|
|
|
5675
5985
|
// src/components/Heading/Heading.tsx
|
|
5676
|
-
import { jsx as
|
|
5677
|
-
var heroStyle =
|
|
5986
|
+
import { jsx as jsx169 } from "react/jsx-runtime";
|
|
5987
|
+
var heroStyle = css14`
|
|
5678
5988
|
--font-family: var(--typography-heading-hero-family);
|
|
5679
5989
|
--font-size: var(--typography-heading-hero-size);
|
|
5680
5990
|
--font-weight: var(--typography-heading-hero-weight);
|
|
5681
5991
|
--line-height: var(--typography-heading-hero-line-height);
|
|
5682
5992
|
`;
|
|
5683
|
-
var heading1TextStyle =
|
|
5993
|
+
var heading1TextStyle = css14`
|
|
5684
5994
|
--font-family: var(--typography-heading-1-family);
|
|
5685
5995
|
--font-size: var(--typography-heading-1-size);
|
|
5686
5996
|
--font-weight: var(--typography-heading-1-weight);
|
|
5687
5997
|
--line-height: var(--typography-heading-1-line-height);
|
|
5688
5998
|
`;
|
|
5689
|
-
var heading2TextStyle =
|
|
5999
|
+
var heading2TextStyle = css14`
|
|
5690
6000
|
--font-family: var(--typography-heading-2-family);
|
|
5691
6001
|
--font-size: var(--typography-heading-2-size);
|
|
5692
6002
|
--font-weight: var(--typography-heading-2-weight);
|
|
5693
6003
|
--line-height: var(--typography-heading-2-line-height);
|
|
5694
6004
|
`;
|
|
5695
|
-
var heading3TextStyle =
|
|
6005
|
+
var heading3TextStyle = css14`
|
|
5696
6006
|
--font-family: var(--typography-heading-3-family);
|
|
5697
6007
|
--font-size: var(--typography-heading-3-size);
|
|
5698
6008
|
--font-weight: var(--typography-heading-3-weight);
|
|
5699
6009
|
--line-height: var(--typography-heading-3-line-height);
|
|
5700
6010
|
`;
|
|
5701
|
-
var heading4TextStyle =
|
|
6011
|
+
var heading4TextStyle = css14`
|
|
5702
6012
|
--font-family: var(--typography-heading-4-family);
|
|
5703
6013
|
--font-size: var(--typography-heading-4-size);
|
|
5704
6014
|
--font-weight: var(--typography-heading-4-weight);
|
|
5705
6015
|
--line-height: var(--typography-heading-4-line-height);
|
|
5706
6016
|
`;
|
|
5707
|
-
var heading5TextStyle =
|
|
6017
|
+
var heading5TextStyle = css14`
|
|
5708
6018
|
--font-family: var(--typography-heading-5-family);
|
|
5709
6019
|
--font-size: var(--typography-heading-5-size);
|
|
5710
6020
|
--font-weight: var(--typography-heading-5-weight);
|
|
5711
6021
|
--line-height: var(--typography-heading-5-line-height);
|
|
5712
6022
|
`;
|
|
5713
|
-
var heading6TextStyle =
|
|
6023
|
+
var heading6TextStyle = css14`
|
|
5714
6024
|
--font-family: var(--typography-heading-6-family);
|
|
5715
6025
|
--font-size: var(--typography-heading-6-size);
|
|
5716
6026
|
--font-weight: var(--typography-heading-6-weight);
|
|
@@ -5726,7 +6036,7 @@ var variantStyleMap = {
|
|
|
5726
6036
|
heading6: heading6TextStyle
|
|
5727
6037
|
};
|
|
5728
6038
|
var DEFAULT_ELEMENT = "h1";
|
|
5729
|
-
var StyledHeading =
|
|
6039
|
+
var StyledHeading = styled14.div`
|
|
5730
6040
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
5731
6041
|
font-family: var(--font-family);
|
|
5732
6042
|
font-size: var(--font-size);
|
|
@@ -5735,16 +6045,16 @@ var StyledHeading = styled11.div`
|
|
|
5735
6045
|
color: var(--color-text);
|
|
5736
6046
|
${({ $variant }) => variantStyleMap[$variant]}
|
|
5737
6047
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
5738
|
-
${({ $inline }) => $inline &&
|
|
6048
|
+
${({ $inline }) => $inline && css14`
|
|
5739
6049
|
display: inline-block;
|
|
5740
6050
|
`}
|
|
5741
|
-
${({ $disabled }) => $disabled &&
|
|
6051
|
+
${({ $disabled }) => $disabled && css14`
|
|
5742
6052
|
color: var(--color-text-disabled);
|
|
5743
6053
|
`}
|
|
5744
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6054
|
+
${({ $preventUserSelect }) => $preventUserSelect && css14`
|
|
5745
6055
|
user-select: none;
|
|
5746
6056
|
`}
|
|
5747
|
-
${({ $align }) =>
|
|
6057
|
+
${({ $align }) => css14`
|
|
5748
6058
|
text-align: ${$align};
|
|
5749
6059
|
`}
|
|
5750
6060
|
margin: 0;
|
|
@@ -5758,7 +6068,7 @@ var variantElementMap = {
|
|
|
5758
6068
|
heading5: "h5",
|
|
5759
6069
|
heading6: "h6"
|
|
5760
6070
|
};
|
|
5761
|
-
var HeadingComponent =
|
|
6071
|
+
var HeadingComponent = forwardRef5(
|
|
5762
6072
|
({
|
|
5763
6073
|
align = "left",
|
|
5764
6074
|
colorScheme = "inherit",
|
|
@@ -5769,7 +6079,7 @@ var HeadingComponent = forwardRef4(
|
|
|
5769
6079
|
variant = "heading1",
|
|
5770
6080
|
renderAs,
|
|
5771
6081
|
...otherProps
|
|
5772
|
-
}, ref) => /* @__PURE__ */
|
|
6082
|
+
}, ref) => /* @__PURE__ */ jsx169(
|
|
5773
6083
|
StyledHeading,
|
|
5774
6084
|
{
|
|
5775
6085
|
ref,
|
|
@@ -5789,8 +6099,8 @@ HeadingComponent.displayName = "Heading";
|
|
|
5789
6099
|
var Heading = makePolymorphic(HeadingComponent);
|
|
5790
6100
|
|
|
5791
6101
|
// src/components/IconButton/IconButton.tsx
|
|
5792
|
-
import { Children as Children2, cloneElement as cloneElement2, forwardRef as
|
|
5793
|
-
import
|
|
6102
|
+
import { Children as Children2, cloneElement as cloneElement2, forwardRef as forwardRef6 } from "react";
|
|
6103
|
+
import styled16 from "styled-components";
|
|
5794
6104
|
|
|
5795
6105
|
// src/components/Tooltip/Tooltip.tsx
|
|
5796
6106
|
import {
|
|
@@ -5800,16 +6110,16 @@ import {
|
|
|
5800
6110
|
Portal,
|
|
5801
6111
|
Arrow
|
|
5802
6112
|
} from "@radix-ui/react-tooltip";
|
|
5803
|
-
import
|
|
5804
|
-
import { jsx as
|
|
5805
|
-
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`
|
|
5806
6116
|
--tooltip-font-size: var(--typography-label-4-size);
|
|
5807
6117
|
--tooltip-line-height: var(--typography-label-4-line-height);
|
|
5808
6118
|
--tooltip-font-weight: var(--typography-label-4-weight);
|
|
5809
6119
|
--tooltip-horizontal-padding: var(--space-02);
|
|
5810
6120
|
--tooltip-vertical-padding: var(--space-03);
|
|
5811
6121
|
`;
|
|
5812
|
-
var StyledContent =
|
|
6122
|
+
var StyledContent = styled15(Content)`
|
|
5813
6123
|
--tooltip-font-family: var(--typography-family-default);
|
|
5814
6124
|
--tooltip-border-radius: var(--border-radius-05);
|
|
5815
6125
|
--tooltip-bg: var(--color-bg-tooltip);
|
|
@@ -5867,14 +6177,14 @@ var Tooltip = ({
|
|
|
5867
6177
|
if (forceOpen === true) {
|
|
5868
6178
|
rootProps.open = true;
|
|
5869
6179
|
}
|
|
5870
|
-
return /* @__PURE__ */
|
|
6180
|
+
return /* @__PURE__ */ jsxs7(
|
|
5871
6181
|
Root,
|
|
5872
6182
|
{
|
|
5873
6183
|
delayDuration: delay,
|
|
5874
6184
|
...rootProps,
|
|
5875
6185
|
children: [
|
|
5876
|
-
/* @__PURE__ */
|
|
5877
|
-
/* @__PURE__ */
|
|
6186
|
+
/* @__PURE__ */ jsx170(Trigger, { asChild: true, children }),
|
|
6187
|
+
/* @__PURE__ */ jsx170(Portal, { children: /* @__PURE__ */ jsxs7(
|
|
5878
6188
|
StyledContent,
|
|
5879
6189
|
{
|
|
5880
6190
|
$compact: compact,
|
|
@@ -5882,7 +6192,7 @@ var Tooltip = ({
|
|
|
5882
6192
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
5883
6193
|
children: [
|
|
5884
6194
|
content,
|
|
5885
|
-
!hideArrow ? /* @__PURE__ */
|
|
6195
|
+
!hideArrow ? /* @__PURE__ */ jsx170(Arrow, { asChild: true, children: /* @__PURE__ */ jsx170(
|
|
5886
6196
|
"svg",
|
|
5887
6197
|
{
|
|
5888
6198
|
fill: "var(--tooltip-bg)",
|
|
@@ -5891,7 +6201,7 @@ var Tooltip = ({
|
|
|
5891
6201
|
viewBox: "0 0 12 8",
|
|
5892
6202
|
width: "12",
|
|
5893
6203
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5894
|
-
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" })
|
|
5895
6205
|
}
|
|
5896
6206
|
) }) : null
|
|
5897
6207
|
]
|
|
@@ -5904,8 +6214,8 @@ var Tooltip = ({
|
|
|
5904
6214
|
Tooltip.displayName = "Tooltip";
|
|
5905
6215
|
|
|
5906
6216
|
// src/components/IconButton/IconButton.tsx
|
|
5907
|
-
import { jsx as
|
|
5908
|
-
var StyledButton2 =
|
|
6217
|
+
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
6218
|
+
var StyledButton2 = styled16(Button)`
|
|
5909
6219
|
--icon-button-size-sm: 24px;
|
|
5910
6220
|
--icon-button-size-md: 32px;
|
|
5911
6221
|
--icon-button-size-lg: 40px;
|
|
@@ -5919,10 +6229,10 @@ var StyledButton2 = styled13(Button)`
|
|
|
5919
6229
|
align-items: center;
|
|
5920
6230
|
line-height: 1;
|
|
5921
6231
|
`;
|
|
5922
|
-
var IconButton =
|
|
6232
|
+
var IconButton = forwardRef6(
|
|
5923
6233
|
({ children, label, disableTooltip = false, size = "md", ...props }, ref) => {
|
|
5924
6234
|
const responsiveSize = useResponsiveProp(size);
|
|
5925
|
-
const button = /* @__PURE__ */
|
|
6235
|
+
const button = /* @__PURE__ */ jsx171(
|
|
5926
6236
|
StyledButton2,
|
|
5927
6237
|
{
|
|
5928
6238
|
...props,
|
|
@@ -5938,209 +6248,217 @@ var IconButton = forwardRef5(
|
|
|
5938
6248
|
if (disableTooltip) {
|
|
5939
6249
|
return button;
|
|
5940
6250
|
}
|
|
5941
|
-
return /* @__PURE__ */
|
|
6251
|
+
return /* @__PURE__ */ jsx171(Tooltip, { content: label, children: button });
|
|
5942
6252
|
}
|
|
5943
6253
|
);
|
|
5944
6254
|
IconButton.displayName = "IconButton";
|
|
5945
6255
|
|
|
5946
|
-
// src/components/
|
|
5947
|
-
import
|
|
5948
|
-
import {
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
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);
|
|
5955
6274
|
}
|
|
5956
6275
|
`;
|
|
5957
|
-
var
|
|
5958
|
-
|
|
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
|
+
}
|
|
5959
6285
|
`;
|
|
5960
|
-
var
|
|
5961
|
-
var
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
width:
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
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 */
|
|
5975
6311
|
}
|
|
5976
6312
|
|
|
5977
|
-
|
|
5978
|
-
|
|
6313
|
+
${mq.smAndUp} {
|
|
6314
|
+
bottom: 0;
|
|
6315
|
+
padding: var(--menu-padding);
|
|
6316
|
+
right: 0;
|
|
6317
|
+
top: 0;
|
|
6318
|
+
transform: initial;
|
|
5979
6319
|
}
|
|
5980
6320
|
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
${({ required }) => required && requiredStyle}
|
|
5984
|
-
`;
|
|
5985
|
-
var Label = ({
|
|
5986
|
-
children,
|
|
5987
|
-
disabled = false,
|
|
5988
|
-
htmlFor,
|
|
5989
|
-
required = false,
|
|
5990
|
-
screenReaderOnly = false,
|
|
5991
|
-
...otherProps
|
|
5992
|
-
}) => /* @__PURE__ */ jsx169(
|
|
5993
|
-
StyledLabel,
|
|
5994
|
-
{
|
|
5995
|
-
disabled,
|
|
5996
|
-
required,
|
|
5997
|
-
screenReaderOnly,
|
|
5998
|
-
...otherProps,
|
|
5999
|
-
children
|
|
6321
|
+
hr {
|
|
6322
|
+
margin: var(--space-02) 0;
|
|
6000
6323
|
}
|
|
6001
|
-
|
|
6002
|
-
|
|
6003
|
-
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
6007
|
-
import { jsx as jsx170 } from "react/jsx-runtime";
|
|
6008
|
-
var VisuallyHidden = styled15.div({ ...visuallyHiddenStyle });
|
|
6009
|
-
var VisuallyHiddenButFocusable = styled15.div({
|
|
6010
|
-
"&:not(:focus-within)": visuallyHiddenStyle
|
|
6011
|
-
});
|
|
6012
|
-
var ScreenReaderOnly = ({
|
|
6013
|
-
text,
|
|
6324
|
+
`;
|
|
6325
|
+
var MenuContent = styled17(DropdownMenuContent)`
|
|
6326
|
+
${menuContentCss}
|
|
6327
|
+
`;
|
|
6328
|
+
var Menu = ({
|
|
6329
|
+
align = "start",
|
|
6014
6330
|
children,
|
|
6015
|
-
|
|
6016
|
-
|
|
6331
|
+
trigger,
|
|
6332
|
+
label,
|
|
6333
|
+
isOpen,
|
|
6334
|
+
triggerProps = {},
|
|
6335
|
+
onOpenChange,
|
|
6336
|
+
onInteractOutside,
|
|
6337
|
+
...props
|
|
6017
6338
|
}) => {
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
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
|
+
);
|
|
6023
6370
|
};
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
// src/components/Stack/Stack.tsx
|
|
6027
|
-
import { forwardRef as forwardRef6 } from "react";
|
|
6028
|
-
import styled16 from "styled-components";
|
|
6029
|
-
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
6030
|
-
var DEFAULT_ELEMENT2 = "div";
|
|
6031
|
-
var StyledStack = styled16.div`
|
|
6032
|
-
display: flex;
|
|
6033
|
-
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
6034
|
-
gap: ${({ $gap }) => `var(--${$gap})`};
|
|
6371
|
+
Menu.displayName = "Menu";
|
|
6035
6372
|
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
`;
|
|
6040
|
-
var StackComponent = forwardRef6(
|
|
6041
|
-
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
6042
|
-
const responsiveGap = useResponsiveProp(gap);
|
|
6043
|
-
const responsiveDirection = useResponsiveProp(direction);
|
|
6044
|
-
return /* @__PURE__ */ jsx171(
|
|
6045
|
-
StyledStack,
|
|
6046
|
-
{
|
|
6047
|
-
ref,
|
|
6048
|
-
$direction: responsiveDirection,
|
|
6049
|
-
$gap: responsiveGap,
|
|
6050
|
-
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6051
|
-
...props
|
|
6052
|
-
}
|
|
6053
|
-
);
|
|
6054
|
-
}
|
|
6055
|
-
);
|
|
6056
|
-
StackComponent.displayName = "Stack";
|
|
6057
|
-
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";
|
|
6058
6376
|
|
|
6059
6377
|
// src/components/Text/Text.tsx
|
|
6060
6378
|
import { forwardRef as forwardRef7 } from "react";
|
|
6061
|
-
import
|
|
6062
|
-
import { jsx as
|
|
6063
|
-
var bodyBoldStyles =
|
|
6379
|
+
import styled18, { css as css17 } from "styled-components";
|
|
6380
|
+
import { jsx as jsx173 } from "react/jsx-runtime";
|
|
6381
|
+
var bodyBoldStyles = css17`
|
|
6064
6382
|
> strong,
|
|
6065
6383
|
b {
|
|
6066
6384
|
font-weight: var(--typography-weight-body-bold);
|
|
6067
6385
|
}
|
|
6068
6386
|
`;
|
|
6069
|
-
var labelBoldStyles =
|
|
6387
|
+
var labelBoldStyles = css17`
|
|
6070
6388
|
> strong,
|
|
6071
6389
|
b {
|
|
6072
6390
|
font-weight: var(--typography-weight-label-bold);
|
|
6073
6391
|
}
|
|
6074
6392
|
`;
|
|
6075
|
-
var body1TextStyle =
|
|
6393
|
+
var body1TextStyle = css17`
|
|
6076
6394
|
--font-family: var(--typography-body-1-family);
|
|
6077
6395
|
--font-size: var(--typography-body-1-size);
|
|
6078
6396
|
--font-weight: var(--typography-body-1-weight);
|
|
6079
6397
|
--line-height: var(--typography-body-1-line-height);
|
|
6080
6398
|
${bodyBoldStyles}
|
|
6081
6399
|
`;
|
|
6082
|
-
var body2TextStyle =
|
|
6400
|
+
var body2TextStyle = css17`
|
|
6083
6401
|
--font-family: var(--typography-body-2-family);
|
|
6084
6402
|
--font-size: var(--typography-body-2-size);
|
|
6085
6403
|
--font-weight: var(--typography-body-2-weight);
|
|
6086
6404
|
--line-height: var(--typography-body-2-line-height);
|
|
6087
6405
|
${bodyBoldStyles}
|
|
6088
6406
|
`;
|
|
6089
|
-
var body3TextStyle =
|
|
6407
|
+
var body3TextStyle = css17`
|
|
6090
6408
|
--font-family: var(--typography-body-3-family);
|
|
6091
6409
|
--font-size: var(--typography-body-3-size);
|
|
6092
6410
|
--font-weight: var(--typography-body-3-weight);
|
|
6093
6411
|
--line-height: var(--typography-body-3-line-height);
|
|
6094
6412
|
${bodyBoldStyles}
|
|
6095
6413
|
`;
|
|
6096
|
-
var body4TextStyle =
|
|
6414
|
+
var body4TextStyle = css17`
|
|
6097
6415
|
--font-family: var(--typography-body-4-family);
|
|
6098
6416
|
--font-size: var(--typography-body-4-size);
|
|
6099
6417
|
--font-weight: var(--typography-body-4-weight);
|
|
6100
6418
|
--line-height: var(--typography-body-4-line-height);
|
|
6101
6419
|
${bodyBoldStyles}
|
|
6102
6420
|
`;
|
|
6103
|
-
var label1TextStyle =
|
|
6421
|
+
var label1TextStyle = css17`
|
|
6104
6422
|
--font-family: var(--typography-label-1-family);
|
|
6105
6423
|
--font-size: var(--typography-label-1-size);
|
|
6106
6424
|
--font-weight: var(--typography-label-1-weight);
|
|
6107
6425
|
--line-height: var(--typography-label-1-line-height);
|
|
6108
6426
|
${labelBoldStyles}
|
|
6109
6427
|
`;
|
|
6110
|
-
var label2TextStyle =
|
|
6428
|
+
var label2TextStyle = css17`
|
|
6111
6429
|
--font-family: var(--typography-label-2-family);
|
|
6112
6430
|
--font-size: var(--typography-label-2-size);
|
|
6113
6431
|
--font-weight: var(--typography-label-2-weight);
|
|
6114
6432
|
--line-height: var(--typography-label-2-line-height);
|
|
6115
6433
|
${labelBoldStyles}
|
|
6116
6434
|
`;
|
|
6117
|
-
var label3TextStyle =
|
|
6435
|
+
var label3TextStyle = css17`
|
|
6118
6436
|
--font-family: var(--typography-label-3-family);
|
|
6119
6437
|
--font-size: var(--typography-label-3-size);
|
|
6120
6438
|
--font-weight: var(--typography-label-3-weight);
|
|
6121
6439
|
--line-height: var(--typography-label-3-line-height);
|
|
6122
6440
|
${labelBoldStyles}
|
|
6123
6441
|
`;
|
|
6124
|
-
var label4TextStyle =
|
|
6442
|
+
var label4TextStyle = css17`
|
|
6125
6443
|
--font-family: var(--typography-label-4-family);
|
|
6126
6444
|
--font-size: var(--typography-label-4-size);
|
|
6127
6445
|
--font-weight: var(--typography-label-4-weight);
|
|
6128
6446
|
--line-height: var(--typography-label-4-line-height);
|
|
6129
6447
|
${labelBoldStyles}
|
|
6130
6448
|
`;
|
|
6131
|
-
var body1MonoTextStyle =
|
|
6449
|
+
var body1MonoTextStyle = css17`
|
|
6132
6450
|
${body1TextStyle};
|
|
6133
6451
|
--font-family: var(--typography-family-mono);
|
|
6134
6452
|
`;
|
|
6135
|
-
var body2MonoTextStyle =
|
|
6453
|
+
var body2MonoTextStyle = css17`
|
|
6136
6454
|
${body2TextStyle};
|
|
6137
6455
|
--font-family: var(--typography-family-mono);
|
|
6138
6456
|
`;
|
|
6139
|
-
var body3MonoTextStyle =
|
|
6457
|
+
var body3MonoTextStyle = css17`
|
|
6140
6458
|
${body3TextStyle};
|
|
6141
6459
|
--font-family: var(--typography-family-mono);
|
|
6142
6460
|
`;
|
|
6143
|
-
var body4MonoTextStyle =
|
|
6461
|
+
var body4MonoTextStyle = css17`
|
|
6144
6462
|
${body4TextStyle};
|
|
6145
6463
|
--font-family: var(--typography-family-mono);
|
|
6146
6464
|
`;
|
|
@@ -6158,13 +6476,13 @@ var variantStyleMap2 = {
|
|
|
6158
6476
|
label3: label3TextStyle,
|
|
6159
6477
|
label4: label4TextStyle
|
|
6160
6478
|
};
|
|
6161
|
-
var highContrastProminenceStyle =
|
|
6479
|
+
var highContrastProminenceStyle = css17`
|
|
6162
6480
|
--text-color: var(--color-text-high-contrast);
|
|
6163
6481
|
`;
|
|
6164
|
-
var vibrantProminenceStyle =
|
|
6482
|
+
var vibrantProminenceStyle = css17`
|
|
6165
6483
|
--text-color: var(--color-text);
|
|
6166
6484
|
`;
|
|
6167
|
-
var secondaryProminenceStyle =
|
|
6485
|
+
var secondaryProminenceStyle = css17`
|
|
6168
6486
|
--text-color: var(--color-text-secondary);
|
|
6169
6487
|
`;
|
|
6170
6488
|
var prominenceMap = {
|
|
@@ -6172,7 +6490,7 @@ var prominenceMap = {
|
|
|
6172
6490
|
vibrant: vibrantProminenceStyle,
|
|
6173
6491
|
secondary: secondaryProminenceStyle
|
|
6174
6492
|
};
|
|
6175
|
-
var StyledText =
|
|
6493
|
+
var StyledText = styled18.div`
|
|
6176
6494
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
6177
6495
|
font-family: var(--font-family);
|
|
6178
6496
|
font-size: var(--font-size);
|
|
@@ -6184,23 +6502,23 @@ var StyledText = styled17.div`
|
|
|
6184
6502
|
${({ $variant }) => variantStyleMap2[$variant]}
|
|
6185
6503
|
${({ $prominence }) => prominenceMap[$prominence]}
|
|
6186
6504
|
${({ $ellipsis }) => $ellipsis && ellipsisStyle};
|
|
6187
|
-
${({ $inline }) => $inline &&
|
|
6505
|
+
${({ $inline }) => $inline && css17`
|
|
6188
6506
|
display: inline-block;
|
|
6189
6507
|
`}
|
|
6190
|
-
${({ $disabled }) => $disabled &&
|
|
6508
|
+
${({ $disabled }) => $disabled && css17`
|
|
6191
6509
|
--text-color: var(--color-text-disabled);
|
|
6192
6510
|
`}
|
|
6193
|
-
${({ $preventUserSelect }) => $preventUserSelect &&
|
|
6511
|
+
${({ $preventUserSelect }) => $preventUserSelect && css17`
|
|
6194
6512
|
user-select: none;
|
|
6195
6513
|
`}
|
|
6196
|
-
${({ $align }) =>
|
|
6514
|
+
${({ $align }) => css17`
|
|
6197
6515
|
text-align: ${$align};
|
|
6198
6516
|
`}
|
|
6199
|
-
${({ as }) => as === "p" &&
|
|
6517
|
+
${({ as }) => as === "p" && css17`
|
|
6200
6518
|
display: block;
|
|
6201
6519
|
`}
|
|
6202
6520
|
`;
|
|
6203
|
-
var
|
|
6521
|
+
var DEFAULT_ELEMENT2 = "div";
|
|
6204
6522
|
var TextComponent = forwardRef7(
|
|
6205
6523
|
({
|
|
6206
6524
|
align = "left",
|
|
@@ -6214,7 +6532,7 @@ var TextComponent = forwardRef7(
|
|
|
6214
6532
|
renderAs,
|
|
6215
6533
|
...otherProps
|
|
6216
6534
|
}, ref) => {
|
|
6217
|
-
return /* @__PURE__ */
|
|
6535
|
+
return /* @__PURE__ */ jsx173(
|
|
6218
6536
|
StyledText,
|
|
6219
6537
|
{
|
|
6220
6538
|
ref,
|
|
@@ -6226,7 +6544,7 @@ var TextComponent = forwardRef7(
|
|
|
6226
6544
|
$preventUserSelect: preventUserSelect,
|
|
6227
6545
|
$prominence: prominence,
|
|
6228
6546
|
$variant: variant,
|
|
6229
|
-
as: renderAs ??
|
|
6547
|
+
as: renderAs ?? DEFAULT_ELEMENT2,
|
|
6230
6548
|
...otherProps
|
|
6231
6549
|
}
|
|
6232
6550
|
);
|
|
@@ -6235,21 +6553,408 @@ var TextComponent = forwardRef7(
|
|
|
6235
6553
|
TextComponent.displayName = "Text";
|
|
6236
6554
|
var Text = makePolymorphic(TextComponent);
|
|
6237
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
|
+
|
|
6238
6922
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
6239
|
-
import
|
|
6240
|
-
import { isNotNil as
|
|
6241
|
-
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";
|
|
6242
6926
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
6243
6927
|
if (iconOnly) {
|
|
6244
|
-
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
|
+
);
|
|
6245
6936
|
}
|
|
6246
|
-
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
|
+
);
|
|
6247
6945
|
};
|
|
6248
6946
|
var renderLogotype = (logotypeColor, iconOnly) => {
|
|
6249
6947
|
if (iconOnly) {
|
|
6250
6948
|
return null;
|
|
6251
6949
|
}
|
|
6252
|
-
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
|
+
);
|
|
6253
6958
|
};
|
|
6254
6959
|
var computedViewBox = (iconOnly) => {
|
|
6255
6960
|
if (iconOnly) {
|
|
@@ -6257,7 +6962,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
6257
6962
|
}
|
|
6258
6963
|
return "0 0 144 31.47";
|
|
6259
6964
|
};
|
|
6260
|
-
var WistiaLogoComponent =
|
|
6965
|
+
var WistiaLogoComponent = styled25.svg`
|
|
6261
6966
|
height: ${({ height }) => `${height}px`};
|
|
6262
6967
|
|
|
6263
6968
|
/* ensure it will always fit on mobile */
|
|
@@ -6299,7 +7004,7 @@ var WistiaLogo = ({
|
|
|
6299
7004
|
};
|
|
6300
7005
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
6301
7006
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
6302
|
-
const Logo = /* @__PURE__ */
|
|
7007
|
+
const Logo = /* @__PURE__ */ jsxs12(
|
|
6303
7008
|
WistiaLogoComponent,
|
|
6304
7009
|
{
|
|
6305
7010
|
$hoverColor: hoverColor,
|
|
@@ -6309,14 +7014,14 @@ var WistiaLogo = ({
|
|
|
6309
7014
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6310
7015
|
...otherProps,
|
|
6311
7016
|
children: [
|
|
6312
|
-
/* @__PURE__ */
|
|
6313
|
-
|
|
7017
|
+
/* @__PURE__ */ jsx184("title", { children: title }),
|
|
7018
|
+
isNotNil9(description) ? /* @__PURE__ */ jsx184("desc", { children: description }) : null,
|
|
6314
7019
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
6315
7020
|
renderLogotype(logotypeColor, iconOnly)
|
|
6316
7021
|
]
|
|
6317
7022
|
}
|
|
6318
7023
|
);
|
|
6319
|
-
return href !== void 0 ? /* @__PURE__ */
|
|
7024
|
+
return href !== void 0 ? /* @__PURE__ */ jsx184("a", { href, children: Logo }) : Logo;
|
|
6320
7025
|
};
|
|
6321
7026
|
WistiaLogo.displayName = "WistiaLogo";
|
|
6322
7027
|
export {
|
|
@@ -6325,6 +7030,8 @@ export {
|
|
|
6325
7030
|
Box,
|
|
6326
7031
|
Button,
|
|
6327
7032
|
ButtonGroup,
|
|
7033
|
+
Checkbox,
|
|
7034
|
+
CheckboxMenuItem,
|
|
6328
7035
|
ColorSchemeWrapper,
|
|
6329
7036
|
Divider,
|
|
6330
7037
|
Ellipsis,
|
|
@@ -6333,8 +7040,16 @@ export {
|
|
|
6333
7040
|
IconButton,
|
|
6334
7041
|
Label,
|
|
6335
7042
|
Link,
|
|
7043
|
+
Menu,
|
|
7044
|
+
MenuItem,
|
|
7045
|
+
MenuItemDescription,
|
|
7046
|
+
MenuItemLabel,
|
|
7047
|
+
MenuLabel,
|
|
7048
|
+
MenuRadioGroup,
|
|
7049
|
+
RadioMenuItem,
|
|
6336
7050
|
ScreenReaderOnly,
|
|
6337
7051
|
Stack,
|
|
7052
|
+
SubMenu,
|
|
6338
7053
|
Text,
|
|
6339
7054
|
Tooltip,
|
|
6340
7055
|
UIProvider,
|