@coinbase/cds-web 8.59.0 → 8.61.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dts/buttons/Button.d.ts +7 -0
  3. package/dts/buttons/Button.d.ts.map +1 -1
  4. package/dts/buttons/IconButton.d.ts.map +1 -1
  5. package/dts/cards/Card.d.ts +4 -0
  6. package/dts/cards/Card.d.ts.map +1 -1
  7. package/dts/cards/CardBody.d.ts +3 -0
  8. package/dts/cards/CardBody.d.ts.map +1 -1
  9. package/dts/cards/CardFooter.d.ts +4 -0
  10. package/dts/cards/CardFooter.d.ts.map +1 -1
  11. package/dts/cards/CardGroup.d.ts +12 -0
  12. package/dts/cards/CardGroup.d.ts.map +1 -1
  13. package/dts/cards/CardHeader.d.ts +4 -0
  14. package/dts/cards/CardHeader.d.ts.map +1 -1
  15. package/dts/cards/CardMedia.d.ts +4 -0
  16. package/dts/cards/CardMedia.d.ts.map +1 -1
  17. package/dts/controls/SearchInput.d.ts.map +1 -1
  18. package/dts/loaders/Spinner.d.ts +4 -0
  19. package/dts/loaders/Spinner.d.ts.map +1 -1
  20. package/dts/visualizations/DefaultProgressCircleContent.d.ts +1 -2
  21. package/dts/visualizations/DefaultProgressCircleContent.d.ts.map +1 -1
  22. package/dts/visualizations/ProgressBar.d.ts +2 -2
  23. package/dts/visualizations/ProgressBar.d.ts.map +1 -1
  24. package/dts/visualizations/ProgressBarWithFloatLabel.d.ts.map +1 -1
  25. package/dts/visualizations/ProgressCircle.d.ts +9 -1
  26. package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
  27. package/esm/buttons/Button.js +13 -13
  28. package/esm/buttons/IconButton.css +3 -4
  29. package/esm/buttons/IconButton.js +13 -17
  30. package/esm/cards/Card.js +4 -0
  31. package/esm/cards/CardBody.js +3 -0
  32. package/esm/cards/CardFooter.js +4 -0
  33. package/esm/cards/CardGroup.js +14 -0
  34. package/esm/cards/CardHeader.js +5 -0
  35. package/esm/cards/CardMedia.js +5 -0
  36. package/esm/controls/SearchInput.js +5 -8
  37. package/esm/loaders/Spinner.js +5 -0
  38. package/esm/visualizations/DefaultProgressCircleContent.js +2 -2
  39. package/esm/visualizations/ProgressBar.js +3 -3
  40. package/esm/visualizations/ProgressBarWithFloatLabel.js +31 -41
  41. package/esm/visualizations/ProgressCircle.css +2 -1
  42. package/esm/visualizations/ProgressCircle.js +65 -68
  43. package/package.json +2 -2
  44. package/esm/controls/SearchInput.css +0 -2
package/CHANGELOG.md CHANGED
@@ -8,6 +8,26 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.61.0 (3/30/2026 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Feat: support SearchInput height customization. [[#565](https://github.com/coinbase/cds/pull/565)]
16
+
17
+ #### 📘 Misc
18
+
19
+ - Deprecate Card and its sub-components. [[#562](https://github.com/coinbase/cds/pull/562)]
20
+
21
+ #### 📘 Misc
22
+
23
+ - Chore: deprecate CardGroup. [[#560](https://github.com/coinbase/cds/pull/560)]
24
+
25
+ ## 8.60.0 (3/29/2026 PST)
26
+
27
+ #### 🚀 Updates
28
+
29
+ - Add indeterminate ProgressCircle. [[#501](https://github.com/coinbase/cds/pull/501)]
30
+
11
31
  ## 8.59.0 (3/27/2026 PST)
12
32
 
13
33
  #### 🚀 Updates
@@ -7,6 +7,9 @@ import type {
7
7
  } from '@coinbase/cds-common/types';
8
8
  import type { Polymorphic } from '../core/polymorphism';
9
9
  import { type PressableBaseProps } from '../system/Pressable';
10
+ /** @deprecated Use progressCircleSize instead. This will be removed in a future major release.
11
+ * @deprecationExpectedRemoval v10
12
+ */
10
13
  export declare const spinnerHeight = 2.5;
11
14
  export declare const buttonDefaultElement = 'button';
12
15
  export type ButtonDefaultElement = typeof buttonDefaultElement;
@@ -23,6 +26,10 @@ export type ButtonBaseProps = Polymorphic.ExtendableProps<
23
26
  disabled?: boolean;
24
27
  /** Mark the button as loading and display a spinner. */
25
28
  loading?: boolean;
29
+ /** Size of the loading progress circle in px.
30
+ * @default 24
31
+ */
32
+ progressCircleSize?: number;
26
33
  /** Mark the background and border as transparent until interacted with. */
27
34
  transparent?: boolean;
28
35
  /** Change to block and expand to 100% of parent width. */
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAOzE,eAAO,MAAM,aAAa,MAAM,CAAC;AA8FjC,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CACvD,kBAAkB,EAClB,WAAW,GACT,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAChF,WAAW,EACX,eAAe,CAChB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,oBAAoB,EACnF,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,KAC5B,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,MAAM,EAAE,eAqIpB,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQzE;;GAEG;AACH,eAAO,MAAM,aAAa,MAAM,CAAC;AAuFjC,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CACvD,kBAAkB,EAClB,WAAW,GACT,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAChF,WAAW,EACX,eAAe,CAChB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,oBAAoB,EACnF,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,KAC5B,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAEzB,eAAO,MAAM,MAAM,EAAE,eA4IpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,UAAU,CAAC;AAW/D,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EACpC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IACxE,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACpF,WAAW,EACX,mBAAmB,CACpB,CAAC;AAEF,KAAK,mBAAmB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,wBAAwB,EAC3F,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAChC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAgBzB,eAAO,MAAM,UAAU,EAAE,mBA+FxB,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EACpC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IACxE,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACpF,WAAW,EACX,mBAAmB,CACpB,CAAC;AAEF,KAAK,mBAAmB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,wBAAwB,EAC3F,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAChC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAgBzB,eAAO,MAAM,UAAU,EAAE,mBAyFxB,CAAC"}
@@ -14,5 +14,9 @@ export type CardBaseProps = Pick<SharedAccessibilityProps, 'id'> &
14
14
  };
15
15
  export type CardProps = CardBaseProps &
16
16
  Omit<BoxProps<BoxDefaultElement>, 'onClick' | 'onKeyDown' | 'onKeyUp' | 'background'>;
17
+ /**
18
+ * @deprecated Use ContentCard instead. This will be removed in a future major release.
19
+ * @deprecationExpectedRemoval v10
20
+ */
17
21
  export declare const Card: React.NamedExoticComponent<CardProps>;
18
22
  //# sourceMappingURL=Card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/cards/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAQ,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC,GAC9E,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG;IACjC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,aAAa,GACnC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAExF,eAAO,MAAM,IAAI,uCAgGf,CAAC"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/cards/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAQ,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAC9D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC,GAC9E,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG;IACjC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,aAAa,GACnC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,IAAI,uCAgGf,CAAC"}
@@ -50,6 +50,9 @@ export type CardBodyBaseProps = Pick<SharedAccessibilityProps, 'id'> &
50
50
  export type CardBodyProps = CardBodyBaseProps & Omit<BoxProps<BoxDefaultElement>, 'title'>;
51
51
  /**
52
52
  * Provides an opinionated layout for the typical content of a Card: a title, description, media, and action
53
+ *
54
+ * @deprecated Use ContentCardBody instead. This will be removed in a future major release.
55
+ * @deprecationExpectedRemoval v10
53
56
  */
54
57
  export declare const CardBody: React.NamedExoticComponent<CardBodyProps>;
55
58
  //# sourceMappingURL=CardBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardBody.d.ts","sourceRoot":"","sources":["../../src/cards/CardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGjF,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO/E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAClE,YAAY,GAAG;IACb,aAAa,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACxC,2FAA2F;IAC3F,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uFAAuF;IACvF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAoJnB,CAAC"}
1
+ {"version":3,"file":"CardBody.d.ts","sourceRoot":"","sources":["../../src/cards/CardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGjF,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO/E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAClE,YAAY,GAAG;IACb,aAAa,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACxC,2FAA2F;IAC3F,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uFAAuF;IACvF,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3F;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,2CAoJnB,CAAC"}
@@ -7,5 +7,9 @@ export type CardFooterBaseProps = Pick<SharedAccessibilityProps, 'id'> &
7
7
  children: React.ReactNode;
8
8
  };
9
9
  export type CardFooterProps = CardFooterBaseProps & Omit<BoxProps<BoxDefaultElement>, 'children'>;
10
+ /**
11
+ * @deprecated Use ContentCardFooter instead. This will be removed in a future major release.
12
+ * @deprecationExpectedRemoval v10
13
+ */
10
14
  export declare const CardFooter: React.FC<React.PropsWithChildren<CardFooterProps>>;
11
15
  //# sourceMappingURL=CardFooter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardFooter.d.ts","sourceRoot":"","sources":["../../src/cards/CardFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GACpE,YAAY,GAAG;IACb,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC;AAElG,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAQzE,CAAC"}
1
+ {"version":3,"file":"CardFooter.d.ts","sourceRoot":"","sources":["../../src/cards/CardFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG3E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,GACpE,YAAY,GAAG;IACb,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC;AAElG;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAQzE,CAAC"}
@@ -1,8 +1,20 @@
1
1
  import React from 'react';
2
2
  import type { GroupProps, RenderGroupItem } from '../layout/Group';
3
+ /**
4
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
5
+ * @deprecationExpectedRemoval v10
6
+ */
3
7
  export type CardGroupBaseProps = Omit<GroupProps, 'horizontal'>;
8
+ /**
9
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
10
+ * @deprecationExpectedRemoval v10
11
+ */
4
12
  export type CardGroupProps = CardGroupBaseProps;
5
13
  export type CardGroupRenderItem = RenderGroupItem;
14
+ /**
15
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
16
+ * @deprecationExpectedRemoval v10
17
+ */
6
18
  export declare const CardGroup: React.MemoExoticComponent<
7
19
  React.ForwardRefExoticComponent<
8
20
  Omit<CardGroupBaseProps, 'ref'> & React.RefAttributes<HTMLDivElement>
@@ -1 +1 @@
1
- {"version":3,"file":"CardGroup.d.ts","sourceRoot":"","sources":["../../src/cards/CardGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,eAAO,MAAM,SAAS,mIAiBrB,CAAC"}
1
+ {"version":3,"file":"CardGroup.d.ts","sourceRoot":"","sources":["../../src/cards/CardGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAChE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,SAAS,mIAiBrB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { CardHeaderProps } from '@coinbase/cds-common/types';
3
+ /**
4
+ * @deprecated Use ContentCardHeader instead. This will be removed in a future major release.
5
+ * @deprecationExpectedRemoval v10
6
+ */
3
7
  export declare const CardHeader: React.NamedExoticComponent<CardHeaderProps>;
4
8
  //# sourceMappingURL=CardHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../src/cards/CardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE,eAAO,MAAM,UAAU,6CA+BrB,CAAC"}
1
+ {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../src/cards/CardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE;;;GAGG;AACH,eAAO,MAAM,UAAU,6CA+BrB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { CardMediaProps } from '@coinbase/cds-common/types';
3
+ /**
4
+ * @deprecated Use SpotSquare when `type` is "spotSquare", Pictogram when `type` is "pictogram", or RemoteImage when `type` is "image". This will be removed in a future major release.
5
+ * @deprecationExpectedRemoval v10
6
+ */
3
7
  export declare const CardMedia: React.NamedExoticComponent<CardMediaProps>;
4
8
  //# sourceMappingURL=CardMedia.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardMedia.d.ts","sourceRoot":"","sources":["../../src/cards/CardMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAMpC,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,4BAA4B,CAAC;AAkBpC,eAAO,MAAM,SAAS,4CAoCpB,CAAC"}
1
+ {"version":3,"file":"CardMedia.d.ts","sourceRoot":"","sources":["../../src/cards/CardMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAMpC,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,4BAA4B,CAAC;AAkBpC;;;GAGG;AACH,eAAO,MAAM,SAAS,4CAoCpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/controls/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAa,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtF,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAUF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,kBAAkB,EAChB,mBAAmB,GACnB,oBAAoB,GACpB,yBAAyB,GACzB,UAAU,GACV,cAAc,GACd,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,oBAAoB,GACpB,uCAAuC,GACvC,MAAM,GACN,aAAa,GACb,QAAQ,GACR,WAAW,GACX,OAAO,CACV,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IACtD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,cAAc,GAAG;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACnC,CAAC;AAEJ,eAAO,MAAM,WAAW,mIA8FvB,CAAC"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/controls/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAO3D,OAAO,EAAa,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtF,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,kBAAkB,EAChB,mBAAmB,GACnB,oBAAoB,GACpB,yBAAyB,GACzB,UAAU,GACV,cAAc,GACd,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,oBAAoB,GACpB,uCAAuC,GACvC,MAAM,GACN,aAAa,GACb,QAAQ,GACR,WAAW,GACX,OAAO,CACV,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IACtD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,cAAc,GAAG;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACnC,CAAC;AAEJ,eAAO,MAAM,WAAW,mIA+FvB,CAAC"}
@@ -7,6 +7,10 @@ export type SpinnerBaseProps = {
7
7
  size: number;
8
8
  };
9
9
  export type SpinnerProps = SpinnerBaseProps & BoxProps<BoxDefaultElement>;
10
+ /**
11
+ * @deprecated Use indeterminate ProgressCircle component instead. This will be removed in a future major release.
12
+ * @deprecationExpectedRemoval v10
13
+ */
10
14
  export declare const Spinner: React.MemoExoticComponent<
11
15
  ({
12
16
  color,
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/loaders/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAO,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAgC1E,eAAO,MAAM,OAAO,sGASf,YAAY,6CAwBhB,CAAC"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/loaders/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAO,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAgC1E;;;GAGG;AACH,eAAO,MAAM,OAAO,sGASf,YAAY,6CAwBhB,CAAC"}
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { ProgressCircleContentProps } from './ProgressCircle';
3
- export declare const DefaultProgressCircleContent: React.MemoExoticComponent<
2
+ export declare const DefaultProgressCircleContent: import('react').MemoExoticComponent<
4
3
  ({
5
4
  progress,
6
5
  disableAnimateOnMount,
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultProgressCircleContent.d.ts","sourceRoot":"","sources":["../../src/visualizations/DefaultProgressCircleContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,eAAO,MAAM,4BAA4B,oFAMpC,0BAA0B,6CAU9B,CAAC"}
1
+ {"version":3,"file":"DefaultProgressCircleContent.d.ts","sourceRoot":"","sources":["../../src/visualizations/DefaultProgressCircleContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,eAAO,MAAM,4BAA4B,8FAMpC,0BAA0B,6CAU9B,CAAC"}
@@ -6,7 +6,7 @@ export type ProgressBaseProps = SharedProps &
6
6
  Pick<HintMotionBaseProps, 'disableAnimateOnMount'> &
7
7
  Pick<SharedAccessibilityProps, 'accessibilityLabel'> & {
8
8
  /** Number between 0-1 representing the progress percentage */
9
- progress: number;
9
+ progress?: number;
10
10
  /** Toggle used to change thickness of progress visualization
11
11
  * @default normal
12
12
  * */
@@ -53,7 +53,7 @@ export declare const ProgressBar: React.MemoExoticComponent<
53
53
  Pick<HintMotionBaseProps, 'disableAnimateOnMount'> &
54
54
  Pick<SharedAccessibilityProps, 'accessibilityLabel'> & {
55
55
  /** Number between 0-1 representing the progress percentage */
56
- progress: number;
56
+ progress?: number;
57
57
  /** Toggle used to change thickness of progress visualization
58
58
  * @default normal
59
59
  * */
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAOhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GACzC,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GAClD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB;;SAEK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC,CAAC;IACF,8EAA8E;IAC9E,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAQF,eAAO,MAAM,WAAW;IAlDpB,8DAA8D;cACpD,MAAM;IAChB;;SAEK;aACI,MAAM;IACf;;OAEG;eACQ,OAAO;IAClB;;;OAGG;YACK,SAAS,CAAC,KAAK;IACvB;;OAEG;qBACc,MAAM,IAAI;IAC3B;;OAEG;uBACgB,MAAM,IAAI;;YAIvB,KAAK,CAAC,aAAa;gBACf,MAAM;IAClB,yEAAyE;aAChE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC;IACD,8EAA8E;iBACjE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;yCA2FF,CAAC"}
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAOhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GACzC,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GAClD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;SAEK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC,CAAC;IACF,8EAA8E;IAC9E,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAQF,eAAO,MAAM,WAAW;IAlDpB,8DAA8D;eACnD,MAAM;IACjB;;SAEK;aACI,MAAM;IACf;;OAEG;eACQ,OAAO;IAClB;;;OAGG;YACK,SAAS,CAAC,KAAK;IACvB;;OAEG;qBACc,MAAM,IAAI;IAC3B;;OAEG;uBACgB,MAAM,IAAI;;YAIvB,KAAK,CAAC,aAAa;gBACf,MAAM;IAClB,yEAAyE;aAChE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC;IACD,8EAA8E;iBACjE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;yCA2FF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBarWithFloatLabel.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBarWithFloatLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAc5D,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,8BAA8B,EAC5B,OAAO,GACP,UAAU,GACV,uBAAuB,GACvB,UAAU,GACV,gBAAgB,GAChB,QAAQ,GACR,YAAY,CACf,CAAC;AA0GF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,iBAAiB,EACjB,UAAU,GAAG,uBAAuB,GAAG,UAAU,GAAG,QAAQ,CAC7D,GAAG;IACF,yHAAyH;IACzH,KAAK,EAAE,gBAAgB,CAAC;IACxB;;;SAGK;IACL,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,8BAA8B;QAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACrC,oBAAoB;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;IACF,4FAA4F;IAC5F,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,8BAA8B;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAwCxD,CAAC"}
1
+ {"version":3,"file":"ProgressBarWithFloatLabel.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBarWithFloatLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAa5D,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,8BAA8B,EAC5B,OAAO,GACP,UAAU,GACV,uBAAuB,GACvB,UAAU,GACV,gBAAgB,GAChB,QAAQ,GACR,YAAY,CACf,CAAC;AA8FF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,iBAAiB,EACjB,UAAU,GAAG,uBAAuB,GAAG,UAAU,GAAG,QAAQ,CAC7D,GAAG;IACF,yHAAyH;IACzH,KAAK,EAAE,gBAAgB,CAAC;IACxB;;;SAGK;IACL,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,8BAA8B;QAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACrC,oBAAoB;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;IACF,4FAA4F;IAC5F,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,8BAA8B;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAwCxD,CAAC"}
@@ -23,6 +23,10 @@ export type ProgressCircleBaseProps = ProgressBaseProps & {
23
23
  * Optional component to override the default content rendered inside the circle.
24
24
  */
25
25
  contentNode?: React.ReactNode;
26
+ /**
27
+ * Toggle used to show an indeterminate progress circle.
28
+ */
29
+ indeterminate?: boolean;
26
30
  };
27
31
  export type ProgressCircleProps = ProgressCircleBaseProps & {
28
32
  style?: React.CSSProperties;
@@ -65,7 +69,7 @@ export declare const ProgressCircle: React.MemoExoticComponent<
65
69
  import('@coinbase/cds-common').SharedProps &
66
70
  Pick<import('../motion/types').HintMotionBaseProps, 'disableAnimateOnMount'> &
67
71
  Pick<import('@coinbase/cds-common').SharedAccessibilityProps, 'accessibilityLabel'> & {
68
- progress: number;
72
+ progress?: number;
69
73
  weight?: import('@coinbase/cds-common').Weight;
70
74
  disabled?: boolean;
71
75
  color?: ThemeVars.Color;
@@ -93,6 +97,10 @@ export declare const ProgressCircle: React.MemoExoticComponent<
93
97
  * Optional component to override the default content rendered inside the circle.
94
98
  */
95
99
  contentNode?: React.ReactNode;
100
+ /**
101
+ * Toggle used to show an indeterminate progress circle.
102
+ */
103
+ indeterminate?: boolean;
96
104
  } & {
97
105
  style?: React.CSSProperties;
98
106
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressCircle.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAatD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAWvD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,kBAAkB;QAClB,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1B,gCAAgC;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,yCAAyC;QACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC,CAAC;IACF,iFAAiF;IACjF,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,gCAAgC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,yCAAyC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,uBAAuB,EACvB,UAAU,GAAG,uBAAuB,GAAG,UAAU,CAClD,GAAG;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACzB,CAAC;AAkEF,eAAO,MAAM,cAAc;;;;;;;;IA7HzB;;OAEG;kBACW,OAAO;IACrB;;;;OAIG;eACQ,OAAO;IAClB;;;;;OAKG;WACI,MAAM;IACb;;OAEG;kBACW,KAAK,CAAC,SAAS;;YAIrB,KAAK,CAAC,aAAa;gBACf,MAAM;IAClB,4EAA4E;aACnE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,kBAAkB;QAClB,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1B,gCAAgC;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,yCAAyC;QACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC;IACD,iFAAiF;iBACpE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,gCAAgC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,yCAAyC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;yCAkMF,CAAC"}
1
+ {"version":3,"file":"ProgressCircle.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAavD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,kBAAkB;QAClB,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1B,gCAAgC;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,yCAAyC;QACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC,CAAC;IACF,iFAAiF;IACjF,UAAU,CAAC,EAAE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,gCAAgC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,yCAAyC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,uBAAuB,EACvB,UAAU,GAAG,uBAAuB,GAAG,UAAU,CAClD,GAAG;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACzB,CAAC;AA6EF,eAAO,MAAM,cAAc;;;;;;;;IA5IzB;;OAEG;kBACW,OAAO;IACrB;;;;OAIG;eACQ,OAAO;IAClB;;;;;OAKG;WACI,MAAM;IACb;;OAEG;kBACW,KAAK,CAAC,SAAS;IAC7B;;OAEG;oBACa,OAAO;;YAIf,KAAK,CAAC,aAAa;gBACf,MAAM;IAClB,4EAA4E;aACnE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,kBAAkB;QAClB,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1B,gCAAgC;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC7B,yCAAyC;QACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAChC;IACD,iFAAiF;iBACpE;QACX,mBAAmB;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,gCAAgC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,yCAAyC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;yCAmNF,CAAC"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["as", "variant", "loading", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "className", "height", "borderColor", "borderWidth", "borderRadius", "accessibilityLabel", "padding", "paddingX", "margin", "minWidth"];
1
+ const _excluded = ["as", "variant", "loading", "progressCircleSize", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "className", "height", "borderColor", "borderWidth", "borderRadius", "accessibilityLabel", "padding", "paddingX", "margin", "minWidth"];
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; }
@@ -10,13 +10,18 @@ import React, { forwardRef, memo } from 'react';
10
10
  import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
11
11
  import { cx } from '../cx';
12
12
  import { Icon } from '../icons/Icon';
13
- import { Spinner } from '../loaders/Spinner';
14
13
  import { Pressable } from '../system/Pressable';
15
14
  import { Text } from '../typography/Text';
15
+ import { ProgressCircle } from '../visualizations';
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const COMPONENT_STATIC_CLASSNAME = 'cds-Button';
18
18
  const DEFAULT_MIN_WIDTH = 100;
19
+
20
+ /** @deprecated Use progressCircleSize instead. This will be removed in a future major release.
21
+ * @deprecationExpectedRemoval v10
22
+ */
19
23
  export const spinnerHeight = 2.5;
24
+ const defaultProgressCircleSize = 24;
20
25
  const baseCss = "baseCss-b99zquh";
21
26
  const blockCss = "blockCss-b9yox33";
22
27
  const spinnerContainerCss = "spinnerContainerCss-s1bhvbb9";
@@ -29,20 +34,13 @@ const middleNodeCss = "middleNodeCss-m1avpq52";
29
34
  const flushSpaceCss = "flushSpaceCss-f69rtgb";
30
35
  const flushStartCss = "flushStartCss-f1aod6bi";
31
36
  const flushEndCss = "flushEndCss-fz9snbo";
32
- const spinnerStyle = {
33
- width: '24px',
34
- height: '24px',
35
- border: '2px solid',
36
- borderTopColor: 'var(--color-transparent)',
37
- borderRightColor: 'var(--color-transparent)',
38
- borderLeftColor: 'var(--color-transparent)'
39
- };
40
37
  export const buttonDefaultElement = 'button';
41
38
  export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
42
39
  let {
43
40
  as,
44
41
  variant = 'primary',
45
42
  loading,
43
+ progressCircleSize = defaultProgressCircleSize,
46
44
  transparent,
47
45
  block,
48
46
  compact,
@@ -123,10 +121,12 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
123
121
  className: middleNodeCss,
124
122
  children: [loading && /*#__PURE__*/_jsx("span", {
125
123
  className: spinnerContainerCss,
126
- children: /*#__PURE__*/_jsx(Spinner, {
124
+ children: /*#__PURE__*/_jsx(ProgressCircle, {
125
+ indeterminate: true,
126
+ accessibilityLabel: "Loading",
127
127
  color: "currentColor",
128
- size: spinnerHeight,
129
- style: spinnerStyle
128
+ size: progressCircleSize,
129
+ weight: "thin"
130
130
  })
131
131
  }), /*#__PURE__*/_jsx(Text, {
132
132
  color: "currentColor",
@@ -1,4 +1,3 @@
1
- @layer cds{.baseSpinnerCss-b1po8mo6{border:2px solid;border-top-color:var(--color-transparent);border-right-color:var(--color-transparent);border-left-color:var(--color-transparent);}
2
- .flushSpaceCss-fqg7x6g{min-width:unset;padding-inline-start:var(--space-2);padding-inline-end:var(--space-2);}
3
- .flushStartCss-f18p387c{margin-inline-start:calc(var(--space-2) * -1);}
4
- .flushEndCss-f10uyuq9{margin-inline-end:calc(var(--space-2) * -1);}}
1
+ @layer cds{.flushSpaceCss-f1po8mo6{min-width:unset;padding-inline-start:var(--space-2);padding-inline-end:var(--space-2);}
2
+ .flushStartCss-fqg7x6g{margin-inline-start:calc(var(--space-2) * -1);}
3
+ .flushEndCss-f18p387c{margin-inline-end:calc(var(--space-2) * -1);}}
@@ -1,4 +1,4 @@
1
- const _excluded = ["as", "variant", "transparent", "compact", "background", "color", "borderColor", "borderRadius", "borderWidth", "alignItems", "justifyContent", "height", "width", "className", "name", "iconSize", "active", "flush", "loading", "accessibilityLabel", "accessibilityHint"];
1
+ const _excluded = ["as", "variant", "transparent", "compact", "background", "color", "borderColor", "borderRadius", "borderWidth", "alignItems", "justifyContent", "height", "width", "className", "name", "iconSize", "active", "flush", "loading", "progressCircleSize", "accessibilityLabel", "accessibilityHint"];
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; }
@@ -6,21 +6,19 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
6
  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
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
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, { forwardRef, memo } from 'react';
10
10
  import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
11
11
  import { cx } from '../cx';
12
12
  import { useTheme } from '../hooks/useTheme';
13
13
  import { Icon } from '../icons/Icon';
14
- import { Spinner } from '../loaders/Spinner';
15
14
  import { Pressable } from '../system/Pressable';
16
- import { spinnerHeight } from './Button';
15
+ import { ProgressCircle } from '../visualizations/ProgressCircle';
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
18
17
  const COMPONENT_STATIC_CLASSNAME = 'cds-IconButton';
19
- const baseSpinnerCss = "baseSpinnerCss-b1po8mo6";
20
18
  export const iconButtonDefaultElement = 'button';
21
- const flushSpaceCss = "flushSpaceCss-fqg7x6g";
22
- const flushStartCss = "flushStartCss-f18p387c";
23
- const flushEndCss = "flushEndCss-f10uyuq9";
19
+ const flushSpaceCss = "flushSpaceCss-f1po8mo6";
20
+ const flushStartCss = "flushStartCss-fqg7x6g";
21
+ const flushEndCss = "flushEndCss-f18p387c";
24
22
  export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
25
23
  let {
26
24
  as,
@@ -43,6 +41,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
43
41
  active,
44
42
  flush,
45
43
  loading,
44
+ progressCircleSize,
46
45
  accessibilityLabel,
47
46
  accessibilityHint
48
47
  } = _ref,
@@ -50,10 +49,6 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
50
49
  const Component = as !== null && as !== void 0 ? as : iconButtonDefaultElement;
51
50
  const theme = useTheme();
52
51
  const iconSizeValue = theme.iconSize[iconSize];
53
- const spinnerSizeStyles = useMemo(() => ({
54
- width: iconSizeValue,
55
- height: iconSizeValue
56
- }), [iconSizeValue]);
57
52
  const variantMap = transparent ? transparentVariants : variants;
58
53
  const variantStyle = variantMap[variant];
59
54
  const colorValue = color !== null && color !== void 0 ? color : variantStyle.color;
@@ -81,12 +76,13 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
81
76
  transparentWhileInactive: transparent,
82
77
  width: width
83
78
  }, props), {}, {
84
- children: loading ? /*#__PURE__*/_jsx(Spinner, {
85
- className: baseSpinnerCss,
79
+ children: loading ? /*#__PURE__*/_jsx(ProgressCircle, {
80
+ indeterminate: true,
81
+ accessibilityLabel: "Loading",
86
82
  color: "currentColor",
87
- size: spinnerHeight,
88
- style: spinnerSizeStyles,
89
- testID: props.testID ? "".concat(props.testID, "-spinner") : undefined
83
+ size: progressCircleSize !== null && progressCircleSize !== void 0 ? progressCircleSize : iconSizeValue,
84
+ testID: props.testID ? "".concat(props.testID, "-progress-circle") : undefined,
85
+ weight: "thin"
90
86
  }) : /*#__PURE__*/_jsx(Icon, {
91
87
  active: active,
92
88
  color: "currentColor",
package/esm/cards/Card.js CHANGED
@@ -11,6 +11,10 @@ import { cardSizes } from '@coinbase/cds-common/tokens/card';
11
11
  import { VStack } from '../layout/VStack';
12
12
  import { Pressable } from '../system/Pressable';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ /**
15
+ * @deprecated Use ContentCard instead. This will be removed in a future major release.
16
+ * @deprecationExpectedRemoval v10
17
+ */
14
18
  export const Card = /*#__PURE__*/memo(function Card(_ref) {
15
19
  var _ref2;
16
20
  let {
@@ -16,6 +16,9 @@ import { CardMedia } from './CardMedia';
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  /**
18
18
  * Provides an opinionated layout for the typical content of a Card: a title, description, media, and action
19
+ *
20
+ * @deprecated Use ContentCardBody instead. This will be removed in a future major release.
21
+ * @deprecationExpectedRemoval v10
19
22
  */
20
23
  export const CardBody = /*#__PURE__*/memo(function CardBody(_ref) {
21
24
  var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _props$maxWidth, _props$minHeight;
@@ -10,6 +10,10 @@ import React, { memo } from 'react';
10
10
  import { gutter } from '@coinbase/cds-common/tokens/sizing';
11
11
  import { HStack } from '../layout/HStack';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * @deprecated Use ContentCardFooter instead. This will be removed in a future major release.
15
+ * @deprecationExpectedRemoval v10
16
+ */
13
17
  export const CardFooter = /*#__PURE__*/memo(function CardFooter(_ref) {
14
18
  let {
15
19
  children,
@@ -9,7 +9,21 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
9
9
  import React, { forwardRef, memo } from 'react';
10
10
  import { Divider } from '../layout/Divider';
11
11
  import { Group } from '../layout/Group';
12
+
13
+ /**
14
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
15
+ * @deprecationExpectedRemoval v10
16
+ */
17
+
18
+ /**
19
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
20
+ * @deprecationExpectedRemoval v10
21
+ */
12
22
  import { jsx as _jsx } from "react/jsx-runtime";
23
+ /**
24
+ * @deprecated Use `Box`, `HStack` or `VStack` instead. This will be removed in a future major release.
25
+ * @deprecationExpectedRemoval v10
26
+ */
13
27
  export const CardGroup = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function CardGroup(_ref, ref) {
14
28
  let {
15
29
  accessibilityLabel,
@@ -4,6 +4,11 @@ import { HStack } from '../layout/HStack';
4
4
  import { VStack } from '../layout/VStack';
5
5
  import { Avatar } from '../media/Avatar';
6
6
  import { Text } from '../typography/Text';
7
+
8
+ /**
9
+ * @deprecated Use ContentCardHeader instead. This will be removed in a future major release.
10
+ * @deprecationExpectedRemoval v10
11
+ */
7
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
13
  export const CardHeader = /*#__PURE__*/memo(function CardHeader(_ref) {
9
14
  let {
@@ -23,6 +23,11 @@ const imageProps = {
23
23
  },
24
24
  end: defaultMediaSize
25
25
  };
26
+
27
+ /**
28
+ * @deprecated Use SpotSquare when `type` is "spotSquare", Pictogram when `type` is "pictogram", or RemoteImage when `type` is "image". This will be removed in a future major release.
29
+ * @deprecationExpectedRemoval v10
30
+ */
26
31
  export const CardMedia = /*#__PURE__*/memo(function CardMedia(_ref) {
27
32
  let {
28
33
  placement = 'end'
@@ -1,4 +1,4 @@
1
- const _excluded = ["onChange", "onClear", "onChangeText", "onSearch", "testID", "value", "compact", "hideStartIcon", "hideEndIcon", "startIcon", "end", "startIconAccessibilityLabel", "clearIconAccessibilityLabel", "borderRadius"];
1
+ const _excluded = ["onChange", "onClear", "onChangeText", "onSearch", "testID", "value", "compact", "hideStartIcon", "hideEndIcon", "startIcon", "end", "startIconAccessibilityLabel", "clearIconAccessibilityLabel", "borderRadius", "height"];
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,7 +8,6 @@ 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, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';
10
10
  import { useMergeRefs } from '@coinbase/cds-common/hooks/useMergeRefs';
11
- import { cx } from '../cx';
12
11
  import { Box } from '../layout/Box';
13
12
  import { InputIcon } from './InputIcon';
14
13
  import { InputIconButton } from './InputIconButton';
@@ -18,8 +17,6 @@ export const scales = {
18
17
  regular: 56,
19
18
  compact: 40
20
19
  };
21
- const baseCss = "baseCss-b1xygpjx";
22
- const compactCss = "compactCss-cczlfjm";
23
20
  export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function SearchInput(_ref, ref) {
24
21
  let {
25
22
  onChange,
@@ -35,7 +32,8 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Se
35
32
  end,
36
33
  startIconAccessibilityLabel = 'Back',
37
34
  clearIconAccessibilityLabel = 'Clear search query',
38
- borderRadius = 1000
35
+ borderRadius = 1000,
36
+ height = compact ? scales.compact : scales.regular
39
37
  } = _ref,
40
38
  props = _objectWithoutProperties(_ref, _excluded);
41
39
  const internalRef = useRef(null);
@@ -61,7 +59,6 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Se
61
59
  return /*#__PURE__*/_jsx(TextInput, _objectSpread({
62
60
  ref: refs,
63
61
  borderRadius: borderRadius,
64
- className: cx(baseCss, compact && compactCss),
65
62
  end: end !== null && end !== void 0 ? end : !!value && !hideEndIcon && /*#__PURE__*/_jsx(Box, {
66
63
  marginEnd: compact ? -0.5 : 0,
67
64
  paddingEnd: compact ? 0 : 0.5,
@@ -72,6 +69,7 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Se
72
69
  testID: testID && "".concat(testID, "-close-iconbtn")
73
70
  })
74
71
  }),
72
+ height: height,
75
73
  onChange: handleOnChange,
76
74
  onKeyUp: handleOnKeyUp,
77
75
  role: "searchbox",
@@ -85,5 +83,4 @@ export const SearchInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Se
85
83
  value: value,
86
84
  variant: "secondary"
87
85
  }, props));
88
- }));
89
- import "./SearchInput.css";
86
+ }));
@@ -13,6 +13,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const COMPONENT_STATIC_CLASSNAME = 'cds-Spinner';
14
14
  const baseCss = "baseCss-bggfp25";
15
15
  const spinnerStatusCss = "spinnerStatusCss-s1pli158";
16
+
17
+ /**
18
+ * @deprecated Use indeterminate ProgressCircle component instead. This will be removed in a future major release.
19
+ * @deprecationExpectedRemoval v10
20
+ */
16
21
  export const Spinner = /*#__PURE__*/memo(_ref => {
17
22
  let {
18
23
  color = 'fgMuted',
@@ -1,9 +1,9 @@
1
- import React, { memo } from 'react';
1
+ import { memo } from 'react';
2
2
  import { ProgressTextLabel } from './ProgressTextLabel';
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  export const DefaultProgressCircleContent = /*#__PURE__*/memo(_ref => {
5
5
  let {
6
- progress,
6
+ progress = 0,
7
7
  disableAnimateOnMount,
8
8
  disabled,
9
9
  color = 'fgMuted'
@@ -5,7 +5,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
5
5
  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); }
6
6
  import React, { forwardRef, memo } from 'react';
7
7
  import { animateProgressBaseSpec } from '@coinbase/cds-common/animation/progress';
8
- import { useProgressSize } from '@coinbase/cds-common/visualizations/useProgressSize';
8
+ import { getProgressSize } from '@coinbase/cds-common/visualizations/getProgressSize';
9
9
  import { m as motion } from 'framer-motion';
10
10
  import { cx } from '../cx';
11
11
  import { Box, HStack } from '../layout';
@@ -17,7 +17,7 @@ const boxCss = "boxCss-bnvjmt8";
17
17
  export const ProgressBar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, forwardedRef) => {
18
18
  let {
19
19
  weight = 'normal',
20
- progress,
20
+ progress = 0,
21
21
  color = 'bgPrimary',
22
22
  disabled,
23
23
  disableAnimateOnMount,
@@ -30,7 +30,7 @@ export const ProgressBar = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, forw
30
30
  onAnimationEnd,
31
31
  onAnimationStart
32
32
  } = _ref;
33
- const height = useProgressSize(weight);
33
+ const height = getProgressSize(weight);
34
34
 
35
35
  // start position of the progress bar on mount
36
36
  const initialTranslateX = isRtl() ? 100 : -100;
@@ -3,31 +3,30 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
3
3
  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; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  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); }
6
- import React, { memo, useCallback, useRef, useState } from 'react';
6
+ import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
7
7
  import { animateProgressBaseSpec } from '@coinbase/cds-common/animation/progress';
8
- import { usePreviousValues } from '@coinbase/cds-common/hooks/usePreviousValues';
9
8
  import { isStorybook } from '@coinbase/cds-utils';
10
- import { m as motion, useAnimation } from 'framer-motion';
9
+ import { m as motion } from 'framer-motion';
11
10
  import { cx } from '../cx';
12
11
  import { useDimensions } from '../hooks/useDimensions';
13
- import { useIsoEffect } from '../hooks/useIsoEffect';
14
12
  import { Box } from '../layout/Box';
15
13
  import { VStack } from '../layout/VStack';
16
- import { convertTransition } from '../motion/utils';
14
+ import { useMotionProps } from '../motion/useMotionProps';
17
15
  import { isRtl } from '../utils/isRtl';
18
16
  import { getProgressBarLabelParts } from './getProgressBarLabelParts';
17
+ const MotionBox = motion(Box);
19
18
  import { ProgressTextLabel } from './ProgressTextLabel';
20
19
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
20
  const floatingTextContainerCss = "floatingTextContainerCss-f11geujd";
22
21
  const motionStyle = {
23
22
  originX: isRtl() ? 'left' : 'right'
24
23
  };
24
+ const getEndTranslateX = (containerWidth, textContainerWidth, progress) => isRtl() ? Math.min(containerWidth - textContainerWidth, containerWidth - containerWidth * progress) : Math.max(0, containerWidth * progress - textContainerWidth);
25
25
  const ProgressBarFloatLabel = /*#__PURE__*/memo(_ref => {
26
- var _getPreviousPercent;
27
26
  let {
28
27
  label,
29
28
  disabled,
30
- progress,
29
+ progress = 0,
31
30
  disableAnimateOnMount,
32
31
  labelPlacement,
33
32
  styles,
@@ -35,16 +34,7 @@ const ProgressBarFloatLabel = /*#__PURE__*/memo(_ref => {
35
34
  } = _ref;
36
35
  const containerRef = useRef(null);
37
36
  const textContainerRef = useRef(null);
38
- const {
39
- getPreviousValue: getPreviousPercent,
40
- addPreviousValue: addPreviousPercent
41
- } = usePreviousValues([disableAnimateOnMount ? progress : 0]);
42
- const animationControls = useAnimation();
43
- const [hasAnimationMounted, setHasAnimationMounted] = useState(!disableAnimateOnMount);
44
- addPreviousPercent(progress);
45
- const previousPercent = (_getPreviousPercent = getPreviousPercent()) !== null && _getPreviousPercent !== void 0 ? _getPreviousPercent : 0;
46
-
47
- // the animation uses a pixel translate which is outdated on a window resize, we have to account for this
37
+ const [targetX, setTargetX] = useState(null);
48
38
  const {
49
39
  observe,
50
40
  width: cWidth,
@@ -54,29 +44,29 @@ const ProgressBarFloatLabel = /*#__PURE__*/memo(_ref => {
54
44
  value: labelNum,
55
45
  render: renderLabel
56
46
  } = getProgressBarLabelParts(label);
57
- useIsoEffect(() => {
58
- if (textContainerRef.current && containerRef.current && cHeight > 0 && cWidth > 0) {
59
- const containerWidth = containerRef.current.offsetWidth;
60
- const textContainerWidth = textContainerRef.current.offsetWidth;
61
- const startLeftTranslate = isRtl() ? Math.min(containerWidth - textContainerWidth, containerWidth - containerWidth * previousPercent) : Math.max(0, containerWidth * previousPercent - textContainerWidth);
62
- const endLeftTranslate = isRtl() ? Math.min(containerWidth - textContainerWidth, containerWidth - containerWidth * progress) : Math.max(0, containerWidth * progress - textContainerWidth);
63
- if (!hasAnimationMounted && disableAnimateOnMount) {
64
- void animationControls.set({
65
- x: endLeftTranslate
66
- });
67
- setHasAnimationMounted(true);
68
- } else {
69
- void animationControls.start({
70
- x: [startLeftTranslate, endLeftTranslate],
71
- transition: convertTransition(animateProgressBaseSpec)
72
- });
73
- }
74
- }
75
- }, [progress, cWidth, cHeight, previousPercent, disableAnimateOnMount]);
47
+ useEffect(() => {
48
+ var _containerRef$current, _containerRef$current2, _textContainerRef$cur, _textContainerRef$cur2;
49
+ if (cWidth <= 0 || cHeight <= 0) return;
50
+ const containerWidth = (_containerRef$current = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.offsetWidth) !== null && _containerRef$current !== void 0 ? _containerRef$current : cWidth;
51
+ const textContainerWidth = (_textContainerRef$cur = (_textContainerRef$cur2 = textContainerRef.current) === null || _textContainerRef$cur2 === void 0 ? void 0 : _textContainerRef$cur2.offsetWidth) !== null && _textContainerRef$cur !== void 0 ? _textContainerRef$cur : 0;
52
+ setTargetX(getEndTranslateX(containerWidth, textContainerWidth, progress));
53
+ }, [progress, cWidth, cHeight]);
76
54
  const setupContainerRef = useCallback(ref => {
77
55
  containerRef.current = ref;
78
56
  observe(ref);
79
57
  }, [observe]);
58
+ const motionProps = useMotionProps({
59
+ style: motionStyle,
60
+ animate: {
61
+ x: targetX !== null && targetX !== void 0 ? targetX : 0,
62
+ opacity: targetX !== null ? 1 : 0
63
+ },
64
+ initial: !progress || disableAnimateOnMount ? false : {
65
+ x: 0,
66
+ opacity: 0
67
+ },
68
+ transition: animateProgressBaseSpec
69
+ });
80
70
  return /*#__PURE__*/_jsx(Box, {
81
71
  ref: setupContainerRef,
82
72
  alignItems: "center",
@@ -86,14 +76,14 @@ const ProgressBarFloatLabel = /*#__PURE__*/memo(_ref => {
86
76
  style: styles === null || styles === void 0 ? void 0 : styles.labelContainer,
87
77
  testID: "cds-progress-label-container",
88
78
  width: "100%",
89
- children: /*#__PURE__*/_jsx(motion.div, {
79
+ children: /*#__PURE__*/_jsx(MotionBox, {
90
80
  ref: textContainerRef,
91
- animate: animationControls,
81
+ animate: motionProps.animate,
92
82
  className: floatingTextContainerCss,
93
83
  "data-testid": "cds-progress-bar-float-label",
94
- style: _objectSpread(_objectSpread({}, motionStyle), {}, {
95
- opacity: hasAnimationMounted ? 1 : 0
96
- }),
84
+ initial: motionProps.initial,
85
+ style: motionProps.style,
86
+ transition: motionProps.transition,
97
87
  children: /*#__PURE__*/_jsx(ProgressTextLabel, {
98
88
  className: classNames === null || classNames === void 0 ? void 0 : classNames.label,
99
89
  color: "fgMuted",
@@ -1 +1,2 @@
1
- @layer cds{.svgCss-sq4tjn4{display:block;max-width:100%;}}
1
+ @layer cds{.svgCss-sq4tjn4{display:block;max-width:100%;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}
2
+ .indeterminateProgressCircleCss-iqcdca3{-webkit-animation:spin-indeterminateProgressCircleCss-iqcdca3 1000ms linear infinite;animation:spin-indeterminateProgressCircleCss-iqcdca3 1000ms linear infinite;}@-webkit-keyframes spin-indeterminateProgressCircleCss-iqcdca3{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes spin-indeterminateProgressCircleCss-iqcdca3{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}}
@@ -5,9 +5,8 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
5
5
  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); }
6
6
  import React, { forwardRef, memo, useRef } from 'react';
7
7
  import { animateProgressBaseSpec } from '@coinbase/cds-common/animation/progress';
8
- import { getCircumference, getRadius } from '@coinbase/cds-common/utils/circle';
9
8
  import { getProgressCircleParams } from '@coinbase/cds-common/visualizations/getProgressCircleParams';
10
- import { useProgressSize } from '@coinbase/cds-common/visualizations/useProgressSize';
9
+ import { getProgressSize } from '@coinbase/cds-common/visualizations/getProgressSize';
11
10
  import { m as motion } from 'framer-motion';
12
11
  import { cx } from '../cx';
13
12
  import { Box } from '../layout/Box';
@@ -16,12 +15,13 @@ import { DefaultProgressCircleContent } from './DefaultProgressCircleContent';
16
15
  import { VisualizationContainer } from './VisualizationContainer';
17
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
17
  const svgCss = "svgCss-sq4tjn4";
18
+ const indeterminateProgressCircleCss = "indeterminateProgressCircleCss-iqcdca3";
19
19
  const ProgressCircleInner = /*#__PURE__*/memo(_ref => {
20
20
  let {
21
+ strokeWidth,
21
22
  size,
22
- progress,
23
+ progress = 0,
23
24
  color,
24
- weight,
25
25
  visuallyDisabled,
26
26
  style,
27
27
  className,
@@ -29,10 +29,8 @@ const ProgressCircleInner = /*#__PURE__*/memo(_ref => {
29
29
  onAnimationStart,
30
30
  disableAnimateOnMount
31
31
  } = _ref;
32
- const strokeWidth = useProgressSize(weight);
33
32
  const circleRef = useRef(null);
34
- const circumference = getCircumference(getRadius(size, strokeWidth));
35
- const progressOffset = (1 - progress) * circumference;
33
+ const progressOffset = 1 - progress;
36
34
  const motionProps = useMotionProps({
37
35
  style: _objectSpread(_objectSpread({}, style), {}, {
38
36
  rotate: -90
@@ -42,13 +40,14 @@ const ProgressCircleInner = /*#__PURE__*/memo(_ref => {
42
40
  },
43
41
  transition: animateProgressBaseSpec,
44
42
  initial: {
45
- strokeDashoffset: disableAnimateOnMount ? progressOffset : circumference
43
+ strokeDashoffset: disableAnimateOnMount ? progressOffset : 1
46
44
  }
47
45
  });
48
46
  return /*#__PURE__*/_jsx(motion.circle, _objectSpread(_objectSpread(_objectSpread({
49
47
  ref: circleRef,
50
48
  "data-testid": "cds-progress-circle-inner",
51
- strokeDasharray: circumference,
49
+ pathLength: 1,
50
+ strokeDasharray: 1,
52
51
  strokeLinecap: "round"
53
52
  }, motionProps), getProgressCircleParams({
54
53
  size,
@@ -62,16 +61,17 @@ const ProgressCircleInner = /*#__PURE__*/memo(_ref => {
62
61
  });
63
62
  export const ProgressCircle = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, forwardedRef) => {
64
63
  let {
64
+ indeterminate,
65
65
  weight = 'normal',
66
- progress,
67
- color = 'bgPrimary',
66
+ progress = indeterminate ? 0.75 : 0,
67
+ color = indeterminate ? 'fgMuted' : 'bgPrimary',
68
68
  disabled,
69
- disableAnimateOnMount,
69
+ disableAnimateOnMount = indeterminate ? true : false,
70
70
  testID,
71
71
  hideContent,
72
72
  hideText,
73
73
  size,
74
- accessibilityLabel,
74
+ accessibilityLabel = indeterminate ? 'Loading' : undefined,
75
75
  contentNode,
76
76
  style,
77
77
  styles,
@@ -80,8 +80,8 @@ export const ProgressCircle = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
80
80
  onAnimationEnd,
81
81
  onAnimationStart
82
82
  } = _ref2;
83
- const strokeWidth = useProgressSize(weight);
84
83
  const visSize = size !== null && size !== void 0 ? size : '100%';
84
+ const strokeWidth = getProgressSize(weight);
85
85
  return /*#__PURE__*/_jsx(VisualizationContainer, {
86
86
  height: visSize,
87
87
  width: visSize,
@@ -91,75 +91,72 @@ export const ProgressCircle = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
91
91
  height,
92
92
  circleSize
93
93
  } = _ref3;
94
- return /*#__PURE__*/_jsx(Box, {
94
+ return /*#__PURE__*/_jsxs(Box, _objectSpread(_objectSpread({
95
95
  ref: forwardedRef,
96
96
  accessibilityLabel: accessibilityLabel,
97
- alignItems: "center",
98
- "aria-valuemax": 100,
99
- "aria-valuemin": 0,
100
- "aria-valuenow": Math.round(progress * 100),
97
+ alignItems: "center"
98
+ }, indeterminate ? {} : {
99
+ 'aria-valuemax': 100,
100
+ 'aria-valuemin': 0,
101
+ 'aria-valuenow': Math.round(progress * 100)
102
+ }), {}, {
101
103
  className: cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
102
104
  height: height,
103
105
  justifyContent: "center",
106
+ position: "relative",
104
107
  role: "progressbar",
105
108
  style: _objectSpread(_objectSpread({}, style), styles === null || styles === void 0 ? void 0 : styles.root),
106
109
  testID: testID,
107
110
  title: accessibilityLabel,
108
111
  width: width,
109
- children: /*#__PURE__*/_jsxs(Box, {
110
- flexGrow: 0,
111
- flexShrink: 0,
112
+ children: [/*#__PURE__*/_jsxs("svg", {
113
+ "aria-hidden": true,
114
+ className: cx(svgCss, classNames === null || classNames === void 0 ? void 0 : classNames.svg, indeterminate && indeterminateProgressCircleCss),
112
115
  height: circleSize,
113
- position: "relative",
116
+ style: styles === null || styles === void 0 ? void 0 : styles.svg,
114
117
  width: circleSize,
115
- children: [/*#__PURE__*/_jsxs("svg", {
116
- "aria-hidden": true,
117
- className: cx(svgCss, classNames === null || classNames === void 0 ? void 0 : classNames.svg),
118
- height: circleSize,
119
- style: styles === null || styles === void 0 ? void 0 : styles.svg,
120
- width: circleSize,
121
- children: [/*#__PURE__*/_jsx("circle", _objectSpread(_objectSpread({}, getProgressCircleParams({
122
- size: circleSize,
123
- strokeWidth,
124
- stroke: 'var(--color-bgLine)'
125
- })), {}, {
126
- className: classNames === null || classNames === void 0 ? void 0 : classNames.circle,
127
- style: styles === null || styles === void 0 ? void 0 : styles.circle
128
- })), /*#__PURE__*/_jsx(ProgressCircleInner, {
129
- className: classNames === null || classNames === void 0 ? void 0 : classNames.progress,
130
- color: color,
131
- disableAnimateOnMount: disableAnimateOnMount,
132
- onAnimationEnd: onAnimationEnd,
133
- onAnimationStart: onAnimationStart,
134
- progress: progress,
135
- size: circleSize,
136
- style: styles === null || styles === void 0 ? void 0 : styles.progress,
137
- visuallyDisabled: disabled,
138
- weight: weight
139
- })]
140
- }, circleSize), !hideText && !hideContent && /*#__PURE__*/_jsx(Box, {
118
+ children: [/*#__PURE__*/_jsx("circle", _objectSpread(_objectSpread({}, getProgressCircleParams({
119
+ size: circleSize,
120
+ strokeWidth,
121
+ stroke: 'var(--color-bgLine)'
122
+ })), {}, {
123
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.circle,
124
+ style: styles === null || styles === void 0 ? void 0 : styles.circle
125
+ })), /*#__PURE__*/_jsx(ProgressCircleInner, {
126
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.progress,
127
+ color: color,
128
+ disableAnimateOnMount: disableAnimateOnMount,
129
+ indeterminate: indeterminate,
130
+ onAnimationEnd: onAnimationEnd,
131
+ onAnimationStart: onAnimationStart,
132
+ progress: progress,
133
+ size: circleSize,
134
+ strokeWidth: strokeWidth,
135
+ style: styles === null || styles === void 0 ? void 0 : styles.progress,
136
+ visuallyDisabled: disabled
137
+ })]
138
+ }, circleSize), !hideText && !hideContent && /*#__PURE__*/_jsx(Box, {
139
+ height: "100%",
140
+ position: "absolute",
141
+ style: {
142
+ padding: strokeWidth
143
+ },
144
+ width: "100%",
145
+ children: /*#__PURE__*/_jsx(Box, {
146
+ alignItems: "center",
147
+ borderRadius: 1000,
141
148
  height: "100%",
142
- position: "absolute",
143
- style: {
144
- padding: strokeWidth
145
- },
149
+ justifyContent: "center",
150
+ overflow: "clip",
146
151
  width: "100%",
147
- children: /*#__PURE__*/_jsx(Box, {
148
- alignItems: "center",
149
- borderRadius: 1000,
150
- height: "100%",
151
- justifyContent: "center",
152
- overflow: "clip",
153
- width: "100%",
154
- children: contentNode !== null && contentNode !== void 0 ? contentNode : /*#__PURE__*/_jsx(DefaultProgressCircleContent, {
155
- disableAnimateOnMount: disableAnimateOnMount,
156
- disabled: disabled,
157
- progress: progress
158
- })
152
+ children: contentNode !== null && contentNode !== void 0 ? contentNode : !indeterminate && /*#__PURE__*/_jsx(DefaultProgressCircleContent, {
153
+ disableAnimateOnMount: disableAnimateOnMount,
154
+ disabled: disabled,
155
+ progress: progress
159
156
  })
160
- })]
161
- })
162
- });
157
+ })
158
+ })]
159
+ }));
163
160
  }
164
161
  });
165
162
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "8.59.0",
3
+ "version": "8.61.0",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -207,7 +207,7 @@
207
207
  "react-dom": "^18.3.1"
208
208
  },
209
209
  "dependencies": {
210
- "@coinbase/cds-common": "^8.59.0",
210
+ "@coinbase/cds-common": "^8.61.0",
211
211
  "@coinbase/cds-icons": "^5.13.0",
212
212
  "@coinbase/cds-illustrations": "^4.36.0",
213
213
  "@coinbase/cds-lottie-files": "^3.3.4",
@@ -1,2 +0,0 @@
1
- @layer cds{.baseCss-b1xygpjx{height:56px;}
2
- .compactCss-cczlfjm{height:40px;}}