@workday/canvas-kit-react 7.0.0-alpha.129-next.3 → 7.0.0-alpha.256-next.2

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 (742) hide show
  1. package/action-bar/lib/ActionBarItem.tsx +2 -7
  2. package/action-bar/lib/ActionBarList.tsx +14 -4
  3. package/action-bar/lib/ActionBarOverflowButton.tsx +10 -6
  4. package/banner/lib/Banner.tsx +3 -6
  5. package/breadcrumbs/LICENSE +52 -0
  6. package/breadcrumbs/README.md +9 -0
  7. package/breadcrumbs/index.ts +2 -0
  8. package/breadcrumbs/lib/Breadcrumbs.tsx +151 -0
  9. package/breadcrumbs/lib/BreadcrumbsCurrentItem.tsx +76 -0
  10. package/breadcrumbs/lib/BreadcrumbsItem.tsx +82 -0
  11. package/breadcrumbs/lib/BreadcrumbsLink.tsx +52 -0
  12. package/breadcrumbs/lib/BreadcrumbsList.tsx +51 -0
  13. package/breadcrumbs/lib/BreadcrumbsMenu.tsx +28 -0
  14. package/breadcrumbs/lib/BreadcrumbsOverflowButton.tsx +58 -0
  15. package/breadcrumbs/lib/hooks/useBreadcrumbsModel.tsx +76 -0
  16. package/breadcrumbs/lib/hooks/utils/index.ts +22 -0
  17. package/breadcrumbs/package.json +6 -0
  18. package/button/index.ts +7 -1
  19. package/button/lib/BaseButton.tsx +7 -4
  20. package/button/lib/DeleteButton.tsx +2 -2
  21. package/button/lib/PrimaryButton.tsx +2 -2
  22. package/button/lib/SecondaryButton.tsx +2 -2
  23. package/button/lib/TertiaryButton.tsx +21 -10
  24. package/card/lib/CardBody.tsx +3 -6
  25. package/card/lib/CardHeading.tsx +13 -10
  26. package/checkbox/index.ts +0 -1
  27. package/checkbox/lib/Checkbox.tsx +9 -24
  28. package/color-picker/index.ts +0 -1
  29. package/color-picker/lib/ColorInput.tsx +1 -2
  30. package/common/index.ts +1 -0
  31. package/common/lib/InputProvider.tsx +0 -5
  32. package/common/lib/responsive/useResponsiveContainerStyles.ts +128 -0
  33. package/common/lib/theming/index.ts +1 -1
  34. package/common/lib/theming/styled.ts +6 -3
  35. package/common/lib/utils/components.ts +48 -22
  36. package/common/lib/utils/elements.ts +7 -12
  37. package/common/lib/utils/index.ts +0 -1
  38. package/common/lib/utils/isWithinBreakpoint.ts +6 -0
  39. package/common/lib/utils/models.ts +10 -2
  40. package/common/lib/utils/useModalityType.ts +13 -13
  41. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +1 -1
  42. package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts +8 -0
  43. package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts.map +1 -1
  44. package/dist/commonjs/action-bar/lib/ActionBarItem.js +1 -1
  45. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +92 -0
  46. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts.map +1 -1
  47. package/dist/commonjs/action-bar/lib/ActionBarList.js +5 -5
  48. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts +5 -1
  49. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts.map +1 -1
  50. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +3 -3
  51. package/dist/commonjs/banner/lib/Banner.d.ts +0 -9
  52. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  53. package/dist/commonjs/banner/lib/Banner.js +2 -4
  54. package/dist/commonjs/breadcrumbs/index.d.ts +3 -0
  55. package/dist/commonjs/breadcrumbs/index.d.ts.map +1 -0
  56. package/dist/commonjs/breadcrumbs/index.js +14 -0
  57. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +3851 -0
  58. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -0
  59. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +177 -0
  60. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +212 -0
  61. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -0
  62. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +63 -0
  63. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts +226 -0
  64. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -0
  65. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +76 -0
  66. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts +17 -0
  67. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -0
  68. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +46 -0
  69. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts +164 -0
  70. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -0
  71. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +63 -0
  72. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1717 -0
  73. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -0
  74. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +58 -0
  75. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +241 -0
  76. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -0
  77. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +68 -0
  78. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +1661 -0
  79. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -0
  80. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +67 -0
  81. package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.d.ts +6 -0
  82. package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.d.ts.map +1 -0
  83. package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +22 -0
  84. package/dist/commonjs/button/index.d.ts +1 -1
  85. package/dist/commonjs/button/index.d.ts.map +1 -1
  86. package/dist/commonjs/button/index.js +3 -1
  87. package/dist/commonjs/button/lib/BaseButton.d.ts +7 -4
  88. package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
  89. package/dist/commonjs/button/lib/DeleteButton.d.ts +2 -1
  90. package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
  91. package/dist/commonjs/button/lib/PrimaryButton.d.ts +2 -1
  92. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  93. package/dist/commonjs/button/lib/SecondaryButton.d.ts +2 -1
  94. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  95. package/dist/commonjs/button/lib/TertiaryButton.d.ts +11 -1
  96. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  97. package/dist/commonjs/button/lib/TertiaryButton.js +9 -8
  98. package/dist/commonjs/card/lib/Card.d.ts +1 -1
  99. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  100. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  101. package/dist/commonjs/card/lib/CardBody.js +1 -6
  102. package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
  103. package/dist/commonjs/card/lib/CardHeading.js +2 -10
  104. package/dist/commonjs/checkbox/index.d.ts.map +1 -1
  105. package/dist/commonjs/checkbox/lib/Checkbox.d.ts.map +1 -1
  106. package/dist/commonjs/checkbox/lib/Checkbox.js +2 -13
  107. package/dist/commonjs/collection/lib/ListBox.d.ts +0 -57
  108. package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
  109. package/dist/commonjs/color-picker/index.d.ts.map +1 -1
  110. package/dist/commonjs/color-picker/lib/ColorInput.d.ts.map +1 -1
  111. package/dist/commonjs/color-picker/lib/ColorInput.js +1 -2
  112. package/dist/commonjs/common/index.d.ts +1 -0
  113. package/dist/commonjs/common/index.d.ts.map +1 -1
  114. package/dist/commonjs/common/index.js +1 -0
  115. package/dist/commonjs/common/lib/InputProvider.d.ts.map +1 -1
  116. package/dist/commonjs/common/lib/InputProvider.js +0 -7
  117. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.d.ts +78 -0
  118. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.d.ts.map +1 -0
  119. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +139 -0
  120. package/dist/commonjs/common/lib/theming/index.d.ts +1 -1
  121. package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
  122. package/dist/commonjs/common/lib/theming/styled.d.ts +2 -0
  123. package/dist/commonjs/common/lib/theming/styled.d.ts.map +1 -1
  124. package/dist/commonjs/common/lib/theming/styled.js +1 -2
  125. package/dist/commonjs/common/lib/utils/components.d.ts +30 -18
  126. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  127. package/dist/commonjs/common/lib/utils/components.js +10 -5
  128. package/dist/commonjs/common/lib/utils/elements.d.ts +1 -1
  129. package/dist/commonjs/common/lib/utils/elements.d.ts.map +1 -1
  130. package/dist/commonjs/common/lib/utils/elements.js +5 -11
  131. package/dist/commonjs/common/lib/utils/index.d.ts +0 -1
  132. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  133. package/dist/commonjs/common/lib/utils/index.js +0 -1
  134. package/dist/commonjs/common/lib/utils/isWithinBreakpoint.d.ts +5 -0
  135. package/dist/commonjs/common/lib/utils/isWithinBreakpoint.d.ts.map +1 -0
  136. package/dist/commonjs/common/lib/utils/isWithinBreakpoint.js +10 -0
  137. package/dist/commonjs/common/lib/utils/models.d.ts +10 -2
  138. package/dist/commonjs/common/lib/utils/models.d.ts.map +1 -1
  139. package/dist/commonjs/common/lib/utils/models.js +3 -0
  140. package/dist/commonjs/common/lib/utils/useModalityType.js +13 -13
  141. package/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  142. package/dist/commonjs/form-field/index.d.ts.map +1 -1
  143. package/dist/commonjs/form-field/lib/Hint.d.ts.map +1 -1
  144. package/dist/commonjs/form-field/lib/Hint.js +5 -13
  145. package/dist/commonjs/form-field/lib/Label.d.ts.map +1 -1
  146. package/dist/commonjs/form-field/lib/Label.js +0 -2
  147. package/dist/commonjs/icon/lib/SystemIcon.d.ts +1 -1
  148. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  149. package/dist/commonjs/index.d.ts +4 -1
  150. package/dist/commonjs/index.d.ts.map +1 -1
  151. package/dist/commonjs/index.js +4 -1
  152. package/dist/commonjs/layout/index.d.ts +15 -5
  153. package/dist/commonjs/layout/index.d.ts.map +1 -1
  154. package/dist/commonjs/layout/index.js +14 -3
  155. package/dist/commonjs/layout/lib/Box.d.ts +23 -11
  156. package/dist/commonjs/layout/lib/Box.d.ts.map +1 -1
  157. package/dist/commonjs/layout/lib/Box.js +34 -8
  158. package/dist/commonjs/layout/lib/Column.d.ts +13 -4
  159. package/dist/commonjs/layout/lib/Column.d.ts.map +1 -1
  160. package/dist/commonjs/layout/lib/Column.js +10 -7
  161. package/dist/commonjs/layout/lib/Flex.d.ts +6 -3
  162. package/dist/commonjs/layout/lib/Flex.d.ts.map +1 -1
  163. package/dist/commonjs/layout/lib/Flex.js +5 -1
  164. package/dist/commonjs/layout/lib/Grid.d.ts +51 -0
  165. package/dist/commonjs/layout/lib/Grid.d.ts.map +1 -0
  166. package/dist/commonjs/layout/lib/Grid.js +115 -0
  167. package/dist/commonjs/layout/lib/Layout.d.ts +26 -9
  168. package/dist/commonjs/layout/lib/Layout.d.ts.map +1 -1
  169. package/dist/commonjs/layout/lib/Layout.js +21 -10
  170. package/dist/commonjs/layout/lib/Stack.d.ts +4 -4
  171. package/dist/commonjs/layout/lib/Stack.js +4 -4
  172. package/dist/commonjs/layout/lib/utils/background.d.ts +44 -0
  173. package/dist/commonjs/layout/lib/utils/background.d.ts.map +1 -0
  174. package/dist/commonjs/layout/lib/utils/background.js +57 -0
  175. package/dist/commonjs/layout/lib/utils/border/color.d.ts +47 -0
  176. package/dist/commonjs/layout/lib/utils/border/color.d.ts.map +1 -0
  177. package/dist/commonjs/layout/lib/utils/border/color.js +42 -0
  178. package/dist/commonjs/layout/lib/utils/border/index.d.ts +26 -0
  179. package/dist/commonjs/layout/lib/utils/border/index.d.ts.map +1 -0
  180. package/dist/commonjs/layout/lib/utils/border/index.js +46 -0
  181. package/dist/commonjs/layout/lib/utils/border/lineStyle.d.ts +38 -0
  182. package/dist/commonjs/layout/lib/utils/border/lineStyle.d.ts.map +1 -0
  183. package/dist/commonjs/layout/lib/utils/border/lineStyle.js +52 -0
  184. package/dist/commonjs/layout/lib/utils/border/radius.d.ts +33 -0
  185. package/dist/commonjs/layout/lib/utils/border/radius.d.ts.map +1 -0
  186. package/dist/commonjs/layout/lib/utils/border/radius.js +32 -0
  187. package/dist/commonjs/layout/lib/utils/border/shorthand.d.ts +34 -0
  188. package/dist/commonjs/layout/lib/utils/border/shorthand.d.ts.map +1 -0
  189. package/dist/commonjs/layout/lib/utils/border/shorthand.js +42 -0
  190. package/dist/commonjs/layout/lib/utils/border/width.d.ts +34 -0
  191. package/dist/commonjs/layout/lib/utils/border/width.d.ts.map +1 -0
  192. package/dist/commonjs/layout/lib/utils/border/width.js +42 -0
  193. package/dist/commonjs/layout/lib/utils/buildStyleFns.d.ts +12 -0
  194. package/dist/commonjs/layout/lib/utils/buildStyleFns.d.ts.map +1 -0
  195. package/dist/commonjs/layout/lib/utils/buildStyleFns.js +90 -0
  196. package/dist/commonjs/layout/lib/utils/color.d.ts +23 -16
  197. package/dist/commonjs/layout/lib/utils/color.d.ts.map +1 -1
  198. package/dist/commonjs/layout/lib/utils/color.js +25 -48
  199. package/dist/commonjs/layout/lib/utils/depth.d.ts +17 -11
  200. package/dist/commonjs/layout/lib/utils/depth.d.ts.map +1 -1
  201. package/dist/commonjs/layout/lib/utils/depth.js +20 -20
  202. package/dist/commonjs/layout/lib/utils/flex.d.ts +33 -14
  203. package/dist/commonjs/layout/lib/utils/flex.d.ts.map +1 -1
  204. package/dist/commonjs/layout/lib/utils/flex.js +58 -25
  205. package/dist/commonjs/layout/lib/utils/flexItem.d.ts +18 -15
  206. package/dist/commonjs/layout/lib/utils/flexItem.d.ts.map +1 -1
  207. package/dist/commonjs/layout/lib/utils/flexItem.js +43 -26
  208. package/dist/commonjs/layout/lib/utils/grid.d.ts +72 -0
  209. package/dist/commonjs/layout/lib/utils/grid.d.ts.map +1 -0
  210. package/dist/commonjs/layout/lib/utils/grid.js +112 -0
  211. package/dist/commonjs/layout/lib/utils/gridItem.d.ts +42 -0
  212. package/dist/commonjs/layout/lib/utils/gridItem.d.ts.map +1 -0
  213. package/dist/commonjs/layout/lib/utils/gridItem.js +71 -0
  214. package/dist/commonjs/layout/lib/utils/layout.d.ts +47 -25
  215. package/dist/commonjs/layout/lib/utils/layout.d.ts.map +1 -1
  216. package/dist/commonjs/layout/lib/utils/layout.js +71 -33
  217. package/dist/commonjs/layout/lib/utils/other.d.ts +46 -2
  218. package/dist/commonjs/layout/lib/utils/other.d.ts.map +1 -1
  219. package/dist/commonjs/layout/lib/utils/other.js +101 -17
  220. package/dist/commonjs/layout/lib/utils/position.d.ts +37 -20
  221. package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -1
  222. package/dist/commonjs/layout/lib/utils/position.js +49 -66
  223. package/dist/commonjs/layout/lib/utils/space.d.ts +107 -51
  224. package/dist/commonjs/layout/lib/utils/space.d.ts.map +1 -1
  225. package/dist/commonjs/layout/lib/utils/space.js +98 -148
  226. package/dist/commonjs/layout/lib/utils/stack.d.ts +3 -6
  227. package/dist/commonjs/layout/lib/utils/stack.d.ts.map +1 -1
  228. package/dist/commonjs/layout/lib/utils/stack.js +13 -39
  229. package/dist/commonjs/layout/lib/utils/styleProps.d.ts +41 -0
  230. package/dist/commonjs/layout/lib/utils/styleProps.d.ts.map +1 -0
  231. package/dist/commonjs/layout/lib/utils/styleProps.js +2 -0
  232. package/dist/commonjs/layout/lib/utils/systemProps.d.ts +31 -0
  233. package/dist/commonjs/layout/lib/utils/systemProps.d.ts.map +1 -0
  234. package/dist/commonjs/layout/lib/utils/systemProps.js +2 -0
  235. package/dist/commonjs/layout/lib/utils/text.d.ts +53 -0
  236. package/dist/commonjs/layout/lib/utils/text.d.ts.map +1 -0
  237. package/dist/commonjs/layout/lib/utils/text.js +84 -0
  238. package/dist/commonjs/loading-dots/index.d.ts +2 -0
  239. package/dist/commonjs/loading-dots/index.d.ts.map +1 -0
  240. package/dist/commonjs/loading-dots/index.js +13 -0
  241. package/dist/commonjs/{loading-animation → loading-dots}/lib/LoadingDots.d.ts +0 -0
  242. package/dist/commonjs/loading-dots/lib/LoadingDots.d.ts.map +1 -0
  243. package/dist/commonjs/{loading-animation → loading-dots}/lib/LoadingDots.js +0 -0
  244. package/dist/commonjs/menu/lib/MenuCard.d.ts.map +1 -1
  245. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  246. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts.map +1 -1
  247. package/dist/commonjs/menu/lib/MenuContextTarget.js +2 -4
  248. package/dist/commonjs/menu/lib/MenuItem.js +13 -12
  249. package/dist/commonjs/menu/lib/MenuTarget.d.ts.map +1 -1
  250. package/dist/commonjs/menu/lib/MenuTarget.js +2 -4
  251. package/dist/commonjs/modal/lib/Modal.d.ts +1 -1
  252. package/dist/commonjs/modal/lib/ModalCard.d.ts.map +1 -1
  253. package/dist/commonjs/modal/lib/ModalCard.js +15 -1
  254. package/dist/commonjs/modal/lib/ModalHeading.d.ts.map +1 -1
  255. package/dist/commonjs/modal/lib/ModalHeading.js +11 -1
  256. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  257. package/dist/commonjs/modal/lib/ModalOverlay.js +21 -16
  258. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.d.ts.map +1 -1
  259. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.js +3 -1
  260. package/dist/commonjs/modal/lib/hooks/useModalModel.js +1 -1
  261. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  262. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +5 -4
  263. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  264. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +2 -4
  265. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  266. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +5 -1
  267. package/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  268. package/dist/commonjs/popup/lib/PopupBody.d.ts +1 -1
  269. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  270. package/dist/commonjs/popup/lib/PopupCard.d.ts +3 -2
  271. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  272. package/dist/commonjs/popup/lib/PopupCard.js +20 -13
  273. package/dist/commonjs/popup/lib/PopupCloseButton.d.ts.map +1 -1
  274. package/dist/commonjs/popup/lib/PopupCloseButton.js +1 -1
  275. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  276. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  277. package/dist/commonjs/popup/lib/PopupPopper.d.ts +2 -3
  278. package/dist/commonjs/popup/lib/PopupPopper.d.ts.map +1 -1
  279. package/dist/commonjs/popup/lib/hooks/index.d.ts +1 -0
  280. package/dist/commonjs/popup/lib/hooks/index.d.ts.map +1 -1
  281. package/dist/commonjs/popup/lib/hooks/index.js +1 -0
  282. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts +31 -0
  283. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts.map +1 -0
  284. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.js +56 -0
  285. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts.map +1 -1
  286. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +97 -3
  287. package/dist/commonjs/radio/lib/Radio.d.ts.map +1 -1
  288. package/dist/commonjs/radio/lib/Radio.js +2 -13
  289. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +3 -1
  290. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  291. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +11 -2
  292. package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
  293. package/dist/commonjs/side-panel/lib/SidePanel.js +2 -2
  294. package/dist/commonjs/tabs/lib/Tabs.d.ts +1149 -1
  295. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  296. package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
  297. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +2773 -469
  298. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  299. package/dist/commonjs/testing/index.d.ts +5 -0
  300. package/dist/commonjs/testing/index.d.ts.map +1 -0
  301. package/dist/commonjs/testing/index.js +16 -0
  302. package/dist/commonjs/testing/lib/ComponentStatesTable.d.ts +26 -0
  303. package/dist/commonjs/testing/lib/ComponentStatesTable.d.ts.map +1 -0
  304. package/dist/commonjs/testing/lib/ComponentStatesTable.js +48 -0
  305. package/dist/commonjs/testing/lib/StaticStates.d.ts +7 -0
  306. package/dist/commonjs/testing/lib/StaticStates.d.ts.map +1 -0
  307. package/dist/commonjs/{common/lib/utils → testing/lib}/StaticStates.js +1 -1
  308. package/dist/commonjs/testing/lib/permutateProps.d.ts +5 -0
  309. package/dist/commonjs/testing/lib/permutateProps.d.ts.map +1 -0
  310. package/dist/commonjs/testing/lib/permutateProps.js +47 -0
  311. package/dist/commonjs/testing/lib/propTypes.d.ts +15 -0
  312. package/dist/commonjs/testing/lib/propTypes.d.ts.map +1 -0
  313. package/dist/commonjs/testing/lib/propTypes.js +2 -0
  314. package/dist/commonjs/text/index.d.ts +4 -0
  315. package/dist/commonjs/text/index.d.ts.map +1 -0
  316. package/dist/commonjs/text/index.js +15 -0
  317. package/dist/commonjs/text/lib/LabelText.d.ts +30 -0
  318. package/dist/commonjs/text/lib/LabelText.d.ts.map +1 -0
  319. package/dist/commonjs/text/lib/LabelText.js +73 -0
  320. package/dist/commonjs/text/lib/Text.d.ts +58 -0
  321. package/dist/commonjs/text/lib/Text.d.ts.map +1 -0
  322. package/dist/commonjs/text/lib/Text.js +123 -0
  323. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts +132 -0
  324. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts.map +1 -0
  325. package/dist/commonjs/text/lib/TypeLevelComponents.js +195 -0
  326. package/dist/commonjs/text-input/index.d.ts.map +1 -1
  327. package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
  328. package/dist/commonjs/toast/lib/Toast.js +1 -2
  329. package/dist/commonjs/tokens/lib/colors.types.d.ts +4 -6
  330. package/dist/commonjs/tokens/lib/colors.types.d.ts.map +1 -1
  331. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  332. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +1 -4
  333. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  334. package/dist/commonjs/tooltip/lib/TooltipContainer.js +5 -0
  335. package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
  336. package/dist/commonjs/tooltip/lib/useTooltip.js +1 -0
  337. package/dist/es6/action-bar/lib/ActionBar.d.ts +1 -1
  338. package/dist/es6/action-bar/lib/ActionBarItem.d.ts +8 -0
  339. package/dist/es6/action-bar/lib/ActionBarItem.d.ts.map +1 -1
  340. package/dist/es6/action-bar/lib/ActionBarItem.js +2 -2
  341. package/dist/es6/action-bar/lib/ActionBarList.d.ts +92 -0
  342. package/dist/es6/action-bar/lib/ActionBarList.d.ts.map +1 -1
  343. package/dist/es6/action-bar/lib/ActionBarList.js +4 -4
  344. package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts +5 -1
  345. package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts.map +1 -1
  346. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +3 -3
  347. package/dist/es6/banner/lib/Banner.d.ts +0 -9
  348. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  349. package/dist/es6/banner/lib/Banner.js +2 -4
  350. package/dist/es6/breadcrumbs/index.d.ts +3 -0
  351. package/dist/es6/breadcrumbs/index.d.ts.map +1 -0
  352. package/dist/es6/breadcrumbs/index.js +2 -0
  353. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +3851 -0
  354. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -0
  355. package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +155 -0
  356. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +212 -0
  357. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -0
  358. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +57 -0
  359. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts +226 -0
  360. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -0
  361. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +54 -0
  362. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts +17 -0
  363. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -0
  364. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +40 -0
  365. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts +164 -0
  366. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -0
  367. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +41 -0
  368. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1717 -0
  369. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -0
  370. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +36 -0
  371. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +241 -0
  372. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -0
  373. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +46 -0
  374. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +1661 -0
  375. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -0
  376. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +61 -0
  377. package/dist/es6/breadcrumbs/lib/hooks/utils/index.d.ts +6 -0
  378. package/dist/es6/breadcrumbs/lib/hooks/utils/index.d.ts.map +1 -0
  379. package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +18 -0
  380. package/dist/es6/button/index.d.ts +1 -1
  381. package/dist/es6/button/index.d.ts.map +1 -1
  382. package/dist/es6/button/index.js +1 -1
  383. package/dist/es6/button/lib/BaseButton.d.ts +7 -4
  384. package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
  385. package/dist/es6/button/lib/DeleteButton.d.ts +2 -1
  386. package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
  387. package/dist/es6/button/lib/PrimaryButton.d.ts +2 -1
  388. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  389. package/dist/es6/button/lib/SecondaryButton.d.ts +2 -1
  390. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  391. package/dist/es6/button/lib/TertiaryButton.d.ts +11 -1
  392. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  393. package/dist/es6/button/lib/TertiaryButton.js +9 -8
  394. package/dist/es6/card/lib/Card.d.ts +1 -1
  395. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  396. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  397. package/dist/es6/card/lib/CardBody.js +1 -3
  398. package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
  399. package/dist/es6/card/lib/CardHeading.js +2 -7
  400. package/dist/es6/checkbox/index.d.ts.map +1 -1
  401. package/dist/es6/checkbox/lib/Checkbox.d.ts.map +1 -1
  402. package/dist/es6/checkbox/lib/Checkbox.js +3 -14
  403. package/dist/es6/collection/lib/ListBox.d.ts +0 -57
  404. package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
  405. package/dist/es6/color-picker/index.d.ts.map +1 -1
  406. package/dist/es6/color-picker/lib/ColorInput.d.ts.map +1 -1
  407. package/dist/es6/color-picker/lib/ColorInput.js +1 -2
  408. package/dist/es6/common/index.d.ts +1 -0
  409. package/dist/es6/common/index.d.ts.map +1 -1
  410. package/dist/es6/common/index.js +1 -0
  411. package/dist/es6/common/lib/InputProvider.d.ts.map +1 -1
  412. package/dist/es6/common/lib/InputProvider.js +0 -4
  413. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.d.ts +78 -0
  414. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.d.ts.map +1 -0
  415. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +135 -0
  416. package/dist/es6/common/lib/theming/index.d.ts +1 -1
  417. package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
  418. package/dist/es6/common/lib/theming/styled.d.ts +2 -0
  419. package/dist/es6/common/lib/theming/styled.d.ts.map +1 -1
  420. package/dist/es6/common/lib/theming/styled.js +1 -2
  421. package/dist/es6/common/lib/utils/components.d.ts +30 -18
  422. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  423. package/dist/es6/common/lib/utils/components.js +10 -5
  424. package/dist/es6/common/lib/utils/elements.d.ts +1 -1
  425. package/dist/es6/common/lib/utils/elements.d.ts.map +1 -1
  426. package/dist/es6/common/lib/utils/elements.js +5 -11
  427. package/dist/es6/common/lib/utils/index.d.ts +0 -1
  428. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  429. package/dist/es6/common/lib/utils/index.js +0 -1
  430. package/dist/es6/common/lib/utils/isWithinBreakpoint.d.ts +5 -0
  431. package/dist/es6/common/lib/utils/isWithinBreakpoint.d.ts.map +1 -0
  432. package/dist/es6/common/lib/utils/isWithinBreakpoint.js +6 -0
  433. package/dist/es6/common/lib/utils/models.d.ts +10 -2
  434. package/dist/es6/common/lib/utils/models.d.ts.map +1 -1
  435. package/dist/es6/common/lib/utils/models.js +3 -0
  436. package/dist/es6/common/lib/utils/useModalityType.js +13 -13
  437. package/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  438. package/dist/es6/form-field/index.d.ts.map +1 -1
  439. package/dist/es6/form-field/lib/Hint.d.ts.map +1 -1
  440. package/dist/es6/form-field/lib/Hint.js +6 -14
  441. package/dist/es6/form-field/lib/Label.d.ts.map +1 -1
  442. package/dist/es6/form-field/lib/Label.js +0 -2
  443. package/dist/es6/icon/lib/SystemIcon.d.ts +1 -1
  444. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  445. package/dist/es6/index.d.ts +4 -1
  446. package/dist/es6/index.d.ts.map +1 -1
  447. package/dist/es6/index.js +4 -1
  448. package/dist/es6/layout/index.d.ts +15 -5
  449. package/dist/es6/layout/index.d.ts.map +1 -1
  450. package/dist/es6/layout/index.js +12 -3
  451. package/dist/es6/layout/lib/Box.d.ts +23 -11
  452. package/dist/es6/layout/lib/Box.d.ts.map +1 -1
  453. package/dist/es6/layout/lib/Box.js +34 -8
  454. package/dist/es6/layout/lib/Column.d.ts +13 -4
  455. package/dist/es6/layout/lib/Column.d.ts.map +1 -1
  456. package/dist/es6/layout/lib/Column.js +9 -6
  457. package/dist/es6/layout/lib/Flex.d.ts +6 -3
  458. package/dist/es6/layout/lib/Flex.d.ts.map +1 -1
  459. package/dist/es6/layout/lib/Flex.js +5 -1
  460. package/dist/es6/layout/lib/Grid.d.ts +51 -0
  461. package/dist/es6/layout/lib/Grid.d.ts.map +1 -0
  462. package/dist/es6/layout/lib/Grid.js +90 -0
  463. package/dist/es6/layout/lib/Layout.d.ts +26 -9
  464. package/dist/es6/layout/lib/Layout.d.ts.map +1 -1
  465. package/dist/es6/layout/lib/Layout.js +21 -10
  466. package/dist/es6/layout/lib/Stack.d.ts +4 -4
  467. package/dist/es6/layout/lib/Stack.js +4 -4
  468. package/dist/es6/layout/lib/utils/background.d.ts +44 -0
  469. package/dist/es6/layout/lib/utils/background.d.ts.map +1 -0
  470. package/dist/es6/layout/lib/utils/background.js +54 -0
  471. package/dist/es6/layout/lib/utils/border/color.d.ts +47 -0
  472. package/dist/es6/layout/lib/utils/border/color.d.ts.map +1 -0
  473. package/dist/es6/layout/lib/utils/border/color.js +39 -0
  474. package/dist/es6/layout/lib/utils/border/index.d.ts +26 -0
  475. package/dist/es6/layout/lib/utils/border/index.d.ts.map +1 -0
  476. package/dist/es6/layout/lib/utils/border/index.js +43 -0
  477. package/dist/es6/layout/lib/utils/border/lineStyle.d.ts +38 -0
  478. package/dist/es6/layout/lib/utils/border/lineStyle.d.ts.map +1 -0
  479. package/dist/es6/layout/lib/utils/border/lineStyle.js +49 -0
  480. package/dist/es6/layout/lib/utils/border/radius.d.ts +33 -0
  481. package/dist/es6/layout/lib/utils/border/radius.d.ts.map +1 -0
  482. package/dist/es6/layout/lib/utils/border/radius.js +29 -0
  483. package/dist/es6/layout/lib/utils/border/shorthand.d.ts +34 -0
  484. package/dist/es6/layout/lib/utils/border/shorthand.d.ts.map +1 -0
  485. package/dist/es6/layout/lib/utils/border/shorthand.js +39 -0
  486. package/dist/es6/layout/lib/utils/border/width.d.ts +34 -0
  487. package/dist/es6/layout/lib/utils/border/width.d.ts.map +1 -0
  488. package/dist/es6/layout/lib/utils/border/width.js +39 -0
  489. package/dist/es6/layout/lib/utils/buildStyleFns.d.ts +12 -0
  490. package/dist/es6/layout/lib/utils/buildStyleFns.d.ts.map +1 -0
  491. package/dist/es6/layout/lib/utils/buildStyleFns.js +85 -0
  492. package/dist/es6/layout/lib/utils/color.d.ts +23 -16
  493. package/dist/es6/layout/lib/utils/color.d.ts.map +1 -1
  494. package/dist/es6/layout/lib/utils/color.js +24 -46
  495. package/dist/es6/layout/lib/utils/depth.d.ts +17 -11
  496. package/dist/es6/layout/lib/utils/depth.d.ts.map +1 -1
  497. package/dist/es6/layout/lib/utils/depth.js +19 -18
  498. package/dist/es6/layout/lib/utils/flex.d.ts +33 -14
  499. package/dist/es6/layout/lib/utils/flex.d.ts.map +1 -1
  500. package/dist/es6/layout/lib/utils/flex.js +57 -23
  501. package/dist/es6/layout/lib/utils/flexItem.d.ts +18 -15
  502. package/dist/es6/layout/lib/utils/flexItem.d.ts.map +1 -1
  503. package/dist/es6/layout/lib/utils/flexItem.js +42 -24
  504. package/dist/es6/layout/lib/utils/grid.d.ts +72 -0
  505. package/dist/es6/layout/lib/utils/grid.d.ts.map +1 -0
  506. package/dist/es6/layout/lib/utils/grid.js +109 -0
  507. package/dist/es6/layout/lib/utils/gridItem.d.ts +42 -0
  508. package/dist/es6/layout/lib/utils/gridItem.d.ts.map +1 -0
  509. package/dist/es6/layout/lib/utils/gridItem.js +68 -0
  510. package/dist/es6/layout/lib/utils/layout.d.ts +47 -25
  511. package/dist/es6/layout/lib/utils/layout.d.ts.map +1 -1
  512. package/dist/es6/layout/lib/utils/layout.js +70 -31
  513. package/dist/es6/layout/lib/utils/other.d.ts +46 -2
  514. package/dist/es6/layout/lib/utils/other.d.ts.map +1 -1
  515. package/dist/es6/layout/lib/utils/other.js +100 -15
  516. package/dist/es6/layout/lib/utils/position.d.ts +37 -20
  517. package/dist/es6/layout/lib/utils/position.d.ts.map +1 -1
  518. package/dist/es6/layout/lib/utils/position.js +48 -64
  519. package/dist/es6/layout/lib/utils/space.d.ts +107 -51
  520. package/dist/es6/layout/lib/utils/space.d.ts.map +1 -1
  521. package/dist/es6/layout/lib/utils/space.js +97 -146
  522. package/dist/es6/layout/lib/utils/stack.d.ts +3 -6
  523. package/dist/es6/layout/lib/utils/stack.d.ts.map +1 -1
  524. package/dist/es6/layout/lib/utils/stack.js +13 -39
  525. package/dist/es6/layout/lib/utils/styleProps.d.ts +41 -0
  526. package/dist/es6/layout/lib/utils/styleProps.d.ts.map +1 -0
  527. package/dist/es6/layout/lib/utils/styleProps.js +1 -0
  528. package/dist/es6/layout/lib/utils/systemProps.d.ts +31 -0
  529. package/dist/es6/layout/lib/utils/systemProps.d.ts.map +1 -0
  530. package/dist/es6/layout/lib/utils/systemProps.js +1 -0
  531. package/dist/es6/layout/lib/utils/text.d.ts +53 -0
  532. package/dist/es6/layout/lib/utils/text.d.ts.map +1 -0
  533. package/dist/es6/layout/lib/utils/text.js +81 -0
  534. package/dist/es6/loading-dots/index.d.ts +2 -0
  535. package/dist/es6/loading-dots/index.d.ts.map +1 -0
  536. package/dist/es6/loading-dots/index.js +1 -0
  537. package/dist/es6/{loading-animation → loading-dots}/lib/LoadingDots.d.ts +0 -0
  538. package/dist/es6/loading-dots/lib/LoadingDots.d.ts.map +1 -0
  539. package/dist/es6/{loading-animation → loading-dots}/lib/LoadingDots.js +0 -0
  540. package/dist/es6/menu/lib/MenuCard.d.ts.map +1 -1
  541. package/dist/es6/menu/lib/MenuCard.js +1 -1
  542. package/dist/es6/menu/lib/MenuContextTarget.d.ts.map +1 -1
  543. package/dist/es6/menu/lib/MenuContextTarget.js +2 -4
  544. package/dist/es6/menu/lib/MenuItem.js +13 -12
  545. package/dist/es6/menu/lib/MenuTarget.d.ts.map +1 -1
  546. package/dist/es6/menu/lib/MenuTarget.js +2 -4
  547. package/dist/es6/modal/lib/Modal.d.ts +1 -1
  548. package/dist/es6/modal/lib/ModalCard.d.ts.map +1 -1
  549. package/dist/es6/modal/lib/ModalCard.js +16 -2
  550. package/dist/es6/modal/lib/ModalHeading.d.ts.map +1 -1
  551. package/dist/es6/modal/lib/ModalHeading.js +12 -2
  552. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  553. package/dist/es6/modal/lib/ModalOverlay.js +21 -16
  554. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.d.ts.map +1 -1
  555. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.js +4 -2
  556. package/dist/es6/modal/lib/hooks/useModalModel.js +1 -1
  557. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  558. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +6 -5
  559. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  560. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +2 -4
  561. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  562. package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +5 -1
  563. package/dist/es6/popup/lib/Popup.d.ts +1 -1
  564. package/dist/es6/popup/lib/PopupBody.d.ts +1 -1
  565. package/dist/es6/popup/lib/PopupBody.js +1 -1
  566. package/dist/es6/popup/lib/PopupCard.d.ts +3 -2
  567. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  568. package/dist/es6/popup/lib/PopupCard.js +21 -14
  569. package/dist/es6/popup/lib/PopupCloseButton.d.ts.map +1 -1
  570. package/dist/es6/popup/lib/PopupCloseButton.js +1 -1
  571. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  572. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  573. package/dist/es6/popup/lib/PopupPopper.d.ts +2 -3
  574. package/dist/es6/popup/lib/PopupPopper.d.ts.map +1 -1
  575. package/dist/es6/popup/lib/hooks/index.d.ts +1 -0
  576. package/dist/es6/popup/lib/hooks/index.d.ts.map +1 -1
  577. package/dist/es6/popup/lib/hooks/index.js +1 -0
  578. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts +31 -0
  579. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts.map +1 -0
  580. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.js +50 -0
  581. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts.map +1 -1
  582. package/dist/es6/popup/lib/hooks/useReturnFocus.js +98 -4
  583. package/dist/es6/radio/lib/Radio.d.ts.map +1 -1
  584. package/dist/es6/radio/lib/Radio.js +3 -14
  585. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +3 -1
  586. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  587. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +12 -3
  588. package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
  589. package/dist/es6/side-panel/lib/SidePanel.js +3 -3
  590. package/dist/es6/tabs/lib/Tabs.d.ts +1149 -1
  591. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  592. package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
  593. package/dist/es6/tabs/lib/useTabsModel.d.ts +2773 -469
  594. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  595. package/dist/es6/testing/index.d.ts +5 -0
  596. package/dist/es6/testing/index.d.ts.map +1 -0
  597. package/dist/es6/testing/index.js +4 -0
  598. package/dist/es6/testing/lib/ComponentStatesTable.d.ts +26 -0
  599. package/dist/es6/testing/lib/ComponentStatesTable.d.ts.map +1 -0
  600. package/dist/es6/testing/lib/ComponentStatesTable.js +41 -0
  601. package/dist/es6/testing/lib/StaticStates.d.ts +7 -0
  602. package/dist/es6/testing/lib/StaticStates.d.ts.map +1 -0
  603. package/dist/es6/{common/lib/utils → testing/lib}/StaticStates.js +1 -1
  604. package/dist/es6/testing/lib/permutateProps.d.ts +5 -0
  605. package/dist/es6/testing/lib/permutateProps.d.ts.map +1 -0
  606. package/dist/es6/testing/lib/permutateProps.js +43 -0
  607. package/dist/es6/testing/lib/propTypes.d.ts +15 -0
  608. package/dist/es6/testing/lib/propTypes.d.ts.map +1 -0
  609. package/dist/es6/testing/lib/propTypes.js +1 -0
  610. package/dist/es6/text/index.d.ts +4 -0
  611. package/dist/es6/text/index.d.ts.map +1 -0
  612. package/dist/es6/text/index.js +3 -0
  613. package/dist/es6/text/lib/LabelText.d.ts +30 -0
  614. package/dist/es6/text/lib/LabelText.d.ts.map +1 -0
  615. package/dist/es6/text/lib/LabelText.js +51 -0
  616. package/dist/es6/text/lib/Text.d.ts +58 -0
  617. package/dist/es6/text/lib/Text.d.ts.map +1 -0
  618. package/dist/es6/text/lib/Text.js +101 -0
  619. package/dist/es6/text/lib/TypeLevelComponents.d.ts +132 -0
  620. package/dist/es6/text/lib/TypeLevelComponents.d.ts.map +1 -0
  621. package/dist/es6/text/lib/TypeLevelComponents.js +173 -0
  622. package/dist/es6/text-input/index.d.ts.map +1 -1
  623. package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
  624. package/dist/es6/toast/lib/Toast.js +1 -2
  625. package/dist/es6/tokens/lib/colors.types.d.ts +4 -6
  626. package/dist/es6/tokens/lib/colors.types.d.ts.map +1 -1
  627. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  628. package/dist/es6/tooltip/lib/OverflowTooltip.js +1 -4
  629. package/dist/es6/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  630. package/dist/es6/tooltip/lib/TooltipContainer.js +5 -0
  631. package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
  632. package/dist/es6/tooltip/lib/useTooltip.js +2 -1
  633. package/form-field/index.ts +0 -1
  634. package/form-field/lib/Hint.tsx +8 -19
  635. package/form-field/lib/Label.tsx +1 -2
  636. package/icon/lib/SystemIcon.tsx +1 -1
  637. package/index.ts +4 -1
  638. package/layout/README.md +28 -27
  639. package/layout/index.ts +15 -5
  640. package/layout/lib/Box.tsx +63 -45
  641. package/layout/lib/Column.tsx +22 -5
  642. package/layout/lib/Flex.tsx +6 -2
  643. package/layout/lib/Grid.tsx +85 -0
  644. package/layout/lib/Layout.tsx +37 -12
  645. package/layout/lib/Stack.tsx +4 -4
  646. package/layout/lib/utils/background.ts +83 -0
  647. package/layout/lib/utils/border/color.ts +85 -0
  648. package/layout/lib/utils/border/index.ts +49 -0
  649. package/layout/lib/utils/border/lineStyle.ts +87 -0
  650. package/layout/lib/utils/border/radius.ts +61 -0
  651. package/layout/lib/utils/border/shorthand.ts +73 -0
  652. package/layout/lib/utils/border/width.ts +73 -0
  653. package/layout/lib/utils/buildStyleFns.ts +117 -0
  654. package/layout/lib/utils/color.ts +40 -50
  655. package/layout/lib/utils/depth.ts +28 -24
  656. package/layout/lib/utils/flex.ts +85 -34
  657. package/layout/lib/utils/flexItem.ts +54 -36
  658. package/layout/lib/utils/grid.ts +166 -0
  659. package/layout/lib/utils/gridItem.ts +96 -0
  660. package/layout/lib/utils/layout.ts +109 -50
  661. package/layout/lib/utils/other.ts +144 -15
  662. package/layout/lib/utils/position.ts +79 -73
  663. package/layout/lib/utils/space.ts +202 -196
  664. package/layout/lib/utils/stack.ts +19 -45
  665. package/layout/lib/utils/styleProps.ts +56 -0
  666. package/layout/lib/utils/systemProps.ts +46 -0
  667. package/layout/lib/utils/text.ts +122 -0
  668. package/{loading-animation → loading-dots}/LICENSE +0 -0
  669. package/loading-dots/README.md +7 -0
  670. package/loading-dots/index.ts +1 -0
  671. package/{loading-animation → loading-dots}/lib/LoadingDots.tsx +0 -0
  672. package/loading-dots/package.json +6 -0
  673. package/menu/lib/MenuCard.tsx +1 -0
  674. package/menu/lib/MenuContextTarget.tsx +2 -4
  675. package/menu/lib/MenuItem.tsx +12 -12
  676. package/menu/lib/MenuTarget.tsx +2 -4
  677. package/modal/lib/ModalCard.tsx +17 -4
  678. package/modal/lib/ModalHeading.tsx +14 -2
  679. package/modal/lib/ModalOverlay.tsx +11 -13
  680. package/modal/lib/hooks/useCloseOnOverlayClick.ts +4 -2
  681. package/modal/lib/hooks/useModalModel.ts +1 -1
  682. package/package.json +3 -6
  683. package/pagination/lib/Pagination/AdditionalDetails.tsx +7 -8
  684. package/pagination/lib/Pagination/GoTo/Label.tsx +3 -11
  685. package/pagination/lib/Pagination/usePaginationModel.ts +5 -2
  686. package/popup/lib/PopupBody.tsx +1 -1
  687. package/popup/lib/PopupCard.tsx +16 -8
  688. package/popup/lib/PopupCloseButton.tsx +5 -1
  689. package/popup/lib/PopupCloseIcon.tsx +1 -1
  690. package/popup/lib/PopupHeading.tsx +1 -1
  691. package/popup/lib/PopupPopper.tsx +2 -3
  692. package/popup/lib/hooks/index.ts +1 -0
  693. package/popup/lib/hooks/useCloseOnTargetHidden.ts +66 -0
  694. package/popup/lib/hooks/useReturnFocus.tsx +112 -4
  695. package/radio/lib/Radio.tsx +9 -24
  696. package/segmented-control/lib/SegmentedControlButton.tsx +24 -5
  697. package/select/lib/Select.tsx +1 -1
  698. package/side-panel/lib/SidePanel.tsx +7 -7
  699. package/tabs/lib/useTabsModel.tsx +2 -2
  700. package/testing/LICENSE +52 -0
  701. package/testing/README.md +6 -0
  702. package/testing/index.ts +4 -0
  703. package/testing/lib/ComponentStatesTable.tsx +80 -0
  704. package/{common/lib/utils → testing/lib}/StaticStates.tsx +5 -4
  705. package/testing/lib/permutateProps.ts +47 -0
  706. package/testing/lib/propTypes.ts +15 -0
  707. package/testing/package.json +6 -0
  708. package/text/LICENSE +52 -0
  709. package/text/README.md +5 -0
  710. package/text/index.ts +3 -0
  711. package/text/lib/LabelText.tsx +47 -0
  712. package/text/lib/Text.tsx +110 -0
  713. package/text/lib/TypeLevelComponents.tsx +164 -0
  714. package/text/package.json +6 -0
  715. package/text-input/index.ts +0 -1
  716. package/toast/lib/Toast.tsx +1 -2
  717. package/tokens/lib/colors.types.ts +4 -7
  718. package/tooltip/lib/OverflowTooltip.tsx +1 -4
  719. package/tooltip/lib/TooltipContainer.tsx +6 -0
  720. package/tooltip/lib/useTooltip.tsx +2 -0
  721. package/dist/commonjs/common/lib/utils/StaticStates.d.ts +0 -8
  722. package/dist/commonjs/common/lib/utils/StaticStates.d.ts.map +0 -1
  723. package/dist/commonjs/layout/lib/utils/border.d.ts +0 -103
  724. package/dist/commonjs/layout/lib/utils/border.d.ts.map +0 -1
  725. package/dist/commonjs/layout/lib/utils/border.js +0 -153
  726. package/dist/commonjs/loading-animation/index.d.ts +0 -3
  727. package/dist/commonjs/loading-animation/index.d.ts.map +0 -1
  728. package/dist/commonjs/loading-animation/index.js +0 -5
  729. package/dist/commonjs/loading-animation/lib/LoadingDots.d.ts.map +0 -1
  730. package/dist/es6/common/lib/utils/StaticStates.d.ts +0 -8
  731. package/dist/es6/common/lib/utils/StaticStates.d.ts.map +0 -1
  732. package/dist/es6/layout/lib/utils/border.d.ts +0 -103
  733. package/dist/es6/layout/lib/utils/border.d.ts.map +0 -1
  734. package/dist/es6/layout/lib/utils/border.js +0 -149
  735. package/dist/es6/loading-animation/index.d.ts +0 -3
  736. package/dist/es6/loading-animation/index.d.ts.map +0 -1
  737. package/dist/es6/loading-animation/index.js +0 -2
  738. package/dist/es6/loading-animation/lib/LoadingDots.d.ts.map +0 -1
  739. package/layout/lib/utils/border.ts +0 -263
  740. package/loading-animation/README.md +0 -7
  741. package/loading-animation/index.ts +0 -3
  742. package/loading-animation/package.json +0 -6
@@ -1,70 +1,129 @@
1
1
  import {Property} from 'csstype';
2
2
 
3
- /** style props to for layout properties */
3
+ import {buildStyleFns, buildStylePropFn, StyleFnConfig} from './buildStyleFns';
4
+ import {SystemPropValues} from './systemProps';
5
+
6
+ /** style props to for CSS layout properties */
4
7
  export type LayoutStyleProps = {
5
- /** sets `display` property */
8
+ /** sets [CSS display property](https://developer.mozilla.org/en-US/docs/Web/CSS/displaydisplay) */
6
9
  display?: Property.Display;
7
- /** sets `height` property */
8
- height?: number | string;
9
- /** sets `list-style property */
10
+ /**
11
+ * - sets [CSS height property](https://developer.mozilla.org/en-US/docs/Web/CSS/height)
12
+ * - system tokens: `space`
13
+ * */
14
+ height?: SystemPropValues['space'];
15
+ /** sets [CSS list-style property](https://developer.mozilla.org/en-US/docs/Web/CSS/list-style) */
10
16
  listStyle?: Property.ListStyle;
11
- /** sets `max-height` property */
12
- maxHeight?: number | string;
13
- /** sets `max-width` property */
14
- maxWidth?: number | string;
15
- /** sets `min-height` property */
16
- minHeight?: number | string;
17
- /** sets `min-width` property */
18
- minWidth?: number | string;
19
- /** sets `overflow` property */
17
+ /**
18
+ * - sets [CSS max-height property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-height)
19
+ * - system tokens: `space`
20
+ * */
21
+ maxHeight?: SystemPropValues['space'];
22
+ /**
23
+ * - sets [CSS max-width property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-width)
24
+ * - system tokens: `space`
25
+ * */
26
+ maxWidth?: SystemPropValues['space'];
27
+ /**
28
+ * - sets [CSS min-height property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-height)
29
+ * - system tokens: `space`
30
+ * */
31
+ minHeight?: SystemPropValues['space'];
32
+ /**
33
+ * - sets [CSS min-width property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-width)
34
+ * - system tokens: `space`
35
+ * */
36
+ minWidth?: SystemPropValues['space'];
37
+ /** sets [CSS overflow property](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow) */
20
38
  overflow?: Property.Overflow;
21
- /** sets `overflow-x` property */
39
+ /** sets [CSS overflow-x property](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-x) */
22
40
  overflowX?: Property.OverflowX;
23
- /** sets `overflow-y` property */
41
+ /** sets [CSS overflow-y property](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-y) */
24
42
  overflowY?: Property.OverflowY;
25
- /** sets `vertical-align` property */
43
+ /** sets [CSS vertical-align property](https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align) */
26
44
  verticalAlign?: Property.VerticalAlign;
27
- /** sets `width` property */
28
- width?: number | string;
45
+ /**
46
+ * - sets [CSS width property](https://developer.mozilla.org/en-US/docs/Web/CSS/width)
47
+ * - system tokens: `space`
48
+ * */
49
+ width?: SystemPropValues['space'];
29
50
  };
30
51
 
31
- const layoutProps = {
32
- display: 'display',
33
- height: 'height',
34
- listStyle: 'listStyle',
35
- maxHeight: 'maxHeight',
36
- maxWidth: 'maxWidth',
37
- minHeight: 'minHeight',
38
- minWidth: 'minWidth',
39
- overflow: 'overflow',
40
- overflowX: 'overflowX',
41
- overflowY: 'overflowY',
42
- verticalAlign: 'verticalAlign',
43
- width: 'width',
44
- };
52
+ export const layoutStyleFnConfigs: StyleFnConfig[] = [
53
+ {
54
+ name: 'display',
55
+ properties: ['display'],
56
+ system: 'none',
57
+ },
58
+ {
59
+ name: 'height',
60
+ properties: ['height'],
61
+ system: 'space',
62
+ },
63
+ {
64
+ name: 'listStyle',
65
+ properties: ['listStyle'],
66
+ system: 'none',
67
+ },
68
+ {
69
+ name: 'maxHeight',
70
+ properties: ['maxHeight'],
71
+ system: 'space',
72
+ },
73
+ {
74
+ name: 'maxWidth',
75
+ properties: ['maxWidth'],
76
+ system: 'space',
77
+ },
78
+ {
79
+ name: 'minHeight',
80
+ properties: ['minHeight'],
81
+ system: 'space',
82
+ },
83
+ {
84
+ name: 'minWidth',
85
+ properties: ['minWidth'],
86
+ system: 'space',
87
+ },
88
+ {
89
+ name: 'overflow',
90
+ properties: ['overflow'],
91
+ system: 'none',
92
+ },
93
+ {
94
+ name: 'overflowX',
95
+ properties: ['overflowX'],
96
+ system: 'none',
97
+ },
98
+ {
99
+ name: 'overflowY',
100
+ properties: ['overflowY'],
101
+ system: 'none',
102
+ },
103
+ {
104
+ name: 'verticalAlign',
105
+ properties: ['verticalAlign'],
106
+ system: 'none',
107
+ },
108
+ {
109
+ name: 'width',
110
+ properties: ['width'],
111
+ system: 'space',
112
+ },
113
+ ];
45
114
 
115
+ export const layoutStyleFns = buildStyleFns(layoutStyleFnConfigs);
46
116
  /**
47
- * A style prop function that takes components props and returns layout styles.
117
+ * A style prop function that takes component props and returns layout styles.
48
118
  * If no `LayoutStyleProps` are found, it returns an empty object.
49
119
  *
50
120
  * @example
51
- * // You'll most likely use `layout` with low-level, styled components
52
- * const BoxExample = () => (
121
+ * ```tsx
122
+ * const LayoutExample = () => (
53
123
  * <Box display="inline-block" height="50%">
54
- * Hello, positions!
124
+ * Hello, layout!
55
125
  * </Box>
56
126
  * );
57
- *
127
+ * ```
58
128
  */
59
- export function layout<P extends LayoutStyleProps>(props: P) {
60
- const styles = {};
61
- for (const key in props) {
62
- if (key in layoutProps) {
63
- const attr = layoutProps[key as keyof LayoutStyleProps];
64
- const value = props[key];
65
- // @ts-ignore TS doesn't like adding a potentially unknown key to an object, but because we own this object, it's fine.
66
- styles[attr] = value;
67
- }
68
- }
69
- return styles;
70
- }
129
+ export const layout = buildStylePropFn<LayoutStyleProps>(layoutStyleFns);
@@ -1,20 +1,149 @@
1
+ import {Property} from 'csstype';
2
+
3
+ import {buildStyleFns, buildStylePropFn, StyleFnConfig} from './buildStyleFns';
4
+
5
+ /** style props to for other CSS properties */
1
6
  export type OtherStyleProps = {
2
- animation?: string;
7
+ /** sets [CSS animation property](https://developer.mozilla.org/en-US/docs/Web/CSS/animation) */
8
+ animation?: Property.Animation;
9
+ /** sets [CSS appearance property](https://developer.mozilla.org/en-US/docs/Web/CSS/appearance) */
10
+ appearance?: Property.Appearance;
11
+ /** sets [CSS box-sizing property](https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing) */
12
+ boxSizing?: Property.BoxSizing;
13
+ /** sets [CSS content property](https://developer.mozilla.org/en-US/docs/Web/CSS/content) */
14
+ content?: Property.Content;
15
+ /** sets [CSS cursor property](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor) */
16
+ cursor?: Property.Cursor;
17
+ /** sets [CSS fill property](https://developer.mozilla.org/en-US/docs/Web/CSS/fill) */
18
+ fill?: Property.Fill;
19
+ /** sets [CSS float property](https://developer.mozilla.org/en-US/docs/Web/CSS/float) */
20
+ float?: Property.Float;
21
+ /** sets [CSS object-fit property](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) */
22
+ objectFit?: Property.ObjectFit;
23
+ /** sets [CSS object-position property](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) */
24
+ objectPosition?: Property.ObjectPosition;
25
+ /** sets [CSS opacity](https://developer.mozilla.org/en-US/docs/Web/CSS/opacity) */
26
+ opacity?: Property.Opacity;
27
+ /** sets [CSS outline property](https://developer.mozilla.org/en-US/docs/Web/CSS/outline) */
28
+ outline?: Property.Outline;
29
+ /** sets [CSS outline-offset property](https://developer.mozilla.org/en-US/docs/Web/CSS/outline-offset) */
30
+ outlineOffset?: Property.OutlineOffset;
31
+ /** sets [CSS overflow-wrap property](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap) */
32
+ overflowWrap?: Property.OverflowWrap;
33
+ /** sets [CSS pointer-events property](https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events) */
34
+ pointerEvents?: Property.PointerEvents;
35
+ /** sets [CSS resize property](https://developer.mozilla.org/en-US/docs/Web/CSS/resize) */
36
+ resize?: Property.Resize;
37
+ /** sets [CSS stroke property](https://developer.mozilla.org/en-US/docs/Web/CSS/stroke) */
38
+ stroke?: Property.Stroke;
39
+ /** sets [CSS transform property](https://developer.mozilla.org/en-US/docs/Web/CSS/transform) */
40
+ transform?: Property.Transform;
41
+ /** sets [CSS transition property](https://developer.mozilla.org/en-US/docs/Web/CSS/transition) */
42
+ transition?: Property.Transition;
43
+ /** sets [CSS user-select property](https://developer.mozilla.org/en-US/docs/Web/CSS/user-select) */
44
+ userSelect?: Property.UserSelect;
45
+ /** sets [CSS visibility property](https://developer.mozilla.org/en-US/docs/Web/CSS/visibility) */
46
+ visibility?: Property.Visibility;
3
47
  };
4
48
 
5
- const otherProps = {
6
- animation: (value: string) => {
7
- return {animation: value};
49
+ export const otherStyleFnConfigs: StyleFnConfig[] = [
50
+ {
51
+ name: 'animation',
52
+ properties: ['animation'],
53
+ system: 'none',
8
54
  },
9
- };
55
+ {
56
+ name: 'appearance',
57
+ properties: ['appearance'],
58
+ system: 'none',
59
+ },
60
+ {
61
+ name: 'boxSizing',
62
+ properties: ['boxSizing'],
63
+ system: 'none',
64
+ },
65
+ {
66
+ name: 'content',
67
+ properties: ['content'],
68
+ system: 'none',
69
+ },
70
+ {
71
+ name: 'cursor',
72
+ properties: ['cursor'],
73
+ system: 'none',
74
+ },
75
+ {
76
+ name: 'fill',
77
+ properties: ['fill'],
78
+ system: 'none',
79
+ },
80
+ {
81
+ name: 'float',
82
+ properties: ['float'],
83
+ system: 'none',
84
+ },
85
+ {
86
+ name: 'objectFit',
87
+ properties: ['objectFit'],
88
+ system: 'none',
89
+ },
90
+ {
91
+ name: 'objectPosition',
92
+ properties: ['objectPosition'],
93
+ system: 'none',
94
+ },
95
+ {
96
+ name: 'outline',
97
+ properties: ['outline'],
98
+ system: 'none',
99
+ },
100
+ {
101
+ name: 'outlineOffset',
102
+ properties: ['outlineOffset'],
103
+ system: 'none',
104
+ },
105
+ {
106
+ name: 'overflowWrap',
107
+ properties: ['overflowWrap'],
108
+ system: 'none',
109
+ },
110
+ {
111
+ name: 'pointerEvents',
112
+ properties: ['pointerEvents'],
113
+ system: 'none',
114
+ },
115
+ {
116
+ name: 'resize',
117
+ properties: ['resize'],
118
+ system: 'none',
119
+ },
120
+ {
121
+ name: 'stroke',
122
+ properties: ['stroke'],
123
+ system: 'none',
124
+ },
125
+ {
126
+ name: 'transform',
127
+ properties: ['transform'],
128
+ system: 'none',
129
+ },
130
+ {
131
+ name: 'transition',
132
+ properties: ['transition'],
133
+ system: 'none',
134
+ },
135
+ {
136
+ name: 'userSelect',
137
+ properties: ['userSelect'],
138
+ system: 'none',
139
+ },
140
+ {
141
+ name: 'visibility',
142
+ properties: ['visibility'],
143
+ system: 'none',
144
+ },
145
+ ];
146
+
147
+ export const otherStyleFns = buildStyleFns(otherStyleFnConfigs);
10
148
 
11
- export function other<P extends OtherStyleProps>(props: P) {
12
- for (const key in props) {
13
- if (key in otherProps) {
14
- const value = props[key as keyof OtherStyleProps] as keyof OtherStyleProps;
15
- const styleFn = otherProps[key as keyof OtherStyleProps];
16
- return styleFn(value);
17
- }
18
- }
19
- return {};
20
- }
149
+ export const other = buildStylePropFn<OtherStyleProps>(otherStyleFns);
@@ -1,96 +1,102 @@
1
- import {
2
- ContentDirection,
3
- PartialEmotionCanvasTheme,
4
- useTheme,
5
- } from '@workday/canvas-kit-react/common';
6
1
  import {Property} from 'csstype';
7
2
 
8
- /** style props to for standard position properties */
9
- export type PositionStandardProps = {
10
- /** sets `position` property */
3
+ import {buildStyleFns, buildStylePropFn, StyleFnConfig} from './buildStyleFns';
4
+
5
+ /** style props to for CSS position properties */
6
+ export type PositionStyleProps = {
7
+ /**
8
+ * - sets [CSS position property](https://developer.mozilla.org/en-US/docs/Web/CSS/position)
9
+ * */
11
10
  position?: Property.Position;
12
- /** sets `zIndex` property */
11
+ /**
12
+ * - sets [CSS z-index property](https://developer.mozilla.org/en-US/docs/Web/CSS/z-index)
13
+ * */
13
14
  zIndex?: Property.ZIndex;
14
- /** sets `top` property */
15
+ /**
16
+ * - sets [CSS top property](https://developer.mozilla.org/en-US/docs/Web/CSS/top)
17
+ * */
15
18
  top?: number | string;
16
- /** sets `right` property (no bidirectional support) */
19
+ /**
20
+ * - sets [CSS right property](https://developer.mozilla.org/en-US/docs/Web/CSS/right)
21
+ * - no bidirectional support
22
+ * */
17
23
  right?: number | string;
18
- /** sets `bottom` property */
24
+ /**
25
+ * - sets [CSS bottom property](https://developer.mozilla.org/en-US/docs/Web/CSS/bottom)
26
+ * */
19
27
  bottom?: number | string;
20
- /** sets `left` property (no bidirectional support) */
28
+ /**
29
+ * - sets [CSS left property](https://developer.mozilla.org/en-US/docs/Web/CSS/left)
30
+ * - no bidirectional support
31
+ * */
21
32
  left?: number | string;
22
- };
23
-
24
- export type PositionLogicalProps = {
25
- /** sets `left` property (bidirectional support) */
33
+ /**
34
+ * - sets [CSS inset-inline-start property](https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-start)
35
+ * - bidirectional support
36
+ * */
26
37
  insetInlineStart?: number | string;
27
- /** sets `right` property (bidirectional support) */
38
+ /**
39
+ * - sets [CSS inset-inline-end property](https://developer.mozilla.org/en-US/docs/Web/CSS/inset-inline-end)
40
+ * - bidirectional support
41
+ * */
28
42
  insetInlineEnd?: number | string;
29
43
  };
30
44
 
31
- const getInsetInlineStartStyle = (value: number | string, isRTL = false) => {
32
- const attr = isRTL ? 'right' : 'left';
33
- return {[attr]: value};
34
- };
35
-
36
- const getInsetInlineEndStyle = (value: number | string, isRTL = false) => {
37
- const attr = isRTL ? 'left' : 'right';
38
- return {[attr]: value};
39
- };
40
-
41
- const standardPositionProps = {
42
- position: 'position',
43
- zIndex: 'zIndex',
44
- top: 'top',
45
- right: 'right',
46
- bottom: 'bottom',
47
- left: 'left',
48
- };
49
-
50
- const logicalPositionProps = {
51
- insetInlineStart: getInsetInlineStartStyle,
52
- insetInlineEnd: getInsetInlineEndStyle,
53
- };
54
-
55
- export type PositionStyleProps = PositionStandardProps & PositionLogicalProps;
45
+ export const positionStyleFnConfigs: StyleFnConfig[] = [
46
+ {
47
+ name: 'position',
48
+ properties: ['position'],
49
+ system: 'none',
50
+ },
51
+ {
52
+ name: 'zIndex',
53
+ properties: ['zIndex'],
54
+ system: 'none',
55
+ },
56
+ {
57
+ name: 'top',
58
+ properties: ['top'],
59
+ system: 'none',
60
+ },
61
+ {
62
+ name: 'right',
63
+ properties: ['right'],
64
+ system: 'none',
65
+ },
66
+ {
67
+ name: 'bottom',
68
+ properties: ['bottom'],
69
+ system: 'none',
70
+ },
71
+ {
72
+ name: 'left',
73
+ properties: ['left'],
74
+ system: 'none',
75
+ },
76
+ {
77
+ name: 'insetInlineStart',
78
+ properties: ['insetInlineStart'],
79
+ system: 'none',
80
+ },
81
+ {
82
+ name: 'insetInlineEnd',
83
+ properties: ['insetInlineEnd'],
84
+ system: 'none',
85
+ },
86
+ ];
56
87
 
88
+ export const positionStyleFns = buildStyleFns(positionStyleFnConfigs);
57
89
  /**
58
- * A style prop function that takes components props and returns position styles.
90
+ * A style prop function that takes component props and returns position styles.
59
91
  * If no `PositionProps` are found, it returns an empty object.
60
92
  *
61
93
  * @example
62
- * // You'll most likely use `position` with low-level, styled components
94
+ * ```
63
95
  * const BoxExample = () => (
64
96
  * <Box position="absolute" top="50%">
65
97
  * Hello, positions!
66
98
  * </Box>
67
99
  * );
68
- *
100
+ * ```
69
101
  */
70
- export function position<P extends PositionStyleProps & {theme?: PartialEmotionCanvasTheme}>(
71
- props: P
72
- ) {
73
- // position will always be used within the context of a component, but eslint doesn't know that
74
- // eslint-disable-next-line react-hooks/rules-of-hooks
75
- const {canvas} = useTheme(props.theme);
76
- let styles = {};
77
- for (const key in props) {
78
- if (key in props) {
79
- if (key in standardPositionProps) {
80
- const value = props[key];
81
- const attr = standardPositionProps[key as keyof PositionStandardProps];
82
- // @ts-ignore TS doesn't like adding a potentially unknown key to an object, but because we own this object, it's fine.
83
- styles[attr] = value;
84
- continue;
85
- }
86
- if (key in logicalPositionProps) {
87
- const value = props[key as keyof PositionLogicalProps] as string | number;
88
- const styleFn = logicalPositionProps[key as keyof PositionLogicalProps];
89
- const isRTL = canvas.direction === ContentDirection.RTL;
90
- const style = styleFn(value, isRTL);
91
- styles = {...styles, ...style};
92
- }
93
- }
94
- }
95
- return styles;
96
- }
102
+ export const position = buildStylePropFn<PositionStyleProps>(positionStyleFns);