@wistia/ui 0.5.5-beta.72ca8428.4bdcb4b → 0.5.5
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 +604 -662
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +72 -113
- package/dist/index.d.ts +72 -113
- package/dist/index.mjs +497 -552
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -2
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.5.5
|
|
3
|
+
* @license @wistia/ui v0.5.5
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -7078,63 +7078,11 @@ var Checkbox = forwardRef7(
|
|
|
7078
7078
|
);
|
|
7079
7079
|
Checkbox.displayName = "Checkbox";
|
|
7080
7080
|
|
|
7081
|
-
// src/components/Collapsible/Collapsible.tsx
|
|
7082
|
-
import { Root } from "@radix-ui/react-collapsible";
|
|
7083
|
-
import { isNotNil as isNotNil8 } from "@wistia/type-guards";
|
|
7084
|
-
import styled19 from "styled-components";
|
|
7085
|
-
import { jsx as jsx176 } from "react/jsx-runtime";
|
|
7086
|
-
var StyledRoot = styled19(Root)`
|
|
7087
|
-
&[data-state='closed'] [data-wui-collapsible-content] {
|
|
7088
|
-
display: -webkit-box;
|
|
7089
|
-
-webkit-box-orient: vertical;
|
|
7090
|
-
-webkit-line-clamp: var(--wui-collapsible-content-clamp-lines);
|
|
7091
|
-
overflow: hidden;
|
|
7092
|
-
}
|
|
7093
|
-
`;
|
|
7094
|
-
var Collapsible = ({
|
|
7095
|
-
children,
|
|
7096
|
-
isOpen = false,
|
|
7097
|
-
onOpenChange
|
|
7098
|
-
}) => {
|
|
7099
|
-
const controlProps = {
|
|
7100
|
-
...isNotNil8(onOpenChange) && isNotNil8(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
7101
|
-
};
|
|
7102
|
-
return /* @__PURE__ */ jsx176(StyledRoot, { ...controlProps, children });
|
|
7103
|
-
};
|
|
7104
|
-
Collapsible.displayName = "Collapsible";
|
|
7105
|
-
|
|
7106
|
-
// src/components/Collapsible/CollapsibleTrigger.tsx
|
|
7107
|
-
import { Children as Children3 } from "react";
|
|
7108
|
-
import { Trigger } from "@radix-ui/react-collapsible";
|
|
7109
|
-
import { jsx as jsx177 } from "react/jsx-runtime";
|
|
7110
|
-
var CollapsibleTrigger = ({ children }) => {
|
|
7111
|
-
Children3.only(children);
|
|
7112
|
-
return /* @__PURE__ */ jsx177(Trigger, { asChild: true, children });
|
|
7113
|
-
};
|
|
7114
|
-
|
|
7115
|
-
// src/components/Collapsible/CollapsibleContent.tsx
|
|
7116
|
-
import styled20 from "styled-components";
|
|
7117
|
-
import { Content } from "@radix-ui/react-collapsible";
|
|
7118
|
-
import { isNotUndefined as isNotUndefined4 } from "@wistia/type-guards";
|
|
7119
|
-
import { Fragment as Fragment4, jsx as jsx178, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
7120
|
-
var ClampedContent = styled20.div.attrs({ "data-wui-collapsible-content": true })`
|
|
7121
|
-
--wui-collapsible-content-clamp-lines: ${({ $clamp }) => $clamp};
|
|
7122
|
-
`;
|
|
7123
|
-
var CollapsibleContent = ({ clamp, children }) => {
|
|
7124
|
-
if (isNotUndefined4(clamp)) {
|
|
7125
|
-
return /* @__PURE__ */ jsx178(ClampedContent, { $clamp: clamp, children });
|
|
7126
|
-
}
|
|
7127
|
-
return /* @__PURE__ */ jsx178(Content, { asChild: true, children: /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
7128
|
-
children,
|
|
7129
|
-
" "
|
|
7130
|
-
] }) });
|
|
7131
|
-
};
|
|
7132
|
-
|
|
7133
7081
|
// src/components/DataCards/DataCard.tsx
|
|
7134
|
-
import
|
|
7082
|
+
import styled19, { keyframes } from "styled-components";
|
|
7135
7083
|
import { isNotNull } from "@wistia/type-guards";
|
|
7136
|
-
import { jsx as
|
|
7137
|
-
var StyledDataCard =
|
|
7084
|
+
import { jsx as jsx176, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
7085
|
+
var StyledDataCard = styled19.div`
|
|
7138
7086
|
${({ $colorScheme }) => getColorScheme($colorScheme)}
|
|
7139
7087
|
display: grid;
|
|
7140
7088
|
grid-template-areas: 'label slot' 'value value';
|
|
@@ -7155,7 +7103,7 @@ var shimmer = keyframes`
|
|
|
7155
7103
|
background-position: -200% 0;
|
|
7156
7104
|
}
|
|
7157
7105
|
`;
|
|
7158
|
-
var LoadingBackground =
|
|
7106
|
+
var LoadingBackground = styled19.div`
|
|
7159
7107
|
background: linear-gradient(
|
|
7160
7108
|
90deg,
|
|
7161
7109
|
var(--wui-color-bg-surface-tertiary) 25%,
|
|
@@ -7166,27 +7114,27 @@ var LoadingBackground = styled21.div`
|
|
|
7166
7114
|
animation: ${shimmer} 1.5s infinite;
|
|
7167
7115
|
border-radius: var(--wui-border-radius-01);
|
|
7168
7116
|
`;
|
|
7169
|
-
var StyledLoadingLabel =
|
|
7117
|
+
var StyledLoadingLabel = styled19(LoadingBackground)`
|
|
7170
7118
|
width: 80px;
|
|
7171
7119
|
height: var(--wui-typography-heading-6-line-height);
|
|
7172
7120
|
`;
|
|
7173
|
-
var StyledLoadingValue =
|
|
7121
|
+
var StyledLoadingValue = styled19(LoadingBackground)`
|
|
7174
7122
|
width: 90%;
|
|
7175
7123
|
height: var(--wui-typography-heading-3-line-height);
|
|
7176
7124
|
`;
|
|
7177
|
-
var StyledLabel3 =
|
|
7125
|
+
var StyledLabel3 = styled19(Heading)`
|
|
7178
7126
|
grid-area: label;
|
|
7179
7127
|
`;
|
|
7180
|
-
var StyledValue =
|
|
7128
|
+
var StyledValue = styled19(Heading)`
|
|
7181
7129
|
grid-area: value;
|
|
7182
7130
|
`;
|
|
7183
|
-
var StyledSlot =
|
|
7131
|
+
var StyledSlot = styled19.div`
|
|
7184
7132
|
display: flex;
|
|
7185
7133
|
justify-content: flex-end;
|
|
7186
7134
|
grid-area: slot;
|
|
7187
7135
|
align-self: center;
|
|
7188
7136
|
`;
|
|
7189
|
-
var StyledDataCardTrendContainer =
|
|
7137
|
+
var StyledDataCardTrendContainer = styled19.div`
|
|
7190
7138
|
position: absolute;
|
|
7191
7139
|
bottom: var(--wui-space-01);
|
|
7192
7140
|
right: var(--wui-space-01);
|
|
@@ -7199,39 +7147,39 @@ var DataCard = ({
|
|
|
7199
7147
|
isLoading = false,
|
|
7200
7148
|
trend,
|
|
7201
7149
|
...props
|
|
7202
|
-
}) => /* @__PURE__ */
|
|
7150
|
+
}) => /* @__PURE__ */ jsxs12(
|
|
7203
7151
|
StyledDataCard,
|
|
7204
7152
|
{
|
|
7205
7153
|
$colorScheme: colorScheme,
|
|
7206
7154
|
...props,
|
|
7207
7155
|
children: [
|
|
7208
|
-
/* @__PURE__ */
|
|
7156
|
+
/* @__PURE__ */ jsx176(
|
|
7209
7157
|
StyledLabel3,
|
|
7210
7158
|
{
|
|
7211
7159
|
renderAs: "dt",
|
|
7212
7160
|
variant: "heading6",
|
|
7213
|
-
children: isLoading ? /* @__PURE__ */
|
|
7161
|
+
children: isLoading ? /* @__PURE__ */ jsx176(StyledLoadingLabel, {}) : label
|
|
7214
7162
|
}
|
|
7215
7163
|
),
|
|
7216
|
-
/* @__PURE__ */
|
|
7164
|
+
/* @__PURE__ */ jsx176(
|
|
7217
7165
|
StyledValue,
|
|
7218
7166
|
{
|
|
7219
7167
|
renderAs: "dd",
|
|
7220
7168
|
variant: "heading3",
|
|
7221
|
-
children: isLoading ? /* @__PURE__ */
|
|
7169
|
+
children: isLoading ? /* @__PURE__ */ jsx176(StyledLoadingValue, {}) : value
|
|
7222
7170
|
}
|
|
7223
7171
|
),
|
|
7224
|
-
isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */
|
|
7225
|
-
isNotNull(trend) && !isLoading && /* @__PURE__ */
|
|
7172
|
+
isNotNull(upperRightSlot) && !isLoading && /* @__PURE__ */ jsx176(StyledSlot, { children: upperRightSlot }),
|
|
7173
|
+
isNotNull(trend) && !isLoading && /* @__PURE__ */ jsx176(StyledDataCardTrendContainer, { children: trend })
|
|
7226
7174
|
]
|
|
7227
7175
|
}
|
|
7228
7176
|
);
|
|
7229
7177
|
DataCard.displayName = "DataCard";
|
|
7230
7178
|
|
|
7231
7179
|
// src/components/DataCards/DataCards.tsx
|
|
7232
|
-
import
|
|
7233
|
-
import { jsx as
|
|
7234
|
-
var StyledDataCards =
|
|
7180
|
+
import styled20 from "styled-components";
|
|
7181
|
+
import { jsx as jsx177 } from "react/jsx-runtime";
|
|
7182
|
+
var StyledDataCards = styled20(Box)`
|
|
7235
7183
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7236
7184
|
margin-top: 0; /* Remove default <dl> style */
|
|
7237
7185
|
> * {
|
|
@@ -7245,7 +7193,7 @@ var DataCards = ({
|
|
|
7245
7193
|
colorScheme = "inherit",
|
|
7246
7194
|
...props
|
|
7247
7195
|
}) => {
|
|
7248
|
-
return /* @__PURE__ */
|
|
7196
|
+
return /* @__PURE__ */ jsx177(
|
|
7249
7197
|
StyledDataCards,
|
|
7250
7198
|
{
|
|
7251
7199
|
...props,
|
|
@@ -7263,12 +7211,12 @@ var DataCards = ({
|
|
|
7263
7211
|
DataCards.displayName = "DataCards";
|
|
7264
7212
|
|
|
7265
7213
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7266
|
-
import
|
|
7214
|
+
import styled22 from "styled-components";
|
|
7267
7215
|
|
|
7268
7216
|
// src/components/Text/Text.tsx
|
|
7269
7217
|
import { forwardRef as forwardRef8 } from "react";
|
|
7270
|
-
import
|
|
7271
|
-
import { jsx as
|
|
7218
|
+
import styled21, { css as css19 } from "styled-components";
|
|
7219
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
7272
7220
|
var bodyBoldStyles = css19`
|
|
7273
7221
|
> strong,
|
|
7274
7222
|
b {
|
|
@@ -7367,7 +7315,7 @@ var variantStyleMap2 = {
|
|
|
7367
7315
|
label3: label3TextStyle,
|
|
7368
7316
|
label4: label4TextStyle
|
|
7369
7317
|
};
|
|
7370
|
-
var StyledText =
|
|
7318
|
+
var StyledText = styled21.div`
|
|
7371
7319
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
7372
7320
|
--text-color: ${({ $prominence, $disabled }) => {
|
|
7373
7321
|
if ($disabled) {
|
|
@@ -7421,7 +7369,7 @@ var TextComponent = forwardRef8(
|
|
|
7421
7369
|
renderAs,
|
|
7422
7370
|
...otherProps
|
|
7423
7371
|
}, ref) => {
|
|
7424
|
-
return /* @__PURE__ */
|
|
7372
|
+
return /* @__PURE__ */ jsx178(
|
|
7425
7373
|
StyledText,
|
|
7426
7374
|
{
|
|
7427
7375
|
ref,
|
|
@@ -7443,8 +7391,8 @@ TextComponent.displayName = "Text";
|
|
|
7443
7391
|
var Text = makePolymorphic(TextComponent);
|
|
7444
7392
|
|
|
7445
7393
|
// src/components/DataCards/DataCardTrend.tsx
|
|
7446
|
-
import { jsx as
|
|
7447
|
-
var StyledDataCardTrend =
|
|
7394
|
+
import { jsx as jsx179, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
7395
|
+
var StyledDataCardTrend = styled22.div`
|
|
7448
7396
|
${({ $outlook }) => getColorScheme($outlook === "positive" ? "success" : "error")};
|
|
7449
7397
|
background: var(--wui-color-bg-app);
|
|
7450
7398
|
border-radius: var(--wui-border-radius-rounded);
|
|
@@ -7459,8 +7407,8 @@ var DataCardTrend = ({
|
|
|
7459
7407
|
children,
|
|
7460
7408
|
...props
|
|
7461
7409
|
}) => {
|
|
7462
|
-
return /* @__PURE__ */
|
|
7463
|
-
/* @__PURE__ */
|
|
7410
|
+
return /* @__PURE__ */ jsxs13(StyledDataCardTrend, { $outlook: outlook, children: [
|
|
7411
|
+
/* @__PURE__ */ jsx179(
|
|
7464
7412
|
Icon,
|
|
7465
7413
|
{
|
|
7466
7414
|
size: "md",
|
|
@@ -7468,7 +7416,7 @@ var DataCardTrend = ({
|
|
|
7468
7416
|
...props
|
|
7469
7417
|
}
|
|
7470
7418
|
),
|
|
7471
|
-
/* @__PURE__ */
|
|
7419
|
+
/* @__PURE__ */ jsx179(
|
|
7472
7420
|
Text,
|
|
7473
7421
|
{
|
|
7474
7422
|
prominence: "secondary",
|
|
@@ -7480,8 +7428,8 @@ var DataCardTrend = ({
|
|
|
7480
7428
|
};
|
|
7481
7429
|
|
|
7482
7430
|
// src/components/Divider/Divider.tsx
|
|
7483
|
-
import
|
|
7484
|
-
import { jsx as
|
|
7431
|
+
import styled23, { css as css20 } from "styled-components";
|
|
7432
|
+
import { jsx as jsx180 } from "react/jsx-runtime";
|
|
7485
7433
|
var horizontalBorderCss = css20`
|
|
7486
7434
|
border-top-color: var(--wui-color-border);
|
|
7487
7435
|
border-top-style: solid;
|
|
@@ -7495,7 +7443,7 @@ var verticalBorderCss = css20`
|
|
|
7495
7443
|
min-height: 100%;
|
|
7496
7444
|
width: 1px;
|
|
7497
7445
|
`;
|
|
7498
|
-
var DividerComponent =
|
|
7446
|
+
var DividerComponent = styled23.div`
|
|
7499
7447
|
${({ $orientation }) => {
|
|
7500
7448
|
switch ($orientation) {
|
|
7501
7449
|
case "vertical":
|
|
@@ -7510,7 +7458,7 @@ var Divider = ({
|
|
|
7510
7458
|
orientation = "horizontal",
|
|
7511
7459
|
...otherProps
|
|
7512
7460
|
}) => {
|
|
7513
|
-
return /* @__PURE__ */
|
|
7461
|
+
return /* @__PURE__ */ jsx180(
|
|
7514
7462
|
DividerComponent,
|
|
7515
7463
|
{
|
|
7516
7464
|
$orientation: orientation,
|
|
@@ -7523,15 +7471,15 @@ var Divider = ({
|
|
|
7523
7471
|
Divider.displayName = "Divider";
|
|
7524
7472
|
|
|
7525
7473
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7526
|
-
import
|
|
7474
|
+
import styled27, { css as css23 } from "styled-components";
|
|
7527
7475
|
import { useState as useState5, useRef as useRef4 } from "react";
|
|
7528
7476
|
|
|
7529
7477
|
// src/components/ScreenReaderOnly/ScreenReaderOnly.tsx
|
|
7530
|
-
import
|
|
7531
|
-
import { isNotNil as
|
|
7532
|
-
import { jsx as
|
|
7533
|
-
var VisuallyHidden =
|
|
7534
|
-
var VisuallyHiddenButFocusable =
|
|
7478
|
+
import styled24 from "styled-components";
|
|
7479
|
+
import { isNotNil as isNotNil8 } from "@wistia/type-guards";
|
|
7480
|
+
import { jsx as jsx181 } from "react/jsx-runtime";
|
|
7481
|
+
var VisuallyHidden = styled24.div({ ...visuallyHiddenStyle });
|
|
7482
|
+
var VisuallyHiddenButFocusable = styled24.div({
|
|
7535
7483
|
"&:not(:focus-within)": visuallyHiddenStyle
|
|
7536
7484
|
});
|
|
7537
7485
|
var ScreenReaderOnly = ({
|
|
@@ -7540,24 +7488,24 @@ var ScreenReaderOnly = ({
|
|
|
7540
7488
|
focusable = false,
|
|
7541
7489
|
...otherProps
|
|
7542
7490
|
}) => {
|
|
7543
|
-
const accessibleText =
|
|
7491
|
+
const accessibleText = isNotNil8(text) ? text : children;
|
|
7544
7492
|
if (focusable) {
|
|
7545
|
-
return /* @__PURE__ */
|
|
7493
|
+
return /* @__PURE__ */ jsx181(VisuallyHiddenButFocusable, { ...otherProps, children: accessibleText });
|
|
7546
7494
|
}
|
|
7547
|
-
return /* @__PURE__ */
|
|
7495
|
+
return /* @__PURE__ */ jsx181(VisuallyHidden, { ...otherProps, children: accessibleText });
|
|
7548
7496
|
};
|
|
7549
7497
|
ScreenReaderOnly.displayName = "ScreenReaderOnly";
|
|
7550
7498
|
|
|
7551
7499
|
// src/components/Tooltip/Tooltip.tsx
|
|
7552
7500
|
import {
|
|
7553
|
-
Root
|
|
7554
|
-
Content
|
|
7555
|
-
Trigger
|
|
7501
|
+
Root,
|
|
7502
|
+
Content,
|
|
7503
|
+
Trigger,
|
|
7556
7504
|
Portal,
|
|
7557
7505
|
Arrow
|
|
7558
7506
|
} from "@radix-ui/react-tooltip";
|
|
7559
|
-
import
|
|
7560
|
-
import { jsx as
|
|
7507
|
+
import styled25, { css as css21 } from "styled-components";
|
|
7508
|
+
import { jsx as jsx182, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
7561
7509
|
var CompactTooltipStyles = css21`
|
|
7562
7510
|
--tooltip-font-size: var(--wui-typography-label-4-size);
|
|
7563
7511
|
--tooltip-line-height: var(--wui-typography-label-4-line-height);
|
|
@@ -7565,7 +7513,7 @@ var CompactTooltipStyles = css21`
|
|
|
7565
7513
|
--tooltip-horizontal-padding: var(--wui-space-02);
|
|
7566
7514
|
--tooltip-vertical-padding: var(--wui-space-03);
|
|
7567
7515
|
`;
|
|
7568
|
-
var StyledContent =
|
|
7516
|
+
var StyledContent = styled25(Content)`
|
|
7569
7517
|
--tooltip-font-family: var(--wui-typography-family-default);
|
|
7570
7518
|
--tooltip-border-radius: var(--wui-border-radius-05);
|
|
7571
7519
|
--tooltip-bg: var(--wui-color-bg-tooltip);
|
|
@@ -7623,14 +7571,14 @@ var Tooltip = ({
|
|
|
7623
7571
|
if (forceOpen === true) {
|
|
7624
7572
|
rootProps.open = true;
|
|
7625
7573
|
}
|
|
7626
|
-
return /* @__PURE__ */
|
|
7627
|
-
|
|
7574
|
+
return /* @__PURE__ */ jsxs14(
|
|
7575
|
+
Root,
|
|
7628
7576
|
{
|
|
7629
7577
|
delayDuration: delay,
|
|
7630
7578
|
...rootProps,
|
|
7631
7579
|
children: [
|
|
7632
|
-
/* @__PURE__ */
|
|
7633
|
-
/* @__PURE__ */
|
|
7580
|
+
/* @__PURE__ */ jsx182(Trigger, { asChild: true, children }),
|
|
7581
|
+
/* @__PURE__ */ jsx182(Portal, { children: /* @__PURE__ */ jsxs14(
|
|
7634
7582
|
StyledContent,
|
|
7635
7583
|
{
|
|
7636
7584
|
$compact: compact,
|
|
@@ -7638,7 +7586,7 @@ var Tooltip = ({
|
|
|
7638
7586
|
sideOffset: hideArrow ? VISUAL_OFFSET : VISUAL_OFFSET - 2,
|
|
7639
7587
|
children: [
|
|
7640
7588
|
content,
|
|
7641
|
-
!hideArrow ? /* @__PURE__ */
|
|
7589
|
+
!hideArrow ? /* @__PURE__ */ jsx182(Arrow, { asChild: true, children: /* @__PURE__ */ jsx182(
|
|
7642
7590
|
"svg",
|
|
7643
7591
|
{
|
|
7644
7592
|
fill: "var(--tooltip-bg)",
|
|
@@ -7647,7 +7595,7 @@ var Tooltip = ({
|
|
|
7647
7595
|
viewBox: "0 0 12 8",
|
|
7648
7596
|
width: "12",
|
|
7649
7597
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7650
|
-
children: /* @__PURE__ */
|
|
7598
|
+
children: /* @__PURE__ */ jsx182("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" })
|
|
7651
7599
|
}
|
|
7652
7600
|
) }) : null
|
|
7653
7601
|
]
|
|
@@ -7661,9 +7609,9 @@ Tooltip.displayName = "Tooltip";
|
|
|
7661
7609
|
|
|
7662
7610
|
// src/components/Input/Input.tsx
|
|
7663
7611
|
import { forwardRef as forwardRef9, cloneElement as cloneElement3, useRef as useRef3 } from "react";
|
|
7664
|
-
import
|
|
7665
|
-
import { isNil as isNil12, isNotNil as
|
|
7666
|
-
import { jsx as
|
|
7612
|
+
import styled26, { css as css22 } from "styled-components";
|
|
7613
|
+
import { isNil as isNil12, isNotNil as isNotNil9, isRecord as isRecord4 } from "@wistia/type-guards";
|
|
7614
|
+
import { jsx as jsx183, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
7667
7615
|
var inputStyles = css22`
|
|
7668
7616
|
--wui-input-color-bg: var(--wui-color-bg-surface);
|
|
7669
7617
|
--wui-input-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
@@ -7705,7 +7653,7 @@ var inputStyles = css22`
|
|
|
7705
7653
|
}
|
|
7706
7654
|
}
|
|
7707
7655
|
`;
|
|
7708
|
-
var StyledInputContainer =
|
|
7656
|
+
var StyledInputContainer = styled26.div`
|
|
7709
7657
|
display: inline-flex;
|
|
7710
7658
|
position: relative;
|
|
7711
7659
|
${inputStyles};
|
|
@@ -7760,26 +7708,26 @@ var Input = forwardRef9(
|
|
|
7760
7708
|
...props
|
|
7761
7709
|
}, externalRef) => {
|
|
7762
7710
|
const internalRef = useRef3();
|
|
7763
|
-
const ref =
|
|
7711
|
+
const ref = isNotNil9(externalRef) && isRecord4(externalRef) && "current" in externalRef ? externalRef : internalRef;
|
|
7764
7712
|
let leftIconToDisplay = leftIcon;
|
|
7765
7713
|
if (isNil12(leftIcon) && type === "search") {
|
|
7766
|
-
leftIconToDisplay = /* @__PURE__ */
|
|
7714
|
+
leftIconToDisplay = /* @__PURE__ */ jsx183(Icon, { type: "search" });
|
|
7767
7715
|
}
|
|
7768
|
-
if (
|
|
7716
|
+
if (isNotNil9(leftIconToDisplay)) {
|
|
7769
7717
|
leftIconToDisplay = cloneElement3(leftIconToDisplay, {
|
|
7770
7718
|
size: "md",
|
|
7771
7719
|
className: "wui-input-left-icon"
|
|
7772
7720
|
});
|
|
7773
7721
|
}
|
|
7774
7722
|
let rightIconToDisplay = rightIcon;
|
|
7775
|
-
if (
|
|
7723
|
+
if (isNotNil9(rightIconToDisplay)) {
|
|
7776
7724
|
rightIconToDisplay = cloneElement3(rightIconToDisplay, {
|
|
7777
7725
|
size: "md",
|
|
7778
7726
|
className: "wui-input-right-icon"
|
|
7779
7727
|
});
|
|
7780
7728
|
}
|
|
7781
7729
|
const handleFocus = (event) => {
|
|
7782
|
-
if (
|
|
7730
|
+
if (isNotNil9(props.onFocus)) {
|
|
7783
7731
|
props.onFocus(event);
|
|
7784
7732
|
}
|
|
7785
7733
|
if (autoSelect && isValidRef(ref) && "current" in ref) {
|
|
@@ -7788,21 +7736,21 @@ var Input = forwardRef9(
|
|
|
7788
7736
|
});
|
|
7789
7737
|
}
|
|
7790
7738
|
};
|
|
7791
|
-
return /* @__PURE__ */
|
|
7739
|
+
return /* @__PURE__ */ jsxs15(
|
|
7792
7740
|
StyledInputContainer,
|
|
7793
7741
|
{
|
|
7794
7742
|
$fullWidth: fullWidth,
|
|
7795
7743
|
$monospace: monospace,
|
|
7796
7744
|
children: [
|
|
7797
7745
|
leftIconToDisplay ?? null,
|
|
7798
|
-
type === "multiline" ? /* @__PURE__ */
|
|
7746
|
+
type === "multiline" ? /* @__PURE__ */ jsx183(
|
|
7799
7747
|
"textarea",
|
|
7800
7748
|
{
|
|
7801
7749
|
...props,
|
|
7802
7750
|
ref,
|
|
7803
7751
|
onFocus: handleFocus
|
|
7804
7752
|
}
|
|
7805
|
-
) : /* @__PURE__ */
|
|
7753
|
+
) : /* @__PURE__ */ jsx183(
|
|
7806
7754
|
"input",
|
|
7807
7755
|
{
|
|
7808
7756
|
...props,
|
|
@@ -7820,8 +7768,8 @@ var Input = forwardRef9(
|
|
|
7820
7768
|
Input.displayName = "Input";
|
|
7821
7769
|
|
|
7822
7770
|
// src/components/EditableHeading/EditableHeading.tsx
|
|
7823
|
-
import { Fragment as
|
|
7824
|
-
var StyledInput =
|
|
7771
|
+
import { Fragment as Fragment4, jsx as jsx184, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
7772
|
+
var StyledInput = styled27(Input)`
|
|
7825
7773
|
:not([rows]) {
|
|
7826
7774
|
min-height: unset;
|
|
7827
7775
|
}
|
|
@@ -7851,7 +7799,7 @@ var editableStyles = css23`
|
|
|
7851
7799
|
cursor: pointer;
|
|
7852
7800
|
}
|
|
7853
7801
|
`;
|
|
7854
|
-
var StyledHeading2 =
|
|
7802
|
+
var StyledHeading2 = styled27(Heading)`
|
|
7855
7803
|
width: 100%;
|
|
7856
7804
|
border-radius: var(--wui-border-radius-02);
|
|
7857
7805
|
padding: var(--wui-space-02);
|
|
@@ -7905,7 +7853,7 @@ var EditableHeading = ({
|
|
|
7905
7853
|
handleSetEditing(false);
|
|
7906
7854
|
}
|
|
7907
7855
|
};
|
|
7908
|
-
const HeadingComponent2 = /* @__PURE__ */
|
|
7856
|
+
const HeadingComponent2 = /* @__PURE__ */ jsx184(
|
|
7909
7857
|
StyledHeading2,
|
|
7910
7858
|
{
|
|
7911
7859
|
ref: headingRef,
|
|
@@ -7919,7 +7867,7 @@ var EditableHeading = ({
|
|
|
7919
7867
|
return HeadingComponent2;
|
|
7920
7868
|
}
|
|
7921
7869
|
if (isEditing || forceEditing) {
|
|
7922
|
-
return /* @__PURE__ */
|
|
7870
|
+
return /* @__PURE__ */ jsx184(
|
|
7923
7871
|
StyledInput,
|
|
7924
7872
|
{
|
|
7925
7873
|
$height: headingHeight,
|
|
@@ -7937,8 +7885,8 @@ var EditableHeading = ({
|
|
|
7937
7885
|
}
|
|
7938
7886
|
);
|
|
7939
7887
|
}
|
|
7940
|
-
return /* @__PURE__ */
|
|
7941
|
-
/* @__PURE__ */
|
|
7888
|
+
return /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
7889
|
+
/* @__PURE__ */ jsx184(
|
|
7942
7890
|
Tooltip,
|
|
7943
7891
|
{
|
|
7944
7892
|
compact: true,
|
|
@@ -7946,7 +7894,7 @@ var EditableHeading = ({
|
|
|
7946
7894
|
children: HeadingComponent2
|
|
7947
7895
|
}
|
|
7948
7896
|
),
|
|
7949
|
-
/* @__PURE__ */
|
|
7897
|
+
/* @__PURE__ */ jsx184(ScreenReaderOnly, { children: /* @__PURE__ */ jsx184(
|
|
7950
7898
|
"button",
|
|
7951
7899
|
{
|
|
7952
7900
|
"aria-label": ariaLabel,
|
|
@@ -7959,15 +7907,15 @@ var EditableHeading = ({
|
|
|
7959
7907
|
|
|
7960
7908
|
// src/components/Form/Form.tsx
|
|
7961
7909
|
import { forwardRef as forwardRef11, useRef as useRef5, useMemo as useMemo4, createContext as createContext2, useState as useState6, useId as useId2 } from "react";
|
|
7962
|
-
import
|
|
7963
|
-
import { isNotUndefined as
|
|
7910
|
+
import styled29 from "styled-components";
|
|
7911
|
+
import { isNotUndefined as isNotUndefined4, isUndefined as isUndefined3 } from "@wistia/type-guards";
|
|
7964
7912
|
|
|
7965
7913
|
// src/components/Stack/Stack.tsx
|
|
7966
7914
|
import { forwardRef as forwardRef10 } from "react";
|
|
7967
|
-
import
|
|
7968
|
-
import { jsx as
|
|
7915
|
+
import styled28 from "styled-components";
|
|
7916
|
+
import { jsx as jsx185 } from "react/jsx-runtime";
|
|
7969
7917
|
var DEFAULT_ELEMENT4 = "div";
|
|
7970
|
-
var StyledStack =
|
|
7918
|
+
var StyledStack = styled28.div`
|
|
7971
7919
|
display: flex;
|
|
7972
7920
|
flex-direction: ${({ $direction }) => $direction === "horizontal" ? "row" : "column"};
|
|
7973
7921
|
gap: ${({ $gap }) => `var(--wui-${$gap})`};
|
|
@@ -7976,7 +7924,7 @@ var StackComponent = forwardRef10(
|
|
|
7976
7924
|
({ renderAs, direction = "vertical", gap = "space-02", ...props }, ref) => {
|
|
7977
7925
|
const responsiveGap = useResponsiveProp(gap);
|
|
7978
7926
|
const responsiveDirection = useResponsiveProp(direction);
|
|
7979
|
-
return /* @__PURE__ */
|
|
7927
|
+
return /* @__PURE__ */ jsx185(
|
|
7980
7928
|
StyledStack,
|
|
7981
7929
|
{
|
|
7982
7930
|
ref,
|
|
@@ -7992,8 +7940,8 @@ StackComponent.displayName = "Stack";
|
|
|
7992
7940
|
var Stack = makePolymorphic(StackComponent);
|
|
7993
7941
|
|
|
7994
7942
|
// src/components/Form/Form.tsx
|
|
7995
|
-
import { jsx as
|
|
7996
|
-
var StyledForm =
|
|
7943
|
+
import { jsx as jsx186 } from "react/jsx-runtime";
|
|
7944
|
+
var StyledForm = styled29.form`
|
|
7997
7945
|
--form-default-width: 690px;
|
|
7998
7946
|
|
|
7999
7947
|
max-width: ${({ $fullWidth }) => $fullWidth ? "auto" : "var(--form-default-width)"};
|
|
@@ -8024,7 +7972,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8024
7972
|
props.onBlur(event);
|
|
8025
7973
|
}
|
|
8026
7974
|
const formData = new FormData(event.currentTarget);
|
|
8027
|
-
if (
|
|
7975
|
+
if (isNotUndefined4(validate)) {
|
|
8028
7976
|
handleValidate(formData);
|
|
8029
7977
|
}
|
|
8030
7978
|
};
|
|
@@ -8062,7 +8010,7 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8062
8010
|
}, [values, errors, id, hasSubmitted]);
|
|
8063
8011
|
return (
|
|
8064
8012
|
// @ts-expect-error - generic context providers are a giant pain
|
|
8065
|
-
/* @__PURE__ */
|
|
8013
|
+
/* @__PURE__ */ jsx186(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx186(
|
|
8066
8014
|
Stack,
|
|
8067
8015
|
{
|
|
8068
8016
|
gap: "space-05",
|
|
@@ -8120,10 +8068,10 @@ var useFormState = (action, initialData = {}) => {
|
|
|
8120
8068
|
|
|
8121
8069
|
// src/components/Form/FormErrorSummary.tsx
|
|
8122
8070
|
import { useContext as useContext2, useRef as useRef6 } from "react";
|
|
8123
|
-
import { isArray, isNotUndefined as
|
|
8124
|
-
import { jsx as
|
|
8071
|
+
import { isArray, isNotUndefined as isNotUndefined5 } from "@wistia/type-guards";
|
|
8072
|
+
import { jsx as jsx187, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
8125
8073
|
var ErrorItem = ({ name, error, formId }) => {
|
|
8126
|
-
return /* @__PURE__ */
|
|
8074
|
+
return /* @__PURE__ */ jsx187("li", { children: /* @__PURE__ */ jsx187(Link, { href: `${formId}-${name}`, children: error }) }, name);
|
|
8127
8075
|
};
|
|
8128
8076
|
var FormErrorSummary = ({ description }) => {
|
|
8129
8077
|
const ref = useRef6(null);
|
|
@@ -8132,10 +8080,10 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8132
8080
|
if (isValid || !hasSubmitted) {
|
|
8133
8081
|
return null;
|
|
8134
8082
|
}
|
|
8135
|
-
return /* @__PURE__ */
|
|
8136
|
-
/* @__PURE__ */
|
|
8137
|
-
/* @__PURE__ */
|
|
8138
|
-
([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */
|
|
8083
|
+
return /* @__PURE__ */ jsxs17("div", { ref, children: [
|
|
8084
|
+
/* @__PURE__ */ jsx187("p", { children: description }),
|
|
8085
|
+
/* @__PURE__ */ jsx187("ul", { children: Object.entries(errors).filter(([, error]) => isNotUndefined5(error)).map(
|
|
8086
|
+
([name, error]) => isArray(error) ? error.map((err) => /* @__PURE__ */ jsx187(
|
|
8139
8087
|
ErrorItem,
|
|
8140
8088
|
{
|
|
8141
8089
|
error: err,
|
|
@@ -8143,7 +8091,7 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8143
8091
|
name
|
|
8144
8092
|
},
|
|
8145
8093
|
err
|
|
8146
|
-
)) : /* @__PURE__ */
|
|
8094
|
+
)) : /* @__PURE__ */ jsx187(
|
|
8147
8095
|
ErrorItem,
|
|
8148
8096
|
{
|
|
8149
8097
|
error: error ?? "",
|
|
@@ -8157,33 +8105,33 @@ var FormErrorSummary = ({ description }) => {
|
|
|
8157
8105
|
};
|
|
8158
8106
|
|
|
8159
8107
|
// src/components/FormField/FormField.tsx
|
|
8160
|
-
import { Children as
|
|
8161
|
-
import
|
|
8162
|
-
import { isArray as isArray2, isNotNil as
|
|
8108
|
+
import { Children as Children3, cloneElement as cloneElement4, useContext as useContext3 } from "react";
|
|
8109
|
+
import styled31 from "styled-components";
|
|
8110
|
+
import { isArray as isArray2, isNotNil as isNotNil10, isNotUndefined as isNotUndefined6, isUndefined as isUndefined4 } from "@wistia/type-guards";
|
|
8163
8111
|
|
|
8164
8112
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8165
8113
|
import { createContext as createContext3, useMemo as useMemo5 } from "react";
|
|
8166
8114
|
|
|
8167
8115
|
// src/components/FormGroup/FormGroup.tsx
|
|
8168
|
-
import
|
|
8116
|
+
import styled30 from "styled-components";
|
|
8169
8117
|
import { useRef as useRef7 } from "react";
|
|
8170
|
-
import { jsx as
|
|
8171
|
-
var StyledFieldset =
|
|
8118
|
+
import { jsx as jsx188, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
8119
|
+
var StyledFieldset = styled30.fieldset`
|
|
8172
8120
|
border: 0;
|
|
8173
8121
|
`;
|
|
8174
|
-
var StyledLegend =
|
|
8122
|
+
var StyledLegend = styled30.legend`
|
|
8175
8123
|
margin-bottom: var(--space-01);
|
|
8176
8124
|
`;
|
|
8177
8125
|
var FormGroup = ({ children, label, ...props }) => {
|
|
8178
8126
|
const ref = useRef7();
|
|
8179
|
-
return /* @__PURE__ */
|
|
8127
|
+
return /* @__PURE__ */ jsxs18(
|
|
8180
8128
|
Stack,
|
|
8181
8129
|
{
|
|
8182
8130
|
...props,
|
|
8183
8131
|
ref,
|
|
8184
8132
|
renderAs: StyledFieldset,
|
|
8185
8133
|
children: [
|
|
8186
|
-
/* @__PURE__ */
|
|
8134
|
+
/* @__PURE__ */ jsx188(
|
|
8187
8135
|
Heading,
|
|
8188
8136
|
{
|
|
8189
8137
|
renderAs: StyledLegend,
|
|
@@ -8199,7 +8147,7 @@ var FormGroup = ({ children, label, ...props }) => {
|
|
|
8199
8147
|
FormGroup.displayName = "FormGroup";
|
|
8200
8148
|
|
|
8201
8149
|
// src/components/FormGroup/CheckboxGroup.tsx
|
|
8202
|
-
import { jsx as
|
|
8150
|
+
import { jsx as jsx189 } from "react/jsx-runtime";
|
|
8203
8151
|
var CheckboxGroupContext = createContext3(null);
|
|
8204
8152
|
var CheckboxGroup = ({
|
|
8205
8153
|
children,
|
|
@@ -8214,13 +8162,13 @@ var CheckboxGroup = ({
|
|
|
8214
8162
|
onChange
|
|
8215
8163
|
};
|
|
8216
8164
|
}, [name, onChange]);
|
|
8217
|
-
return /* @__PURE__ */
|
|
8165
|
+
return /* @__PURE__ */ jsx189(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ jsx189(FormGroup, { ...props, children }) });
|
|
8218
8166
|
};
|
|
8219
8167
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
8220
8168
|
|
|
8221
8169
|
// src/components/FormField/FormField.tsx
|
|
8222
|
-
import { jsx as
|
|
8223
|
-
var StyledFormField =
|
|
8170
|
+
import { jsx as jsx190, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
8171
|
+
var StyledFormField = styled31.div`
|
|
8224
8172
|
--form-field-spacing: var(--wui-space-01);
|
|
8225
8173
|
--form-field-error-color: var(--wui-color-text-secondary-error);
|
|
8226
8174
|
|
|
@@ -8228,7 +8176,7 @@ var StyledFormField = styled33.div`
|
|
|
8228
8176
|
flex-direction: column;
|
|
8229
8177
|
gap: var(--form-field-spacing);
|
|
8230
8178
|
`;
|
|
8231
|
-
var StyledErrorList =
|
|
8179
|
+
var StyledErrorList = styled31.ul`
|
|
8232
8180
|
margin: 0;
|
|
8233
8181
|
padding: 0;
|
|
8234
8182
|
padding-left: var(--wui-space-04);
|
|
@@ -8238,7 +8186,7 @@ var StyledErrorList = styled33.ul`
|
|
|
8238
8186
|
`;
|
|
8239
8187
|
var ErrorMessages = ({ errors, id }) => {
|
|
8240
8188
|
const isMultipleErrors = isArray2(errors);
|
|
8241
|
-
return isMultipleErrors ? /* @__PURE__ */
|
|
8189
|
+
return isMultipleErrors ? /* @__PURE__ */ jsx190(StyledErrorList, { children: errors.map((error, index) => /* @__PURE__ */ jsx190(
|
|
8242
8190
|
Text,
|
|
8243
8191
|
{
|
|
8244
8192
|
colorScheme: "error",
|
|
@@ -8248,7 +8196,7 @@ var ErrorMessages = ({ errors, id }) => {
|
|
|
8248
8196
|
children: error
|
|
8249
8197
|
},
|
|
8250
8198
|
`${id}-${index}`
|
|
8251
|
-
)) }) : /* @__PURE__ */
|
|
8199
|
+
)) }) : /* @__PURE__ */ jsx190(
|
|
8252
8200
|
Text,
|
|
8253
8201
|
{
|
|
8254
8202
|
colorScheme: "error",
|
|
@@ -8280,19 +8228,19 @@ var FormField = ({
|
|
|
8280
8228
|
label: isInlineLabel ? label : void 0,
|
|
8281
8229
|
...props
|
|
8282
8230
|
};
|
|
8283
|
-
if (isUndefined4(value) &&
|
|
8231
|
+
if (isUndefined4(value) && isNotUndefined6(defaultValue)) {
|
|
8284
8232
|
childProps = {
|
|
8285
8233
|
...childProps,
|
|
8286
8234
|
defaultValue
|
|
8287
8235
|
};
|
|
8288
8236
|
}
|
|
8289
|
-
if (
|
|
8290
|
-
const computedName =
|
|
8237
|
+
if (isNotNil10(checkboxGroup)) {
|
|
8238
|
+
const computedName = isNotNil10(checkboxGroup.name) ? `${checkboxGroup.name}[${name}]` : name;
|
|
8291
8239
|
const handleChange = (event) => {
|
|
8292
|
-
if (
|
|
8240
|
+
if (isNotUndefined6(props.onChange)) {
|
|
8293
8241
|
props.onChange(event);
|
|
8294
8242
|
}
|
|
8295
|
-
if (
|
|
8243
|
+
if (isNotUndefined6(checkboxGroup.onChange)) {
|
|
8296
8244
|
checkboxGroup.onChange(event);
|
|
8297
8245
|
}
|
|
8298
8246
|
};
|
|
@@ -8300,15 +8248,15 @@ var FormField = ({
|
|
|
8300
8248
|
...childProps,
|
|
8301
8249
|
name: computedName,
|
|
8302
8250
|
onChange: handleChange,
|
|
8303
|
-
"aria-invalid":
|
|
8304
|
-
"aria-describedby":
|
|
8251
|
+
"aria-invalid": isNotNil10(error),
|
|
8252
|
+
"aria-describedby": isNotNil10(error) ? `${id}-error` : void 0
|
|
8305
8253
|
};
|
|
8306
8254
|
}
|
|
8307
|
-
|
|
8308
|
-
return /* @__PURE__ */
|
|
8309
|
-
!isInlineLabel && /* @__PURE__ */
|
|
8255
|
+
Children3.only(children);
|
|
8256
|
+
return /* @__PURE__ */ jsxs19(StyledFormField, { ...props, children: [
|
|
8257
|
+
!isInlineLabel && /* @__PURE__ */ jsx190(Label, { htmlFor: id, children: label }),
|
|
8310
8258
|
cloneElement4(children, childProps),
|
|
8311
|
-
|
|
8259
|
+
isNotNil10(computedError) ? /* @__PURE__ */ jsx190(
|
|
8312
8260
|
ErrorMessages,
|
|
8313
8261
|
{
|
|
8314
8262
|
errors: computedError,
|
|
@@ -8321,7 +8269,7 @@ FormField.displayName = "FormField";
|
|
|
8321
8269
|
|
|
8322
8270
|
// src/components/FormGroup/RadioGroup.tsx
|
|
8323
8271
|
import { createContext as createContext4, useMemo as useMemo6 } from "react";
|
|
8324
|
-
import { jsx as
|
|
8272
|
+
import { jsx as jsx191 } from "react/jsx-runtime";
|
|
8325
8273
|
var RadioGroupContext = createContext4(null);
|
|
8326
8274
|
var RadioGroup = ({
|
|
8327
8275
|
children,
|
|
@@ -8336,15 +8284,15 @@ var RadioGroup = ({
|
|
|
8336
8284
|
onChange
|
|
8337
8285
|
};
|
|
8338
8286
|
}, [name, onChange]);
|
|
8339
|
-
return /* @__PURE__ */
|
|
8287
|
+
return /* @__PURE__ */ jsx191(RadioGroupContext.Provider, { value: context, children: /* @__PURE__ */ jsx191(FormGroup, { ...props, children }) });
|
|
8340
8288
|
};
|
|
8341
8289
|
RadioGroup.displayName = "RadioGroup";
|
|
8342
8290
|
|
|
8343
8291
|
// src/components/IconButton/IconButton.tsx
|
|
8344
|
-
import { Children as
|
|
8345
|
-
import
|
|
8346
|
-
import { jsx as
|
|
8347
|
-
var StyledButton2 =
|
|
8292
|
+
import { Children as Children4, cloneElement as cloneElement5, forwardRef as forwardRef12 } from "react";
|
|
8293
|
+
import styled32 from "styled-components";
|
|
8294
|
+
import { jsx as jsx192 } from "react/jsx-runtime";
|
|
8295
|
+
var StyledButton2 = styled32(Button)`
|
|
8348
8296
|
--icon-button-size-sm: 24px;
|
|
8349
8297
|
--icon-button-size-md: 32px;
|
|
8350
8298
|
--icon-button-size-lg: 40px;
|
|
@@ -8361,7 +8309,7 @@ var StyledButton2 = styled34(Button)`
|
|
|
8361
8309
|
var IconButton = forwardRef12(
|
|
8362
8310
|
({ children, label, size = "md", ...props }, ref) => {
|
|
8363
8311
|
const responsiveSize = useResponsiveProp(size);
|
|
8364
|
-
return /* @__PURE__ */
|
|
8312
|
+
return /* @__PURE__ */ jsx192(
|
|
8365
8313
|
StyledButton2,
|
|
8366
8314
|
{
|
|
8367
8315
|
...props,
|
|
@@ -8369,7 +8317,7 @@ var IconButton = forwardRef12(
|
|
|
8369
8317
|
"aria-label": label,
|
|
8370
8318
|
"data-wistia-ui-icon-button": true,
|
|
8371
8319
|
size: responsiveSize,
|
|
8372
|
-
children: cloneElement5(
|
|
8320
|
+
children: cloneElement5(Children4.only(children), {
|
|
8373
8321
|
size: responsiveSize
|
|
8374
8322
|
})
|
|
8375
8323
|
}
|
|
@@ -8379,14 +8327,14 @@ var IconButton = forwardRef12(
|
|
|
8379
8327
|
IconButton.displayName = "IconButton";
|
|
8380
8328
|
|
|
8381
8329
|
// src/components/Menu/Menu.tsx
|
|
8382
|
-
import
|
|
8330
|
+
import styled33, { css as css24, keyframes as keyframes2 } from "styled-components";
|
|
8383
8331
|
import {
|
|
8384
8332
|
DropdownMenu,
|
|
8385
8333
|
DropdownMenuTrigger,
|
|
8386
8334
|
DropdownMenuPortal,
|
|
8387
8335
|
DropdownMenuContent
|
|
8388
8336
|
} from "@radix-ui/react-dropdown-menu";
|
|
8389
|
-
import { isNotNil as
|
|
8337
|
+
import { isNotNil as isNotNil11, isNotUndefined as isNotUndefined7 } from "@wistia/type-guards";
|
|
8390
8338
|
import { useMemo as useMemo7 } from "react";
|
|
8391
8339
|
|
|
8392
8340
|
// src/components/Menu/MenuContext.tsx
|
|
@@ -8395,7 +8343,7 @@ var MenuContext = createContext5({ compact: false });
|
|
|
8395
8343
|
var useMenuContext = () => useContext4(MenuContext);
|
|
8396
8344
|
|
|
8397
8345
|
// src/components/Menu/Menu.tsx
|
|
8398
|
-
import { jsx as
|
|
8346
|
+
import { jsx as jsx193, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
8399
8347
|
var open = keyframes2`
|
|
8400
8348
|
from {
|
|
8401
8349
|
opacity: 0;
|
|
@@ -8480,7 +8428,7 @@ var menuContentCss = css24`
|
|
|
8480
8428
|
margin: var(--menu-divider-margin) 0;
|
|
8481
8429
|
}
|
|
8482
8430
|
`;
|
|
8483
|
-
var MenuContent =
|
|
8431
|
+
var MenuContent = styled33(DropdownMenuContent)`
|
|
8484
8432
|
${menuContentCss}
|
|
8485
8433
|
`;
|
|
8486
8434
|
var Menu = ({
|
|
@@ -8498,7 +8446,7 @@ var Menu = ({
|
|
|
8498
8446
|
}) => {
|
|
8499
8447
|
const contextValue = useMemo7(() => ({ compact }), [compact]);
|
|
8500
8448
|
let controlProps = {
|
|
8501
|
-
...
|
|
8449
|
+
...isNotNil11(onOpenChange) && isNotNil11(isOpen) ? { open: isOpen, onOpenChange } : {}
|
|
8502
8450
|
};
|
|
8503
8451
|
if (disabled) {
|
|
8504
8452
|
controlProps = {
|
|
@@ -8506,24 +8454,24 @@ var Menu = ({
|
|
|
8506
8454
|
onOpenChange: () => null
|
|
8507
8455
|
};
|
|
8508
8456
|
}
|
|
8509
|
-
return /* @__PURE__ */
|
|
8457
|
+
return /* @__PURE__ */ jsx193(MenuContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs20(
|
|
8510
8458
|
DropdownMenu,
|
|
8511
8459
|
{
|
|
8512
8460
|
modal: false,
|
|
8513
8461
|
...controlProps,
|
|
8514
8462
|
children: [
|
|
8515
|
-
/* @__PURE__ */
|
|
8463
|
+
/* @__PURE__ */ jsx193(DropdownMenuTrigger, { asChild: true, children: isNotUndefined7(trigger) ? trigger : /* @__PURE__ */ jsx193(
|
|
8516
8464
|
Button,
|
|
8517
8465
|
{
|
|
8518
8466
|
"aria-expanded": isOpen,
|
|
8519
8467
|
disabled,
|
|
8520
8468
|
forceState: isOpen ? "active" : void 0,
|
|
8521
|
-
rightIcon: /* @__PURE__ */
|
|
8469
|
+
rightIcon: /* @__PURE__ */ jsx193(Icon, { type: "caret-down" }),
|
|
8522
8470
|
...triggerProps,
|
|
8523
8471
|
children: label
|
|
8524
8472
|
}
|
|
8525
8473
|
) }),
|
|
8526
|
-
/* @__PURE__ */
|
|
8474
|
+
/* @__PURE__ */ jsx193(DropdownMenuPortal, { children: /* @__PURE__ */ jsx193(
|
|
8527
8475
|
MenuContent,
|
|
8528
8476
|
{
|
|
8529
8477
|
...props,
|
|
@@ -8543,19 +8491,19 @@ var Menu = ({
|
|
|
8543
8491
|
Menu.displayName = "Menu";
|
|
8544
8492
|
|
|
8545
8493
|
// src/components/Menu/MenuLabel.tsx
|
|
8546
|
-
import
|
|
8494
|
+
import styled34 from "styled-components";
|
|
8547
8495
|
import { DropdownMenuLabel } from "@radix-ui/react-dropdown-menu";
|
|
8548
|
-
import { jsx as
|
|
8549
|
-
var StyledMenuLabel =
|
|
8496
|
+
import { jsx as jsx194 } from "react/jsx-runtime";
|
|
8497
|
+
var StyledMenuLabel = styled34(DropdownMenuLabel)`
|
|
8550
8498
|
padding: var(--wui-space-02);
|
|
8551
8499
|
`;
|
|
8552
8500
|
var MenuLabel = ({ children, ...props }) => {
|
|
8553
|
-
return /* @__PURE__ */
|
|
8501
|
+
return /* @__PURE__ */ jsx194(
|
|
8554
8502
|
StyledMenuLabel,
|
|
8555
8503
|
{
|
|
8556
8504
|
asChild: true,
|
|
8557
8505
|
...props,
|
|
8558
|
-
children: /* @__PURE__ */
|
|
8506
|
+
children: /* @__PURE__ */ jsx194(
|
|
8559
8507
|
Heading,
|
|
8560
8508
|
{
|
|
8561
8509
|
renderAs: "span",
|
|
@@ -8571,7 +8519,7 @@ MenuLabel.displayName = "MenuLabel";
|
|
|
8571
8519
|
|
|
8572
8520
|
// src/components/Menu/SubMenu.tsx
|
|
8573
8521
|
import { useState as useState8 } from "react";
|
|
8574
|
-
import
|
|
8522
|
+
import styled37 from "styled-components";
|
|
8575
8523
|
import {
|
|
8576
8524
|
DropdownMenuPortal as DropdownMenuPortal2,
|
|
8577
8525
|
DropdownMenuSub,
|
|
@@ -8580,14 +8528,14 @@ import {
|
|
|
8580
8528
|
DropdownMenuSubTrigger,
|
|
8581
8529
|
DropdownMenuItem
|
|
8582
8530
|
} from "@radix-ui/react-dropdown-menu";
|
|
8583
|
-
import { isNotNil as
|
|
8531
|
+
import { isNotNil as isNotNil13 } from "@wistia/type-guards";
|
|
8584
8532
|
|
|
8585
8533
|
// src/components/Menu/MenuItemButton.tsx
|
|
8586
8534
|
import { forwardRef as forwardRef13 } from "react";
|
|
8587
|
-
import
|
|
8588
|
-
import { isNotNil as
|
|
8589
|
-
import { jsx as
|
|
8590
|
-
var StyledButton3 =
|
|
8535
|
+
import styled35 from "styled-components";
|
|
8536
|
+
import { isNotNil as isNotNil12, isNotUndefined as isNotUndefined8 } from "@wistia/type-guards";
|
|
8537
|
+
import { jsx as jsx195, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
8538
|
+
var StyledButton3 = styled35(Button)`
|
|
8591
8539
|
${({ colorScheme }) => getColorScheme(colorScheme)};
|
|
8592
8540
|
|
|
8593
8541
|
display: flex;
|
|
@@ -8626,7 +8574,7 @@ var StyledButton3 = styled37(Button)`
|
|
|
8626
8574
|
padding-left: var(--wui-space-04);
|
|
8627
8575
|
}
|
|
8628
8576
|
`;
|
|
8629
|
-
var StyledLeftIconContainer =
|
|
8577
|
+
var StyledLeftIconContainer = styled35.div`
|
|
8630
8578
|
height: var(--menu-item-left-icon-size);
|
|
8631
8579
|
width: var(--menu-item-left-icon-size);
|
|
8632
8580
|
|
|
@@ -8637,7 +8585,7 @@ var StyledLeftIconContainer = styled37.div`
|
|
|
8637
8585
|
}
|
|
8638
8586
|
}
|
|
8639
8587
|
`;
|
|
8640
|
-
var StyledRightIconContainer =
|
|
8588
|
+
var StyledRightIconContainer = styled35.div`
|
|
8641
8589
|
height: var(--menu-item-right-icon-size);
|
|
8642
8590
|
width: var(--menu-item-right-icon-size);
|
|
8643
8591
|
|
|
@@ -8648,13 +8596,13 @@ var StyledRightIconContainer = styled37.div`
|
|
|
8648
8596
|
}
|
|
8649
8597
|
}
|
|
8650
8598
|
`;
|
|
8651
|
-
var StyledLabelAndDescriptionContainer =
|
|
8599
|
+
var StyledLabelAndDescriptionContainer = styled35.div`
|
|
8652
8600
|
display: flex;
|
|
8653
8601
|
flex-direction: column;
|
|
8654
8602
|
gap: var(--menu-label-description-gap);
|
|
8655
8603
|
flex-basis: 100%;
|
|
8656
8604
|
`;
|
|
8657
|
-
var StyledBadgeContainer =
|
|
8605
|
+
var StyledBadgeContainer = styled35.div`
|
|
8658
8606
|
align-self: start;
|
|
8659
8607
|
justify-self: end;
|
|
8660
8608
|
font-size: var(--wui-typography-label-4-size);
|
|
@@ -8663,13 +8611,13 @@ var StyledBadgeContainer = styled37.div`
|
|
|
8663
8611
|
var MenuItemButton = forwardRef13(({ children, appearance, command, icon, ...props }, ref) => {
|
|
8664
8612
|
let { colorScheme, badge } = props;
|
|
8665
8613
|
if (appearance === "dangerous") {
|
|
8666
|
-
if (
|
|
8614
|
+
if (isNotUndefined8(colorScheme)) {
|
|
8667
8615
|
console.warn("colorScheme prop is ignored when appearance is dangerous");
|
|
8668
8616
|
}
|
|
8669
8617
|
colorScheme = "error";
|
|
8670
8618
|
}
|
|
8671
8619
|
if (appearance === "gated") {
|
|
8672
|
-
badge = /* @__PURE__ */
|
|
8620
|
+
badge = /* @__PURE__ */ jsx195(
|
|
8673
8621
|
Icon,
|
|
8674
8622
|
{
|
|
8675
8623
|
colorScheme: "purple",
|
|
@@ -8681,7 +8629,7 @@ var MenuItemButton = forwardRef13(({ children, appearance, command, icon, ...pro
|
|
|
8681
8629
|
}
|
|
8682
8630
|
);
|
|
8683
8631
|
}
|
|
8684
|
-
return /* @__PURE__ */
|
|
8632
|
+
return /* @__PURE__ */ jsxs21(
|
|
8685
8633
|
StyledButton3,
|
|
8686
8634
|
{
|
|
8687
8635
|
...props,
|
|
@@ -8691,10 +8639,10 @@ var MenuItemButton = forwardRef13(({ children, appearance, command, icon, ...pro
|
|
|
8691
8639
|
fullWidth: true,
|
|
8692
8640
|
unstyled: true,
|
|
8693
8641
|
children: [
|
|
8694
|
-
props.leftIcon ? /* @__PURE__ */
|
|
8695
|
-
/* @__PURE__ */
|
|
8696
|
-
|
|
8697
|
-
props.rightIcon ? /* @__PURE__ */
|
|
8642
|
+
props.leftIcon ? /* @__PURE__ */ jsx195(StyledLeftIconContainer, { children: props.leftIcon }) : null,
|
|
8643
|
+
/* @__PURE__ */ jsx195(StyledLabelAndDescriptionContainer, { children }),
|
|
8644
|
+
isNotNil12(badge) || isNotNil12(command) ? /* @__PURE__ */ jsx195(StyledBadgeContainer, { children: badge ?? command }) : null,
|
|
8645
|
+
props.rightIcon ? /* @__PURE__ */ jsx195(StyledRightIconContainer, { children: props.rightIcon }) : null
|
|
8698
8646
|
]
|
|
8699
8647
|
}
|
|
8700
8648
|
);
|
|
@@ -8702,33 +8650,33 @@ var MenuItemButton = forwardRef13(({ children, appearance, command, icon, ...pro
|
|
|
8702
8650
|
MenuItemButton.displayName = "MenuItemButton";
|
|
8703
8651
|
|
|
8704
8652
|
// src/components/Menu/MenuItemLabelDescription.tsx
|
|
8705
|
-
import
|
|
8706
|
-
import { jsx as
|
|
8707
|
-
var StyledMenuItemLabel =
|
|
8708
|
-
var StyledMenuItemDescription =
|
|
8653
|
+
import styled36 from "styled-components";
|
|
8654
|
+
import { jsx as jsx196 } from "react/jsx-runtime";
|
|
8655
|
+
var StyledMenuItemLabel = styled36.span``;
|
|
8656
|
+
var StyledMenuItemDescription = styled36(Text).attrs({
|
|
8709
8657
|
variant: "body4",
|
|
8710
8658
|
prominence: "secondary"
|
|
8711
8659
|
})``;
|
|
8712
8660
|
var MenuItemLabel = ({ children }) => {
|
|
8713
|
-
return /* @__PURE__ */
|
|
8661
|
+
return /* @__PURE__ */ jsx196(StyledMenuItemLabel, { children });
|
|
8714
8662
|
};
|
|
8715
8663
|
var MenuItemDescription = ({ children }) => {
|
|
8716
|
-
return /* @__PURE__ */
|
|
8664
|
+
return /* @__PURE__ */ jsx196(StyledMenuItemDescription, { children });
|
|
8717
8665
|
};
|
|
8718
8666
|
|
|
8719
8667
|
// src/components/Menu/SubMenu.tsx
|
|
8720
|
-
import { jsx as
|
|
8721
|
-
var SubMenuContent =
|
|
8668
|
+
import { jsx as jsx197, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
8669
|
+
var SubMenuContent = styled37(DropdownMenuSubContent)`
|
|
8722
8670
|
${menuContentCss}
|
|
8723
8671
|
|
|
8724
8672
|
${mq.smAndDown} {
|
|
8725
8673
|
transform: translateX(-100%) !important;
|
|
8726
8674
|
}
|
|
8727
8675
|
`;
|
|
8728
|
-
var StyledMobileSubMenuItems =
|
|
8676
|
+
var StyledMobileSubMenuItems = styled37.div`
|
|
8729
8677
|
margin-left: var(--wui-space-04);
|
|
8730
8678
|
`;
|
|
8731
|
-
var StyledSubTrigger =
|
|
8679
|
+
var StyledSubTrigger = styled37(DropdownMenuSubTrigger)`
|
|
8732
8680
|
outline: none;
|
|
8733
8681
|
|
|
8734
8682
|
&[data-state='open'],
|
|
@@ -8738,12 +8686,12 @@ var StyledSubTrigger = styled39(DropdownMenuSubTrigger)`
|
|
|
8738
8686
|
`;
|
|
8739
8687
|
var SubMenuTrigger = (props) => {
|
|
8740
8688
|
const { isSmAndUp } = useMq();
|
|
8741
|
-
const
|
|
8742
|
-
return /* @__PURE__ */
|
|
8689
|
+
const Trigger3 = isSmAndUp ? StyledSubTrigger : DropdownMenuItem;
|
|
8690
|
+
return /* @__PURE__ */ jsx197(Trigger3, { asChild: true, children: /* @__PURE__ */ jsx197(
|
|
8743
8691
|
MenuItemButton,
|
|
8744
8692
|
{
|
|
8745
8693
|
...props,
|
|
8746
|
-
rightIcon: /* @__PURE__ */
|
|
8694
|
+
rightIcon: /* @__PURE__ */ jsx197(Icon, { type: "caret-right" })
|
|
8747
8695
|
}
|
|
8748
8696
|
) });
|
|
8749
8697
|
};
|
|
@@ -8757,14 +8705,14 @@ var SubMenu = ({
|
|
|
8757
8705
|
const { isSmAndUp } = useMq();
|
|
8758
8706
|
const [isExpanded, setIsExpanded] = useState8(false);
|
|
8759
8707
|
const { compact } = useMenuContext();
|
|
8760
|
-
return isSmAndUp ? /* @__PURE__ */
|
|
8761
|
-
/* @__PURE__ */
|
|
8762
|
-
/* @__PURE__ */
|
|
8763
|
-
|
|
8708
|
+
return isSmAndUp ? /* @__PURE__ */ jsxs22(DropdownMenuSub, { onOpenChange, children: [
|
|
8709
|
+
/* @__PURE__ */ jsxs22(SubMenuTrigger, { ...props, children: [
|
|
8710
|
+
/* @__PURE__ */ jsx197(MenuItemLabel, { children: label }),
|
|
8711
|
+
isNotNil13(description) ? /* @__PURE__ */ jsx197(MenuItemDescription, { children: description }) : null
|
|
8764
8712
|
] }),
|
|
8765
|
-
/* @__PURE__ */
|
|
8766
|
-
] }) : /* @__PURE__ */
|
|
8767
|
-
/* @__PURE__ */
|
|
8713
|
+
/* @__PURE__ */ jsx197(DropdownMenuPortal2, { children: /* @__PURE__ */ jsx197(SubMenuContent, { $compact: compact, children }) })
|
|
8714
|
+
] }) : /* @__PURE__ */ jsxs22(DropdownMenuGroup, { children: [
|
|
8715
|
+
/* @__PURE__ */ jsxs22(
|
|
8768
8716
|
SubMenuTrigger,
|
|
8769
8717
|
{
|
|
8770
8718
|
...props,
|
|
@@ -8773,12 +8721,12 @@ var SubMenu = ({
|
|
|
8773
8721
|
setIsExpanded((prev) => !prev);
|
|
8774
8722
|
},
|
|
8775
8723
|
children: [
|
|
8776
|
-
/* @__PURE__ */
|
|
8777
|
-
/* @__PURE__ */
|
|
8724
|
+
/* @__PURE__ */ jsx197(MenuItemLabel, { children: label }),
|
|
8725
|
+
/* @__PURE__ */ jsx197(MenuItemDescription, { children: description })
|
|
8778
8726
|
]
|
|
8779
8727
|
}
|
|
8780
8728
|
),
|
|
8781
|
-
/* @__PURE__ */
|
|
8729
|
+
/* @__PURE__ */ jsx197(StyledMobileSubMenuItems, { children: isExpanded ? children : null })
|
|
8782
8730
|
] });
|
|
8783
8731
|
};
|
|
8784
8732
|
SubMenu.displayName = "SubMenu";
|
|
@@ -8786,15 +8734,15 @@ SubMenu.displayName = "SubMenu";
|
|
|
8786
8734
|
// src/components/Menu/MenuItem.tsx
|
|
8787
8735
|
import { forwardRef as forwardRef14 } from "react";
|
|
8788
8736
|
import { DropdownMenuItem as DropdownMenuItem2 } from "@radix-ui/react-dropdown-menu";
|
|
8789
|
-
import { jsx as
|
|
8737
|
+
import { jsx as jsx198 } from "react/jsx-runtime";
|
|
8790
8738
|
var MenuItem = forwardRef14(
|
|
8791
8739
|
({ onSelect = () => null, ...props }, ref) => {
|
|
8792
|
-
return /* @__PURE__ */
|
|
8740
|
+
return /* @__PURE__ */ jsx198(
|
|
8793
8741
|
DropdownMenuItem2,
|
|
8794
8742
|
{
|
|
8795
8743
|
asChild: true,
|
|
8796
8744
|
onSelect,
|
|
8797
|
-
children: /* @__PURE__ */
|
|
8745
|
+
children: /* @__PURE__ */ jsx198(
|
|
8798
8746
|
MenuItemButton,
|
|
8799
8747
|
{
|
|
8800
8748
|
...props,
|
|
@@ -8812,10 +8760,10 @@ MenuItem.displayName = "MenuItem";
|
|
|
8812
8760
|
import {
|
|
8813
8761
|
DropdownMenuRadioGroup
|
|
8814
8762
|
} from "@radix-ui/react-dropdown-menu";
|
|
8815
|
-
import { jsx as
|
|
8763
|
+
import { jsx as jsx199, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
8816
8764
|
var MenuRadioGroup = ({ children, label, ...props }) => {
|
|
8817
|
-
return /* @__PURE__ */
|
|
8818
|
-
/* @__PURE__ */
|
|
8765
|
+
return /* @__PURE__ */ jsxs23(DropdownMenuRadioGroup, { ...props, children: [
|
|
8766
|
+
/* @__PURE__ */ jsx199(MenuLabel, { children: label }),
|
|
8819
8767
|
children
|
|
8820
8768
|
] });
|
|
8821
8769
|
};
|
|
@@ -8826,11 +8774,11 @@ import {
|
|
|
8826
8774
|
DropdownMenuItemIndicator,
|
|
8827
8775
|
DropdownMenuRadioItem
|
|
8828
8776
|
} from "@radix-ui/react-dropdown-menu";
|
|
8829
|
-
import { jsx as
|
|
8777
|
+
import { jsx as jsx200 } from "react/jsx-runtime";
|
|
8830
8778
|
var RadioMenuItem = ({
|
|
8831
8779
|
onSelect,
|
|
8832
8780
|
value,
|
|
8833
|
-
indicator = /* @__PURE__ */
|
|
8781
|
+
indicator = /* @__PURE__ */ jsx200(
|
|
8834
8782
|
Icon,
|
|
8835
8783
|
{
|
|
8836
8784
|
size: "sm",
|
|
@@ -8840,17 +8788,17 @@ var RadioMenuItem = ({
|
|
|
8840
8788
|
...props
|
|
8841
8789
|
}) => {
|
|
8842
8790
|
const extraProps = onSelect ? { onSelect } : {};
|
|
8843
|
-
return /* @__PURE__ */
|
|
8791
|
+
return /* @__PURE__ */ jsx200(
|
|
8844
8792
|
DropdownMenuRadioItem,
|
|
8845
8793
|
{
|
|
8846
8794
|
...extraProps,
|
|
8847
8795
|
asChild: true,
|
|
8848
8796
|
value,
|
|
8849
|
-
children: /* @__PURE__ */
|
|
8797
|
+
children: /* @__PURE__ */ jsx200(
|
|
8850
8798
|
MenuItemButton,
|
|
8851
8799
|
{
|
|
8852
8800
|
...props,
|
|
8853
|
-
rightIcon: /* @__PURE__ */
|
|
8801
|
+
rightIcon: /* @__PURE__ */ jsx200(DropdownMenuItemIndicator, { children: indicator })
|
|
8854
8802
|
}
|
|
8855
8803
|
)
|
|
8856
8804
|
}
|
|
@@ -8862,9 +8810,9 @@ RadioMenuItem.displayName = "RadioMenuItem";
|
|
|
8862
8810
|
import {
|
|
8863
8811
|
DropdownMenuCheckboxItem
|
|
8864
8812
|
} from "@radix-ui/react-dropdown-menu";
|
|
8865
|
-
import { jsx as
|
|
8813
|
+
import { jsx as jsx201, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
8866
8814
|
var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
8867
|
-
return checked ? /* @__PURE__ */
|
|
8815
|
+
return checked ? /* @__PURE__ */ jsxs24(
|
|
8868
8816
|
"svg",
|
|
8869
8817
|
{
|
|
8870
8818
|
...props,
|
|
@@ -8874,14 +8822,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8874
8822
|
width: "24",
|
|
8875
8823
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8876
8824
|
children: [
|
|
8877
|
-
/* @__PURE__ */
|
|
8825
|
+
/* @__PURE__ */ jsx201(
|
|
8878
8826
|
"path",
|
|
8879
8827
|
{
|
|
8880
8828
|
d: "m4 8c0-2.20914 1.79086-4 4-4h8c2.2091 0 4 1.79086 4 4v8c0 2.2091-1.7909 4-4 4h-8c-2.20914 0-4-1.7909-4-4z",
|
|
8881
8829
|
fill: "#2949e5"
|
|
8882
8830
|
}
|
|
8883
8831
|
),
|
|
8884
|
-
/* @__PURE__ */
|
|
8832
|
+
/* @__PURE__ */ jsx201(
|
|
8885
8833
|
"path",
|
|
8886
8834
|
{
|
|
8887
8835
|
d: "m10.4728 15.1931-3.09523-3.1131c-.18596-.187-.18596-.4902 0-.6773l.67341-.6773c.18596-.187.48749-.187.67344 0l2.08508 2.0971 4.4661-4.49174c.1859-.18703.4875-.18703.6734 0l.6734.67731c.186.18703.186.49027 0 .67731l-5.4762 5.50772c-.1859.187-.4874.187-.6734 0z",
|
|
@@ -8890,7 +8838,7 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8890
8838
|
)
|
|
8891
8839
|
]
|
|
8892
8840
|
}
|
|
8893
|
-
) : /* @__PURE__ */
|
|
8841
|
+
) : /* @__PURE__ */ jsxs24(
|
|
8894
8842
|
"svg",
|
|
8895
8843
|
{
|
|
8896
8844
|
...props,
|
|
@@ -8900,14 +8848,14 @@ var CheckboxIndicator2 = ({ checked, ...props }) => {
|
|
|
8900
8848
|
width: "24",
|
|
8901
8849
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8902
8850
|
children: [
|
|
8903
|
-
/* @__PURE__ */
|
|
8851
|
+
/* @__PURE__ */ jsx201(
|
|
8904
8852
|
"path",
|
|
8905
8853
|
{
|
|
8906
8854
|
d: "m8 4.5h8c1.933 0 3.5 1.567 3.5 3.5v8c0 1.933-1.567 3.5-3.5 3.5h-8c-1.933 0-3.5-1.567-3.5-3.5v-8c0-1.933 1.567-3.5 3.5-3.5z",
|
|
8907
8855
|
fill: "#fcfcfd"
|
|
8908
8856
|
}
|
|
8909
8857
|
),
|
|
8910
|
-
/* @__PURE__ */
|
|
8858
|
+
/* @__PURE__ */ jsx201(
|
|
8911
8859
|
"path",
|
|
8912
8860
|
{
|
|
8913
8861
|
d: "m8 4.5h8c1.933 0 3.5 1.567 3.5 3.5v8c0 1.933-1.567 3.5-3.5 3.5h-8c-1.933 0-3.5-1.567-3.5-3.5v-8c0-1.933 1.567-3.5 3.5-3.5z",
|
|
@@ -8924,18 +8872,18 @@ var CheckboxMenuItem = ({
|
|
|
8924
8872
|
onCheckedChange,
|
|
8925
8873
|
...props
|
|
8926
8874
|
}) => {
|
|
8927
|
-
return /* @__PURE__ */
|
|
8875
|
+
return /* @__PURE__ */ jsx201(
|
|
8928
8876
|
DropdownMenuCheckboxItem,
|
|
8929
8877
|
{
|
|
8930
8878
|
asChild: true,
|
|
8931
8879
|
checked,
|
|
8932
8880
|
onCheckedChange,
|
|
8933
8881
|
onSelect,
|
|
8934
|
-
children: /* @__PURE__ */
|
|
8882
|
+
children: /* @__PURE__ */ jsx201(
|
|
8935
8883
|
MenuItemButton,
|
|
8936
8884
|
{
|
|
8937
8885
|
...props,
|
|
8938
|
-
leftIcon: /* @__PURE__ */
|
|
8886
|
+
leftIcon: /* @__PURE__ */ jsx201(CheckboxIndicator2, { checked })
|
|
8939
8887
|
}
|
|
8940
8888
|
)
|
|
8941
8889
|
}
|
|
@@ -8945,36 +8893,36 @@ CheckboxMenuItem.displayName = "CheckboxMenuItem";
|
|
|
8945
8893
|
|
|
8946
8894
|
// src/components/Modal/Modal.tsx
|
|
8947
8895
|
import { forwardRef as forwardRef17 } from "react";
|
|
8948
|
-
import
|
|
8896
|
+
import styled42 from "styled-components";
|
|
8949
8897
|
import { Root as DialogRoot, Portal as DialogPortal } from "@radix-ui/react-dialog";
|
|
8950
|
-
import { isNotNil as
|
|
8898
|
+
import { isNotNil as isNotNil15 } from "@wistia/type-guards";
|
|
8951
8899
|
|
|
8952
8900
|
// src/components/Modal/ModalHeader.tsx
|
|
8953
|
-
import
|
|
8901
|
+
import styled39 from "styled-components";
|
|
8954
8902
|
import { Title as DialogTitle } from "@radix-ui/react-dialog";
|
|
8955
8903
|
|
|
8956
8904
|
// src/components/Modal/ModalCloseButton.tsx
|
|
8957
|
-
import
|
|
8905
|
+
import styled38 from "styled-components";
|
|
8958
8906
|
import { Close as DialogClose } from "@radix-ui/react-dialog";
|
|
8959
|
-
import { jsx as
|
|
8960
|
-
var CloseButton =
|
|
8907
|
+
import { jsx as jsx202 } from "react/jsx-runtime";
|
|
8908
|
+
var CloseButton = styled38(DialogClose)`
|
|
8961
8909
|
align-self: start;
|
|
8962
8910
|
`;
|
|
8963
8911
|
var ModalCloseButton = () => {
|
|
8964
|
-
return /* @__PURE__ */
|
|
8912
|
+
return /* @__PURE__ */ jsx202(CloseButton, { asChild: true, children: /* @__PURE__ */ jsx202(
|
|
8965
8913
|
IconButton,
|
|
8966
8914
|
{
|
|
8967
8915
|
label: "Dismiss modal",
|
|
8968
8916
|
size: "sm",
|
|
8969
8917
|
variant: "ghost",
|
|
8970
|
-
children: /* @__PURE__ */
|
|
8918
|
+
children: /* @__PURE__ */ jsx202(Icon, { type: "close" })
|
|
8971
8919
|
}
|
|
8972
8920
|
) });
|
|
8973
8921
|
};
|
|
8974
8922
|
|
|
8975
8923
|
// src/components/Modal/ModalHeader.tsx
|
|
8976
|
-
import { jsx as
|
|
8977
|
-
var Header =
|
|
8924
|
+
import { jsx as jsx203, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
8925
|
+
var Header = styled39.header`
|
|
8978
8926
|
display: flex;
|
|
8979
8927
|
order: 1;
|
|
8980
8928
|
gap: var(--wui-space-01);
|
|
@@ -8986,7 +8934,7 @@ var Header = styled41.header`
|
|
|
8986
8934
|
margin-top: 0;
|
|
8987
8935
|
}
|
|
8988
8936
|
`;
|
|
8989
|
-
var Title =
|
|
8937
|
+
var Title = styled39(DialogTitle)`
|
|
8990
8938
|
font-family: var(--wui-typography-heading-2-family);
|
|
8991
8939
|
line-height: var(--wui-typography-heading-2-line-height);
|
|
8992
8940
|
font-size: var(--wui-typography-heading-2-size);
|
|
@@ -8998,20 +8946,20 @@ var ModalHeader = ({
|
|
|
8998
8946
|
hideCloseButton
|
|
8999
8947
|
}) => {
|
|
9000
8948
|
const TitleWrapper = hideTitle ? ScreenReaderOnly : Title;
|
|
9001
|
-
return /* @__PURE__ */
|
|
9002
|
-
/* @__PURE__ */
|
|
9003
|
-
hideCloseButton ? null : /* @__PURE__ */
|
|
8949
|
+
return /* @__PURE__ */ jsxs25(Header, { children: [
|
|
8950
|
+
/* @__PURE__ */ jsx203(TitleWrapper, { children: title }),
|
|
8951
|
+
hideCloseButton ? null : /* @__PURE__ */ jsx203(ModalCloseButton, {})
|
|
9004
8952
|
] });
|
|
9005
8953
|
};
|
|
9006
8954
|
|
|
9007
8955
|
// src/components/Modal/ModalContent.tsx
|
|
9008
8956
|
import { forwardRef as forwardRef15 } from "react";
|
|
9009
|
-
import
|
|
8957
|
+
import styled40 from "styled-components";
|
|
9010
8958
|
import { Content as DialogContent } from "@radix-ui/react-dialog";
|
|
9011
8959
|
|
|
9012
8960
|
// src/private/hooks/useFocusRestore/useFocusRestore.ts
|
|
9013
8961
|
import { useRef as useRef8, useEffect as useEffect4 } from "react";
|
|
9014
|
-
import { isNotNil as
|
|
8962
|
+
import { isNotNil as isNotNil14 } from "@wistia/type-guards";
|
|
9015
8963
|
var useFocusRestore = () => {
|
|
9016
8964
|
const previouslyFocusedRef = useRef8(null);
|
|
9017
8965
|
useEffect4(() => {
|
|
@@ -9019,7 +8967,7 @@ var useFocusRestore = () => {
|
|
|
9019
8967
|
}, []);
|
|
9020
8968
|
useEffect4(() => {
|
|
9021
8969
|
return () => {
|
|
9022
|
-
if (
|
|
8970
|
+
if (isNotNil14(previouslyFocusedRef.current)) {
|
|
9023
8971
|
setTimeout(() => {
|
|
9024
8972
|
previouslyFocusedRef.current?.focus();
|
|
9025
8973
|
}, 0);
|
|
@@ -9029,8 +8977,8 @@ var useFocusRestore = () => {
|
|
|
9029
8977
|
};
|
|
9030
8978
|
|
|
9031
8979
|
// src/components/Modal/ModalContent.tsx
|
|
9032
|
-
import { jsx as
|
|
9033
|
-
var StyledModalContent =
|
|
8980
|
+
import { jsx as jsx204 } from "react/jsx-runtime";
|
|
8981
|
+
var StyledModalContent = styled40(DialogContent)`
|
|
9034
8982
|
background-color: var(--wui-color-bg-app);
|
|
9035
8983
|
box-sizing: border-box;
|
|
9036
8984
|
display: flex;
|
|
@@ -9074,7 +9022,7 @@ var StyledModalContent = styled42(DialogContent)`
|
|
|
9074
9022
|
var ModalContent = forwardRef15(
|
|
9075
9023
|
({ fullHeight, width, children, ...otherProps }, ref) => {
|
|
9076
9024
|
useFocusRestore();
|
|
9077
|
-
return /* @__PURE__ */
|
|
9025
|
+
return /* @__PURE__ */ jsx204(
|
|
9078
9026
|
StyledModalContent,
|
|
9079
9027
|
{
|
|
9080
9028
|
ref,
|
|
@@ -9090,8 +9038,8 @@ var ModalContent = forwardRef15(
|
|
|
9090
9038
|
|
|
9091
9039
|
// src/private/components/Backdrop/Backdrop.tsx
|
|
9092
9040
|
import { forwardRef as forwardRef16 } from "react";
|
|
9093
|
-
import
|
|
9094
|
-
import { jsx as
|
|
9041
|
+
import styled41 from "styled-components";
|
|
9042
|
+
import { jsx as jsx205 } from "react/jsx-runtime";
|
|
9095
9043
|
var backdropAnimationDuration = 150;
|
|
9096
9044
|
var alignVerticalMap = {
|
|
9097
9045
|
stretch: "normal",
|
|
@@ -9104,7 +9052,7 @@ var alignHorizontalMap = {
|
|
|
9104
9052
|
center: "center",
|
|
9105
9053
|
right: "end"
|
|
9106
9054
|
};
|
|
9107
|
-
var BackdropComponent =
|
|
9055
|
+
var BackdropComponent = styled41.div`
|
|
9108
9056
|
align-items: ${({ $alignVertical }) => alignVerticalMap[$alignVertical]};
|
|
9109
9057
|
animation-name: backdropShow;
|
|
9110
9058
|
animation-duration: ${() => `${backdropAnimationDuration}ms`};
|
|
@@ -9128,7 +9076,7 @@ var BackdropComponent = styled43.div`
|
|
|
9128
9076
|
}
|
|
9129
9077
|
`;
|
|
9130
9078
|
var Backdrop = forwardRef16(
|
|
9131
|
-
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */
|
|
9079
|
+
({ alignHorizontal = "center", alignVertical = "center", children, ...otherProps }, ref) => /* @__PURE__ */ jsx205(
|
|
9132
9080
|
BackdropComponent,
|
|
9133
9081
|
{
|
|
9134
9082
|
ref,
|
|
@@ -9142,9 +9090,9 @@ var Backdrop = forwardRef16(
|
|
|
9142
9090
|
Backdrop.displayName = "Backdrop";
|
|
9143
9091
|
|
|
9144
9092
|
// src/components/Modal/Modal.tsx
|
|
9145
|
-
import { jsx as
|
|
9093
|
+
import { jsx as jsx206, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
9146
9094
|
var DEFAULT_MODAL_WIDTH = "532px";
|
|
9147
|
-
var ModalBody =
|
|
9095
|
+
var ModalBody = styled42.div`
|
|
9148
9096
|
flex-direction: column;
|
|
9149
9097
|
display: flex;
|
|
9150
9098
|
order: 2;
|
|
@@ -9162,24 +9110,24 @@ var Modal = forwardRef17(
|
|
|
9162
9110
|
width = DEFAULT_MODAL_WIDTH,
|
|
9163
9111
|
...props
|
|
9164
9112
|
}, ref) => {
|
|
9165
|
-
return /* @__PURE__ */
|
|
9113
|
+
return /* @__PURE__ */ jsx206(
|
|
9166
9114
|
DialogRoot,
|
|
9167
9115
|
{
|
|
9168
9116
|
onOpenChange: (open2) => {
|
|
9169
|
-
if (!open2 &&
|
|
9117
|
+
if (!open2 && isNotNil15(onRequestClose)) {
|
|
9170
9118
|
onRequestClose();
|
|
9171
9119
|
}
|
|
9172
9120
|
},
|
|
9173
9121
|
open: isOpen,
|
|
9174
|
-
children: /* @__PURE__ */
|
|
9175
|
-
/* @__PURE__ */
|
|
9176
|
-
/* @__PURE__ */
|
|
9122
|
+
children: /* @__PURE__ */ jsxs26(DialogPortal, { children: [
|
|
9123
|
+
/* @__PURE__ */ jsx206(Backdrop, {}),
|
|
9124
|
+
/* @__PURE__ */ jsxs26(
|
|
9177
9125
|
ModalContent,
|
|
9178
9126
|
{
|
|
9179
9127
|
ref,
|
|
9180
9128
|
fullHeight,
|
|
9181
9129
|
onOpenAutoFocus: (event) => {
|
|
9182
|
-
if (
|
|
9130
|
+
if (isNotNil15(initialFocusRef) && initialFocusRef.current) {
|
|
9183
9131
|
event.preventDefault();
|
|
9184
9132
|
requestAnimationFrame(() => {
|
|
9185
9133
|
initialFocusRef.current?.focus();
|
|
@@ -9189,8 +9137,8 @@ var Modal = forwardRef17(
|
|
|
9189
9137
|
width,
|
|
9190
9138
|
...props,
|
|
9191
9139
|
children: [
|
|
9192
|
-
/* @__PURE__ */
|
|
9193
|
-
/* @__PURE__ */
|
|
9140
|
+
/* @__PURE__ */ jsx206(ModalBody, { children }),
|
|
9141
|
+
/* @__PURE__ */ jsx206(
|
|
9194
9142
|
ModalHeader,
|
|
9195
9143
|
{
|
|
9196
9144
|
hideCloseButton,
|
|
@@ -9210,15 +9158,15 @@ Modal.displayName = "Modal";
|
|
|
9210
9158
|
|
|
9211
9159
|
// src/components/Radio/Radio.tsx
|
|
9212
9160
|
import { forwardRef as forwardRef18, useId as useId3 } from "react";
|
|
9213
|
-
import
|
|
9161
|
+
import styled43, { css as css25 } from "styled-components";
|
|
9214
9162
|
import { isNonEmptyString as isNonEmptyString3 } from "@wistia/type-guards";
|
|
9215
|
-
import { jsx as
|
|
9216
|
-
var StyledLabelWrapper2 =
|
|
9163
|
+
import { jsx as jsx207, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
9164
|
+
var StyledLabelWrapper2 = styled43.div`
|
|
9217
9165
|
display: flex;
|
|
9218
9166
|
flex-direction: column;
|
|
9219
9167
|
padding-left: var(--wui-space-02);
|
|
9220
9168
|
`;
|
|
9221
|
-
var StyledRadio =
|
|
9169
|
+
var StyledRadio = styled43.input`
|
|
9222
9170
|
box-shadow: ${({ type }) => type === "checkbox" ? "inset 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.38)" : "none"};
|
|
9223
9171
|
appearance: none;
|
|
9224
9172
|
margin: 0;
|
|
@@ -9260,7 +9208,7 @@ var defaultHoverStyle = css25`
|
|
|
9260
9208
|
/* TODO Lamp to design hover state */
|
|
9261
9209
|
cursor: pointer;
|
|
9262
9210
|
`;
|
|
9263
|
-
var StyledRadioWrapper =
|
|
9211
|
+
var StyledRadioWrapper = styled43.div`
|
|
9264
9212
|
align-items: baseline;
|
|
9265
9213
|
border: 1px solid transparent;
|
|
9266
9214
|
border-radius: 4px;
|
|
@@ -9298,13 +9246,13 @@ var Radio = forwardRef18(
|
|
|
9298
9246
|
}, ref) => {
|
|
9299
9247
|
const generatedId = useId3();
|
|
9300
9248
|
const computedId = isNonEmptyString3(id) ? id : `ui-radio-${generatedId}`;
|
|
9301
|
-
return /* @__PURE__ */
|
|
9249
|
+
return /* @__PURE__ */ jsxs27(
|
|
9302
9250
|
StyledRadioWrapper,
|
|
9303
9251
|
{
|
|
9304
9252
|
"aria-invalid": otherProps["aria-invalid"],
|
|
9305
9253
|
disabled,
|
|
9306
9254
|
children: [
|
|
9307
|
-
/* @__PURE__ */
|
|
9255
|
+
/* @__PURE__ */ jsx207(
|
|
9308
9256
|
StyledRadio,
|
|
9309
9257
|
{
|
|
9310
9258
|
ref,
|
|
@@ -9319,8 +9267,8 @@ var Radio = forwardRef18(
|
|
|
9319
9267
|
...otherProps
|
|
9320
9268
|
}
|
|
9321
9269
|
),
|
|
9322
|
-
/* @__PURE__ */
|
|
9323
|
-
/* @__PURE__ */
|
|
9270
|
+
/* @__PURE__ */ jsxs27(StyledLabelWrapper2, { children: [
|
|
9271
|
+
/* @__PURE__ */ jsx207(
|
|
9324
9272
|
Label,
|
|
9325
9273
|
{
|
|
9326
9274
|
disabled,
|
|
@@ -9329,7 +9277,7 @@ var Radio = forwardRef18(
|
|
|
9329
9277
|
children: label
|
|
9330
9278
|
}
|
|
9331
9279
|
),
|
|
9332
|
-
/* @__PURE__ */
|
|
9280
|
+
/* @__PURE__ */ jsx207(LabelDescription, { children: description })
|
|
9333
9281
|
] })
|
|
9334
9282
|
]
|
|
9335
9283
|
}
|
|
@@ -9340,10 +9288,10 @@ Radio.displayName = "Radio";
|
|
|
9340
9288
|
|
|
9341
9289
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9342
9290
|
import { forwardRef as forwardRef19 } from "react";
|
|
9343
|
-
import
|
|
9291
|
+
import styled44, { css as css26 } from "styled-components";
|
|
9344
9292
|
import { Root as ToggleGroupRoot } from "@radix-ui/react-toggle-group";
|
|
9345
9293
|
import { isNil as isNil13 } from "@wistia/type-guards";
|
|
9346
|
-
import { jsx as
|
|
9294
|
+
import { jsx as jsx208 } from "react/jsx-runtime";
|
|
9347
9295
|
var segmentedControlStyles = css26`
|
|
9348
9296
|
display: inline-flex;
|
|
9349
9297
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -9352,7 +9300,7 @@ var segmentedControlStyles = css26`
|
|
|
9352
9300
|
gap: var(--wui-space-01);
|
|
9353
9301
|
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
9354
9302
|
`;
|
|
9355
|
-
var StyledSegmentedControl =
|
|
9303
|
+
var StyledSegmentedControl = styled44(ToggleGroupRoot)`
|
|
9356
9304
|
${segmentedControlStyles}
|
|
9357
9305
|
`;
|
|
9358
9306
|
var SegmentedControl = forwardRef19(
|
|
@@ -9367,7 +9315,7 @@ var SegmentedControl = forwardRef19(
|
|
|
9367
9315
|
if (isNil13(children)) {
|
|
9368
9316
|
return null;
|
|
9369
9317
|
}
|
|
9370
|
-
return /* @__PURE__ */
|
|
9318
|
+
return /* @__PURE__ */ jsx208(
|
|
9371
9319
|
StyledSegmentedControl,
|
|
9372
9320
|
{
|
|
9373
9321
|
ref,
|
|
@@ -9388,10 +9336,10 @@ SegmentedControl.displayName = "SegmentedControl";
|
|
|
9388
9336
|
|
|
9389
9337
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9390
9338
|
import { forwardRef as forwardRef20 } from "react";
|
|
9391
|
-
import
|
|
9339
|
+
import styled45, { css as css27 } from "styled-components";
|
|
9392
9340
|
import { Item as ToggleGroupItem } from "@radix-ui/react-toggle-group";
|
|
9393
|
-
import { isNotNil as
|
|
9394
|
-
import { jsxs as
|
|
9341
|
+
import { isNotNil as isNotNil16 } from "@wistia/type-guards";
|
|
9342
|
+
import { jsxs as jsxs28 } from "react/jsx-runtime";
|
|
9395
9343
|
var segmentedControlItemStyles = css27`
|
|
9396
9344
|
all: unset; /* ToggleGroupItem is a button element */
|
|
9397
9345
|
align-items: center;
|
|
@@ -9447,7 +9395,7 @@ var segmentedControlItemStyles = css27`
|
|
|
9447
9395
|
}
|
|
9448
9396
|
}
|
|
9449
9397
|
`;
|
|
9450
|
-
var StyledSegmentedControlItem =
|
|
9398
|
+
var StyledSegmentedControlItem = styled45(ToggleGroupItem)`
|
|
9451
9399
|
${segmentedControlItemStyles}
|
|
9452
9400
|
`;
|
|
9453
9401
|
var SegmentedControlItem = forwardRef20(
|
|
@@ -9459,12 +9407,12 @@ var SegmentedControlItem = forwardRef20(
|
|
|
9459
9407
|
event.preventDefault();
|
|
9460
9408
|
}
|
|
9461
9409
|
};
|
|
9462
|
-
return /* @__PURE__ */
|
|
9410
|
+
return /* @__PURE__ */ jsxs28(
|
|
9463
9411
|
StyledSegmentedControlItem,
|
|
9464
9412
|
{
|
|
9465
9413
|
ref,
|
|
9466
|
-
$hasLabel:
|
|
9467
|
-
"aria-label":
|
|
9414
|
+
$hasLabel: isNotNil16(label),
|
|
9415
|
+
"aria-label": isNotNil16(label) ? void 0 : ariaLabel,
|
|
9468
9416
|
disabled,
|
|
9469
9417
|
onClick: handleClick,
|
|
9470
9418
|
value,
|
|
@@ -9478,16 +9426,209 @@ var SegmentedControlItem = forwardRef20(
|
|
|
9478
9426
|
);
|
|
9479
9427
|
SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
9480
9428
|
|
|
9481
|
-
// src/components/
|
|
9429
|
+
// src/components/Select/Select.tsx
|
|
9430
|
+
import {
|
|
9431
|
+
Root as Root2,
|
|
9432
|
+
Trigger as Trigger2,
|
|
9433
|
+
Portal as Portal2,
|
|
9434
|
+
Content as Content2,
|
|
9435
|
+
ScrollUpButton,
|
|
9436
|
+
Viewport,
|
|
9437
|
+
Value,
|
|
9438
|
+
ScrollDownButton
|
|
9439
|
+
} from "@radix-ui/react-select";
|
|
9440
|
+
import { forwardRef as forwardRef21 } from "react";
|
|
9441
|
+
import styled46 from "styled-components";
|
|
9442
|
+
import { jsx as jsx209, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
9443
|
+
var StyledTrigger = styled46(Trigger2)`
|
|
9444
|
+
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9445
|
+
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
9446
|
+
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
9447
|
+
--wui-select-color-border: var(--wui-color-border);
|
|
9448
|
+
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
9449
|
+
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
9450
|
+
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
9451
|
+
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
9452
|
+
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
9453
|
+
--wui-select-vertical-padding: var(--wui-space-02);
|
|
9454
|
+
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
9455
|
+
--wui-select-placeholder: var(--wui-gray-10);
|
|
9456
|
+
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
9457
|
+
|
|
9458
|
+
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
9459
|
+
background-color: var(--wui-select-color-bg);
|
|
9460
|
+
border: 1px solid var(--wui-select-color-border);
|
|
9461
|
+
border-radius: var(--wui-select-border-radius);
|
|
9462
|
+
min-width: 200px;
|
|
9463
|
+
text-align: left;
|
|
9464
|
+
display: inline-flex;
|
|
9465
|
+
align-items: center;
|
|
9466
|
+
justify-content: space-between;
|
|
9467
|
+
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
9468
|
+
|
|
9469
|
+
&[aria-expanded='true'],
|
|
9470
|
+
&:focus {
|
|
9471
|
+
outline: 2px solid var(--wui-color-focus-ring);
|
|
9472
|
+
}
|
|
9473
|
+
|
|
9474
|
+
&[aria-invalid='true'] {
|
|
9475
|
+
outline: 2px solid var(--wui-select-color-border-error);
|
|
9476
|
+
color: var(--wui-select-color-text-error);
|
|
9477
|
+
}
|
|
9478
|
+
|
|
9479
|
+
&:disabled {
|
|
9480
|
+
border-color: var(--wui-color-bg-surface-disabled);
|
|
9481
|
+
background-color: var(--wui-color-bg-surface-disabled);
|
|
9482
|
+
}
|
|
9483
|
+
`;
|
|
9484
|
+
var StyledContent2 = styled46(Content2)`
|
|
9485
|
+
--wui-select-content-border: var(--wui-color-border);
|
|
9486
|
+
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
9487
|
+
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
9488
|
+
--wui-select-option-padding: var(--wui-space-02);
|
|
9489
|
+
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
9490
|
+
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
9491
|
+
|
|
9492
|
+
overflow: hidden;
|
|
9493
|
+
transform: translateY(8px);
|
|
9494
|
+
background-color: var(--wui-select-content-bg);
|
|
9495
|
+
border: 1px solid var(--wui-select-content-border);
|
|
9496
|
+
border-radius: var(--wui-select-content-border-radius);
|
|
9497
|
+
padding: var(--wui-select-option-padding);
|
|
9498
|
+
min-width: 200px;
|
|
9499
|
+
`;
|
|
9500
|
+
var Select = forwardRef21(
|
|
9501
|
+
({
|
|
9502
|
+
colorScheme = "inherit",
|
|
9503
|
+
children,
|
|
9504
|
+
onChange = () => null,
|
|
9505
|
+
placeholder = "Select...",
|
|
9506
|
+
fullWidth = false,
|
|
9507
|
+
...props
|
|
9508
|
+
}, forwardedRef) => {
|
|
9509
|
+
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
9510
|
+
return /* @__PURE__ */ jsxs29(
|
|
9511
|
+
Root2,
|
|
9512
|
+
{
|
|
9513
|
+
...props,
|
|
9514
|
+
onValueChange: onChange,
|
|
9515
|
+
children: [
|
|
9516
|
+
/* @__PURE__ */ jsxs29(
|
|
9517
|
+
StyledTrigger,
|
|
9518
|
+
{
|
|
9519
|
+
ref: forwardedRef,
|
|
9520
|
+
$colorScheme: colorScheme,
|
|
9521
|
+
$fullWidth: responsiveFullWidth,
|
|
9522
|
+
...props,
|
|
9523
|
+
children: [
|
|
9524
|
+
/* @__PURE__ */ jsx209(Value, { placeholder }),
|
|
9525
|
+
/* @__PURE__ */ jsx209(
|
|
9526
|
+
Icon,
|
|
9527
|
+
{
|
|
9528
|
+
size: "md",
|
|
9529
|
+
type: "caret-down"
|
|
9530
|
+
}
|
|
9531
|
+
)
|
|
9532
|
+
]
|
|
9533
|
+
}
|
|
9534
|
+
),
|
|
9535
|
+
/* @__PURE__ */ jsx209(Portal2, { children: /* @__PURE__ */ jsxs29(StyledContent2, { position: "popper", children: [
|
|
9536
|
+
/* @__PURE__ */ jsx209(ScrollUpButton, { children: /* @__PURE__ */ jsx209(Icon, { type: "caret-up" }) }),
|
|
9537
|
+
/* @__PURE__ */ jsx209(Viewport, { children }),
|
|
9538
|
+
/* @__PURE__ */ jsx209(ScrollDownButton, { children: /* @__PURE__ */ jsx209(Icon, { type: "caret-down" }) })
|
|
9539
|
+
] }) })
|
|
9540
|
+
]
|
|
9541
|
+
}
|
|
9542
|
+
);
|
|
9543
|
+
}
|
|
9544
|
+
);
|
|
9545
|
+
Select.displayName = "Select";
|
|
9546
|
+
|
|
9547
|
+
// src/components/Select/SelectOption.tsx
|
|
9548
|
+
import { Item, ItemText, ItemIndicator } from "@radix-ui/react-select";
|
|
9482
9549
|
import { forwardRef as forwardRef22 } from "react";
|
|
9550
|
+
import styled47 from "styled-components";
|
|
9551
|
+
import { jsx as jsx210, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9552
|
+
var StyledItem = styled47(Item)`
|
|
9553
|
+
${variantStyleMap2.body3};
|
|
9554
|
+
display: flex;
|
|
9555
|
+
padding: var(--wui-select-option-padding);
|
|
9556
|
+
gap: var(--wui-select-option-inner-gap);
|
|
9557
|
+
font-size: var(--font-size);
|
|
9558
|
+
font-weight: var(--font-weight);
|
|
9559
|
+
border-radius: var(--wui-border-radius-01);
|
|
9560
|
+
|
|
9561
|
+
&:hover,
|
|
9562
|
+
&:focus-visible {
|
|
9563
|
+
background-color: var(--wui-select-option-bg-hover);
|
|
9564
|
+
outline: none;
|
|
9565
|
+
}
|
|
9566
|
+
|
|
9567
|
+
&[aria-disabled='true'] {
|
|
9568
|
+
color: var(--wui-color-text-disabled);
|
|
9569
|
+
}
|
|
9570
|
+
|
|
9571
|
+
&[aria-disabled='true']:hover {
|
|
9572
|
+
background-color: transparent;
|
|
9573
|
+
}
|
|
9574
|
+
`;
|
|
9575
|
+
var StyledIconContainer = styled47.span`
|
|
9576
|
+
width: 12px;
|
|
9577
|
+
`;
|
|
9578
|
+
var SelectOption = forwardRef22(
|
|
9579
|
+
({ children, ...props }, forwardedRef) => {
|
|
9580
|
+
return /* @__PURE__ */ jsxs30(
|
|
9581
|
+
StyledItem,
|
|
9582
|
+
{
|
|
9583
|
+
...props,
|
|
9584
|
+
ref: forwardedRef,
|
|
9585
|
+
children: [
|
|
9586
|
+
/* @__PURE__ */ jsx210(StyledIconContainer, { children: /* @__PURE__ */ jsx210(ItemIndicator, { children: /* @__PURE__ */ jsx210(
|
|
9587
|
+
Icon,
|
|
9588
|
+
{
|
|
9589
|
+
size: "sm",
|
|
9590
|
+
type: "checkmark"
|
|
9591
|
+
}
|
|
9592
|
+
) }) }),
|
|
9593
|
+
/* @__PURE__ */ jsx210(ItemText, { children })
|
|
9594
|
+
]
|
|
9595
|
+
}
|
|
9596
|
+
);
|
|
9597
|
+
}
|
|
9598
|
+
);
|
|
9599
|
+
SelectOption.displayName = "Option";
|
|
9600
|
+
|
|
9601
|
+
// src/components/Select/SelectOptionGroup.tsx
|
|
9602
|
+
import { Group, Label as Label2 } from "@radix-ui/react-select";
|
|
9603
|
+
import styled48 from "styled-components";
|
|
9604
|
+
import { jsx as jsx211, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
9605
|
+
var StyledLabel4 = styled48(Label2)`
|
|
9606
|
+
padding: var(--wui-select-option-padding);
|
|
9607
|
+
`;
|
|
9608
|
+
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
9609
|
+
return /* @__PURE__ */ jsxs31(Group, { ...props, children: [
|
|
9610
|
+
/* @__PURE__ */ jsx211(StyledLabel4, { children: /* @__PURE__ */ jsx211(
|
|
9611
|
+
Text,
|
|
9612
|
+
{
|
|
9613
|
+
prominence: "secondary",
|
|
9614
|
+
variant: "body3",
|
|
9615
|
+
children: label
|
|
9616
|
+
}
|
|
9617
|
+
) }),
|
|
9618
|
+
children
|
|
9619
|
+
] });
|
|
9620
|
+
};
|
|
9621
|
+
|
|
9622
|
+
// src/components/Tabs/Tabs.tsx
|
|
9623
|
+
import { forwardRef as forwardRef24 } from "react";
|
|
9483
9624
|
import { Root as TabsRoot } from "@radix-ui/react-tabs";
|
|
9484
|
-
import { isNotNil as
|
|
9625
|
+
import { isNotNil as isNotNil18, isNil as isNil14 } from "@wistia/type-guards";
|
|
9485
9626
|
|
|
9486
9627
|
// src/components/Tabs/TabPanel.tsx
|
|
9487
|
-
import
|
|
9628
|
+
import styled49 from "styled-components";
|
|
9488
9629
|
import { Content as TabsContent } from "@radix-ui/react-tabs";
|
|
9489
9630
|
import { jsx as jsx212 } from "react/jsx-runtime";
|
|
9490
|
-
var StyledTabPanel =
|
|
9631
|
+
var StyledTabPanel = styled49(TabsContent)`
|
|
9491
9632
|
display: flex;
|
|
9492
9633
|
flex-direction: column;
|
|
9493
9634
|
`;
|
|
@@ -9504,10 +9645,10 @@ var TabPanel = ({ children, value, ...props }) => {
|
|
|
9504
9645
|
TabPanel.displayName = "TabPanel";
|
|
9505
9646
|
|
|
9506
9647
|
// src/components/Tabs/TabList.tsx
|
|
9507
|
-
import
|
|
9648
|
+
import styled50 from "styled-components";
|
|
9508
9649
|
import { List as RadixTabList } from "@radix-ui/react-tabs";
|
|
9509
9650
|
import { jsx as jsx213 } from "react/jsx-runtime";
|
|
9510
|
-
var StyledTabList =
|
|
9651
|
+
var StyledTabList = styled50(RadixTabList)`
|
|
9511
9652
|
${segmentedControlStyles}
|
|
9512
9653
|
|
|
9513
9654
|
margin-bottom: var(--wui-space-04);
|
|
@@ -9531,26 +9672,26 @@ var TabList = ({
|
|
|
9531
9672
|
TabList.displayName = "TabList";
|
|
9532
9673
|
|
|
9533
9674
|
// src/components/Tabs/TabItem.tsx
|
|
9534
|
-
import { forwardRef as
|
|
9535
|
-
import
|
|
9675
|
+
import { forwardRef as forwardRef23 } from "react";
|
|
9676
|
+
import styled51 from "styled-components";
|
|
9536
9677
|
import { Trigger as RadixTab } from "@radix-ui/react-tabs";
|
|
9537
|
-
import { isNotNil as
|
|
9538
|
-
import { jsxs as
|
|
9539
|
-
var StyledTabItem =
|
|
9678
|
+
import { isNotNil as isNotNil17 } from "@wistia/type-guards";
|
|
9679
|
+
import { jsxs as jsxs32 } from "react/jsx-runtime";
|
|
9680
|
+
var StyledTabItem = styled51(RadixTab)`
|
|
9540
9681
|
${segmentedControlItemStyles}
|
|
9541
9682
|
|
|
9542
9683
|
&[data-state='active'] {
|
|
9543
9684
|
background-color: white;
|
|
9544
9685
|
}
|
|
9545
9686
|
`;
|
|
9546
|
-
var TabItem =
|
|
9687
|
+
var TabItem = forwardRef23(
|
|
9547
9688
|
({ disabled = false, icon, label, "aria-label": ariaLabel, value }, ref) => {
|
|
9548
|
-
return /* @__PURE__ */
|
|
9689
|
+
return /* @__PURE__ */ jsxs32(
|
|
9549
9690
|
StyledTabItem,
|
|
9550
9691
|
{
|
|
9551
9692
|
ref,
|
|
9552
|
-
$hasLabel:
|
|
9553
|
-
"aria-label":
|
|
9693
|
+
$hasLabel: isNotNil17(label),
|
|
9694
|
+
"aria-label": isNotNil17(label) ? void 0 : ariaLabel,
|
|
9554
9695
|
disabled,
|
|
9555
9696
|
value,
|
|
9556
9697
|
children: [
|
|
@@ -9564,16 +9705,16 @@ var TabItem = forwardRef21(
|
|
|
9564
9705
|
TabItem.displayName = "TabItem";
|
|
9565
9706
|
|
|
9566
9707
|
// src/components/Tabs/extractTabItems.ts
|
|
9567
|
-
import { Children as
|
|
9708
|
+
import { Children as Children5, Fragment as Fragment5, isValidElement as isValidElement2 } from "react";
|
|
9568
9709
|
var extractTabItems = (children) => {
|
|
9569
9710
|
const tabItems = [];
|
|
9570
|
-
|
|
9711
|
+
Children5.forEach(children, (child) => {
|
|
9571
9712
|
if (!isValidElement2(child)) {
|
|
9572
9713
|
return;
|
|
9573
9714
|
}
|
|
9574
9715
|
if (typeof child.type !== "string" && child.type.displayName === "Tab") {
|
|
9575
9716
|
tabItems.push(child);
|
|
9576
|
-
} else if (child.type ===
|
|
9717
|
+
} else if (child.type === Fragment5) {
|
|
9577
9718
|
const fragmentElement = child;
|
|
9578
9719
|
tabItems.push(...extractTabItems(fragmentElement.props.children));
|
|
9579
9720
|
} else if ((child.props.children ?? null) != null) {
|
|
@@ -9586,8 +9727,8 @@ var extractTabItems = (children) => {
|
|
|
9586
9727
|
};
|
|
9587
9728
|
|
|
9588
9729
|
// src/components/Tabs/Tabs.tsx
|
|
9589
|
-
import { jsx as jsx214, jsxs as
|
|
9590
|
-
var Tabs =
|
|
9730
|
+
import { jsx as jsx214, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
9731
|
+
var Tabs = forwardRef24(
|
|
9591
9732
|
({
|
|
9592
9733
|
children,
|
|
9593
9734
|
fullWidth = true,
|
|
@@ -9599,7 +9740,7 @@ var Tabs = forwardRef22(
|
|
|
9599
9740
|
}, ref) => {
|
|
9600
9741
|
const tabItems = extractTabItems(children);
|
|
9601
9742
|
const modeProps = defaultSelectedValue !== void 0 ? { defaultValue: defaultSelectedValue } : { value: selectedValue, onValueChange: onSelectedValueChange };
|
|
9602
|
-
return /* @__PURE__ */
|
|
9743
|
+
return /* @__PURE__ */ jsxs33(
|
|
9603
9744
|
TabsRoot,
|
|
9604
9745
|
{
|
|
9605
9746
|
ref,
|
|
@@ -9631,7 +9772,7 @@ var Tabs = forwardRef22(
|
|
|
9631
9772
|
value
|
|
9632
9773
|
);
|
|
9633
9774
|
}
|
|
9634
|
-
if (
|
|
9775
|
+
if (isNotNil18(label)) {
|
|
9635
9776
|
return /* @__PURE__ */ jsx214(
|
|
9636
9777
|
TabItem,
|
|
9637
9778
|
{
|
|
@@ -9643,7 +9784,7 @@ var Tabs = forwardRef22(
|
|
|
9643
9784
|
value
|
|
9644
9785
|
);
|
|
9645
9786
|
}
|
|
9646
|
-
if (
|
|
9787
|
+
if (isNotNil18(ariaLabelForTab)) {
|
|
9647
9788
|
return /* @__PURE__ */ jsx214(
|
|
9648
9789
|
TabItem,
|
|
9649
9790
|
{
|
|
@@ -9675,19 +9816,19 @@ var Tabs = forwardRef22(
|
|
|
9675
9816
|
Tabs.displayName = "Tabs";
|
|
9676
9817
|
|
|
9677
9818
|
// src/components/Tabs/Tab.tsx
|
|
9678
|
-
import { forwardRef as
|
|
9819
|
+
import { forwardRef as forwardRef25 } from "react";
|
|
9679
9820
|
import { jsx as jsx215 } from "react/jsx-runtime";
|
|
9680
|
-
var Tab =
|
|
9821
|
+
var Tab = forwardRef25(({ children }, ref) => {
|
|
9681
9822
|
return /* @__PURE__ */ jsx215("div", { ref, children });
|
|
9682
9823
|
});
|
|
9683
9824
|
Tab.displayName = "Tab";
|
|
9684
9825
|
|
|
9685
9826
|
// src/components/Tag/Tag.tsx
|
|
9686
|
-
import { forwardRef as
|
|
9687
|
-
import
|
|
9688
|
-
import { isNil as isNil15, isNotNil as
|
|
9689
|
-
import { Fragment as
|
|
9690
|
-
var TagLabel =
|
|
9827
|
+
import { forwardRef as forwardRef26 } from "react";
|
|
9828
|
+
import styled52 from "styled-components";
|
|
9829
|
+
import { isNil as isNil15, isNotNil as isNotNil19, isNonEmptyString as isNonEmptyString4 } from "@wistia/type-guards";
|
|
9830
|
+
import { Fragment as Fragment6, jsx as jsx216, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
9831
|
+
var TagLabel = styled52.a`
|
|
9691
9832
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9692
9833
|
font-size: var(--wui-typography-label-4-size);
|
|
9693
9834
|
font-weight: var(--wui-typography-label-4-weight);
|
|
@@ -9715,14 +9856,14 @@ var TagLabel = styled51.a`
|
|
|
9715
9856
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9716
9857
|
}
|
|
9717
9858
|
`;
|
|
9718
|
-
var TagDivider =
|
|
9859
|
+
var TagDivider = styled52.div`
|
|
9719
9860
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9720
9861
|
border-left: 1px solid var(--wui-color-border);
|
|
9721
9862
|
display: flex;
|
|
9722
9863
|
height: 14px;
|
|
9723
9864
|
width: 1px;
|
|
9724
9865
|
`;
|
|
9725
|
-
var StyledRemoveButton =
|
|
9866
|
+
var StyledRemoveButton = styled52.button`
|
|
9726
9867
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9727
9868
|
all: unset;
|
|
9728
9869
|
cursor: pointer;
|
|
@@ -9750,7 +9891,7 @@ var StyledRemoveButton = styled51.button`
|
|
|
9750
9891
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9751
9892
|
}
|
|
9752
9893
|
`;
|
|
9753
|
-
var StyledTag =
|
|
9894
|
+
var StyledTag = styled52.div`
|
|
9754
9895
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9755
9896
|
align-items: center;
|
|
9756
9897
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -9771,9 +9912,9 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
9771
9912
|
"for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
|
|
9772
9913
|
);
|
|
9773
9914
|
}
|
|
9774
|
-
return /* @__PURE__ */
|
|
9915
|
+
return /* @__PURE__ */ jsxs34(Fragment6, { children: [
|
|
9775
9916
|
/* @__PURE__ */ jsx216(TagDivider, { $colorScheme: colorScheme }),
|
|
9776
|
-
/* @__PURE__ */
|
|
9917
|
+
/* @__PURE__ */ jsxs34(
|
|
9777
9918
|
StyledRemoveButton,
|
|
9778
9919
|
{
|
|
9779
9920
|
$colorScheme: colorScheme,
|
|
@@ -9793,10 +9934,10 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
9793
9934
|
)
|
|
9794
9935
|
] });
|
|
9795
9936
|
};
|
|
9796
|
-
var Tag =
|
|
9937
|
+
var Tag = forwardRef26(
|
|
9797
9938
|
({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
|
|
9798
|
-
const labelProps =
|
|
9799
|
-
return /* @__PURE__ */
|
|
9939
|
+
const labelProps = isNotNil19(href) && isNonEmptyString4(href) ? { href, as: "a" } : { as: "span" };
|
|
9940
|
+
return /* @__PURE__ */ jsxs34(
|
|
9800
9941
|
StyledTag,
|
|
9801
9942
|
{
|
|
9802
9943
|
ref,
|
|
@@ -9827,9 +9968,9 @@ var Tag = forwardRef24(
|
|
|
9827
9968
|
Tag.displayName = "Tag";
|
|
9828
9969
|
|
|
9829
9970
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
9830
|
-
import
|
|
9831
|
-
import { isNotNil as
|
|
9832
|
-
import { jsx as jsx217, jsxs as
|
|
9971
|
+
import styled53 from "styled-components";
|
|
9972
|
+
import { isNotNil as isNotNil20 } from "@wistia/type-guards";
|
|
9973
|
+
import { jsx as jsx217, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
9833
9974
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
9834
9975
|
if (iconOnly) {
|
|
9835
9976
|
return /* @__PURE__ */ jsx217(
|
|
@@ -9869,7 +10010,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
9869
10010
|
}
|
|
9870
10011
|
return "0 0 144 31.47";
|
|
9871
10012
|
};
|
|
9872
|
-
var WistiaLogoComponent =
|
|
10013
|
+
var WistiaLogoComponent = styled53.svg`
|
|
9873
10014
|
height: ${({ height }) => `${height}px`};
|
|
9874
10015
|
|
|
9875
10016
|
/* ensure it will always fit on mobile */
|
|
@@ -9911,7 +10052,7 @@ var WistiaLogo = ({
|
|
|
9911
10052
|
};
|
|
9912
10053
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
9913
10054
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
9914
|
-
const Logo = /* @__PURE__ */
|
|
10055
|
+
const Logo = /* @__PURE__ */ jsxs35(
|
|
9915
10056
|
WistiaLogoComponent,
|
|
9916
10057
|
{
|
|
9917
10058
|
$hoverColor: hoverColor,
|
|
@@ -9922,7 +10063,7 @@ var WistiaLogo = ({
|
|
|
9922
10063
|
...otherProps,
|
|
9923
10064
|
children: [
|
|
9924
10065
|
/* @__PURE__ */ jsx217("title", { children: title }),
|
|
9925
|
-
|
|
10066
|
+
isNotNil20(description) ? /* @__PURE__ */ jsx217("desc", { children: description }) : null,
|
|
9926
10067
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
9927
10068
|
renderLogotype(logotypeColor, iconOnly)
|
|
9928
10069
|
]
|
|
@@ -9931,199 +10072,6 @@ var WistiaLogo = ({
|
|
|
9931
10072
|
return href !== void 0 ? /* @__PURE__ */ jsx217("a", { href, children: Logo }) : Logo;
|
|
9932
10073
|
};
|
|
9933
10074
|
WistiaLogo.displayName = "WistiaLogo";
|
|
9934
|
-
|
|
9935
|
-
// src/components/Select/Select.tsx
|
|
9936
|
-
import {
|
|
9937
|
-
Root as Root3,
|
|
9938
|
-
Trigger as Trigger3,
|
|
9939
|
-
Portal as Portal2,
|
|
9940
|
-
Content as Content3,
|
|
9941
|
-
ScrollUpButton,
|
|
9942
|
-
Viewport,
|
|
9943
|
-
Value,
|
|
9944
|
-
ScrollDownButton
|
|
9945
|
-
} from "@radix-ui/react-select";
|
|
9946
|
-
import { forwardRef as forwardRef25 } from "react";
|
|
9947
|
-
import styled53 from "styled-components";
|
|
9948
|
-
import { jsx as jsx218, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
9949
|
-
var StyledTrigger = styled53(Trigger3)`
|
|
9950
|
-
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9951
|
-
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
9952
|
-
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
9953
|
-
--wui-select-color-border: var(--wui-color-border);
|
|
9954
|
-
--wui-select-color-border-focus: var(--wui-color-border-active);
|
|
9955
|
-
--wui-select-color-border-error: var(--wui-color-border-error);
|
|
9956
|
-
--wui-select-color-border-disabled: var(--wui-color-border-disabled);
|
|
9957
|
-
--wui-select-border-radius: var(--wui-border-radius-rounded);
|
|
9958
|
-
--wui-select-multiline-border-radius: var(--wui-border-radius-02);
|
|
9959
|
-
--wui-select-vertical-padding: var(--wui-space-02);
|
|
9960
|
-
--wui-select-horizontal-padding: var(--wui-space-03);
|
|
9961
|
-
--wui-select-placeholder: var(--wui-gray-10);
|
|
9962
|
-
--wui-select-color-text-error: var(--wui-color-text-error);
|
|
9963
|
-
|
|
9964
|
-
padding: var(--wui-select-vertical-padding) var(--wui-select-horizontal-padding);
|
|
9965
|
-
background-color: var(--wui-select-color-bg);
|
|
9966
|
-
border: 1px solid var(--wui-select-color-border);
|
|
9967
|
-
border-radius: var(--wui-select-border-radius);
|
|
9968
|
-
min-width: 200px;
|
|
9969
|
-
text-align: left;
|
|
9970
|
-
display: inline-flex;
|
|
9971
|
-
align-items: center;
|
|
9972
|
-
justify-content: space-between;
|
|
9973
|
-
width: ${({ $fullWidth = false }) => $fullWidth ? "100%" : "auto"};
|
|
9974
|
-
|
|
9975
|
-
&[aria-expanded='true'],
|
|
9976
|
-
&:focus {
|
|
9977
|
-
outline: 2px solid var(--wui-color-focus-ring);
|
|
9978
|
-
}
|
|
9979
|
-
|
|
9980
|
-
&[aria-invalid='true'] {
|
|
9981
|
-
outline: 2px solid var(--wui-select-color-border-error);
|
|
9982
|
-
color: var(--wui-select-color-text-error);
|
|
9983
|
-
}
|
|
9984
|
-
|
|
9985
|
-
&:disabled {
|
|
9986
|
-
border-color: var(--wui-color-bg-surface-disabled);
|
|
9987
|
-
background-color: var(--wui-color-bg-surface-disabled);
|
|
9988
|
-
}
|
|
9989
|
-
`;
|
|
9990
|
-
var StyledContent2 = styled53(Content3)`
|
|
9991
|
-
--wui-select-content-border: var(--wui-color-border);
|
|
9992
|
-
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
9993
|
-
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
9994
|
-
--wui-select-option-padding: var(--wui-space-02);
|
|
9995
|
-
--wui-select-option-inner-gap: var(--wui-space-03);
|
|
9996
|
-
--wui-select-option-bg-hover: var(--wui-color-bg-surface-hover);
|
|
9997
|
-
|
|
9998
|
-
overflow: hidden;
|
|
9999
|
-
transform: translateY(8px);
|
|
10000
|
-
background-color: var(--wui-select-content-bg);
|
|
10001
|
-
border: 1px solid var(--wui-select-content-border);
|
|
10002
|
-
border-radius: var(--wui-select-content-border-radius);
|
|
10003
|
-
padding: var(--wui-select-option-padding);
|
|
10004
|
-
min-width: 200px;
|
|
10005
|
-
`;
|
|
10006
|
-
var Select = forwardRef25(
|
|
10007
|
-
({
|
|
10008
|
-
colorScheme = "inherit",
|
|
10009
|
-
children,
|
|
10010
|
-
onChange = () => null,
|
|
10011
|
-
placeholder = "Select...",
|
|
10012
|
-
fullWidth = false,
|
|
10013
|
-
...props
|
|
10014
|
-
}, forwardedRef) => {
|
|
10015
|
-
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
10016
|
-
return /* @__PURE__ */ jsxs34(
|
|
10017
|
-
Root3,
|
|
10018
|
-
{
|
|
10019
|
-
...props,
|
|
10020
|
-
onValueChange: onChange,
|
|
10021
|
-
children: [
|
|
10022
|
-
/* @__PURE__ */ jsxs34(
|
|
10023
|
-
StyledTrigger,
|
|
10024
|
-
{
|
|
10025
|
-
ref: forwardedRef,
|
|
10026
|
-
$colorScheme: colorScheme,
|
|
10027
|
-
$fullWidth: responsiveFullWidth,
|
|
10028
|
-
...props,
|
|
10029
|
-
children: [
|
|
10030
|
-
/* @__PURE__ */ jsx218(Value, { placeholder }),
|
|
10031
|
-
/* @__PURE__ */ jsx218(
|
|
10032
|
-
Icon,
|
|
10033
|
-
{
|
|
10034
|
-
size: "md",
|
|
10035
|
-
type: "caret-down"
|
|
10036
|
-
}
|
|
10037
|
-
)
|
|
10038
|
-
]
|
|
10039
|
-
}
|
|
10040
|
-
),
|
|
10041
|
-
/* @__PURE__ */ jsx218(Portal2, { children: /* @__PURE__ */ jsxs34(StyledContent2, { position: "popper", children: [
|
|
10042
|
-
/* @__PURE__ */ jsx218(ScrollUpButton, { children: /* @__PURE__ */ jsx218(Icon, { type: "caret-up" }) }),
|
|
10043
|
-
/* @__PURE__ */ jsx218(Viewport, { children }),
|
|
10044
|
-
/* @__PURE__ */ jsx218(ScrollDownButton, { children: /* @__PURE__ */ jsx218(Icon, { type: "caret-down" }) })
|
|
10045
|
-
] }) })
|
|
10046
|
-
]
|
|
10047
|
-
}
|
|
10048
|
-
);
|
|
10049
|
-
}
|
|
10050
|
-
);
|
|
10051
|
-
Select.displayName = "Select";
|
|
10052
|
-
|
|
10053
|
-
// src/components/Select/SelectOption.tsx
|
|
10054
|
-
import { Item, ItemText, ItemIndicator } from "@radix-ui/react-select";
|
|
10055
|
-
import { forwardRef as forwardRef26 } from "react";
|
|
10056
|
-
import styled54 from "styled-components";
|
|
10057
|
-
import { jsx as jsx219, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10058
|
-
var StyledItem = styled54(Item)`
|
|
10059
|
-
${variantStyleMap2.body3};
|
|
10060
|
-
display: flex;
|
|
10061
|
-
padding: var(--wui-select-option-padding);
|
|
10062
|
-
gap: var(--wui-select-option-inner-gap);
|
|
10063
|
-
font-size: var(--font-size);
|
|
10064
|
-
font-weight: var(--font-weight);
|
|
10065
|
-
border-radius: var(--wui-border-radius-01);
|
|
10066
|
-
|
|
10067
|
-
&:hover,
|
|
10068
|
-
&:focus-visible {
|
|
10069
|
-
background-color: var(--wui-select-option-bg-hover);
|
|
10070
|
-
outline: none;
|
|
10071
|
-
}
|
|
10072
|
-
|
|
10073
|
-
&[aria-disabled='true'] {
|
|
10074
|
-
color: var(--wui-color-text-disabled);
|
|
10075
|
-
}
|
|
10076
|
-
|
|
10077
|
-
&[aria-disabled='true']:hover {
|
|
10078
|
-
background-color: transparent;
|
|
10079
|
-
}
|
|
10080
|
-
`;
|
|
10081
|
-
var StyledIconContainer = styled54.span`
|
|
10082
|
-
width: 12px;
|
|
10083
|
-
`;
|
|
10084
|
-
var SelectOption = forwardRef26(
|
|
10085
|
-
({ children, ...props }, forwardedRef) => {
|
|
10086
|
-
return /* @__PURE__ */ jsxs35(
|
|
10087
|
-
StyledItem,
|
|
10088
|
-
{
|
|
10089
|
-
...props,
|
|
10090
|
-
ref: forwardedRef,
|
|
10091
|
-
children: [
|
|
10092
|
-
/* @__PURE__ */ jsx219(StyledIconContainer, { children: /* @__PURE__ */ jsx219(ItemIndicator, { children: /* @__PURE__ */ jsx219(
|
|
10093
|
-
Icon,
|
|
10094
|
-
{
|
|
10095
|
-
size: "sm",
|
|
10096
|
-
type: "checkmark"
|
|
10097
|
-
}
|
|
10098
|
-
) }) }),
|
|
10099
|
-
/* @__PURE__ */ jsx219(ItemText, { children })
|
|
10100
|
-
]
|
|
10101
|
-
}
|
|
10102
|
-
);
|
|
10103
|
-
}
|
|
10104
|
-
);
|
|
10105
|
-
SelectOption.displayName = "Option";
|
|
10106
|
-
|
|
10107
|
-
// src/components/Select/SelectOptionGroup.tsx
|
|
10108
|
-
import { Group, Label as Label2 } from "@radix-ui/react-select";
|
|
10109
|
-
import styled55 from "styled-components";
|
|
10110
|
-
import { jsx as jsx220, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
10111
|
-
var StyledLabel4 = styled55(Label2)`
|
|
10112
|
-
padding: var(--wui-select-option-padding);
|
|
10113
|
-
`;
|
|
10114
|
-
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
10115
|
-
return /* @__PURE__ */ jsxs36(Group, { ...props, children: [
|
|
10116
|
-
/* @__PURE__ */ jsx220(StyledLabel4, { children: /* @__PURE__ */ jsx220(
|
|
10117
|
-
Text,
|
|
10118
|
-
{
|
|
10119
|
-
prominence: "secondary",
|
|
10120
|
-
variant: "body3",
|
|
10121
|
-
children: label
|
|
10122
|
-
}
|
|
10123
|
-
) }),
|
|
10124
|
-
children
|
|
10125
|
-
] });
|
|
10126
|
-
};
|
|
10127
10075
|
export {
|
|
10128
10076
|
ActionButton,
|
|
10129
10077
|
Avatar,
|
|
@@ -10137,9 +10085,6 @@ export {
|
|
|
10137
10085
|
Checkbox,
|
|
10138
10086
|
CheckboxGroup,
|
|
10139
10087
|
CheckboxMenuItem,
|
|
10140
|
-
Collapsible,
|
|
10141
|
-
CollapsibleContent,
|
|
10142
|
-
CollapsibleTrigger,
|
|
10143
10088
|
ColorSchemeWrapper,
|
|
10144
10089
|
DataCard,
|
|
10145
10090
|
DataCardTrend,
|