@wistia/ui 0.26.1 → 0.26.2-beta.9d6c1958.2a8d7b2

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.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.26.1
3
+ * @license @wistia/ui v0.26.2-beta.9d6c1958.2a8d7b2
4
4
  *
5
5
  * Copyright (c) 2024-2026, Wistia, Inc. and its affiliates.
6
6
  *
@@ -1956,6 +1956,22 @@ const solidButtonVariant = css`
1956
1956
  --button-color-text: var(--wui-color-text-on-fill);
1957
1957
  --button-color-icon: var(--wui-color-icon-on-fill);
1958
1958
  `;
1959
+ const disabledButtonVariant = css`
1960
+ --button-color-bg: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
1961
+ --button-color-bg-hover: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
1962
+ --button-color-bg-active: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
1963
+ --button-color-text: var(--wui-color-text-disabled);
1964
+ --button-color-icon: var(--wui-color-icon-disabled);
1965
+ --button-color-border: var(--wui-color-border-disabled);
1966
+ `;
1967
+ const pressedButtonVariant = css`
1968
+ --button-color-bg: var(--wui-color-bg-surface-selected);
1969
+ --button-color-bg-hover: var(--wui-color-bg-surface-selected-hover);
1970
+ --button-color-bg-active: var(--wui-color-bg-surface-selected-active);
1971
+ --button-color-text: var(--wui-color-text-selected);
1972
+ --button-color-icon: var(--wui-color-icon-selected);
1973
+ --button-color-border: var(--wui-color-border-selected);
1974
+ `;
1959
1975
  const buttonBaseStyles = css`
1960
1976
  border-radius: var(--wui-border-radius-rounded);
1961
1977
  font-family: var(--button-typography-family);
@@ -2009,25 +2025,11 @@ const buttonBaseStyles = css`
2009
2025
  }
2010
2026
 
2011
2027
  &[aria-disabled='true'] {
2012
- ${css`
2013
- --button-color-bg: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
2014
- --button-color-bg-hover: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
2015
- --button-color-bg-active: var(--button-color-bg-override, var(--wui-color-bg-surface-disabled));
2016
- --button-color-text: var(--wui-color-text-disabled);
2017
- --button-color-icon: var(--wui-color-icon-disabled);
2018
- --button-color-border: var(--wui-color-border-disabled);
2019
- `};
2028
+ ${disabledButtonVariant};
2020
2029
  }
2021
2030
 
2022
2031
  &[aria-pressed='true'] {
2023
- ${css`
2024
- --button-color-bg: var(--wui-color-bg-surface-selected);
2025
- --button-color-bg-hover: var(--wui-color-bg-surface-selected-hover);
2026
- --button-color-bg-active: var(--wui-color-bg-surface-selected-active);
2027
- --button-color-text: var(--wui-color-text-selected);
2028
- --button-color-icon: var(--wui-color-icon-selected);
2029
- --button-color-border: var(--wui-color-border-selected);
2030
- `};
2032
+ ${pressedButtonVariant};
2031
2033
  }
2032
2034
  `;
2033
2035
  const buttonVariantsStyles = {
@@ -13423,10 +13425,32 @@ const getControlProps = (isOpen, onOpenChange) => {
13423
13425
  //#endregion
13424
13426
  //#region src/components/Popover/PopoverArrow.tsx
13425
13427
  const StyledArrowSvg = styled.svg`
13426
- /* Override inline top positioning and rotate the arrow so the circle sits near the trigger and the stalk extends down toward the popup. */
13427
- top: 0 !important;
13428
- transform: rotate(180deg);
13429
- transform-origin: center 0;
13428
+ pointer-events: none;
13429
+
13430
+ /* override inline positioning and rotate the arrow so the circle sits near the trigger and the stalk extends down toward the popup. */
13431
+ &[data-side='top'] {
13432
+ top: 100% !important;
13433
+ }
13434
+
13435
+ &[data-side='bottom'] {
13436
+ top: 0 !important;
13437
+ transform: rotate(180deg);
13438
+ transform-origin: center 0;
13439
+ }
13440
+
13441
+ &[data-side='left'] {
13442
+ right: 0;
13443
+ left: auto;
13444
+ transform: translateX(52px) rotate(-90deg);
13445
+ transform-origin: center center;
13446
+ }
13447
+
13448
+ &[data-side='right'] {
13449
+ left: 0;
13450
+ right: auto;
13451
+ transform: translateX(-52px) rotate(90deg);
13452
+ transform-origin: center center;
13453
+ }
13430
13454
  `;
13431
13455
  const StyledPath = styled.path`
13432
13456
  fill: var(--wui-color-border-secondary);
@@ -14743,6 +14767,213 @@ const SelectOptionGroup = ({ children, label, ...props }) => {
14743
14767
  });
14744
14768
  };
14745
14769
  //#endregion
14770
+ //#region src/components/Sidebar/Sidebar.tsx
14771
+ const StyledSidebar = styled.nav`
14772
+ --wui-sidebar-padding-block: var(--wui-space-05);
14773
+ --wui-sidebar-padding-inline: var(--wui-space-03);
14774
+ --wui-sidebar-item-gap: var(--wui-space-02);
14775
+ --wui-sidebar-item-inset: var(--wui-space-03);
14776
+ --wui-sidebar-group-gap: var(--wui-space-05);
14777
+ --wui-sidebar-content-top-padding: var(--wui-space-06);
14778
+ --wui-sidebar-content-bottom-padding: var(--wui-space-06);
14779
+
14780
+ &:has([data-wui-sidebar-header]) {
14781
+ --wui-sidebar-content-top-padding: calc(
14782
+ var(--wui-sidebar-group-gap) - var(--wui-sidebar-padding-block)
14783
+ );
14784
+ }
14785
+
14786
+ &:has([data-wui-sidebar-footer]) {
14787
+ --wui-sidebar-content-bottom-padding: calc(
14788
+ var(--wui-sidebar-group-gap) - var(--wui-sidebar-padding-block)
14789
+ );
14790
+ }
14791
+
14792
+ display: flex;
14793
+ flex-direction: column;
14794
+ width: 260px;
14795
+ background: var(--wui-color-bg-surface);
14796
+ overflow: hidden;
14797
+ border-right: 1px solid var(--wui-color-border);
14798
+ `;
14799
+ const Sidebar = forwardRef(({ children, ...props }, ref) => {
14800
+ return /* @__PURE__ */ jsx(StyledSidebar, {
14801
+ ref,
14802
+ ...props,
14803
+ children
14804
+ });
14805
+ });
14806
+ Sidebar.displayName = "Sidebar_UI";
14807
+ //#endregion
14808
+ //#region src/components/Sidebar/SidebarHeader.tsx
14809
+ const StyledSidebarHeader = styled.div`
14810
+ display: flex;
14811
+ flex-direction: column;
14812
+ width: 100%;
14813
+ padding-block: var(--wui-sidebar-padding-block);
14814
+ padding-inline: var(--wui-sidebar-padding-inline);
14815
+ `;
14816
+ const SidebarHeader = ({ children }) => {
14817
+ return /* @__PURE__ */ jsx(StyledSidebarHeader, {
14818
+ "data-wui-sidebar-header": true,
14819
+ children
14820
+ });
14821
+ };
14822
+ SidebarHeader.displayName = "SidebarHeader_UI";
14823
+ //#endregion
14824
+ //#region src/components/Sidebar/SidebarFooter.tsx
14825
+ const StyledSidebarFooter = styled.div`
14826
+ display: flex;
14827
+ flex-direction: column;
14828
+ width: 100%;
14829
+ padding-block: var(--wui-sidebar-padding-block);
14830
+ padding-inline: var(--wui-sidebar-padding-inline);
14831
+ `;
14832
+ const SidebarFooter = ({ children }) => {
14833
+ return /* @__PURE__ */ jsx(StyledSidebarFooter, {
14834
+ "data-wui-sidebar-footer": true,
14835
+ children
14836
+ });
14837
+ };
14838
+ SidebarFooter.displayName = "SidebarFooter_UI";
14839
+ //#endregion
14840
+ //#region src/components/Sidebar/SidebarTitle.tsx
14841
+ const StyledSidebarTitle = styled(Heading)`
14842
+ padding-left: var(--wui-sidebar-item-inset);
14843
+ `;
14844
+ const SidebarTitle = ({ children }) => {
14845
+ return /* @__PURE__ */ jsx(StyledSidebarTitle, {
14846
+ variant: "heading3",
14847
+ children
14848
+ });
14849
+ };
14850
+ SidebarTitle.displayName = "SidebarTitle_UI";
14851
+ //#endregion
14852
+ //#region src/components/Sidebar/SidebarContent.tsx
14853
+ const StyledSidebarContent = styled(ScrollArea)`
14854
+ display: flex;
14855
+ flex-direction: column;
14856
+ flex: 1 1 auto;
14857
+ min-height: 0;
14858
+ gap: var(--wui-sidebar-group-gap);
14859
+ padding-top: var(--wui-sidebar-content-top-padding);
14860
+ padding-bottom: var(--wui-sidebar-content-bottom-padding);
14861
+ padding-inline: var(--wui-sidebar-padding-inline);
14862
+ `;
14863
+ const SidebarContent = ({ children }) => {
14864
+ return /* @__PURE__ */ jsx(StyledSidebarContent, {
14865
+ "data-wui-sidebar-content": true,
14866
+ children
14867
+ });
14868
+ };
14869
+ SidebarContent.displayName = "SidebarContent_UI";
14870
+ //#endregion
14871
+ //#region src/components/Sidebar/SidebarGroupLabel.tsx
14872
+ const StyledSidebarGroupLabel = styled.div`
14873
+ display: flex;
14874
+ align-items: center;
14875
+ min-height: 24px;
14876
+ padding-inline: var(--wui-sidebar-item-inset);
14877
+ width: 100%;
14878
+ justify-content: space-between;
14879
+ gap: var(--wui-space-02);
14880
+ `;
14881
+ const SidebarGroupLabel = ({ children, rightSlot, leftSlot }) => {
14882
+ return /* @__PURE__ */ jsxs(StyledSidebarGroupLabel, {
14883
+ "data-wui-sidebar-group-label": true,
14884
+ children: [
14885
+ leftSlot,
14886
+ /* @__PURE__ */ jsx(Text, {
14887
+ variant: "label3",
14888
+ prominence: "secondary",
14889
+ style: {
14890
+ flex: 1,
14891
+ fontWeight: "var(--wui-typography-weight-label-bold)"
14892
+ },
14893
+ children
14894
+ }),
14895
+ rightSlot
14896
+ ]
14897
+ });
14898
+ };
14899
+ SidebarGroupLabel.displayName = "SidebarGroupLabel_UI";
14900
+ //#endregion
14901
+ //#region src/components/Sidebar/SidebarGroup.tsx
14902
+ const StyledSidebarGroup = styled.div`
14903
+ display: flex;
14904
+ flex-direction: column;
14905
+ gap: var(--wui-sidebar-item-gap);
14906
+ `;
14907
+ const StyledSidebarGroupList = styled.ul`
14908
+ list-style: none;
14909
+ padding: 0;
14910
+ margin: 0;
14911
+ display: flex;
14912
+ flex-direction: column;
14913
+ gap: var(--wui-sidebar-item-gap);
14914
+ `;
14915
+ const isLabelChild = (child) => isValidElement(child) && child.type === SidebarGroupLabel;
14916
+ const SidebarGroup = ({ children }) => {
14917
+ const childArray = Children.toArray(children);
14918
+ const labels = childArray.filter(isLabelChild);
14919
+ const items = childArray.filter((child) => isValidElement(child) && !isLabelChild(child));
14920
+ return /* @__PURE__ */ jsxs(StyledSidebarGroup, {
14921
+ "data-wui-sidebar-group": true,
14922
+ children: [labels, items.length > 0 && /* @__PURE__ */ jsx(StyledSidebarGroupList, { children: items.map((child, index) => {
14923
+ const key = isValidElement(child) && child.key !== null ? child.key : index;
14924
+ return /* @__PURE__ */ jsx("li", { children: child }, key);
14925
+ }) })]
14926
+ });
14927
+ };
14928
+ SidebarGroup.displayName = "SidebarGroup_UI";
14929
+ //#endregion
14930
+ //#region src/components/Sidebar/SidebarButton.tsx
14931
+ const StyledSidebarButton = styled(Button)`
14932
+ --button-label-gap: var(--wui-space-02);
14933
+ --button-typography-size: var(--wui-typography-label-2-size);
14934
+ --button-typography-line-height: var(--wui-typography-label-2-line-height);
14935
+ --button-typography-weight: var(--wui-typography-body-2-weight);
14936
+ --button-label-padding-horizontal: var(--wui-space-00);
14937
+
14938
+ padding-inline: var(--wui-sidebar-item-inset);
14939
+ text-align: left;
14940
+ width: 100%;
14941
+
14942
+ &[aria-current] {
14943
+ ${pressedButtonVariant};
14944
+ }
14945
+ `;
14946
+ const SidebarButton = forwardRef(({ selected = false, ...props }, ref) => {
14947
+ return /* @__PURE__ */ jsx(StyledSidebarButton, {
14948
+ ref,
14949
+ "aria-current": selected ? "page" : void 0,
14950
+ variant: "ghost",
14951
+ "data-wui-sidebar-button": true,
14952
+ ...props
14953
+ });
14954
+ });
14955
+ SidebarButton.displayName = "SidebarButton_UI";
14956
+ //#endregion
14957
+ //#region src/components/Sidebar/SidebarSearchInput.tsx
14958
+ const StyledSidebarSearchInputContainer = styled.div`
14959
+ padding-inline: var(--wui-space-01);
14960
+ `;
14961
+ const SidebarSearchInput = forwardRef(({ id, label = "Search navigation", ...props }, ref) => {
14962
+ const generatedId = useId();
14963
+ const inputId = id ?? generatedId;
14964
+ return /* @__PURE__ */ jsxs(StyledSidebarSearchInputContainer, { children: [/* @__PURE__ */ jsx(Label, {
14965
+ htmlFor: inputId,
14966
+ screenReaderOnly: true,
14967
+ children: label
14968
+ }), /* @__PURE__ */ jsx(Input, {
14969
+ ref,
14970
+ id: inputId,
14971
+ type: "search",
14972
+ ...props
14973
+ })] });
14974
+ });
14975
+ SidebarSearchInput.displayName = "SidebarSearchInput_UI";
14976
+ //#endregion
14746
14977
  //#region src/components/Slider/Slider.tsx
14747
14978
  const SliderContainer = styled.div`
14748
14979
  width: 100%;
@@ -15734,6 +15965,6 @@ const WistiaLogo = ({ description, height = 100, hoverColor, href, iconOnly = fa
15734
15965
  };
15735
15966
  WistiaLogo.displayName = "WistiaLogo_UI";
15736
15967
  //#endregion
15737
- export { ActionButton, Avatar, Badge, Banner, Box, Breadcrumb, Breadcrumbs, Button, ButtonGroup, Card, Center, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickRegion, Collapsible, CollapsibleContent, CollapsibleTrigger, CollapsibleTriggerIcon, ColorGrid, ColorGridOption, ColorList, ColorListGroup, ColorListOption, ColorPicker, ColorPickerPopoverContent, ColorPickerSection, ColorPickerTrigger, ColorSchemeWrapper, Combobox, ComboboxOption, ContextMenu, ContrastControls, CustomizableThemeWrapper, DataCard, DataCardHoverArrow, DataCardTrend, DataCards, DataList, DataListItem, DataListItemLabel, DataListItemValue, Divider, EditableHeading, EditableText, EditableTextCancelButton, EditableTextContext, EditableTextDisplay, EditableTextInput, EditableTextLabel, EditableTextRoot, EditableTextSubmitButton, EditableTextTrigger, Ellipsis, FeatureCard, FeatureCardImage, FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, FilterMenu, FilterMenuItem, Form, FormErrorSummary, FormField, FormGroup, Grid, Heading, HexColorInput, HueSlider, Icon, IconButton, Image, ImageDimensionsValidator, Input, InputClickToCopy, InputDuration, InputPassword, KeyboardShortcut, Label, Link, List, ListItem, Mark, Markdown, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Meter, Modal, ModalCallout, ModalCallouts, PersistentFileAmountLimitValidator, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverCloseButton, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, PreviewCard, ProgressBar, Radio, RadioCard, RadioCardImage, RadioGroup, RadioMenuItem, SaturationAndValuePicker, ScreenReaderOnly, ScrollArea, SegmentedControl, SegmentedControlItem, Select, SelectOption, SelectOptionGroup, Slider, SplitButton, Stack, SubMenu, Switch, Table, TableBody, TableCell, TableFoot, TableHead, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, Text, Thumbnail, ThumbnailBadge, ThumbnailCollage, Tooltip, UIProvider, ValueNameOrHexCode, ValueSwatch, WistiaLogo, buildTimeDuration, calculateContrast, coerceToBoolean, colorSchemeOptions, copyToClipboard, dateOnlyISOString, dateOnlyString, dateOnlyStringForSentence, dateOnlyStringNumeric, dateTime, dateTimeRounded, dateTimeString, dateTimeStringForSentence, dateTimeToDate, dateTimeToISO, dateToDateTime, dateUTCOffset, dayOfWeekString, iconSizeMap, isKeyboardKey, mediaDurationString, mergeRefs, millisecondsToDurationISOString, monthDayStringNumeric, mq, parseDateString, sessionDurationString, timeAgoString, timeOnlyString, useActiveMq, useAriaLive, useBoolean, useClipboard, useElementObserver, useFilePicker, useFocusTrap, useForceUpdate, useFormState, useImperativeFilePicker, useIsHovered, useKey, useKeyPress, useLocalStorage, useLockBodyScroll, useMq, useOnClickOutside, usePreviousValue, useToast, useWindowSize, validateWithYup };
15968
+ export { ActionButton, Avatar, Badge, Banner, Box, Breadcrumb, Breadcrumbs, Button, ButtonGroup, Card, Center, Checkbox, CheckboxGroup, CheckboxMenuItem, ClickRegion, Collapsible, CollapsibleContent, CollapsibleTrigger, CollapsibleTriggerIcon, ColorGrid, ColorGridOption, ColorList, ColorListGroup, ColorListOption, ColorPicker, ColorPickerPopoverContent, ColorPickerSection, ColorPickerTrigger, ColorSchemeWrapper, Combobox, ComboboxOption, ContextMenu, ContrastControls, CustomizableThemeWrapper, DataCard, DataCardHoverArrow, DataCardTrend, DataCards, DataList, DataListItem, DataListItemLabel, DataListItemValue, Divider, EditableHeading, EditableText, EditableTextCancelButton, EditableTextContext, EditableTextDisplay, EditableTextInput, EditableTextLabel, EditableTextRoot, EditableTextSubmitButton, EditableTextTrigger, Ellipsis, FeatureCard, FeatureCardImage, FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, FilterMenu, FilterMenuItem, Form, FormErrorSummary, FormField, FormGroup, Grid, Heading, HexColorInput, HueSlider, Icon, IconButton, Image, ImageDimensionsValidator, Input, InputClickToCopy, InputDuration, InputPassword, KeyboardShortcut, Label, Link, List, ListItem, Mark, Markdown, Menu, MenuItem, MenuItemDescription, MenuItemLabel, MenuLabel, MenuRadioGroup, Meter, Modal, ModalCallout, ModalCallouts, PersistentFileAmountLimitValidator, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverCloseButton, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, PreviewCard, ProgressBar, Radio, RadioCard, RadioCardImage, RadioGroup, RadioMenuItem, SaturationAndValuePicker, ScreenReaderOnly, ScrollArea, SegmentedControl, SegmentedControlItem, Select, SelectOption, SelectOptionGroup, Sidebar, SidebarButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarSearchInput, SidebarTitle, Slider, SplitButton, Stack, SubMenu, Switch, Table, TableBody, TableCell, TableFoot, TableHead, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, Text, Thumbnail, ThumbnailBadge, ThumbnailCollage, Tooltip, UIProvider, ValueNameOrHexCode, ValueSwatch, WistiaLogo, buildTimeDuration, calculateContrast, coerceToBoolean, colorSchemeOptions, copyToClipboard, dateOnlyISOString, dateOnlyString, dateOnlyStringForSentence, dateOnlyStringNumeric, dateTime, dateTimeRounded, dateTimeString, dateTimeStringForSentence, dateTimeToDate, dateTimeToISO, dateToDateTime, dateUTCOffset, dayOfWeekString, iconSizeMap, isKeyboardKey, mediaDurationString, mergeRefs, millisecondsToDurationISOString, monthDayStringNumeric, mq, parseDateString, sessionDurationString, timeAgoString, timeOnlyString, useActiveMq, useAriaLive, useBoolean, useClipboard, useElementObserver, useFilePicker, useFocusTrap, useForceUpdate, useFormState, useImperativeFilePicker, useIsHovered, useKey, useKeyPress, useLocalStorage, useLockBodyScroll, useMq, useOnClickOutside, usePreviousValue, useToast, useWindowSize, validateWithYup };
15738
15969
 
15739
15970
  //# sourceMappingURL=index.js.map