@wistia/ui 0.5.7 → 0.6.0-beta.1ca5cd23.8077d2d
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 +271 -159
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +169 -7
- package/dist/index.d.ts +169 -7
- package/dist/index.mjs +266 -155
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* @license @wistia/ui v0.
|
|
3
|
+
* @license @wistia/ui v0.6.0-beta.1ca5cd23.8077d2d
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
|
|
6
6
|
*
|
|
@@ -6650,7 +6650,12 @@ var ButtonGroupComponent = styled13.div`
|
|
|
6650
6650
|
display: flex;
|
|
6651
6651
|
|
|
6652
6652
|
/* this helps ensure that primary buttons appear at the top of the column */
|
|
6653
|
-
flex-direction: ${({ $align }) =>
|
|
6653
|
+
flex-direction: ${({ $collapse, $align }) => {
|
|
6654
|
+
if (!$collapse) {
|
|
6655
|
+
return "row";
|
|
6656
|
+
}
|
|
6657
|
+
return $align === "right" ? "column-reverse" : "column";
|
|
6658
|
+
}};
|
|
6654
6659
|
gap: var(--wui-space-02);
|
|
6655
6660
|
align-items: center;
|
|
6656
6661
|
justify-content: ${({ $align }) => getAlignment($align)};
|
|
@@ -6670,6 +6675,7 @@ var ButtonGroup = ({
|
|
|
6670
6675
|
children,
|
|
6671
6676
|
align = "left",
|
|
6672
6677
|
fullWidth = false,
|
|
6678
|
+
collapseOnSmallScreens = true,
|
|
6673
6679
|
...otherProps
|
|
6674
6680
|
}) => {
|
|
6675
6681
|
if (isNil10(children)) {
|
|
@@ -6679,6 +6685,7 @@ var ButtonGroup = ({
|
|
|
6679
6685
|
ButtonGroupComponent,
|
|
6680
6686
|
{
|
|
6681
6687
|
$align: align,
|
|
6688
|
+
$collapse: collapseOnSmallScreens,
|
|
6682
6689
|
$fullWidth: fullWidth,
|
|
6683
6690
|
...otherProps,
|
|
6684
6691
|
children
|
|
@@ -8027,9 +8034,18 @@ var FormContext = createContext2({
|
|
|
8027
8034
|
values: {},
|
|
8028
8035
|
errors: {},
|
|
8029
8036
|
hasSubmitted: false,
|
|
8030
|
-
formId: ""
|
|
8037
|
+
formId: "",
|
|
8038
|
+
labelPosition: "block"
|
|
8031
8039
|
});
|
|
8032
|
-
var FormComponent = ({
|
|
8040
|
+
var FormComponent = ({
|
|
8041
|
+
children,
|
|
8042
|
+
action,
|
|
8043
|
+
values = {},
|
|
8044
|
+
labelPosition = "block",
|
|
8045
|
+
validate,
|
|
8046
|
+
fullWidth = false,
|
|
8047
|
+
...props
|
|
8048
|
+
}, forwardedRef) => {
|
|
8033
8049
|
const [errors, setErrors] = useState6({});
|
|
8034
8050
|
const [hasSubmitted, setHasSubmitted] = useState6(false);
|
|
8035
8051
|
const innerRef = useRef5();
|
|
@@ -8081,19 +8097,20 @@ var FormComponent = ({ children, action, values = {}, validate, fullWidth = fals
|
|
|
8081
8097
|
values,
|
|
8082
8098
|
errors,
|
|
8083
8099
|
hasSubmitted,
|
|
8084
|
-
formId: id
|
|
8100
|
+
formId: id,
|
|
8101
|
+
labelPosition
|
|
8085
8102
|
};
|
|
8086
|
-
}, [values, errors, id, hasSubmitted]);
|
|
8103
|
+
}, [labelPosition, values, errors, id, hasSubmitted]);
|
|
8087
8104
|
return (
|
|
8088
8105
|
// @ts-expect-error - generic context providers are a giant pain
|
|
8089
8106
|
/* @__PURE__ */ jsx189(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsx189(
|
|
8090
8107
|
Stack,
|
|
8091
8108
|
{
|
|
8092
|
-
gap: "space-05",
|
|
8093
8109
|
...props,
|
|
8094
8110
|
ref,
|
|
8095
8111
|
$fullWidth: fullWidth,
|
|
8096
8112
|
as: StyledForm,
|
|
8113
|
+
gap: "space-05",
|
|
8097
8114
|
id,
|
|
8098
8115
|
onBlur: handleBlur,
|
|
8099
8116
|
onReset: handleReset,
|
|
@@ -8147,7 +8164,7 @@ import { useContext as useContext2, useRef as useRef6 } from "react";
|
|
|
8147
8164
|
import { isArray, isNotUndefined as isNotUndefined6 } from "@wistia/type-guards";
|
|
8148
8165
|
import { jsx as jsx190, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
8149
8166
|
var ErrorItem = ({ name, error, formId }) => {
|
|
8150
|
-
return /* @__PURE__ */ jsx190("li", { children: /* @__PURE__ */ jsx190(Link, { href:
|
|
8167
|
+
return /* @__PURE__ */ jsx190("li", { children: /* @__PURE__ */ jsx190(Link, { href: `#${formId}-${name}`, children: error }) }, name);
|
|
8151
8168
|
};
|
|
8152
8169
|
var FormErrorSummary = ({ description }) => {
|
|
8153
8170
|
const ref = useRef6(null);
|
|
@@ -8243,14 +8260,30 @@ var CheckboxGroup = ({
|
|
|
8243
8260
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
8244
8261
|
|
|
8245
8262
|
// src/components/FormField/FormField.tsx
|
|
8246
|
-
import { jsx as jsx193, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
8263
|
+
import { Fragment as Fragment6, jsx as jsx193, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
8247
8264
|
var StyledFormField = styled33.div`
|
|
8248
8265
|
--form-field-spacing: var(--wui-space-01);
|
|
8266
|
+
--form-field-spacing-inline: var(--wui-space-02);
|
|
8249
8267
|
--form-field-error-color: var(--wui-color-text-secondary-error);
|
|
8250
8268
|
|
|
8251
|
-
display:
|
|
8252
|
-
flex-direction: column;
|
|
8269
|
+
display: grid;
|
|
8253
8270
|
gap: var(--form-field-spacing);
|
|
8271
|
+
justify-content: flex-start;
|
|
8272
|
+
align-items: center;
|
|
8273
|
+
grid-template-columns: auto 1fr;
|
|
8274
|
+
grid-template-rows: auto 1fr;
|
|
8275
|
+
|
|
8276
|
+
&[data-label-position='inline'] {
|
|
8277
|
+
gap: var(--form-field-spacing-inline);
|
|
8278
|
+
grid-template-columns: minmax(auto, 1fr) 1fr;
|
|
8279
|
+
grid-template-rows: 1fr auto;
|
|
8280
|
+
}
|
|
8281
|
+
|
|
8282
|
+
&[data-label-position='block'] {
|
|
8283
|
+
gap: var(--form-field-spacing);
|
|
8284
|
+
grid-template-columns: 1fr;
|
|
8285
|
+
grid-template-rows: 1fr;
|
|
8286
|
+
}
|
|
8254
8287
|
`;
|
|
8255
8288
|
var StyledErrorList = styled33.ul`
|
|
8256
8289
|
margin: 0;
|
|
@@ -8290,18 +8323,20 @@ var FormField = ({
|
|
|
8290
8323
|
name,
|
|
8291
8324
|
error,
|
|
8292
8325
|
value,
|
|
8326
|
+
labelPosition,
|
|
8327
|
+
id,
|
|
8293
8328
|
...props
|
|
8294
8329
|
}) => {
|
|
8295
8330
|
const formState = useContext3(FormContext);
|
|
8296
8331
|
const checkboxGroup = useContext3(CheckboxGroupContext);
|
|
8297
|
-
const
|
|
8298
|
-
const
|
|
8332
|
+
const isIntegratedLabel = children.type === Checkbox;
|
|
8333
|
+
const computedId = id ?? `${formState.formId}-${name}`;
|
|
8299
8334
|
const computedError = error ?? formState.errors[name];
|
|
8300
8335
|
const defaultValue = formState.values[name];
|
|
8301
8336
|
let childProps = {
|
|
8302
8337
|
name,
|
|
8303
|
-
id,
|
|
8304
|
-
label:
|
|
8338
|
+
id: computedId,
|
|
8339
|
+
label: isIntegratedLabel ? label : void 0,
|
|
8305
8340
|
...props
|
|
8306
8341
|
};
|
|
8307
8342
|
if (isUndefined4(value) && isNotUndefined7(defaultValue)) {
|
|
@@ -8325,21 +8360,31 @@ var FormField = ({
|
|
|
8325
8360
|
name: computedName,
|
|
8326
8361
|
onChange: handleChange,
|
|
8327
8362
|
"aria-invalid": isNotNil11(error),
|
|
8328
|
-
"aria-describedby": isNotNil11(error) ? `${
|
|
8363
|
+
"aria-describedby": isNotNil11(error) ? `${computedId}-error` : void 0
|
|
8329
8364
|
};
|
|
8330
8365
|
}
|
|
8331
8366
|
Children4.only(children);
|
|
8332
|
-
return /* @__PURE__ */ jsxs20(
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8340
|
-
|
|
8341
|
-
|
|
8342
|
-
|
|
8367
|
+
return /* @__PURE__ */ jsxs20(
|
|
8368
|
+
StyledFormField,
|
|
8369
|
+
{
|
|
8370
|
+
...props,
|
|
8371
|
+
"data-label-position": labelPosition ?? formState.labelPosition,
|
|
8372
|
+
children: [
|
|
8373
|
+
!isIntegratedLabel && /* @__PURE__ */ jsx193(Label, { htmlFor: computedId, children: label }),
|
|
8374
|
+
cloneElement4(children, childProps),
|
|
8375
|
+
isNotNil11(computedError) ? /* @__PURE__ */ jsxs20(Fragment6, { children: [
|
|
8376
|
+
/* @__PURE__ */ jsx193("div", {}),
|
|
8377
|
+
/* @__PURE__ */ jsx193(
|
|
8378
|
+
ErrorMessages,
|
|
8379
|
+
{
|
|
8380
|
+
errors: computedError,
|
|
8381
|
+
id: `${computedId}-error`
|
|
8382
|
+
}
|
|
8383
|
+
)
|
|
8384
|
+
] }) : null
|
|
8385
|
+
]
|
|
8386
|
+
}
|
|
8387
|
+
);
|
|
8343
8388
|
};
|
|
8344
8389
|
FormField.displayName = "FormField";
|
|
8345
8390
|
|
|
@@ -8762,8 +8807,8 @@ var StyledSubTrigger = styled39(DropdownMenuSubTrigger)`
|
|
|
8762
8807
|
`;
|
|
8763
8808
|
var SubMenuTrigger = (props) => {
|
|
8764
8809
|
const { isSmAndUp } = useMq();
|
|
8765
|
-
const
|
|
8766
|
-
return /* @__PURE__ */ jsx200(
|
|
8810
|
+
const Trigger5 = isSmAndUp ? StyledSubTrigger : DropdownMenuItem;
|
|
8811
|
+
return /* @__PURE__ */ jsx200(Trigger5, { asChild: true, children: /* @__PURE__ */ jsx200(
|
|
8767
8812
|
MenuItemButton,
|
|
8768
8813
|
{
|
|
8769
8814
|
...props,
|
|
@@ -9232,17 +9277,81 @@ var Modal = forwardRef17(
|
|
|
9232
9277
|
);
|
|
9233
9278
|
Modal.displayName = "Modal";
|
|
9234
9279
|
|
|
9280
|
+
// src/components/Popover/Popover.tsx
|
|
9281
|
+
import { Root as Root3, Trigger as Trigger3, Portal as Portal2, Content as Content3, Close, Arrow as Arrow2 } from "@radix-ui/react-popover";
|
|
9282
|
+
import styled45 from "styled-components";
|
|
9283
|
+
|
|
9284
|
+
// src/private/helpers/getControls/getControlProps.tsx
|
|
9285
|
+
import { isNotNil as isNotNil17 } from "@wistia/type-guards";
|
|
9286
|
+
var getControlProps = (isOpen, onOpenChange) => {
|
|
9287
|
+
return isNotNil17(onOpenChange) && isNotNil17(isOpen) ? { open: isOpen, onOpenChange } : {};
|
|
9288
|
+
};
|
|
9289
|
+
|
|
9290
|
+
// src/components/Popover/Popover.tsx
|
|
9291
|
+
import { jsx as jsx210, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
9292
|
+
var StyledContent2 = styled45(Content3)`
|
|
9293
|
+
border-radius: var(--wui-border-radius-02);
|
|
9294
|
+
padding: var(--wui-space-04);
|
|
9295
|
+
max-width: 320px;
|
|
9296
|
+
background-color: var(--wui-color-bg-surface);
|
|
9297
|
+
box-shadow: var(--wui-elevation-01);
|
|
9298
|
+
border: 1px solid var(--wui-color-border);
|
|
9299
|
+
|
|
9300
|
+
[data-wui-popover-close] {
|
|
9301
|
+
position: absolute;
|
|
9302
|
+
top: var(--wui-space-02);
|
|
9303
|
+
right: var(--wui-space-02);
|
|
9304
|
+
}
|
|
9305
|
+
`;
|
|
9306
|
+
var StyledArrow = styled45(Arrow2)`
|
|
9307
|
+
fill: white;
|
|
9308
|
+
display: none;
|
|
9309
|
+
`;
|
|
9310
|
+
var Popover = ({
|
|
9311
|
+
children,
|
|
9312
|
+
trigger,
|
|
9313
|
+
isOpen = false,
|
|
9314
|
+
hideCloseButton = false,
|
|
9315
|
+
onOpenChange,
|
|
9316
|
+
...props
|
|
9317
|
+
}) => {
|
|
9318
|
+
return /* @__PURE__ */ jsxs28(Root3, { ...getControlProps(isOpen, onOpenChange), children: [
|
|
9319
|
+
/* @__PURE__ */ jsx210(Trigger3, { asChild: true, children: trigger }),
|
|
9320
|
+
/* @__PURE__ */ jsx210(Portal2, { children: /* @__PURE__ */ jsxs28(
|
|
9321
|
+
StyledContent2,
|
|
9322
|
+
{
|
|
9323
|
+
sideOffset: 5,
|
|
9324
|
+
...props,
|
|
9325
|
+
children: [
|
|
9326
|
+
/* @__PURE__ */ jsx210(StyledArrow, {}),
|
|
9327
|
+
!hideCloseButton && /* @__PURE__ */ jsx210(Close, { asChild: true, children: /* @__PURE__ */ jsx210(
|
|
9328
|
+
IconButton,
|
|
9329
|
+
{
|
|
9330
|
+
"data-wui-popover-close": true,
|
|
9331
|
+
label: "Close",
|
|
9332
|
+
variant: "ghost",
|
|
9333
|
+
children: /* @__PURE__ */ jsx210(Icon, { type: "close" })
|
|
9334
|
+
}
|
|
9335
|
+
) }),
|
|
9336
|
+
/* @__PURE__ */ jsx210("div", { children })
|
|
9337
|
+
]
|
|
9338
|
+
}
|
|
9339
|
+
) })
|
|
9340
|
+
] });
|
|
9341
|
+
};
|
|
9342
|
+
Popover.displayName = "Popover";
|
|
9343
|
+
|
|
9235
9344
|
// src/components/Radio/Radio.tsx
|
|
9236
9345
|
import { forwardRef as forwardRef18, useId as useId3 } from "react";
|
|
9237
|
-
import
|
|
9346
|
+
import styled46, { css as css25 } from "styled-components";
|
|
9238
9347
|
import { isNonEmptyString as isNonEmptyString3 } from "@wistia/type-guards";
|
|
9239
|
-
import { jsx as
|
|
9240
|
-
var StyledLabelWrapper2 =
|
|
9348
|
+
import { jsx as jsx211, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
9349
|
+
var StyledLabelWrapper2 = styled46.div`
|
|
9241
9350
|
display: flex;
|
|
9242
9351
|
flex-direction: column;
|
|
9243
9352
|
padding-left: var(--wui-space-02);
|
|
9244
9353
|
`;
|
|
9245
|
-
var StyledRadio =
|
|
9354
|
+
var StyledRadio = styled46.input`
|
|
9246
9355
|
box-shadow: ${({ type }) => type === "checkbox" ? "inset 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.38)" : "none"};
|
|
9247
9356
|
appearance: none;
|
|
9248
9357
|
margin: 0;
|
|
@@ -9284,7 +9393,7 @@ var defaultHoverStyle = css25`
|
|
|
9284
9393
|
/* TODO Lamp to design hover state */
|
|
9285
9394
|
cursor: pointer;
|
|
9286
9395
|
`;
|
|
9287
|
-
var StyledRadioWrapper =
|
|
9396
|
+
var StyledRadioWrapper = styled46.div`
|
|
9288
9397
|
align-items: baseline;
|
|
9289
9398
|
border: 1px solid transparent;
|
|
9290
9399
|
border-radius: 4px;
|
|
@@ -9322,13 +9431,13 @@ var Radio = forwardRef18(
|
|
|
9322
9431
|
}, ref) => {
|
|
9323
9432
|
const generatedId = useId3();
|
|
9324
9433
|
const computedId = isNonEmptyString3(id) ? id : `ui-radio-${generatedId}`;
|
|
9325
|
-
return /* @__PURE__ */
|
|
9434
|
+
return /* @__PURE__ */ jsxs29(
|
|
9326
9435
|
StyledRadioWrapper,
|
|
9327
9436
|
{
|
|
9328
9437
|
"aria-invalid": otherProps["aria-invalid"],
|
|
9329
9438
|
disabled,
|
|
9330
9439
|
children: [
|
|
9331
|
-
/* @__PURE__ */
|
|
9440
|
+
/* @__PURE__ */ jsx211(
|
|
9332
9441
|
StyledRadio,
|
|
9333
9442
|
{
|
|
9334
9443
|
ref,
|
|
@@ -9343,8 +9452,8 @@ var Radio = forwardRef18(
|
|
|
9343
9452
|
...otherProps
|
|
9344
9453
|
}
|
|
9345
9454
|
),
|
|
9346
|
-
/* @__PURE__ */
|
|
9347
|
-
/* @__PURE__ */
|
|
9455
|
+
/* @__PURE__ */ jsxs29(StyledLabelWrapper2, { children: [
|
|
9456
|
+
/* @__PURE__ */ jsx211(
|
|
9348
9457
|
Label,
|
|
9349
9458
|
{
|
|
9350
9459
|
disabled,
|
|
@@ -9353,7 +9462,7 @@ var Radio = forwardRef18(
|
|
|
9353
9462
|
children: label
|
|
9354
9463
|
}
|
|
9355
9464
|
),
|
|
9356
|
-
/* @__PURE__ */
|
|
9465
|
+
/* @__PURE__ */ jsx211(LabelDescription, { children: description })
|
|
9357
9466
|
] })
|
|
9358
9467
|
]
|
|
9359
9468
|
}
|
|
@@ -9364,13 +9473,13 @@ Radio.displayName = "Radio";
|
|
|
9364
9473
|
|
|
9365
9474
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9366
9475
|
import { forwardRef as forwardRef19 } from "react";
|
|
9367
|
-
import
|
|
9476
|
+
import styled48, { css as css26 } from "styled-components";
|
|
9368
9477
|
import { Root as ToggleGroupRoot } from "@radix-ui/react-toggle-group";
|
|
9369
9478
|
import { isNil as isNil13 } from "@wistia/type-guards";
|
|
9370
9479
|
|
|
9371
9480
|
// src/components/SegmentedControl/useSelectedItemMeasurements.tsx
|
|
9372
9481
|
import { createContext as createContext6, useContext as useContext5, useMemo as useMemo8, useState as useState9 } from "react";
|
|
9373
|
-
import { jsx as
|
|
9482
|
+
import { jsx as jsx212 } from "react/jsx-runtime";
|
|
9374
9483
|
var SelectedItemMeasurementsContext = createContext6(
|
|
9375
9484
|
null
|
|
9376
9485
|
);
|
|
@@ -9385,7 +9494,7 @@ var SelectedItemMeasurementsProvider = ({
|
|
|
9385
9494
|
}),
|
|
9386
9495
|
[selectedItemMeasurements]
|
|
9387
9496
|
);
|
|
9388
|
-
return /* @__PURE__ */
|
|
9497
|
+
return /* @__PURE__ */ jsx212(SelectedItemMeasurementsContext.Provider, { value: contextValue, children });
|
|
9389
9498
|
};
|
|
9390
9499
|
var useSelectedItemMeasurements = () => {
|
|
9391
9500
|
const context = useContext5(SelectedItemMeasurementsContext);
|
|
@@ -9399,7 +9508,7 @@ var useSelectedItemMeasurements = () => {
|
|
|
9399
9508
|
|
|
9400
9509
|
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9401
9510
|
import { useMemo as useMemo9 } from "react";
|
|
9402
|
-
import
|
|
9511
|
+
import styled47 from "styled-components";
|
|
9403
9512
|
|
|
9404
9513
|
// src/components/SegmentedControl/useSegmentedControlValue.tsx
|
|
9405
9514
|
import { createContext as createContext7, useContext as useContext6 } from "react";
|
|
@@ -9414,9 +9523,9 @@ var useSegmentedControlValue = () => {
|
|
|
9414
9523
|
};
|
|
9415
9524
|
|
|
9416
9525
|
// src/components/SegmentedControl/SelectedItemIndicator.tsx
|
|
9417
|
-
import { jsx as
|
|
9526
|
+
import { jsx as jsx213 } from "react/jsx-runtime";
|
|
9418
9527
|
var Z_INDEX_TO_SIT_BEHIND_SIBLINGS = -1;
|
|
9419
|
-
var SelectedItemIndicatorDiv =
|
|
9528
|
+
var SelectedItemIndicatorDiv = styled47.div`
|
|
9420
9529
|
background-color: var(--wui-color-bg-fill-white);
|
|
9421
9530
|
border-radius: var(--wui-border-radius-rounded);
|
|
9422
9531
|
left: 0;
|
|
@@ -9441,7 +9550,7 @@ var SelectedItemIndicator = () => {
|
|
|
9441
9550
|
if (!selectedValue) {
|
|
9442
9551
|
return null;
|
|
9443
9552
|
}
|
|
9444
|
-
return /* @__PURE__ */
|
|
9553
|
+
return /* @__PURE__ */ jsx213(
|
|
9445
9554
|
SelectedItemIndicatorDiv,
|
|
9446
9555
|
{
|
|
9447
9556
|
style: {
|
|
@@ -9454,7 +9563,7 @@ var SelectedItemIndicator = () => {
|
|
|
9454
9563
|
};
|
|
9455
9564
|
|
|
9456
9565
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
9457
|
-
import { jsx as
|
|
9566
|
+
import { jsx as jsx214, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9458
9567
|
var segmentedControlStyles = css26`
|
|
9459
9568
|
display: inline-flex;
|
|
9460
9569
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -9465,7 +9574,7 @@ var segmentedControlStyles = css26`
|
|
|
9465
9574
|
position: relative;
|
|
9466
9575
|
width: ${({ $fullWidth }) => $fullWidth ? "100%" : "auto"};
|
|
9467
9576
|
`;
|
|
9468
|
-
var StyledSegmentedControl =
|
|
9577
|
+
var StyledSegmentedControl = styled48(ToggleGroupRoot)`
|
|
9469
9578
|
${segmentedControlStyles}
|
|
9470
9579
|
`;
|
|
9471
9580
|
var SegmentedControl = forwardRef19(
|
|
@@ -9480,7 +9589,7 @@ var SegmentedControl = forwardRef19(
|
|
|
9480
9589
|
if (isNil13(children)) {
|
|
9481
9590
|
return null;
|
|
9482
9591
|
}
|
|
9483
|
-
return /* @__PURE__ */
|
|
9592
|
+
return /* @__PURE__ */ jsx214(
|
|
9484
9593
|
StyledSegmentedControl,
|
|
9485
9594
|
{
|
|
9486
9595
|
ref,
|
|
@@ -9492,8 +9601,8 @@ var SegmentedControl = forwardRef19(
|
|
|
9492
9601
|
type: "single",
|
|
9493
9602
|
value: selectedValue,
|
|
9494
9603
|
...props,
|
|
9495
|
-
children: /* @__PURE__ */
|
|
9496
|
-
/* @__PURE__ */
|
|
9604
|
+
children: /* @__PURE__ */ jsx214(SegmentedControlValueProvider, { value: selectedValue, children: /* @__PURE__ */ jsxs30(SelectedItemMeasurementsProvider, { children: [
|
|
9605
|
+
/* @__PURE__ */ jsx214(SelectedItemIndicator, {}),
|
|
9497
9606
|
children
|
|
9498
9607
|
] }) })
|
|
9499
9608
|
}
|
|
@@ -9504,26 +9613,26 @@ SegmentedControl.displayName = "SegmentedControl";
|
|
|
9504
9613
|
|
|
9505
9614
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9506
9615
|
import { forwardRef as forwardRef20, useEffect as useEffect5, useRef as useRef9 } from "react";
|
|
9507
|
-
import
|
|
9616
|
+
import styled49, { css as css27 } from "styled-components";
|
|
9508
9617
|
import { Item as ToggleGroupItem } from "@radix-ui/react-toggle-group";
|
|
9509
|
-
import { isNotNil as
|
|
9618
|
+
import { isNotNil as isNotNil19 } from "@wistia/type-guards";
|
|
9510
9619
|
|
|
9511
9620
|
// src/private/helpers/mergeRefs/mergeRefs.ts
|
|
9512
|
-
import { isNotNil as
|
|
9621
|
+
import { isNotNil as isNotNil18, isFunction } from "@wistia/type-guards";
|
|
9513
9622
|
var mergeRefs = (refs) => (value) => {
|
|
9514
9623
|
refs.forEach((ref) => {
|
|
9515
9624
|
if (isFunction(ref)) {
|
|
9516
9625
|
ref(value);
|
|
9517
9626
|
return;
|
|
9518
9627
|
}
|
|
9519
|
-
if (
|
|
9628
|
+
if (isNotNil18(ref)) {
|
|
9520
9629
|
ref.current = value;
|
|
9521
9630
|
}
|
|
9522
9631
|
});
|
|
9523
9632
|
};
|
|
9524
9633
|
|
|
9525
9634
|
// src/components/SegmentedControl/SegmentedControlItem.tsx
|
|
9526
|
-
import { jsxs as
|
|
9635
|
+
import { jsxs as jsxs31 } from "react/jsx-runtime";
|
|
9527
9636
|
var segmentedControlItemStyles = css27`
|
|
9528
9637
|
all: unset; /* ToggleGroupItem is a button element */
|
|
9529
9638
|
align-items: center;
|
|
@@ -9584,7 +9693,7 @@ var segmentedControlItemStyles = css27`
|
|
|
9584
9693
|
}
|
|
9585
9694
|
}
|
|
9586
9695
|
`;
|
|
9587
|
-
var StyledSegmentedControlItem =
|
|
9696
|
+
var StyledSegmentedControlItem = styled49(ToggleGroupItem)`
|
|
9588
9697
|
${segmentedControlItemStyles}
|
|
9589
9698
|
`;
|
|
9590
9699
|
var SegmentedControlItem = forwardRef20(
|
|
@@ -9625,12 +9734,12 @@ var SegmentedControlItem = forwardRef20(
|
|
|
9625
9734
|
resizeObserver.disconnect();
|
|
9626
9735
|
};
|
|
9627
9736
|
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9628
|
-
return /* @__PURE__ */
|
|
9737
|
+
return /* @__PURE__ */ jsxs31(
|
|
9629
9738
|
StyledSegmentedControlItem,
|
|
9630
9739
|
{
|
|
9631
9740
|
ref: combinedRef,
|
|
9632
|
-
$hasLabel:
|
|
9633
|
-
"aria-label":
|
|
9741
|
+
$hasLabel: isNotNil19(label),
|
|
9742
|
+
"aria-label": isNotNil19(label) ? void 0 : ariaLabel,
|
|
9634
9743
|
disabled,
|
|
9635
9744
|
onClick: handleClick,
|
|
9636
9745
|
value,
|
|
@@ -9647,18 +9756,18 @@ SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
|
9647
9756
|
// src/components/Tabs/Tabs.tsx
|
|
9648
9757
|
import { forwardRef as forwardRef22, useState as useState10 } from "react";
|
|
9649
9758
|
import { Root as TabsRoot } from "@radix-ui/react-tabs";
|
|
9650
|
-
import { isNotNil as
|
|
9759
|
+
import { isNotNil as isNotNil21, isNil as isNil14 } from "@wistia/type-guards";
|
|
9651
9760
|
|
|
9652
9761
|
// src/components/Tabs/TabPanel.tsx
|
|
9653
|
-
import
|
|
9762
|
+
import styled50 from "styled-components";
|
|
9654
9763
|
import { Content as TabsContent } from "@radix-ui/react-tabs";
|
|
9655
|
-
import { jsx as
|
|
9656
|
-
var StyledTabPanel =
|
|
9764
|
+
import { jsx as jsx215 } from "react/jsx-runtime";
|
|
9765
|
+
var StyledTabPanel = styled50(TabsContent)`
|
|
9657
9766
|
display: flex;
|
|
9658
9767
|
flex-direction: column;
|
|
9659
9768
|
`;
|
|
9660
9769
|
var TabPanel = ({ children, value, ...props }) => {
|
|
9661
|
-
return /* @__PURE__ */
|
|
9770
|
+
return /* @__PURE__ */ jsx215(
|
|
9662
9771
|
StyledTabPanel,
|
|
9663
9772
|
{
|
|
9664
9773
|
value,
|
|
@@ -9670,10 +9779,10 @@ var TabPanel = ({ children, value, ...props }) => {
|
|
|
9670
9779
|
TabPanel.displayName = "TabPanel";
|
|
9671
9780
|
|
|
9672
9781
|
// src/components/Tabs/TabList.tsx
|
|
9673
|
-
import
|
|
9782
|
+
import styled51 from "styled-components";
|
|
9674
9783
|
import { List as RadixTabList } from "@radix-ui/react-tabs";
|
|
9675
|
-
import { jsx as
|
|
9676
|
-
var StyledTabList =
|
|
9784
|
+
import { jsx as jsx216 } from "react/jsx-runtime";
|
|
9785
|
+
var StyledTabList = styled51(RadixTabList)`
|
|
9677
9786
|
${segmentedControlStyles}
|
|
9678
9787
|
|
|
9679
9788
|
margin-bottom: var(--wui-space-04);
|
|
@@ -9684,7 +9793,7 @@ var TabList = ({
|
|
|
9684
9793
|
ariaLabel,
|
|
9685
9794
|
...props
|
|
9686
9795
|
}) => {
|
|
9687
|
-
return /* @__PURE__ */
|
|
9796
|
+
return /* @__PURE__ */ jsx216(
|
|
9688
9797
|
StyledTabList,
|
|
9689
9798
|
{
|
|
9690
9799
|
$fullWidth: fullWidth,
|
|
@@ -9698,9 +9807,9 @@ TabList.displayName = "TabList";
|
|
|
9698
9807
|
|
|
9699
9808
|
// src/components/Tabs/TabItem.tsx
|
|
9700
9809
|
import { forwardRef as forwardRef21, useEffect as useEffect6, useRef as useRef10 } from "react";
|
|
9701
|
-
import
|
|
9810
|
+
import styled52 from "styled-components";
|
|
9702
9811
|
import { Trigger as RadixTab } from "@radix-ui/react-tabs";
|
|
9703
|
-
import { isNotNil as
|
|
9812
|
+
import { isNotNil as isNotNil20 } from "@wistia/type-guards";
|
|
9704
9813
|
|
|
9705
9814
|
// src/components/Tabs/useTabsValue.tsx
|
|
9706
9815
|
import { createContext as createContext8, useContext as useContext7 } from "react";
|
|
@@ -9715,8 +9824,8 @@ var useTabsValue = () => {
|
|
|
9715
9824
|
};
|
|
9716
9825
|
|
|
9717
9826
|
// src/components/Tabs/TabItem.tsx
|
|
9718
|
-
import { jsxs as
|
|
9719
|
-
var StyledTabItem =
|
|
9827
|
+
import { jsxs as jsxs32 } from "react/jsx-runtime";
|
|
9828
|
+
var StyledTabItem = styled52(RadixTab)`
|
|
9720
9829
|
${segmentedControlItemStyles}
|
|
9721
9830
|
|
|
9722
9831
|
&:focus-visible {
|
|
@@ -9754,12 +9863,12 @@ var TabItem = forwardRef21(
|
|
|
9754
9863
|
resizeObserver.disconnect();
|
|
9755
9864
|
};
|
|
9756
9865
|
}, [selectedValue, setSelectedItemMeasurements, value]);
|
|
9757
|
-
return /* @__PURE__ */
|
|
9866
|
+
return /* @__PURE__ */ jsxs32(
|
|
9758
9867
|
StyledTabItem,
|
|
9759
9868
|
{
|
|
9760
9869
|
ref: combinedRef,
|
|
9761
|
-
$hasLabel:
|
|
9762
|
-
"aria-label":
|
|
9870
|
+
$hasLabel: isNotNil20(label),
|
|
9871
|
+
"aria-label": isNotNil20(label) ? void 0 : ariaLabel,
|
|
9763
9872
|
disabled,
|
|
9764
9873
|
value,
|
|
9765
9874
|
children: [
|
|
@@ -9773,7 +9882,7 @@ var TabItem = forwardRef21(
|
|
|
9773
9882
|
TabItem.displayName = "TabItem";
|
|
9774
9883
|
|
|
9775
9884
|
// src/components/Tabs/extractTabItems.ts
|
|
9776
|
-
import { Children as Children6, Fragment as
|
|
9885
|
+
import { Children as Children6, Fragment as Fragment7, isValidElement as isValidElement2 } from "react";
|
|
9777
9886
|
var extractTabItems = (children) => {
|
|
9778
9887
|
const tabItems = [];
|
|
9779
9888
|
Children6.forEach(children, (child) => {
|
|
@@ -9782,7 +9891,7 @@ var extractTabItems = (children) => {
|
|
|
9782
9891
|
}
|
|
9783
9892
|
if (typeof child.type !== "string" && child.type.displayName === "Tab") {
|
|
9784
9893
|
tabItems.push(child);
|
|
9785
|
-
} else if (child.type ===
|
|
9894
|
+
} else if (child.type === Fragment7) {
|
|
9786
9895
|
const fragmentElement = child;
|
|
9787
9896
|
tabItems.push(...extractTabItems(fragmentElement.props.children));
|
|
9788
9897
|
} else if ((child.props.children ?? null) != null) {
|
|
@@ -9796,9 +9905,9 @@ var extractTabItems = (children) => {
|
|
|
9796
9905
|
|
|
9797
9906
|
// src/components/Tabs/SelectedItemIndicator.tsx
|
|
9798
9907
|
import { useMemo as useMemo10 } from "react";
|
|
9799
|
-
import
|
|
9800
|
-
import { jsx as
|
|
9801
|
-
var TabsSelectedItemIndicatorDiv =
|
|
9908
|
+
import styled53 from "styled-components";
|
|
9909
|
+
import { jsx as jsx217 } from "react/jsx-runtime";
|
|
9910
|
+
var TabsSelectedItemIndicatorDiv = styled53(SelectedItemIndicatorDiv)`
|
|
9802
9911
|
&:has(~ ${StyledTabItem}:focus-visible) {
|
|
9803
9912
|
outline: 2px solid var(--wui-color-focus-ring);
|
|
9804
9913
|
}
|
|
@@ -9817,7 +9926,7 @@ var SelectedItemIndicator2 = () => {
|
|
|
9817
9926
|
if (selectedValue == null) {
|
|
9818
9927
|
return null;
|
|
9819
9928
|
}
|
|
9820
|
-
return /* @__PURE__ */
|
|
9929
|
+
return /* @__PURE__ */ jsx217(
|
|
9821
9930
|
TabsSelectedItemIndicatorDiv,
|
|
9822
9931
|
{
|
|
9823
9932
|
style: {
|
|
@@ -9830,7 +9939,7 @@ var SelectedItemIndicator2 = () => {
|
|
|
9830
9939
|
};
|
|
9831
9940
|
|
|
9832
9941
|
// src/components/Tabs/Tabs.tsx
|
|
9833
|
-
import { jsx as
|
|
9942
|
+
import { jsx as jsx218, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
9834
9943
|
var Tabs = forwardRef22(
|
|
9835
9944
|
({
|
|
9836
9945
|
children,
|
|
@@ -9847,25 +9956,25 @@ var Tabs = forwardRef22(
|
|
|
9847
9956
|
defaultValue: defaultSelectedValue,
|
|
9848
9957
|
onValueChange: setInternalSelectedValue
|
|
9849
9958
|
} : { value: selectedValue, onValueChange: onSelectedValueChange };
|
|
9850
|
-
return /* @__PURE__ */
|
|
9959
|
+
return /* @__PURE__ */ jsx218(
|
|
9851
9960
|
TabsRoot,
|
|
9852
9961
|
{
|
|
9853
9962
|
ref,
|
|
9854
9963
|
activationMode: "automatic",
|
|
9855
9964
|
...otherProps,
|
|
9856
9965
|
...modeProps,
|
|
9857
|
-
children: /* @__PURE__ */
|
|
9966
|
+
children: /* @__PURE__ */ jsx218(
|
|
9858
9967
|
TabsValueProvider,
|
|
9859
9968
|
{
|
|
9860
9969
|
value: defaultSelectedValue !== void 0 ? internalSelectedValue : selectedValue,
|
|
9861
|
-
children: /* @__PURE__ */
|
|
9862
|
-
/* @__PURE__ */
|
|
9970
|
+
children: /* @__PURE__ */ jsxs33(SelectedItemMeasurementsProvider, { children: [
|
|
9971
|
+
/* @__PURE__ */ jsxs33(
|
|
9863
9972
|
TabList,
|
|
9864
9973
|
{
|
|
9865
9974
|
ariaLabel,
|
|
9866
9975
|
fullWidth,
|
|
9867
9976
|
children: [
|
|
9868
|
-
/* @__PURE__ */
|
|
9977
|
+
/* @__PURE__ */ jsx218(SelectedItemIndicator2, {}),
|
|
9869
9978
|
tabItems.map((tab) => {
|
|
9870
9979
|
const {
|
|
9871
9980
|
value,
|
|
@@ -9875,7 +9984,7 @@ var Tabs = forwardRef22(
|
|
|
9875
9984
|
"aria-label": ariaLabelForTab
|
|
9876
9985
|
} = tab.props;
|
|
9877
9986
|
if (isNil14(icon)) {
|
|
9878
|
-
return /* @__PURE__ */
|
|
9987
|
+
return /* @__PURE__ */ jsx218(
|
|
9879
9988
|
TabItem,
|
|
9880
9989
|
{
|
|
9881
9990
|
disabled,
|
|
@@ -9885,8 +9994,8 @@ var Tabs = forwardRef22(
|
|
|
9885
9994
|
value
|
|
9886
9995
|
);
|
|
9887
9996
|
}
|
|
9888
|
-
if (
|
|
9889
|
-
return /* @__PURE__ */
|
|
9997
|
+
if (isNotNil21(label)) {
|
|
9998
|
+
return /* @__PURE__ */ jsx218(
|
|
9890
9999
|
TabItem,
|
|
9891
10000
|
{
|
|
9892
10001
|
disabled,
|
|
@@ -9897,8 +10006,8 @@ var Tabs = forwardRef22(
|
|
|
9897
10006
|
value
|
|
9898
10007
|
);
|
|
9899
10008
|
}
|
|
9900
|
-
if (
|
|
9901
|
-
return /* @__PURE__ */
|
|
10009
|
+
if (isNotNil21(ariaLabelForTab)) {
|
|
10010
|
+
return /* @__PURE__ */ jsx218(
|
|
9902
10011
|
TabItem,
|
|
9903
10012
|
{
|
|
9904
10013
|
"aria-label": ariaLabelForTab,
|
|
@@ -9914,7 +10023,7 @@ var Tabs = forwardRef22(
|
|
|
9914
10023
|
]
|
|
9915
10024
|
}
|
|
9916
10025
|
),
|
|
9917
|
-
tabItems.map((tab) => /* @__PURE__ */
|
|
10026
|
+
tabItems.map((tab) => /* @__PURE__ */ jsx218(
|
|
9918
10027
|
TabPanel,
|
|
9919
10028
|
{
|
|
9920
10029
|
value: tab.props.value,
|
|
@@ -9933,18 +10042,18 @@ Tabs.displayName = "Tabs";
|
|
|
9933
10042
|
|
|
9934
10043
|
// src/components/Tabs/Tab.tsx
|
|
9935
10044
|
import { forwardRef as forwardRef23 } from "react";
|
|
9936
|
-
import { jsx as
|
|
10045
|
+
import { jsx as jsx219 } from "react/jsx-runtime";
|
|
9937
10046
|
var Tab = forwardRef23(({ children }, ref) => {
|
|
9938
|
-
return /* @__PURE__ */
|
|
10047
|
+
return /* @__PURE__ */ jsx219("div", { ref, children });
|
|
9939
10048
|
});
|
|
9940
10049
|
Tab.displayName = "Tab";
|
|
9941
10050
|
|
|
9942
10051
|
// src/components/Tag/Tag.tsx
|
|
9943
10052
|
import { forwardRef as forwardRef24 } from "react";
|
|
9944
|
-
import
|
|
9945
|
-
import { isNil as isNil15, isNotNil as
|
|
9946
|
-
import { Fragment as
|
|
9947
|
-
var TagLabel =
|
|
10053
|
+
import styled54 from "styled-components";
|
|
10054
|
+
import { isNil as isNil15, isNotNil as isNotNil22, isNonEmptyString as isNonEmptyString4 } from "@wistia/type-guards";
|
|
10055
|
+
import { Fragment as Fragment8, jsx as jsx220, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10056
|
+
var TagLabel = styled54.a`
|
|
9948
10057
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9949
10058
|
font-size: var(--wui-typography-label-4-size);
|
|
9950
10059
|
font-weight: var(--wui-typography-label-4-weight);
|
|
@@ -9972,14 +10081,14 @@ var TagLabel = styled53.a`
|
|
|
9972
10081
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
9973
10082
|
}
|
|
9974
10083
|
`;
|
|
9975
|
-
var TagDivider =
|
|
10084
|
+
var TagDivider = styled54.div`
|
|
9976
10085
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9977
10086
|
border-left: 1px solid var(--wui-color-border);
|
|
9978
10087
|
display: flex;
|
|
9979
10088
|
height: 14px;
|
|
9980
10089
|
width: 1px;
|
|
9981
10090
|
`;
|
|
9982
|
-
var StyledRemoveButton =
|
|
10091
|
+
var StyledRemoveButton = styled54.button`
|
|
9983
10092
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
9984
10093
|
all: unset;
|
|
9985
10094
|
cursor: pointer;
|
|
@@ -10007,7 +10116,7 @@ var StyledRemoveButton = styled53.button`
|
|
|
10007
10116
|
box-shadow: inset 0 0 0 2px var(--wui-color-border-secondary);
|
|
10008
10117
|
}
|
|
10009
10118
|
`;
|
|
10010
|
-
var StyledTag =
|
|
10119
|
+
var StyledTag = styled54.div`
|
|
10011
10120
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
10012
10121
|
align-items: center;
|
|
10013
10122
|
background-color: var(--wui-color-bg-surface-secondary);
|
|
@@ -10028,23 +10137,23 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
10028
10137
|
"for accessibility, onClickRemoveLabel must be provided if onClickRemove is provided"
|
|
10029
10138
|
);
|
|
10030
10139
|
}
|
|
10031
|
-
return /* @__PURE__ */
|
|
10032
|
-
/* @__PURE__ */
|
|
10033
|
-
/* @__PURE__ */
|
|
10140
|
+
return /* @__PURE__ */ jsxs34(Fragment8, { children: [
|
|
10141
|
+
/* @__PURE__ */ jsx220(TagDivider, { $colorScheme: colorScheme }),
|
|
10142
|
+
/* @__PURE__ */ jsxs34(
|
|
10034
10143
|
StyledRemoveButton,
|
|
10035
10144
|
{
|
|
10036
10145
|
$colorScheme: colorScheme,
|
|
10037
10146
|
onClick: onClickRemove,
|
|
10038
10147
|
type: "button",
|
|
10039
10148
|
children: [
|
|
10040
|
-
/* @__PURE__ */
|
|
10149
|
+
/* @__PURE__ */ jsx220(
|
|
10041
10150
|
Icon,
|
|
10042
10151
|
{
|
|
10043
10152
|
size: "sm",
|
|
10044
10153
|
type: "close"
|
|
10045
10154
|
}
|
|
10046
10155
|
),
|
|
10047
|
-
/* @__PURE__ */
|
|
10156
|
+
/* @__PURE__ */ jsx220(ScreenReaderOnly, { children: onClickRemoveLabel })
|
|
10048
10157
|
]
|
|
10049
10158
|
}
|
|
10050
10159
|
)
|
|
@@ -10052,15 +10161,15 @@ var RemoveButton = ({ onClickRemove, onClickRemoveLabel, colorScheme }) => {
|
|
|
10052
10161
|
};
|
|
10053
10162
|
var Tag = forwardRef24(
|
|
10054
10163
|
({ onClickRemove, colorScheme = "inherit", href, label, onClickRemoveLabel, ...otherProps }, ref) => {
|
|
10055
|
-
const labelProps =
|
|
10056
|
-
return /* @__PURE__ */
|
|
10164
|
+
const labelProps = isNotNil22(href) && isNonEmptyString4(href) ? { href, as: "a" } : { as: "span" };
|
|
10165
|
+
return /* @__PURE__ */ jsxs34(
|
|
10057
10166
|
StyledTag,
|
|
10058
10167
|
{
|
|
10059
10168
|
ref,
|
|
10060
10169
|
$colorScheme: colorScheme,
|
|
10061
10170
|
...otherProps,
|
|
10062
10171
|
children: [
|
|
10063
|
-
/* @__PURE__ */
|
|
10172
|
+
/* @__PURE__ */ jsx220(
|
|
10064
10173
|
TagLabel,
|
|
10065
10174
|
{
|
|
10066
10175
|
...labelProps,
|
|
@@ -10068,7 +10177,7 @@ var Tag = forwardRef24(
|
|
|
10068
10177
|
children: label
|
|
10069
10178
|
}
|
|
10070
10179
|
),
|
|
10071
|
-
/* @__PURE__ */
|
|
10180
|
+
/* @__PURE__ */ jsx220(
|
|
10072
10181
|
RemoveButton,
|
|
10073
10182
|
{
|
|
10074
10183
|
colorScheme,
|
|
@@ -10084,26 +10193,26 @@ var Tag = forwardRef24(
|
|
|
10084
10193
|
Tag.displayName = "Tag";
|
|
10085
10194
|
|
|
10086
10195
|
// src/components/WistiaLogo/WistiaLogo.tsx
|
|
10087
|
-
import
|
|
10088
|
-
import { isNotNil as
|
|
10089
|
-
import { jsx as
|
|
10196
|
+
import styled55 from "styled-components";
|
|
10197
|
+
import { isNotNil as isNotNil23 } from "@wistia/type-guards";
|
|
10198
|
+
import { jsx as jsx221, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10090
10199
|
var renderBrandmark = (brandmarkColor, iconOnly) => {
|
|
10091
10200
|
if (iconOnly) {
|
|
10092
|
-
return /* @__PURE__ */
|
|
10201
|
+
return /* @__PURE__ */ jsx221(
|
|
10093
10202
|
"g",
|
|
10094
10203
|
{
|
|
10095
10204
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10096
10205
|
fill: brandmarkColor,
|
|
10097
|
-
children: /* @__PURE__ */
|
|
10206
|
+
children: /* @__PURE__ */ jsx221("path", { d: "M16.09 17.1h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 26.53c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87ZM32.14 0c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
10098
10207
|
}
|
|
10099
10208
|
);
|
|
10100
10209
|
}
|
|
10101
|
-
return /* @__PURE__ */
|
|
10210
|
+
return /* @__PURE__ */ jsx221(
|
|
10102
10211
|
"g",
|
|
10103
10212
|
{
|
|
10104
10213
|
"data-testid": "ui-wistia-logo-brandmark",
|
|
10105
10214
|
fill: brandmarkColor,
|
|
10106
|
-
children: /* @__PURE__ */
|
|
10215
|
+
children: /* @__PURE__ */ jsx221("path", { d: "M16.09 21.37h-5.2c-1.58 0-3.08.68-4.11 1.87L.21 30.8c4.78.25 9.78.25 13.3.25 18.31 0 20.89-11.27 20.89-16.55-1.59 1.93-6.06 6.87-18.32 6.87Zm16.05-17.1c-.08.92-.59 4.69-11.31 4.69-8.72 0-12.24 0-20.83-.17l6.44 7.4a6.657 6.657 0 0 0 4.96 2.3c2.13.03 5.05.06 5.53.06 11.01 0 17.19-5.05 17.19-9.89 0-2.01-.67-3.44-1.97-4.4Z" })
|
|
10107
10216
|
}
|
|
10108
10217
|
);
|
|
10109
10218
|
};
|
|
@@ -10111,12 +10220,12 @@ var renderLogotype = (logotypeColor, iconOnly) => {
|
|
|
10111
10220
|
if (iconOnly) {
|
|
10112
10221
|
return null;
|
|
10113
10222
|
}
|
|
10114
|
-
return /* @__PURE__ */
|
|
10223
|
+
return /* @__PURE__ */ jsx221(
|
|
10115
10224
|
"g",
|
|
10116
10225
|
{
|
|
10117
10226
|
"data-testid": "ui-wistia-logo-logotype",
|
|
10118
10227
|
fill: logotypeColor,
|
|
10119
|
-
children: /* @__PURE__ */
|
|
10228
|
+
children: /* @__PURE__ */ jsx221("path", { d: "M70.16 8.66v15.18c0 1.68-.35 3.09-1.05 4.23a6.612 6.612 0 0 1-2.85 2.54c-1.19.55-2.52.82-4.01.82s-2.8-.28-4.01-.85a6.655 6.655 0 0 1-3.11-2.96c-.08.15-.16.29-.24.42a6.552 6.552 0 0 1-2.87 2.54c-1.2.56-2.54.85-4.01.85s-2.8-.27-3.94-.82a6.214 6.214 0 0 1-2.71-2.52c-.67-1.14-1.01-2.56-1.02-4.25l-.22-15.18h7.34V22.3c0 .82.19 1.37.56 1.67.39.28.85.42 1.38.42s1.02-.15 1.45-.45c.43-.3.65-.85.65-1.65V8.65h7.3v13.64c0 .8.22 1.35.65 1.65.43.3.91.45 1.45.45s.99-.14 1.36-.42c.39-.3.58-.85.58-1.67V8.66h7.34Zm2.45 0v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89A3.43 3.43 0 0 0 78.28.44c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.13 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm8.86 1.96c-1.42.4-2.6 1.11-3.54 2.14-.93 1.02-1.4 2.4-1.4 4.12 0 1.11.17 2.09.51 2.94.36.85.82 1.62 1.38 2.34.22.28.55.65.98 1.11.37.4.64.72.8.96.18.24.27.47.27.69 0 .5-.4.87-1.2 1.09-.8.21-1.62.31-2.47.31-.1-.01-.22-.02-.33-.02l1.02 6.94c.42.07.92.11 1.51.11 1.9 0 3.6-.28 5.1-.85 1.5-.56 2.68-1.42 3.54-2.56.88-1.14 1.31-2.55 1.31-4.23 0-.68-.07-1.31-.22-1.87-.13-.58-.32-1.09-.56-1.54a6.64 6.64 0 0 0-.8-1.27c-.3-.37-.74-.82-1.34-1.36-.39-.33-.67-.59-.85-.8-.18-.22-.27-.45-.27-.67 0-.46.26-.79.78-.98.53-.19 1.17-.29 1.91-.29.25 0 .51.01.78.04l-.71-6.88a10.4 10.4 0 0 0-1.56-.11c-1.66 0-3.21.21-4.65.62Zm19.54 15.71c-.99 0-1.71-.23-2.14-.69-.42-.47-.62-1.18-.62-2.11v-6.57h4.21V8.66h-4.21V3.38l-7.34 1.85V24.1c0 2.45.47 4.29 1.4 5.52.95 1.22 2.45 1.83 4.49 1.83.95 0 1.86-.07 2.74-.22.88-.13 1.62-.34 2.25-.62l1.38-6.3c-.55.1-1.27.16-2.16.16Zm4.13-15.8v22.26h7.34V8.66h-7.34Zm5.67-1.87c.61-.3 1.08-.71 1.42-1.25.36-.55.53-1.19.53-1.94s-.18-1.34-.53-1.89a3.43 3.43 0 0 0-1.42-1.27c-.59-.3-1.25-.45-1.98-.45s-1.42.15-2.02.45c-.59.3-1.07.72-1.42 1.27-.36.55-.53 1.18-.53 1.89 0 1.1.38 1.97 1.14 2.63.76.65 1.71.98 2.85.98.73 0 1.39-.14 1.98-.42Zm27.51 1.87v22.26h-7.34v-2.28c-.41.43-.85.83-1.34 1.19-1.44 1.07-3.12 1.6-5.05 1.6s-3.61-.52-5.1-1.56c-1.48-1.05-2.63-2.47-3.45-4.25-.82-1.78-1.22-3.73-1.22-5.85s.41-4.07 1.22-5.83c.82-1.78 1.97-3.19 3.45-4.23 1.48-1.05 3.18-1.58 5.1-1.58s3.61.53 5.05 1.6c.48.36.93.75 1.34 1.19V8.66h7.34Zm-7.1 11.11c0-.8-.19-1.53-.56-2.18-.37-.67-.88-1.19-1.54-1.58-.64-.39-1.34-.58-2.09-.58s-1.45.19-2.09.58c-.64.39-1.15.91-1.54 1.58-.37.67-.56 1.39-.56 2.18s.19 1.51.56 2.18c.39.67.9 1.19 1.54 1.58.64.39 1.34.58 2.09.58s1.45-.19 2.09-.58c.65-.39 1.16-.91 1.54-1.56.37-.67.56-1.4.56-2.2Z" })
|
|
10120
10229
|
}
|
|
10121
10230
|
);
|
|
10122
10231
|
};
|
|
@@ -10126,7 +10235,7 @@ var computedViewBox = (iconOnly) => {
|
|
|
10126
10235
|
}
|
|
10127
10236
|
return "0 0 144 31.47";
|
|
10128
10237
|
};
|
|
10129
|
-
var WistiaLogoComponent =
|
|
10238
|
+
var WistiaLogoComponent = styled55.svg`
|
|
10130
10239
|
height: ${({ height }) => `${height}px`};
|
|
10131
10240
|
|
|
10132
10241
|
/* ensure it will always fit on mobile */
|
|
@@ -10168,7 +10277,7 @@ var WistiaLogo = ({
|
|
|
10168
10277
|
};
|
|
10169
10278
|
const brandmarkColor = VARIANT_COLORS[variant].brandmark;
|
|
10170
10279
|
const logotypeColor = VARIANT_COLORS[variant].logotype;
|
|
10171
|
-
const Logo = /* @__PURE__ */
|
|
10280
|
+
const Logo = /* @__PURE__ */ jsxs35(
|
|
10172
10281
|
WistiaLogoComponent,
|
|
10173
10282
|
{
|
|
10174
10283
|
$hoverColor: hoverColor,
|
|
@@ -10178,32 +10287,32 @@ var WistiaLogo = ({
|
|
|
10178
10287
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10179
10288
|
...otherProps,
|
|
10180
10289
|
children: [
|
|
10181
|
-
/* @__PURE__ */
|
|
10182
|
-
|
|
10290
|
+
/* @__PURE__ */ jsx221("title", { children: title }),
|
|
10291
|
+
isNotNil23(description) ? /* @__PURE__ */ jsx221("desc", { children: description }) : null,
|
|
10183
10292
|
renderBrandmark(brandmarkColor, iconOnly),
|
|
10184
10293
|
renderLogotype(logotypeColor, iconOnly)
|
|
10185
10294
|
]
|
|
10186
10295
|
}
|
|
10187
10296
|
);
|
|
10188
|
-
return href !== void 0 ? /* @__PURE__ */
|
|
10297
|
+
return href !== void 0 ? /* @__PURE__ */ jsx221("a", { href, children: Logo }) : Logo;
|
|
10189
10298
|
};
|
|
10190
10299
|
WistiaLogo.displayName = "WistiaLogo";
|
|
10191
10300
|
|
|
10192
10301
|
// src/components/Select/Select.tsx
|
|
10193
10302
|
import {
|
|
10194
|
-
Root as
|
|
10195
|
-
Trigger as
|
|
10196
|
-
Portal as
|
|
10197
|
-
Content as
|
|
10303
|
+
Root as Root4,
|
|
10304
|
+
Trigger as Trigger4,
|
|
10305
|
+
Portal as Portal3,
|
|
10306
|
+
Content as Content4,
|
|
10198
10307
|
ScrollUpButton,
|
|
10199
10308
|
Viewport,
|
|
10200
10309
|
Value,
|
|
10201
10310
|
ScrollDownButton
|
|
10202
10311
|
} from "@radix-ui/react-select";
|
|
10203
10312
|
import { forwardRef as forwardRef25 } from "react";
|
|
10204
|
-
import
|
|
10205
|
-
import { jsx as
|
|
10206
|
-
var StyledTrigger =
|
|
10313
|
+
import styled56 from "styled-components";
|
|
10314
|
+
import { jsx as jsx222, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
10315
|
+
var StyledTrigger = styled56(Trigger4)`
|
|
10207
10316
|
${({ $colorScheme }) => getColorScheme($colorScheme)};
|
|
10208
10317
|
--wui-select-color-bg: var(--wui-color-bg-surface);
|
|
10209
10318
|
--wui-select-color-bg-disabled: var(--wui-color-bg-surface-disabled);
|
|
@@ -10244,7 +10353,7 @@ var StyledTrigger = styled55(Trigger3)`
|
|
|
10244
10353
|
background-color: var(--wui-color-bg-surface-disabled);
|
|
10245
10354
|
}
|
|
10246
10355
|
`;
|
|
10247
|
-
var
|
|
10356
|
+
var StyledContent3 = styled56(Content4)`
|
|
10248
10357
|
--wui-select-content-border: var(--wui-color-border);
|
|
10249
10358
|
--wui-select-content-bg: var(--wui-color-bg-surface);
|
|
10250
10359
|
--wui-select-content-border-radius: var(--wui-border-radius-02);
|
|
@@ -10259,6 +10368,7 @@ var StyledContent2 = styled55(Content3)`
|
|
|
10259
10368
|
border-radius: var(--wui-select-content-border-radius);
|
|
10260
10369
|
padding: var(--wui-select-option-padding);
|
|
10261
10370
|
min-width: 200px;
|
|
10371
|
+
z-index: var(--wui-zindex-menu);
|
|
10262
10372
|
`;
|
|
10263
10373
|
var Select = forwardRef25(
|
|
10264
10374
|
({
|
|
@@ -10270,13 +10380,13 @@ var Select = forwardRef25(
|
|
|
10270
10380
|
...props
|
|
10271
10381
|
}, forwardedRef) => {
|
|
10272
10382
|
const responsiveFullWidth = useResponsiveProp(fullWidth);
|
|
10273
|
-
return /* @__PURE__ */
|
|
10274
|
-
|
|
10383
|
+
return /* @__PURE__ */ jsxs36(
|
|
10384
|
+
Root4,
|
|
10275
10385
|
{
|
|
10276
10386
|
...props,
|
|
10277
10387
|
onValueChange: onChange,
|
|
10278
10388
|
children: [
|
|
10279
|
-
/* @__PURE__ */
|
|
10389
|
+
/* @__PURE__ */ jsxs36(
|
|
10280
10390
|
StyledTrigger,
|
|
10281
10391
|
{
|
|
10282
10392
|
ref: forwardedRef,
|
|
@@ -10284,8 +10394,8 @@ var Select = forwardRef25(
|
|
|
10284
10394
|
$fullWidth: responsiveFullWidth,
|
|
10285
10395
|
...props,
|
|
10286
10396
|
children: [
|
|
10287
|
-
/* @__PURE__ */
|
|
10288
|
-
/* @__PURE__ */
|
|
10397
|
+
/* @__PURE__ */ jsx222(Value, { placeholder }),
|
|
10398
|
+
/* @__PURE__ */ jsx222(
|
|
10289
10399
|
Icon,
|
|
10290
10400
|
{
|
|
10291
10401
|
size: "md",
|
|
@@ -10295,10 +10405,10 @@ var Select = forwardRef25(
|
|
|
10295
10405
|
]
|
|
10296
10406
|
}
|
|
10297
10407
|
),
|
|
10298
|
-
/* @__PURE__ */
|
|
10299
|
-
/* @__PURE__ */
|
|
10300
|
-
/* @__PURE__ */
|
|
10301
|
-
/* @__PURE__ */
|
|
10408
|
+
/* @__PURE__ */ jsx222(Portal3, { children: /* @__PURE__ */ jsxs36(StyledContent3, { position: "popper", children: [
|
|
10409
|
+
/* @__PURE__ */ jsx222(ScrollUpButton, { children: /* @__PURE__ */ jsx222(Icon, { type: "caret-up" }) }),
|
|
10410
|
+
/* @__PURE__ */ jsx222(Viewport, { children }),
|
|
10411
|
+
/* @__PURE__ */ jsx222(ScrollDownButton, { children: /* @__PURE__ */ jsx222(Icon, { type: "caret-down" }) })
|
|
10302
10412
|
] }) })
|
|
10303
10413
|
]
|
|
10304
10414
|
}
|
|
@@ -10310,9 +10420,9 @@ Select.displayName = "Select";
|
|
|
10310
10420
|
// src/components/Select/SelectOption.tsx
|
|
10311
10421
|
import { Item, ItemText, ItemIndicator } from "@radix-ui/react-select";
|
|
10312
10422
|
import { forwardRef as forwardRef26 } from "react";
|
|
10313
|
-
import
|
|
10314
|
-
import { jsx as
|
|
10315
|
-
var StyledItem =
|
|
10423
|
+
import styled57 from "styled-components";
|
|
10424
|
+
import { jsx as jsx223, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
10425
|
+
var StyledItem = styled57(Item)`
|
|
10316
10426
|
${variantStyleMap2.body3};
|
|
10317
10427
|
display: flex;
|
|
10318
10428
|
padding: var(--wui-select-option-padding);
|
|
@@ -10335,25 +10445,25 @@ var StyledItem = styled56(Item)`
|
|
|
10335
10445
|
background-color: transparent;
|
|
10336
10446
|
}
|
|
10337
10447
|
`;
|
|
10338
|
-
var StyledIconContainer =
|
|
10448
|
+
var StyledIconContainer = styled57.span`
|
|
10339
10449
|
width: 12px;
|
|
10340
10450
|
`;
|
|
10341
10451
|
var SelectOption = forwardRef26(
|
|
10342
10452
|
({ children, ...props }, forwardedRef) => {
|
|
10343
|
-
return /* @__PURE__ */
|
|
10453
|
+
return /* @__PURE__ */ jsxs37(
|
|
10344
10454
|
StyledItem,
|
|
10345
10455
|
{
|
|
10346
10456
|
...props,
|
|
10347
10457
|
ref: forwardedRef,
|
|
10348
10458
|
children: [
|
|
10349
|
-
/* @__PURE__ */
|
|
10459
|
+
/* @__PURE__ */ jsx223(StyledIconContainer, { children: /* @__PURE__ */ jsx223(ItemIndicator, { children: /* @__PURE__ */ jsx223(
|
|
10350
10460
|
Icon,
|
|
10351
10461
|
{
|
|
10352
10462
|
size: "sm",
|
|
10353
10463
|
type: "checkmark"
|
|
10354
10464
|
}
|
|
10355
10465
|
) }) }),
|
|
10356
|
-
/* @__PURE__ */
|
|
10466
|
+
/* @__PURE__ */ jsx223(ItemText, { children })
|
|
10357
10467
|
]
|
|
10358
10468
|
}
|
|
10359
10469
|
);
|
|
@@ -10363,14 +10473,14 @@ SelectOption.displayName = "Option";
|
|
|
10363
10473
|
|
|
10364
10474
|
// src/components/Select/SelectOptionGroup.tsx
|
|
10365
10475
|
import { Group, Label as Label2 } from "@radix-ui/react-select";
|
|
10366
|
-
import
|
|
10367
|
-
import { jsx as
|
|
10368
|
-
var StyledLabel4 =
|
|
10476
|
+
import styled58 from "styled-components";
|
|
10477
|
+
import { jsx as jsx224, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
10478
|
+
var StyledLabel4 = styled58(Label2)`
|
|
10369
10479
|
padding: var(--wui-select-option-padding);
|
|
10370
10480
|
`;
|
|
10371
10481
|
var SelectOptionGroup = ({ children, label, ...props }) => {
|
|
10372
|
-
return /* @__PURE__ */
|
|
10373
|
-
/* @__PURE__ */
|
|
10482
|
+
return /* @__PURE__ */ jsxs38(Group, { ...props, children: [
|
|
10483
|
+
/* @__PURE__ */ jsx224(StyledLabel4, { children: /* @__PURE__ */ jsx224(
|
|
10374
10484
|
Text,
|
|
10375
10485
|
{
|
|
10376
10486
|
prominence: "secondary",
|
|
@@ -10421,6 +10531,7 @@ export {
|
|
|
10421
10531
|
MenuLabel,
|
|
10422
10532
|
MenuRadioGroup,
|
|
10423
10533
|
Modal,
|
|
10534
|
+
Popover,
|
|
10424
10535
|
Radio,
|
|
10425
10536
|
RadioGroup,
|
|
10426
10537
|
RadioMenuItem,
|