@moda/om 16.1.0 → 16.2.1

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 (331) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/index.cjs.js +316 -284
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +315 -283
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/{__mocks__ → src/__mocks__}/Icon.d.ts +0 -0
  7. package/dist/{components → src/components}/AspectRatioBox/AspectRatioBox.d.ts +0 -0
  8. package/dist/{components → src/components}/AspectRatioBox/AspectRatioBox.stories.d.ts +0 -0
  9. package/dist/{components → src/components}/AspectRatioBox/AspectRatioBox.test.d.ts +0 -0
  10. package/dist/{components → src/components}/AspectRatioBox/index.d.ts +0 -0
  11. package/dist/{components → src/components}/Badge/Badge.d.ts +0 -0
  12. package/dist/{components → src/components}/Badge/Badge.stories.d.ts +0 -0
  13. package/dist/{components → src/components}/Badge/Badge.test.d.ts +0 -0
  14. package/dist/{components → src/components}/Badge/index.d.ts +0 -0
  15. package/dist/{components → src/components}/Breadcrumbs/Breadcrumb/Breadcrumb.d.ts +0 -0
  16. package/dist/{components → src/components}/Breadcrumbs/Breadcrumb/index.d.ts +0 -0
  17. package/dist/{components → src/components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  18. package/dist/{components → src/components}/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -0
  19. package/dist/{components → src/components}/Breadcrumbs/Breadcrumbs.test.d.ts +0 -0
  20. package/dist/{components → src/components}/Breadcrumbs/index.d.ts +0 -0
  21. package/dist/{components → src/components}/Breakpoint/Breakpoint.d.ts +0 -0
  22. package/dist/{components → src/components}/Breakpoint/Breakpoint.stories.d.ts +0 -0
  23. package/dist/{components → src/components}/Breakpoint/Breakpoint.test.d.ts +0 -0
  24. package/dist/{components → src/components}/Breakpoint/BreakpointProvider.d.ts +0 -0
  25. package/dist/{components → src/components}/Breakpoint/generateMediaQuery.d.ts +0 -0
  26. package/dist/{components → src/components}/Breakpoint/generateMediaQuery.test.d.ts +0 -0
  27. package/dist/{components → src/components}/Breakpoint/index.d.ts +0 -0
  28. package/dist/{components → src/components}/Button/Button.d.ts +0 -0
  29. package/dist/{components → src/components}/Button/Button.stories.d.ts +0 -0
  30. package/dist/{components → src/components}/Button/Button.test.d.ts +0 -0
  31. package/dist/{components → src/components}/Button/index.d.ts +0 -0
  32. package/dist/{components → src/components}/Checkbox/Checkbox.d.ts +1 -1
  33. package/dist/{components → src/components}/Checkbox/Checkbox.stories.d.ts +0 -0
  34. package/dist/{components → src/components}/Checkbox/Checkbox.test.d.ts +0 -0
  35. package/dist/{components → src/components}/Checkbox/index.d.ts +0 -0
  36. package/dist/{components → src/components}/Clickable/Clickable.d.ts +0 -0
  37. package/dist/{components → src/components}/Clickable/Clickable.stories.d.ts +0 -0
  38. package/dist/{components → src/components}/Clickable/Clickable.test.d.ts +0 -0
  39. package/dist/{components → src/components}/Clickable/index.d.ts +0 -0
  40. package/dist/{components → src/components}/ColorSwatch/ColorSwatch.d.ts +0 -0
  41. package/dist/{components → src/components}/ColorSwatch/ColorSwatch.stories.d.ts +0 -0
  42. package/dist/{components → src/components}/ColorSwatch/ColorSwatch.test.d.ts +0 -0
  43. package/dist/{components → src/components}/ColorSwatch/index.d.ts +0 -0
  44. package/dist/{components → src/components}/ColorSwatch/skuColors.d.ts +0 -0
  45. package/dist/{components → src/components}/Constrain/Constrain.d.ts +0 -0
  46. package/dist/{components → src/components}/Constrain/Constrain.stories.d.ts +0 -0
  47. package/dist/{components → src/components}/Constrain/Constrain.test.d.ts +0 -0
  48. package/dist/{components → src/components}/Constrain/ExceedConstrain.d.ts +0 -0
  49. package/dist/{components → src/components}/Constrain/ExceedConstrain.stories.d.ts +0 -0
  50. package/dist/{components → src/components}/Constrain/index.d.ts +0 -0
  51. package/dist/{components → src/components}/ControlLink/ControlLink.d.ts +0 -0
  52. package/dist/{components → src/components}/ControlLink/ControlLink.stories.d.ts +0 -0
  53. package/dist/{components → src/components}/ControlLink/ControlLink.test.d.ts +0 -0
  54. package/dist/{components → src/components}/ControlLink/index.d.ts +0 -0
  55. package/dist/{components → src/components}/CreditCardNumberInput/CreditCardNumberInput.d.ts +0 -0
  56. package/dist/{components → src/components}/CreditCardNumberInput/CreditCardNumberInput.stories.d.ts +0 -0
  57. package/dist/{components → src/components}/CreditCardNumberInput/CreditCardNumberInput.test.d.ts +0 -0
  58. package/dist/{components → src/components}/CreditCardNumberInput/CreditCardNumberInputField.d.ts +0 -0
  59. package/dist/{components → src/components}/CreditCardNumberInput/index.d.ts +0 -0
  60. package/dist/{components → src/components}/DefinitionList/DefinitionList.d.ts +0 -0
  61. package/dist/{components → src/components}/DefinitionList/DefinitionList.stories.d.ts +0 -0
  62. package/dist/{components → src/components}/DefinitionList/DefinitionList.test.d.ts +0 -0
  63. package/dist/{components → src/components}/DefinitionList/index.d.ts +0 -0
  64. package/dist/{components → src/components}/Divider/Divider.d.ts +0 -0
  65. package/dist/{components → src/components}/Divider/Divider.stories.d.ts +0 -0
  66. package/dist/{components → src/components}/Divider/Divider.test.d.ts +0 -0
  67. package/dist/{components → src/components}/Divider/NoLineDivider.d.ts +0 -0
  68. package/dist/{components → src/components}/Divider/TwoLineDivider.d.ts +0 -0
  69. package/dist/{components → src/components}/Divider/index.d.ts +0 -0
  70. package/dist/{components → src/components}/Expandable/Expandable.d.ts +0 -0
  71. package/dist/{components → src/components}/Expandable/Expandable.stories.d.ts +0 -0
  72. package/dist/{components → src/components}/Expandable/Expandable.test.d.ts +0 -0
  73. package/dist/{components → src/components}/Expandable/index.d.ts +0 -0
  74. package/dist/{components → src/components}/Field/Field.d.ts +0 -0
  75. package/dist/{components → src/components}/Field/Field.stories.d.ts +0 -0
  76. package/dist/{components → src/components}/Field/Field.test.d.ts +0 -0
  77. package/dist/{components → src/components}/Field/index.d.ts +0 -0
  78. package/dist/{components → src/components}/Label/Label.d.ts +0 -0
  79. package/dist/{components → src/components}/Label/Label.stories.d.ts +0 -0
  80. package/dist/{components → src/components}/Label/Label.test.d.ts +0 -0
  81. package/dist/{components → src/components}/Label/index.d.ts +0 -0
  82. package/dist/{components → src/components}/Loading/Loading.d.ts +0 -0
  83. package/dist/{components → src/components}/Loading/Loading.stories.d.ts +0 -0
  84. package/dist/{components → src/components}/Loading/Loading.test.d.ts +0 -0
  85. package/dist/{components → src/components}/Loading/index.d.ts +0 -0
  86. package/dist/{components → src/components}/LoadingBalls/LoadingBalls.d.ts +0 -0
  87. package/dist/{components → src/components}/LoadingBalls/LoadingBalls.stories.d.ts +0 -0
  88. package/dist/{components → src/components}/LoadingBalls/index.d.ts +0 -0
  89. package/dist/{components → src/components}/Modal/Modal.d.ts +0 -0
  90. package/dist/{components → src/components}/Modal/Modal.stories.d.ts +0 -0
  91. package/dist/{components → src/components}/Modal/Modal.test.d.ts +0 -0
  92. package/dist/{components → src/components}/Modal/index.d.ts +0 -0
  93. package/dist/{components → src/components}/ModalOverlay/ModalOverlay.d.ts +0 -0
  94. package/dist/{components → src/components}/ModalOverlay/ModalOverlay.stories.d.ts +0 -0
  95. package/dist/{components → src/components}/ModalOverlay/ModalOverlay.test.d.ts +0 -0
  96. package/dist/{components → src/components}/ModalOverlay/index.d.ts +0 -0
  97. package/dist/{components → src/components}/Overlay/Overlay.d.ts +0 -0
  98. package/dist/{components → src/components}/Overlay/Overlay.stories.d.ts +0 -0
  99. package/dist/{components → src/components}/Overlay/Overlay.test.d.ts +0 -0
  100. package/dist/{components → src/components}/Overlay/index.d.ts +0 -0
  101. package/dist/{components → src/components}/Paginator/Paginator.d.ts +0 -0
  102. package/dist/{components → src/components}/Paginator/Paginator.stories.d.ts +0 -0
  103. package/dist/{components → src/components}/Paginator/index.d.ts +0 -0
  104. package/dist/{components → src/components}/PasswordInput/PasswordInput.d.ts +0 -0
  105. package/dist/{components → src/components}/PasswordInput/PasswordInput.stories.d.ts +0 -0
  106. package/dist/{components → src/components}/PasswordInput/index.d.ts +0 -0
  107. package/dist/{components → src/components}/Popover/Popover.d.ts +0 -0
  108. package/dist/{components → src/components}/Popover/Popover.stories.d.ts +0 -0
  109. package/dist/{components → src/components}/Popover/Popover.test.d.ts +0 -0
  110. package/dist/{components → src/components}/Popover/index.d.ts +0 -0
  111. package/dist/{components → src/components}/PromoBanner/PromoBanner.d.ts +0 -0
  112. package/dist/{components → src/components}/PromoBanner/PromoBanner.stories.d.ts +0 -0
  113. package/dist/{components → src/components}/PromoBanner/PromoBanner.test.d.ts +0 -0
  114. package/dist/{components → src/components}/PromoBanner/index.d.ts +0 -0
  115. package/dist/{components → src/components}/RadioButton/RadioButton.d.ts +0 -0
  116. package/dist/{components → src/components}/RadioButton/RadioButton.stories.d.ts +0 -0
  117. package/dist/{components → src/components}/RadioButton/RadioButton.test.d.ts +0 -0
  118. package/dist/{components → src/components}/RadioButton/index.d.ts +0 -0
  119. package/dist/{components → src/components}/SearchInput/SearchInput.d.ts +0 -0
  120. package/dist/{components → src/components}/SearchInput/SearchInput.stories.d.ts +0 -0
  121. package/dist/{components → src/components}/SearchInput/SearchInput.test.d.ts +0 -0
  122. package/dist/{components → src/components}/SearchInput/index.d.ts +0 -0
  123. package/dist/{components → src/components}/Select/MultiSelect.d.ts +0 -0
  124. package/dist/{components → src/components}/Select/Select.d.ts +0 -0
  125. package/dist/{components → src/components}/Select/Select.stories.d.ts +0 -0
  126. package/dist/{components → src/components}/Select/Select.test.d.ts +0 -0
  127. package/dist/{components → src/components}/Select/SelectLabel.d.ts +0 -0
  128. package/dist/{components → src/components}/Select/SelectOption.d.ts +0 -0
  129. package/dist/{components → src/components}/Select/SelectOptions.d.ts +0 -0
  130. package/dist/{components → src/components}/Select/index.d.ts +0 -0
  131. package/dist/{components → src/components}/Select/useSelect.d.ts +0 -0
  132. package/dist/{components → src/components}/SelectableButton/SelectableButton.d.ts +0 -0
  133. package/dist/{components → src/components}/SelectableButton/SelectableButton.stories.d.ts +0 -0
  134. package/dist/{components → src/components}/SelectableButton/SelectableButton.test.d.ts +0 -0
  135. package/dist/{components → src/components}/SelectableButton/index.d.ts +0 -0
  136. package/dist/{components → src/components}/Shape/ArcWindow.d.ts +0 -0
  137. package/dist/{components → src/components}/Shape/Bradley.d.ts +0 -0
  138. package/dist/{components → src/components}/Shape/Brancusi.d.ts +0 -0
  139. package/dist/{components → src/components}/Shape/Circle.d.ts +0 -0
  140. package/dist/{components → src/components}/Shape/Diamond.d.ts +0 -0
  141. package/dist/{components → src/components}/Shape/Keyhole.d.ts +0 -0
  142. package/dist/{components → src/components}/Shape/Mirror.d.ts +0 -0
  143. package/dist/{components → src/components}/Shape/Oval.d.ts +0 -0
  144. package/dist/{components → src/components}/Shape/Shape.d.ts +0 -0
  145. package/dist/{components → src/components}/Shape/Shape.stories.d.ts +0 -0
  146. package/dist/{components → src/components}/Shape/Triangle.d.ts +0 -0
  147. package/dist/{components → src/components}/Shape/Window.d.ts +0 -0
  148. package/dist/{components → src/components}/Shape/index.d.ts +0 -0
  149. package/dist/{components → src/components}/Stack/Stack.d.ts +0 -0
  150. package/dist/{components → src/components}/Stack/Stack.stories.d.ts +0 -0
  151. package/dist/{components → src/components}/Stack/Stack.test.d.ts +0 -0
  152. package/dist/{components → src/components}/Stack/index.d.ts +0 -0
  153. package/dist/{components → src/components}/Tabs/Tab.d.ts +0 -0
  154. package/dist/{components → src/components}/Tabs/TabList.d.ts +0 -0
  155. package/dist/{components → src/components}/Tabs/TabPanel.d.ts +0 -0
  156. package/dist/{components → src/components}/Tabs/TabPanels.d.ts +0 -0
  157. package/dist/{components → src/components}/Tabs/Tabs.d.ts +0 -0
  158. package/dist/{components → src/components}/Tabs/Tabs.stories.d.ts +0 -0
  159. package/dist/{components → src/components}/Tabs/Tabs.test.d.ts +0 -0
  160. package/dist/{components → src/components}/Tabs/index.d.ts +0 -0
  161. package/dist/{components → src/components}/Tag/Tag.d.ts +0 -0
  162. package/dist/{components → src/components}/Tag/Tag.stories.d.ts +0 -0
  163. package/dist/{components → src/components}/Tag/Tag.test.d.ts +0 -0
  164. package/dist/{components → src/components}/Tag/index.d.ts +0 -0
  165. package/dist/{components → src/components}/Text/Text.d.ts +0 -0
  166. package/dist/{components → src/components}/Text/Text.stories.d.ts +0 -0
  167. package/dist/{components → src/components}/Text/Text.test.d.ts +0 -0
  168. package/dist/{components → src/components}/Text/index.d.ts +0 -0
  169. package/dist/{components → src/components}/TextInput/TextInput.d.ts +0 -0
  170. package/dist/{components → src/components}/TextInput/TextInput.stories.d.ts +0 -0
  171. package/dist/{components → src/components}/TextInput/TextInput.test.d.ts +0 -0
  172. package/dist/{components → src/components}/TextInput/index.d.ts +0 -0
  173. package/dist/{components → src/components}/Textarea/Textarea.d.ts +0 -0
  174. package/dist/{components → src/components}/Textarea/Textarea.stories.d.ts +0 -0
  175. package/dist/{components → src/components}/Textarea/Textarea.test.d.ts +0 -0
  176. package/dist/{components → src/components}/Textarea/index.d.ts +0 -0
  177. package/dist/{components → src/components}/Toast/Toast.d.ts +0 -0
  178. package/dist/{components → src/components}/Toast/Toast.stories.d.ts +0 -0
  179. package/dist/{components → src/components}/Toast/Toast.test.d.ts +0 -0
  180. package/dist/{components → src/components}/Toast/index.d.ts +0 -0
  181. package/dist/{components → src/components}/VerticalDivider/VerticalDivider.d.ts +0 -0
  182. package/dist/{components → src/components}/VerticalDivider/VerticalDivider.stories.d.ts +0 -0
  183. package/dist/{components → src/components}/VerticalDivider/VerticalDivider.test.d.ts +0 -0
  184. package/dist/{components → src/components}/VerticalDivider/index.d.ts +0 -0
  185. package/dist/{components → src/components}/index.d.ts +0 -0
  186. package/dist/{hooks → src/hooks}/index.d.ts +0 -0
  187. package/dist/{hooks → src/hooks}/useBreakpoint.d.ts +0 -0
  188. package/dist/{hooks → src/hooks}/useClickOutside.d.ts +0 -0
  189. package/dist/{hooks → src/hooks}/useKeyboardListNavigation.d.ts +0 -0
  190. package/dist/{hooks → src/hooks}/useKeyboardListNavigation.spec.d.ts +0 -0
  191. package/dist/{hooks → src/hooks}/useUpdateEffect.d.ts +0 -0
  192. package/dist/{index.d.ts → src/index.d.ts} +0 -0
  193. package/dist/{mixins → src/mixins}/font-smoothing/font-smoothing.stories.d.ts +0 -0
  194. package/dist/{mixins → src/mixins}/overflow-scroll/overflow-scroll.stories.d.ts +0 -0
  195. package/dist/{mixins → src/mixins}/stack/stack.stories.d.ts +0 -0
  196. package/dist/{mixins → src/mixins}/thin-underline/thin-underline.stories.d.ts +0 -0
  197. package/dist/{mixins → src/mixins}/visually-hidden/visually-hidden.stories.d.ts +0 -0
  198. package/dist/{utilities → src/utilities}/States/State.d.ts +0 -0
  199. package/dist/{utilities → src/utilities}/States/States.d.ts +0 -0
  200. package/dist/{utilities → src/utilities}/States/StatesProps.d.ts +0 -0
  201. package/dist/{utilities → src/utilities}/States/index.d.ts +0 -0
  202. package/dist/{utilities → src/utilities}/States/isRenderProps.d.ts +0 -0
  203. package/dist/{utilities → src/utilities}/States/stringifyProps.d.ts +0 -0
  204. package/dist/{utilities → src/utilities}/index.d.ts +0 -0
  205. package/dist/{utilities → src/utilities}/omit.d.ts +0 -0
  206. package/dist/{utilities → src/utilities}/sample.d.ts +0 -0
  207. package/dist/styles.css +1 -1
  208. package/dist/test/mocks/matchMedia.d.ts +1 -0
  209. package/dist/test/setupTests.d.ts +3 -0
  210. package/package.json +30 -19
  211. package/src/components/AspectRatioBox/AspectRatioBox.test.tsx +3 -3
  212. package/src/components/AspectRatioBox/AspectRatioBox.tsx +4 -4
  213. package/src/components/AspectRatioBox/index.ts +1 -1
  214. package/src/components/Badge/Badge.stories.tsx +5 -5
  215. package/src/components/Badge/Badge.test.tsx +5 -12
  216. package/src/components/Breadcrumbs/Breadcrumb/Breadcrumb.tsx +6 -6
  217. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +6 -6
  218. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +7 -7
  219. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  220. package/src/components/Breakpoint/Breakpoint.stories.tsx +10 -9
  221. package/src/components/Breakpoint/Breakpoint.test.tsx +7 -8
  222. package/src/components/Breakpoint/generateMediaQuery.ts +5 -4
  223. package/src/components/Button/Button.stories.tsx +4 -4
  224. package/src/components/Button/Button.test.tsx +14 -3
  225. package/src/components/Checkbox/Checkbox.stories.tsx +7 -7
  226. package/src/components/Checkbox/Checkbox.test.tsx +12 -14
  227. package/src/components/Checkbox/Checkbox.tsx +8 -8
  228. package/src/components/Clickable/Clickable.stories.tsx +3 -3
  229. package/src/components/Clickable/Clickable.test.tsx +3 -3
  230. package/src/components/ColorSwatch/ColorSwatch.stories.tsx +11 -11
  231. package/src/components/ColorSwatch/ColorSwatch.test.tsx +3 -5
  232. package/src/components/ColorSwatch/ColorSwatch.tsx +1 -1
  233. package/src/components/Constrain/Constrain.stories.tsx +1 -1
  234. package/src/components/Constrain/Constrain.test.tsx +4 -4
  235. package/src/components/Constrain/ExceedConstrain.stories.tsx +2 -2
  236. package/src/components/ControlLink/ControlLink.stories.tsx +1 -1
  237. package/src/components/ControlLink/ControlLink.test.tsx +10 -12
  238. package/src/components/ControlLink/index.ts +1 -1
  239. package/src/components/CreditCardNumberInput/CreditCardNumberInput.stories.tsx +1 -1
  240. package/src/components/CreditCardNumberInput/CreditCardNumberInput.test.tsx +16 -16
  241. package/src/components/CreditCardNumberInput/CreditCardNumberInput.tsx +1 -0
  242. package/src/components/DefinitionList/DefinitionList.stories.tsx +3 -3
  243. package/src/components/DefinitionList/DefinitionList.test.tsx +4 -3
  244. package/src/components/Divider/Divider.stories.tsx +4 -4
  245. package/src/components/Divider/Divider.test.tsx +5 -4
  246. package/src/components/Divider/Divider.tsx +1 -1
  247. package/src/components/Divider/NoLineDivider.tsx +1 -1
  248. package/src/components/Divider/TwoLineDivider.tsx +1 -1
  249. package/src/components/Expandable/Expandable.stories.tsx +8 -8
  250. package/src/components/Expandable/Expandable.test.tsx +17 -6
  251. package/src/components/Expandable/Expandable.tsx +3 -2
  252. package/src/components/Field/Field.stories.tsx +4 -4
  253. package/src/components/Field/Field.test.tsx +25 -34
  254. package/src/components/Field/Field.tsx +5 -5
  255. package/src/components/Field/index.ts +1 -0
  256. package/src/components/Label/Label.test.tsx +3 -3
  257. package/src/components/Loading/Loading.test.tsx +3 -5
  258. package/src/components/Loading/Loading.tsx +2 -1
  259. package/src/components/Modal/Modal.test.tsx +8 -9
  260. package/src/components/ModalOverlay/ModalOverlay.test.tsx +11 -11
  261. package/src/components/ModalOverlay/ModalOverlay.tsx +2 -2
  262. package/src/components/Overlay/Overlay.stories.tsx +1 -1
  263. package/src/components/Overlay/Overlay.test.tsx +3 -3
  264. package/src/components/Paginator/Paginator.tsx +3 -3
  265. package/src/components/PasswordInput/PasswordInput.stories.tsx +1 -1
  266. package/src/components/PasswordInput/PasswordInput.tsx +6 -6
  267. package/src/components/Popover/Popover.stories.tsx +1 -1
  268. package/src/components/Popover/Popover.test.tsx +9 -6
  269. package/src/components/Popover/Popover.tsx +10 -7
  270. package/src/components/PromoBanner/PromoBanner.stories.tsx +9 -9
  271. package/src/components/PromoBanner/PromoBanner.test.tsx +3 -3
  272. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  273. package/src/components/RadioButton/RadioButton.stories.tsx +2 -2
  274. package/src/components/RadioButton/RadioButton.test.tsx +6 -10
  275. package/src/components/RadioButton/RadioButton.tsx +4 -4
  276. package/src/components/SearchInput/SearchInput.stories.tsx +2 -2
  277. package/src/components/SearchInput/SearchInput.test.tsx +10 -6
  278. package/src/components/SearchInput/SearchInput.tsx +3 -3
  279. package/src/components/Select/MultiSelect.tsx +7 -7
  280. package/src/components/Select/Select.stories.tsx +17 -15
  281. package/src/components/Select/Select.test.tsx +21 -21
  282. package/src/components/Select/Select.tsx +13 -8
  283. package/src/components/Select/SelectOption.tsx +1 -1
  284. package/src/components/Select/SelectOptions.tsx +5 -5
  285. package/src/components/SelectableButton/SelectableButton.stories.tsx +1 -1
  286. package/src/components/SelectableButton/SelectableButton.test.tsx +3 -3
  287. package/src/components/Shape/ArcWindow.tsx +10 -10
  288. package/src/components/Shape/Bradley.tsx +4 -4
  289. package/src/components/Shape/Brancusi.tsx +4 -4
  290. package/src/components/Shape/Circle.tsx +10 -10
  291. package/src/components/Shape/Diamond.tsx +10 -10
  292. package/src/components/Shape/Keyhole.tsx +4 -4
  293. package/src/components/Shape/Mirror.tsx +4 -4
  294. package/src/components/Shape/Oval.tsx +4 -4
  295. package/src/components/Shape/Triangle.tsx +7 -7
  296. package/src/components/Shape/Window.tsx +4 -4
  297. package/src/components/Stack/Stack.stories.tsx +3 -3
  298. package/src/components/Stack/Stack.test.tsx +7 -5
  299. package/src/components/Tabs/TabList.tsx +1 -1
  300. package/src/components/Tabs/TabPanel.tsx +1 -1
  301. package/src/components/Tabs/TabPanels.tsx +1 -1
  302. package/src/components/Tabs/Tabs.stories.tsx +2 -2
  303. package/src/components/Tabs/Tabs.test.tsx +6 -7
  304. package/src/components/Tabs/Tabs.tsx +7 -1
  305. package/src/components/Tag/Tag.test.tsx +1 -1
  306. package/src/components/Tag/Tag.tsx +6 -5
  307. package/src/components/Text/Text.stories.tsx +5 -5
  308. package/src/components/Text/Text.test.tsx +4 -6
  309. package/src/components/TextInput/TextInput.stories.tsx +1 -1
  310. package/src/components/TextInput/TextInput.test.tsx +4 -5
  311. package/src/components/Textarea/Textarea.stories.tsx +1 -1
  312. package/src/components/Textarea/Textarea.test.tsx +11 -16
  313. package/src/components/Toast/Toast.stories.tsx +1 -1
  314. package/src/components/Toast/Toast.test.tsx +2 -2
  315. package/src/components/Toast/Toast.tsx +6 -6
  316. package/src/components/VerticalDivider/VerticalDivider.stories.tsx +3 -3
  317. package/src/components/VerticalDivider/VerticalDivider.test.tsx +6 -7
  318. package/src/hooks/useKeyboardListNavigation.spec.ts +26 -64
  319. package/src/hooks/useKeyboardListNavigation.ts +2 -0
  320. package/src/hooks/useUpdateEffect.ts +1 -0
  321. package/src/index.ts +2 -2
  322. package/src/mixins/font-smoothing/font-smoothing.stories.tsx +8 -8
  323. package/src/mixins/overflow-scroll/overflow-scroll.stories.tsx +2 -2
  324. package/src/mixins/stack/stack.stories.tsx +5 -6
  325. package/src/mixins/thin-underline/thin-underline.stories.tsx +1 -1
  326. package/src/mixins/visually-hidden/visually-hidden.stories.tsx +1 -1
  327. package/src/utilities/States/State.tsx +3 -2
  328. package/src/utilities/States/States.tsx +4 -3
  329. package/src/utilities/States/StatesProps.tsx +5 -2
  330. package/src/utilities/States/isRenderProps.ts +1 -0
  331. package/src/utilities/States/stringifyProps.tsx +1 -0
@@ -1,20 +1,19 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render, screen } from '@testing-library/react';
3
3
 
4
4
  import { VerticalDivider } from './VerticalDivider';
5
5
 
6
6
  describe('VerticalDivider', () => {
7
7
  it('renders correctly', () => {
8
- const component = shallow(<VerticalDivider />);
8
+ render(<VerticalDivider aria-label="Divider" />);
9
9
 
10
- expect(component.html()).toContain('<div class="VerticalDivider"></div>');
10
+ expect(screen.getByLabelText('Divider')).toBeVisible();
11
11
  });
12
12
 
13
13
  it('renders correctly - double', () => {
14
- const component = shallow(<VerticalDivider double />);
14
+ render(<VerticalDivider aria-label="Divider" double />);
15
15
 
16
- expect(component.html()).toContain(
17
- '<div class="VerticalDivider VerticalDivider--double"></div>'
18
- );
16
+ expect(screen.getByLabelText('Divider')).toBeVisible();
17
+ expect(screen.getByLabelText('Divider')).toHaveClass('VerticalDivider--double');
19
18
  });
20
19
  });
@@ -1,7 +1,7 @@
1
- import { renderHook, act } from '@testing-library/react';
2
- import { fireEvent } from '@testing-library/react';
3
- import { useKeyboardListNavigation } from './useKeyboardListNavigation';
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import { renderHook, fireEvent } from '@testing-library/react';
4
3
  import { useRef } from 'react';
4
+ import { useKeyboardListNavigation } from './useKeyboardListNavigation';
5
5
 
6
6
  describe('useKeyboardListNavigation', () => {
7
7
  const list = ['first', 'second', 'third', 'fourth'];
@@ -32,9 +32,7 @@ describe('useKeyboardListNavigation', () => {
32
32
  expect(result.current.index).toBe(0);
33
33
  expect(result.current.selected).toBe('first');
34
34
 
35
- act(() => {
36
- fireEvent.keyDown(window, { key: 'ArrowDown' });
37
- });
35
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
38
36
 
39
37
  expect(result.current.cursor).toBe(1);
40
38
  expect(result.current.index).toBe(1);
@@ -48,10 +46,8 @@ describe('useKeyboardListNavigation', () => {
48
46
  expect(result.current.index).toBe(0);
49
47
  expect(result.current.selected).toBe('first');
50
48
 
51
- act(() => {
52
- fireEvent.keyDown(window, { key: 'ArrowDown' });
53
- fireEvent.keyDown(window, { key: 'ArrowDown' });
54
- });
49
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
50
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
55
51
 
56
52
  expect(result.current.cursor).toBe(2);
57
53
  expect(result.current.index).toBe(2);
@@ -65,9 +61,7 @@ describe('useKeyboardListNavigation', () => {
65
61
  expect(result.current.index).toBe(0);
66
62
  expect(result.current.selected).toBe('first');
67
63
 
68
- act(() => {
69
- fireEvent.keyDown(window, { key: 'ArrowUp' });
70
- });
64
+ fireEvent.keyDown(window, { key: 'ArrowUp' });
71
65
 
72
66
  expect(result.current.cursor).toBe(-1);
73
67
  expect(result.current.index).toBe(3);
@@ -81,26 +75,20 @@ describe('useKeyboardListNavigation', () => {
81
75
  expect(result.current.index).toBe(0);
82
76
  expect(result.current.selected).toBe('first');
83
77
 
84
- act(() => {
85
- fireEvent.keyDown(window, { key: 'End' });
86
- });
78
+ fireEvent.keyDown(window, { key: 'End' });
87
79
 
88
80
  expect(result.current.cursor).toBe(3);
89
81
  expect(result.current.index).toBe(3);
90
82
  expect(result.current.selected).toBe('fourth');
91
83
 
92
- act(() => {
93
- fireEvent.keyDown(window, { key: 'ArrowUp' });
94
- fireEvent.keyDown(window, { key: 'ArrowUp' });
95
- });
84
+ fireEvent.keyDown(window, { key: 'ArrowUp' });
85
+ fireEvent.keyDown(window, { key: 'ArrowUp' });
96
86
 
97
87
  expect(result.current.cursor).toBe(1);
98
88
  expect(result.current.index).toBe(1);
99
89
  expect(result.current.selected).toBe('second');
100
90
 
101
- act(() => {
102
- fireEvent.keyDown(window, { key: 'End' });
103
- });
91
+ fireEvent.keyDown(window, { key: 'End' });
104
92
 
105
93
  expect(result.current.cursor).toBe(3);
106
94
  expect(result.current.index).toBe(3);
@@ -120,26 +108,20 @@ describe('useKeyboardListNavigation', () => {
120
108
  expect(result.current.index).toBe(-1);
121
109
  expect(result.current.selected).toBeUndefined();
122
110
 
123
- act(() => {
124
- fireEvent.keyDown(window, { key: 'Home' });
125
- });
111
+ fireEvent.keyDown(window, { key: 'Home' });
126
112
 
127
113
  expect(result.current.cursor).toBe(0);
128
114
  expect(result.current.index).toBe(0);
129
115
  expect(result.current.selected).toBe('first');
130
116
 
131
- act(() => {
132
- fireEvent.keyDown(window, { key: 'ArrowUp' });
133
- fireEvent.keyDown(window, { key: 'ArrowUp' });
134
- });
117
+ fireEvent.keyDown(window, { key: 'ArrowUp' });
118
+ fireEvent.keyDown(window, { key: 'ArrowUp' });
135
119
 
136
120
  expect(result.current.cursor).toBe(-2);
137
121
  expect(result.current.index).toBe(2);
138
122
  expect(result.current.selected).toBe('third');
139
123
 
140
- act(() => {
141
- fireEvent.keyDown(window, { key: 'Home' });
142
- });
124
+ fireEvent.keyDown(window, { key: 'Home' });
143
125
 
144
126
  expect(result.current.cursor).toBe(0);
145
127
  expect(result.current.index).toBe(0);
@@ -158,9 +140,7 @@ describe('useKeyboardListNavigation', () => {
158
140
  expect(result.current.index).toBe(0);
159
141
  expect(result.current.selected).toBe('first');
160
142
 
161
- act(() => {
162
- fireEvent.keyDown(window, { key: 't' });
163
- });
143
+ fireEvent.keyDown(window, { key: 't' });
164
144
 
165
145
  expect(result.current.cursor).toBe(2);
166
146
  expect(result.current.index).toBe(2);
@@ -171,9 +151,7 @@ describe('useKeyboardListNavigation', () => {
171
151
  const onEnter = jest.fn();
172
152
  renderHook(() => useKeyboardListNavigation({ list, onEnter }));
173
153
 
174
- act(() => {
175
- fireEvent.keyDown(window, { key: 'Enter' });
176
- });
154
+ fireEvent.keyDown(window, { key: 'Enter' });
177
155
 
178
156
  expect(onEnter).toBeCalledTimes(1);
179
157
  expect(onEnter).toHaveBeenCalledWith({
@@ -183,14 +161,10 @@ describe('useKeyboardListNavigation', () => {
183
161
  state: { cursor: 0, interactive: false, length: 4 }
184
162
  });
185
163
 
186
- act(() => {
187
- fireEvent.keyDown(window, { key: 'ArrowDown' });
188
- fireEvent.keyDown(window, { key: 'ArrowDown' });
189
- });
164
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
165
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
190
166
 
191
- act(() => {
192
- fireEvent.keyDown(window, { key: 'Enter' });
193
- });
167
+ fireEvent.keyDown(window, { key: 'Enter' });
194
168
 
195
169
  expect(onEnter).toBeCalledTimes(2);
196
170
  expect(onEnter).toHaveBeenLastCalledWith({
@@ -210,15 +184,11 @@ describe('useKeyboardListNavigation', () => {
210
184
 
211
185
  expect(result.current.cursor).toBe(0);
212
186
 
213
- act(() => {
214
- fireEvent.keyDown(window, { key: 'ArrowDown' });
215
- });
187
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
216
188
 
217
189
  expect(result.current.cursor).toBe(0);
218
190
 
219
- act(() => {
220
- fireEvent.keyDown(div, { key: 'ArrowDown' });
221
- });
191
+ fireEvent.keyDown(div, { key: 'ArrowDown' });
222
192
 
223
193
  expect(result.current.cursor).toBe(1);
224
194
  });
@@ -237,9 +207,7 @@ describe('useKeyboardListNavigation', () => {
237
207
  expect(result.current.index).toBe(-1);
238
208
  expect(result.current.selected).toBeUndefined();
239
209
 
240
- act(() => {
241
- fireEvent.keyDown(window, { key: 'ArrowDown' });
242
- });
210
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
243
211
 
244
212
  expect(result.current.cursor).toBe(0);
245
213
  expect(result.current.index).toBe(0);
@@ -250,19 +218,13 @@ describe('useKeyboardListNavigation', () => {
250
218
  const onEnter = jest.fn();
251
219
  renderHook(() => useKeyboardListNavigation({ list, onEnter, waitForInteractive: true }));
252
220
 
253
- act(() => {
254
- fireEvent.keyDown(window, { key: 'Enter' });
255
- });
221
+ fireEvent.keyDown(window, { key: 'Enter' });
256
222
 
257
223
  expect(onEnter).toBeCalledTimes(0);
258
224
 
259
- act(() => {
260
- fireEvent.keyDown(window, { key: 'ArrowDown' });
261
- });
225
+ fireEvent.keyDown(window, { key: 'ArrowDown' });
262
226
 
263
- act(() => {
264
- fireEvent.keyDown(window, { key: 'Enter' });
265
- });
227
+ fireEvent.keyDown(window, { key: 'Enter' });
266
228
 
267
229
  expect(onEnter).toBeCalledTimes(1);
268
230
  });
@@ -56,6 +56,7 @@ export type UseKeyboardListNavigationProps<T> = {
56
56
  index: number;
57
57
  }): void;
58
58
  extractValue?(item: T): string;
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
60
  ref?: React.MutableRefObject<any>;
60
61
  };
61
62
 
@@ -138,6 +139,7 @@ export const useKeyboardListNavigation = <T>({
138
139
  };
139
140
  }, [handleKeyDown, ref, idleTimeout]);
140
141
 
142
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
143
  useEffect(() => dispatch({ type: 'RESET', payload: { defaultCursor } }), [list.length]);
142
144
 
143
145
  const interactiveIndex = waitForInteractive && !state.interactive ? -1 : index;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
1
2
  import { useEffect, useRef } from 'react';
2
3
 
3
4
  export const useUpdateEffect: typeof useEffect = (effect, deps) => {
package/src/index.ts CHANGED
@@ -2,6 +2,8 @@ import 'focus-visible';
2
2
 
3
3
  import { colors, typography, space, breakpoints } from '@moda/tokens';
4
4
 
5
+ import { States } from './utilities';
6
+
5
7
  export const tokens = {
6
8
  colors,
7
9
  typography,
@@ -14,6 +16,4 @@ export { FocusOn } from 'react-focus-on';
14
16
  export * from './components';
15
17
  export * from './hooks';
16
18
 
17
- import { States } from './utilities';
18
-
19
19
  export const Utilities = { States };
@@ -9,22 +9,22 @@ export default { title: 'Mixins/font-smoothing' };
9
9
 
10
10
  export const Default = () => (
11
11
  <Stack space={3}>
12
- <div className='Story Mixins font-smoothing--antialiased'>
13
- <Text treatment='eyebrow'>@include font-smoothing(antialiased);</Text>
12
+ <div className="Story Mixins font-smoothing--antialiased">
13
+ <Text treatment="eyebrow">@include font-smoothing(antialiased);</Text>
14
14
  </div>
15
15
 
16
- <div className='Story Mixins font-smoothing--subpixel'>
17
- <Text treatment='eyebrow'>@include font-smoothing(subpixel);</Text>
16
+ <div className="Story Mixins font-smoothing--subpixel">
17
+ <Text treatment="eyebrow">@include font-smoothing(subpixel);</Text>
18
18
  </div>
19
19
 
20
- <div className='Story Mixins font-smoothing--antialiased' style={{ backgroundColor: 'black' }}>
21
- <Text color='snow' treatment='eyebrow'>
20
+ <div className="Story Mixins font-smoothing--antialiased" style={{ backgroundColor: 'black' }}>
21
+ <Text color="snow" treatment="eyebrow">
22
22
  @include font-smoothing(antialiased);
23
23
  </Text>
24
24
  </div>
25
25
 
26
- <div className='Story Mixins font-smoothing--subpixel' style={{ backgroundColor: 'black' }}>
27
- <Text color='snow' treatment='eyebrow'>
26
+ <div className="Story Mixins font-smoothing--subpixel" style={{ backgroundColor: 'black' }}>
27
+ <Text color="snow" treatment="eyebrow">
28
28
  @include font-smoothing(subpixel);
29
29
  </Text>
30
30
  </div>
@@ -5,9 +5,9 @@ import './overflow-scroll.stories.scss';
5
5
  export default { title: 'Mixins/overflow-scroll' };
6
6
 
7
7
  export const Default = () => (
8
- <div className='Story Mixins overflow-scroll'>Overflowed on the y axis!</div>
8
+ <div className="Story Mixins overflow-scroll">Overflowed on the y axis!</div>
9
9
  );
10
10
 
11
11
  export const OverflowX = () => (
12
- <div className='Story Mixins overflow-scroll-x'>Overflowed on the x axis!</div>
12
+ <div className="Story Mixins overflow-scroll-x">Overflowed on the x axis!</div>
13
13
  );
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
1
2
  import React from 'react';
2
3
  import { space } from '@moda/tokens';
3
4
 
@@ -6,10 +7,8 @@ import './stack.stories.scss';
6
7
  export default { title: 'Mixins/stack' };
7
8
 
8
9
  export const Default = () => (
9
- <div className='Story Mixins stack'>
10
- <p>
11
- Defaults to {`$space: 4`} === {space.scale[4]}
12
- </p>
10
+ <div className="Story Mixins stack">
11
+ <p>Defaults to $space: 4 === {space.scale[4]}</p>
13
12
 
14
13
  <span>Notice the different element tags</span>
15
14
 
@@ -18,8 +17,8 @@ export const Default = () => (
18
17
  );
19
18
 
20
19
  export const Horizontal = () => (
21
- <div className='Story Mixins stack stack--horizontal'>
22
- <p>Accepts {`$direction: horizontal`}</p>
20
+ <div className="Story Mixins stack stack--horizontal">
21
+ <p>Accepts $direction: horizontal</p>
23
22
 
24
23
  <span>Notice the different element tags</span>
25
24
 
@@ -4,4 +4,4 @@ import './thin-underline.stories.scss';
4
4
 
5
5
  export default { title: 'Mixins/thin-underline' };
6
6
 
7
- export const Default = () => <div className='Story Mixins thin-underline'>Hello</div>;
7
+ export const Default = () => <div className="Story Mixins thin-underline">Hello</div>;
@@ -4,4 +4,4 @@ import './visually-hidden.stories.scss';
4
4
 
5
5
  export default { title: 'Mixins/visually-hidden' };
6
6
 
7
- export const Default = () => <div className='Story Mixins visually-hidden'>Hello</div>;
7
+ export const Default = () => <div className="Story Mixins visually-hidden">Hello</div>;
@@ -4,6 +4,7 @@ import { StatesProps } from './StatesProps';
4
4
  import './State.scss';
5
5
 
6
6
  interface Props {
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
8
  props: any;
8
9
  children: JSX.Element | RenderProps;
9
10
  }
@@ -13,10 +14,10 @@ export const State: React.FC<Props> = ({ props, children, ...rest }) => {
13
14
  const innerChildren = isRenderProps(children) ? children(props) : children;
14
15
 
15
16
  return (
16
- <div className='State' {...rest}>
17
+ <div className="State" {...rest}>
17
18
  {Specimen}
18
19
 
19
- <code className='State__props'>
20
+ <code className="State__props">
20
21
  <StatesProps props={props}>{innerChildren}</StatesProps>
21
22
  </code>
22
23
  </div>
@@ -4,15 +4,16 @@ import { State } from './State';
4
4
  import './States.scss';
5
5
 
6
6
  export interface Props {
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
8
  states?: any[];
8
9
  children: JSX.Element | RenderProps;
9
10
  }
10
11
 
11
12
  export const States: React.FC<Props> = ({ states = [{}], children, ...rest }) => {
12
13
  return (
13
- <div className='States'>
14
- {states.map((props, i) => (
15
- <State key={i} props={props} {...rest}>
14
+ <div className="States">
15
+ {states.map((props, index) => (
16
+ <State key={index} props={props} {...rest}>
16
17
  {children}
17
18
  </State>
18
19
  ))}
@@ -1,22 +1,25 @@
1
1
  import React from 'react';
2
2
  import { Stack } from '../../components/Stack';
3
+ import { omit } from '../omit';
3
4
  import { isRenderProps } from './isRenderProps';
4
5
  import { stringifyProps } from './stringifyProps';
5
- import { omit } from '../omit';
6
6
  import './StatesProps.scss';
7
7
 
8
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
9
  interface Props {
9
10
  children: any;
10
11
  props: any;
11
12
  }
13
+ /* eslint-enable @typescript-eslint/no-explicit-any */
12
14
 
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
16
  const isEmpty = (obj?: any) => Object.entries(obj || {}).length === 0;
14
17
 
15
18
  export const StatesProps: React.FC<Props> = ({ props, children }) => {
16
19
  const childrenProps = omit(children.props, ...Object.keys(props || {}));
17
20
 
18
21
  return (
19
- <Stack className='StatesProps' space={2} direction='horizontal'>
22
+ <Stack className="StatesProps" space={2} direction="horizontal">
20
23
  <span>{children.type.displayName || children.type.name}</span>
21
24
  {!isEmpty(props) && <strong>{stringifyProps(props)}</strong>}
22
25
  {!isRenderProps(children) && !isEmpty(childrenProps) && (
@@ -1,4 +1,5 @@
1
1
  export type RenderProps = {
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
3
  (props: any): JSX.Element;
3
4
  };
4
5
 
@@ -4,6 +4,7 @@ const truncate = (string: string, maxLength = 25) => {
4
4
  return `${string.substring(0, maxLength)}${ellipsis ? '...' : ''}`;
5
5
  };
6
6
 
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
8
  export const stringifyProps = (props: any) => {
8
9
  const stringifiedProps = Object.entries(props || {}).reduce((memo: string, [key, value]) => {
9
10
  if (key === 'children') return `${memo} children={...}`;