@coinbase/cds-web 8.29.0 → 8.30.1

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/CHANGELOG.md CHANGED
@@ -8,6 +8,20 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.30.1 (12/12/2025 PST)
12
+
13
+ #### 🐞 Fixes
14
+
15
+ - Add classNames and styles to sidebar. [[#239](https://github.com/coinbase/cds/pull/239)]
16
+
17
+ ## 8.30.0 (12/12/2025 PST)
18
+
19
+ #### 🚀 Updates
20
+
21
+ - Add autoScrollOffset prop to TabbedChips alpha. [[#232](https://github.com/coinbase/cds/pull/232)]
22
+ - Add maxWidth prop to SelectChip alpha [[#232](https://github.com/coinbase/cds/pull/232)] [DX-5072]
23
+ - Add displayValue prop to SelectChip alpha [[#232](https://github.com/coinbase/cds/pull/232)]
24
+
11
25
  ## 8.29.0 (12/12/2025 PST)
12
26
 
13
27
  #### 🚀 Updates
@@ -2,18 +2,24 @@ import React from 'react';
2
2
  import type { ChipBaseProps } from '../../chips';
3
3
  import { type SelectRef } from '../select/Select';
4
4
  import type { SelectProps, SelectType } from '../select/types';
5
- export type SelectChipBaseProps = Pick<ChipBaseProps, 'invertColorScheme' | 'numberOfLines'>;
6
- /**
7
- * Chip-styled Select control built on top of the Alpha Select.
8
- * Supports both single and multi selection via Select's `type` prop.
9
- */
5
+ export type SelectChipBaseProps = Pick<
6
+ ChipBaseProps,
7
+ 'invertColorScheme' | 'numberOfLines' | 'maxWidth'
8
+ > & {
9
+ /**
10
+ * Override the displayed value in the chip control.
11
+ * Useful for avoiding truncation, especially in multi-select scenarios where multiple option labels might be too long to display.
12
+ * When provided, this value takes precedence over the default label generation.
13
+ */
14
+ displayValue?: React.ReactNode;
15
+ };
10
16
  export type SelectChipProps<
11
17
  Type extends SelectType = 'single',
12
18
  SelectOptionValue extends string = string,
13
19
  > = SelectChipBaseProps &
14
20
  Omit<
15
21
  SelectProps<Type, SelectOptionValue>,
16
- 'SelectControlComponent' | 'helperText' | 'labelVariant' | 'variant'
22
+ 'SelectControlComponent' | 'helperText' | 'labelVariant' | 'variant' | 'maxWidth'
17
23
  >;
18
24
  export declare const SelectChip: <
19
25
  Type extends SelectType = 'single',
@@ -1 +1 @@
1
- {"version":3,"file":"SelectChip.d.ts","sourceRoot":"","sources":["../../../src/alpha/select-chip/SelectChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAsB,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC;AAE7F;;;GAGG;AACH,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,UAAU,GAAG,QAAQ,EAClC,iBAAiB,SAAS,MAAM,GAAG,MAAM,IACvC,mBAAmB,GACrB,IAAI,CACF,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,EACpC,wBAAwB,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CACrE,CAAC;AA6DJ,eAAO,MAAM,UAAU,EAA0B,CAC/C,IAAI,SAAS,UAAU,GAAG,QAAQ,EAClC,iBAAiB,SAAS,MAAM,GAAG,MAAM,EAEzC,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;CAAE,KAC7E,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"SelectChip.d.ts","sourceRoot":"","sources":["../../../src/alpha/select-chip/SelectChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAsB,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,aAAa,EACb,mBAAmB,GAAG,eAAe,GAAG,UAAU,CACnD,GAAG;IACF;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,UAAU,GAAG,QAAQ,EAClC,iBAAiB,SAAS,MAAM,GAAG,MAAM,IACvC,mBAAmB,GACrB,IAAI,CACF,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,EACpC,wBAAwB,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,CAClF,CAAC;AAqFJ,eAAO,MAAM,UAAU,EAA0B,CAC/C,IAAI,SAAS,UAAU,GAAG,QAAQ,EAClC,iBAAiB,SAAS,MAAM,GAAG,MAAM,EAEzC,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;CAAE,KAC7E,KAAK,CAAC,YAAY,CAAC"}
@@ -6,8 +6,9 @@ export declare const SelectChipControl: <
6
6
  SelectOptionValue extends string = string,
7
7
  >(
8
8
  props: SelectControlProps<Type, SelectOptionValue> &
9
- Pick<ChipBaseProps, 'invertColorScheme' | 'compact' | 'numberOfLines'> & {
9
+ Pick<ChipBaseProps, 'invertColorScheme' | 'numberOfLines'> & {
10
10
  ref?: React.Ref<HTMLElement>;
11
+ displayValue?: React.ReactNode;
11
12
  },
12
13
  ) => React.ReactElement;
13
14
  //# sourceMappingURL=SelectChipControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectChipControl.d.ts","sourceRoot":"","sources":["../../../src/alpha/select-chip/SelectChipControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,aAAa,CAAC;AAG5D,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AA4JzB,eAAO,MAAM,iBAAiB,EAAiC,CAC7D,IAAI,SAAS,UAAU,EACvB,iBAAiB,SAAS,MAAM,GAAG,MAAM,EAEzC,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAChD,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAAG,eAAe,CAAC,GAAG;IACvE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CAC9B,KACA,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"SelectChipControl.d.ts","sourceRoot":"","sources":["../../../src/alpha/select-chip/SelectChipControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,aAAa,CAAC;AAG5D,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAiKzB,eAAO,MAAM,iBAAiB,EAAiC,CAC7D,IAAI,SAAS,UAAU,EACvB,iBAAiB,SAAS,MAAM,GAAG,MAAM,EAEzC,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAChD,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,eAAe,CAAC,GAAG;IAC3D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC,KACA,KAAK,CAAC,YAAY,CAAC"}
@@ -24,6 +24,11 @@ export type TabbedChipsBaseProps<T extends string = string> = Omit<
24
24
  * @default false
25
25
  */
26
26
  compact?: boolean;
27
+ /**
28
+ * X position offset when auto-scrolling to active tab (to avoid active tab being covered by the paddle on the left side, default: 50px)
29
+ * @default 50
30
+ */
31
+ autoScrollOffset?: number;
27
32
  };
28
33
  export type TabbedChipsProps<T extends string = string> = TabbedChipsBaseProps<T> &
29
34
  SharedProps &
@@ -1 +1 @@
1
- {"version":3,"file":"TabbedChips.d.ts","sourceRoot":"","sources":["../../../src/alpha/tabbed-chips/TabbedChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAU,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAmDpB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC,GAC9F,QAAQ,CAAC,CAAC,CAAC,GAAG;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AAEJ,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAChE,aAAa,CAAC,CAAC,CAAC,EACd,cAAc,GACd,8BAA8B,GAC9B,MAAM,GACN,0BAA0B,GAC1B,kBAAkB,CACrB,GAAG;IACF,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,4BAA4B,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC5E,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAC/E,WAAW,GACX,wBAAwB,GAAG;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAC7B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC;;WAEG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,CAAC;IACF,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEJ,KAAK,aAAa,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAC7C,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACnE,KAAK,CAAC,YAAY,CAAC;AAuGxB,eAAO,MAAM,WAAW,EAA2B,aAAa,CAAC"}
1
+ {"version":3,"file":"TabbedChips.d.ts","sourceRoot":"","sources":["../../../src/alpha/tabbed-chips/TabbedChips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAU,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAmDpB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC,GAC9F,QAAQ,CAAC,CAAC,CAAC,GAAG;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AAEJ,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAChE,aAAa,CAAC,CAAC,CAAC,EACd,cAAc,GACd,8BAA8B,GAC9B,MAAM,GACN,0BAA0B,GAC1B,kBAAkB,CACrB,GAAG;IACF,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,4BAA4B,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC5E,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAC/E,WAAW,GACX,wBAAwB,GAAG;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAC7B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC;;WAEG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,CAAC;IACF,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEJ,KAAK,aAAa,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAC7C,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAAE,KACnE,KAAK,CAAC,YAAY,CAAC;AAwGxB,eAAO,MAAM,WAAW,EAA2B,aAAa,CAAC"}
@@ -1,9 +1,9 @@
1
+ import type { SharedAccessibilityProps, SharedProps } from '@coinbase/cds-common/types';
1
2
  import type {
2
- DimensionValue,
3
- SharedAccessibilityProps,
4
- SharedProps,
5
- } from '@coinbase/cds-common/types';
6
- import type { PressableDefaultElement, PressableProps } from '../system/Pressable';
3
+ PressableBaseProps,
4
+ PressableDefaultElement,
5
+ PressableProps,
6
+ } from '../system/Pressable';
7
7
  export type ChipBaseProps = SharedProps &
8
8
  Omit<
9
9
  PressableProps<PressableDefaultElement>,
@@ -27,7 +27,7 @@ export type ChipBaseProps = SharedProps &
27
27
  * If text content overflows, it will get truncated with an ellipsis.
28
28
  * @default 200
29
29
  */
30
- maxWidth?: DimensionValue;
30
+ maxWidth?: PressableBaseProps['maxWidth'];
31
31
  /**
32
32
  * Invert the foreground and background colors to emphasize the Chip.
33
33
  * Depending on your theme, it may be dangerous to use this prop in conjunction with `transparentWhileInactive`.
@@ -1 +1 @@
1
- {"version":3,"file":"ChipProps.d.ts","sourceRoot":"","sources":["../../src/chips/ChipProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnF,MAAM,MAAM,aAAa,GAAG,WAAW,GACrC,IAAI,CACF,cAAc,CAAC,uBAAuB,CAAC,EACrC,UAAU,GACV,SAAS,GACT,OAAO,GACP,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,UAAU,GACV,OAAO,CACV,GACD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wCAAwC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,iDAAiD;IACjD,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC/B,CAAC;IACF,qCAAqC;IACrC,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"ChipProps.d.ts","sourceRoot":"","sources":["../../src/chips/ChipProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,aAAa,GAAG,WAAW,GACrC,IAAI,CACF,cAAc,CAAC,uBAAuB,CAAC,EACrC,UAAU,GACV,SAAS,GACT,OAAO,GACP,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,UAAU,GACV,OAAO,CACV,GACD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wCAAwC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,iDAAiD;IACjD,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC/B,CAAC;IACF,qCAAqC;IACrC,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export type UseHorizontalScrollToTargetOptions = {
2
2
  scrollThrottleWaitTime?: number;
3
3
  activeTarget?: HTMLElement | null;
4
- scrollPadding?: number;
4
+ autoScrollOffset?: number;
5
5
  overflowThreshold?: number;
6
6
  };
7
7
  /**
@@ -11,13 +11,13 @@ export type UseHorizontalScrollToTargetOptions = {
11
11
  *
12
12
  * @param scrollThrottleWaitTime - Throttle time for scroll events (default: 200ms)
13
13
  * @param activeTarget - The active element to scroll to when it's offscreen
14
- * @param scrollPadding - Padding to add when scrolling to position elements (useful for paddles/overlays, default: 0)
14
+ * @param autoScrollOffset - X position offset when auto-scrolling to active target
15
15
  * @param overflowThreshold - Threshold for detecting if content is offscreen (default: 5px)
16
16
  */
17
17
  export declare const useHorizontalScrollToTarget: ({
18
18
  scrollThrottleWaitTime,
19
19
  activeTarget,
20
- scrollPadding,
20
+ autoScrollOffset,
21
21
  overflowThreshold,
22
22
  }?: UseHorizontalScrollToTargetOptions) => {
23
23
  scrollRef: import('react').RefObject<HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"useHorizontalScrollToTarget.d.ts","sourceRoot":"","sources":["../../src/hooks/useHorizontalScrollToTarget.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GAAI,8EAKzC,kCAAuC;;;;;CAkEzC,CAAC"}
1
+ {"version":3,"file":"useHorizontalScrollToTarget.d.ts","sourceRoot":"","sources":["../../src/hooks/useHorizontalScrollToTarget.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GAAI,iFAKzC,kCAAuC;;;;;CAkEzC,CAAC"}
@@ -30,6 +30,48 @@ export type SidebarBaseProps = BoxBaseProps & {
30
30
  */
31
31
  renderEnd?: (isCollapsed: boolean) => React.ReactNode;
32
32
  variant?: 'default' | 'condensed';
33
+ /**
34
+ * Custom class names for the sidebar components.
35
+ */
36
+ classNames?: {
37
+ /**
38
+ * Custom class name for the root sidebar container.
39
+ */
40
+ root?: string;
41
+ /**
42
+ * Custom class name for the logo container.
43
+ */
44
+ logo?: string;
45
+ /**
46
+ * Custom class name for the content container (children list).
47
+ */
48
+ content?: string;
49
+ /**
50
+ * Custom class name for the end container (renderEnd).
51
+ */
52
+ end?: string;
53
+ };
54
+ /**
55
+ * Custom styles for the sidebar components.
56
+ */
57
+ styles?: {
58
+ /**
59
+ * Custom style for the root sidebar container.
60
+ */
61
+ root?: React.CSSProperties;
62
+ /**
63
+ * Custom style for the logo container.
64
+ */
65
+ logo?: React.CSSProperties;
66
+ /**
67
+ * Custom style for the content container (children list).
68
+ */
69
+ content?: React.CSSProperties;
70
+ /**
71
+ * Custom style for the end container (renderEnd).
72
+ */
73
+ end?: React.CSSProperties;
74
+ };
33
75
  };
34
76
  export type SidebarProps = SidebarBaseProps & Omit<BoxProps<SidebarDefaultElement>, 'children'>;
35
77
  export declare const Sidebar: React.FC<SidebarProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../src/navigation/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,OAAO,EAAO,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAU,MAAM,WAAW,CAAC;AAK1E,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAgCjE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACxE;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhG,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoG1C,CAAC"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../src/navigation/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAMvD,OAAO,EAAO,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAU,MAAM,WAAW,CAAC;AAK1E,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAgCjE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACxE;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B;;WAEG;QACH,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC9B;;WAEG;QACH,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhG,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAkH1C,CAAC"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["invertColorScheme", "numberOfLines"];
1
+ const _excluded = ["invertColorScheme", "numberOfLines", "maxWidth", "displayValue"];
2
2
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
3
3
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -9,33 +9,48 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
9
9
  import React, { forwardRef, memo, useMemo } from 'react';
10
10
  import { Select } from '../select/Select';
11
11
  import { SelectChipControl } from './SelectChipControl';
12
-
13
- /**
14
- * Chip-styled Select control built on top of the Alpha Select.
15
- * Supports both single and multi selection via Select's `type` prop.
16
- */
17
12
  import { jsx as _jsx } from "react/jsx-runtime";
18
13
  /**
19
14
  * Creates a wrapper component that injects invertColorScheme and numberOfLines
20
15
  * into SelectChipControl. This is needed because Select doesn't pass these props
21
16
  * to SelectControlComponent, but SelectChipControl requires them.
22
17
  */
23
- function createSelectChipControlWrapper(invertColorScheme, numberOfLines) {
18
+ function createSelectChipControlWrapper(_ref) {
19
+ let {
20
+ invertColorScheme,
21
+ numberOfLines,
22
+ maxWidth,
23
+ displayValue
24
+ } = _ref;
24
25
  return /*#__PURE__*/memo(/*#__PURE__*/forwardRef((controlProps, controlRef) => {
25
26
  return /*#__PURE__*/_jsx(SelectChipControl, _objectSpread(_objectSpread({}, controlProps), {}, {
26
27
  ref: controlRef,
28
+ displayValue: displayValue,
27
29
  invertColorScheme: invertColorScheme,
30
+ maxWidth: maxWidth,
28
31
  numberOfLines: numberOfLines
29
32
  }));
30
33
  }));
31
34
  }
32
- const SelectChipComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
35
+
36
+ /**
37
+ * Chip-styled Select control built on top of the Alpha Select.
38
+ * Supports both single and multi selection via Select's `type` prop.
39
+ */
40
+ const SelectChipComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, ref) => {
33
41
  let {
34
42
  invertColorScheme,
35
- numberOfLines
36
- } = _ref,
37
- props = _objectWithoutProperties(_ref, _excluded);
38
- const WrappedSelectChipControl = useMemo(() => createSelectChipControlWrapper(invertColorScheme, numberOfLines), [invertColorScheme, numberOfLines]);
43
+ numberOfLines,
44
+ maxWidth,
45
+ displayValue
46
+ } = _ref2,
47
+ props = _objectWithoutProperties(_ref2, _excluded);
48
+ const WrappedSelectChipControl = useMemo(() => createSelectChipControlWrapper({
49
+ invertColorScheme,
50
+ numberOfLines,
51
+ maxWidth,
52
+ displayValue
53
+ }), [displayValue, invertColorScheme, numberOfLines, maxWidth]);
39
54
  return /*#__PURE__*/_jsx(Select, _objectSpread({
40
55
  ref: ref,
41
56
  SelectControlComponent: WrappedSelectChipControl,
@@ -23,7 +23,9 @@ const SelectChipControlComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_r
23
23
  compact,
24
24
  invertColorScheme,
25
25
  numberOfLines,
26
- disabled
26
+ disabled,
27
+ maxWidth,
28
+ displayValue
27
29
  } = _ref;
28
30
  const isMultiSelect = type === 'multi';
29
31
  const hasValue = value !== null && !(Array.isArray(value) && value.length === 0);
@@ -66,6 +68,7 @@ const SelectChipControlComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_r
66
68
  const labelContent = useMemo(() => {
67
69
  var _ref3, _ref6, _ref7, _ref8, _opt$label2;
68
70
  if (!hasValue) return (_ref3 = label !== null && label !== void 0 ? label : placeholder) !== null && _ref3 !== void 0 ? _ref3 : null;
71
+ if (displayValue) return displayValue;
69
72
  if (isMultiSelect) {
70
73
  const values = value;
71
74
  const visible = values.slice(0, maxSelectedOptionsToShow);
@@ -79,7 +82,7 @@ const SelectChipControlComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_r
79
82
  }
80
83
  const opt = optionsMap.get(value);
81
84
  return (_ref6 = (_ref7 = (_ref8 = (_opt$label2 = opt === null || opt === void 0 ? void 0 : opt.label) !== null && _opt$label2 !== void 0 ? _opt$label2 : opt === null || opt === void 0 ? void 0 : opt.description) !== null && _ref8 !== void 0 ? _ref8 : opt === null || opt === void 0 ? void 0 : opt.value) !== null && _ref7 !== void 0 ? _ref7 : placeholder) !== null && _ref6 !== void 0 ? _ref6 : null;
82
- }, [hasValue, label, placeholder, isMultiSelect, optionsMap, value, maxSelectedOptionsToShow, hiddenSelectedOptionsLabel]);
85
+ }, [hasValue, label, placeholder, displayValue, isMultiSelect, optionsMap, value, maxSelectedOptionsToShow, hiddenSelectedOptionsLabel]);
83
86
  const endNode = useMemo(() => {
84
87
  return customEndNode !== null && customEndNode !== void 0 ? customEndNode : /*#__PURE__*/_jsx(AnimatedCaret, {
85
88
  active: true,
@@ -106,6 +109,7 @@ const SelectChipControlComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_r
106
109
  disabled: disabled,
107
110
  end: endNode,
108
111
  invertColorScheme: invertColorScheme,
112
+ maxWidth: maxWidth,
109
113
  numberOfLines: numberOfLines,
110
114
  onClick: () => setOpen(s => !s),
111
115
  start: startNode,
@@ -1,5 +1,5 @@
1
1
  const _excluded = ["label", "id"],
2
- _excluded2 = ["tabs", "activeTab", "onChange", "TabComponent", "testID", "background", "gap", "previousArrowAccessibilityLabel", "nextArrowAccessibilityLabel", "width", "TabsActiveIndicatorComponent", "disabled", "compact", "styles", "classNames"];
2
+ _excluded2 = ["tabs", "activeTab", "onChange", "TabComponent", "testID", "background", "gap", "previousArrowAccessibilityLabel", "nextArrowAccessibilityLabel", "width", "TabsActiveIndicatorComponent", "disabled", "compact", "styles", "classNames", "autoScrollOffset"];
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -69,7 +69,8 @@ const TabbedChipsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function
69
69
  disabled,
70
70
  compact,
71
71
  styles,
72
- classNames
72
+ classNames,
73
+ autoScrollOffset = 50
73
74
  } = _ref2,
74
75
  accessibilityProps = _objectWithoutProperties(_ref2, _excluded2);
75
76
  const [scrollTarget, setScrollTarget] = useState(null);
@@ -80,7 +81,7 @@ const TabbedChipsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function
80
81
  handleScroll
81
82
  } = useHorizontalScrollToTarget({
82
83
  activeTarget: scrollTarget,
83
- scrollPadding: 50
84
+ autoScrollOffset
84
85
  });
85
86
  const handleScrollLeft = useCallback(() => {
86
87
  var _scrollRef$current;
@@ -73,7 +73,7 @@ const TabbedChipsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function
73
73
  handleScroll
74
74
  } = useHorizontalScrollToTarget({
75
75
  activeTarget: scrollTarget,
76
- scrollPadding: 50
76
+ autoScrollOffset: 50
77
77
  });
78
78
  const activeTab = useMemo(() => tabs.find(tab => tab.id === value), [tabs, value]);
79
79
  const handleChange = useCallback(tabValue => {
@@ -7,14 +7,14 @@ import throttle from 'lodash/throttle';
7
7
  *
8
8
  * @param scrollThrottleWaitTime - Throttle time for scroll events (default: 200ms)
9
9
  * @param activeTarget - The active element to scroll to when it's offscreen
10
- * @param scrollPadding - Padding to add when scrolling to position elements (useful for paddles/overlays, default: 0)
10
+ * @param autoScrollOffset - X position offset when auto-scrolling to active target
11
11
  * @param overflowThreshold - Threshold for detecting if content is offscreen (default: 5px)
12
12
  */
13
13
  export const useHorizontalScrollToTarget = function () {
14
14
  let {
15
15
  scrollThrottleWaitTime = 200,
16
16
  activeTarget,
17
- scrollPadding = 0,
17
+ autoScrollOffset = 0,
18
18
  overflowThreshold = 5
19
19
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
20
  const scrollRef = useRef(null);
@@ -56,16 +56,16 @@ export const useHorizontalScrollToTarget = function () {
56
56
  const targetWidth = activeTarget.offsetWidth;
57
57
  const scrollLeft = container.scrollLeft;
58
58
  const containerWidth = container.clientWidth;
59
- const isOffscreenLeft = targetX < scrollLeft + scrollPadding;
60
- const isOffscreenRight = targetX + targetWidth > scrollLeft + containerWidth - scrollPadding;
59
+ const isOffscreenLeft = targetX < scrollLeft + autoScrollOffset;
60
+ const isOffscreenRight = targetX + targetWidth > scrollLeft + containerWidth - autoScrollOffset;
61
61
  if (isOffscreenLeft || isOffscreenRight) {
62
- const scrollToX = isOffscreenLeft ? Math.max(0, targetX - scrollPadding) : targetX - scrollPadding;
62
+ const scrollToX = isOffscreenLeft ? Math.max(0, targetX - autoScrollOffset) : targetX - autoScrollOffset;
63
63
  container.scrollTo({
64
64
  left: scrollToX,
65
65
  behavior: 'smooth'
66
66
  });
67
67
  }
68
- }, [activeTarget, scrollPadding]);
68
+ }, [activeTarget, autoScrollOffset]);
69
69
  return {
70
70
  scrollRef,
71
71
  isScrollContentOffscreenLeft,
@@ -1,4 +1,4 @@
1
- const _excluded = ["logo", "children", "collapsed", "autoCollapse", "testID", "renderEnd", "accessibilityLabel", "width", "variant"];
1
+ const _excluded = ["logo", "children", "collapsed", "autoCollapse", "testID", "renderEnd", "accessibilityLabel", "width", "variant", "className", "classNames", "style", "styles"];
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -8,6 +8,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
8
8
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
9
9
  import React, { Children, memo, useMemo } from 'react';
10
10
  import { zIndex } from '@coinbase/cds-common/tokens/zIndex';
11
+ import { cx } from '../cx';
11
12
  import { useDimensions } from '../hooks/useDimensions';
12
13
  import { Box, VStack } from '../layout';
13
14
  import { breakpoints } from '../styles/media';
@@ -42,7 +43,11 @@ export const Sidebar = /*#__PURE__*/memo(_ref => {
42
43
  renderEnd,
43
44
  accessibilityLabel = 'Sidebar',
44
45
  width,
45
- variant = 'default'
46
+ variant = 'default',
47
+ className,
48
+ classNames,
49
+ style,
50
+ styles
46
51
  } = _ref,
47
52
  props = _objectWithoutProperties(_ref, _excluded);
48
53
  const {
@@ -83,6 +88,7 @@ export const Sidebar = /*#__PURE__*/memo(_ref => {
83
88
  as: sidebarDefaultElement,
84
89
  background: "bg",
85
90
  bottom: "0",
91
+ className: cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
86
92
  height: "100%",
87
93
  justifyContent: "space-between",
88
94
  left: "0",
@@ -90,6 +96,7 @@ export const Sidebar = /*#__PURE__*/memo(_ref => {
90
96
  paddingX: variant === 'default' ? 2 : 1.5,
91
97
  paddingY: 2,
92
98
  position: "sticky",
99
+ style: _objectSpread(_objectSpread({}, style), styles === null || styles === void 0 ? void 0 : styles.root),
93
100
  testID: testID,
94
101
  top: "0",
95
102
  width: width !== null && width !== void 0 ? width : computedWidth,
@@ -97,18 +104,23 @@ export const Sidebar = /*#__PURE__*/memo(_ref => {
97
104
  }, props), {}, {
98
105
  children: [/*#__PURE__*/_jsxs(VStack, {
99
106
  children: [logo && /*#__PURE__*/_jsx(VStack, _objectSpread(_objectSpread({}, logoContainerProps), {}, {
107
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.logo,
108
+ style: styles === null || styles === void 0 ? void 0 : styles.logo,
100
109
  testID: "sidebar-logo",
101
110
  children: typeof logo === 'function' ? logo(!!computedCollapse) : logo
102
111
  })), /*#__PURE__*/_jsx(VStack, {
103
112
  as: "ul",
104
- className: ulCss,
113
+ className: cx(ulCss, classNames === null || classNames === void 0 ? void 0 : classNames.content),
105
114
  gap: 0.5,
106
115
  marginStart: variant === 'default' ? -0.5 : undefined,
116
+ style: styles === null || styles === void 0 ? void 0 : styles.content,
107
117
  children: liWrappedChildren
108
118
  })]
109
119
  }), !!renderEnd && /*#__PURE__*/_jsx(Box, {
110
120
  alignSelf: variant === 'default' ? 'flex-start' : 'center',
121
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.end,
111
122
  paddingTop: 4,
123
+ style: styles === null || styles === void 0 ? void 0 : styles.end,
112
124
  testID: "sidebar-end",
113
125
  children: renderEnd(!!computedCollapse)
114
126
  })]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "8.29.0",
3
+ "version": "8.30.1",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -147,7 +147,7 @@
147
147
  "react-dom": "^18.3.1"
148
148
  },
149
149
  "dependencies": {
150
- "@coinbase/cds-common": "^8.29.0",
150
+ "@coinbase/cds-common": "^8.30.1",
151
151
  "@coinbase/cds-icons": "^5.8.0",
152
152
  "@coinbase/cds-illustrations": "^4.29.0",
153
153
  "@coinbase/cds-lottie-files": "^3.3.3",