@telus-uds/components-base 0.0.2-prerelease.1 → 0.0.2-prerelease.10

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 (475) hide show
  1. package/.ultra.cache.json +1 -0
  2. package/CHANGELOG.md +120 -0
  3. package/README.md +4 -2
  4. package/__fixtures__/Accessible.js +33 -0
  5. package/__fixtures__/Accessible.native.js +32 -0
  6. package/__fixtures__/test-utils.js +25 -0
  7. package/__fixtures__/testTheme.js +1146 -145
  8. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  9. package/__tests__/Box/Box.test.jsx +81 -58
  10. package/__tests__/Button/ButtonBase.test.jsx +3 -32
  11. package/__tests__/Button/ButtonGroup.test.jsx +6 -7
  12. package/__tests__/Card/Card.test.jsx +63 -0
  13. package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
  14. package/__tests__/Checkbox/CheckboxGroup.test.jsx +246 -0
  15. package/__tests__/Divider/Divider.test.jsx +26 -5
  16. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
  17. package/__tests__/Feedback/Feedback.test.jsx +42 -0
  18. package/__tests__/FlexGrid/Col.test.jsx +5 -0
  19. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
  20. package/__tests__/Icon/Icon.test.jsx +3 -3
  21. package/__tests__/IconButton/IconButton.test.jsx +52 -0
  22. package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
  23. package/__tests__/Link/LinkBase.test.jsx +0 -14
  24. package/__tests__/List/List.test.jsx +60 -0
  25. package/__tests__/Modal/Modal.test.jsx +47 -0
  26. package/__tests__/Notification/Notification.test.jsx +20 -0
  27. package/__tests__/Pagination/Pagination.test.jsx +160 -0
  28. package/__tests__/Progress/Progress.test.jsx +79 -0
  29. package/__tests__/Radio/Radio.test.jsx +87 -0
  30. package/__tests__/Radio/RadioGroup.test.jsx +220 -0
  31. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  32. package/__tests__/RadioCard/RadioCardGroup.test.jsx +246 -0
  33. package/__tests__/Search/Search.test.jsx +73 -0
  34. package/__tests__/Select/Select.test.jsx +94 -0
  35. package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
  36. package/__tests__/Spacer/Spacer.test.jsx +63 -0
  37. package/__tests__/StackView/StackView.test.jsx +216 -0
  38. package/__tests__/StackView/StackWrap.test.jsx +47 -0
  39. package/__tests__/StackView/getStackedContent.test.jsx +295 -0
  40. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  41. package/__tests__/Tabs/Tabs.test.jsx +40 -0
  42. package/__tests__/Tags/Tags.test.jsx +327 -0
  43. package/__tests__/TextInput/TextArea.test.jsx +35 -0
  44. package/__tests__/TextInput/TextInputBase.test.jsx +125 -0
  45. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
  46. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +14 -8
  47. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
  48. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
  49. package/__tests__/Tooltip/Tooltip.test.jsx +65 -0
  50. package/__tests__/Tooltip/getTooltipPosition.test.js +79 -0
  51. package/__tests__/utils/children.test.jsx +128 -0
  52. package/__tests__/utils/input.test.js +59 -1
  53. package/__tests__/utils/useCopy.test.js +42 -0
  54. package/__tests__/utils/useResponsiveProp.test.jsx +202 -0
  55. package/__tests__/utils/useSpacingScale.test.jsx +273 -0
  56. package/__tests__/utils/useUniqueId.test.js +31 -0
  57. package/babel.config.js +18 -1
  58. package/jest.config.js +19 -9
  59. package/lib/A11yInfoProvider/index.js +54 -26
  60. package/lib/A11yText/index.js +36 -15
  61. package/lib/ActivityIndicator/Spinner.js +78 -0
  62. package/lib/ActivityIndicator/Spinner.native.js +121 -87
  63. package/lib/ActivityIndicator/index.js +28 -12
  64. package/lib/ActivityIndicator/shared.js +27 -12
  65. package/lib/BaseProvider/index.js +34 -11
  66. package/lib/Box/Box.js +214 -87
  67. package/lib/Box/index.js +13 -2
  68. package/lib/Button/Button.js +37 -11
  69. package/lib/Button/ButtonBase.js +119 -110
  70. package/lib/Button/ButtonGroup.js +98 -101
  71. package/lib/Button/ButtonLink.js +40 -14
  72. package/lib/Button/index.js +31 -4
  73. package/lib/Button/propTypes.js +32 -9
  74. package/lib/Card/Card.js +98 -0
  75. package/lib/Card/CardBase.js +78 -0
  76. package/lib/Card/PressableCardBase.js +137 -0
  77. package/lib/Card/index.js +40 -0
  78. package/lib/Checkbox/Checkbox.js +344 -0
  79. package/lib/Checkbox/CheckboxGroup.js +231 -0
  80. package/lib/Checkbox/CheckboxInput.js +74 -0
  81. package/lib/Checkbox/CheckboxInput.native.js +14 -0
  82. package/lib/Checkbox/index.js +21 -0
  83. package/lib/Divider/Divider.js +80 -18
  84. package/lib/Divider/index.js +13 -2
  85. package/lib/ExpandCollapse/Accordion.js +19 -8
  86. package/lib/ExpandCollapse/Control.js +50 -29
  87. package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
  88. package/lib/ExpandCollapse/Panel.js +77 -41
  89. package/lib/ExpandCollapse/index.js +25 -7
  90. package/lib/Feedback/Feedback.js +161 -0
  91. package/lib/Feedback/index.js +13 -0
  92. package/lib/Fieldset/Fieldset.js +160 -0
  93. package/lib/Fieldset/FieldsetContainer.js +41 -0
  94. package/lib/Fieldset/FieldsetContainer.native.js +33 -0
  95. package/lib/Fieldset/Legend.js +33 -0
  96. package/lib/Fieldset/Legend.native.js +43 -0
  97. package/lib/Fieldset/cssReset.js +21 -0
  98. package/lib/Fieldset/index.js +13 -0
  99. package/lib/FlexGrid/Col/Col.js +66 -39
  100. package/lib/FlexGrid/Col/index.js +13 -2
  101. package/lib/FlexGrid/FlexGrid.js +70 -47
  102. package/lib/FlexGrid/Row/Row.js +47 -28
  103. package/lib/FlexGrid/Row/index.js +13 -2
  104. package/lib/FlexGrid/helpers/index.js +9 -1
  105. package/lib/FlexGrid/index.js +13 -2
  106. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  107. package/lib/HorizontalScroll/HorizontalScroll.js +199 -0
  108. package/lib/HorizontalScroll/HorizontalScrollButton.js +121 -0
  109. package/lib/HorizontalScroll/ScrollViewEnd.js +66 -0
  110. package/lib/HorizontalScroll/ScrollViewEnd.native.js +41 -0
  111. package/lib/HorizontalScroll/dictionary.js +18 -0
  112. package/lib/HorizontalScroll/index.js +35 -0
  113. package/lib/HorizontalScroll/itemPositions.js +128 -0
  114. package/lib/Icon/Icon.js +52 -47
  115. package/lib/Icon/IconText.js +100 -0
  116. package/lib/Icon/index.js +31 -3
  117. package/lib/IconButton/IconButton.js +135 -0
  118. package/lib/IconButton/index.js +13 -0
  119. package/lib/InputLabel/InputLabel.js +145 -0
  120. package/lib/InputLabel/LabelContent.js +39 -0
  121. package/lib/InputLabel/LabelContent.native.js +16 -0
  122. package/lib/InputLabel/index.js +13 -0
  123. package/lib/InputSupports/InputSupports.js +104 -0
  124. package/lib/InputSupports/index.js +13 -0
  125. package/lib/InputSupports/propTypes.js +66 -0
  126. package/lib/InputSupports/useInputSupports.js +41 -0
  127. package/lib/Link/ChevronLink.js +56 -16
  128. package/lib/Link/InlinePressable.js +50 -0
  129. package/lib/Link/InlinePressable.native.js +101 -0
  130. package/lib/Link/Link.js +29 -14
  131. package/lib/Link/LinkBase.js +120 -147
  132. package/lib/Link/TextButton.js +46 -18
  133. package/lib/Link/index.js +39 -4
  134. package/lib/List/List.js +80 -0
  135. package/lib/List/ListItem.js +239 -0
  136. package/lib/List/index.js +13 -0
  137. package/lib/Modal/Modal.js +226 -0
  138. package/lib/Modal/dictionary.js +16 -0
  139. package/lib/Modal/index.js +13 -0
  140. package/lib/Notification/Notification.js +215 -0
  141. package/lib/Notification/dictionary.js +15 -0
  142. package/lib/Notification/index.js +13 -0
  143. package/lib/Pagination/PageButton.js +89 -0
  144. package/lib/Pagination/Pagination.js +148 -0
  145. package/lib/Pagination/SideButton.js +124 -0
  146. package/lib/Pagination/dictionary.js +25 -0
  147. package/lib/Pagination/index.js +13 -0
  148. package/lib/Pagination/usePagination.js +80 -0
  149. package/lib/Progress/Progress.js +99 -0
  150. package/lib/Progress/ProgressBar.js +146 -0
  151. package/lib/Progress/ProgressBarBackground.js +57 -0
  152. package/lib/Progress/index.js +16 -0
  153. package/lib/Radio/Radio.js +292 -0
  154. package/lib/Radio/RadioButton.js +141 -0
  155. package/lib/Radio/RadioGroup.js +234 -0
  156. package/lib/Radio/RadioInput.js +76 -0
  157. package/lib/Radio/RadioInput.native.js +14 -0
  158. package/lib/Radio/index.js +21 -0
  159. package/lib/RadioCard/RadioCard.js +243 -0
  160. package/lib/RadioCard/RadioCardGroup.js +251 -0
  161. package/lib/RadioCard/index.js +21 -0
  162. package/lib/Search/Search.js +250 -0
  163. package/lib/Search/dictionary.js +19 -0
  164. package/lib/Search/index.js +13 -0
  165. package/lib/Select/Group.js +33 -0
  166. package/lib/Select/Group.native.js +25 -0
  167. package/lib/Select/Item.js +29 -0
  168. package/lib/Select/Item.native.js +19 -0
  169. package/lib/Select/Picker.js +79 -0
  170. package/lib/Select/Picker.native.js +127 -0
  171. package/lib/Select/Select.js +341 -0
  172. package/lib/Select/index.js +19 -0
  173. package/lib/SideNav/Item.js +54 -35
  174. package/lib/SideNav/ItemContent.js +41 -15
  175. package/lib/SideNav/ItemsGroup.js +53 -34
  176. package/lib/SideNav/SideNav.js +94 -70
  177. package/lib/SideNav/index.js +15 -1
  178. package/lib/Skeleton/Skeleton.js +137 -0
  179. package/lib/Skeleton/index.js +13 -0
  180. package/lib/Skeleton/skeleton.constant.js +12 -0
  181. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  182. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  183. package/lib/Spacer/Spacer.js +117 -0
  184. package/lib/Spacer/index.js +13 -0
  185. package/lib/StackView/StackView.js +130 -0
  186. package/lib/StackView/StackWrap.js +55 -0
  187. package/lib/StackView/StackWrap.native.js +14 -0
  188. package/lib/StackView/StackWrapBox.js +120 -0
  189. package/lib/StackView/StackWrapGap.js +71 -0
  190. package/lib/StackView/common.js +47 -0
  191. package/lib/StackView/getStackedContent.js +141 -0
  192. package/lib/StackView/index.js +29 -0
  193. package/lib/StepTracker/Step.js +245 -0
  194. package/lib/StepTracker/StepTracker.js +197 -0
  195. package/lib/StepTracker/dictionary.js +17 -0
  196. package/lib/StepTracker/index.js +13 -0
  197. package/lib/Tabs/Tabs.js +118 -0
  198. package/lib/Tabs/TabsItem.js +237 -0
  199. package/lib/Tabs/index.js +13 -0
  200. package/lib/Tags/Tags.js +250 -0
  201. package/lib/Tags/index.js +13 -0
  202. package/lib/TextInput/TextArea.js +109 -0
  203. package/lib/TextInput/TextInput.js +75 -0
  204. package/lib/TextInput/TextInputBase.js +255 -0
  205. package/lib/TextInput/index.js +23 -0
  206. package/lib/TextInput/propTypes.js +42 -0
  207. package/lib/ThemeProvider/ThemeProvider.js +46 -18
  208. package/lib/ThemeProvider/index.js +61 -6
  209. package/lib/ThemeProvider/useSetTheme.js +19 -5
  210. package/lib/ThemeProvider/useTheme.js +13 -4
  211. package/lib/ThemeProvider/useThemeTokens.js +111 -16
  212. package/lib/ThemeProvider/utils/index.js +31 -2
  213. package/lib/ThemeProvider/utils/styles.js +52 -16
  214. package/lib/ThemeProvider/utils/theme-tokens.js +154 -19
  215. package/lib/ToggleSwitch/ToggleSwitch.js +87 -93
  216. package/lib/ToggleSwitch/index.js +13 -2
  217. package/lib/Tooltip/Backdrop.js +56 -0
  218. package/lib/Tooltip/Backdrop.native.js +59 -0
  219. package/lib/Tooltip/Tooltip.js +357 -0
  220. package/lib/Tooltip/dictionary.js +15 -0
  221. package/lib/Tooltip/getTooltipPosition.js +172 -0
  222. package/lib/Tooltip/index.js +13 -0
  223. package/lib/TooltipButton/TooltipButton.js +83 -0
  224. package/lib/TooltipButton/index.js +13 -0
  225. package/lib/Typography/Typography.js +58 -49
  226. package/lib/Typography/index.js +13 -2
  227. package/lib/ViewportProvider/ViewportProvider.js +46 -0
  228. package/lib/ViewportProvider/index.js +22 -38
  229. package/lib/ViewportProvider/useViewport.js +15 -0
  230. package/lib/ViewportProvider/useViewportListener.js +57 -0
  231. package/lib/index.js +539 -17
  232. package/lib/utils/a11y/index.js +18 -0
  233. package/lib/utils/a11y/textSize.js +49 -0
  234. package/lib/utils/animation/index.js +15 -2
  235. package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
  236. package/lib/utils/children.js +134 -0
  237. package/lib/utils/index.js +163 -3
  238. package/lib/utils/info/index.js +19 -0
  239. package/lib/utils/info/platform/index.js +23 -0
  240. package/lib/utils/info/platform/platform.android.js +8 -0
  241. package/lib/utils/info/platform/platform.ios.js +8 -0
  242. package/lib/utils/info/platform/platform.js +8 -0
  243. package/lib/utils/info/platform/platform.native.js +11 -0
  244. package/lib/utils/info/versions.js +16 -0
  245. package/lib/utils/input.js +62 -38
  246. package/lib/utils/pressability.js +120 -0
  247. package/lib/utils/propTypes.js +360 -109
  248. package/lib/utils/useCopy.js +51 -0
  249. package/lib/utils/useHash.js +52 -0
  250. package/lib/utils/useHash.native.js +15 -0
  251. package/lib/utils/useResponsiveProp.js +59 -0
  252. package/lib/utils/useSpacingScale.js +135 -0
  253. package/lib/utils/useUniqueId.js +21 -0
  254. package/package.json +15 -14
  255. package/release-context.json +4 -4
  256. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
  257. package/src/Box/Box.jsx +180 -78
  258. package/src/Button/Button.jsx +9 -5
  259. package/src/Button/ButtonBase.jsx +74 -87
  260. package/src/Button/ButtonGroup.jsx +26 -43
  261. package/src/Button/ButtonLink.jsx +14 -4
  262. package/src/Button/propTypes.js +12 -2
  263. package/src/Card/Card.jsx +75 -0
  264. package/src/Card/CardBase.jsx +57 -0
  265. package/src/Card/PressableCardBase.jsx +112 -0
  266. package/src/Card/index.js +6 -0
  267. package/src/Checkbox/Checkbox.jsx +274 -0
  268. package/src/Checkbox/CheckboxGroup.jsx +196 -0
  269. package/src/Checkbox/CheckboxInput.jsx +55 -0
  270. package/src/Checkbox/CheckboxInput.native.jsx +6 -0
  271. package/src/Checkbox/index.js +5 -0
  272. package/src/Divider/Divider.jsx +38 -3
  273. package/src/ExpandCollapse/Control.jsx +3 -4
  274. package/src/ExpandCollapse/Panel.jsx +3 -3
  275. package/src/Feedback/Feedback.jsx +108 -0
  276. package/src/Feedback/index.js +3 -0
  277. package/src/Fieldset/Fieldset.jsx +129 -0
  278. package/src/Fieldset/FieldsetContainer.jsx +22 -0
  279. package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
  280. package/src/Fieldset/Legend.jsx +16 -0
  281. package/src/Fieldset/Legend.native.jsx +22 -0
  282. package/src/Fieldset/cssReset.js +14 -0
  283. package/src/Fieldset/index.js +3 -0
  284. package/src/FlexGrid/Col/Col.jsx +4 -2
  285. package/src/HorizontalScroll/HorizontalScroll.jsx +165 -0
  286. package/src/HorizontalScroll/HorizontalScrollButton.jsx +108 -0
  287. package/src/HorizontalScroll/ScrollViewEnd.jsx +53 -0
  288. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +24 -0
  289. package/src/HorizontalScroll/dictionary.js +11 -0
  290. package/src/HorizontalScroll/index.js +17 -0
  291. package/src/HorizontalScroll/itemPositions.js +101 -0
  292. package/src/Icon/Icon.jsx +23 -27
  293. package/src/Icon/IconText.jsx +63 -0
  294. package/src/Icon/index.js +3 -2
  295. package/src/IconButton/IconButton.jsx +107 -0
  296. package/src/IconButton/index.js +3 -0
  297. package/src/InputLabel/InputLabel.jsx +124 -0
  298. package/src/InputLabel/LabelContent.jsx +23 -0
  299. package/src/InputLabel/LabelContent.native.jsx +6 -0
  300. package/src/InputLabel/index.js +3 -0
  301. package/src/InputSupports/InputSupports.jsx +75 -0
  302. package/src/InputSupports/index.js +3 -0
  303. package/src/InputSupports/propTypes.js +44 -0
  304. package/src/InputSupports/useInputSupports.js +30 -0
  305. package/src/Link/ChevronLink.jsx +28 -7
  306. package/src/Link/InlinePressable.jsx +37 -0
  307. package/src/Link/InlinePressable.native.jsx +73 -0
  308. package/src/Link/Link.jsx +17 -13
  309. package/src/Link/LinkBase.jsx +71 -146
  310. package/src/Link/TextButton.jsx +25 -11
  311. package/src/Link/index.js +2 -1
  312. package/src/List/List.jsx +47 -0
  313. package/src/List/ListItem.jsx +184 -0
  314. package/src/List/index.js +3 -0
  315. package/src/Modal/Modal.jsx +185 -0
  316. package/src/Modal/dictionary.js +9 -0
  317. package/src/Modal/index.js +3 -0
  318. package/src/Notification/Notification.jsx +161 -0
  319. package/src/Notification/dictionary.js +8 -0
  320. package/src/Notification/index.js +3 -0
  321. package/src/Pagination/PageButton.jsx +70 -0
  322. package/src/Pagination/Pagination.jsx +135 -0
  323. package/src/Pagination/SideButton.jsx +82 -0
  324. package/src/Pagination/dictionary.js +18 -0
  325. package/src/Pagination/index.js +3 -0
  326. package/src/Pagination/usePagination.js +69 -0
  327. package/src/Progress/Progress.jsx +77 -0
  328. package/src/Progress/ProgressBar.jsx +110 -0
  329. package/src/Progress/ProgressBarBackground.jsx +34 -0
  330. package/src/Progress/index.js +6 -0
  331. package/src/Radio/Radio.jsx +233 -0
  332. package/src/Radio/RadioButton.jsx +131 -0
  333. package/src/Radio/RadioGroup.jsx +199 -0
  334. package/src/Radio/RadioInput.jsx +57 -0
  335. package/src/Radio/RadioInput.native.jsx +6 -0
  336. package/src/Radio/index.js +5 -0
  337. package/src/RadioCard/RadioCard.jsx +191 -0
  338. package/src/RadioCard/RadioCardGroup.jsx +211 -0
  339. package/src/RadioCard/index.js +5 -0
  340. package/src/Search/Search.jsx +215 -0
  341. package/src/Search/dictionary.js +12 -0
  342. package/src/Search/index.js +3 -0
  343. package/src/Select/Group.jsx +15 -0
  344. package/src/Select/Group.native.jsx +14 -0
  345. package/src/Select/Item.jsx +11 -0
  346. package/src/Select/Item.native.jsx +10 -0
  347. package/src/Select/Picker.jsx +67 -0
  348. package/src/Select/Picker.native.jsx +108 -0
  349. package/src/Select/Select.jsx +286 -0
  350. package/src/Select/index.js +8 -0
  351. package/src/SideNav/Item.jsx +5 -5
  352. package/src/SideNav/ItemsGroup.jsx +11 -13
  353. package/src/SideNav/SideNav.jsx +2 -1
  354. package/src/Skeleton/Skeleton.jsx +98 -0
  355. package/src/Skeleton/index.js +3 -0
  356. package/src/Skeleton/skeleton.constant.js +3 -0
  357. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  358. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  359. package/src/Spacer/Spacer.jsx +91 -0
  360. package/src/Spacer/index.js +3 -0
  361. package/src/StackView/StackView.jsx +113 -0
  362. package/src/StackView/StackWrap.jsx +41 -0
  363. package/src/StackView/StackWrap.native.jsx +4 -0
  364. package/src/StackView/StackWrapBox.jsx +102 -0
  365. package/src/StackView/StackWrapGap.jsx +49 -0
  366. package/src/StackView/common.jsx +29 -0
  367. package/src/StackView/getStackedContent.jsx +112 -0
  368. package/src/StackView/index.js +6 -0
  369. package/src/StepTracker/Step.jsx +202 -0
  370. package/src/StepTracker/StepTracker.jsx +163 -0
  371. package/src/StepTracker/dictionary.js +10 -0
  372. package/src/StepTracker/index.js +3 -0
  373. package/src/Tabs/Tabs.jsx +92 -0
  374. package/src/Tabs/TabsItem.jsx +205 -0
  375. package/src/Tabs/index.js +3 -0
  376. package/src/Tags/Tags.jsx +207 -0
  377. package/src/Tags/index.js +3 -0
  378. package/src/TextInput/TextArea.jsx +78 -0
  379. package/src/TextInput/TextInput.jsx +52 -0
  380. package/src/TextInput/TextInputBase.jsx +211 -0
  381. package/src/TextInput/index.js +4 -0
  382. package/src/TextInput/propTypes.js +29 -0
  383. package/src/ThemeProvider/ThemeProvider.jsx +11 -7
  384. package/src/ThemeProvider/useSetTheme.js +4 -0
  385. package/src/ThemeProvider/useThemeTokens.js +85 -7
  386. package/src/ThemeProvider/utils/styles.js +18 -5
  387. package/src/ThemeProvider/utils/theme-tokens.js +106 -8
  388. package/src/ToggleSwitch/ToggleSwitch.jsx +25 -46
  389. package/src/Tooltip/Backdrop.jsx +60 -0
  390. package/src/Tooltip/Backdrop.native.jsx +33 -0
  391. package/src/Tooltip/Tooltip.jsx +294 -0
  392. package/src/Tooltip/dictionary.js +8 -0
  393. package/src/Tooltip/getTooltipPosition.js +161 -0
  394. package/src/Tooltip/index.js +3 -0
  395. package/src/TooltipButton/TooltipButton.jsx +49 -0
  396. package/src/TooltipButton/index.js +3 -0
  397. package/src/Typography/Typography.jsx +10 -24
  398. package/src/ViewportProvider/ViewportProvider.jsx +21 -0
  399. package/src/ViewportProvider/index.jsx +2 -41
  400. package/src/ViewportProvider/useViewport.js +5 -0
  401. package/src/ViewportProvider/useViewportListener.js +43 -0
  402. package/src/index.js +38 -1
  403. package/src/utils/a11y/index.js +1 -0
  404. package/src/utils/a11y/textSize.js +30 -0
  405. package/src/utils/children.jsx +119 -0
  406. package/src/utils/index.js +11 -0
  407. package/src/utils/info/index.js +8 -0
  408. package/src/utils/info/platform/index.js +11 -0
  409. package/src/utils/info/platform/platform.android.js +1 -0
  410. package/src/utils/info/platform/platform.ios.js +1 -0
  411. package/src/utils/info/platform/platform.js +1 -0
  412. package/src/utils/info/platform/platform.native.js +4 -0
  413. package/src/utils/info/versions.js +6 -0
  414. package/src/utils/input.js +38 -26
  415. package/src/utils/pressability.js +96 -0
  416. package/src/utils/propTypes.js +298 -66
  417. package/src/utils/useCopy.js +39 -0
  418. package/src/utils/useHash.js +39 -0
  419. package/src/utils/useHash.native.js +6 -0
  420. package/src/utils/useResponsiveProp.js +50 -0
  421. package/src/utils/useSpacingScale.js +108 -0
  422. package/src/utils/useUniqueId.js +14 -0
  423. package/stories/A11yText/A11yText.stories.jsx +15 -13
  424. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +11 -2
  425. package/stories/Box/Box.stories.jsx +46 -17
  426. package/stories/Button/Button.stories.jsx +21 -20
  427. package/stories/Button/ButtonGroup.stories.jsx +2 -1
  428. package/stories/Button/ButtonLink.stories.jsx +6 -4
  429. package/stories/Card/Card.stories.jsx +62 -0
  430. package/stories/Checkbox/Checkbox.stories.jsx +94 -0
  431. package/stories/Divider/Divider.stories.jsx +26 -2
  432. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +74 -79
  433. package/stories/Feedback/Feedback.stories.jsx +96 -0
  434. package/stories/FlexGrid/01 FlexGrid.stories.jsx +20 -7
  435. package/stories/Icon/Icon.stories.jsx +35 -7
  436. package/stories/IconButton/IconButton.stories.jsx +50 -0
  437. package/stories/InputLabel/InputLabel.stories.jsx +42 -0
  438. package/stories/Link/ChevronLink.stories.jsx +20 -4
  439. package/stories/Link/Link.stories.jsx +51 -20
  440. package/stories/Link/TextButton.stories.jsx +24 -3
  441. package/stories/List/List.stories.jsx +117 -0
  442. package/stories/Modal/Modal.stories.jsx +29 -0
  443. package/stories/Notification/Notification.stories.jsx +82 -0
  444. package/stories/Pagination/Pagination.stories.jsx +64 -0
  445. package/stories/Progress/Progress.stories.jsx +93 -0
  446. package/stories/Radio/Radio.stories.jsx +100 -0
  447. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  448. package/stories/Search/Search.stories.jsx +16 -0
  449. package/stories/Select/Select.stories.jsx +55 -0
  450. package/stories/SideNav/SideNav.stories.jsx +17 -2
  451. package/stories/Skeleton/Skeleton.stories.jsx +36 -0
  452. package/stories/Spacer/Spacer.stories.jsx +38 -0
  453. package/stories/StackView/StackView.stories.jsx +75 -0
  454. package/stories/StackView/StackWrap.stories.jsx +64 -0
  455. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  456. package/stories/Tabs/Tabs.stories.jsx +97 -0
  457. package/stories/Tags/Tags.stories.jsx +69 -0
  458. package/stories/TextInput/TextArea.stories.jsx +100 -0
  459. package/stories/TextInput/TextInput.stories.jsx +103 -0
  460. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +16 -3
  461. package/stories/Tooltip/Tooltip.stories.jsx +81 -0
  462. package/stories/TooltipButton/TooltipButton.stories.jsx +11 -0
  463. package/stories/Typography/Typography.stories.jsx +12 -3
  464. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +1 -1
  465. package/stories/supports.jsx +148 -14
  466. package/__fixtures__/accessible.icon.svg +0 -6
  467. package/docs/Contributing.stories.mdx +0 -9
  468. package/docs/Fonts.stories.mdx +0 -104
  469. package/docs/Icons.stories.mdx +0 -144
  470. package/docs/Introduction.stories.mdx +0 -9
  471. package/lib/ActivityIndicator/Spinner.web.js +0 -57
  472. package/lib/config/svgr-icons-web.js +0 -9
  473. package/lib/config/svgr-icons.js +0 -52
  474. package/src/config/svgr-icons-web.js +0 -11
  475. package/src/config/svgr-icons.js +0 -46
@@ -1,100 +1,68 @@
1
- const {
2
- buttonAppearances,
3
- linkAppearances,
4
- sideNavItemAppearances,
5
- toggleSwitchAppearances
6
- } = require('@telus-uds/tools-theme')
7
- const { appearances: systemAppearances } = require('@telus-uds/system-constants')
1
+ import { appearances } from '@telus-uds/system-theme-tokens'
2
+ import systemThemeTokensPackage from '@telus-uds/system-theme-tokens/package.json'
8
3
 
9
4
  // This is a dev-only file so we don't need to make @telus-uds/palette-allium a dependency.
10
- // eslint-disable-next-line import/no-extraneous-dependencies
11
- const chevronLeft = require('@telus-uds/palette-allium/build/rn/icons/chevron-left.icon.svg')
12
- .default
13
- // eslint-disable-next-line import/no-extraneous-dependencies
14
- const chevronRight = require('@telus-uds/palette-allium/build/rn/icons/chevron-right.icon.svg')
15
- .default
5
+ /* eslint-disable-next-line import/no-extraneous-dependencies */
6
+ import {
7
+ ChevronLeft,
8
+ ChevronRight,
9
+ Checkmark,
10
+ Close,
11
+ Question,
12
+ SearchBold,
13
+ Times
14
+ } from '@telus-uds/palette-allium/build/rn/icons'
16
15
 
17
16
  const transparent = 'rgba(0, 0, 0, 0)'
18
17
 
19
- module.exports = {
18
+ export default {
20
19
  metadata: {
21
- name: 'test'
20
+ name: 'test',
21
+ themeTokensVersion: systemThemeTokensPackage.version
22
22
  },
23
23
  components: {
24
- Box: {
25
- style: {},
26
- levels: {
27
- xs: {
28
- 0: 0,
29
- 1: 4,
30
- 2: 8,
31
- 3: 16,
32
- 4: 24,
33
- 5: 32,
34
- 6: 36,
35
- 7: 40,
36
- 8: 48,
37
- 9: 64,
38
- 10: 80,
39
- 11: 96
40
- },
41
- sm: {
42
- 0: 0,
43
- 1: 4,
44
- 2: 8,
45
- 3: 16,
46
- 4: 24,
47
- 5: 32,
48
- 6: 36,
49
- 7: 40,
50
- 8: 48,
51
- 9: 64,
52
- 10: 80,
53
- 11: 96
54
- },
55
- md: {
56
- 0: 0,
57
- 1: 4,
58
- 2: 8,
59
- 3: 16,
60
- 4: 24,
61
- 5: 32,
62
- 6: 36,
63
- 7: 40,
64
- 8: 48,
65
- 9: 64,
66
- 10: 80,
67
- 11: 96
68
- },
69
- lg: {
70
- 0: 0,
71
- 1: 4,
72
- 2: 8,
73
- 3: 16,
74
- 4: 24,
75
- 5: 32,
76
- 6: 40,
77
- 7: 48,
78
- 8: 64,
79
- 9: 72,
80
- 10: 96,
81
- 11: 120
82
- },
83
- xl: {
84
- 0: 0,
85
- 1: 4,
86
- 2: 8,
87
- 3: 16,
88
- 4: 24,
89
- 5: 32,
90
- 6: 40,
91
- 7: 48,
92
- 8: 64,
93
- 9: 72,
94
- 10: 96,
95
- 11: 120
96
- }
24
+ spacingScale: {
25
+ tokens: {
26
+ size: 36
97
27
  },
28
+ rules: [
29
+ { if: { space: 5 }, tokens: { size: 32 } },
30
+ { if: { space: 4 }, tokens: { size: 24 } },
31
+ { if: { space: 3 }, tokens: { size: 16 } },
32
+ { if: { space: 2 }, tokens: { size: 8 } },
33
+ { if: { space: 1 }, tokens: { size: 4 } },
34
+
35
+ { if: { compact: true }, tokens: { size: 12 } },
36
+ { if: { compact: true, space: 5 }, tokens: { size: 10 } },
37
+ { if: { compact: true, space: 4 }, tokens: { size: 8 } },
38
+ { if: { compact: true, space: 3 }, tokens: { size: 6 } },
39
+ { if: { compact: true, space: 2 }, tokens: { size: 4 } },
40
+ { if: { compact: true, space: 1 }, tokens: { size: 2 } },
41
+
42
+ { if: { responsive: true }, tokens: { size: 6 } },
43
+ { if: { responsive: true, space: 5 }, tokens: { size: 5 } },
44
+ { if: { responsive: true, space: 4 }, tokens: { size: 4 } },
45
+ { if: { responsive: true, space: 3 }, tokens: { size: 3 } },
46
+ { if: { responsive: true, space: 2 }, tokens: { size: 2 } },
47
+ { if: { responsive: true, space: 1 }, tokens: { size: 1 } },
48
+ { if: { responsive: true, viewport: ['sm', 'md'] }, tokens: { size: 8 } },
49
+ { if: { responsive: true, viewport: ['sm', 'md'], space: 5 }, tokens: { size: 7 } },
50
+ { if: { responsive: true, viewport: ['sm', 'md'], space: 4 }, tokens: { size: 6 } },
51
+ { if: { responsive: true, viewport: ['sm', 'md'], space: 3 }, tokens: { size: 5 } },
52
+ { if: { responsive: true, viewport: ['sm', 'md'], space: 2 }, tokens: { size: 4 } },
53
+ { if: { responsive: true, viewport: ['sm', 'md'], space: 1 }, tokens: { size: 3 } },
54
+ { if: { responsive: true, viewport: ['lg', 'xl'] }, tokens: { size: 12 } },
55
+ { if: { responsive: true, viewport: ['lg', 'xl'], space: 5 }, tokens: { size: 11 } },
56
+ { if: { responsive: true, viewport: ['lg', 'xl'], space: 4 }, tokens: { size: 10 } },
57
+ { if: { responsive: true, viewport: ['lg', 'xl'], space: 3 }, tokens: { size: 9 } },
58
+ { if: { responsive: true, viewport: ['lg', 'xl'], space: 2 }, tokens: { size: 8 } },
59
+ { if: { responsive: true, viewport: ['lg', 'xl'], space: 1 }, tokens: { size: 7 } },
60
+
61
+ { if: { space: 0 }, tokens: { size: 0 } }
62
+ ]
63
+ },
64
+ Box: {
65
+ tokens: {},
98
66
  variants: {
99
67
  lightest: {
100
68
  backgroundColor: '#ffffff'
@@ -144,7 +112,9 @@ module.exports = {
144
112
  values: [true],
145
113
  type: 'variant'
146
114
  },
147
- ...buttonAppearances
115
+ focus: appearances.Button.focus,
116
+ hover: appearances.Button.hover,
117
+ pressed: appearances.Button.pressed
148
118
  },
149
119
  tokens: {
150
120
  borderColor: '#0e6ac8',
@@ -155,12 +125,12 @@ module.exports = {
155
125
  outerBorderColor: transparent,
156
126
  outerBorderWidth: 4,
157
127
  outerBorderGap: 2,
158
- outerBorderRadius: 2,
159
128
 
160
129
  fontSize: 16,
161
130
  color: '#0e6ac8',
162
131
  lineHeight: 1.5,
163
132
  fontWeight: '600',
133
+ alignSelf: 'flex-start',
164
134
 
165
135
  backgroundColor: '#ffffff',
166
136
  opacity: 1,
@@ -169,12 +139,7 @@ module.exports = {
169
139
  paddingTop: 8,
170
140
  paddingBottom: 8,
171
141
 
172
- width: null,
173
-
174
- marginLeft: 0,
175
- marginRight: 0,
176
- marginTop: 0,
177
- marginBottom: 0
142
+ width: null
178
143
  },
179
144
  rules: [
180
145
  {
@@ -260,8 +225,7 @@ module.exports = {
260
225
  {
261
226
  if: { rounded: true },
262
227
  tokens: {
263
- borderRadius: 48,
264
- outerBorderRadius: 16
228
+ borderRadius: 48
265
229
  }
266
230
  },
267
231
  {
@@ -279,8 +243,7 @@ module.exports = {
279
243
  {
280
244
  if: { rounded: true, pressed: true },
281
245
  tokens: {
282
- borderRadius: 0,
283
- outerBorderRadius: 0
246
+ borderRadius: 0
284
247
  }
285
248
  },
286
249
  {
@@ -325,10 +288,246 @@ module.exports = {
325
288
  },
326
289
  ButtonGroup: {
327
290
  tokens: {
328
- gap: 8,
329
- direction: 'row'
291
+ space: 2,
292
+ direction: 'row',
293
+ alignItems: 'flex-start',
294
+ justifyContent: 'flex-start',
295
+ flexGrow: 1
296
+ }
297
+ },
298
+ ButtonGroupItem: {
299
+ appearances: {
300
+ focus: appearances.ButtonGroupItem.focus,
301
+ hover: appearances.ButtonGroupItem.hover,
302
+ pressed: appearances.ButtonGroupItem.pressed,
303
+ selected: appearances.ButtonGroupItem.selected
304
+ },
305
+ tokens: {
306
+ borderColor: '#0e6ac8',
307
+ borderWidth: 2,
308
+ borderRadius: 0,
309
+ shadow: null,
310
+
311
+ outerBorderColor: transparent,
312
+ outerBorderWidth: 4,
313
+ outerBorderGap: 2,
314
+
315
+ fontSize: 16,
316
+ color: '#0e6ac8',
317
+ lineHeight: 1.5,
318
+ fontWeight: '600',
319
+ alignSelf: 'flex-start',
320
+
321
+ backgroundColor: '#ffffff',
322
+ opacity: 1,
323
+ paddingLeft: 24,
324
+ paddingRight: 24,
325
+ paddingTop: 8,
326
+ paddingBottom: 8,
327
+
328
+ width: null
329
+ },
330
+ rules: [
331
+ {
332
+ if: { focus: true },
333
+ tokens: {
334
+ borderWidth: 4,
335
+ outerBorderColor: '#0e6ac8',
336
+ opacity: 0.5
337
+ }
338
+ },
339
+ {
340
+ if: { hover: true },
341
+ tokens: {
342
+ borderWidth: 6
343
+ }
344
+ },
345
+ {
346
+ if: { pressed: true },
347
+ tokens: {
348
+ borderWidth: 8
349
+ }
350
+ },
351
+ {
352
+ if: { selected: true },
353
+ tokens: { backgroundColor: '#0e6ac8', color: '#ffffff', opacity: 1 }
354
+ }
355
+ ]
356
+ },
357
+ Card: {
358
+ appearances: {
359
+ background: {
360
+ values: ['alternative'],
361
+ type: 'variant'
362
+ },
363
+ padding: {
364
+ values: ['narrow', 'intermediate', 'compact', 'custom'],
365
+ type: 'variant'
366
+ },
367
+ viewport: appearances.system.viewport
368
+ },
369
+ tokens: {
370
+ flex: 1,
371
+ backgroundColor: '#ffffff',
372
+ borderColor: '#666666',
373
+ borderRadius: 6,
374
+ borderWidth: 1,
375
+ paddingBottom: 32,
376
+ paddingLeft: 24,
377
+ paddingRight: 24,
378
+ paddingTop: 32
379
+ },
380
+ rules: [
381
+ {
382
+ if: { background: 'alternative' },
383
+ tokens: {
384
+ backgroundColor: '#f4f4f7'
385
+ }
386
+ },
387
+ {
388
+ if: { viewport: ['md', 'lg', 'xl'] },
389
+ tokens: {
390
+ paddingBottom: 48,
391
+ paddingLeft: 32,
392
+ paddingRight: 32,
393
+ paddingTop: 48
394
+ }
395
+ },
396
+ {
397
+ if: { padding: 'narrow' },
398
+ tokens: {
399
+ paddingBottom: 24,
400
+ paddingLeft: 16,
401
+ paddingRight: 16,
402
+ paddingTop: 24
403
+ }
404
+ },
405
+ {
406
+ if: { padding: 'narrow', viewport: ['md', 'lg', 'xl'] },
407
+ tokens: {
408
+ paddingBottom: 32,
409
+ paddingLeft: 16,
410
+ paddingRight: 16,
411
+ paddingTop: 32
412
+ }
413
+ },
414
+ {
415
+ if: { padding: 'intermediate' },
416
+ tokens: {
417
+ paddingBottom: 24,
418
+ paddingLeft: 24,
419
+ paddingRight: 24,
420
+ paddingTop: 24
421
+ }
422
+ },
423
+ {
424
+ if: { padding: 'intermediate', viewport: ['md', 'lg', 'xl'] },
425
+ tokens: {
426
+ paddingBottom: 32,
427
+ paddingLeft: 32,
428
+ paddingRight: 32,
429
+ paddingTop: 32
430
+ }
431
+ },
432
+ {
433
+ if: { padding: 'compact' },
434
+ tokens: {
435
+ paddingBottom: 16,
436
+ paddingLeft: 16,
437
+ paddingRight: 16,
438
+ paddingTop: 16
439
+ }
440
+ },
441
+ {
442
+ if: { padding: 'custom' },
443
+ tokens: {
444
+ paddingBottom: 0,
445
+ paddingLeft: 0,
446
+ paddingRight: 0,
447
+ paddingTop: 0
448
+ }
449
+ }
450
+ ]
451
+ },
452
+ Checkbox: {
453
+ appearances: {
454
+ error: appearances.Checkbox.error,
455
+ focus: appearances.Checkbox.focus,
456
+ inactive: appearances.Checkbox.inactive
457
+ },
458
+ tokens: {
459
+ containerBackgroundColor: transparent,
460
+ feedbackMarginBottom: 0,
461
+ feedbackMarginTop: 2,
462
+ feedbackPosition: 'bottom',
463
+ icon: Checkmark,
464
+ iconBackgroundColor: '#7c53a5',
465
+ iconColor: '#ffffff',
466
+ iconSize: 18,
467
+ inputBackgroundColor: '#ffffff',
468
+ inputBorderColor: '#676e73',
469
+ inputBorderRadius: 4,
470
+ inputBorderWidth: 1,
471
+ inputHeight: 20,
472
+ inputOutlineColor: null,
473
+ inputOutlineWidth: 0,
474
+ inputShadow: {
475
+ color: '#00000044',
476
+ offsetY: 1,
477
+ offsetX: 1,
478
+ spread: 0,
479
+ blur: 1,
480
+ inset: false
481
+ },
482
+ inputWidth: 20,
483
+ labelColor: '#414547',
484
+ labelFontSize: 18,
485
+ labelFontWeight: '500',
486
+ labelLineHeight: 1.5,
487
+ labelMarginLeft: 8
488
+ },
489
+ rules: [
490
+ {
491
+ if: { error: true },
492
+ tokens: {
493
+ inputBorderColor: '#e12339'
494
+ }
495
+ },
496
+ {
497
+ if: { focus: true },
498
+ tokens: {
499
+ inputBorderColor: '#7c53a5',
500
+ inputBorderWidth: 3
501
+ }
502
+ },
503
+ {
504
+ if: { inactive: true },
505
+ tokens: {
506
+ inputBorderColor: 'transparent',
507
+ inputBackgroundColor: '#e3e6e8',
508
+ iconBackgroundColor: '#e3e6e8',
509
+ iconColor: 'rgba(103, 110, 115, 1)',
510
+ labelColor: '#676e73'
511
+ }
512
+ }
513
+ ]
514
+ },
515
+ ChevronLink: {
516
+ appearances: {},
517
+ tokens: {
518
+ leftIcon: ChevronLeft,
519
+ rightIcon: ChevronRight,
520
+ iconDisplace: 4
330
521
  }
331
522
  },
523
+ CheckboxGroup: {
524
+ appearances: {},
525
+ tokens: {
526
+ fieldSpace: 2,
527
+ space: 2
528
+ },
529
+ rules: []
530
+ },
332
531
  Divider: {
333
532
  appearances: {
334
533
  weight: {
@@ -371,38 +570,385 @@ module.exports = {
371
570
  {
372
571
  if: { size: 'small' },
373
572
  tokens: {
374
- size: 20
573
+ size: 20
574
+ }
575
+ },
576
+ {
577
+ if: { rank: 'primary' },
578
+ tokens: {
579
+ color: '#4d80de'
580
+ }
581
+ }
582
+ ]
583
+ },
584
+ ActivityIndicator: {
585
+ appearances: {
586
+ size: {
587
+ values: ['large'],
588
+ type: 'variant'
589
+ }
590
+ },
591
+ tokens: {
592
+ size: 24,
593
+ color: '#0e6ac8',
594
+ thickness: 2
595
+ },
596
+ rules: [
597
+ {
598
+ if: { size: 'large' },
599
+ tokens: {
600
+ size: 48,
601
+ thickness: 4
602
+ }
603
+ }
604
+ ]
605
+ },
606
+ IconButton: {
607
+ appearances: {},
608
+ tokens: {},
609
+ rules: []
610
+ },
611
+ Progress: {
612
+ appearances: {
613
+ size: { values: ['mini'], type: 'variant' }
614
+ },
615
+ tokens: {
616
+ backgroundColor: '#ffffff',
617
+ borderWidth: 1,
618
+ borderColor: '#f4f4f7',
619
+ borderRadius: 12,
620
+ height: 16
621
+ },
622
+ rules: [{ if: { size: 'mini' }, tokens: { height: 8 } }]
623
+ },
624
+ ProgressBar: {
625
+ appearances: {
626
+ inactive: appearances.ProgressBar.inactive,
627
+ negative: { values: [true], type: 'variant' }
628
+ },
629
+ tokens: {
630
+ backgroundColor: '#08804b',
631
+ borderRadius: 12,
632
+ outlineWidth: 1,
633
+ outlineColor: '#2b8000'
634
+ },
635
+ rules: [
636
+ {
637
+ if: { inactive: true },
638
+ tokens: {
639
+ backgroundColor: '#b2b9bf',
640
+ outlineColor: '#f4f4f7'
641
+ }
642
+ },
643
+ {
644
+ if: { negative: true },
645
+ tokens: {
646
+ backgroundColor: '#c12335',
647
+ outlineColor: '#c12335'
648
+ }
649
+ }
650
+ ]
651
+ },
652
+ RadioCardGroup: {
653
+ appearances: {
654
+ viewport: appearances.system.viewport
655
+ },
656
+ tokens: {
657
+ direction: 'column',
658
+ fieldSpace: 2,
659
+ space: 2
660
+ },
661
+ rules: [
662
+ {
663
+ if: {
664
+ viewport: ['lg', 'xl']
665
+ },
666
+ tokens: {
667
+ direction: 'row'
668
+ }
669
+ }
670
+ ]
671
+ },
672
+ RadioGroup: {
673
+ appearances: {},
674
+ tokens: {
675
+ fieldSpace: 2,
676
+ space: 2
677
+ },
678
+ rules: []
679
+ },
680
+ Modal: {
681
+ appearances: {},
682
+ tokens: {
683
+ backdropColor: 'rgba(0,0,0,0.5)',
684
+ backdropOpacity: 1,
685
+ maxWidth: 600,
686
+ containerPaddingLeft: 16,
687
+ containerPaddingRight: 16,
688
+ containerPaddingTop: 16,
689
+ containerPaddingBottom: 16,
690
+ backgroundColor: '#fff',
691
+ borderRadius: 4,
692
+ paddingLeft: 24,
693
+ paddingRight: 24,
694
+ paddingTop: 24,
695
+ paddingBottom: 24,
696
+
697
+ closeIcon: Close,
698
+ closeIconSize: 24,
699
+ closeIconColor: '#000'
700
+ },
701
+ rules: []
702
+ },
703
+ Search: {
704
+ appearances: {
705
+ focus: appearances.Search.focus,
706
+ hover: appearances.Search.hover,
707
+ inactive: appearances.Search.inactive
708
+ },
709
+ tokens: {
710
+ borderRadius: 32,
711
+ borderWidth: 1,
712
+ borderColor: '#00000044',
713
+ paddingTop: 6,
714
+ paddingBottom: 6,
715
+ paddingLeft: 16,
716
+ paddingRight: 6,
717
+ outerBorderWidth: 1,
718
+ outerBorderColor: transparent,
719
+ outerBorderRadius: 32,
720
+ buttonsGap: 2,
721
+ clearButtonIcon: Times,
722
+ submitButtonIcon: SearchBold
723
+ },
724
+ rules: [
725
+ {
726
+ if: { focus: true },
727
+ tokens: {
728
+ outerBorderColor: '#debc06'
729
+ }
730
+ },
731
+ {
732
+ if: { hover: true },
733
+ tokens: {
734
+ outerBorderColor: '#6666cc'
735
+ }
736
+ }
737
+ ]
738
+ },
739
+ SearchButton: {
740
+ appearances: {},
741
+ tokens: {},
742
+ rules: []
743
+ },
744
+ Notification: {
745
+ appearances: {},
746
+ tokens: {
747
+ dismissIcon: Close
748
+ },
749
+ rules: []
750
+ },
751
+ RadioCard: {
752
+ appearances: {
753
+ checked: appearances.Radio.checked,
754
+ error: appearances.Radio.error,
755
+ focus: appearances.Radio.focus,
756
+ hover: appearances.Radio.hover,
757
+ inactive: appearances.Radio.inactive
758
+ },
759
+ tokens: {
760
+ // Taken from Allium theme snapshot
761
+ flex: 1,
762
+ backgroundColor: '#ffffff',
763
+ borderColor: '#b2b9bf',
764
+ borderRadius: 6,
765
+ borderWidth: 1,
766
+ color: '#2c2e30',
767
+ contentSpace: 2,
768
+ fontSize: 20,
769
+ fontWeight: '500',
770
+ letterSpacing: 0,
771
+ lineHeight: 1.4,
772
+ outerBorderColor: transparent,
773
+ outerBorderGap: 0,
774
+ outerBorderWidth: 0,
775
+ paddingBottom: 16,
776
+ paddingLeft: 10,
777
+ paddingRight: 16,
778
+ paddingTop: 16,
779
+ radioCheckedBackgroundColor: '#7c53a5',
780
+ radioCheckedSize: 12,
781
+ radioInputBackgroundColor: '#ffffff',
782
+ radioInputBorderColor: '#676e73',
783
+ radioInputBorderWidth: 1,
784
+ radioInputOutlineColor: transparent,
785
+ radioInputOutlineWidth: 0,
786
+ radioInputSize: 20,
787
+ radioOuterBorderColor: transparent,
788
+ radioOuterBorderGap: 0,
789
+ radioOuterBorderWidth: 0,
790
+ radioSpace: 2,
791
+ minWidth: 288,
792
+ shadow: null,
793
+ textTransform: 'none'
794
+ },
795
+ rules: [
796
+ {
797
+ if: {
798
+ viewport: ['lg', 'xl']
799
+ },
800
+ tokens: {
801
+ fontSize: 24,
802
+ lineHeight: 1.33333333333,
803
+ paddingBottom: 24,
804
+ paddingLeft: 16,
805
+ paddingRight: 24,
806
+ paddingTop: 16
807
+ }
808
+ },
809
+ {
810
+ if: {
811
+ hover: true
812
+ },
813
+ tokens: {
814
+ borderColor: '#676e73',
815
+ outerBorderColor: '#e3e6e8',
816
+ outerBorderWidth: 2,
817
+ radioOuterBorderColor: '#e3e6e8',
818
+ radioOuterBorderWidth: 2
819
+ }
820
+ },
821
+ {
822
+ description: 'Pressed state matches hover state plus light grey background',
823
+ if: {
824
+ pressed: true
825
+ },
826
+ tokens: {
827
+ backgroundColor: '#f4f4f7',
828
+ borderColor: '#676e73',
829
+ outerBorderColor: '#e3e6e8',
830
+ outerBorderWidth: 2
831
+ }
832
+ },
833
+ {
834
+ if: {
835
+ focus: true
836
+ },
837
+ tokens: {
838
+ radioIputBorderColor: '#7c53a5',
839
+ radioInputBorderWidth: 3,
840
+ outerBorderColor: '#676e73',
841
+ outerBorderGap: 2,
842
+ outerBorderWidth: 2
843
+ }
844
+ },
845
+ {
846
+ if: {
847
+ inactive: true
848
+ },
849
+ tokens: {
850
+ backgroundColor: '#f4f4f7',
851
+ borderColor: 'transparent',
852
+ radioInputBackgroundColor: '#e3e6e8',
853
+ radioInputBorderColor: 'rgba(0, 0, 0, 0)',
854
+ labelColor: '#676e73'
855
+ }
856
+ },
857
+ {
858
+ if: {
859
+ error: true
860
+ },
861
+ tokens: {
862
+ borderColor: '#e12339',
863
+ color: '#e12339',
864
+ radioInputBorderColor: '#e12339'
865
+ }
866
+ }
867
+ ]
868
+ },
869
+ Tabs: {
870
+ appearances: {},
871
+ tokens: {
872
+ buttonClearance: 20,
873
+ gutter: 12,
874
+ nextIcon: ChevronRight,
875
+ previousIcon: ChevronLeft,
876
+ borderBottomWidth: 1,
877
+ borderBottomColor: '#ebefed',
878
+ space: 1
879
+ },
880
+ rules: []
881
+ },
882
+ TabsItem: {
883
+ appearances: {},
884
+ tokens: {
885
+ backgroundColor: transparent,
886
+ borderColor: transparent,
887
+ borderRadius: 0,
888
+ borderWidth: 0,
889
+ color: '#034045',
890
+ fontName: '',
891
+ fontScaleCap: 66,
892
+ fontSize: 14,
893
+ fontWeight: '700',
894
+ highlightBarBorderRadius: 0,
895
+ highlightBarBorderWidth: 0,
896
+ highlightBarHeight: 0,
897
+ highlightColor: transparent,
898
+ highlightTriangleSize: 0,
899
+ letterSpacing: 0,
900
+ lineHeight: 1,
901
+ maxWidth: 150,
902
+ paddingHorizontal: 16,
903
+ paddingVertical: 16,
904
+ space: 0,
905
+ textAlign: 'left',
906
+ textTransform: 'uppercase'
907
+ },
908
+ rules: [
909
+ {
910
+ if: { hover: true },
911
+ tokens: {
912
+ highlightBarHeight: 2,
913
+ highlightColor: '#81a0a2'
914
+ }
915
+ },
916
+ {
917
+ if: { focus: true },
918
+ tokens: {
919
+ borderColor: '#81a0a2',
920
+ borderWidth: 1
921
+ }
922
+ },
923
+ {
924
+ if: { pressed: true },
925
+ tokens: {
926
+ backgroundColor: '#ebefed'
375
927
  }
376
928
  },
377
929
  {
378
- if: { rank: 'primary' },
930
+ if: { selected: true },
379
931
  tokens: {
380
- color: '#4d80de'
932
+ highlightBarHeight: 2,
933
+ highlightColor: '#034045',
934
+ highlightTriangleSize: 8
381
935
  }
382
936
  }
383
937
  ]
384
938
  },
385
- ActivityIndicator: {
386
- appearances: {
387
- size: {
388
- values: ['large'],
389
- type: 'variant'
390
- }
391
- },
939
+ TabsScrollButton: {
940
+ appearances: {},
392
941
  tokens: {
393
- size: 24,
394
- color: '#0e6ac8',
395
- thickness: 2
942
+ backgroundColor: '#ffffff',
943
+ borderColor: '#81a0a2',
944
+ borderRadius: 12,
945
+ borderWidth: 1,
946
+ iconColor: '#81a0a2',
947
+ iconSize: 24,
948
+ padding: 0,
949
+ shadow: null
396
950
  },
397
- rules: [
398
- {
399
- if: { size: 'large' },
400
- tokens: {
401
- size: 48,
402
- thickness: 4
403
- }
404
- }
405
- ]
951
+ rules: []
406
952
  },
407
953
  Typography: {
408
954
  appearances: {
@@ -435,15 +981,13 @@ module.exports = {
435
981
  values: [true],
436
982
  type: 'variant'
437
983
  },
438
- viewport: systemAppearances.viewport
984
+ viewport: appearances.system.viewport
439
985
  },
440
986
  tokens: {
441
987
  fontWeight: '400',
442
988
  fontSize: 16,
443
989
  color: '#2c2e30',
444
990
  lineHeight: 1.5,
445
- marginTop: 8,
446
- marginBottom: 8,
447
991
  fontScaleCap: 64
448
992
  },
449
993
  rules: [
@@ -668,8 +1212,7 @@ module.exports = {
668
1212
  values: [true],
669
1213
  type: 'state'
670
1214
  },
671
- iconPosition: linkAppearances.iconPosition,
672
- component: linkAppearances.component
1215
+ iconPosition: appearances.Link.iconPosition
673
1216
  },
674
1217
  tokens: {
675
1218
  color: '#0000ff',
@@ -677,8 +1220,6 @@ module.exports = {
677
1220
  blockFontWeight: '400',
678
1221
  blockFontSize: 16,
679
1222
  blockLineHeight: 1.5,
680
- blockMarginTop: 8,
681
- blockMarginBottom: 8,
682
1223
 
683
1224
  outerBorderColor: transparent,
684
1225
  outerBorderOutline: 'none',
@@ -689,9 +1230,7 @@ module.exports = {
689
1230
  textLineStyle: 'solid',
690
1231
 
691
1232
  iconSize: 18,
692
- iconGapBefore: 4,
693
- iconGapAfter: 4,
694
- iconScale: 1
1233
+ iconSpace: 1
695
1234
  },
696
1235
  rules: [
697
1236
  {
@@ -713,21 +1252,122 @@ module.exports = {
713
1252
  color: '#ff0000',
714
1253
  textLine: 'none'
715
1254
  }
1255
+ }
1256
+ ]
1257
+ },
1258
+ Pagination: {
1259
+ tokens: {
1260
+ gap: 3
1261
+ }
1262
+ },
1263
+ PaginationPageButton: {
1264
+ tokens: {
1265
+ paddingLeft: 4,
1266
+ paddingRight: 4
1267
+ },
1268
+ rules: [
1269
+ {
1270
+ if: {
1271
+ selected: true
1272
+ },
1273
+ tokens: {
1274
+ fontWeight: '600',
1275
+ textLine: 'underline'
1276
+ }
1277
+ },
1278
+ {
1279
+ if: {
1280
+ hover: true
1281
+ },
1282
+ tokens: {
1283
+ color: 'blue'
1284
+ }
1285
+ }
1286
+ ]
1287
+ },
1288
+ PaginationSideButton: {
1289
+ tokens: {
1290
+ paddingLeft: 4,
1291
+ paddingRight: 4
1292
+ },
1293
+ rules: [
1294
+ {
1295
+ if: {
1296
+ hover: true
1297
+ },
1298
+ tokens: {
1299
+ color: 'blue'
1300
+ }
1301
+ }
1302
+ ]
1303
+ },
1304
+ Radio: {
1305
+ appearances: {
1306
+ checked: appearances.Radio.checked,
1307
+ error: appearances.Radio.error,
1308
+ focus: appearances.Radio.focus,
1309
+ hover: appearances.Radio.hover,
1310
+ inactive: appearances.Radio.inactive
1311
+ },
1312
+ tokens: {
1313
+ checkedBackgroundColor: '#7c53a5',
1314
+ checkedSize: 12,
1315
+ containerBackgroundColor: '#ffffff',
1316
+ containerBorderRadius: 12,
1317
+ containerOpacity: 1,
1318
+ containerPaddingBottom: 12,
1319
+ containerPaddingLeft: 18,
1320
+ containerPaddingRight: 18,
1321
+ containerPaddingTop: 12,
1322
+ containerShadow: null,
1323
+ descriptionFontSize: 14,
1324
+ descriptionLineHeight: 1.4,
1325
+ descriptionMarginLeft: null,
1326
+ inputBackgroundColor: '#ffffff',
1327
+ inputBorderColor: '#676e73',
1328
+ inputBorderWidth: 1,
1329
+ inputOutlineColor: null,
1330
+ inputOutlineWidth: 0,
1331
+ inputSize: 20,
1332
+ inputShadow: null,
1333
+ outerBorderWidth: 0,
1334
+ outerBorderColor: transparent,
1335
+ outerBorderGap: 0,
1336
+ labelColor: '#414547',
1337
+ labelFontName: '',
1338
+ labelFontSize: 18,
1339
+ labelFontWeight: '500',
1340
+ labelLineHeight: 1.5,
1341
+ labelMarginLeft: 8
1342
+ },
1343
+ rules: [
1344
+ {
1345
+ if: { error: true },
1346
+ tokens: {
1347
+ inputBorderColor: '#e12339'
1348
+ }
716
1349
  },
717
1350
  {
718
- if: { component: 'ChevronLink', iconPosition: 'left' },
719
- tokens: { icon: chevronLeft }
1351
+ if: { focus: true },
1352
+ tokens: {
1353
+ inputBorderColor: '#7c53a5',
1354
+ inputBorderWidth: 3
1355
+ }
720
1356
  },
721
1357
  {
722
- if: { component: 'ChevronLink', iconPosition: 'right' },
723
- tokens: { icon: chevronRight }
1358
+ if: { inactive: true },
1359
+ tokens: {
1360
+ inputBorderColor: 'transparent',
1361
+ inputBackgroundColor: '#e3e6e8',
1362
+ labelColor: '#676e73'
1363
+ }
724
1364
  }
725
1365
  ]
726
1366
  },
727
1367
  SideNav: {},
728
1368
  SideNavItem: {
729
1369
  appearances: {
730
- ...sideNavItemAppearances
1370
+ type: appearances.SideNavItem.type
731
1371
  },
732
1372
  rules: [
733
1373
  {
@@ -741,19 +1381,77 @@ module.exports = {
741
1381
  ]
742
1382
  },
743
1383
  SideNavItemsGroup: {},
1384
+ StackView: {
1385
+ tokens: {}
1386
+ },
1387
+ StepTracker: {
1388
+ appearances: {},
1389
+ tokens: {
1390
+ completedIcon: null,
1391
+ completedIconColor: '#ffffff',
1392
+ completedIconSize: 12,
1393
+ connectorColor: '#676e73',
1394
+ connectorHeight: 1,
1395
+ connectorMinWidth: 16,
1396
+ connectorCompletedHeight: 3,
1397
+ connectorCompletedColor: '#7c53a5',
1398
+ containerPaddingBottom: 0,
1399
+ containerPaddingLeft: 0,
1400
+ containerPaddingRight: 0,
1401
+ containerPaddingTop: 0,
1402
+ knobBackgroundColor: transparent,
1403
+ knobBorderWidth: 1,
1404
+ knobBorderColor: '#676e73',
1405
+ knobCompletedBackgroundColor: '#7c53a5',
1406
+ knobCompletedBorderColor: '#7c53a5',
1407
+ knobCompletedPaddingLeft: 1,
1408
+ knobCompletedPaddingTop: 1,
1409
+ knobCurrentBackgroundColor: transparent,
1410
+ knobCurrentBorderColor: '#7c53a5',
1411
+ knobCurrentBorderWidth: 2,
1412
+ knobCurrentInnerColor: '#7c53a5',
1413
+ knobCurrentInnerSize: 8,
1414
+ knobCurrentPaddingLeft: 2,
1415
+ knobCurrentPaddingTop: 2,
1416
+ knobSize: 16,
1417
+ labelColor: '#676e73',
1418
+ labelCurrentColor: '#7c53a5',
1419
+ labelCurrentFontWeight: '600',
1420
+ labelDirection: 'column',
1421
+ labelFontSize: 16,
1422
+ labelFontWeight: '400',
1423
+ labelFontName: '',
1424
+ labelGap: 0,
1425
+ labelLineHeight: 1.5,
1426
+ labelMarginTop: 8,
1427
+ labelPaddingLeft: 16,
1428
+ labelPaddingRight: 16,
1429
+ showStepLabel: false,
1430
+ showStepName: true,
1431
+ showStepTrackerLabel: true
1432
+ },
1433
+ rules: [
1434
+ {
1435
+ if: { viewport: ['lg', 'xl'] },
1436
+ tokens: {
1437
+ showStepLabel: true,
1438
+ showStepTrackerLabel: false
1439
+ }
1440
+ }
1441
+ ]
1442
+ },
744
1443
  ToggleSwitch: {
745
1444
  appearances: {
746
- focus: toggleSwitchAppearances.focus,
747
- hover: toggleSwitchAppearances.hover,
748
- pressed: toggleSwitchAppearances.pressed,
749
- inactive: toggleSwitchAppearances.inactive,
750
- selected: toggleSwitchAppearances.selected
1445
+ focus: appearances.ToggleSwitch.focus,
1446
+ hover: appearances.ToggleSwitch.hover,
1447
+ pressed: appearances.ToggleSwitch.pressed,
1448
+ inactive: appearances.ToggleSwitch.inactive,
1449
+ selected: appearances.ToggleSwitch.selected
751
1450
  },
752
1451
  tokens: {
753
1452
  outerBorderColor: '#000000',
754
1453
  outerBorderWidth: 2,
755
1454
  outerBorderGap: 2,
756
- outerBorderRadius: 8,
757
1455
  outerBackgroundColor: '#333333',
758
1456
  borderColor: '#666666',
759
1457
  borderWidth: 2,
@@ -764,6 +1462,7 @@ module.exports = {
764
1462
  paddingRight: 2,
765
1463
  paddingTop: 2,
766
1464
  paddingBottom: 2,
1465
+ alignSelf: 'flex-start',
767
1466
 
768
1467
  trackBorderWidth: 2,
769
1468
  trackBorderColor: '#bbbbbb',
@@ -815,6 +1514,308 @@ module.exports = {
815
1514
  tokens: { opacity: 0.4 }
816
1515
  }
817
1516
  ]
1517
+ },
1518
+ TextInput: {
1519
+ appearances: {
1520
+ validation: appearances.TextInput.validation,
1521
+ focus: appearances.TextInput.focus,
1522
+ hover: appearances.TextInput.hover,
1523
+ inactive: appearances.TextInput.inactive
1524
+ },
1525
+ tokens: {
1526
+ borderRadius: 4,
1527
+ borderWidth: 1,
1528
+ borderColor: '#00000044',
1529
+ paddingTop: 6,
1530
+ paddingBottom: 6,
1531
+ paddingLeft: 6,
1532
+ paddingRight: 6,
1533
+ outerBorderWidth: 1,
1534
+ outerBorderColor: transparent
1535
+ },
1536
+ rules: [
1537
+ {
1538
+ if: { validation: 'success' },
1539
+ tokens: {
1540
+ outerBorderColor: '#99ff99'
1541
+ }
1542
+ },
1543
+ {
1544
+ if: { validation: 'error' },
1545
+ tokens: {
1546
+ outerBorderColor: '#990000'
1547
+ }
1548
+ },
1549
+ {
1550
+ if: { focus: true },
1551
+ tokens: {
1552
+ outerBorderColor: '#debc06'
1553
+ }
1554
+ },
1555
+ {
1556
+ if: { hover: true },
1557
+ tokens: {
1558
+ outerBorderColor: '#6666cc'
1559
+ }
1560
+ },
1561
+ {
1562
+ if: { inactive: true },
1563
+ tokens: {
1564
+ outerBorderColor: transparent,
1565
+ backgroundColor: '#00000044'
1566
+ }
1567
+ }
1568
+ ]
1569
+ },
1570
+ InputLabel: {
1571
+ tokens: {
1572
+ gap: 20,
1573
+ hintFontSize: 12
1574
+ }
1575
+ },
1576
+ Feedback: {
1577
+ appearances: {
1578
+ validation: appearances.Feedback.validation
1579
+ },
1580
+ tokens: {
1581
+ borderColor: '#eee',
1582
+ borderWidth: 1,
1583
+ borderRadius: 3,
1584
+ titleFontSize: 16,
1585
+ contentFontSize: 14,
1586
+ paddingTop: 12,
1587
+ paddingBottom: 12,
1588
+ paddingLeft: 12,
1589
+ paddingRight: 12
1590
+ },
1591
+ rules: [
1592
+ { if: { validation: 'success' }, tokens: { color: 'green' } },
1593
+ { if: { validation: 'error' }, tokens: { color: 'red' } }
1594
+ ]
1595
+ },
1596
+ List: {
1597
+ appearances: {
1598
+ size: {
1599
+ values: ['large', 'small'],
1600
+ type: 'variant'
1601
+ },
1602
+ compact: {
1603
+ values: [true],
1604
+ type: 'variant'
1605
+ }
1606
+ },
1607
+ tokens: {
1608
+ interItemMargin: 8,
1609
+ interItemMarginWithDivider: 16,
1610
+ dividerColor: '#666666',
1611
+ dividerSize: 1,
1612
+ itemBulletContainerWidth: 16,
1613
+ itemBulletContainerAlign: 'center',
1614
+ itemBulletWidth: 4,
1615
+ itemBulletHeight: 4,
1616
+ itemBulletColor: '#6666cc',
1617
+ itemIconSize: 16,
1618
+ itemIconColor: '#6666cc',
1619
+ listGutter: 10,
1620
+ itemLineHeight: 1.5
1621
+ },
1622
+ rules: [
1623
+ {
1624
+ if: { size: 'large' },
1625
+ tokens: {
1626
+ itemFontSize: 20,
1627
+ itemLineHeight: 1.6,
1628
+ listGutter: 16
1629
+ }
1630
+ },
1631
+ {
1632
+ if: { size: 'small' },
1633
+ tokens: {
1634
+ itemFontSize: 14,
1635
+ itemLineHeight: 1.42857142857,
1636
+ listGutter: 10
1637
+ }
1638
+ },
1639
+ {
1640
+ if: { compact: true },
1641
+ tokens: {
1642
+ itemLineHeight: 1.25
1643
+ }
1644
+ },
1645
+ {
1646
+ if: { compact: true, size: 'small' },
1647
+ tokens: {
1648
+ itemLineHeight: 1.14285714286
1649
+ }
1650
+ },
1651
+ {
1652
+ if: { compact: true, size: 'large' },
1653
+ tokens: {
1654
+ itemLineHeight: 1.2
1655
+ }
1656
+ }
1657
+ ]
1658
+ },
1659
+ Tags: {
1660
+ space: 2,
1661
+ direction: 'row',
1662
+ alignItems: 'flex-start',
1663
+ justifyContent: 'flex-start',
1664
+ flexGrow: 1
1665
+ },
1666
+ TagsItem: {
1667
+ appearances: {
1668
+ focus: appearances.ButtonGroupItem.focus,
1669
+ hover: appearances.ButtonGroupItem.hover,
1670
+ pressed: appearances.ButtonGroupItem.pressed,
1671
+ selected: appearances.ButtonGroupItem.selected
1672
+ },
1673
+ tokens: {
1674
+ icon: Checkmark,
1675
+ iconSize: 16,
1676
+ iconColor: '#ffffff',
1677
+ iconTranslateX: 0,
1678
+ iconTranslateY: 0,
1679
+
1680
+ iconPosition: 'right',
1681
+ iconSpace: 2,
1682
+ iconBackground: '#ffffff',
1683
+ iconBorderRadius: 0,
1684
+ iconAlignSelf: 'center',
1685
+ iconPadding: 0,
1686
+
1687
+ borderColor: '#0e6ac8',
1688
+ borderWidth: 2,
1689
+ borderRadius: 0,
1690
+ shadow: null,
1691
+
1692
+ outerBorderColor: transparent,
1693
+ outerBorderWidth: 4,
1694
+ outerBorderGap: 2,
1695
+
1696
+ fontSize: 16,
1697
+ color: '#0e6ac8',
1698
+ lineHeight: 1.5,
1699
+ fontWeight: '600',
1700
+ alignSelf: 'flex-start',
1701
+
1702
+ backgroundColor: '#ffffff',
1703
+ opacity: 1,
1704
+ paddingLeft: 24,
1705
+ paddingRight: 24,
1706
+ paddingTop: 8,
1707
+ paddingBottom: 8,
1708
+
1709
+ width: null
1710
+ },
1711
+ rules: [
1712
+ {
1713
+ if: { focus: true },
1714
+ tokens: {
1715
+ borderWidth: 4,
1716
+ outerBorderColor: '#0e6ac8',
1717
+ opacity: 0.5
1718
+ }
1719
+ },
1720
+ {
1721
+ if: { hover: true },
1722
+ tokens: {
1723
+ borderWidth: 6
1724
+ }
1725
+ },
1726
+ {
1727
+ if: { pressed: true },
1728
+ tokens: {
1729
+ borderWidth: 8
1730
+ }
1731
+ },
1732
+ {
1733
+ if: { selected: true },
1734
+ tokens: {
1735
+ backgroundColor: '#0e6ac8',
1736
+ color: '#ffffff',
1737
+ opacity: 1,
1738
+ iconBackground: '#0e6ac8'
1739
+ }
1740
+ }
1741
+ ]
1742
+ },
1743
+ Tooltip: {
1744
+ tokens: {
1745
+ backgroundColor: 'black',
1746
+ color: 'white',
1747
+ paddingLeft: 4,
1748
+ paddingRight: 4,
1749
+ paddingTop: 4,
1750
+ paddingBottom: 4,
1751
+ arrowOffset: 4
1752
+ }
1753
+ },
1754
+ TooltipButton: {
1755
+ tokens: {
1756
+ icon: Question,
1757
+ iconColor: 'black',
1758
+ iconSize: 16
1759
+ }
1760
+ },
1761
+ TextArea: {},
1762
+ InputSupports: {},
1763
+ Skeleton: {
1764
+ tokens: {
1765
+ color: '#b2b9bf',
1766
+ radius: 100,
1767
+ size: 3,
1768
+ baseWidth: 40,
1769
+ characters: 10,
1770
+ spaceBetweenLines: 2,
1771
+ squareRadius: 4
1772
+ }
1773
+ },
1774
+ Select: {
1775
+ tokens: {
1776
+ borderRadius: 4,
1777
+ borderWidth: 1,
1778
+ borderColor: '#00000044',
1779
+ paddingTop: 6,
1780
+ paddingBottom: 6,
1781
+ paddingLeft: 6,
1782
+ paddingRight: 6,
1783
+ outerBorderWidth: 1,
1784
+ outerBorderColor: transparent
1785
+ },
1786
+ rules: [
1787
+ {
1788
+ if: { validation: 'success' },
1789
+ tokens: {
1790
+ outerBorderColor: '#99ff99'
1791
+ }
1792
+ },
1793
+ {
1794
+ if: { validation: 'error' },
1795
+ tokens: {
1796
+ outerBorderColor: '#990000'
1797
+ }
1798
+ },
1799
+ {
1800
+ if: { focus: true },
1801
+ tokens: {
1802
+ outerBorderColor: '#debc06'
1803
+ }
1804
+ },
1805
+ {
1806
+ if: { hover: true },
1807
+ tokens: {
1808
+ outerBorderColor: '#6666cc'
1809
+ }
1810
+ },
1811
+ {
1812
+ if: { inactive: true },
1813
+ tokens: {
1814
+ outerBorderColor: transparent,
1815
+ backgroundColor: '#00000044'
1816
+ }
1817
+ }
1818
+ ]
818
1819
  }
819
1820
  }
820
1821
  }