@coinbase/cds-web 9.17.2 → 9.19.0

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,18 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 9.19.0 (8/20/2026 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Feat: support custom icon sets in name-prop components. [[#848](https://github.com/coinbase/cds/pull/848)]
16
+
17
+ ## 9.18.0 (8/19/2026 PST)
18
+
19
+ #### 🚀 Updates
20
+
21
+ - Feat: support PeriodSelector in component theming. [[#852](https://github.com/coinbase/cds/pull/852)]
22
+
11
23
  ## 9.17.2 (8/19/2026 PST)
12
24
 
13
25
  #### 🐞 Fixes
@@ -86,6 +86,7 @@ import type { TourBaseProps } from '../tour/Tour';
86
86
  import type { LinkBaseProps } from '../typography/Link';
87
87
  import type { TextBaseProps } from '../typography/Text';
88
88
  import type { TextFallbackBaseProps } from '../typography/TextFallback';
89
+ import type { PeriodSelectorBaseProps } from '../visualizations/chart/PeriodSelector';
89
90
  import type { ProgressBaseProps } from '../visualizations/ProgressBar';
90
91
  import type { ProgressBarWithFixedLabelsBaseProps } from '../visualizations/ProgressBarWithFixedLabels';
91
92
  import type { ProgressBarWithFloatLabelBaseProps } from '../visualizations/ProgressBarWithFloatLabel';
@@ -156,6 +157,7 @@ export type ComponentConfig = {
156
157
  PageFooter?: ConfigResolver<PageFooterBaseProps>;
157
158
  PageHeader?: ConfigResolver<PageHeaderBaseProps>;
158
159
  Pagination?: ConfigResolver<PaginationBaseProps>;
160
+ PeriodSelector?: ConfigResolver<PeriodSelectorBaseProps>;
159
161
  PopoverPanel?: ConfigResolver<PopoverPanelBaseProps>;
160
162
  ProgressBar?: ConfigResolver<ProgressBaseProps>;
161
163
  ProgressBarWithFixedLabels?: ConfigResolver<ProgressBarWithFixedLabelsBaseProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"componentConfig.d.ts","sourceRoot":"","sources":["../../src/core/componentConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentConfig.d.ts","sourceRoot":"","sources":["../../src/core/componentConfig.ts"],"names":[],"mappings":"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"}
@@ -4,31 +4,21 @@ import type { SharedProps } from '@coinbase/cds-common/types/SharedProps';
4
4
  import { type BoxBaseProps, type BoxDefaultElement, type BoxProps } from '../layout/Box';
5
5
  /** Default font family for the CDS icon glyph font. */
6
6
  export declare const DEFAULT_ICON_FONT_FAMILY = 'CoinbaseIcons';
7
- /**
8
- * Shape of the glyph map an icon set must provide. Keys are
9
- * `${name}-${sourcePixelSize}-${'active' | 'inactive'}` and values are the
10
- * single Unicode character rendered in the icon font.
11
- */
7
+ /** Values are the single character to render in the icon font. */
12
8
  export type GlyphMap<Name extends string> = Record<
13
9
  `${Name}-${IconSourcePixelSize}-${'active' | 'inactive'}`,
14
10
  string
15
11
  >;
16
- /** Arguments passed to a glyph resolver to look up an icon's glyph. */
17
12
  export type IconGlyphResolverArgs<Name extends string> = {
18
- /** Glyph map bound to this icon set. */
19
13
  glyphMap: GlyphMap<Name>;
20
- /** Icon name requested via the `name` prop. */
21
14
  name: Name;
22
- /** Size token requested via the `size` prop. */
23
15
  size: IconSize;
24
- /** Resolved pixel size from the theme for the requested `size` token. */
16
+ /** Pixel size resolved from the theme for the requested `size` token. */
25
17
  pixelSize: number;
26
- /** Whether the active variant was requested. */
27
18
  active: boolean;
28
19
  };
29
- /** Configuration used to bind an icon set to a typed `Icon` component. */
30
- export type CreateIconConfig<Name extends string> = {
31
- /** Generated glyph map for this icon set. */
20
+ /** An icon font and the glyphs it provides. */
21
+ export type IconGlyphSource<Name extends string = string> = {
32
22
  glyphMap: GlyphMap<Name>;
33
23
  /**
34
24
  * `@font-face` family name registered by the icon set's font.
@@ -36,13 +26,27 @@ export type CreateIconConfig<Name extends string> = {
36
26
  */
37
27
  fontFamily?: string;
38
28
  /**
39
- * Resolves the glyph to render for an icon from the glyph map. Override to
40
- * support a custom key format or size model. Defaults to the CDS scheme:
41
- * `${name}-${sourceSize}-${'active' | 'inactive'}`, where `sourceSize` is
42
- * `12`, `16`, or `24`.
29
+ * Override to use a custom key format or size model. Defaults to the CDS
30
+ * scheme: `${name}-${sourceSize}-${state}`, with `sourceSize` 12, 16, or 24.
43
31
  */
44
32
  getGlyph?: (args: IconGlyphResolverArgs<Name>) => string | undefined;
45
33
  };
34
+ export type IconGlyphSourceProviderProps = {
35
+ /** Consulted before the built-in glyphs. A nested provider replaces it. */
36
+ source: IconGlyphSource<any>;
37
+ children: React.ReactNode;
38
+ };
39
+ /**
40
+ * Adds a custom glyph source to every CDS icon rendered below.
41
+ *
42
+ * Scope this to a subtree: a source reusing a built-in name re-skins that icon
43
+ * everywhere below, including icons CDS renders internally (`close`, `caretUp`,
44
+ * `checkmark`). Its names must be names the icon component already accepts.
45
+ */
46
+ export declare function IconGlyphSourceProvider({
47
+ source,
48
+ children,
49
+ }: IconGlyphSourceProviderProps): import('react/jsx-runtime').JSX.Element;
46
50
  export type IconBaseProps<Name extends string = string> = SharedProps &
47
51
  Pick<
48
52
  BoxBaseProps,
@@ -95,19 +99,9 @@ export type IconProps<Name extends string = string> = IconBaseProps<Name> &
95
99
  };
96
100
  };
97
101
  declare const getIconSourceSize: (iconSize: number) => IconSourcePixelSize;
98
- /**
99
- * Creates a typed `Icon` component bound to a specific icon set (glyph map,
100
- * font family, and name union). The default CDS `Icon` is created from this
101
- * factory; consumers with their own icon package can create their own typed
102
- * icon component that reuses all of the CDS rendering, accessibility, and
103
- * theming behavior.
104
- */
105
- export declare function createIcon<Name extends string>({
106
- glyphMap,
107
- fontFamily,
108
- getGlyph,
109
- }: CreateIconConfig<Name>): React.NamedExoticComponent<
110
- Omit<IconProps<Name>, 'ref'> & React.RefAttributes<HTMLElement>
111
- >;
102
+ /** Creates a typed `Icon` component bound to an icon set. */
103
+ export declare function createIcon<Name extends string>(
104
+ source: IconGlyphSource<Name>,
105
+ ): React.NamedExoticComponent<Omit<IconProps<Name>, 'ref'> & React.RefAttributes<HTMLElement>>;
112
106
  export { getIconSourceSize };
113
107
  //# sourceMappingURL=createIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createIcon.d.ts","sourceRoot":"","sources":["../../src/icons/createIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAQ1E,OAAO,EAAO,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9F,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAChD,GAAG,IAAI,IAAI,mBAAmB,IAAI,QAAQ,GAAG,UAAU,EAAE,EACzD,MAAM,CACP,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,qBAAqB,CAAC,IAAI,SAAS,MAAM,IAAI;IACvD,wCAAwC;IACxC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,+CAA+C;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,gDAAgD;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,IAAI;IAClD,6CAA6C;IAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,WAAW,GACnE,IAAI,CACF,YAAY,EACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,cAAc,CACjB,GAAG;IACF;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,6CAA6C;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX;;;SAGK;IACL,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,GACvE,QAAQ,CAAC,iBAAiB,CAAC,GAAG;IAC5B,yEAAyE;IACzE,MAAM,CAAC,EAAE;QACP,gCAAgC;QAChC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,+BAA+B;QAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC5B,CAAC;IACF,uEAAuE;IACvE,UAAU,CAAC,EAAE;QACX,gCAAgC;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,+BAA+B;QAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AA2CJ,QAAA,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,mBAI7C,CAAC;AAcF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,EAC9C,QAAQ,EACR,UAAqC,EACrC,QAA0B,GAC3B,EAAE,gBAAgB,CAAC,IAAI,CAAC,+FAgGxB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"createIcon.d.ts","sourceRoot":"","sources":["../../src/icons/createIcon.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
+ export type {
2
+ GlyphMap,
3
+ IconGlyphResolverArgs,
4
+ IconGlyphSource,
5
+ IconGlyphSourceProviderProps,
6
+ } from './createIcon';
7
+ export { createIcon, DEFAULT_ICON_FONT_FAMILY, IconGlyphSourceProvider } from './createIcon';
1
8
  export * from './Icon';
2
- export { createIcon, DEFAULT_ICON_FONT_FAMILY } from './createIcon';
3
- export type { CreateIconConfig, GlyphMap, IconGlyphResolverArgs } from './createIcon';
4
9
  export * from './LogoMark';
5
10
  export * from './LogoWordmark';
6
11
  export * from './SubBrandLogoMark';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACtF,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,qBAAqB,EACrB,eAAe,EACf,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC7F,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { Polymorphic } from '../../core/polymorphism';
3
- import { type SegmentedTabsProps } from '../../tabs/SegmentedTabs';
3
+ import { type SegmentedTabsBaseProps, type SegmentedTabsProps } from '../../tabs/SegmentedTabs';
4
4
  import { type TabsActiveIndicatorProps } from '../../tabs/Tabs';
5
5
  import { type TextBaseProps } from '../../typography/Text';
6
6
  export declare const PeriodSelectorActiveIndicator: React.MemoExoticComponent<
@@ -35,7 +35,8 @@ type LiveTabLabelComponent = (<AsComponent extends React.ElementType = LiveTabLa
35
35
  ) => Polymorphic.ReactReturn) &
36
36
  Polymorphic.ReactNamed;
37
37
  export declare const LiveTabLabel: LiveTabLabelComponent;
38
- export type PeriodSelectorProps = SegmentedTabsProps;
38
+ export type PeriodSelectorBaseProps<TabId extends string = string> = SegmentedTabsBaseProps<TabId>;
39
+ export type PeriodSelectorProps<TabId extends string = string> = SegmentedTabsProps<TabId>;
39
40
  /**
40
41
  * PeriodSelector is a specialized version of SegmentedTabs optimized for chart period selection.
41
42
  * It provides transparent background, primary wash active state, and full-width layout by default.
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../src/visualizations/chart/PeriodSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKjE,eAAO,MAAM,6BAA6B,qGAQrC,wBAAwB,oDA0B5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAAS,CAAC;AAEjD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACtF,WAAW,EACX,qBAAqB,CACtB,CAAC;AAYF,KAAK,qBAAqB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,0BAA0B,EAC/F,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAClC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,YAAY,EAAE,qBAiC1B,CAAC;AASF,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;YAlFsB,CAAC;oBAI/C,CAAC;WAGG,CAAC;uBAOH,CAAC;;;YAKqC,CAAC;oBAG9B,CAAC;WAEP,CAAC;uBAEgB,CAAC;;qCAkGzB,CAAC"}
1
+ {"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../src/visualizations/chart/PeriodSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKjE,eAAO,MAAM,6BAA6B,qGAQrC,wBAAwB,oDA0B5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAAS,CAAC;AAEjD,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACtF,WAAW,EACX,qBAAqB,CACtB,CAAC;AAYF,KAAK,qBAAqB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,0BAA0B,EAC/F,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAClC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,YAAY,EAAE,qBAiC1B,CAAC;AASF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAEnG,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;YAxF3B,CAAA;oBAImC,CAAC;WAEpB,CAAC;uBAGL,CAAC;;;YAS0D,CAAC;oBAKxD,CAAC;WACf,CAAC;uBAGD,CAAF;;qCAuGC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  const _excluded = ["accessibilityLabel", "color", "dangerouslySetColor", "fallback", "name", "size", "testID", "className", "classNames", "style", "styles", "active"];
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
+ 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; }
2
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; }
3
5
  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
6
  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; }
5
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
8
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- 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; }
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
- import React, { forwardRef, memo, useMemo } from 'react';
9
+ import React, { createContext, forwardRef, memo, useContext, useMemo } from 'react';
10
10
  import { isDevelopment } from '@coinbase/cds-utils/env';
11
11
  import { cx } from '../cx';
12
12
  import { useComponentConfig } from '../hooks/useComponentConfig';
@@ -18,16 +18,28 @@ const COMPONENT_STATIC_CLASSNAME = 'cds-Icon';
18
18
  /** Default font family for the CDS icon glyph font. */
19
19
  export const DEFAULT_ICON_FONT_FAMILY = 'CoinbaseIcons';
20
20
 
21
- /**
22
- * Shape of the glyph map an icon set must provide. Keys are
23
- * `${name}-${sourcePixelSize}-${'active' | 'inactive'}` and values are the
24
- * single Unicode character rendered in the icon font.
25
- */
21
+ /** Values are the single character to render in the icon font. */
26
22
 
27
- /** Arguments passed to a glyph resolver to look up an icon's glyph. */
28
-
29
- /** Configuration used to bind an icon set to a typed `Icon` component. */
23
+ /** An icon font and the glyphs it provides. */
30
24
 
25
+ const IconGlyphSourceContext = /*#__PURE__*/createContext(undefined);
26
+ /**
27
+ * Adds a custom glyph source to every CDS icon rendered below.
28
+ *
29
+ * Scope this to a subtree: a source reusing a built-in name re-skins that icon
30
+ * everywhere below, including icons CDS renders internally (`close`, `caretUp`,
31
+ * `checkmark`). Its names must be names the icon component already accepts.
32
+ */
33
+ export function IconGlyphSourceProvider(_ref) {
34
+ let {
35
+ source,
36
+ children
37
+ } = _ref;
38
+ return /*#__PURE__*/_jsx(IconGlyphSourceContext.Provider, {
39
+ value: source,
40
+ children: children
41
+ });
42
+ }
31
43
  const iconCss = "iconCss-i1t3cbh7";
32
44
  const sizeCss = {
33
45
  xs: "xs-xffinnj",
@@ -42,31 +54,35 @@ const getIconSourceSize = iconSize => {
42
54
  };
43
55
 
44
56
  /** Default glyph resolver using the CDS `${name}-${sourceSize}-${state}` key scheme. */
45
- const defaultGetGlyph = _ref => {
57
+ const defaultGetGlyph = _ref2 => {
46
58
  let {
47
59
  glyphMap,
48
60
  name,
49
61
  pixelSize,
50
62
  active
51
- } = _ref;
63
+ } = _ref2;
52
64
  const sourceSize = getIconSourceSize(pixelSize);
53
65
  const key = "".concat(name, "-").concat(sourceSize, "-").concat(active ? 'active' : 'inactive');
54
66
  return glyphMap[key];
55
67
  };
68
+ /** Resolves a glyph from one source, with that source's font. */
69
+ const resolveFromSource = (source, args) => {
70
+ var _source$getGlyph, _source$fontFamily;
71
+ const char = ((_source$getGlyph = source.getGlyph) !== null && _source$getGlyph !== void 0 ? _source$getGlyph : defaultGetGlyph)(_objectSpread(_objectSpread({}, args), {}, {
72
+ glyphMap: source.glyphMap
73
+ }));
74
+ return char === undefined ? undefined : {
75
+ char,
76
+ fontFamily: (_source$fontFamily = source.fontFamily) !== null && _source$fontFamily !== void 0 ? _source$fontFamily : DEFAULT_ICON_FONT_FAMILY
77
+ };
78
+ };
79
+ const resolveGlyph = (contextSource, boundSource, args) => {
80
+ const fromContext = contextSource ? resolveFromSource(contextSource, args) : undefined;
81
+ return fromContext !== null && fromContext !== void 0 ? fromContext : resolveFromSource(boundSource, args);
82
+ };
56
83
 
57
- /**
58
- * Creates a typed `Icon` component bound to a specific icon set (glyph map,
59
- * font family, and name union). The default CDS `Icon` is created from this
60
- * factory; consumers with their own icon package can create their own typed
61
- * icon component that reuses all of the CDS rendering, accessibility, and
62
- * theming behavior.
63
- */
64
- export function createIcon(_ref2) {
65
- let {
66
- glyphMap,
67
- fontFamily = DEFAULT_ICON_FONT_FAMILY,
68
- getGlyph = defaultGetGlyph
69
- } = _ref2;
84
+ /** Creates a typed `Icon` component bound to an icon set. */
85
+ export function createIcon(source) {
70
86
  const Icon = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
71
87
  const mergedProps = useComponentConfig('Icon', _props);
72
88
  const {
@@ -86,23 +102,27 @@ export function createIcon(_ref2) {
86
102
  props = _objectWithoutProperties(mergedProps, _excluded);
87
103
  const theme = useTheme();
88
104
  const iconSize = theme.iconSize[size];
89
- const rootStyle = useMemo(() => _objectSpread(_objectSpread(_objectSpread({}, dangerouslySetColor ? {
90
- color: dangerouslySetColor
91
- } : {}), style), styles === null || styles === void 0 ? void 0 : styles.root), [dangerouslySetColor, style, styles === null || styles === void 0 ? void 0 : styles.root]);
92
105
 
93
- // Only override the font-family CSS variable when a custom font is bound;
94
- // the default is applied by the static Linaria block's fallback value.
95
- const iconStyle = useMemo(() => fontFamily === DEFAULT_ICON_FONT_FAMILY ? styles === null || styles === void 0 ? void 0 : styles.icon : _objectSpread({
96
- '--cds-icon-font-family': fontFamily
97
- }, styles === null || styles === void 0 ? void 0 : styles.icon), [styles === null || styles === void 0 ? void 0 : styles.icon]);
98
- const glyph = getGlyph({
99
- glyphMap,
106
+ // Tried before the bound set, so a source can override a built-in icon.
107
+ const contextSource = useContext(IconGlyphSourceContext);
108
+ const resolved = resolveGlyph(contextSource, source, {
100
109
  name,
101
110
  size,
102
111
  pixelSize: iconSize,
103
112
  active: Boolean(active)
104
113
  });
105
- if (glyph === undefined) {
114
+ const rootStyle = useMemo(() => _objectSpread(_objectSpread(_objectSpread({}, dangerouslySetColor ? {
115
+ color: dangerouslySetColor
116
+ } : {}), style), styles === null || styles === void 0 ? void 0 : styles.root), [dangerouslySetColor, style, styles === null || styles === void 0 ? void 0 : styles.root]);
117
+
118
+ // The matching source decides the font, so a source covering only some
119
+ // sizes or states of a name mixes fonts across that name.
120
+ // Only set the variable for non-default fonts; the Linaria block has the default.
121
+ const fontFamily = resolved === null || resolved === void 0 ? void 0 : resolved.fontFamily;
122
+ const iconStyle = useMemo(() => fontFamily === undefined || fontFamily === DEFAULT_ICON_FONT_FAMILY ? styles === null || styles === void 0 ? void 0 : styles.icon : _objectSpread({
123
+ '--cds-icon-font-family': fontFamily
124
+ }, styles === null || styles === void 0 ? void 0 : styles.icon), [fontFamily, styles === null || styles === void 0 ? void 0 : styles.icon]);
125
+ if (resolved === undefined) {
106
126
  if (isDevelopment()) {
107
127
  console.error("Unable to find glyph for icon \"".concat(name, "\" at size \"").concat(size, "\""));
108
128
  }
@@ -127,7 +147,7 @@ export function createIcon(_ref2) {
127
147
  style: iconStyle,
128
148
  title: accessibilityLabel,
129
149
  translate: "no",
130
- children: glyph
150
+ children: resolved.char
131
151
  })
132
152
  }));
133
153
  }));
@@ -1,5 +1,5 @@
1
+ export { createIcon, DEFAULT_ICON_FONT_FAMILY, IconGlyphSourceProvider } from './createIcon';
1
2
  export * from './Icon';
2
- export { createIcon, DEFAULT_ICON_FONT_FAMILY } from './createIcon';
3
3
  export * from './LogoMark';
4
4
  export * from './LogoWordmark';
5
5
  export * from './SubBrandLogoMark';
@@ -11,6 +11,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
11
11
  import React, { forwardRef, memo, useMemo } from 'react';
12
12
  import { m as motion } from 'framer-motion';
13
13
  import { cx } from '../../cx';
14
+ import { useComponentConfig } from '../../hooks/useComponentConfig';
14
15
  import { Box } from '../../layout/Box';
15
16
  import { SegmentedTab } from '../../tabs/SegmentedTab';
16
17
  import { SegmentedTabs } from '../../tabs/SegmentedTabs';
@@ -93,8 +94,9 @@ const PeriodSelectorTab = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((props, ref)
93
94
  * PeriodSelector is a specialized version of SegmentedTabs optimized for chart period selection.
94
95
  * It provides transparent background, primary wash active state, and full-width layout by default.
95
96
  */
96
- export const PeriodSelector = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) => {
97
- let {
97
+ export const PeriodSelector = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
98
+ const mergedProps = useComponentConfig('PeriodSelector', _props);
99
+ const {
98
100
  background = 'transparent',
99
101
  activeBackground = 'bgPrimaryWash',
100
102
  activeColor = 'fgPrimary',
@@ -106,8 +108,8 @@ export const PeriodSelector = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3,
106
108
  classNames,
107
109
  style,
108
110
  styles
109
- } = _ref3,
110
- props = _objectWithoutProperties(_ref3, _excluded3);
111
+ } = mergedProps,
112
+ props = _objectWithoutProperties(mergedProps, _excluded3);
111
113
  return /*#__PURE__*/_jsx(SegmentedTabs, _objectSpread({
112
114
  ref: ref,
113
115
  TabComponent: TabComponent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "9.17.2",
3
+ "version": "9.19.0",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -227,8 +227,8 @@
227
227
  "react-dom": "^18.0.0 || ~19.1.2"
228
228
  },
229
229
  "dependencies": {
230
- "@coinbase/cds-common": "^9.17.2",
231
- "@coinbase/cds-icons": "^5.21.0",
230
+ "@coinbase/cds-common": "^9.19.0",
231
+ "@coinbase/cds-icons": "^5.22.0",
232
232
  "@coinbase/cds-illustrations": "^4.48.0",
233
233
  "@coinbase/cds-lottie-files": "^3.3.4",
234
234
  "@coinbase/cds-utils": "^2.3.5",