@wistia/ui 0.26.1 → 0.26.2

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
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 = {
@@ -14743,6 +14745,213 @@ const SelectOptionGroup = ({ children, label, ...props }) => {
14743
14745
  });
14744
14746
  };
14745
14747
  //#endregion
14748
+ //#region src/components/Sidebar/Sidebar.tsx
14749
+ const StyledSidebar = styled.nav`
14750
+ --wui-sidebar-padding-block: var(--wui-space-05);
14751
+ --wui-sidebar-padding-inline: var(--wui-space-03);
14752
+ --wui-sidebar-item-gap: var(--wui-space-02);
14753
+ --wui-sidebar-item-inset: var(--wui-space-03);
14754
+ --wui-sidebar-group-gap: var(--wui-space-05);
14755
+ --wui-sidebar-content-top-padding: var(--wui-space-06);
14756
+ --wui-sidebar-content-bottom-padding: var(--wui-space-06);
14757
+
14758
+ &:has([data-wui-sidebar-header]) {
14759
+ --wui-sidebar-content-top-padding: calc(
14760
+ var(--wui-sidebar-group-gap) - var(--wui-sidebar-padding-block)
14761
+ );
14762
+ }
14763
+
14764
+ &:has([data-wui-sidebar-footer]) {
14765
+ --wui-sidebar-content-bottom-padding: calc(
14766
+ var(--wui-sidebar-group-gap) - var(--wui-sidebar-padding-block)
14767
+ );
14768
+ }
14769
+
14770
+ display: flex;
14771
+ flex-direction: column;
14772
+ width: 260px;
14773
+ background: var(--wui-color-bg-surface);
14774
+ overflow: hidden;
14775
+ border-right: 1px solid var(--wui-color-border);
14776
+ `;
14777
+ const Sidebar = forwardRef(({ children, ...props }, ref) => {
14778
+ return /* @__PURE__ */ jsx(StyledSidebar, {
14779
+ ref,
14780
+ ...props,
14781
+ children
14782
+ });
14783
+ });
14784
+ Sidebar.displayName = "Sidebar_UI";
14785
+ //#endregion
14786
+ //#region src/components/Sidebar/SidebarHeader.tsx
14787
+ const StyledSidebarHeader = styled.div`
14788
+ display: flex;
14789
+ flex-direction: column;
14790
+ width: 100%;
14791
+ padding-block: var(--wui-sidebar-padding-block);
14792
+ padding-inline: var(--wui-sidebar-padding-inline);
14793
+ `;
14794
+ const SidebarHeader = ({ children }) => {
14795
+ return /* @__PURE__ */ jsx(StyledSidebarHeader, {
14796
+ "data-wui-sidebar-header": true,
14797
+ children
14798
+ });
14799
+ };
14800
+ SidebarHeader.displayName = "SidebarHeader_UI";
14801
+ //#endregion
14802
+ //#region src/components/Sidebar/SidebarFooter.tsx
14803
+ const StyledSidebarFooter = styled.div`
14804
+ display: flex;
14805
+ flex-direction: column;
14806
+ width: 100%;
14807
+ padding-block: var(--wui-sidebar-padding-block);
14808
+ padding-inline: var(--wui-sidebar-padding-inline);
14809
+ `;
14810
+ const SidebarFooter = ({ children }) => {
14811
+ return /* @__PURE__ */ jsx(StyledSidebarFooter, {
14812
+ "data-wui-sidebar-footer": true,
14813
+ children
14814
+ });
14815
+ };
14816
+ SidebarFooter.displayName = "SidebarFooter_UI";
14817
+ //#endregion
14818
+ //#region src/components/Sidebar/SidebarTitle.tsx
14819
+ const StyledSidebarTitle = styled(Heading)`
14820
+ padding-left: var(--wui-sidebar-item-inset);
14821
+ `;
14822
+ const SidebarTitle = ({ children }) => {
14823
+ return /* @__PURE__ */ jsx(StyledSidebarTitle, {
14824
+ variant: "heading3",
14825
+ children
14826
+ });
14827
+ };
14828
+ SidebarTitle.displayName = "SidebarTitle_UI";
14829
+ //#endregion
14830
+ //#region src/components/Sidebar/SidebarContent.tsx
14831
+ const StyledSidebarContent = styled(ScrollArea)`
14832
+ display: flex;
14833
+ flex-direction: column;
14834
+ flex: 1 1 auto;
14835
+ min-height: 0;
14836
+ gap: var(--wui-sidebar-group-gap);
14837
+ padding-top: var(--wui-sidebar-content-top-padding);
14838
+ padding-bottom: var(--wui-sidebar-content-bottom-padding);
14839
+ padding-inline: var(--wui-sidebar-padding-inline);
14840
+ `;
14841
+ const SidebarContent = ({ children }) => {
14842
+ return /* @__PURE__ */ jsx(StyledSidebarContent, {
14843
+ "data-wui-sidebar-content": true,
14844
+ children
14845
+ });
14846
+ };
14847
+ SidebarContent.displayName = "SidebarContent_UI";
14848
+ //#endregion
14849
+ //#region src/components/Sidebar/SidebarGroupLabel.tsx
14850
+ const StyledSidebarGroupLabel = styled.div`
14851
+ display: flex;
14852
+ align-items: center;
14853
+ min-height: 24px;
14854
+ padding-inline: var(--wui-sidebar-item-inset);
14855
+ width: 100%;
14856
+ justify-content: space-between;
14857
+ gap: var(--wui-space-02);
14858
+ `;
14859
+ const SidebarGroupLabel = ({ children, rightSlot, leftSlot }) => {
14860
+ return /* @__PURE__ */ jsxs(StyledSidebarGroupLabel, {
14861
+ "data-wui-sidebar-group-label": true,
14862
+ children: [
14863
+ leftSlot,
14864
+ /* @__PURE__ */ jsx(Text, {
14865
+ variant: "label3",
14866
+ prominence: "secondary",
14867
+ style: {
14868
+ flex: 1,
14869
+ fontWeight: "var(--wui-typography-weight-label-bold)"
14870
+ },
14871
+ children
14872
+ }),
14873
+ rightSlot
14874
+ ]
14875
+ });
14876
+ };
14877
+ SidebarGroupLabel.displayName = "SidebarGroupLabel_UI";
14878
+ //#endregion
14879
+ //#region src/components/Sidebar/SidebarGroup.tsx
14880
+ const StyledSidebarGroup = styled.div`
14881
+ display: flex;
14882
+ flex-direction: column;
14883
+ gap: var(--wui-sidebar-item-gap);
14884
+ `;
14885
+ const StyledSidebarGroupList = styled.ul`
14886
+ list-style: none;
14887
+ padding: 0;
14888
+ margin: 0;
14889
+ display: flex;
14890
+ flex-direction: column;
14891
+ gap: var(--wui-sidebar-item-gap);
14892
+ `;
14893
+ const isLabelChild = (child) => isValidElement(child) && child.type === SidebarGroupLabel;
14894
+ const SidebarGroup = ({ children }) => {
14895
+ const childArray = Children.toArray(children);
14896
+ const labels = childArray.filter(isLabelChild);
14897
+ const items = childArray.filter((child) => isValidElement(child) && !isLabelChild(child));
14898
+ return /* @__PURE__ */ jsxs(StyledSidebarGroup, {
14899
+ "data-wui-sidebar-group": true,
14900
+ children: [labels, items.length > 0 && /* @__PURE__ */ jsx(StyledSidebarGroupList, { children: items.map((child, index) => {
14901
+ const key = isValidElement(child) && child.key !== null ? child.key : index;
14902
+ return /* @__PURE__ */ jsx("li", { children: child }, key);
14903
+ }) })]
14904
+ });
14905
+ };
14906
+ SidebarGroup.displayName = "SidebarGroup_UI";
14907
+ //#endregion
14908
+ //#region src/components/Sidebar/SidebarButton.tsx
14909
+ const StyledSidebarButton = styled(Button)`
14910
+ --button-label-gap: var(--wui-space-02);
14911
+ --button-typography-size: var(--wui-typography-label-2-size);
14912
+ --button-typography-line-height: var(--wui-typography-label-2-line-height);
14913
+ --button-typography-weight: var(--wui-typography-body-2-weight);
14914
+ --button-label-padding-horizontal: var(--wui-space-00);
14915
+
14916
+ padding-inline: var(--wui-sidebar-item-inset);
14917
+ text-align: left;
14918
+ width: 100%;
14919
+
14920
+ &[aria-current] {
14921
+ ${pressedButtonVariant};
14922
+ }
14923
+ `;
14924
+ const SidebarButton = forwardRef(({ selected = false, ...props }, ref) => {
14925
+ return /* @__PURE__ */ jsx(StyledSidebarButton, {
14926
+ ref,
14927
+ "aria-current": selected ? "page" : void 0,
14928
+ variant: "ghost",
14929
+ "data-wui-sidebar-button": true,
14930
+ ...props
14931
+ });
14932
+ });
14933
+ SidebarButton.displayName = "SidebarButton_UI";
14934
+ //#endregion
14935
+ //#region src/components/Sidebar/SidebarSearchInput.tsx
14936
+ const StyledSidebarSearchInputContainer = styled.div`
14937
+ padding-inline: var(--wui-space-01);
14938
+ `;
14939
+ const SidebarSearchInput = forwardRef(({ id, label = "Search navigation", ...props }, ref) => {
14940
+ const generatedId = useId();
14941
+ const inputId = id ?? generatedId;
14942
+ return /* @__PURE__ */ jsxs(StyledSidebarSearchInputContainer, { children: [/* @__PURE__ */ jsx(Label, {
14943
+ htmlFor: inputId,
14944
+ screenReaderOnly: true,
14945
+ children: label
14946
+ }), /* @__PURE__ */ jsx(Input, {
14947
+ ref,
14948
+ id: inputId,
14949
+ type: "search",
14950
+ ...props
14951
+ })] });
14952
+ });
14953
+ SidebarSearchInput.displayName = "SidebarSearchInput_UI";
14954
+ //#endregion
14746
14955
  //#region src/components/Slider/Slider.tsx
14747
14956
  const SliderContainer = styled.div`
14748
14957
  width: 100%;
@@ -15734,6 +15943,6 @@ const WistiaLogo = ({ description, height = 100, hoverColor, href, iconOnly = fa
15734
15943
  };
15735
15944
  WistiaLogo.displayName = "WistiaLogo_UI";
15736
15945
  //#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 };
15946
+ 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
15947
 
15739
15948
  //# sourceMappingURL=index.js.map