@pingux/astro 1.17.0-alpha.3 → 1.17.0-alpha.4

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