@ankhorage/surface 1.4.0 → 2.0.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 (203) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/badge/Badge.d.ts +1 -1
  3. package/dist/components/badge/Badge.d.ts.map +1 -1
  4. package/dist/components/badge/Badge.js +3 -3
  5. package/dist/components/badge/Badge.js.map +1 -1
  6. package/dist/components/badge/types.d.ts +2 -2
  7. package/dist/components/badge/types.d.ts.map +1 -1
  8. package/dist/components/badge/types.js.map +1 -1
  9. package/dist/components/button/Button.d.ts +1 -1
  10. package/dist/components/button/Button.d.ts.map +1 -1
  11. package/dist/components/button/Button.js +6 -3
  12. package/dist/components/button/Button.js.map +1 -1
  13. package/dist/components/button/types.d.ts +2 -2
  14. package/dist/components/button/types.d.ts.map +1 -1
  15. package/dist/components/button/types.js.map +1 -1
  16. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  17. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  18. package/dist/components/checkbox/Checkbox.js +7 -4
  19. package/dist/components/checkbox/Checkbox.js.map +1 -1
  20. package/dist/components/checkbox/types.d.ts +2 -2
  21. package/dist/components/checkbox/types.d.ts.map +1 -1
  22. package/dist/components/checkbox/types.js.map +1 -1
  23. package/dist/components/field/Field.d.ts.map +1 -1
  24. package/dist/components/field/Field.js +6 -2
  25. package/dist/components/field/Field.js.map +1 -1
  26. package/dist/components/helper-text/HelperText.d.ts +1 -1
  27. package/dist/components/helper-text/HelperText.d.ts.map +1 -1
  28. package/dist/components/helper-text/HelperText.js +2 -2
  29. package/dist/components/helper-text/HelperText.js.map +1 -1
  30. package/dist/components/helper-text/types.d.ts +3 -2
  31. package/dist/components/helper-text/types.d.ts.map +1 -1
  32. package/dist/components/helper-text/types.js.map +1 -1
  33. package/dist/components/icon-button/IconButton.d.ts +1 -1
  34. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  35. package/dist/components/icon-button/IconButton.js +2 -2
  36. package/dist/components/icon-button/IconButton.js.map +1 -1
  37. package/dist/components/icon-button/types.d.ts +2 -2
  38. package/dist/components/icon-button/types.d.ts.map +1 -1
  39. package/dist/components/icon-button/types.js.map +1 -1
  40. package/dist/components/label/Label.d.ts +1 -1
  41. package/dist/components/label/Label.d.ts.map +1 -1
  42. package/dist/components/label/Label.js +3 -3
  43. package/dist/components/label/Label.js.map +1 -1
  44. package/dist/components/label/types.d.ts +3 -2
  45. package/dist/components/label/types.d.ts.map +1 -1
  46. package/dist/components/label/types.js.map +1 -1
  47. package/dist/components/list-item/ListItem.js +1 -1
  48. package/dist/components/list-item/ListItem.js.map +1 -1
  49. package/dist/components/menu/Menu.d.ts.map +1 -1
  50. package/dist/components/menu/Menu.js +1 -3
  51. package/dist/components/menu/Menu.js.map +1 -1
  52. package/dist/components/navigation/NavigationItem.d.ts.map +1 -1
  53. package/dist/components/navigation/NavigationItem.js +1 -1
  54. package/dist/components/navigation/NavigationItem.js.map +1 -1
  55. package/dist/components/navigation/TabBarItem.d.ts.map +1 -1
  56. package/dist/components/navigation/TabBarItem.js +1 -1
  57. package/dist/components/navigation/TabBarItem.js.map +1 -1
  58. package/dist/components/radio/Radio.d.ts +1 -1
  59. package/dist/components/radio/Radio.d.ts.map +1 -1
  60. package/dist/components/radio/Radio.js +4 -3
  61. package/dist/components/radio/Radio.js.map +1 -1
  62. package/dist/components/radio/types.d.ts +2 -2
  63. package/dist/components/radio/types.d.ts.map +1 -1
  64. package/dist/components/radio/types.js.map +1 -1
  65. package/dist/components/switch/Switch.d.ts +1 -1
  66. package/dist/components/switch/Switch.d.ts.map +1 -1
  67. package/dist/components/switch/Switch.js +4 -3
  68. package/dist/components/switch/Switch.js.map +1 -1
  69. package/dist/components/switch/types.d.ts +2 -2
  70. package/dist/components/switch/types.d.ts.map +1 -1
  71. package/dist/components/switch/types.js.map +1 -1
  72. package/dist/components/tabs/Tab.d.ts.map +1 -1
  73. package/dist/components/tabs/Tab.js +1 -1
  74. package/dist/components/tabs/Tab.js.map +1 -1
  75. package/dist/components/toast/Toast.d.ts +1 -1
  76. package/dist/components/toast/Toast.d.ts.map +1 -1
  77. package/dist/components/toast/Toast.js +34 -9
  78. package/dist/components/toast/Toast.js.map +1 -1
  79. package/dist/components/toast/ToastProvider.js +1 -1
  80. package/dist/components/toast/ToastProvider.js.map +1 -1
  81. package/dist/components/toast/index.d.ts +1 -1
  82. package/dist/components/toast/index.d.ts.map +1 -1
  83. package/dist/components/toast/index.js.map +1 -1
  84. package/dist/components/toast/types.d.ts +3 -2
  85. package/dist/components/toast/types.d.ts.map +1 -1
  86. package/dist/components/toast/types.js.map +1 -1
  87. package/dist/components/tooltip/Tooltip.js +1 -1
  88. package/dist/components/tooltip/Tooltip.js.map +1 -1
  89. package/dist/examples/DocsExamples.js +4 -4
  90. package/dist/examples/DocsExamples.js.map +1 -1
  91. package/dist/index.d.ts +3 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +1 -0
  94. package/dist/index.js.map +1 -1
  95. package/dist/internal/resolvers/index.d.ts +1 -1
  96. package/dist/internal/resolvers/index.d.ts.map +1 -1
  97. package/dist/internal/resolvers/index.js +1 -1
  98. package/dist/internal/resolvers/index.js.map +1 -1
  99. package/dist/internal/resolvers/resolveFieldPresentation.d.ts +5 -5
  100. package/dist/internal/resolvers/resolveFieldPresentation.d.ts.map +1 -1
  101. package/dist/internal/resolvers/resolveFieldPresentation.js +8 -6
  102. package/dist/internal/resolvers/resolveFieldPresentation.js.map +1 -1
  103. package/dist/internal/resolvers/resolveInteractiveColors.d.ts +3 -3
  104. package/dist/internal/resolvers/resolveInteractiveColors.d.ts.map +1 -1
  105. package/dist/internal/resolvers/resolveInteractiveColors.js +4 -6
  106. package/dist/internal/resolvers/resolveInteractiveColors.js.map +1 -1
  107. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts +3 -3
  108. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts.map +1 -1
  109. package/dist/internal/resolvers/resolveSelectionControlColors.js +4 -4
  110. package/dist/internal/resolvers/resolveSelectionControlColors.js.map +1 -1
  111. package/dist/internal/resolvers/resolveSurfaceColor.d.ts +4 -0
  112. package/dist/internal/resolvers/resolveSurfaceColor.d.ts.map +1 -0
  113. package/dist/internal/resolvers/resolveSurfaceColor.js +26 -0
  114. package/dist/internal/resolvers/resolveSurfaceColor.js.map +1 -0
  115. package/dist/internal/resolvers/resolveTextColor.d.ts +2 -3
  116. package/dist/internal/resolvers/resolveTextColor.d.ts.map +1 -1
  117. package/dist/internal/resolvers/resolveTextColor.js +7 -11
  118. package/dist/internal/resolvers/resolveTextColor.js.map +1 -1
  119. package/dist/primitives/heading/Heading.d.ts.map +1 -1
  120. package/dist/primitives/heading/Heading.js +2 -2
  121. package/dist/primitives/heading/Heading.js.map +1 -1
  122. package/dist/primitives/heading/resolveHeadingStyle.d.ts +2 -1
  123. package/dist/primitives/heading/resolveHeadingStyle.d.ts.map +1 -1
  124. package/dist/primitives/heading/resolveHeadingStyle.js +2 -2
  125. package/dist/primitives/heading/resolveHeadingStyle.js.map +1 -1
  126. package/dist/primitives/heading/types.d.ts +3 -0
  127. package/dist/primitives/heading/types.d.ts.map +1 -1
  128. package/dist/primitives/heading/types.js.map +1 -1
  129. package/dist/primitives/text/Text.d.ts +1 -1
  130. package/dist/primitives/text/Text.d.ts.map +1 -1
  131. package/dist/primitives/text/Text.js +2 -2
  132. package/dist/primitives/text/Text.js.map +1 -1
  133. package/dist/primitives/text/types.d.ts +3 -3
  134. package/dist/primitives/text/types.d.ts.map +1 -1
  135. package/dist/primitives/text/types.js.map +1 -1
  136. package/dist/surfaceColor.d.ts +9 -0
  137. package/dist/surfaceColor.d.ts.map +1 -0
  138. package/dist/surfaceColor.js +15 -0
  139. package/dist/surfaceColor.js.map +1 -0
  140. package/dist/theme/colorEngine.d.ts.map +1 -1
  141. package/dist/theme/colorEngine.js +9 -1
  142. package/dist/theme/colorEngine.js.map +1 -1
  143. package/dist/theme/types.d.ts +5 -0
  144. package/dist/theme/types.d.ts.map +1 -1
  145. package/dist/theme/types.js.map +1 -1
  146. package/package.json +1 -1
  147. package/src/components/badge/Badge.tsx +8 -3
  148. package/src/components/badge/types.ts +2 -2
  149. package/src/components/button/Button.tsx +9 -3
  150. package/src/components/button/types.ts +2 -2
  151. package/src/components/checkbox/Checkbox.tsx +13 -4
  152. package/src/components/checkbox/types.ts +2 -2
  153. package/src/components/field/Field.tsx +11 -3
  154. package/src/components/helper-text/HelperText.tsx +2 -2
  155. package/src/components/helper-text/types.ts +3 -2
  156. package/src/components/icon-button/IconButton.tsx +2 -2
  157. package/src/components/icon-button/types.ts +2 -2
  158. package/src/components/label/Label.tsx +9 -3
  159. package/src/components/label/types.ts +3 -2
  160. package/src/components/list-item/ListItem.tsx +1 -1
  161. package/src/components/menu/Menu.tsx +1 -8
  162. package/src/components/navigation/NavigationItem.tsx +2 -1
  163. package/src/components/navigation/TabBarItem.tsx +2 -1
  164. package/src/components/radio/Radio.tsx +5 -3
  165. package/src/components/radio/types.ts +2 -2
  166. package/src/components/switch/Switch.tsx +5 -3
  167. package/src/components/switch/types.ts +2 -2
  168. package/src/components/tabs/Tab.tsx +1 -5
  169. package/src/components/toast/Toast.tsx +38 -10
  170. package/src/components/toast/ToastProvider.tsx +1 -1
  171. package/src/components/toast/index.ts +1 -1
  172. package/src/components/toast/types.ts +4 -2
  173. package/src/components/tooltip/Tooltip.tsx +1 -1
  174. package/src/examples/DocsExamples.tsx +4 -4
  175. package/src/index.test.ts +1 -0
  176. package/src/index.ts +13 -1
  177. package/src/internal/resolvers/index.ts +1 -1
  178. package/src/internal/resolvers/resolveFieldPresentation.test.ts +12 -10
  179. package/src/internal/resolvers/resolveFieldPresentation.ts +13 -11
  180. package/src/internal/resolvers/resolveInteractiveColors.test.ts +4 -4
  181. package/src/internal/resolvers/resolveInteractiveColors.ts +6 -7
  182. package/src/internal/resolvers/resolveSelectionControlColors.test.ts +8 -8
  183. package/src/internal/resolvers/resolveSelectionControlColors.ts +6 -5
  184. package/src/internal/resolvers/resolveSurfaceColor.test.ts +21 -0
  185. package/src/internal/resolvers/resolveSurfaceColor.ts +31 -0
  186. package/src/internal/resolvers/resolveTextColor.test.ts +16 -5
  187. package/src/internal/resolvers/resolveTextColor.ts +10 -22
  188. package/src/primitives/heading/Heading.tsx +3 -1
  189. package/src/primitives/heading/resolveHeadingStyle.test.ts +1 -1
  190. package/src/primitives/heading/resolveHeadingStyle.ts +4 -1
  191. package/src/primitives/heading/types.ts +4 -0
  192. package/src/primitives/text/Text.tsx +2 -2
  193. package/src/primitives/text/types.ts +3 -3
  194. package/src/surfaceColor.test.ts +46 -0
  195. package/src/surfaceColor.ts +22 -0
  196. package/src/theme/colorEngine.test.ts +6 -0
  197. package/src/theme/colorEngine.ts +9 -1
  198. package/src/theme/types.ts +5 -0
  199. package/dist/internal/resolvers/resolveTone.d.ts +0 -4
  200. package/dist/internal/resolvers/resolveTone.d.ts.map +0 -1
  201. package/dist/internal/resolvers/resolveTone.js +0 -16
  202. package/dist/internal/resolvers/resolveTone.js.map +0 -1
  203. package/src/internal/resolvers/resolveTone.ts +0 -19
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @ankhorage/surface
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 67f0775: Replace the public `tone` model with explicit `color` and `emphasis` APIs and export canonical
8
+ Surface color/emphasis constants and types from the root package entrypoint.
9
+
10
+ ### Breaking changes
11
+ - Renamed semantic styling props from `tone` to `color` across public components.
12
+ - Renamed content contrast props from `tone` to `emphasis` for text-like APIs.
13
+ - Replaced `ComponentTone`/`TextTone`/`ToastTone` public typings with:
14
+ - `SurfaceColor`
15
+ - `SurfaceEmphasis`
16
+ - `SurfacePaletteColor`
17
+ - `SurfaceStatusColor`
18
+ - Added root exports for:
19
+ - `SURFACE_PALETTE_COLORS`
20
+ - `SURFACE_STATUS_COLORS`
21
+ - `SURFACE_COLORS`
22
+ - `SURFACE_EMPHASES`
23
+
24
+ ### Why
25
+
26
+ The previous `tone` vocabulary mixed semantic color roles and text emphasis in one concept.
27
+ This change separates those concerns and establishes a single canonical color/emphasis source of
28
+ truth for downstream packages.
29
+
3
30
  ## 1.4.0
4
31
 
5
32
  ### Minor Changes
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { BadgeProps } from './types';
3
- export declare function Badge({ content, variant, tone, size, testID, }: BadgeProps): React.JSX.Element;
3
+ export declare function Badge({ content, variant, color, size, testID, }: BadgeProps): React.JSX.Element;
4
4
  //# sourceMappingURL=Badge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,OAAgB,EAChB,IAAgB,EAChB,IAAU,EACV,MAAM,GACP,EAAE,UAAU,qBAgCZ"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,OAAgB,EAChB,KAAiB,EACjB,IAAU,EACV,MAAM,GACP,EAAE,UAAU,qBAqCZ"}
@@ -3,12 +3,12 @@ import { resolveButtonColors, resolveControlSize } from '../../internal/resolver
3
3
  import { Box } from '../../layout';
4
4
  import { Text } from '../../primitives/text';
5
5
  import { useTheme } from '../../theme/ThemeContext';
6
- export function Badge({ content, variant = 'soft', tone = 'primary', size = 's', testID, }) {
6
+ export function Badge({ content, variant = 'soft', color = 'primary', size = 's', testID, }) {
7
7
  const { theme } = useTheme();
8
8
  const controlSize = resolveControlSize(theme, size);
9
9
  const colors = resolveButtonColors(theme, {
10
10
  variant,
11
- tone,
11
+ color,
12
12
  state: {
13
13
  disabled: false,
14
14
  focused: false,
@@ -22,7 +22,7 @@ export function Badge({ content, variant = 'soft', tone = 'primary', size = 's',
22
22
  borderColor: colors.borderColor,
23
23
  borderWidth: variant === 'solid' ? 0 : 1,
24
24
  }} testID={testID}>
25
- <Text color={colors.contentColor} variant="bodySmall" weight="medium">
25
+ <Text color={color} emphasis={variant === 'solid' ? 'inverse' : 'default'} variant="bodySmall" weight="medium">
26
26
  {content}
27
27
  </Text>
28
28
  </Box>);
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,KAAK,CAAC,EACpB,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,GAAG,EACV,MAAM,GACK;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE;QACxC,OAAO;QACP,IAAI;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,GAAG,CACF,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAClE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CACjD,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CACjC,KAAK,CAAC,CAAC;YACL,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CACnE;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveButtonColors, resolveControlSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { BadgeProps } from './types';\n\nexport function Badge({\n content,\n variant = 'soft',\n tone = 'primary',\n size = 's',\n testID,\n}: BadgeProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n const colors = resolveButtonColors(theme, {\n variant,\n tone,\n state: {\n disabled: false,\n focused: false,\n hovered: false,\n pressed: false,\n },\n });\n\n return (\n <Box\n px={Math.max(theme.spacing.xs, controlSize.paddingHorizontal - 4)}\n py={Math.max(4, controlSize.paddingVertical - 2)}\n radius={controlSize.borderRadius}\n style={{\n alignSelf: 'flex-start',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n }}\n testID={testID}\n >\n <Text color={colors.contentColor} variant=\"bodySmall\" weight=\"medium\">\n {content}\n </Text>\n </Box>\n );\n}\n"]}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,KAAK,CAAC,EACpB,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,MAAM,GACK;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE;QACxC,OAAO;QACP,KAAK;QACL,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,GAAG,CACF,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAClE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CACjD,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CACjC,KAAK,CAAC,CAAC;YACL,SAAS,EAAE,YAAY;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACtD,OAAO,CAAC,WAAW,CACnB,MAAM,CAAC,QAAQ,CAEf;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveButtonColors, resolveControlSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { BadgeProps } from './types';\n\nexport function Badge({\n content,\n variant = 'soft',\n color = 'primary',\n size = 's',\n testID,\n}: BadgeProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n const colors = resolveButtonColors(theme, {\n variant,\n color,\n state: {\n disabled: false,\n focused: false,\n hovered: false,\n pressed: false,\n },\n });\n\n return (\n <Box\n px={Math.max(theme.spacing.xs, controlSize.paddingHorizontal - 4)}\n py={Math.max(4, controlSize.paddingVertical - 2)}\n radius={controlSize.borderRadius}\n style={{\n alignSelf: 'flex-start',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n }}\n testID={testID}\n >\n <Text\n color={color}\n emphasis={variant === 'solid' ? 'inverse' : 'default'}\n variant=\"bodySmall\"\n weight=\"medium\"\n >\n {content}\n </Text>\n </Box>\n );\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import type React from 'react';
2
2
  import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
3
3
  import type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';
4
- import type { ComponentTone } from '../../internal/resolvers/resolveTone';
4
+ import type { SurfaceColor } from '../../surfaceColor';
5
5
  export interface BadgeProps {
6
6
  content?: React.ReactNode;
7
7
  variant?: Extract<ButtonVariant, 'solid' | 'soft' | 'outline'>;
8
- tone?: Extract<ComponentTone, 'primary' | 'neutral' | 'danger' | 'success' | 'warning'>;
8
+ color?: SurfaceColor;
9
9
  size?: ControlSize;
10
10
  testID?: string;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IACxF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { ComponentTone } from '../../internal/resolvers/resolveTone';\n\nexport interface BadgeProps {\n content?: React.ReactNode;\n variant?: Extract<ButtonVariant, 'solid' | 'soft' | 'outline'>;\n tone?: Extract<ComponentTone, 'primary' | 'neutral' | 'danger' | 'success' | 'warning'>;\n size?: ControlSize;\n testID?: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { SurfaceColor } from '../../surfaceColor';\n\nexport interface BadgeProps {\n content?: React.ReactNode;\n variant?: Extract<ButtonVariant, 'solid' | 'soft' | 'outline'>;\n color?: SurfaceColor;\n size?: ControlSize;\n testID?: string;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { ButtonProps } from './types';
3
- export declare function Button({ children, variant, tone, size, disabled, loading, leadingIcon, trailingIcon, fullWidth, onPress, testID, ...props }: ButtonProps): React.JSX.Element;
3
+ export declare function Button({ children, variant, color, size, disabled, loading, leadingIcon, trailingIcon, fullWidth, onPress, testID, ...props }: ButtonProps): React.JSX.Element;
4
4
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAiB,EACjB,IAAgB,EAChB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAiB,EACjB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,WAAW,qBA+Eb"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAiB,EACjB,KAAiB,EACjB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAiB,EACjB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,WAAW,qBAqFb"}
@@ -6,7 +6,7 @@ import { ButtonBase } from '../../primitives/button-base';
6
6
  import { Icon } from '../../primitives/icon';
7
7
  import { Text } from '../../primitives/text';
8
8
  import { useTheme } from '../../theme/ThemeContext';
9
- export function Button({ children, variant = 'solid', tone = 'primary', size = 'm', disabled = false, loading = false, leadingIcon, trailingIcon, fullWidth = false, onPress, testID, ...props }) {
9
+ export function Button({ children, variant = 'solid', color = 'primary', size = 'm', disabled = false, loading = false, leadingIcon, trailingIcon, fullWidth = false, onPress, testID, ...props }) {
10
10
  const { theme } = useTheme();
11
11
  const controlSize = resolveControlSize(theme, size);
12
12
  return (<ButtonBase {...props} disabled={disabled || loading} onPress={onPress} style={[
@@ -17,9 +17,12 @@ export function Button({ children, variant = 'solid', tone = 'primary', size = '
17
17
  {(state) => {
18
18
  const colors = resolveButtonColors(theme, {
19
19
  variant,
20
- tone,
20
+ color,
21
21
  state,
22
22
  });
23
+ const textEmphasis = colors.contentColor === theme.semantics.content.muted ? 'muted' : 'default';
24
+ const resolvedTextColor = textEmphasis === 'muted' ? undefined : color;
25
+ const resolvedTextEmphasis = textEmphasis === 'muted' ? 'muted' : variant === 'solid' ? 'inverse' : 'default';
23
26
  const iconSize = resolveIconSize(theme, size);
24
27
  return (<Box px={controlSize.paddingHorizontal} py={controlSize.paddingVertical} radius={controlSize.borderRadius} style={{
25
28
  minHeight: controlSize.minHeight,
@@ -36,7 +39,7 @@ export function Button({ children, variant = 'solid', tone = 'primary', size = '
36
39
  {leadingIcon ? (<View style={{ marginRight: theme.spacing.s }}>
37
40
  <Icon color={colors.contentColor} name={leadingIcon.name} provider={leadingIcon.provider} size={iconSize}/>
38
41
  </View>) : null}
39
- <Text color={colors.contentColor} variant={controlSize.textVariant} weight="semiBold">
42
+ <Text color={resolvedTextColor} emphasis={resolvedTextEmphasis} variant={controlSize.textVariant} weight="semiBold">
40
43
  {children}
41
44
  </Text>
42
45
  {trailingIcon ? (<View style={{ marginLeft: theme.spacing.s }}>
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View } from 'react-native';\n\nimport { resolveButtonColors, resolveControlSize, resolveIconSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Icon } from '../../primitives/icon';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { ButtonProps } from './types';\n\nexport function Button({\n children,\n variant = 'solid',\n tone = 'primary',\n size = 'm',\n disabled = false,\n loading = false,\n leadingIcon,\n trailingIcon,\n fullWidth = false,\n onPress,\n testID,\n ...props\n}: ButtonProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n\n return (\n <ButtonBase\n {...props}\n disabled={disabled || loading}\n onPress={onPress}\n style={[\n {\n alignSelf: fullWidth ? 'stretch' : 'flex-start',\n },\n ]}\n testID={testID}\n >\n {(state) => {\n const colors = resolveButtonColors(theme, {\n variant,\n tone,\n state,\n });\n const iconSize = resolveIconSize(theme, size);\n\n return (\n <Box\n px={controlSize.paddingHorizontal}\n py={controlSize.paddingVertical}\n radius={controlSize.borderRadius}\n style={{\n minHeight: controlSize.minHeight,\n width: fullWidth ? '100%' : undefined,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n opacity: colors.opacity,\n }}\n >\n {loading ? (\n <ActivityIndicator color={colors.contentColor} size=\"small\" />\n ) : (\n <>\n {leadingIcon ? (\n <View style={{ marginRight: theme.spacing.s }}>\n <Icon\n color={colors.contentColor}\n name={leadingIcon.name}\n provider={leadingIcon.provider}\n size={iconSize}\n />\n </View>\n ) : null}\n <Text\n color={colors.contentColor}\n variant={controlSize.textVariant}\n weight=\"semiBold\"\n >\n {children}\n </Text>\n {trailingIcon ? (\n <View style={{ marginLeft: theme.spacing.s }}>\n <Icon\n color={colors.contentColor}\n name={trailingIcon.name}\n provider={trailingIcon.provider}\n size={iconSize}\n />\n </View>\n ) : null}\n </>\n )}\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View } from 'react-native';\n\nimport { resolveButtonColors, resolveControlSize, resolveIconSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Icon } from '../../primitives/icon';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { ButtonProps } from './types';\n\nexport function Button({\n children,\n variant = 'solid',\n color = 'primary',\n size = 'm',\n disabled = false,\n loading = false,\n leadingIcon,\n trailingIcon,\n fullWidth = false,\n onPress,\n testID,\n ...props\n}: ButtonProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n\n return (\n <ButtonBase\n {...props}\n disabled={disabled || loading}\n onPress={onPress}\n style={[\n {\n alignSelf: fullWidth ? 'stretch' : 'flex-start',\n },\n ]}\n testID={testID}\n >\n {(state) => {\n const colors = resolveButtonColors(theme, {\n variant,\n color,\n state,\n });\n const textEmphasis =\n colors.contentColor === theme.semantics.content.muted ? 'muted' : 'default';\n const resolvedTextColor = textEmphasis === 'muted' ? undefined : color;\n const resolvedTextEmphasis =\n textEmphasis === 'muted' ? 'muted' : variant === 'solid' ? 'inverse' : 'default';\n const iconSize = resolveIconSize(theme, size);\n\n return (\n <Box\n px={controlSize.paddingHorizontal}\n py={controlSize.paddingVertical}\n radius={controlSize.borderRadius}\n style={{\n minHeight: controlSize.minHeight,\n width: fullWidth ? '100%' : undefined,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n opacity: colors.opacity,\n }}\n >\n {loading ? (\n <ActivityIndicator color={colors.contentColor} size=\"small\" />\n ) : (\n <>\n {leadingIcon ? (\n <View style={{ marginRight: theme.spacing.s }}>\n <Icon\n color={colors.contentColor}\n name={leadingIcon.name}\n provider={leadingIcon.provider}\n size={iconSize}\n />\n </View>\n ) : null}\n <Text\n color={resolvedTextColor}\n emphasis={resolvedTextEmphasis}\n variant={controlSize.textVariant}\n weight=\"semiBold\"\n >\n {children}\n </Text>\n {trailingIcon ? (\n <View style={{ marginLeft: theme.spacing.s }}>\n <Icon\n color={colors.contentColor}\n name={trailingIcon.name}\n provider={trailingIcon.provider}\n size={iconSize}\n />\n </View>\n ) : null}\n </>\n )}\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import type React from 'react';
2
2
  import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
3
3
  import type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';
4
- import type { ComponentTone } from '../../internal/resolvers/resolveTone';
5
4
  import type { ButtonBaseProps } from '../../primitives/button-base';
6
5
  import type { IconProps } from '../../primitives/icon';
6
+ import type { SurfaceColor } from '../../surfaceColor';
7
7
  export interface ButtonIconSpec {
8
8
  name: IconProps['name'];
9
9
  provider?: IconProps['provider'];
@@ -11,7 +11,7 @@ export interface ButtonIconSpec {
11
11
  export interface ButtonProps extends Omit<ButtonBaseProps, 'accessibilityLabel' | 'children' | 'style'> {
12
12
  children?: React.ReactNode;
13
13
  variant?: ButtonVariant;
14
- tone?: ComponentTone;
14
+ color?: SurfaceColor;
15
15
  size?: ControlSize;
16
16
  loading?: boolean;
17
17
  leadingIcon?: ButtonIconSpec;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,eAAe,EACf,oBAAoB,GAAG,UAAU,GAAG,OAAO,CAC5C;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,eAAe,EACf,oBAAoB,GAAG,UAAU,GAAG,OAAO,CAC5C;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { ComponentTone } from '../../internal/resolvers/resolveTone';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\nimport type { IconProps } from '../../primitives/icon';\n\nexport interface ButtonIconSpec {\n name: IconProps['name'];\n provider?: IconProps['provider'];\n}\n\nexport interface ButtonProps extends Omit<\n ButtonBaseProps,\n 'accessibilityLabel' | 'children' | 'style'\n> {\n children?: React.ReactNode;\n variant?: ButtonVariant;\n tone?: ComponentTone;\n size?: ControlSize;\n loading?: boolean;\n leadingIcon?: ButtonIconSpec;\n trailingIcon?: ButtonIconSpec;\n fullWidth?: boolean;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\nimport type { IconProps } from '../../primitives/icon';\nimport type { SurfaceColor } from '../../surfaceColor';\n\nexport interface ButtonIconSpec {\n name: IconProps['name'];\n provider?: IconProps['provider'];\n}\n\nexport interface ButtonProps extends Omit<\n ButtonBaseProps,\n 'accessibilityLabel' | 'children' | 'style'\n> {\n children?: React.ReactNode;\n variant?: ButtonVariant;\n color?: SurfaceColor;\n size?: ControlSize;\n loading?: boolean;\n leadingIcon?: ButtonIconSpec;\n trailingIcon?: ButtonIconSpec;\n fullWidth?: boolean;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { CheckboxProps } from './types';
3
- export declare function Checkbox({ children, checked, defaultChecked, onCheckedChange, tone, size, disabled, invalid, readOnly, accessibilityLabel, testID, ...props }: CheckboxProps): React.JSX.Element;
3
+ export declare function Checkbox({ children, checked, defaultChecked, onCheckedChange, color, size, disabled, invalid, readOnly, accessibilityLabel, testID, ...props }: CheckboxProps): React.JSX.Element;
4
4
  //# sourceMappingURL=Checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAsB,EACtB,eAAe,EACf,IAAgB,EAChB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,aAAa,qBAkFf"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAsB,EACtB,eAAe,EACf,KAAiB,EACjB,IAAU,EACV,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,aAAa,qBA2Ff"}
@@ -5,7 +5,7 @@ import { Box } from '../../layout';
5
5
  import { ButtonBase } from '../../primitives/button-base';
6
6
  import { Text } from '../../primitives/text';
7
7
  import { useTheme } from '../../theme/ThemeContext';
8
- export function Checkbox({ children, checked, defaultChecked = false, onCheckedChange, tone = 'primary', size = 'm', disabled = false, invalid = false, readOnly = false, accessibilityLabel, testID, ...props }) {
8
+ export function Checkbox({ children, checked, defaultChecked = false, onCheckedChange, color = 'primary', size = 'm', disabled = false, invalid = false, readOnly = false, accessibilityLabel, testID, ...props }) {
9
9
  const { theme } = useTheme();
10
10
  const [isChecked, setChecked] = useControllableState({
11
11
  value: checked,
@@ -36,8 +36,11 @@ export function Checkbox({ children, checked, defaultChecked = false, onCheckedC
36
36
  fieldState,
37
37
  hovered: interactionState.hovered,
38
38
  pressed: interactionState.pressed,
39
- tone,
39
+ color,
40
40
  });
41
+ const labelEmphasis = colors.labelColor === theme.semantics.content.muted ? 'muted' : 'default';
42
+ const indicatorColor = fieldState.invalid ? 'error' : color;
43
+ const indicatorEmphasis = disabled ? 'muted' : 'inverse';
41
44
  return (<Box style={{
42
45
  alignItems: 'center',
43
46
  flexDirection: 'row',
@@ -52,12 +55,12 @@ export function Checkbox({ children, checked, defaultChecked = false, onCheckedC
52
55
  justifyContent: 'center',
53
56
  width: indicatorSize.checkbox,
54
57
  }}>
55
- {isChecked ? (<Text color={colors.indicatorColor} variant="caption" weight="bold">
58
+ {isChecked ? (<Text color={disabled ? undefined : indicatorColor} emphasis={indicatorEmphasis} variant="caption" weight="bold">
56
59
  ✓
57
60
  </Text>) : null}
58
61
  </Box>
59
62
  {children ? (<Box ml="s">
60
- <Text color={colors.labelColor}>{children}</Text>
63
+ <Text emphasis={labelEmphasis}>{children}</Text>
61
64
  </Box>) : null}
62
65
  </Box>);
63
66
  }}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n resolveFieldState,\n resolveIndicatorSize,\n resolveSelectionControlColors,\n resolveSelectionControlNextChecked,\n} from '../../internal/resolvers';\nimport { useControllableState } from '../../internal/useControllableState';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { CheckboxProps } from './types';\n\nexport function Checkbox({\n children,\n checked,\n defaultChecked = false,\n onCheckedChange,\n tone = 'primary',\n size = 'm',\n disabled = false,\n invalid = false,\n readOnly = false,\n accessibilityLabel,\n testID,\n ...props\n}: CheckboxProps) {\n const { theme } = useTheme();\n const [isChecked, setChecked] = useControllableState<boolean>({\n value: checked,\n defaultValue: defaultChecked,\n onChange: onCheckedChange,\n });\n const indicatorSize = resolveIndicatorSize(size);\n const nextChecked = resolveSelectionControlNextChecked({\n checked: isChecked,\n disabled,\n kind: 'checkbox',\n readOnly,\n });\n\n return (\n <ButtonBase\n {...props}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: isChecked }}\n disabled={disabled}\n onPress={\n nextChecked === null\n ? undefined\n : () => {\n setChecked(nextChecked);\n }\n }\n testID={testID}\n >\n {(interactionState) => {\n const fieldState = resolveFieldState({\n disabled,\n focused: interactionState.focused,\n invalid,\n readOnly,\n });\n const colors = resolveSelectionControlColors(theme, {\n checked: isChecked,\n fieldState,\n hovered: interactionState.hovered,\n pressed: interactionState.pressed,\n tone,\n });\n\n return (\n <Box\n style={{\n alignItems: 'center',\n flexDirection: 'row',\n opacity: colors.opacity,\n }}\n >\n <Box\n radius=\"s\"\n style={{\n alignItems: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: 1.5,\n height: indicatorSize.checkbox,\n justifyContent: 'center',\n width: indicatorSize.checkbox,\n }}\n >\n {isChecked ? (\n <Text color={colors.indicatorColor} variant=\"caption\" weight=\"bold\">\n ✓\n </Text>\n ) : null}\n </Box>\n {children ? (\n <Box ml=\"s\">\n <Text color={colors.labelColor}>{children}</Text>\n </Box>\n ) : null}\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,cAAc,GAAG,KAAK,EACtB,eAAe,EACf,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,kBAAkB,EAClB,MAAM,EACN,GAAG,KAAK,EACM;IACd,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,oBAAoB,CAAU;QAC5D,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kCAAkC,CAAC;QACrD,OAAO,EAAE,SAAS;QAClB,QAAQ;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,iBAAiB,CAAC,UAAU,CAC5B,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAC3C,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CACN,WAAW,KAAK,IAAI;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,EAAE;gBACH,UAAU,CAAC,WAAW,CAAC,CAAC;YAC1B,CACN,CAAC,CACD,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,CAAC,gBAAgB,EAAE,EAAE;YACpB,MAAM,UAAU,GAAG,iBAAiB,CAAC;gBACnC,QAAQ;gBACR,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,OAAO;gBACP,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE;gBAClD,OAAO,EAAE,SAAS;gBAClB,UAAU;gBACV,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,KAAK;aACN,CAAC,CAAC;YACH,MAAM,aAAa,GACjB,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAEzD,OAAO,CACL,CAAC,GAAG,CACF,KAAK,CAAC,CAAC;oBACL,UAAU,EAAE,QAAQ;oBACpB,aAAa,EAAE,KAAK;oBACpB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAEF;YAAA,CAAC,GAAG,CACF,MAAM,CAAC,GAAG,CACV,KAAK,CAAC,CAAC;oBACL,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,GAAG;oBAChB,MAAM,EAAE,aAAa,CAAC,QAAQ;oBAC9B,cAAc,EAAE,QAAQ;oBACxB,KAAK,EAAE,aAAa,CAAC,QAAQ;iBAC9B,CAAC,CAEF;cAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAC7C,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAC5B,OAAO,CAAC,SAAS,CACjB,MAAM,CAAC,MAAM,CAEb;;gBACF,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;YAAA,EAAE,GAAG,CACL;YAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CACV,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CACT;gBAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CACjD;cAAA,EAAE,GAAG,CAAC,CACP,CAAC,CAAC,CAAC,IAAI,CACV;UAAA,EAAE,GAAG,CAAC,CACP,CAAC;QACJ,CAAC,CACH;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport {\n resolveFieldState,\n resolveIndicatorSize,\n resolveSelectionControlColors,\n resolveSelectionControlNextChecked,\n} from '../../internal/resolvers';\nimport { useControllableState } from '../../internal/useControllableState';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Text } from '../../primitives/text';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { CheckboxProps } from './types';\n\nexport function Checkbox({\n children,\n checked,\n defaultChecked = false,\n onCheckedChange,\n color = 'primary',\n size = 'm',\n disabled = false,\n invalid = false,\n readOnly = false,\n accessibilityLabel,\n testID,\n ...props\n}: CheckboxProps) {\n const { theme } = useTheme();\n const [isChecked, setChecked] = useControllableState<boolean>({\n value: checked,\n defaultValue: defaultChecked,\n onChange: onCheckedChange,\n });\n const indicatorSize = resolveIndicatorSize(size);\n const nextChecked = resolveSelectionControlNextChecked({\n checked: isChecked,\n disabled,\n kind: 'checkbox',\n readOnly,\n });\n\n return (\n <ButtonBase\n {...props}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: isChecked }}\n disabled={disabled}\n onPress={\n nextChecked === null\n ? undefined\n : () => {\n setChecked(nextChecked);\n }\n }\n testID={testID}\n >\n {(interactionState) => {\n const fieldState = resolveFieldState({\n disabled,\n focused: interactionState.focused,\n invalid,\n readOnly,\n });\n const colors = resolveSelectionControlColors(theme, {\n checked: isChecked,\n fieldState,\n hovered: interactionState.hovered,\n pressed: interactionState.pressed,\n color,\n });\n const labelEmphasis =\n colors.labelColor === theme.semantics.content.muted ? 'muted' : 'default';\n const indicatorColor = fieldState.invalid ? 'error' : color;\n const indicatorEmphasis = disabled ? 'muted' : 'inverse';\n\n return (\n <Box\n style={{\n alignItems: 'center',\n flexDirection: 'row',\n opacity: colors.opacity,\n }}\n >\n <Box\n radius=\"s\"\n style={{\n alignItems: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: 1.5,\n height: indicatorSize.checkbox,\n justifyContent: 'center',\n width: indicatorSize.checkbox,\n }}\n >\n {isChecked ? (\n <Text\n color={disabled ? undefined : indicatorColor}\n emphasis={indicatorEmphasis}\n variant=\"caption\"\n weight=\"bold\"\n >\n ✓\n </Text>\n ) : null}\n </Box>\n {children ? (\n <Box ml=\"s\">\n <Text emphasis={labelEmphasis}>{children}</Text>\n </Box>\n ) : null}\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  import type React from 'react';
2
2
  import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
3
- import type { ComponentTone } from '../../internal/resolvers/resolveTone';
4
3
  import type { ButtonBaseProps } from '../../primitives/button-base';
4
+ import type { SurfaceColor } from '../../surfaceColor';
5
5
  export interface CheckboxProps extends Omit<ButtonBaseProps, 'accessibilityRole' | 'accessibilityState' | 'children' | 'onPress' | 'style'> {
6
6
  children?: React.ReactNode;
7
7
  checked?: boolean;
8
8
  defaultChecked?: boolean;
9
9
  onCheckedChange?: ((checked: boolean) => void) | undefined;
10
- tone?: ComponentTone;
10
+ color?: SurfaceColor;
11
11
  size?: ControlSize;
12
12
  invalid?: boolean;
13
13
  readOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,eAAe,EACf,mBAAmB,GAAG,oBAAoB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAC9E;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,eAAe,EACf,mBAAmB,GAAG,oBAAoB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAC9E;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/checkbox/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ComponentTone } from '../../internal/resolvers/resolveTone';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\n\nexport interface CheckboxProps extends Omit<\n ButtonBaseProps,\n 'accessibilityRole' | 'accessibilityState' | 'children' | 'onPress' | 'style'\n> {\n children?: React.ReactNode;\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n tone?: ComponentTone;\n size?: ControlSize;\n invalid?: boolean;\n readOnly?: boolean;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/checkbox/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\nimport type { SurfaceColor } from '../../surfaceColor';\n\nexport interface CheckboxProps extends Omit<\n ButtonBaseProps,\n 'accessibilityRole' | 'accessibilityState' | 'children' | 'onPress' | 'style'\n> {\n children?: React.ReactNode;\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n color?: SurfaceColor;\n size?: ControlSize;\n invalid?: boolean;\n readOnly?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,MAAM,GACP,EAAE,UAAU,qBAwBZ"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,MAAM,GACP,EAAE,UAAU,qBAgCZ"}
@@ -12,11 +12,15 @@ export function Field({ children, label, helperText, errorText, required = false
12
12
  });
13
13
  const presentation = resolveFieldPresentation(fieldState);
14
14
  return (<Stack gap="xs" testID={testID}>
15
- {label ? (<Label required={required} tone={presentation.labelTone}>
15
+ {label ? (<Label color={presentation.labelColor} emphasis={presentation.labelEmphasis} required={required}>
16
16
  {label}
17
17
  </Label>) : null}
18
18
  <Box>{children}</Box>
19
- {hasErrorText ? (<HelperText tone={presentation.helperTone}>{errorText}</HelperText>) : helperText ? (<HelperText tone={presentation.helperTone}>{helperText}</HelperText>) : null}
19
+ {hasErrorText ? (<HelperText color={presentation.helperColor} emphasis={presentation.helperEmphasis}>
20
+ {errorText}
21
+ </HelperText>) : helperText ? (<HelperText color={presentation.helperColor} emphasis={presentation.helperEmphasis}>
22
+ {helperText}
23
+ </HelperText>) : null}
20
24
  </Stack>);
21
25
  }
22
26
  //# sourceMappingURL=Field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,MAAM,GACK;IACX,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,QAAQ;QACR,OAAO,EAAE,OAAO,IAAI,YAAY;QAChC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC7B;MAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CACP,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CACtD;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,KAAK,CAAC,CACT,CAAC,CAAC,CAAC,IAAI,CACR;MAAA,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CACpB;MAAA,CAAC,YAAY,CAAC,CAAC,CAAC,CACd,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CACpE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CACrE,CAAC,CAAC,CAAC,IAAI,CACV;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveFieldPresentation, resolveFieldState } from '../../internal/resolvers';\nimport { Box, Stack } from '../../layout';\nimport { HelperText } from '../helper-text';\nimport { Label } from '../label';\nimport type { FieldProps } from './types';\n\nexport function Field({\n children,\n label,\n helperText,\n errorText,\n required = false,\n disabled = false,\n invalid = false,\n readOnly = false,\n testID,\n}: FieldProps) {\n const hasErrorText = Boolean(errorText);\n const fieldState = resolveFieldState({\n disabled,\n invalid: invalid || hasErrorText,\n readOnly,\n });\n const presentation = resolveFieldPresentation(fieldState);\n\n return (\n <Stack gap=\"xs\" testID={testID}>\n {label ? (\n <Label required={required} tone={presentation.labelTone}>\n {label}\n </Label>\n ) : null}\n <Box>{children}</Box>\n {hasErrorText ? (\n <HelperText tone={presentation.helperTone}>{errorText}</HelperText>\n ) : helperText ? (\n <HelperText tone={presentation.helperTone}>{helperText}</HelperText>\n ) : null}\n </Stack>\n );\n}\n"]}
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,MAAM,GACK;IACX,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,QAAQ;QACR,OAAO,EAAE,OAAO,IAAI,YAAY;QAChC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC7B;MAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CACP,CAAC,KAAK,CACJ,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAC/B,QAAQ,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CACrC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAEnB;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,KAAK,CAAC,CACT,CAAC,CAAC,CAAC,IAAI,CACR;MAAA,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CACpB;MAAA,CAAC,YAAY,CAAC,CAAC,CAAC,CACd,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CACjF;UAAA,CAAC,SAAS,CACZ;QAAA,EAAE,UAAU,CAAC,CACd,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CACjF;UAAA,CAAC,UAAU,CACb;QAAA,EAAE,UAAU,CAAC,CACd,CAAC,CAAC,CAAC,IAAI,CACV;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveFieldPresentation, resolveFieldState } from '../../internal/resolvers';\nimport { Box, Stack } from '../../layout';\nimport { HelperText } from '../helper-text';\nimport { Label } from '../label';\nimport type { FieldProps } from './types';\n\nexport function Field({\n children,\n label,\n helperText,\n errorText,\n required = false,\n disabled = false,\n invalid = false,\n readOnly = false,\n testID,\n}: FieldProps) {\n const hasErrorText = Boolean(errorText);\n const fieldState = resolveFieldState({\n disabled,\n invalid: invalid || hasErrorText,\n readOnly,\n });\n const presentation = resolveFieldPresentation(fieldState);\n\n return (\n <Stack gap=\"xs\" testID={testID}>\n {label ? (\n <Label\n color={presentation.labelColor}\n emphasis={presentation.labelEmphasis}\n required={required}\n >\n {label}\n </Label>\n ) : null}\n <Box>{children}</Box>\n {hasErrorText ? (\n <HelperText color={presentation.helperColor} emphasis={presentation.helperEmphasis}>\n {errorText}\n </HelperText>\n ) : helperText ? (\n <HelperText color={presentation.helperColor} emphasis={presentation.helperEmphasis}>\n {helperText}\n </HelperText>\n ) : null}\n </Stack>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { HelperTextProps } from './types';
3
- export declare function HelperText({ children, tone, testID }: HelperTextProps): React.JSX.Element;
3
+ export declare function HelperText({ children, emphasis, color, testID }: HelperTextProps): React.JSX.Element;
4
4
  //# sourceMappingURL=HelperText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelperText.d.ts","sourceRoot":"","sources":["../../../src/components/helper-text/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAc,EAAE,MAAM,EAAE,EAAE,eAAe,qBAM/E"}
1
+ {"version":3,"file":"HelperText.d.ts","sourceRoot":"","sources":["../../../src/components/helper-text/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,qBAM1F"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Text } from '../../primitives/text';
3
- export function HelperText({ children, tone = 'muted', testID }) {
4
- return (<Text testID={testID} tone={tone} variant="caption">
3
+ export function HelperText({ children, emphasis = 'muted', color, testID }) {
4
+ return (<Text color={color} emphasis={emphasis} testID={testID} variant="caption">
5
5
  {children}
6
6
  </Text>);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HelperText.js","sourceRoot":"","sources":["../../../src/components/helper-text/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,EAAE,MAAM,EAAmB;IAC9E,OAAO,CACL,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CACjD;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { Text } from '../../primitives/text';\nimport type { HelperTextProps } from './types';\n\nexport function HelperText({ children, tone = 'muted', testID }: HelperTextProps) {\n return (\n <Text testID={testID} tone={tone} variant=\"caption\">\n {children}\n </Text>\n );\n}\n"]}
1
+ {"version":3,"file":"HelperText.js","sourceRoot":"","sources":["../../../src/components/helper-text/HelperText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAmB;IACzF,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CACvE;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { Text } from '../../primitives/text';\nimport type { HelperTextProps } from './types';\n\nexport function HelperText({ children, emphasis = 'muted', color, testID }: HelperTextProps) {\n return (\n <Text color={color} emphasis={emphasis} testID={testID} variant=\"caption\">\n {children}\n </Text>\n );\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import type React from 'react';
2
- import type { TextTone } from '../../internal/resolvers/resolveTextColor';
2
+ import type { SurfaceColor, SurfaceEmphasis } from '../../surfaceColor';
3
3
  export interface HelperTextProps {
4
4
  children?: React.ReactNode;
5
- tone?: Extract<TextTone, 'default' | 'muted' | 'danger'>;
5
+ emphasis?: Extract<SurfaceEmphasis, 'default' | 'muted'>;
6
+ color?: Extract<SurfaceColor, 'error'>;
6
7
  testID?: string;
7
8
  }
8
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/helper-text/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/helper-text/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/helper-text/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { TextTone } from '../../internal/resolvers/resolveTextColor';\n\nexport interface HelperTextProps {\n children?: React.ReactNode;\n tone?: Extract<TextTone, 'default' | 'muted' | 'danger'>;\n testID?: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/helper-text/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { SurfaceColor, SurfaceEmphasis } from '../../surfaceColor';\n\nexport interface HelperTextProps {\n children?: React.ReactNode;\n emphasis?: Extract<SurfaceEmphasis, 'default' | 'muted'>;\n color?: Extract<SurfaceColor, 'error'>;\n testID?: string;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { IconButtonProps } from './types';
3
- export declare function IconButton({ icon, accessibilityLabel, variant, tone, size, disabled, onPress, testID, ...props }: IconButtonProps): React.JSX.Element;
3
+ export declare function IconButton({ icon, accessibilityLabel, variant, color, size, disabled, onPress, testID, ...props }: IconButtonProps): React.JSX.Element;
4
4
  //# sourceMappingURL=IconButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,kBAAkB,EAClB,OAAiB,EACjB,IAAgB,EAChB,IAAU,EACV,QAAgB,EAChB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,eAAe,qBAwCjB"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,kBAAkB,EAClB,OAAiB,EACjB,KAAiB,EACjB,IAAU,EACV,QAAgB,EAChB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACT,EAAE,eAAe,qBAwCjB"}
@@ -4,12 +4,12 @@ import { Box } from '../../layout';
4
4
  import { ButtonBase } from '../../primitives/button-base';
5
5
  import { Icon } from '../../primitives/icon';
6
6
  import { useTheme } from '../../theme/ThemeContext';
7
- export function IconButton({ icon, accessibilityLabel, variant = 'ghost', tone = 'primary', size = 'm', disabled = false, onPress, testID, ...props }) {
7
+ export function IconButton({ icon, accessibilityLabel, variant = 'ghost', color = 'primary', size = 'm', disabled = false, onPress, testID, ...props }) {
8
8
  const { theme } = useTheme();
9
9
  const controlSize = resolveControlSize(theme, size);
10
10
  return (<ButtonBase {...props} accessibilityLabel={accessibilityLabel} disabled={disabled} onPress={onPress} testID={testID}>
11
11
  {(state) => {
12
- const colors = resolveButtonColors(theme, { state, tone, variant });
12
+ const colors = resolveButtonColors(theme, { color, state, variant });
13
13
  return (<Box radius={controlSize.borderRadius} style={{
14
14
  minHeight: controlSize.minHeight,
15
15
  minWidth: controlSize.minHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,kBAAkB,EAClB,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACQ;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEpD,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,CAAC,KAAK,EAAE,EAAE;YACT,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAEpE,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CACjC,KAAK,CAAC,CAAC;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,QAAQ,EAAE,WAAW,CAAC,SAAS;oBAC/B,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAEF;YAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAEvC;UAAA,EAAE,GAAG,CAAC,CACP,CAAC;QACJ,CAAC,CACH;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveButtonColors, resolveControlSize, resolveIconSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Icon } from '../../primitives/icon';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { IconButtonProps } from './types';\n\nexport function IconButton({\n icon,\n accessibilityLabel,\n variant = 'ghost',\n tone = 'primary',\n size = 'm',\n disabled = false,\n onPress,\n testID,\n ...props\n}: IconButtonProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n\n return (\n <ButtonBase\n {...props}\n accessibilityLabel={accessibilityLabel}\n disabled={disabled}\n onPress={onPress}\n testID={testID}\n >\n {(state) => {\n const colors = resolveButtonColors(theme, { state, tone, variant });\n\n return (\n <Box\n radius={controlSize.borderRadius}\n style={{\n minHeight: controlSize.minHeight,\n minWidth: controlSize.minHeight,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n opacity: colors.opacity,\n }}\n >\n <Icon\n color={colors.contentColor}\n name={icon.name}\n provider={icon.provider}\n size={resolveIconSize(theme, size)}\n />\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,kBAAkB,EAClB,OAAO,GAAG,OAAO,EACjB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACQ;IAChB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEpD,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,CAAC,KAAK,EAAE,EAAE;YACT,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAErE,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CACjC,KAAK,CAAC,CAAC;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,QAAQ,EAAE,WAAW,CAAC,SAAS;oBAC/B,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAEF;YAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAEvC;UAAA,EAAE,GAAG,CAAC,CACP,CAAC;QACJ,CAAC,CACH;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { resolveButtonColors, resolveControlSize, resolveIconSize } from '../../internal/resolvers';\nimport { Box } from '../../layout';\nimport { ButtonBase } from '../../primitives/button-base';\nimport { Icon } from '../../primitives/icon';\nimport { useTheme } from '../../theme/ThemeContext';\nimport type { IconButtonProps } from './types';\n\nexport function IconButton({\n icon,\n accessibilityLabel,\n variant = 'ghost',\n color = 'primary',\n size = 'm',\n disabled = false,\n onPress,\n testID,\n ...props\n}: IconButtonProps) {\n const { theme } = useTheme();\n const controlSize = resolveControlSize(theme, size);\n\n return (\n <ButtonBase\n {...props}\n accessibilityLabel={accessibilityLabel}\n disabled={disabled}\n onPress={onPress}\n testID={testID}\n >\n {(state) => {\n const colors = resolveButtonColors(theme, { color, state, variant });\n\n return (\n <Box\n radius={controlSize.borderRadius}\n style={{\n minHeight: controlSize.minHeight,\n minWidth: controlSize.minHeight,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.backgroundColor,\n borderColor: colors.borderColor,\n borderWidth: variant === 'solid' ? 0 : 1,\n opacity: colors.opacity,\n }}\n >\n <Icon\n color={colors.contentColor}\n name={icon.name}\n provider={icon.provider}\n size={resolveIconSize(theme, size)}\n />\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import type { ControlSize } from '../../internal/resolvers/resolveControlSize';
2
2
  import type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';
3
- import type { ComponentTone } from '../../internal/resolvers/resolveTone';
4
3
  import type { ButtonBaseProps } from '../../primitives/button-base';
5
4
  import type { IconProps } from '../../primitives/icon';
5
+ import type { SurfaceColor } from '../../surfaceColor';
6
6
  export interface IconButtonProps extends Omit<ButtonBaseProps, 'children' | 'style' | 'accessibilityLabel'> {
7
7
  icon: {
8
8
  name: IconProps['name'];
@@ -10,7 +10,7 @@ export interface IconButtonProps extends Omit<ButtonBaseProps, 'children' | 'sty
10
10
  };
11
11
  accessibilityLabel: string;
12
12
  variant?: ButtonVariant;
13
- tone?: ComponentTone;
13
+ color?: SurfaceColor;
14
14
  size?: ControlSize;
15
15
  }
16
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,eAAe,EACf,UAAU,GAAG,OAAO,GAAG,oBAAoB,CAC5C;IACC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;KAClC,CAAC;IACF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,eAAe,EACf,UAAU,GAAG,OAAO,GAAG,oBAAoB,CAC5C;IACC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;KAClC,CAAC;IACF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/icon-button/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { ComponentTone } from '../../internal/resolvers/resolveTone';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\nimport type { IconProps } from '../../primitives/icon';\n\nexport interface IconButtonProps extends Omit<\n ButtonBaseProps,\n 'children' | 'style' | 'accessibilityLabel'\n> {\n icon: {\n name: IconProps['name'];\n provider?: IconProps['provider'];\n };\n accessibilityLabel: string;\n variant?: ButtonVariant;\n tone?: ComponentTone;\n size?: ControlSize;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/icon-button/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ControlSize } from '../../internal/resolvers/resolveControlSize';\nimport type { ButtonVariant } from '../../internal/resolvers/resolveInteractiveColors';\nimport type { ButtonBaseProps } from '../../primitives/button-base';\nimport type { IconProps } from '../../primitives/icon';\nimport type { SurfaceColor } from '../../surfaceColor';\n\nexport interface IconButtonProps extends Omit<\n ButtonBaseProps,\n 'children' | 'style' | 'accessibilityLabel'\n> {\n icon: {\n name: IconProps['name'];\n provider?: IconProps['provider'];\n };\n accessibilityLabel: string;\n variant?: ButtonVariant;\n color?: SurfaceColor;\n size?: ControlSize;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { LabelProps } from './types';
3
- export declare function Label({ children, required, tone, testID }: LabelProps): React.JSX.Element;
3
+ export declare function Label({ children, required, emphasis, color, testID, }: LabelProps): React.JSX.Element;
4
4
  //# sourceMappingURL=Label.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../src/components/label/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAgB,EAAE,IAAgB,EAAE,MAAM,EAAE,EAAE,UAAU,qBAWzF"}
1
+ {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../src/components/label/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,QAAgB,EAChB,QAAoB,EACpB,KAAK,EACL,MAAM,GACP,EAAE,UAAU,qBAWZ"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { Text } from '../../primitives/text';
3
- export function Label({ children, required = false, tone = 'default', testID }) {
4
- return (<Text testID={testID} tone={tone} variant="label" weight="medium">
3
+ export function Label({ children, required = false, emphasis = 'default', color, testID, }) {
4
+ return (<Text color={color} emphasis={emphasis} testID={testID} variant="label" weight="medium">
5
5
  {children}
6
- {required ? (<Text tone="danger" variant="label" weight="medium">
6
+ {required ? (<Text color="error" variant="label" weight="medium">
7
7
  {' *'}
8
8
  </Text>) : null}
9
9
  </Text>);