@pingux/astro 1.1.1-alpha.1 → 1.1.1-alpha.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 (837) hide show
  1. package/lib/cjs/components/AccordionGridGroup/AccordionGridContext.js +17 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +221 -0
  3. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +313 -0
  4. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +257 -0
  5. package/lib/cjs/components/AccordionGridGroup/index.js +18 -0
  6. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +103 -0
  7. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +91 -0
  8. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +135 -0
  9. package/lib/cjs/components/AccordionGridItem/index.js +18 -0
  10. package/lib/cjs/components/AccordionGroup/AccordionGroup.js +105 -0
  11. package/lib/cjs/components/AccordionGroup/AccordionGroup.stories.js +245 -0
  12. package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +299 -0
  13. package/lib/cjs/components/AccordionGroup/index.js +18 -0
  14. package/lib/cjs/components/AccordionItem/AccordionItem.js +147 -0
  15. package/lib/cjs/components/AccordionItem/index.js +18 -0
  16. package/lib/cjs/components/AstroWrapper/AstroWrapper.js +91 -0
  17. package/lib/cjs/components/AstroWrapper/AstroWrapper.test.js +37 -0
  18. package/lib/cjs/components/AstroWrapper/PageWrapper.test.js +39 -0
  19. package/lib/cjs/components/AstroWrapper/index.js +38 -0
  20. package/lib/cjs/components/Avatar/Avatar.js +41 -0
  21. package/lib/cjs/components/Avatar/Avatar.stories.js +42 -0
  22. package/lib/cjs/components/Avatar/Avatar.test.js +37 -0
  23. package/lib/cjs/components/Avatar/index.js +18 -0
  24. package/lib/cjs/components/Box/Box.js +142 -0
  25. package/lib/cjs/components/Box/Box.stories.js +278 -0
  26. package/lib/cjs/components/Box/Box.test.js +79 -0
  27. package/lib/cjs/components/Box/index.js +18 -0
  28. package/lib/cjs/components/Breadcrumbs/BreadcrumbItem.js +137 -0
  29. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js +101 -0
  30. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +166 -0
  31. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.test.js +112 -0
  32. package/lib/cjs/components/Breadcrumbs/index.js +27 -0
  33. package/lib/cjs/components/Button/Button.js +197 -0
  34. package/lib/cjs/components/Button/Button.stories.js +113 -0
  35. package/lib/cjs/components/Button/Button.test.js +125 -0
  36. package/lib/cjs/components/Button/constants.js +14 -0
  37. package/lib/cjs/components/Button/index.js +18 -0
  38. package/lib/cjs/components/Card/Card.js +35 -0
  39. package/lib/cjs/components/Card/Card.stories.js +52 -0
  40. package/lib/cjs/components/Card/Card.test.js +48 -0
  41. package/lib/cjs/components/Card/index.js +18 -0
  42. package/lib/cjs/components/Checkbox/Checkbox.js +40 -0
  43. package/lib/cjs/components/Checkbox/Checkbox.test.js +36 -0
  44. package/lib/cjs/components/Checkbox/index.js +18 -0
  45. package/lib/cjs/components/CheckboxField/CheckboxField.js +210 -0
  46. package/lib/cjs/components/CheckboxField/CheckboxField.stories.js +167 -0
  47. package/lib/cjs/components/CheckboxField/CheckboxField.test.js +116 -0
  48. package/lib/cjs/components/CheckboxField/index.js +18 -0
  49. package/lib/cjs/components/Chip/Chip.js +86 -0
  50. package/lib/cjs/components/Chip/Chip.stories.js +140 -0
  51. package/lib/cjs/components/Chip/Chip.test.js +57 -0
  52. package/lib/cjs/components/Chip/ChipContext.js +19 -0
  53. package/lib/cjs/components/Chip/index.js +18 -0
  54. package/lib/cjs/components/CodeView/CodeView.js +175 -0
  55. package/lib/cjs/components/CodeView/CodeView.stories.js +93 -0
  56. package/lib/cjs/components/CodeView/CodeView.test.js +211 -0
  57. package/lib/cjs/components/CodeView/index.js +18 -0
  58. package/lib/cjs/components/ColorField/ColorField.js +219 -0
  59. package/lib/cjs/components/ColorField/ColorField.stories.js +124 -0
  60. package/lib/cjs/components/ColorField/ColorField.test.js +71 -0
  61. package/lib/cjs/components/ColorField/index.js +18 -0
  62. package/lib/cjs/components/ComboBox/ComboBoxInput.js +214 -0
  63. package/lib/cjs/components/ComboBox/index.js +18 -0
  64. package/lib/cjs/components/ComboBoxField/ComboBoxField.js +413 -0
  65. package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +523 -0
  66. package/lib/cjs/components/ComboBoxField/ComboBoxField.test.js +841 -0
  67. package/lib/cjs/components/ComboBoxField/index.js +18 -0
  68. package/lib/cjs/components/CopyText/CopyButton.js +38 -0
  69. package/lib/cjs/components/CopyText/CopyText.js +173 -0
  70. package/lib/cjs/components/CopyText/CopyText.stories.js +58 -0
  71. package/lib/cjs/components/CopyText/CopyText.test.js +485 -0
  72. package/lib/cjs/components/CopyText/index.js +18 -0
  73. package/lib/cjs/components/FieldHelperText/FieldHelperText.js +67 -0
  74. package/lib/cjs/components/FieldHelperText/FieldHelperText.stories.js +64 -0
  75. package/lib/cjs/components/FieldHelperText/FieldHelperText.test.js +67 -0
  76. package/lib/cjs/components/FieldHelperText/index.js +18 -0
  77. package/lib/cjs/components/FileInputField/FileInputField.js +324 -0
  78. package/lib/cjs/components/FileInputField/FileInputField.stories.js +250 -0
  79. package/lib/cjs/components/FileInputField/FileInputField.test.js +227 -0
  80. package/lib/cjs/components/FileInputField/FileItem.js +126 -0
  81. package/lib/cjs/components/FileInputField/FileSelect.js +48 -0
  82. package/lib/cjs/components/FileInputField/index.js +18 -0
  83. package/lib/cjs/components/HelpHint/HelpHint.js +57 -0
  84. package/lib/cjs/components/HelpHint/index.js +18 -0
  85. package/lib/cjs/components/Icon/Icon.js +93 -0
  86. package/lib/cjs/components/Icon/Icon.stories.js +93 -0
  87. package/lib/cjs/components/Icon/Icon.test.js +39 -0
  88. package/lib/cjs/components/Icon/index.js +18 -0
  89. package/lib/cjs/components/IconButton/IconButton.js +185 -0
  90. package/lib/cjs/components/IconButton/IconButton.stories.js +95 -0
  91. package/lib/cjs/components/IconButton/IconButton.test.js +181 -0
  92. package/lib/cjs/components/IconButton/index.js +18 -0
  93. package/lib/cjs/components/Image/Image.js +84 -0
  94. package/lib/cjs/components/Image/Image.stories.js +87 -0
  95. package/lib/cjs/components/Image/Image.test.js +38 -0
  96. package/lib/cjs/components/Image/index.js +18 -0
  97. package/lib/cjs/components/ImageUploadField/ImagePreviewButton.js +136 -0
  98. package/lib/cjs/components/ImageUploadField/ImageUploadField.js +160 -0
  99. package/lib/cjs/components/ImageUploadField/ImageUploadField.stories.js +348 -0
  100. package/lib/cjs/components/ImageUploadField/ImageUploadField.test.js +439 -0
  101. package/lib/cjs/components/ImageUploadField/ImageUploadFieldBase.js +124 -0
  102. package/lib/cjs/components/ImageUploadField/index.js +18 -0
  103. package/lib/cjs/components/Input/Input.js +80 -0
  104. package/lib/cjs/components/Input/Input.stories.js +57 -0
  105. package/lib/cjs/components/Input/Input.test.js +69 -0
  106. package/lib/cjs/components/Input/index.js +18 -0
  107. package/lib/cjs/components/Label/Label.js +110 -0
  108. package/lib/cjs/components/Label/Label.stories.js +63 -0
  109. package/lib/cjs/components/Label/Label.test.js +90 -0
  110. package/lib/cjs/components/Label/constants.js +15 -0
  111. package/lib/cjs/components/Label/index.js +18 -0
  112. package/lib/cjs/components/Link/Link.js +95 -0
  113. package/lib/cjs/components/Link/Link.stories.js +56 -0
  114. package/lib/cjs/components/Link/Link.test.js +79 -0
  115. package/lib/cjs/components/Link/index.js +18 -0
  116. package/lib/cjs/components/LinkSelectField/LinkSelectField.js +225 -0
  117. package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +350 -0
  118. package/lib/cjs/components/LinkSelectField/LinkSelectField.test.js +230 -0
  119. package/lib/cjs/components/LinkSelectField/index.js +18 -0
  120. package/lib/cjs/components/List/List.js +44 -0
  121. package/lib/cjs/components/List/List.stories.js +66 -0
  122. package/lib/cjs/components/List/List.test.js +36 -0
  123. package/lib/cjs/components/List/index.js +18 -0
  124. package/lib/cjs/components/ListBox/ListBox.js +264 -0
  125. package/lib/cjs/components/ListBox/ListBox.test.js +171 -0
  126. package/lib/cjs/components/ListBox/ListBoxContext.js +17 -0
  127. package/lib/cjs/components/ListBox/ListBoxSection.js +82 -0
  128. package/lib/cjs/components/ListBox/Option.js +137 -0
  129. package/lib/cjs/components/ListBox/index.js +27 -0
  130. package/lib/cjs/components/ListItem/ListItem.js +76 -0
  131. package/lib/cjs/components/ListItem/ListItem.stories.js +103 -0
  132. package/lib/cjs/components/ListItem/ListItem.test.js +51 -0
  133. package/lib/cjs/components/ListItem/index.js +18 -0
  134. package/lib/cjs/components/ListView/ListView.js +284 -0
  135. package/lib/cjs/components/ListView/ListView.stories.js +794 -0
  136. package/lib/cjs/components/ListView/ListView.test.js +326 -0
  137. package/lib/cjs/components/ListView/ListViewContext.js +17 -0
  138. package/lib/cjs/components/ListView/index.js +18 -0
  139. package/lib/cjs/components/ListViewItem/ListViewItem.js +130 -0
  140. package/lib/cjs/components/ListViewItem/index.js +18 -0
  141. package/lib/cjs/components/Loader/Loader.js +93 -0
  142. package/lib/cjs/components/Loader/Loader.stories.js +63 -0
  143. package/lib/cjs/components/Loader/Loader.test.js +36 -0
  144. package/lib/cjs/components/Loader/index.js +18 -0
  145. package/lib/cjs/components/Menu/Menu.js +191 -0
  146. package/lib/cjs/components/Menu/Menu.stories.js +107 -0
  147. package/lib/cjs/components/Menu/Menu.test.js +223 -0
  148. package/lib/cjs/components/Menu/index.js +18 -0
  149. package/lib/cjs/components/MenuItem/MenuItem.js +184 -0
  150. package/lib/cjs/components/MenuItem/MenuItem.test.js +221 -0
  151. package/lib/cjs/components/MenuItem/index.js +18 -0
  152. package/lib/cjs/components/Messages/Message.js +183 -0
  153. package/lib/cjs/components/Messages/Messages.js +73 -0
  154. package/lib/cjs/components/Messages/Messages.reducer.js +70 -0
  155. package/lib/cjs/components/Messages/Messages.stories.js +353 -0
  156. package/lib/cjs/components/Messages/Messages.test.js +214 -0
  157. package/lib/cjs/components/Messages/index.js +40 -0
  158. package/lib/cjs/components/Messages/utils/index.js +27 -0
  159. package/lib/cjs/components/Messages/utils/messagesReducer.js +180 -0
  160. package/lib/cjs/components/Messages/utils/multiMessagesReducer.js +135 -0
  161. package/lib/cjs/components/Messages/utils/tests/messagesReducer.test.js +94 -0
  162. package/lib/cjs/components/Messages/utils/tests/multiMessagesReducer.test.js +102 -0
  163. package/lib/cjs/components/Modal/Modal.js +218 -0
  164. package/lib/cjs/components/Modal/Modal.stories.js +173 -0
  165. package/lib/cjs/components/Modal/index.js +18 -0
  166. package/lib/cjs/components/Modal/tests/Modal.integration.test.js +95 -0
  167. package/lib/cjs/components/Modal/tests/Modal.unit.test.js +202 -0
  168. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +519 -0
  169. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +212 -0
  170. package/lib/cjs/components/MultivaluesField/MultivaluesField.test.js +387 -0
  171. package/lib/cjs/components/MultivaluesField/index.js +18 -0
  172. package/lib/cjs/components/NavBar/NavBar.js +38 -0
  173. package/lib/cjs/components/NavBar/NavBar.stories.js +679 -0
  174. package/lib/cjs/components/NavBar/NavBar.test.js +116 -0
  175. package/lib/cjs/components/NavBar/index.js +18 -0
  176. package/lib/cjs/components/NavBarSection/NavBarItemBody.js +56 -0
  177. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +47 -0
  178. package/lib/cjs/components/NavBarSection/NavBarSection.js +82 -0
  179. package/lib/cjs/components/NavBarSection/index.js +18 -0
  180. package/lib/cjs/components/NumberField/NumberField.js +224 -0
  181. package/lib/cjs/components/NumberField/NumberField.stories.js +242 -0
  182. package/lib/cjs/components/NumberField/NumberField.test.js +172 -0
  183. package/lib/cjs/components/NumberField/index.js +18 -0
  184. package/lib/cjs/components/OverlayPanel/OverlayPanel.js +127 -0
  185. package/lib/cjs/components/OverlayPanel/OverlayPanel.stories.js +223 -0
  186. package/lib/cjs/components/OverlayPanel/OverlayPanel.test.js +140 -0
  187. package/lib/cjs/components/OverlayPanel/index.js +18 -0
  188. package/lib/cjs/components/PageHeader/PageHeader.js +50 -0
  189. package/lib/cjs/components/PageHeader/PageHeader.stories.js +42 -0
  190. package/lib/cjs/components/PageHeader/PageHeader.test.js +35 -0
  191. package/lib/cjs/components/PageHeader/index.js +18 -0
  192. package/lib/cjs/components/PasswordField/PasswordField.js +338 -0
  193. package/lib/cjs/components/PasswordField/PasswordField.stories.js +442 -0
  194. package/lib/cjs/components/PasswordField/PasswordField.test.js +236 -0
  195. package/lib/cjs/components/PasswordField/index.js +18 -0
  196. package/lib/cjs/components/PopoverContainer/PopoverContainer.js +160 -0
  197. package/lib/cjs/components/PopoverContainer/PopoverContainer.test.js +57 -0
  198. package/lib/cjs/components/PopoverContainer/index.js +38 -0
  199. package/lib/cjs/components/PopoverMenu/PopoverMenu.js +188 -0
  200. package/lib/cjs/components/PopoverMenu/PopoverMenu.stories.js +231 -0
  201. package/lib/cjs/components/PopoverMenu/PopoverMenu.test.js +214 -0
  202. package/lib/cjs/components/PopoverMenu/index.js +18 -0
  203. package/lib/cjs/components/Radio/Radio.js +38 -0
  204. package/lib/cjs/components/Radio/index.js +18 -0
  205. package/lib/cjs/components/RadioField/RadioField.js +201 -0
  206. package/lib/cjs/components/RadioField/RadioField.test.js +97 -0
  207. package/lib/cjs/components/RadioField/index.js +38 -0
  208. package/lib/cjs/components/RadioGroupField/RadioGroupField.js +177 -0
  209. package/lib/cjs/components/RadioGroupField/RadioGroupField.stories.js +210 -0
  210. package/lib/cjs/components/RadioGroupField/RadioGroupField.test.js +202 -0
  211. package/lib/cjs/components/RadioGroupField/index.js +18 -0
  212. package/lib/cjs/components/RequirementsList/RequirementsList.js +117 -0
  213. package/lib/cjs/components/RequirementsList/RequirementsList.stories.js +79 -0
  214. package/lib/cjs/components/RequirementsList/RequirementsList.test.js +114 -0
  215. package/lib/cjs/components/RequirementsList/index.js +18 -0
  216. package/lib/cjs/components/RockerButton/RockerButton.js +143 -0
  217. package/lib/cjs/components/RockerButton/index.js +38 -0
  218. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +128 -0
  219. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +164 -0
  220. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +133 -0
  221. package/lib/cjs/components/RockerButtonGroup/index.js +38 -0
  222. package/lib/cjs/components/ScrollBox/ScrollBox.js +145 -0
  223. package/lib/cjs/components/ScrollBox/ScrollBox.stories.js +47 -0
  224. package/lib/cjs/components/ScrollBox/ScrollBox.test.js +87 -0
  225. package/lib/cjs/components/ScrollBox/index.js +18 -0
  226. package/lib/cjs/components/SearchField/SearchField.js +356 -0
  227. package/lib/cjs/components/SearchField/SearchField.stories.js +178 -0
  228. package/lib/cjs/components/SearchField/SearchField.test.js +251 -0
  229. package/lib/cjs/components/SearchField/index.js +18 -0
  230. package/lib/cjs/components/SelectField/SelectField.js +171 -0
  231. package/lib/cjs/components/SelectField/SelectField.stories.js +492 -0
  232. package/lib/cjs/components/SelectField/SelectField.test.js +85 -0
  233. package/lib/cjs/components/SelectField/index.js +18 -0
  234. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +197 -0
  235. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.test.js +471 -0
  236. package/lib/cjs/components/SelectFieldBase/index.js +18 -0
  237. package/lib/cjs/components/Separator/Separator.js +69 -0
  238. package/lib/cjs/components/Separator/Separator.stories.js +49 -0
  239. package/lib/cjs/components/Separator/Separator.test.js +38 -0
  240. package/lib/cjs/components/Separator/index.js +18 -0
  241. package/lib/cjs/components/Stepper/Line.js +51 -0
  242. package/lib/cjs/components/Stepper/Step.js +64 -0
  243. package/lib/cjs/components/Stepper/Stepper.constants.js +15 -0
  244. package/lib/cjs/components/Stepper/Stepper.js +170 -0
  245. package/lib/cjs/components/Stepper/Stepper.stories.js +139 -0
  246. package/lib/cjs/components/Stepper/Stepper.test.js +231 -0
  247. package/lib/cjs/components/Stepper/index.js +27 -0
  248. package/lib/cjs/components/Switch/Switch.js +53 -0
  249. package/lib/cjs/components/Switch/index.js +18 -0
  250. package/lib/cjs/components/SwitchField/SwitchField.js +231 -0
  251. package/lib/cjs/components/SwitchField/SwitchField.stories.js +170 -0
  252. package/lib/cjs/components/SwitchField/SwitchField.test.js +145 -0
  253. package/lib/cjs/components/SwitchField/index.js +18 -0
  254. package/lib/cjs/components/Tab/Tab.js +154 -0
  255. package/lib/cjs/components/Tab/index.js +38 -0
  256. package/lib/cjs/components/Table/Table.js +41 -0
  257. package/lib/cjs/components/Table/Table.stories.js +102 -0
  258. package/lib/cjs/components/Table/Table.test.js +80 -0
  259. package/lib/cjs/components/Table/index.js +18 -0
  260. package/lib/cjs/components/TableBody/TableBody.js +41 -0
  261. package/lib/cjs/components/TableBody/index.js +18 -0
  262. package/lib/cjs/components/TableCell/TableCell.js +48 -0
  263. package/lib/cjs/components/TableCell/TableCell.test.js +54 -0
  264. package/lib/cjs/components/TableCell/index.js +18 -0
  265. package/lib/cjs/components/TableHead/TableHead.js +40 -0
  266. package/lib/cjs/components/TableHead/index.js +18 -0
  267. package/lib/cjs/components/TableRow/TableRow.js +41 -0
  268. package/lib/cjs/components/TableRow/index.js +18 -0
  269. package/lib/cjs/components/Tabs/Tabs.js +166 -0
  270. package/lib/cjs/components/Tabs/Tabs.stories.js +295 -0
  271. package/lib/cjs/components/Tabs/Tabs.test.js +460 -0
  272. package/lib/cjs/components/Tabs/index.js +38 -0
  273. package/lib/cjs/components/Text/Text.js +52 -0
  274. package/lib/cjs/components/Text/Text.stories.js +124 -0
  275. package/lib/cjs/components/Text/Text.test.js +43 -0
  276. package/lib/cjs/components/Text/index.js +18 -0
  277. package/lib/cjs/components/TextArea/TextArea.js +41 -0
  278. package/lib/cjs/components/TextArea/TextArea.test.js +43 -0
  279. package/lib/cjs/components/TextArea/index.js +18 -0
  280. package/lib/cjs/components/TextAreaField/TextAreaField.js +235 -0
  281. package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +245 -0
  282. package/lib/cjs/components/TextAreaField/TextAreaField.test.js +156 -0
  283. package/lib/cjs/components/TextAreaField/index.js +18 -0
  284. package/lib/cjs/components/TextField/TextField.js +217 -0
  285. package/lib/cjs/components/TextField/TextField.stories.js +262 -0
  286. package/lib/cjs/components/TextField/TextField.test.js +175 -0
  287. package/lib/cjs/components/TextField/index.js +18 -0
  288. package/lib/cjs/components/TooltipTrigger/Tooltip.js +55 -0
  289. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.js +181 -0
  290. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.stories.js +126 -0
  291. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.test.js +109 -0
  292. package/lib/cjs/components/TooltipTrigger/index.js +27 -0
  293. package/lib/cjs/context/AccordionContext/index.js +22 -0
  294. package/lib/cjs/context/MenuContext/index.js +20 -0
  295. package/lib/cjs/context/TooltipContext/index.js +22 -0
  296. package/lib/cjs/hooks/index.js +117 -0
  297. package/lib/cjs/hooks/useAriaLabelWarning/index.js +18 -0
  298. package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +29 -0
  299. package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.test.js +38 -0
  300. package/lib/cjs/hooks/useColumnStyles/index.js +18 -0
  301. package/lib/cjs/hooks/useColumnStyles/useColumnStyles.js +38 -0
  302. package/lib/cjs/hooks/useCopyToClipboard/index.js +18 -0
  303. package/lib/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +83 -0
  304. package/lib/cjs/hooks/useCopyToClipboard/useCopyToClipboard.test.js +79 -0
  305. package/lib/cjs/hooks/useDebounce/index.js +18 -0
  306. package/lib/cjs/hooks/useDebounce/useDebounce.js +40 -0
  307. package/lib/cjs/hooks/useDebounce/useDebounce.test.js +47 -0
  308. package/lib/cjs/hooks/useDeprecationWarning/index.js +18 -0
  309. package/lib/cjs/hooks/useDeprecationWarning/useDeprecationWarning.js +55 -0
  310. package/lib/cjs/hooks/useDeprecationWarning/useDeprecationWarning.test.js +97 -0
  311. package/lib/cjs/hooks/useField/index.js +18 -0
  312. package/lib/cjs/hooks/useField/useField.js +249 -0
  313. package/lib/cjs/hooks/useField/useField.test.js +236 -0
  314. package/lib/cjs/hooks/useImageUploadState/index.js +18 -0
  315. package/lib/cjs/hooks/useImageUploadState/useImageUploadState.js +143 -0
  316. package/lib/cjs/hooks/useLabelHeight/index.js +18 -0
  317. package/lib/cjs/hooks/useLabelHeight/useLabelHeight.js +43 -0
  318. package/lib/cjs/hooks/useModalState/index.js +18 -0
  319. package/lib/cjs/hooks/useModalState/useModalState.js +35 -0
  320. package/lib/cjs/hooks/useModalState/useModalState.test.js +124 -0
  321. package/lib/cjs/hooks/useOverlayPanelState/index.js +18 -0
  322. package/lib/cjs/hooks/useOverlayPanelState/useOverlayPanelState.js +54 -0
  323. package/lib/cjs/hooks/useOverlayPanelState/useOverlayPanelState.test.js +24 -0
  324. package/lib/cjs/hooks/useProgressiveState/index.js +18 -0
  325. package/lib/cjs/hooks/useProgressiveState/useProgressiveState.js +29 -0
  326. package/lib/cjs/hooks/useProgressiveState/useProgressiveState.test.js +105 -0
  327. package/lib/cjs/hooks/usePropWarning/index.js +18 -0
  328. package/lib/cjs/hooks/usePropWarning/usePropWarning.js +45 -0
  329. package/lib/cjs/hooks/usePropWarning/usePropWarning.test.js +65 -0
  330. package/lib/cjs/hooks/useRockerButton/index.js +18 -0
  331. package/lib/cjs/hooks/useRockerButton/useRockerButton.js +67 -0
  332. package/lib/cjs/hooks/useSelectField/index.js +18 -0
  333. package/lib/cjs/hooks/useSelectField/useSelectField.js +254 -0
  334. package/lib/cjs/hooks/useStatusClasses/index.js +18 -0
  335. package/lib/cjs/hooks/useStatusClasses/useStatusClasses.js +40 -0
  336. package/lib/cjs/hooks/useStatusClasses/useStatusClasses.test.js +56 -0
  337. package/lib/cjs/index.js +1518 -0
  338. package/lib/cjs/layouts/ListLayout.stories.js +895 -0
  339. package/lib/cjs/layouts/SchemaFormLayout.stories.js +139 -0
  340. package/lib/cjs/recipes/ApplicationSearchDropdown.stories.js +310 -0
  341. package/lib/cjs/recipes/ArrayField.stories.js +169 -0
  342. package/lib/cjs/recipes/Arrow.stories.js +49 -0
  343. package/lib/cjs/recipes/ConditionalFilter.stories.js +465 -0
  344. package/lib/cjs/recipes/CopyToClipboard.stories.js +45 -0
  345. package/lib/cjs/recipes/CountryPicker.stories.js +155 -0
  346. package/lib/cjs/recipes/DatePicker.stories.js +149 -0
  347. package/lib/cjs/recipes/DraggableBox.stories.js +58 -0
  348. package/lib/cjs/recipes/FlippableCaretMenuButton.stories.js +198 -0
  349. package/lib/cjs/recipes/LogoTabs.stories.js +234 -0
  350. package/lib/cjs/recipes/MaskedValue.stories.js +107 -0
  351. package/lib/cjs/recipes/NeutralInput.stories.js +32 -0
  352. package/lib/cjs/recipes/PanelHeader.stories.js +97 -0
  353. package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +146 -0
  354. package/lib/cjs/recipes/RowLineChart.stories.js +528 -0
  355. package/lib/cjs/recipes/ScrollableListView.stories.js +141 -0
  356. package/lib/cjs/recipes/SelectedFieldOverlay.story.js +66 -0
  357. package/lib/cjs/recipes/StatsCircle.stories.js +46 -0
  358. package/lib/cjs/styles/ColorDocumentation.js +311 -0
  359. package/lib/cjs/styles/ColorDocumentation.stories.js +33 -0
  360. package/lib/cjs/styles/ThemeDocumentation.js +25 -0
  361. package/lib/cjs/styles/breakpoints.js +11 -0
  362. package/lib/cjs/styles/colors.js +200 -0
  363. package/lib/cjs/styles/forms/checkbox.js +23 -0
  364. package/lib/cjs/styles/forms/comboBox.js +49 -0
  365. package/lib/cjs/styles/forms/index.js +64 -0
  366. package/lib/cjs/styles/forms/input.js +214 -0
  367. package/lib/cjs/styles/forms/label.js +94 -0
  368. package/lib/cjs/styles/forms/radio.js +32 -0
  369. package/lib/cjs/styles/forms/search.js +33 -0
  370. package/lib/cjs/styles/forms/select.js +106 -0
  371. package/lib/cjs/styles/forms/switch.js +59 -0
  372. package/lib/cjs/styles/forms/textarea.js +48 -0
  373. package/lib/cjs/styles/spacing.js +31 -0
  374. package/lib/cjs/styles/text.js +45 -0
  375. package/lib/cjs/styles/theme.js +80 -0
  376. package/lib/cjs/styles/themes/end-user/end-user.js +280 -0
  377. package/lib/cjs/styles/themes/end-user/index.js +18 -0
  378. package/lib/cjs/styles/useAstroTheme.js +36 -0
  379. package/lib/cjs/styles/variants/accordion.js +114 -0
  380. package/lib/cjs/styles/variants/boxes.js +320 -0
  381. package/lib/cjs/styles/variants/buttons.js +577 -0
  382. package/lib/cjs/styles/variants/codeView.js +77 -0
  383. package/lib/cjs/styles/variants/imageUpload.js +29 -0
  384. package/lib/cjs/styles/variants/images.js +19 -0
  385. package/lib/cjs/styles/variants/index.js +62 -0
  386. package/lib/cjs/styles/variants/link.js +27 -0
  387. package/lib/cjs/styles/variants/listBox.js +62 -0
  388. package/lib/cjs/styles/variants/loader.js +119 -0
  389. package/lib/cjs/styles/variants/menu.js +20 -0
  390. package/lib/cjs/styles/variants/menuItem.js +36 -0
  391. package/lib/cjs/styles/variants/messages.js +53 -0
  392. package/lib/cjs/styles/variants/modal.js +87 -0
  393. package/lib/cjs/styles/variants/numberField.js +64 -0
  394. package/lib/cjs/styles/variants/overlayPanel.js +73 -0
  395. package/lib/cjs/styles/variants/popoverMenu.js +99 -0
  396. package/lib/cjs/styles/variants/rockerbutton.js +25 -0
  397. package/lib/cjs/styles/variants/separator.js +64 -0
  398. package/lib/cjs/styles/variants/stepper.js +126 -0
  399. package/lib/cjs/styles/variants/table.js +72 -0
  400. package/lib/cjs/styles/variants/tabs.js +45 -0
  401. package/lib/cjs/styles/variants/text.js +251 -0
  402. package/lib/cjs/styles/variants/tooltip.js +16 -0
  403. package/lib/cjs/styles/variants/variants.js +103 -0
  404. package/lib/cjs/utils/devUtils/constants/htmlElements.js +15 -0
  405. package/lib/cjs/utils/devUtils/constants/loadingStates.js +18 -0
  406. package/lib/cjs/utils/devUtils/constants/orientation.js +14 -0
  407. package/lib/cjs/utils/devUtils/constants/panelSizes.js +11 -0
  408. package/lib/cjs/utils/devUtils/constants/statuses.js +16 -0
  409. package/lib/cjs/utils/devUtils/constants/variants.js +40 -0
  410. package/lib/cjs/utils/devUtils/decorators/withDeprecationWarning.js +33 -0
  411. package/lib/cjs/utils/devUtils/props/isIterable.js +74 -0
  412. package/lib/cjs/utils/devUtils/props/isValidPositiveInt.js +42 -0
  413. package/lib/cjs/utils/devUtils/styledSystemUtils.js +79 -0
  414. package/lib/cjs/utils/styleUtils/index.js +19 -0
  415. package/lib/cjs/utils/testUtils/setupTests.js +27 -0
  416. package/lib/cjs/utils/testUtils/testAxe.js +65 -0
  417. package/lib/cjs/utils/testUtils/testTheme.js +30 -0
  418. package/lib/cjs/utils/testUtils/testWrapper.js +109 -0
  419. package/lib/components/AccordionGridGroup/AccordionGridContext.js +2 -0
  420. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +182 -0
  421. package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +286 -0
  422. package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +191 -0
  423. package/lib/components/AccordionGridGroup/index.js +1 -0
  424. package/lib/components/AccordionGridItem/AccordionGridItem.js +75 -0
  425. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +65 -0
  426. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +104 -0
  427. package/lib/components/AccordionGridItem/index.js +1 -0
  428. package/lib/components/AccordionGroup/AccordionGroup.js +79 -0
  429. package/lib/components/AccordionGroup/AccordionGroup.stories.js +205 -0
  430. package/lib/components/AccordionGroup/AccordionGroup.test.js +229 -0
  431. package/lib/components/AccordionGroup/index.js +1 -0
  432. package/lib/components/AccordionItem/AccordionItem.js +118 -0
  433. package/lib/components/AccordionItem/index.js +1 -0
  434. package/lib/components/AstroWrapper/AstroWrapper.js +63 -0
  435. package/lib/components/AstroWrapper/AstroWrapper.test.js +26 -0
  436. package/lib/components/AstroWrapper/PageWrapper.test.js +28 -0
  437. package/lib/components/AstroWrapper/index.js +2 -0
  438. package/lib/components/Avatar/Avatar.js +22 -0
  439. package/lib/components/Avatar/Avatar.stories.js +22 -0
  440. package/lib/components/Avatar/Avatar.test.js +24 -0
  441. package/lib/components/Avatar/index.js +1 -0
  442. package/lib/components/Box/Box.js +110 -0
  443. package/lib/components/Box/Box.stories.js +249 -0
  444. package/lib/components/Box/Box.test.js +61 -0
  445. package/lib/components/Box/index.js +1 -0
  446. package/lib/components/Breadcrumbs/BreadcrumbItem.js +105 -0
  447. package/lib/components/Breadcrumbs/Breadcrumbs.js +76 -0
  448. package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +127 -0
  449. package/lib/components/Breadcrumbs/Breadcrumbs.test.js +92 -0
  450. package/lib/components/Breadcrumbs/index.js +2 -0
  451. package/lib/components/Button/Button.js +163 -0
  452. package/lib/components/Button/Button.stories.js +77 -0
  453. package/lib/components/Button/Button.test.js +92 -0
  454. package/lib/components/Button/constants.js +4 -0
  455. package/lib/components/Button/index.js +1 -0
  456. package/lib/components/Card/Card.js +17 -0
  457. package/lib/components/Card/Card.stories.js +29 -0
  458. package/lib/components/Card/Card.test.js +34 -0
  459. package/lib/components/Card/index.js +1 -0
  460. package/lib/components/Checkbox/Checkbox.js +22 -0
  461. package/lib/components/Checkbox/Checkbox.test.js +26 -0
  462. package/lib/components/Checkbox/index.js +1 -0
  463. package/lib/components/CheckboxField/CheckboxField.js +175 -0
  464. package/lib/components/CheckboxField/CheckboxField.stories.js +132 -0
  465. package/lib/components/CheckboxField/CheckboxField.test.js +84 -0
  466. package/lib/components/CheckboxField/index.js +1 -0
  467. package/lib/components/Chip/Chip.js +63 -0
  468. package/lib/components/Chip/Chip.stories.js +107 -0
  469. package/lib/components/Chip/Chip.test.js +43 -0
  470. package/lib/components/Chip/ChipContext.js +3 -0
  471. package/lib/components/Chip/index.js +1 -0
  472. package/lib/components/CodeView/CodeView.js +139 -0
  473. package/lib/components/CodeView/CodeView.stories.js +67 -0
  474. package/lib/components/CodeView/CodeView.test.js +171 -0
  475. package/lib/components/CodeView/index.js +1 -0
  476. package/lib/components/ColorField/ColorField.js +177 -0
  477. package/lib/components/ColorField/ColorField.stories.js +99 -0
  478. package/lib/components/ColorField/ColorField.test.js +50 -0
  479. package/lib/components/ColorField/index.js +1 -0
  480. package/lib/components/ComboBox/ComboBoxInput.js +177 -0
  481. package/lib/components/ComboBox/index.js +1 -0
  482. package/lib/components/ComboBoxField/ComboBoxField.js +372 -0
  483. package/lib/components/ComboBoxField/ComboBoxField.stories.js +444 -0
  484. package/lib/components/ComboBoxField/ComboBoxField.test.js +699 -0
  485. package/lib/components/ComboBoxField/index.js +1 -0
  486. package/lib/components/CopyText/CopyButton.js +17 -0
  487. package/lib/components/CopyText/CopyText.js +149 -0
  488. package/lib/components/CopyText/CopyText.stories.js +30 -0
  489. package/lib/components/CopyText/CopyText.test.js +436 -0
  490. package/lib/components/CopyText/index.js +1 -0
  491. package/lib/components/FieldHelperText/FieldHelperText.js +43 -0
  492. package/lib/components/FieldHelperText/FieldHelperText.stories.js +35 -0
  493. package/lib/components/FieldHelperText/FieldHelperText.test.js +52 -0
  494. package/lib/components/FieldHelperText/index.js +1 -0
  495. package/lib/components/FileInputField/FileInputField.js +280 -0
  496. package/lib/components/FileInputField/FileInputField.stories.js +206 -0
  497. package/lib/components/FileInputField/FileInputField.test.js +187 -0
  498. package/lib/components/FileInputField/FileItem.js +101 -0
  499. package/lib/components/FileInputField/FileSelect.js +31 -0
  500. package/lib/components/FileInputField/index.js +1 -0
  501. package/lib/components/HelpHint/HelpHint.js +34 -0
  502. package/lib/components/HelpHint/index.js +1 -0
  503. package/lib/components/Icon/Icon.js +66 -0
  504. package/lib/components/Icon/Icon.stories.js +66 -0
  505. package/lib/components/Icon/Icon.test.js +26 -0
  506. package/lib/components/Icon/index.js +1 -0
  507. package/lib/components/IconButton/IconButton.js +152 -0
  508. package/lib/components/IconButton/IconButton.stories.js +67 -0
  509. package/lib/components/IconButton/IconButton.test.js +132 -0
  510. package/lib/components/IconButton/index.js +1 -0
  511. package/lib/components/Image/Image.js +63 -0
  512. package/lib/components/Image/Image.stories.js +58 -0
  513. package/lib/components/Image/Image.test.js +26 -0
  514. package/lib/components/Image/index.js +1 -0
  515. package/lib/components/ImageUploadField/ImagePreviewButton.js +114 -0
  516. package/lib/components/ImageUploadField/ImageUploadField.js +136 -0
  517. package/lib/components/ImageUploadField/ImageUploadField.stories.js +306 -0
  518. package/lib/components/ImageUploadField/ImageUploadField.test.js +380 -0
  519. package/lib/components/ImageUploadField/ImageUploadFieldBase.js +87 -0
  520. package/lib/components/ImageUploadField/index.js +1 -0
  521. package/lib/components/Input/Input.js +59 -0
  522. package/lib/components/Input/Input.stories.js +31 -0
  523. package/lib/components/Input/Input.test.js +48 -0
  524. package/lib/components/Input/index.js +1 -0
  525. package/lib/components/Label/Label.js +86 -0
  526. package/lib/components/Label/Label.stories.js +36 -0
  527. package/lib/components/Label/Label.test.js +68 -0
  528. package/lib/components/Label/constants.js +5 -0
  529. package/lib/components/Label/index.js +1 -0
  530. package/lib/components/Link/Link.js +70 -0
  531. package/lib/components/Link/Link.stories.js +36 -0
  532. package/lib/components/Link/Link.test.js +55 -0
  533. package/lib/components/Link/index.js +1 -0
  534. package/lib/components/LinkSelectField/LinkSelectField.js +191 -0
  535. package/lib/components/LinkSelectField/LinkSelectField.stories.js +293 -0
  536. package/lib/components/LinkSelectField/LinkSelectField.test.js +192 -0
  537. package/lib/components/LinkSelectField/index.js +1 -0
  538. package/lib/components/List/List.js +25 -0
  539. package/lib/components/List/List.stories.js +43 -0
  540. package/lib/components/List/List.test.js +24 -0
  541. package/lib/components/List/index.js +1 -0
  542. package/lib/components/ListBox/ListBox.js +222 -0
  543. package/lib/components/ListBox/ListBox.test.js +148 -0
  544. package/lib/components/ListBox/ListBoxContext.js +2 -0
  545. package/lib/components/ListBox/ListBoxSection.js +60 -0
  546. package/lib/components/ListBox/Option.js +103 -0
  547. package/lib/components/ListBox/index.js +2 -0
  548. package/lib/components/ListItem/ListItem.js +54 -0
  549. package/lib/components/ListItem/ListItem.stories.js +74 -0
  550. package/lib/components/ListItem/ListItem.test.js +37 -0
  551. package/lib/components/ListItem/index.js +1 -0
  552. package/lib/components/ListView/ListView.js +238 -0
  553. package/lib/components/ListView/ListView.stories.js +753 -0
  554. package/lib/components/ListView/ListView.test.js +285 -0
  555. package/lib/components/ListView/ListViewContext.js +2 -0
  556. package/lib/components/ListView/index.js +1 -0
  557. package/lib/components/ListViewItem/ListViewItem.js +105 -0
  558. package/lib/components/ListViewItem/index.js +1 -0
  559. package/lib/components/Loader/Loader.js +64 -0
  560. package/lib/components/Loader/Loader.stories.js +38 -0
  561. package/lib/components/Loader/Loader.test.js +24 -0
  562. package/lib/components/Loader/index.js +1 -0
  563. package/lib/components/Menu/Menu.js +155 -0
  564. package/lib/components/Menu/Menu.stories.js +86 -0
  565. package/lib/components/Menu/Menu.test.js +168 -0
  566. package/lib/components/Menu/index.js +1 -0
  567. package/lib/components/MenuItem/MenuItem.js +159 -0
  568. package/lib/components/MenuItem/MenuItem.test.js +165 -0
  569. package/lib/components/MenuItem/index.js +1 -0
  570. package/lib/components/Messages/Message.js +149 -0
  571. package/lib/components/Messages/Messages.js +47 -0
  572. package/lib/components/Messages/Messages.reducer.js +47 -0
  573. package/lib/components/Messages/Messages.stories.js +297 -0
  574. package/lib/components/Messages/Messages.test.js +176 -0
  575. package/lib/components/Messages/index.js +2 -0
  576. package/lib/components/Messages/utils/index.js +2 -0
  577. package/lib/components/Messages/utils/messagesReducer.js +140 -0
  578. package/lib/components/Messages/utils/multiMessagesReducer.js +97 -0
  579. package/lib/components/Messages/utils/tests/messagesReducer.test.js +81 -0
  580. package/lib/components/Messages/utils/tests/multiMessagesReducer.test.js +89 -0
  581. package/lib/components/Modal/Modal.js +181 -0
  582. package/lib/components/Modal/Modal.stories.js +146 -0
  583. package/lib/components/Modal/index.js +1 -0
  584. package/lib/components/Modal/tests/Modal.integration.test.js +77 -0
  585. package/lib/components/Modal/tests/Modal.unit.test.js +172 -0
  586. package/lib/components/MultivaluesField/MultivaluesField.js +478 -0
  587. package/lib/components/MultivaluesField/MultivaluesField.stories.js +174 -0
  588. package/lib/components/MultivaluesField/MultivaluesField.test.js +293 -0
  589. package/lib/components/MultivaluesField/index.js +1 -0
  590. package/lib/components/NavBar/NavBar.js +24 -0
  591. package/lib/components/NavBar/NavBar.stories.js +650 -0
  592. package/lib/components/NavBar/NavBar.test.js +92 -0
  593. package/lib/components/NavBar/index.js +1 -0
  594. package/lib/components/NavBarSection/NavBarItemBody.js +37 -0
  595. package/lib/components/NavBarSection/NavBarItemHeader.js +31 -0
  596. package/lib/components/NavBarSection/NavBarSection.js +65 -0
  597. package/lib/components/NavBarSection/index.js +1 -0
  598. package/lib/components/NumberField/NumberField.js +187 -0
  599. package/lib/components/NumberField/NumberField.stories.js +195 -0
  600. package/lib/components/NumberField/NumberField.test.js +131 -0
  601. package/lib/components/NumberField/index.js +1 -0
  602. package/lib/components/OverlayPanel/OverlayPanel.js +100 -0
  603. package/lib/components/OverlayPanel/OverlayPanel.stories.js +192 -0
  604. package/lib/components/OverlayPanel/OverlayPanel.test.js +113 -0
  605. package/lib/components/OverlayPanel/index.js +1 -0
  606. package/lib/components/PageHeader/PageHeader.js +29 -0
  607. package/lib/components/PageHeader/PageHeader.stories.js +22 -0
  608. package/lib/components/PageHeader/PageHeader.test.js +23 -0
  609. package/lib/components/PageHeader/index.js +1 -0
  610. package/lib/components/PasswordField/PasswordField.js +291 -0
  611. package/lib/components/PasswordField/PasswordField.stories.js +373 -0
  612. package/lib/components/PasswordField/PasswordField.test.js +198 -0
  613. package/lib/components/PasswordField/index.js +1 -0
  614. package/lib/components/PopoverContainer/PopoverContainer.js +128 -0
  615. package/lib/components/PopoverContainer/PopoverContainer.test.js +44 -0
  616. package/lib/components/PopoverContainer/index.js +2 -0
  617. package/lib/components/PopoverMenu/PopoverMenu.js +154 -0
  618. package/lib/components/PopoverMenu/PopoverMenu.stories.js +187 -0
  619. package/lib/components/PopoverMenu/PopoverMenu.test.js +157 -0
  620. package/lib/components/PopoverMenu/index.js +1 -0
  621. package/lib/components/Radio/Radio.js +20 -0
  622. package/lib/components/Radio/index.js +1 -0
  623. package/lib/components/RadioField/RadioField.js +165 -0
  624. package/lib/components/RadioField/RadioField.test.js +74 -0
  625. package/lib/components/RadioField/index.js +2 -0
  626. package/lib/components/RadioGroupField/RadioGroupField.js +141 -0
  627. package/lib/components/RadioGroupField/RadioGroupField.stories.js +171 -0
  628. package/lib/components/RadioGroupField/RadioGroupField.test.js +159 -0
  629. package/lib/components/RadioGroupField/index.js +1 -0
  630. package/lib/components/RequirementsList/RequirementsList.js +89 -0
  631. package/lib/components/RequirementsList/RequirementsList.stories.js +57 -0
  632. package/lib/components/RequirementsList/RequirementsList.test.js +100 -0
  633. package/lib/components/RequirementsList/index.js +1 -0
  634. package/lib/components/RockerButton/RockerButton.js +109 -0
  635. package/lib/components/RockerButton/index.js +2 -0
  636. package/lib/components/RockerButtonGroup/RockerButtonGroup.js +92 -0
  637. package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +126 -0
  638. package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +105 -0
  639. package/lib/components/RockerButtonGroup/index.js +2 -0
  640. package/lib/components/ScrollBox/ScrollBox.js +114 -0
  641. package/lib/components/ScrollBox/ScrollBox.stories.js +26 -0
  642. package/lib/components/ScrollBox/ScrollBox.test.js +63 -0
  643. package/lib/components/ScrollBox/index.js +1 -0
  644. package/lib/components/SearchField/SearchField.js +324 -0
  645. package/lib/components/SearchField/SearchField.stories.js +137 -0
  646. package/lib/components/SearchField/SearchField.test.js +188 -0
  647. package/lib/components/SearchField/index.js +1 -0
  648. package/lib/components/SelectField/SelectField.js +149 -0
  649. package/lib/components/SelectField/SelectField.stories.js +421 -0
  650. package/lib/components/SelectField/SelectField.test.js +70 -0
  651. package/lib/components/SelectField/index.js +1 -0
  652. package/lib/components/SelectFieldBase/SelectFieldBase.js +161 -0
  653. package/lib/components/SelectFieldBase/SelectFieldBase.test.js +383 -0
  654. package/lib/components/SelectFieldBase/index.js +1 -0
  655. package/lib/components/Separator/Separator.js +46 -0
  656. package/lib/components/Separator/Separator.stories.js +26 -0
  657. package/lib/components/Separator/Separator.test.js +25 -0
  658. package/lib/components/Separator/index.js +1 -0
  659. package/lib/components/Stepper/Line.js +31 -0
  660. package/lib/components/Stepper/Step.js +38 -0
  661. package/lib/components/Stepper/Stepper.constants.js +5 -0
  662. package/lib/components/Stepper/Stepper.js +141 -0
  663. package/lib/components/Stepper/Stepper.stories.js +111 -0
  664. package/lib/components/Stepper/Stepper.test.js +202 -0
  665. package/lib/components/Stepper/index.js +2 -0
  666. package/lib/components/Switch/Switch.js +33 -0
  667. package/lib/components/Switch/index.js +1 -0
  668. package/lib/components/SwitchField/SwitchField.js +195 -0
  669. package/lib/components/SwitchField/SwitchField.stories.js +127 -0
  670. package/lib/components/SwitchField/SwitchField.test.js +101 -0
  671. package/lib/components/SwitchField/index.js +1 -0
  672. package/lib/components/Tab/Tab.js +123 -0
  673. package/lib/components/Tab/index.js +2 -0
  674. package/lib/components/Table/Table.js +26 -0
  675. package/lib/components/Table/Table.stories.js +77 -0
  676. package/lib/components/Table/Table.test.js +63 -0
  677. package/lib/components/Table/index.js +1 -0
  678. package/lib/components/TableBody/TableBody.js +26 -0
  679. package/lib/components/TableBody/index.js +1 -0
  680. package/lib/components/TableCell/TableCell.js +32 -0
  681. package/lib/components/TableCell/TableCell.test.js +37 -0
  682. package/lib/components/TableCell/index.js +1 -0
  683. package/lib/components/TableHead/TableHead.js +25 -0
  684. package/lib/components/TableHead/index.js +1 -0
  685. package/lib/components/TableRow/TableRow.js +26 -0
  686. package/lib/components/TableRow/index.js +1 -0
  687. package/lib/components/Tabs/Tabs.js +129 -0
  688. package/lib/components/Tabs/Tabs.stories.js +239 -0
  689. package/lib/components/Tabs/Tabs.test.js +417 -0
  690. package/lib/components/Tabs/index.js +2 -0
  691. package/lib/components/Text/Text.js +31 -0
  692. package/lib/components/Text/Text.stories.js +95 -0
  693. package/lib/components/Text/Text.test.js +29 -0
  694. package/lib/components/Text/index.js +1 -0
  695. package/lib/components/TextArea/TextArea.js +23 -0
  696. package/lib/components/TextArea/TextArea.test.js +31 -0
  697. package/lib/components/TextArea/index.js +1 -0
  698. package/lib/components/TextAreaField/TextAreaField.js +202 -0
  699. package/lib/components/TextAreaField/TextAreaField.stories.js +180 -0
  700. package/lib/components/TextAreaField/TextAreaField.test.js +123 -0
  701. package/lib/components/TextAreaField/index.js +1 -0
  702. package/lib/components/TextField/TextField.js +183 -0
  703. package/lib/components/TextField/TextField.stories.js +189 -0
  704. package/lib/components/TextField/TextField.test.js +137 -0
  705. package/lib/components/TextField/index.js +1 -0
  706. package/lib/components/TooltipTrigger/Tooltip.js +32 -0
  707. package/lib/components/TooltipTrigger/TooltipTrigger.js +154 -0
  708. package/lib/components/TooltipTrigger/TooltipTrigger.stories.js +79 -0
  709. package/lib/components/TooltipTrigger/TooltipTrigger.test.js +74 -0
  710. package/lib/components/TooltipTrigger/index.js +2 -0
  711. package/lib/context/AccordionContext/index.js +7 -0
  712. package/lib/context/MenuContext/index.js +5 -0
  713. package/lib/context/TooltipContext/index.js +7 -0
  714. package/lib/hooks/index.js +12 -0
  715. package/lib/hooks/useAriaLabelWarning/index.js +1 -0
  716. package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +18 -0
  717. package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.test.js +32 -0
  718. package/lib/hooks/useColumnStyles/index.js +1 -0
  719. package/lib/hooks/useColumnStyles/useColumnStyles.js +24 -0
  720. package/lib/hooks/useCopyToClipboard/index.js +1 -0
  721. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.js +69 -0
  722. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.test.js +64 -0
  723. package/lib/hooks/useDebounce/index.js +1 -0
  724. package/lib/hooks/useDebounce/useDebounce.js +26 -0
  725. package/lib/hooks/useDebounce/useDebounce.test.js +41 -0
  726. package/lib/hooks/useDeprecationWarning/index.js +1 -0
  727. package/lib/hooks/useDeprecationWarning/useDeprecationWarning.js +40 -0
  728. package/lib/hooks/useDeprecationWarning/useDeprecationWarning.test.js +89 -0
  729. package/lib/hooks/useField/index.js +1 -0
  730. package/lib/hooks/useField/useField.js +218 -0
  731. package/lib/hooks/useField/useField.test.js +219 -0
  732. package/lib/hooks/useImageUploadState/index.js +1 -0
  733. package/lib/hooks/useImageUploadState/useImageUploadState.js +128 -0
  734. package/lib/hooks/useLabelHeight/index.js +1 -0
  735. package/lib/hooks/useLabelHeight/useLabelHeight.js +29 -0
  736. package/lib/hooks/useModalState/index.js +1 -0
  737. package/lib/hooks/useModalState/useModalState.js +24 -0
  738. package/lib/hooks/useModalState/useModalState.test.js +118 -0
  739. package/lib/hooks/useOverlayPanelState/index.js +1 -0
  740. package/lib/hooks/useOverlayPanelState/useOverlayPanelState.js +43 -0
  741. package/lib/hooks/useOverlayPanelState/useOverlayPanelState.test.js +18 -0
  742. package/lib/hooks/useProgressiveState/index.js +1 -0
  743. package/lib/hooks/useProgressiveState/useProgressiveState.js +18 -0
  744. package/lib/hooks/useProgressiveState/useProgressiveState.test.js +80 -0
  745. package/lib/hooks/usePropWarning/index.js +1 -0
  746. package/lib/hooks/usePropWarning/usePropWarning.js +29 -0
  747. package/lib/hooks/usePropWarning/usePropWarning.test.js +59 -0
  748. package/lib/hooks/useRockerButton/index.js +1 -0
  749. package/lib/hooks/useRockerButton/useRockerButton.js +45 -0
  750. package/lib/hooks/useSelectField/index.js +1 -0
  751. package/lib/hooks/useSelectField/useSelectField.js +220 -0
  752. package/lib/hooks/useStatusClasses/index.js +1 -0
  753. package/lib/hooks/useStatusClasses/useStatusClasses.js +25 -0
  754. package/lib/hooks/useStatusClasses/useStatusClasses.test.js +50 -0
  755. package/lib/index.js +140 -0
  756. package/lib/layouts/ListLayout.stories.js +866 -0
  757. package/lib/layouts/SchemaFormLayout.stories.js +107 -0
  758. package/lib/recipes/ApplicationSearchDropdown.stories.js +272 -0
  759. package/lib/recipes/ArrayField.stories.js +134 -0
  760. package/lib/recipes/Arrow.stories.js +29 -0
  761. package/lib/recipes/ConditionalFilter.stories.js +441 -0
  762. package/lib/recipes/CopyToClipboard.stories.js +25 -0
  763. package/lib/recipes/CountryPicker.stories.js +128 -0
  764. package/lib/recipes/DatePicker.stories.js +118 -0
  765. package/lib/recipes/DraggableBox.stories.js +35 -0
  766. package/lib/recipes/FlippableCaretMenuButton.stories.js +158 -0
  767. package/lib/recipes/LogoTabs.stories.js +201 -0
  768. package/lib/recipes/MaskedValue.stories.js +74 -0
  769. package/lib/recipes/NeutralInput.stories.js +13 -0
  770. package/lib/recipes/PanelHeader.stories.js +70 -0
  771. package/lib/recipes/RadioButtonsWithLinks.stories.js +120 -0
  772. package/lib/recipes/RowLineChart.stories.js +507 -0
  773. package/lib/recipes/ScrollableListView.stories.js +113 -0
  774. package/lib/recipes/SelectedFieldOverlay.story.js +44 -0
  775. package/lib/recipes/StatsCircle.stories.js +25 -0
  776. package/lib/styles/ColorDocumentation.js +276 -0
  777. package/lib/styles/ColorDocumentation.stories.js +13 -0
  778. package/lib/styles/ThemeDocumentation.js +7 -0
  779. package/lib/styles/breakpoints.js +1 -0
  780. package/lib/styles/colors.js +159 -0
  781. package/lib/styles/forms/checkbox.js +13 -0
  782. package/lib/styles/forms/comboBox.js +27 -0
  783. package/lib/styles/forms/index.js +32 -0
  784. package/lib/styles/forms/input.js +190 -0
  785. package/lib/styles/forms/label.js +72 -0
  786. package/lib/styles/forms/radio.js +21 -0
  787. package/lib/styles/forms/search.js +20 -0
  788. package/lib/styles/forms/select.js +83 -0
  789. package/lib/styles/forms/switch.js +46 -0
  790. package/lib/styles/forms/textarea.js +25 -0
  791. package/lib/styles/spacing.js +20 -0
  792. package/lib/styles/text.js +29 -0
  793. package/lib/styles/theme.js +51 -0
  794. package/lib/styles/themes/end-user/end-user.js +259 -0
  795. package/lib/styles/themes/end-user/index.js +1 -0
  796. package/lib/styles/useAstroTheme.js +15 -0
  797. package/lib/styles/variants/accordion.js +104 -0
  798. package/lib/styles/variants/boxes.js +297 -0
  799. package/lib/styles/variants/buttons.js +554 -0
  800. package/lib/styles/variants/codeView.js +67 -0
  801. package/lib/styles/variants/imageUpload.js +19 -0
  802. package/lib/styles/variants/images.js +9 -0
  803. package/lib/styles/variants/index.js +4 -0
  804. package/lib/styles/variants/link.js +17 -0
  805. package/lib/styles/variants/listBox.js +40 -0
  806. package/lib/styles/variants/loader.js +95 -0
  807. package/lib/styles/variants/menu.js +10 -0
  808. package/lib/styles/variants/menuItem.js +26 -0
  809. package/lib/styles/variants/messages.js +43 -0
  810. package/lib/styles/variants/modal.js +65 -0
  811. package/lib/styles/variants/numberField.js +42 -0
  812. package/lib/styles/variants/overlayPanel.js +63 -0
  813. package/lib/styles/variants/popoverMenu.js +89 -0
  814. package/lib/styles/variants/rockerbutton.js +15 -0
  815. package/lib/styles/variants/separator.js +43 -0
  816. package/lib/styles/variants/stepper.js +105 -0
  817. package/lib/styles/variants/table.js +51 -0
  818. package/lib/styles/variants/tabs.js +32 -0
  819. package/lib/styles/variants/text.js +230 -0
  820. package/lib/styles/variants/tooltip.js +6 -0
  821. package/lib/styles/variants/variants.js +58 -0
  822. package/lib/utils/devUtils/constants/htmlElements.js +4 -0
  823. package/lib/utils/devUtils/constants/loadingStates.js +8 -0
  824. package/lib/utils/devUtils/constants/orientation.js +4 -0
  825. package/lib/utils/devUtils/constants/panelSizes.js +1 -0
  826. package/lib/utils/devUtils/constants/statuses.js +6 -0
  827. package/lib/utils/devUtils/constants/variants.js +22 -0
  828. package/lib/utils/devUtils/decorators/withDeprecationWarning.js +18 -0
  829. package/lib/utils/devUtils/props/isIterable.js +59 -0
  830. package/lib/utils/devUtils/props/isValidPositiveInt.js +28 -0
  831. package/lib/utils/devUtils/styledSystemUtils.js +48 -0
  832. package/lib/utils/styleUtils/index.js +7 -0
  833. package/lib/utils/testUtils/setupTests.js +18 -0
  834. package/lib/utils/testUtils/testAxe.js +50 -0
  835. package/lib/utils/testUtils/testTheme.js +20 -0
  836. package/lib/utils/testUtils/testWrapper.js +67 -0
  837. package/package.json +1 -1
@@ -0,0 +1,841 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
+
7
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
8
+
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
10
+
11
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
12
+
13
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
14
+
15
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
16
+
17
+ var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
18
+
19
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
+
21
+ var _react = _interopRequireWildcard(require("react"));
22
+
23
+ var _jestAxe = require("jest-axe");
24
+
25
+ var _i18n = require("@react-aria/i18n");
26
+
27
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
28
+
29
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
30
+
31
+ var _index = require("../../index");
32
+
33
+ var _loadingStates = _interopRequireDefault(require("../../utils/devUtils/constants/loadingStates"));
34
+
35
+ var _react2 = require("@emotion/react");
36
+
37
+ var items = [{
38
+ name: 'Aardvark',
39
+ id: '1'
40
+ }, {
41
+ name: 'Kangaroo',
42
+ id: '2'
43
+ }, {
44
+ name: 'Snake',
45
+ id: '3'
46
+ }];
47
+ var defaultProps = {
48
+ defaultItems: items,
49
+ label: 'Test Label'
50
+ };
51
+
52
+ var getComponent = function getComponent() {
53
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
+
55
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
56
+ _ref$renderFn = _ref.renderFn,
57
+ renderFn = _ref$renderFn === void 0 ? _testWrapper.render : _ref$renderFn;
58
+
59
+ return renderFn((0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.ComboBoxField, (0, _extends2["default"])({}, defaultProps, props), function (item) {
60
+ return (0, _react2.jsx)(_index.Item, {
61
+ key: item.id,
62
+ "data-id": item.name
63
+ }, item.name);
64
+ })));
65
+ };
66
+
67
+ var ComboBoxWithCustomFilter = function ComboBoxWithCustomFilter() {
68
+ var _useFilter = (0, _i18n.useFilter)({
69
+ sensitivity: 'base'
70
+ }),
71
+ startsWith = (0, _startsWith["default"])(_useFilter);
72
+
73
+ var _useState = (0, _react.useState)(''),
74
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
+ filterValue = _useState2[0],
76
+ setFilterValue = _useState2[1];
77
+
78
+ var filteredItems = (0, _react.useMemo)(function () {
79
+ return (0, _filter["default"])(items).call(items, function (item) {
80
+ return startsWith(item.name, filterValue);
81
+ });
82
+ }, [items, filterValue]);
83
+ return (0, _react2.jsx)(_index.ComboBoxField, (0, _extends2["default"])({}, defaultProps, {
84
+ items: filteredItems,
85
+ inputValue: filterValue,
86
+ onInputChange: setFilterValue
87
+ }), function (item) {
88
+ return (0, _react2.jsx)(_index.Item, {
89
+ id: item.id
90
+ }, item.name);
91
+ });
92
+ };
93
+
94
+ beforeAll(function () {
95
+ jest.spyOn(window.HTMLElement.prototype, 'clientWidth', 'get').mockImplementation(function () {
96
+ return 1000;
97
+ });
98
+ jest.spyOn(window.HTMLElement.prototype, 'clientHeight', 'get').mockImplementation(function () {
99
+ return 1000;
100
+ });
101
+ window.HTMLElement.prototype.scrollIntoView = jest.fn();
102
+ jest.spyOn(window.screen, 'width', 'get').mockImplementation(function () {
103
+ return 1024;
104
+ });
105
+ jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) {
106
+ return cb();
107
+ });
108
+ jest.useFakeTimers();
109
+ });
110
+ afterEach(function () {
111
+ jest.clearAllMocks();
112
+ });
113
+ afterAll(function () {
114
+ jest.restoreAllMocks();
115
+ });
116
+ test('renders ComboBoxField component', function () {
117
+ getComponent();
118
+
119
+ var input = _testWrapper.screen.queryByRole('combobox');
120
+
121
+ var label = _testWrapper.screen.getByText(defaultProps.label);
122
+
123
+ var button = _testWrapper.screen.queryByRole('button');
124
+
125
+ expect(input).toBeInTheDocument();
126
+ expect(_testWrapper.screen.queryAllByLabelText(defaultProps.label)).toEqual([input, button]);
127
+ expect(label).toBeInTheDocument();
128
+ expect(label).toHaveTextContent(defaultProps.label);
129
+ expect(button).toBeInTheDocument();
130
+ });
131
+ test('should not allow custom value by default', function () {
132
+ getComponent();
133
+
134
+ var input = _testWrapper.screen.queryByRole('combobox');
135
+
136
+ expect(input).toHaveValue(''); // type something
137
+
138
+ _userEvent["default"].type(input, 'custom'); // blur input
139
+
140
+
141
+ _userEvent["default"].tab();
142
+
143
+ expect(input).not.toHaveValue('custom');
144
+ expect(input).toHaveValue('');
145
+ });
146
+ test('should allow custom value when prop is set', function () {
147
+ getComponent({
148
+ hasCustomValue: true
149
+ });
150
+
151
+ var input = _testWrapper.screen.queryByRole('combobox');
152
+
153
+ expect(input).toHaveValue(''); // type something
154
+
155
+ _userEvent["default"].type(input, 'custom'); // blur input
156
+
157
+
158
+ _userEvent["default"].tab();
159
+
160
+ expect(input).toHaveValue('custom');
161
+ });
162
+ test('should disable options based on disabledKeys prop', function () {
163
+ getComponent({
164
+ disabledKeys: [items[0].id]
165
+ });
166
+
167
+ var input = _testWrapper.screen.queryByRole('combobox');
168
+
169
+ var button = _testWrapper.screen.queryByRole('button'); // Open the list by clicking on the button and ensure first option is not active
170
+
171
+
172
+ _userEvent["default"].click(button);
173
+
174
+ var options = _testWrapper.screen.queryAllByRole('option');
175
+
176
+ expect(options).toHaveLength(items.length);
177
+ expect(options[0]).toHaveAttribute('aria-disabled', 'true');
178
+ expect(options[0]).toHaveClass('is-disabled'); // Expect pointer events to not work
179
+
180
+ _userEvent["default"].click(options[0]);
181
+
182
+ expect(input).not.toHaveValue(items[0].name);
183
+ });
184
+ test('should be able to open and navigate through the listbox by click', function () {
185
+ getComponent();
186
+
187
+ var button = _testWrapper.screen.queryByRole('button');
188
+
189
+ var input = _testWrapper.screen.queryByRole('combobox');
190
+
191
+ expect(_testWrapper.screen.queryByRole('combobox')).toHaveValue('');
192
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument(); // Open the list by clicking on the button and ensure first option is not active
193
+
194
+ _userEvent["default"].click(button);
195
+
196
+ var options = _testWrapper.screen.queryAllByRole('option');
197
+
198
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument(); // Both dismiss buttons should be available, but the dropdown button should be inaccessible
199
+
200
+ expect(_testWrapper.screen.queryAllByRole('button')).toHaveLength(2);
201
+ expect(options).toHaveLength(items.length);
202
+ expect(input).not.toHaveAttribute('aria-activedescendant', options[0].id);
203
+ (0, _forEach["default"])(options).call(options, function (opt) {
204
+ return expect(opt).not.toHaveClass('is-focused');
205
+ }); // Ensure active styles are applied
206
+
207
+ _userEvent["default"].hover(options[0]);
208
+
209
+ expect(input).toHaveAttribute('aria-activedescendant', options[0].id);
210
+ expect(options[0]).toHaveClass('is-focused'); // Ensure option selection works
211
+
212
+ _userEvent["default"].click(options[0]);
213
+
214
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
215
+ expect(input).toHaveValue(items[0].name); // Option stays focused when the overlay is re-opened
216
+
217
+ _userEvent["default"].click(button);
218
+
219
+ expect(options[0]).toHaveClass('is-focused');
220
+ });
221
+ test('should be able to open the listbox by keyboard', function () {
222
+ getComponent();
223
+
224
+ var input = _testWrapper.screen.getByRole('combobox');
225
+
226
+ expect(input).toHaveValue('');
227
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument(); // Open the list by hitting the down arrow key and ensure first option is active
228
+
229
+ _userEvent["default"].tab();
230
+
231
+ _userEvent["default"].type(input, '{arrowdown}', {
232
+ skipClick: true
233
+ });
234
+
235
+ var options = _testWrapper.screen.queryAllByRole('option');
236
+
237
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
238
+ expect(options).toHaveLength(items.length);
239
+ expect(input).toHaveAttribute('aria-activedescendant', options[0].id);
240
+ expect(options[0]).toHaveClass('is-focused'); // Ensure option selection works
241
+
242
+ _userEvent["default"].type(input, '{enter}', {
243
+ skipClick: true
244
+ });
245
+
246
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
247
+ expect(_testWrapper.screen.queryByRole('combobox')).toHaveValue(items[0].name);
248
+ });
249
+ test('should open list on focus when menuTrigger is set to use focus', function () {
250
+ getComponent({
251
+ menuTrigger: 'focus'
252
+ });
253
+
254
+ var input = _testWrapper.screen.getByRole('combobox');
255
+
256
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument(); // Open the list by focusing with tab
257
+
258
+ _userEvent["default"].tab();
259
+
260
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
261
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(items.length); // blur
262
+
263
+ _userEvent["default"].tab();
264
+
265
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
266
+ expect(_testWrapper.screen.queryByRole('option')).not.toBeInTheDocument(); // focus with click
267
+
268
+ _userEvent["default"].click(input);
269
+
270
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
271
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(items.length);
272
+ });
273
+ test('Item accepts a data-id and the data-id can be found in the DOM', function () {
274
+ getComponent();
275
+
276
+ var button = _testWrapper.screen.queryByRole('button');
277
+
278
+ _userEvent["default"].click(button);
279
+
280
+ var options = _testWrapper.screen.queryAllByRole('option');
281
+
282
+ expect(options).toHaveLength(items.length);
283
+ expect(options[0]).toHaveAttribute('data-id', items[0].name);
284
+ });
285
+ test('should invoke onInputChange', function () {
286
+ var inputValue = 'blah';
287
+ var onInputChange = jest.fn();
288
+ getComponent({
289
+ inputValue: inputValue,
290
+ onInputChange: onInputChange
291
+ });
292
+
293
+ var input = _testWrapper.screen.getByRole('combobox');
294
+
295
+ expect(input).toHaveValue(inputValue);
296
+ expect(onInputChange).not.toHaveBeenCalled();
297
+
298
+ _userEvent["default"].type(input, 'a');
299
+
300
+ var newValue = "".concat(inputValue, "a");
301
+ expect(onInputChange).toHaveBeenNthCalledWith(1, newValue); // Should not have the new value since we did not update the prop and re-render
302
+
303
+ expect(input).not.toHaveValue(newValue);
304
+ });
305
+ test('should invoke onOpenChange on button click', function () {
306
+ var onOpenChange = jest.fn();
307
+ getComponent({
308
+ onOpenChange: onOpenChange
309
+ });
310
+
311
+ var button = _testWrapper.screen.queryByRole('button');
312
+
313
+ var listbox = _testWrapper.screen.queryByRole('listbox');
314
+
315
+ expect(listbox).not.toBeInTheDocument();
316
+ expect(onOpenChange).not.toHaveBeenCalled(); // Should fire on button click
317
+
318
+ _userEvent["default"].click(button);
319
+
320
+ expect(onOpenChange).toHaveBeenNthCalledWith(1, true, 'manual');
321
+ });
322
+ test('should invoke onOpenChange on input change', function () {
323
+ var onOpenChange = jest.fn();
324
+ getComponent({
325
+ onOpenChange: onOpenChange
326
+ });
327
+
328
+ var input = _testWrapper.screen.queryByRole('combobox');
329
+
330
+ var listbox = _testWrapper.screen.queryByRole('listbox');
331
+
332
+ expect(listbox).not.toBeInTheDocument();
333
+ expect(onOpenChange).not.toHaveBeenCalled(); // Should fire on input change (default menuTrigger)
334
+
335
+ _userEvent["default"].type(input, 'a');
336
+
337
+ expect(onOpenChange).toHaveBeenNthCalledWith(1, true, 'input');
338
+ });
339
+ test('should invoke onOpenChange on keyboard arrow down', function () {
340
+ var onOpenChange = jest.fn();
341
+ getComponent({
342
+ onOpenChange: onOpenChange
343
+ });
344
+
345
+ var input = _testWrapper.screen.queryByRole('combobox');
346
+
347
+ var listbox = _testWrapper.screen.queryByRole('listbox');
348
+
349
+ expect(listbox).not.toBeInTheDocument();
350
+ expect(onOpenChange).not.toHaveBeenCalled(); // Should fire on keyboard interaction
351
+
352
+ _userEvent["default"].type(input, '{arrowdown}');
353
+
354
+ expect(onOpenChange).toHaveBeenNthCalledWith(1, true, 'manual');
355
+ });
356
+ test('should invoke onOpenChange on keyboard arrow up', function () {
357
+ var onOpenChange = jest.fn();
358
+ getComponent({
359
+ onOpenChange: onOpenChange
360
+ });
361
+
362
+ var input = _testWrapper.screen.queryByRole('combobox');
363
+
364
+ var listbox = _testWrapper.screen.queryByRole('listbox');
365
+
366
+ expect(listbox).not.toBeInTheDocument();
367
+ expect(onOpenChange).not.toHaveBeenCalled(); // Should fire on keyboard interaction
368
+
369
+ _userEvent["default"].type(input, '{arrowup}');
370
+
371
+ expect(onOpenChange).toHaveBeenNthCalledWith(1, true, 'manual');
372
+ });
373
+ test('should invoke onSelectionChange when selection is made', function () {
374
+ var onSelectionChange = jest.fn();
375
+ getComponent({
376
+ onSelectionChange: onSelectionChange
377
+ });
378
+
379
+ var input = _testWrapper.screen.queryByRole('combobox');
380
+
381
+ var button = _testWrapper.screen.queryByRole('button');
382
+
383
+ expect(onSelectionChange).not.toHaveBeenCalled(); // Should fire on item selection click
384
+
385
+ _userEvent["default"].click(button);
386
+
387
+ _userEvent["default"].click(_testWrapper.screen.queryAllByRole('option')[2]);
388
+
389
+ expect(onSelectionChange).toHaveBeenNthCalledWith(1, items[2].id); // Should fire when input is cleared
390
+
391
+ _userEvent["default"].type(input, '{selectall}{backspace}');
392
+
393
+ expect(onSelectionChange).toHaveBeenNthCalledWith(2, null); // Should fire on keyboard interaction
394
+
395
+ _userEvent["default"].type(input, '{arrowdown}{enter}');
396
+
397
+ expect(onSelectionChange).toHaveBeenNthCalledWith(3, items[0].id); // Total number of calls
398
+
399
+ expect(onSelectionChange).toHaveBeenCalledTimes(3);
400
+ });
401
+ test('should use default contains filtering', function () {
402
+ getComponent();
403
+
404
+ var input = _testWrapper.screen.queryByRole('combobox'); // Should list all without filterable input
405
+
406
+
407
+ _userEvent["default"].type(input, '{arrowdown}');
408
+
409
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(items.length); // Should list all options on default contains filter
410
+
411
+ _userEvent["default"].type(input, 'k');
412
+
413
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(items.length); // Should list no options when none match
414
+
415
+ _userEvent["default"].type(input, 'z');
416
+
417
+ expect(_testWrapper.screen.queryByRole('option')).not.toBeInTheDocument();
418
+ });
419
+ test('should be able to use controlled filtering', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
420
+ var options, input;
421
+ return _regenerator["default"].wrap(function _callee$(_context) {
422
+ while (1) {
423
+ switch (_context.prev = _context.next) {
424
+ case 0:
425
+ (0, _testWrapper.render)((0, _react2.jsx)(ComboBoxWithCustomFilter, null));
426
+ input = _testWrapper.screen.queryByRole('combobox'); // Should list all without filterable input
427
+
428
+ _userEvent["default"].type(input, '{arrowdown}');
429
+
430
+ _context.next = 5;
431
+ return _testWrapper.screen.findAllByRole('option');
432
+
433
+ case 5:
434
+ options = _context.sent;
435
+ expect(options).toHaveLength(items.length); // Should only list the second option
436
+
437
+ _userEvent["default"].type(input, 'k');
438
+
439
+ _context.next = 10;
440
+ return _testWrapper.screen.findAllByRole('option');
441
+
442
+ case 10:
443
+ options = _context.sent;
444
+ expect(options[0]).toHaveTextContent(items[1].name);
445
+
446
+ case 12:
447
+ case "end":
448
+ return _context.stop();
449
+ }
450
+ }
451
+ }, _callee);
452
+ })));
453
+ describe('loadingState', function () {
454
+ it('combobox should not render a loader if menu is not open', function () {
455
+ var _getComponent = getComponent({
456
+ loadingState: _loadingStates["default"].LOADING
457
+ }),
458
+ rerender = _getComponent.rerender;
459
+
460
+ (0, _testWrapper.act)(function () {
461
+ jest.advanceTimersByTime(500);
462
+ }); // First time load will show progress bar so user can know that items are being fetched
463
+
464
+ expect(_testWrapper.screen.getByRole('progressbar')).toBeInTheDocument();
465
+ getComponent({
466
+ loadingState: _loadingStates["default"].FILTERING
467
+ }, {
468
+ renderFn: rerender
469
+ });
470
+ expect(function () {
471
+ return _testWrapper.screen.getByRole('progressbar');
472
+ }).toThrow();
473
+ });
474
+ test('it renders a loader if menu is not open but menuTrigger is "manual"', function () {
475
+ var _getComponent2 = getComponent({
476
+ loadingState: _loadingStates["default"].LOADING,
477
+ menuTrigger: 'manual'
478
+ }),
479
+ rerender = _getComponent2.rerender;
480
+
481
+ var input = _testWrapper.screen.getByRole('combobox');
482
+
483
+ expect(function () {
484
+ return _testWrapper.screen.getByRole('progressbar');
485
+ }).toThrow();
486
+ (0, _testWrapper.act)(function () {
487
+ jest.advanceTimersByTime(500);
488
+ });
489
+ expect(function () {
490
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
491
+ }).toBeTruthy();
492
+ getComponent({
493
+ loadingState: _loadingStates["default"].FILTERING,
494
+ menuTrigger: 'manual'
495
+ }, {
496
+ renderFn: rerender
497
+ });
498
+ expect(function () {
499
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
500
+ }).toBeTruthy();
501
+ getComponent({
502
+ loadingState: _loadingStates["default"].FILTERING
503
+ }, {
504
+ renderFn: rerender
505
+ });
506
+ expect(function () {
507
+ return _testWrapper.screen.getByRole('progressbar');
508
+ }).toThrow();
509
+ });
510
+ test('it should not render a loader until a delay of 500ms passes (loadingState: loading)', function () {
511
+ getComponent({
512
+ loadingState: _loadingStates["default"].LOADING
513
+ });
514
+
515
+ var input = _testWrapper.screen.getByRole('combobox');
516
+
517
+ (0, _testWrapper.act)(function () {
518
+ jest.advanceTimersByTime(250);
519
+ });
520
+ expect(function () {
521
+ return _testWrapper.screen.getByRole('progressbar');
522
+ }).toThrow();
523
+ (0, _testWrapper.act)(function () {
524
+ jest.advanceTimersByTime(250);
525
+ });
526
+ expect(function () {
527
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
528
+ }).toBeTruthy();
529
+
530
+ var button = _testWrapper.screen.getByRole('button');
531
+
532
+ _userEvent["default"].click(button);
533
+
534
+ expect(function () {
535
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
536
+ }).toBeTruthy();
537
+ });
538
+ test('it should not render a loader until a delay of 500ms passes and the menu is open (loadingState: filtering)', function () {
539
+ getComponent({
540
+ loadingState: _loadingStates["default"].FILTERING
541
+ });
542
+
543
+ var input = _testWrapper.screen.getByRole('combobox');
544
+
545
+ (0, _testWrapper.act)(function () {
546
+ jest.advanceTimersByTime(500);
547
+ });
548
+ expect(function () {
549
+ return _testWrapper.screen.getByRole('progressbar');
550
+ }).toThrow();
551
+
552
+ var button = _testWrapper.screen.getByRole('button');
553
+
554
+ _userEvent["default"].click(button);
555
+
556
+ expect(function () {
557
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
558
+ }).toBeTruthy();
559
+ });
560
+ test('hides the loader when loadingState changes to a non-loading state', function () {
561
+ var _getComponent3 = getComponent({
562
+ loadingState: _loadingStates["default"].FILTERING
563
+ }),
564
+ rerender = _getComponent3.rerender;
565
+
566
+ var input = _testWrapper.screen.getByRole('combobox');
567
+
568
+ var button = _testWrapper.screen.getByRole('button');
569
+
570
+ expect(function () {
571
+ return _testWrapper.screen.getByRole('progressbar');
572
+ }).toThrow();
573
+
574
+ _userEvent["default"].click(button);
575
+
576
+ (0, _testWrapper.act)(function () {
577
+ jest.advanceTimersByTime(500);
578
+ });
579
+ expect(function () {
580
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
581
+ }).toBeTruthy();
582
+ getComponent({
583
+ loadingState: _loadingStates["default"].IDLE
584
+ }, {
585
+ renderFn: rerender
586
+ });
587
+
588
+ var listbox = _testWrapper.screen.getByRole('listbox');
589
+
590
+ expect(listbox).toBeVisible();
591
+ expect(function () {
592
+ return _testWrapper.screen.getByRole('progressbar');
593
+ }).toThrow();
594
+ });
595
+ test('combobox should hide the loader when the menu closes', function () {
596
+ getComponent({
597
+ loadingState: _loadingStates["default"].FILTERING
598
+ });
599
+
600
+ var input = _testWrapper.screen.getByRole('combobox');
601
+
602
+ var button = _testWrapper.screen.getByRole('button');
603
+
604
+ expect(function () {
605
+ return _testWrapper.screen.getByRole('progressbar');
606
+ }).toThrow();
607
+
608
+ _userEvent["default"].click(button);
609
+
610
+ (0, _testWrapper.act)(function () {
611
+ jest.advanceTimersByTime(500);
612
+ });
613
+
614
+ var listbox = _testWrapper.screen.getByRole('listbox');
615
+
616
+ expect(listbox).toBeVisible();
617
+ expect(function () {
618
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
619
+ }).toBeTruthy();
620
+
621
+ _userEvent["default"].click(button);
622
+
623
+ expect(function () {
624
+ return _testWrapper.screen.getByRole('progressbar');
625
+ }).toThrow();
626
+ expect(function () {
627
+ return _testWrapper.screen.getByRole('listbox');
628
+ }).toThrow();
629
+ });
630
+ test('cancels the 500ms loader delay timer if the loading finishes first', function () {
631
+ var _getComponent4 = getComponent({
632
+ loadingState: _loadingStates["default"].LOADING,
633
+ menuTrigger: 'manual'
634
+ }),
635
+ rerender = _getComponent4.rerender;
636
+
637
+ expect(function () {
638
+ return _testWrapper.screen.getByRole('progressbar');
639
+ }).toThrow();
640
+ (0, _testWrapper.act)(function () {
641
+ jest.advanceTimersByTime(250);
642
+ });
643
+ expect(function () {
644
+ return _testWrapper.screen.getByRole('progressbar');
645
+ }).toThrow();
646
+ getComponent({
647
+ loadingState: _loadingStates["default"].IDLE
648
+ }, {
649
+ renderFn: rerender
650
+ });
651
+ (0, _testWrapper.act)(function () {
652
+ jest.advanceTimersByTime(250);
653
+ });
654
+ expect(function () {
655
+ return _testWrapper.screen.getByRole('progressbar');
656
+ }).toThrow();
657
+ });
658
+ test('should not reset the 500ms loader delay timer when loadingState changes from loading to filtering', function () {
659
+ var _getComponent5 = getComponent({
660
+ loadingState: _loadingStates["default"].LOADING,
661
+ menuTrigger: 'manual'
662
+ }),
663
+ rerender = _getComponent5.rerender;
664
+
665
+ var input = _testWrapper.screen.getByRole('combobox');
666
+
667
+ (0, _testWrapper.act)(function () {
668
+ jest.advanceTimersByTime(250);
669
+ });
670
+ expect(function () {
671
+ return _testWrapper.screen.getByRole('progressbar');
672
+ }).toThrow();
673
+ getComponent({
674
+ loadingState: _loadingStates["default"].FILTERING,
675
+ menuTrigger: 'manual'
676
+ }, {
677
+ renderFn: rerender
678
+ });
679
+ expect(function () {
680
+ return _testWrapper.screen.getByRole('progressbar');
681
+ }).toThrow();
682
+ (0, _testWrapper.act)(function () {
683
+ jest.advanceTimersByTime(250);
684
+ });
685
+ expect(function () {
686
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
687
+ }).toBeTruthy();
688
+ });
689
+ test('combobox should reset the 500ms loader delay timer when input text changes', function () {
690
+ getComponent({
691
+ loadingState: _loadingStates["default"].LOADING,
692
+ menuTrigger: 'manual'
693
+ });
694
+
695
+ var input = _testWrapper.screen.getByRole('combobox');
696
+
697
+ (0, _testWrapper.act)(function () {
698
+ jest.advanceTimersByTime(250);
699
+ });
700
+ expect(function () {
701
+ return _testWrapper.screen.getByRole('progressbar');
702
+ }).toThrow();
703
+
704
+ _userEvent["default"].type(input, 'O');
705
+
706
+ (0, _testWrapper.act)(function () {
707
+ jest.advanceTimersByTime(250);
708
+ });
709
+ expect(function () {
710
+ return _testWrapper.screen.getByRole('progressbar');
711
+ }).toThrow();
712
+ (0, _testWrapper.act)(function () {
713
+ jest.advanceTimersByTime(250);
714
+ });
715
+ expect(function () {
716
+ return (0, _testWrapper.within)(input).getByRole('progressbar');
717
+ }).toBeTruthy();
718
+ });
719
+ test('should render the loader in the listbox when loadingState="loadingMore"', function () {
720
+ getComponent({
721
+ loadingState: _loadingStates["default"].LOADING_MORE
722
+ });
723
+
724
+ var button = _testWrapper.screen.getByRole('button');
725
+
726
+ expect(function () {
727
+ return _testWrapper.screen.getByRole('progressbar');
728
+ }).toThrow();
729
+
730
+ _userEvent["default"].click(button);
731
+
732
+ var listbox = _testWrapper.screen.getByRole('listbox');
733
+
734
+ expect(listbox).toBeVisible();
735
+ var loader = (0, _testWrapper.within)(listbox).getByRole('progressbar');
736
+ expect(loader).toBeInTheDocument();
737
+ expect(loader).toHaveAttribute('aria-label', 'Loading more...');
738
+ });
739
+ });
740
+ test('two listbox can not be open at the same time', function () {
741
+ getComponent();
742
+ getComponent({
743
+ items: [{
744
+ name: 'Tango',
745
+ id: '4'
746
+ }, {
747
+ name: 'Foxtrot',
748
+ id: '5'
749
+ }]
750
+ });
751
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
752
+ expect(_testWrapper.screen.queryByRole('option')).not.toBeInTheDocument();
753
+
754
+ var _screen$getAllByRole = _testWrapper.screen.getAllByRole('button'),
755
+ _screen$getAllByRole2 = (0, _slicedToArray2["default"])(_screen$getAllByRole, 2),
756
+ button1 = _screen$getAllByRole2[0],
757
+ button2 = _screen$getAllByRole2[1];
758
+
759
+ _userEvent["default"].click(button1);
760
+
761
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
762
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(3);
763
+ expect(_testWrapper.screen.queryByRole('option', {
764
+ name: 'Aardvark'
765
+ })).toBeInTheDocument();
766
+
767
+ _userEvent["default"].click(button2);
768
+
769
+ expect(_testWrapper.screen.queryByRole('listbox')).toBeInTheDocument();
770
+ expect(_testWrapper.screen.queryAllByRole('option')).toHaveLength(2);
771
+ expect(_testWrapper.screen.queryByRole('option', {
772
+ name: 'Tango'
773
+ })).toBeInTheDocument();
774
+ });
775
+ test('should handle selecting custom option', function () {
776
+ getComponent({
777
+ hasCustomValue: true
778
+ });
779
+
780
+ var input = _testWrapper.screen.queryByRole('combobox');
781
+
782
+ expect(input).toHaveValue(''); // type something
783
+
784
+ _userEvent["default"].type(input, 'custom'); // set input value as selected
785
+
786
+
787
+ _userEvent["default"].type(input, '{enter}', {
788
+ skipClick: true
789
+ });
790
+
791
+ expect(_testWrapper.screen.queryByRole('listbox')).not.toBeInTheDocument();
792
+ expect(_testWrapper.screen.queryByRole('combobox')).toHaveValue('custom'); // blur input
793
+
794
+ _userEvent["default"].tab();
795
+
796
+ expect(input).toHaveValue('custom');
797
+ });
798
+ test('onSelectionChange works properly with custom value', function () {
799
+ var onSelectionChange = jest.fn();
800
+ getComponent({
801
+ hasCustomValue: true,
802
+ onSelectionChange: onSelectionChange,
803
+ onInputChange: onSelectionChange
804
+ });
805
+
806
+ var input = _testWrapper.screen.queryByRole('combobox');
807
+
808
+ expect(input).toHaveValue('');
809
+ expect(onSelectionChange).not.toHaveBeenCalled(); // Should fire when input value was typed, and enter was pressed
810
+
811
+ _userEvent["default"].type(input, 'custom{enter}');
812
+
813
+ expect(onSelectionChange).toHaveBeenCalledWith('custom'); // Should fire when input is cleared
814
+
815
+ _userEvent["default"].type(input, '{selectall}{backspace}{enter}');
816
+
817
+ expect(onSelectionChange).toHaveBeenCalledWith('');
818
+ });
819
+ test('should have no accessibility violations', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
820
+ var _getComponent6, container, results;
821
+
822
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
823
+ while (1) {
824
+ switch (_context2.prev = _context2.next) {
825
+ case 0:
826
+ jest.useRealTimers();
827
+ _getComponent6 = getComponent(), container = _getComponent6.container;
828
+ _context2.next = 4;
829
+ return (0, _jestAxe.axe)(container);
830
+
831
+ case 4:
832
+ results = _context2.sent;
833
+ expect(results).toHaveNoViolations();
834
+
835
+ case 6:
836
+ case "end":
837
+ return _context2.stop();
838
+ }
839
+ }
840
+ }, _callee2);
841
+ })));