@canonical/react-components 1.2.5 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/README.md +2 -2
  2. package/dist-esm/components/Accordion/Accordion.js +52 -0
  3. package/dist-esm/components/Accordion/AccordionSection/AccordionSection.js +47 -0
  4. package/dist-esm/components/Accordion/AccordionSection/index.js +1 -0
  5. package/dist-esm/components/Accordion/index.js +1 -0
  6. package/dist-esm/components/ActionButton/ActionButton.js +106 -0
  7. package/dist-esm/components/ActionButton/index.js +1 -0
  8. package/dist-esm/components/ApplicationLayout/AppAside/AppAside.js +29 -0
  9. package/dist-esm/components/ApplicationLayout/AppAside/index.js +1 -0
  10. package/dist-esm/components/ApplicationLayout/AppMain/AppMain.js +21 -0
  11. package/dist-esm/components/ApplicationLayout/AppMain/index.js +1 -0
  12. package/dist-esm/components/ApplicationLayout/AppNavigation/AppNavigation.js +31 -0
  13. package/dist-esm/components/ApplicationLayout/AppNavigation/index.js +1 -0
  14. package/dist-esm/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.js +24 -0
  15. package/dist-esm/components/ApplicationLayout/AppNavigationBar/index.js +1 -0
  16. package/dist-esm/components/ApplicationLayout/AppStatus/AppStatus.js +21 -0
  17. package/dist-esm/components/ApplicationLayout/AppStatus/index.js +1 -0
  18. package/dist-esm/components/ApplicationLayout/Application/Application.js +22 -0
  19. package/dist-esm/components/ApplicationLayout/Application/index.js +1 -0
  20. package/dist-esm/components/ApplicationLayout/ApplicationLayout.js +113 -0
  21. package/dist-esm/components/ApplicationLayout/index.js +7 -0
  22. package/dist-esm/components/ArticlePagination/ArticlePagination.js +39 -0
  23. package/dist-esm/components/ArticlePagination/index.js +1 -0
  24. package/dist-esm/components/Badge/Badge.js +64 -0
  25. package/dist-esm/components/Badge/index.js +1 -0
  26. package/dist-esm/components/Button/Button.js +55 -0
  27. package/dist-esm/components/Button/index.js +1 -0
  28. package/dist-esm/components/Card/Card.js +45 -0
  29. package/dist-esm/components/Card/index.js +1 -0
  30. package/dist-esm/components/CheckboxInput/CheckableInput/CheckableInput.js +35 -0
  31. package/dist-esm/components/CheckboxInput/CheckableInput/index.js +1 -0
  32. package/dist-esm/components/CheckboxInput/CheckboxInput.js +24 -0
  33. package/dist-esm/components/CheckboxInput/index.js +1 -0
  34. package/dist-esm/components/Chip/Chip.js +81 -0
  35. package/dist-esm/components/Chip/index.js +1 -0
  36. package/dist-esm/components/Code/Code.js +49 -0
  37. package/dist-esm/components/Code/index.js +1 -0
  38. package/dist-esm/components/CodeSnippet/CodeSnippet.js +28 -0
  39. package/dist-esm/components/CodeSnippet/CodeSnippetBlock.js +64 -0
  40. package/dist-esm/components/CodeSnippet/CodeSnippetDropdown.js +27 -0
  41. package/dist-esm/components/CodeSnippet/index.js +2 -0
  42. package/dist-esm/components/Col/Col.js +38 -0
  43. package/dist-esm/components/Col/index.js +1 -0
  44. package/dist-esm/components/ConfirmationButton/ConfirmationButton.js +63 -0
  45. package/dist-esm/components/ConfirmationButton/index.js +1 -0
  46. package/dist-esm/components/ConfirmationModal/ConfirmationModal.js +47 -0
  47. package/dist-esm/components/ConfirmationModal/index.js +1 -0
  48. package/dist-esm/components/ContextualMenu/ContextualMenu.js +215 -0
  49. package/dist-esm/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.js +249 -0
  50. package/dist-esm/components/ContextualMenu/ContextualMenuDropdown/index.js +1 -0
  51. package/dist-esm/components/ContextualMenu/index.js +1 -0
  52. package/dist-esm/components/EmptyState/EmptyState.js +28 -0
  53. package/dist-esm/components/EmptyState/index.js +1 -0
  54. package/dist-esm/components/Field/Field.js +126 -0
  55. package/dist-esm/components/Field/index.js +1 -0
  56. package/dist-esm/components/Form/Form.js +28 -0
  57. package/dist-esm/components/Form/index.js +1 -0
  58. package/dist-esm/components/FormikField/FormikField.js +33 -0
  59. package/dist-esm/components/FormikField/index.js +1 -0
  60. package/dist-esm/components/Icon/Icon.js +61 -0
  61. package/dist-esm/components/Icon/index.js +1 -0
  62. package/dist-esm/components/Input/Input.js +103 -0
  63. package/dist-esm/components/Input/index.js +1 -0
  64. package/dist-esm/components/Label/Label.js +27 -0
  65. package/dist-esm/components/Label/index.js +1 -0
  66. package/dist-esm/components/Link/Link.js +37 -0
  67. package/dist-esm/components/Link/index.js +1 -0
  68. package/dist-esm/components/List/List.js +110 -0
  69. package/dist-esm/components/List/index.js +1 -0
  70. package/dist-esm/components/Loader/Loader.js +14 -0
  71. package/dist-esm/components/Loader/index.js +1 -0
  72. package/dist-esm/components/LoginPageLayout/LoginPageLayout.js +63 -0
  73. package/dist-esm/components/LoginPageLayout/index.js +1 -0
  74. package/dist-esm/components/MainTable/MainTable.js +211 -0
  75. package/dist-esm/components/MainTable/index.js +1 -0
  76. package/dist-esm/components/Modal/Modal.js +135 -0
  77. package/dist-esm/components/Modal/index.js +1 -0
  78. package/dist-esm/components/ModularTable/ModularTable.js +166 -0
  79. package/dist-esm/components/ModularTable/index.js +1 -0
  80. package/dist-esm/components/MultiSelect/FadeInDown/FadeInDown.js +25 -0
  81. package/dist-esm/components/MultiSelect/FadeInDown/index.js +1 -0
  82. package/dist-esm/components/MultiSelect/MultiSelect.js +308 -0
  83. package/dist-esm/components/MultiSelect/index.js +1 -0
  84. package/dist-esm/components/Navigation/Navigation.js +215 -0
  85. package/dist-esm/components/Navigation/NavigationLink/NavigationLink.js +58 -0
  86. package/dist-esm/components/Navigation/NavigationLink/index.js +1 -0
  87. package/dist-esm/components/Navigation/NavigationMenu/NavigationMenu.js +57 -0
  88. package/dist-esm/components/Navigation/NavigationMenu/index.js +1 -0
  89. package/dist-esm/components/Navigation/index.js +1 -0
  90. package/dist-esm/components/Navigation/types.js +1 -0
  91. package/dist-esm/components/Notification/Notification.js +119 -0
  92. package/dist-esm/components/Notification/index.js +1 -0
  93. package/dist-esm/components/NotificationProvider/NotificationProvider.js +83 -0
  94. package/dist-esm/components/NotificationProvider/index.js +2 -0
  95. package/dist-esm/components/NotificationProvider/messageBuilder.js +31 -0
  96. package/dist-esm/components/NotificationProvider/types.js +1 -0
  97. package/dist-esm/components/Pagination/Pagination.js +173 -0
  98. package/dist-esm/components/Pagination/PaginationButton/PaginationButton.js +31 -0
  99. package/dist-esm/components/Pagination/PaginationButton/index.js +1 -0
  100. package/dist-esm/components/Pagination/PaginationItem/PaginationItem.js +20 -0
  101. package/dist-esm/components/Pagination/PaginationItem/index.js +1 -0
  102. package/dist-esm/components/Pagination/index.js +1 -0
  103. package/dist-esm/components/Panel/Panel.js +89 -0
  104. package/dist-esm/components/Panel/index.js +1 -0
  105. package/dist-esm/components/PasswordToggle/PasswordToggle.js +90 -0
  106. package/dist-esm/components/PasswordToggle/index.js +1 -0
  107. package/dist-esm/components/RadioInput/RadioInput.js +22 -0
  108. package/dist-esm/components/RadioInput/index.js +1 -0
  109. package/dist-esm/components/Row/Row.js +22 -0
  110. package/dist-esm/components/Row/index.js +1 -0
  111. package/dist-esm/components/SearchAndFilter/FilterPanelSection/FilterPanelSection.js +107 -0
  112. package/dist-esm/components/SearchAndFilter/FilterPanelSection/index.js +1 -0
  113. package/dist-esm/components/SearchAndFilter/SearchAndFilter.js +286 -0
  114. package/dist-esm/components/SearchAndFilter/index.js +1 -0
  115. package/dist-esm/components/SearchAndFilter/types.js +1 -0
  116. package/dist-esm/components/SearchAndFilter/utils.js +22 -0
  117. package/dist-esm/components/SearchBox/SearchBox.js +95 -0
  118. package/dist-esm/components/SearchBox/index.js +1 -0
  119. package/dist-esm/components/Select/Select.js +84 -0
  120. package/dist-esm/components/Select/index.js +1 -0
  121. package/dist-esm/components/SideNavigation/SideNavigation.js +89 -0
  122. package/dist-esm/components/SideNavigation/SideNavigationBase/SideNavigationBase.js +31 -0
  123. package/dist-esm/components/SideNavigation/SideNavigationBase/index.js +1 -0
  124. package/dist-esm/components/SideNavigation/SideNavigationItem/SideNavigationItem.js +32 -0
  125. package/dist-esm/components/SideNavigation/SideNavigationItem/index.js +1 -0
  126. package/dist-esm/components/SideNavigation/SideNavigationLink/SideNavigationLink.js +25 -0
  127. package/dist-esm/components/SideNavigation/SideNavigationLink/index.js +1 -0
  128. package/dist-esm/components/SideNavigation/SideNavigationText/SideNavigationText.js +20 -0
  129. package/dist-esm/components/SideNavigation/SideNavigationText/index.js +1 -0
  130. package/dist-esm/components/SideNavigation/index.js +4 -0
  131. package/dist-esm/components/Slider/Slider.js +83 -0
  132. package/dist-esm/components/Slider/index.js +1 -0
  133. package/dist-esm/components/Spinner/Spinner.js +36 -0
  134. package/dist-esm/components/Spinner/index.js +1 -0
  135. package/dist-esm/components/StatusLabel/StatusLabel.js +36 -0
  136. package/dist-esm/components/StatusLabel/index.js +1 -0
  137. package/dist-esm/components/Strip/Strip.js +50 -0
  138. package/dist-esm/components/Strip/index.js +1 -0
  139. package/dist-esm/components/SummaryButton/SummaryButton.js +28 -0
  140. package/dist-esm/components/SummaryButton/index.js +1 -0
  141. package/dist-esm/components/Switch/Switch.js +28 -0
  142. package/dist-esm/components/Switch/index.js +1 -0
  143. package/dist-esm/components/Table/Table.js +23 -0
  144. package/dist-esm/components/Table/index.js +1 -0
  145. package/dist-esm/components/TableCell/TableCell.js +26 -0
  146. package/dist-esm/components/TableCell/index.js +1 -0
  147. package/dist-esm/components/TableHeader/TableHeader.js +17 -0
  148. package/dist-esm/components/TableHeader/index.js +1 -0
  149. package/dist-esm/components/TablePagination/TablePagination.js +104 -0
  150. package/dist-esm/components/TablePagination/TablePaginationControls/TablePaginationControls.js +120 -0
  151. package/dist-esm/components/TablePagination/TablePaginationControls/index.js +1 -0
  152. package/dist-esm/components/TablePagination/index.js +1 -0
  153. package/dist-esm/components/TablePagination/utils.js +67 -0
  154. package/dist-esm/components/TableRow/TableRow.js +15 -0
  155. package/dist-esm/components/TableRow/index.js +1 -0
  156. package/dist-esm/components/Tabs/Tabs.js +42 -0
  157. package/dist-esm/components/Tabs/index.js +1 -0
  158. package/dist-esm/components/Textarea/Textarea.js +115 -0
  159. package/dist-esm/components/Textarea/index.js +1 -0
  160. package/dist-esm/components/Tooltip/Tooltip.js +245 -0
  161. package/dist-esm/components/Tooltip/index.js +1 -0
  162. package/dist-esm/enums.js +8 -0
  163. package/dist-esm/hooks/index.js +8 -0
  164. package/dist-esm/hooks/useId.js +13 -0
  165. package/dist-esm/hooks/useListener.js +51 -0
  166. package/dist-esm/hooks/useOnClickOutside.js +38 -0
  167. package/dist-esm/hooks/useOnEscapePressed.js +25 -0
  168. package/dist-esm/hooks/usePagination.js +45 -0
  169. package/dist-esm/hooks/usePrevious.js +16 -0
  170. package/dist-esm/hooks/useThrottle.js +49 -0
  171. package/dist-esm/hooks/useWindowFitment.js +109 -0
  172. package/dist-esm/index.js +69 -0
  173. package/dist-esm/types/index.js +1 -0
  174. package/dist-esm/types/react-table-config.d.js +1 -0
  175. package/dist-esm/utils.js +41 -0
  176. package/package.json +11 -6
  177. package/dist/components/Accordion/Accordion.stories.d.ts +0 -18
  178. package/dist/components/Accordion/Accordion.stories.js +0 -117
  179. package/dist/components/ActionButton/ActionButton.stories.d.ts +0 -7
  180. package/dist/components/ActionButton/ActionButton.stories.js +0 -36
  181. package/dist/components/ApplicationLayout/AppAside/AppAside.stories.d.ts +0 -13
  182. package/dist/components/ApplicationLayout/AppAside/AppAside.stories.js +0 -116
  183. package/dist/components/ApplicationLayout/AppMain/AppMain.stories.d.ts +0 -14
  184. package/dist/components/ApplicationLayout/AppMain/AppMain.stories.js +0 -45
  185. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.stories.d.ts +0 -12
  186. package/dist/components/ApplicationLayout/AppNavigation/AppNavigation.stories.js +0 -104
  187. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.stories.d.ts +0 -15
  188. package/dist/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.stories.js +0 -52
  189. package/dist/components/ApplicationLayout/AppStatus/AppStatus.stories.d.ts +0 -13
  190. package/dist/components/ApplicationLayout/AppStatus/AppStatus.stories.js +0 -41
  191. package/dist/components/ApplicationLayout/Application/Application.stories.d.ts +0 -6
  192. package/dist/components/ApplicationLayout/Application/Application.stories.js +0 -16
  193. package/dist/components/ApplicationLayout/ApplicationLayout.stories.d.ts +0 -24
  194. package/dist/components/ApplicationLayout/ApplicationLayout.stories.js +0 -232
  195. package/dist/components/ArticlePagination/ArticlePagination.stories.d.ts +0 -6
  196. package/dist/components/ArticlePagination/ArticlePagination.stories.js +0 -22
  197. package/dist/components/Badge/Badge.stories.d.ts +0 -15
  198. package/dist/components/Badge/Badge.stories.js +0 -62
  199. package/dist/components/Button/Button.stories.d.ts +0 -32
  200. package/dist/components/Button/Button.stories.js +0 -180
  201. package/dist/components/Card/Card.stories.d.ts +0 -33
  202. package/dist/components/Card/Card.stories.js +0 -51
  203. package/dist/components/CheckboxInput/CheckboxInput.stories.d.ts +0 -11
  204. package/dist/components/CheckboxInput/CheckboxInput.stories.js +0 -84
  205. package/dist/components/Chip/Chip.stories.d.ts +0 -9
  206. package/dist/components/Chip/Chip.stories.js +0 -45
  207. package/dist/components/CodeSnippet/CodeSnippet.stories.d.ts +0 -45
  208. package/dist/components/CodeSnippet/CodeSnippet.stories.js +0 -279
  209. package/dist/components/Col/Col.stories.d.ts +0 -11
  210. package/dist/components/Col/Col.stories.js +0 -154
  211. package/dist/components/ConfirmationButton/ConfirmationButton.stories.d.ts +0 -9
  212. package/dist/components/ConfirmationButton/ConfirmationButton.stories.js +0 -108
  213. package/dist/components/ConfirmationModal/ConfirmationModal.stories.d.ts +0 -18
  214. package/dist/components/ConfirmationModal/ConfirmationModal.stories.js +0 -135
  215. package/dist/components/ContextualMenu/ContextualMenu.stories.d.ts +0 -13
  216. package/dist/components/ContextualMenu/ContextualMenu.stories.js +0 -107
  217. package/dist/components/EmptyState/EmptyState.stories.d.ts +0 -7
  218. package/dist/components/EmptyState/EmptyState.stories.js +0 -49
  219. package/dist/components/Form/Form.stories.d.ts +0 -12
  220. package/dist/components/Form/Form.stories.js +0 -179
  221. package/dist/components/FormikField/FormikField.stories.d.ts +0 -8
  222. package/dist/components/FormikField/FormikField.stories.js +0 -85
  223. package/dist/components/Icon/Icon.stories.d.ts +0 -16
  224. package/dist/components/Icon/Icon.stories.js +0 -49
  225. package/dist/components/Input/Input.stories.d.ts +0 -14
  226. package/dist/components/Input/Input.stories.js +0 -148
  227. package/dist/components/Link/Link.stories.d.ts +0 -9
  228. package/dist/components/Link/Link.stories.js +0 -48
  229. package/dist/components/List/List.stories.d.ts +0 -15
  230. package/dist/components/List/List.stories.js +0 -122
  231. package/dist/components/LoginPageLayout/LoginPageLayout.stories.d.ts +0 -9
  232. package/dist/components/LoginPageLayout/LoginPageLayout.stories.js +0 -58
  233. package/dist/components/MainTable/MainTable.stories.d.ts +0 -15
  234. package/dist/components/MainTable/MainTable.stories.js +0 -553
  235. package/dist/components/Modal/Modal.stories.d.ts +0 -6
  236. package/dist/components/Modal/Modal.stories.js +0 -57
  237. package/dist/components/ModularTable/ModularTable.stories.d.ts +0 -27
  238. package/dist/components/ModularTable/ModularTable.stories.js +0 -343
  239. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -8
  240. package/dist/components/MultiSelect/MultiSelect.stories.js +0 -70
  241. package/dist/components/Navigation/Navigation.stories.d.ts +0 -43
  242. package/dist/components/Navigation/Navigation.stories.js +0 -232
  243. package/dist/components/Notification/Notification.stories.d.ts +0 -45
  244. package/dist/components/Notification/Notification.stories.js +0 -201
  245. package/dist/components/Pagination/Pagination.stories.d.ts +0 -14
  246. package/dist/components/Pagination/Pagination.stories.js +0 -94
  247. package/dist/components/Panel/Panel.stories.d.ts +0 -17
  248. package/dist/components/Panel/Panel.stories.js +0 -60
  249. package/dist/components/PasswordToggle/PasswordToggle.stories.d.ts +0 -12
  250. package/dist/components/PasswordToggle/PasswordToggle.stories.js +0 -74
  251. package/dist/components/RadioInput/RadioInput.stories.d.ts +0 -10
  252. package/dist/components/RadioInput/RadioInput.stories.js +0 -83
  253. package/dist/components/Row/Row.stories.d.ts +0 -9
  254. package/dist/components/Row/Row.stories.js +0 -29
  255. package/dist/components/SearchAndFilter/SearchAndFilter.stories.d.ts +0 -8
  256. package/dist/components/SearchAndFilter/SearchAndFilter.stories.js +0 -218
  257. package/dist/components/SearchBox/SearchBox.stories.d.ts +0 -14
  258. package/dist/components/SearchBox/SearchBox.stories.js +0 -106
  259. package/dist/components/Select/Select.stories.d.ts +0 -7
  260. package/dist/components/Select/Select.stories.js +0 -97
  261. package/dist/components/SideNavigation/SideNavigation.stories.d.ts +0 -14
  262. package/dist/components/SideNavigation/SideNavigation.stories.js +0 -62
  263. package/dist/components/SideNavigation/SideNavigationItem/SideNavigationItem.stories.d.ts +0 -22
  264. package/dist/components/SideNavigation/SideNavigationItem/SideNavigationItem.stories.js +0 -70
  265. package/dist/components/SideNavigation/SideNavigationLink/SideNavigationLink.stories.d.ts +0 -7
  266. package/dist/components/SideNavigation/SideNavigationLink/SideNavigationLink.stories.js +0 -32
  267. package/dist/components/SideNavigation/SideNavigationText/SideNavigationText.stories.d.ts +0 -6
  268. package/dist/components/SideNavigation/SideNavigationText/SideNavigationText.stories.js +0 -25
  269. package/dist/components/Slider/Slider.stories.d.ts +0 -10
  270. package/dist/components/Slider/Slider.stories.js +0 -74
  271. package/dist/components/Spinner/Spinner.stories.d.ts +0 -8
  272. package/dist/components/Spinner/Spinner.stories.js +0 -28
  273. package/dist/components/StatusLabel/StatusLabel.stories.d.ts +0 -10
  274. package/dist/components/StatusLabel/StatusLabel.stories.js +0 -61
  275. package/dist/components/Strip/Strip.stories.d.ts +0 -12
  276. package/dist/components/Strip/Strip.stories.js +0 -130
  277. package/dist/components/SummaryButton/SummaryButton.stories.d.ts +0 -18
  278. package/dist/components/SummaryButton/SummaryButton.stories.js +0 -59
  279. package/dist/components/Switch/Switch.stories.d.ts +0 -7
  280. package/dist/components/Switch/Switch.stories.js +0 -26
  281. package/dist/components/TablePagination/TablePagination.stories.d.ts +0 -14
  282. package/dist/components/TablePagination/TablePagination.stories.js +0 -330
  283. package/dist/components/Tabs/Tabs.stories.d.ts +0 -11
  284. package/dist/components/Tabs/Tabs.stories.js +0 -56
  285. package/dist/components/Textarea/Textarea.stories.d.ts +0 -7
  286. package/dist/components/Textarea/Textarea.stories.js +0 -62
  287. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -12
  288. package/dist/components/Tooltip/Tooltip.stories.js +0 -71
  289. /package/{dist → dist-types}/components/Accordion/Accordion.d.ts +0 -0
  290. /package/{dist → dist-types}/components/Accordion/AccordionSection/AccordionSection.d.ts +0 -0
  291. /package/{dist → dist-types}/components/Accordion/AccordionSection/index.d.ts +0 -0
  292. /package/{dist → dist-types}/components/Accordion/index.d.ts +0 -0
  293. /package/{dist → dist-types}/components/ActionButton/ActionButton.d.ts +0 -0
  294. /package/{dist → dist-types}/components/ActionButton/index.d.ts +0 -0
  295. /package/{dist → dist-types}/components/ApplicationLayout/AppAside/AppAside.d.ts +0 -0
  296. /package/{dist → dist-types}/components/ApplicationLayout/AppAside/index.d.ts +0 -0
  297. /package/{dist → dist-types}/components/ApplicationLayout/AppMain/AppMain.d.ts +0 -0
  298. /package/{dist → dist-types}/components/ApplicationLayout/AppMain/index.d.ts +0 -0
  299. /package/{dist → dist-types}/components/ApplicationLayout/AppNavigation/AppNavigation.d.ts +0 -0
  300. /package/{dist → dist-types}/components/ApplicationLayout/AppNavigation/index.d.ts +0 -0
  301. /package/{dist → dist-types}/components/ApplicationLayout/AppNavigationBar/AppNavigationBar.d.ts +0 -0
  302. /package/{dist → dist-types}/components/ApplicationLayout/AppNavigationBar/index.d.ts +0 -0
  303. /package/{dist → dist-types}/components/ApplicationLayout/AppStatus/AppStatus.d.ts +0 -0
  304. /package/{dist → dist-types}/components/ApplicationLayout/AppStatus/index.d.ts +0 -0
  305. /package/{dist → dist-types}/components/ApplicationLayout/Application/Application.d.ts +0 -0
  306. /package/{dist → dist-types}/components/ApplicationLayout/Application/index.d.ts +0 -0
  307. /package/{dist → dist-types}/components/ApplicationLayout/ApplicationLayout.d.ts +0 -0
  308. /package/{dist → dist-types}/components/ApplicationLayout/index.d.ts +0 -0
  309. /package/{dist → dist-types}/components/ArticlePagination/ArticlePagination.d.ts +0 -0
  310. /package/{dist → dist-types}/components/ArticlePagination/index.d.ts +0 -0
  311. /package/{dist → dist-types}/components/Badge/Badge.d.ts +0 -0
  312. /package/{dist → dist-types}/components/Badge/index.d.ts +0 -0
  313. /package/{dist → dist-types}/components/Button/Button.d.ts +0 -0
  314. /package/{dist → dist-types}/components/Button/index.d.ts +0 -0
  315. /package/{dist → dist-types}/components/Card/Card.d.ts +0 -0
  316. /package/{dist → dist-types}/components/Card/index.d.ts +0 -0
  317. /package/{dist → dist-types}/components/CheckboxInput/CheckableInput/CheckableInput.d.ts +0 -0
  318. /package/{dist → dist-types}/components/CheckboxInput/CheckableInput/index.d.ts +0 -0
  319. /package/{dist → dist-types}/components/CheckboxInput/CheckboxInput.d.ts +0 -0
  320. /package/{dist → dist-types}/components/CheckboxInput/index.d.ts +0 -0
  321. /package/{dist → dist-types}/components/Chip/Chip.d.ts +0 -0
  322. /package/{dist → dist-types}/components/Chip/index.d.ts +0 -0
  323. /package/{dist → dist-types}/components/Code/Code.d.ts +0 -0
  324. /package/{dist → dist-types}/components/Code/index.d.ts +0 -0
  325. /package/{dist → dist-types}/components/CodeSnippet/CodeSnippet.d.ts +0 -0
  326. /package/{dist → dist-types}/components/CodeSnippet/CodeSnippetBlock.d.ts +0 -0
  327. /package/{dist → dist-types}/components/CodeSnippet/CodeSnippetDropdown.d.ts +0 -0
  328. /package/{dist → dist-types}/components/CodeSnippet/index.d.ts +0 -0
  329. /package/{dist → dist-types}/components/Col/Col.d.ts +0 -0
  330. /package/{dist → dist-types}/components/Col/index.d.ts +0 -0
  331. /package/{dist → dist-types}/components/ConfirmationButton/ConfirmationButton.d.ts +0 -0
  332. /package/{dist → dist-types}/components/ConfirmationButton/index.d.ts +0 -0
  333. /package/{dist → dist-types}/components/ConfirmationModal/ConfirmationModal.d.ts +0 -0
  334. /package/{dist → dist-types}/components/ConfirmationModal/index.d.ts +0 -0
  335. /package/{dist → dist-types}/components/ContextualMenu/ContextualMenu.d.ts +0 -0
  336. /package/{dist → dist-types}/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.d.ts +0 -0
  337. /package/{dist → dist-types}/components/ContextualMenu/ContextualMenuDropdown/index.d.ts +0 -0
  338. /package/{dist → dist-types}/components/ContextualMenu/index.d.ts +0 -0
  339. /package/{dist → dist-types}/components/EmptyState/EmptyState.d.ts +0 -0
  340. /package/{dist → dist-types}/components/EmptyState/index.d.ts +0 -0
  341. /package/{dist → dist-types}/components/Field/Field.d.ts +0 -0
  342. /package/{dist → dist-types}/components/Field/index.d.ts +0 -0
  343. /package/{dist → dist-types}/components/Form/Form.d.ts +0 -0
  344. /package/{dist → dist-types}/components/Form/index.d.ts +0 -0
  345. /package/{dist → dist-types}/components/FormikField/FormikField.d.ts +0 -0
  346. /package/{dist → dist-types}/components/FormikField/index.d.ts +0 -0
  347. /package/{dist → dist-types}/components/Icon/Icon.d.ts +0 -0
  348. /package/{dist → dist-types}/components/Icon/index.d.ts +0 -0
  349. /package/{dist → dist-types}/components/Input/Input.d.ts +0 -0
  350. /package/{dist → dist-types}/components/Input/index.d.ts +0 -0
  351. /package/{dist → dist-types}/components/Label/Label.d.ts +0 -0
  352. /package/{dist → dist-types}/components/Label/index.d.ts +0 -0
  353. /package/{dist → dist-types}/components/Link/Link.d.ts +0 -0
  354. /package/{dist → dist-types}/components/Link/index.d.ts +0 -0
  355. /package/{dist → dist-types}/components/List/List.d.ts +0 -0
  356. /package/{dist → dist-types}/components/List/index.d.ts +0 -0
  357. /package/{dist → dist-types}/components/Loader/Loader.d.ts +0 -0
  358. /package/{dist → dist-types}/components/Loader/index.d.ts +0 -0
  359. /package/{dist → dist-types}/components/LoginPageLayout/LoginPageLayout.d.ts +0 -0
  360. /package/{dist → dist-types}/components/LoginPageLayout/index.d.ts +0 -0
  361. /package/{dist → dist-types}/components/MainTable/MainTable.d.ts +0 -0
  362. /package/{dist → dist-types}/components/MainTable/index.d.ts +0 -0
  363. /package/{dist → dist-types}/components/Modal/Modal.d.ts +0 -0
  364. /package/{dist → dist-types}/components/Modal/index.d.ts +0 -0
  365. /package/{dist → dist-types}/components/ModularTable/ModularTable.d.ts +0 -0
  366. /package/{dist → dist-types}/components/ModularTable/index.d.ts +0 -0
  367. /package/{dist → dist-types}/components/MultiSelect/FadeInDown/FadeInDown.d.ts +0 -0
  368. /package/{dist → dist-types}/components/MultiSelect/FadeInDown/index.d.ts +0 -0
  369. /package/{dist → dist-types}/components/MultiSelect/MultiSelect.d.ts +0 -0
  370. /package/{dist → dist-types}/components/MultiSelect/index.d.ts +0 -0
  371. /package/{dist → dist-types}/components/Navigation/Navigation.d.ts +0 -0
  372. /package/{dist → dist-types}/components/Navigation/NavigationLink/NavigationLink.d.ts +0 -0
  373. /package/{dist → dist-types}/components/Navigation/NavigationLink/index.d.ts +0 -0
  374. /package/{dist → dist-types}/components/Navigation/NavigationMenu/NavigationMenu.d.ts +0 -0
  375. /package/{dist → dist-types}/components/Navigation/NavigationMenu/index.d.ts +0 -0
  376. /package/{dist → dist-types}/components/Navigation/index.d.ts +0 -0
  377. /package/{dist → dist-types}/components/Navigation/types.d.ts +0 -0
  378. /package/{dist → dist-types}/components/Notification/Notification.d.ts +0 -0
  379. /package/{dist → dist-types}/components/Notification/index.d.ts +0 -0
  380. /package/{dist → dist-types}/components/NotificationProvider/NotificationProvider.d.ts +0 -0
  381. /package/{dist → dist-types}/components/NotificationProvider/index.d.ts +0 -0
  382. /package/{dist → dist-types}/components/NotificationProvider/messageBuilder.d.ts +0 -0
  383. /package/{dist → dist-types}/components/NotificationProvider/types.d.ts +0 -0
  384. /package/{dist → dist-types}/components/Pagination/Pagination.d.ts +0 -0
  385. /package/{dist → dist-types}/components/Pagination/PaginationButton/PaginationButton.d.ts +0 -0
  386. /package/{dist → dist-types}/components/Pagination/PaginationButton/index.d.ts +0 -0
  387. /package/{dist → dist-types}/components/Pagination/PaginationItem/PaginationItem.d.ts +0 -0
  388. /package/{dist → dist-types}/components/Pagination/PaginationItem/index.d.ts +0 -0
  389. /package/{dist → dist-types}/components/Pagination/index.d.ts +0 -0
  390. /package/{dist → dist-types}/components/Panel/Panel.d.ts +0 -0
  391. /package/{dist → dist-types}/components/Panel/index.d.ts +0 -0
  392. /package/{dist → dist-types}/components/PasswordToggle/PasswordToggle.d.ts +0 -0
  393. /package/{dist → dist-types}/components/PasswordToggle/index.d.ts +0 -0
  394. /package/{dist → dist-types}/components/RadioInput/RadioInput.d.ts +0 -0
  395. /package/{dist → dist-types}/components/RadioInput/index.d.ts +0 -0
  396. /package/{dist → dist-types}/components/Row/Row.d.ts +0 -0
  397. /package/{dist → dist-types}/components/Row/index.d.ts +0 -0
  398. /package/{dist → dist-types}/components/SearchAndFilter/FilterPanelSection/FilterPanelSection.d.ts +0 -0
  399. /package/{dist → dist-types}/components/SearchAndFilter/FilterPanelSection/index.d.ts +0 -0
  400. /package/{dist → dist-types}/components/SearchAndFilter/SearchAndFilter.d.ts +0 -0
  401. /package/{dist → dist-types}/components/SearchAndFilter/index.d.ts +0 -0
  402. /package/{dist → dist-types}/components/SearchAndFilter/types.d.ts +0 -0
  403. /package/{dist → dist-types}/components/SearchAndFilter/utils.d.ts +0 -0
  404. /package/{dist → dist-types}/components/SearchBox/SearchBox.d.ts +0 -0
  405. /package/{dist → dist-types}/components/SearchBox/index.d.ts +0 -0
  406. /package/{dist → dist-types}/components/Select/Select.d.ts +0 -0
  407. /package/{dist → dist-types}/components/Select/index.d.ts +0 -0
  408. /package/{dist → dist-types}/components/SideNavigation/SideNavigation.d.ts +0 -0
  409. /package/{dist → dist-types}/components/SideNavigation/SideNavigationBase/SideNavigationBase.d.ts +0 -0
  410. /package/{dist → dist-types}/components/SideNavigation/SideNavigationBase/index.d.ts +0 -0
  411. /package/{dist → dist-types}/components/SideNavigation/SideNavigationItem/SideNavigationItem.d.ts +0 -0
  412. /package/{dist → dist-types}/components/SideNavigation/SideNavigationItem/index.d.ts +0 -0
  413. /package/{dist → dist-types}/components/SideNavigation/SideNavigationLink/SideNavigationLink.d.ts +0 -0
  414. /package/{dist → dist-types}/components/SideNavigation/SideNavigationLink/index.d.ts +0 -0
  415. /package/{dist → dist-types}/components/SideNavigation/SideNavigationText/SideNavigationText.d.ts +0 -0
  416. /package/{dist → dist-types}/components/SideNavigation/SideNavigationText/index.d.ts +0 -0
  417. /package/{dist → dist-types}/components/SideNavigation/index.d.ts +0 -0
  418. /package/{dist → dist-types}/components/Slider/Slider.d.ts +0 -0
  419. /package/{dist → dist-types}/components/Slider/index.d.ts +0 -0
  420. /package/{dist → dist-types}/components/Spinner/Spinner.d.ts +0 -0
  421. /package/{dist → dist-types}/components/Spinner/index.d.ts +0 -0
  422. /package/{dist → dist-types}/components/StatusLabel/StatusLabel.d.ts +0 -0
  423. /package/{dist → dist-types}/components/StatusLabel/index.d.ts +0 -0
  424. /package/{dist → dist-types}/components/Strip/Strip.d.ts +0 -0
  425. /package/{dist → dist-types}/components/Strip/index.d.ts +0 -0
  426. /package/{dist → dist-types}/components/SummaryButton/SummaryButton.d.ts +0 -0
  427. /package/{dist → dist-types}/components/SummaryButton/index.d.ts +0 -0
  428. /package/{dist → dist-types}/components/Switch/Switch.d.ts +0 -0
  429. /package/{dist → dist-types}/components/Switch/index.d.ts +0 -0
  430. /package/{dist → dist-types}/components/Table/Table.d.ts +0 -0
  431. /package/{dist → dist-types}/components/Table/index.d.ts +0 -0
  432. /package/{dist → dist-types}/components/TableCell/TableCell.d.ts +0 -0
  433. /package/{dist → dist-types}/components/TableCell/index.d.ts +0 -0
  434. /package/{dist → dist-types}/components/TableHeader/TableHeader.d.ts +0 -0
  435. /package/{dist → dist-types}/components/TableHeader/index.d.ts +0 -0
  436. /package/{dist → dist-types}/components/TablePagination/TablePagination.d.ts +0 -0
  437. /package/{dist → dist-types}/components/TablePagination/TablePaginationControls/TablePaginationControls.d.ts +0 -0
  438. /package/{dist → dist-types}/components/TablePagination/TablePaginationControls/index.d.ts +0 -0
  439. /package/{dist → dist-types}/components/TablePagination/index.d.ts +0 -0
  440. /package/{dist → dist-types}/components/TablePagination/utils.d.ts +0 -0
  441. /package/{dist → dist-types}/components/TableRow/TableRow.d.ts +0 -0
  442. /package/{dist → dist-types}/components/TableRow/index.d.ts +0 -0
  443. /package/{dist → dist-types}/components/Tabs/Tabs.d.ts +0 -0
  444. /package/{dist → dist-types}/components/Tabs/index.d.ts +0 -0
  445. /package/{dist → dist-types}/components/Textarea/Textarea.d.ts +0 -0
  446. /package/{dist → dist-types}/components/Textarea/index.d.ts +0 -0
  447. /package/{dist → dist-types}/components/Tooltip/Tooltip.d.ts +0 -0
  448. /package/{dist → dist-types}/components/Tooltip/index.d.ts +0 -0
  449. /package/{dist → dist-types}/enums.d.ts +0 -0
  450. /package/{dist → dist-types}/hooks/index.d.ts +0 -0
  451. /package/{dist → dist-types}/hooks/useId.d.ts +0 -0
  452. /package/{dist → dist-types}/hooks/useListener.d.ts +0 -0
  453. /package/{dist → dist-types}/hooks/useOnClickOutside.d.ts +0 -0
  454. /package/{dist → dist-types}/hooks/useOnEscapePressed.d.ts +0 -0
  455. /package/{dist → dist-types}/hooks/usePagination.d.ts +0 -0
  456. /package/{dist → dist-types}/hooks/usePrevious.d.ts +0 -0
  457. /package/{dist → dist-types}/hooks/useThrottle.d.ts +0 -0
  458. /package/{dist → dist-types}/hooks/useWindowFitment.d.ts +0 -0
  459. /package/{dist → dist-types}/index.d.ts +0 -0
  460. /package/{dist → dist-types}/types/index.d.ts +0 -0
  461. /package/{dist → dist-types}/utils.d.ts +0 -0
@@ -0,0 +1,215 @@
1
+ var _excluded = ["autoAdjust", "children", "className", "closeOnEsc", "closeOnOutsideClick", "constrainPanelWidth", "dropdownClassName", "dropdownProps", "hasToggleIcon", "links", "onToggleMenu", "position", "positionNode", "scrollOverflow", "toggle", "toggleAppearance", "toggleClassName", "toggleDisabled", "toggleLabel", "toggleLabelFirst", "toggleProps", "visible"];
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
5
+ import classNames from "classnames";
6
+ import React, { useCallback, useEffect, useId, useRef, useState } from "react";
7
+ import usePortal from "react-useportal";
8
+ import { useListener, usePrevious } from "../../hooks";
9
+ import Button from "../Button";
10
+ import ContextualMenuDropdown from "./ContextualMenuDropdown";
11
+ export var Label = /*#__PURE__*/function (Label) {
12
+ Label["Toggle"] = "Toggle menu";
13
+ return Label;
14
+ }({});
15
+
16
+ /**
17
+ * The props for the ContextualMenu component.
18
+ * @template L - The type of the link props.
19
+ */
20
+
21
+ /**
22
+ * Get the node to use for positioning the menu.
23
+ * @param wrapper - The component's wrapping element.
24
+ * @param positionNode - A positioning node, if supplied.
25
+ * @return A node or null.
26
+ */
27
+ var getPositionNode = (wrapper, positionNode) => {
28
+ if (positionNode) {
29
+ return positionNode;
30
+ } else if (wrapper) {
31
+ // We want to position the menu in relation to the toggle, if it exists.
32
+ var toggle = wrapper.querySelector(".p-contextual-menu__toggle");
33
+ return toggle || wrapper;
34
+ }
35
+ return null;
36
+ };
37
+
38
+ /**
39
+ * Whether the positioning node is visible.
40
+ * @param positionNode - The node that is used to position the menu.
41
+ * @return Whether the positioning node is visible.
42
+ */
43
+ var getPositionNodeVisible = positionNode => {
44
+ return !positionNode || positionNode.offsetParent !== null;
45
+ };
46
+
47
+ /**
48
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Contextual menu](https://docs.vanillaframework.io/patterns//contextual-menu/).
49
+ *
50
+ * A contextual menu can be used in conjunction with any page element to provide a contextual menu.
51
+ */
52
+ var ContextualMenu = _ref => {
53
+ var {
54
+ autoAdjust = true,
55
+ children,
56
+ className,
57
+ closeOnEsc = true,
58
+ closeOnOutsideClick = true,
59
+ constrainPanelWidth,
60
+ dropdownClassName,
61
+ dropdownProps,
62
+ hasToggleIcon,
63
+ links,
64
+ onToggleMenu,
65
+ position = "right",
66
+ positionNode,
67
+ scrollOverflow,
68
+ toggle,
69
+ toggleAppearance,
70
+ toggleClassName,
71
+ toggleDisabled,
72
+ toggleLabel,
73
+ toggleLabelFirst = true,
74
+ toggleProps,
75
+ visible = false
76
+ } = _ref,
77
+ wrapperProps = _objectWithoutProperties(_ref, _excluded);
78
+ var id = useId();
79
+ var wrapper = useRef(null);
80
+ var [positionCoords, setPositionCoords] = useState();
81
+ var [adjustedPosition, setAdjustedPosition] = useState(position);
82
+ useEffect(() => {
83
+ setAdjustedPosition(position);
84
+ }, [position, autoAdjust]);
85
+
86
+ // Update the coordinates of the position node.
87
+ var updatePositionCoords = useCallback(() => {
88
+ var parent = getPositionNode(wrapper.current, positionNode);
89
+ if (!parent) {
90
+ return null;
91
+ }
92
+ setPositionCoords(parent.getBoundingClientRect());
93
+ }, [wrapper, positionNode]);
94
+ var {
95
+ openPortal,
96
+ closePortal,
97
+ isOpen,
98
+ Portal
99
+ } = usePortal({
100
+ closeOnEsc,
101
+ closeOnOutsideClick,
102
+ isOpen: visible,
103
+ onOpen: () => {
104
+ // Call the toggle callback, if supplied.
105
+ onToggleMenu === null || onToggleMenu === void 0 || onToggleMenu(true);
106
+ // When the menu opens then update the coordinates of the parent.
107
+ updatePositionCoords();
108
+ },
109
+ onClose: () => {
110
+ // Call the toggle callback, if supplied.
111
+ onToggleMenu === null || onToggleMenu === void 0 || onToggleMenu(false);
112
+ },
113
+ programmaticallyOpen: true
114
+ });
115
+ var previousVisible = usePrevious(visible);
116
+ var labelNode = toggleLabel && typeof toggleLabel === "string" ? /*#__PURE__*/React.createElement("span", null, toggleLabel) : /*#__PURE__*/React.isValidElement(toggleLabel) ? toggleLabel : null;
117
+ var contextualMenuClassName = classNames(className, "p-contextual-menu", {
118
+ ["p-contextual-menu--".concat(adjustedPosition)]: adjustedPosition !== "right"
119
+ });
120
+
121
+ // Update the coordinates of the wrapper once it mounts to the dom. This uses
122
+ // The callback ref pattern:
123
+ // https://reactjs.org/docs/hooks-faq.html#how-can-i-measure-a-dom-node
124
+ var wrapperRef = useCallback(node => {
125
+ wrapper.current = node;
126
+ if (node !== null) {
127
+ updatePositionCoords();
128
+ }
129
+ }, [updatePositionCoords]);
130
+
131
+ // Handle controlling updates to the menu visibility from outside
132
+ // the component.
133
+ useEffect(() => {
134
+ if (visible !== previousVisible) {
135
+ if (visible && !isOpen) {
136
+ openPortal();
137
+ } else if (!visible && isOpen) {
138
+ closePortal();
139
+ }
140
+ }
141
+ }, [closePortal, openPortal, visible, isOpen, previousVisible]);
142
+ var onResize = useCallback(evt => {
143
+ var parent = getPositionNode(wrapper.current, positionNode);
144
+ if (parent && !getPositionNodeVisible(parent)) {
145
+ // Hide the menu if the item has become hidden. This might happen in
146
+ // a responsive table when columns become hidden as the page
147
+ // becomes smaller.
148
+ closePortal(evt);
149
+ } else {
150
+ // Update the coordinates so that the menu stays relative to the
151
+ // toggle button.
152
+ updatePositionCoords();
153
+ }
154
+ }, [closePortal, positionNode, updatePositionCoords]);
155
+ var onScroll = useCallback(e => {
156
+ var parent = getPositionNode(wrapper.current, positionNode);
157
+ // update position if the scroll event is triggered by the parent of the menu
158
+ if (parent && e.target.contains(parent)) {
159
+ // Update the coordinates so that the menu stays relative to the
160
+ // toggle button.
161
+ updatePositionCoords();
162
+ }
163
+ }, [positionNode, updatePositionCoords]);
164
+ useListener(window, onResize, "resize", true, isOpen);
165
+ useListener(window, onScroll, "scroll", false, isOpen, true);
166
+ var toggleNode = null;
167
+ if (toggle) {
168
+ toggleNode = toggle;
169
+ } else if (hasToggleIcon || toggleLabel) {
170
+ toggleNode = /*#__PURE__*/React.createElement(Button, _extends({
171
+ appearance: toggleAppearance,
172
+ "aria-controls": id,
173
+ "aria-expanded": isOpen ? "true" : "false",
174
+ "aria-label": toggleLabel ? null : Label.Toggle,
175
+ "aria-pressed": isOpen ? "true" : "false",
176
+ "aria-haspopup": "true",
177
+ className: classNames("p-contextual-menu__toggle", toggleClassName),
178
+ disabled: toggleDisabled,
179
+ hasIcon: hasToggleIcon,
180
+ onClick: evt => {
181
+ if (!isOpen) {
182
+ openPortal(evt);
183
+ } else {
184
+ closePortal(evt);
185
+ }
186
+ },
187
+ type: "button"
188
+ }, toggleProps), toggleLabelFirst ? labelNode : null, hasToggleIcon ? /*#__PURE__*/React.createElement("i", {
189
+ className: classNames("p-icon--chevron-down p-contextual-menu__indicator", {
190
+ "is-light": ["negative", "positive"].includes(toggleAppearance)
191
+ })
192
+ }) : null, toggleLabelFirst ? null : labelNode);
193
+ }
194
+ return /*#__PURE__*/React.createElement("span", _extends({
195
+ className: contextualMenuClassName,
196
+ ref: wrapperRef
197
+ }, wrapperProps), toggleNode, isOpen && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(ContextualMenuDropdown, _extends({
198
+ adjustedPosition: adjustedPosition,
199
+ autoAdjust: autoAdjust,
200
+ handleClose: closePortal,
201
+ constrainPanelWidth: constrainPanelWidth,
202
+ dropdownClassName: dropdownClassName,
203
+ dropdownContent: children,
204
+ id: id,
205
+ isOpen: isOpen,
206
+ links: links,
207
+ position: position,
208
+ positionCoords: positionCoords,
209
+ contextualMenuClassName: contextualMenuClassName,
210
+ positionNode: getPositionNode(wrapper.current),
211
+ scrollOverflow: scrollOverflow,
212
+ setAdjustedPosition: setAdjustedPosition
213
+ }, dropdownProps))));
214
+ };
215
+ export default ContextualMenu;
@@ -0,0 +1,249 @@
1
+ var _excluded = ["children", "className", "onClick"],
2
+ _excluded2 = ["adjustedPosition", "autoAdjust", "handleClose", "constrainPanelWidth", "dropdownClassName", "dropdownContent", "id", "isOpen", "links", "position", "positionCoords", "positionNode", "scrollOverflow", "setAdjustedPosition", "contextualMenuClassName"];
3
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
4
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
5
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ import classNames from "classnames";
12
+ import React, { useCallback, useEffect, useRef, useState } from "react";
13
+ import { useWindowFitment } from "../../../hooks";
14
+ import Button from "../../Button";
15
+ export var Label = /*#__PURE__*/function (Label) {
16
+ Label["Dropdown"] = "submenu";
17
+ return Label;
18
+ }({});
19
+
20
+ /**
21
+ * The type of the menu links.
22
+ * @template L - The type of the link props.
23
+ */
24
+
25
+ /**
26
+ * The props for the ContextualMenuDropdown component.
27
+ * @template L - The type of the link props.
28
+ */
29
+
30
+ /**
31
+ * Calculate the styles for the menu.
32
+ * @param position - The menu position.
33
+ * @param positionCoords - The coordinates of the position node.
34
+ * @param constrainPanelWidth - Whether the menu width should be constrained to the position width.
35
+ */
36
+ var getPositionStyle = (position, verticalPosition, positionCoords, constrainPanelWidth) => {
37
+ if (!positionCoords) {
38
+ return null;
39
+ }
40
+ var {
41
+ height,
42
+ left,
43
+ top,
44
+ width
45
+ } = positionCoords;
46
+ var topPos = verticalPosition === "bottom" ? top + height + (window.scrollY || 0) : top + (window.scrollY || 0);
47
+ var leftPos = left;
48
+ switch (position) {
49
+ case "left":
50
+ leftPos = left;
51
+ break;
52
+ case "center":
53
+ leftPos = left + width / 2;
54
+ break;
55
+ case "right":
56
+ leftPos = left + width;
57
+ break;
58
+ default:
59
+ break;
60
+ }
61
+ return _objectSpread({
62
+ position: "absolute",
63
+ left: leftPos,
64
+ top: topPos
65
+ }, constrainPanelWidth ? {
66
+ width
67
+ } : null);
68
+ };
69
+
70
+ /**
71
+ * Calculate the adjusted position in relation to the window.
72
+ * @param position - The requested position.
73
+ * @param fitsWindow - The window fitment info.
74
+ * @return The new position.
75
+ */
76
+ export var adjustForWindow = (position, fitsWindow) => {
77
+ var newPosition = position;
78
+ if (!fitsWindow.fromRight.fitsLeft && newPosition === "right") {
79
+ newPosition = "left";
80
+ }
81
+ if (!fitsWindow.fromLeft.fitsRight && newPosition === "left") {
82
+ newPosition = "right";
83
+ }
84
+ // If the menu doesn't fit to the left or the right then center it.
85
+ if (!fitsWindow.fromLeft.fitsRight && !fitsWindow.fromRight.fitsLeft && (newPosition === "left" || newPosition === "right")) {
86
+ newPosition = "center";
87
+ }
88
+ // If the menu doesn't fit when centered then find a new position.
89
+ if (newPosition === "center" && (!fitsWindow.fromCenter.fitsCentered.fitsRight || !fitsWindow.fromCenter.fitsCentered.fitsLeft)) {
90
+ if (fitsWindow.fromLeft.fitsRight) {
91
+ newPosition = "left";
92
+ }
93
+ if (fitsWindow.fromRight.fitsLeft) {
94
+ newPosition = "right";
95
+ }
96
+ }
97
+ return newPosition;
98
+ };
99
+
100
+ /**
101
+ * Generate a menu link
102
+ * @template L - The type of the link props.
103
+ * @param link - A button
104
+ * @param key - A key for the DOM.
105
+ * @param handleClose - The function to close the menu.
106
+ */
107
+ var generateLink = (link, key, handleClose) => {
108
+ var {
109
+ children,
110
+ className,
111
+ onClick
112
+ } = link,
113
+ props = _objectWithoutProperties(link, _excluded);
114
+ return /*#__PURE__*/React.createElement(Button, _extends({
115
+ className: classNames("p-contextual-menu__link", className),
116
+ key: key,
117
+ onClick: onClick ? evt => {
118
+ handleClose(evt.nativeEvent);
119
+ onClick(evt);
120
+ } : null
121
+ }, props), children);
122
+ };
123
+ var getClosestScrollableParent = node => {
124
+ var currentNode = node;
125
+ while (currentNode && currentNode !== document.body) {
126
+ var {
127
+ overflowY,
128
+ overflowX
129
+ } = window.getComputedStyle(currentNode);
130
+ if (["auto", "scroll", "overlay"].includes(overflowY) && ["auto", "scroll", "overlay"].includes(overflowX)) {
131
+ return currentNode;
132
+ }
133
+ currentNode = currentNode.parentElement;
134
+ }
135
+ return document.body;
136
+ };
137
+ var ContextualMenuDropdown = _ref => {
138
+ var {
139
+ adjustedPosition,
140
+ autoAdjust,
141
+ handleClose,
142
+ constrainPanelWidth,
143
+ dropdownClassName,
144
+ dropdownContent,
145
+ id,
146
+ isOpen,
147
+ links,
148
+ position,
149
+ positionCoords,
150
+ positionNode,
151
+ scrollOverflow,
152
+ setAdjustedPosition,
153
+ contextualMenuClassName
154
+ } = _ref,
155
+ props = _objectWithoutProperties(_ref, _excluded2);
156
+ var dropdown = useRef(null);
157
+ var [verticalPosition, setVerticalPosition] = useState("bottom");
158
+ var [positionStyle, setPositionStyle] = useState(getPositionStyle(adjustedPosition, verticalPosition, positionCoords, constrainPanelWidth));
159
+ var [maxHeight, setMaxHeight] = useState();
160
+ // Update the styles to position the menu.
161
+ var updatePositionStyle = useCallback(() => {
162
+ setPositionStyle(getPositionStyle(adjustedPosition, verticalPosition, positionCoords, constrainPanelWidth));
163
+ }, [adjustedPosition, positionCoords, verticalPosition, constrainPanelWidth]);
164
+ var updateVerticalPosition = useCallback(() => {
165
+ var _dropdown$current$get;
166
+ if (!positionNode) {
167
+ return null;
168
+ }
169
+ var scrollableParent = getClosestScrollableParent(positionNode);
170
+ if (!scrollableParent) {
171
+ return null;
172
+ }
173
+ var scrollableParentRect = scrollableParent.getBoundingClientRect();
174
+ var toggleRect = positionNode.getBoundingClientRect();
175
+
176
+ // Calculate the rect in relation to the scrollableParent
177
+ var relativeToScrollParentRect = {
178
+ top: toggleRect.top - scrollableParentRect.top,
179
+ bottom: toggleRect.bottom - scrollableParentRect.top
180
+ };
181
+ var scrollParentSpaceBelow = scrollableParentRect.height - relativeToScrollParentRect.bottom;
182
+ var scrollParentSpaceAbove = relativeToScrollParentRect.top;
183
+ var dropdownHeight = (_dropdown$current$get = dropdown.current.getBoundingClientRect().height) !== null && _dropdown$current$get !== void 0 ? _dropdown$current$get : 0;
184
+ var windowSpaceBelow = window.innerHeight - toggleRect.bottom;
185
+ setVerticalPosition(scrollParentSpaceBelow >= dropdownHeight && windowSpaceBelow >= dropdownHeight || windowSpaceBelow > scrollParentSpaceAbove ? "bottom" : "top");
186
+ }, [positionNode]);
187
+
188
+ // Update the position when the window fitment info changes.
189
+ var onUpdateWindowFitment = useCallback(fitsWindow => {
190
+ if (autoAdjust) {
191
+ setAdjustedPosition(adjustForWindow(position, fitsWindow));
192
+ updateVerticalPosition();
193
+ }
194
+ if (scrollOverflow) {
195
+ setMaxHeight(fitsWindow.fromBottom.spaceBelow - 16);
196
+ }
197
+ }, [autoAdjust, position, scrollOverflow, setAdjustedPosition, updateVerticalPosition]);
198
+
199
+ // Handle adjusting the horizontal position and scrolling of the dropdown so that it remains on screen.
200
+ useWindowFitment(dropdown.current, positionNode, onUpdateWindowFitment, 0, isOpen && (autoAdjust || scrollOverflow));
201
+
202
+ // Update the styles when the position changes.
203
+ useEffect(() => {
204
+ updatePositionStyle();
205
+ }, [adjustedPosition, updatePositionStyle]);
206
+ useEffect(() => {
207
+ updateVerticalPosition();
208
+ }, [updateVerticalPosition]);
209
+ return (
210
+ /*#__PURE__*/
211
+ // Vanilla Framework uses .p-contextual-menu parent modifier classnames to determine the correct position of the .p-contextual-menu__dropdown dropdown (left, center, right).
212
+ // Extra span wrapper is required as the dropdown is rendered in a portal.
213
+ React.createElement("span", {
214
+ className: contextualMenuClassName,
215
+ style: positionStyle
216
+ }, /*#__PURE__*/React.createElement("span", _extends({
217
+ className: classNames("p-contextual-menu__dropdown", dropdownClassName),
218
+ id: id,
219
+ "aria-hidden": isOpen ? "false" : "true",
220
+ "aria-label": Label.Dropdown,
221
+ ref: dropdown,
222
+ style: _objectSpread(_objectSpread(_objectSpread({}, constrainPanelWidth && positionStyle !== null && positionStyle !== void 0 && positionStyle.width ? {
223
+ width: positionStyle.width,
224
+ minWidth: 0,
225
+ maxWidth: "none"
226
+ } : {}), scrollOverflow ? {
227
+ maxHeight,
228
+ minHeight: "2rem",
229
+ overflowX: "auto"
230
+ } : {}), verticalPosition === "top" ? {
231
+ bottom: "0"
232
+ } : {})
233
+ }, props), dropdownContent ? typeof dropdownContent === "function" ? dropdownContent(handleClose) : dropdownContent : links.map((item, i) => {
234
+ if (Array.isArray(item)) {
235
+ return /*#__PURE__*/React.createElement("span", {
236
+ className: "p-contextual-menu__group",
237
+ key: i
238
+ }, item.map((link, j) => generateLink(link, j, handleClose)));
239
+ } else if (typeof item === "string") {
240
+ return /*#__PURE__*/React.createElement("div", {
241
+ className: "p-contextual-menu__non-interactive",
242
+ key: i
243
+ }, item);
244
+ }
245
+ return generateLink(item, i, handleClose);
246
+ })))
247
+ );
248
+ };
249
+ export default ContextualMenuDropdown;
@@ -0,0 +1 @@
1
+ export { default } from "./ContextualMenuDropdown";
@@ -0,0 +1 @@
1
+ export { default } from "./ContextualMenu";
@@ -0,0 +1,28 @@
1
+ var _excluded = ["children", "className", "image", "title"];
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
5
+ import classNames from "classnames";
6
+ import React from "react";
7
+ /**
8
+ * This is a [React](https://reactjs.org/) component to represent an empty state.
9
+ */
10
+ export var EmptyState = _ref => {
11
+ var {
12
+ children,
13
+ className,
14
+ image,
15
+ title
16
+ } = _ref,
17
+ props = _objectWithoutProperties(_ref, _excluded);
18
+ return /*#__PURE__*/React.createElement("div", _extends({
19
+ className: classNames(["row", className])
20
+ }, props), /*#__PURE__*/React.createElement("div", {
21
+ className: "u-align--right col-4 col-medium-2 col-small-1"
22
+ }, image), /*#__PURE__*/React.createElement("div", {
23
+ className: "u-align--left col-8 col-medium-4 col-small-3"
24
+ }, /*#__PURE__*/React.createElement("p", {
25
+ className: "p-heading--4 u-no-margin--bottom"
26
+ }, title), children));
27
+ };
28
+ export default EmptyState;
@@ -0,0 +1 @@
1
+ export { default } from "./EmptyState";
@@ -0,0 +1,126 @@
1
+ var _excluded = ["caution", "children", "className", "error", "forId", "help", "helpClassName", "helpId", "isSelect", "isTickElement", "label", "labelClassName", "labelFirst", "required", "stacked", "success", "validationId"];
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
5
+ import classNames from "classnames";
6
+ import React from "react";
7
+ import Label from "../Label";
8
+ import Col from "../Col";
9
+
10
+ /**
11
+ * The props for the Field component.
12
+ */
13
+
14
+ var generateHelpText = _ref => {
15
+ var {
16
+ help,
17
+ helpId,
18
+ helpClassName,
19
+ isTickElement
20
+ } = _ref;
21
+ return help ? /*#__PURE__*/React.createElement("p", {
22
+ className: classNames("p-form-help-text", helpClassName, {
23
+ "is-tick-element": isTickElement
24
+ }),
25
+ id: helpId
26
+ }, help) : null;
27
+ };
28
+ var generateError = (error, caution, success, validationId) => {
29
+ if (!error && !caution && !success) {
30
+ return null;
31
+ }
32
+ return /*#__PURE__*/React.createElement("p", {
33
+ className: "p-form-validation__message",
34
+ id: validationId
35
+ }, error || caution || success);
36
+ };
37
+ var generateLabel = (forId, required, label, labelClassName, stacked) => {
38
+ if (!label) {
39
+ return null;
40
+ }
41
+ var labelNode = /*#__PURE__*/React.createElement(Label, {
42
+ className: labelClassName,
43
+ forId: forId,
44
+ required: required
45
+ }, label);
46
+ if (stacked) {
47
+ return /*#__PURE__*/React.createElement(Col, {
48
+ size: 4
49
+ }, labelNode);
50
+ }
51
+ return labelNode;
52
+ };
53
+ var generateContent = _ref2 => {
54
+ var {
55
+ isSelect,
56
+ children,
57
+ labelFirst,
58
+ labelNode,
59
+ help,
60
+ helpClassName,
61
+ error,
62
+ caution,
63
+ success,
64
+ validationId,
65
+ helpId,
66
+ isTickElement
67
+ } = _ref2;
68
+ return /*#__PURE__*/React.createElement("div", {
69
+ className: "p-form__control u-clearfix"
70
+ }, isSelect ? /*#__PURE__*/React.createElement("div", {
71
+ className: "p-form-validation__select-wrapper"
72
+ }, children) : children, !labelFirst && labelNode, generateHelpText({
73
+ helpId,
74
+ help,
75
+ helpClassName,
76
+ isTickElement
77
+ }), generateError(error, caution, success, validationId));
78
+ };
79
+ var Field = _ref3 => {
80
+ var {
81
+ caution,
82
+ children,
83
+ className,
84
+ error,
85
+ forId,
86
+ help,
87
+ helpClassName,
88
+ helpId,
89
+ isSelect,
90
+ isTickElement,
91
+ label,
92
+ labelClassName,
93
+ labelFirst = true,
94
+ required,
95
+ stacked,
96
+ success,
97
+ validationId
98
+ } = _ref3,
99
+ props = _objectWithoutProperties(_ref3, _excluded);
100
+ var labelNode = generateLabel(forId, required, label, labelClassName, stacked);
101
+ var content = generateContent({
102
+ isSelect,
103
+ isTickElement,
104
+ children,
105
+ labelFirst,
106
+ labelNode,
107
+ help,
108
+ helpClassName,
109
+ error,
110
+ caution,
111
+ success,
112
+ validationId,
113
+ helpId
114
+ });
115
+ return /*#__PURE__*/React.createElement("div", _extends({
116
+ className: classNames("p-form__group", "p-form-validation", className, {
117
+ "is-error": error,
118
+ "is-caution": caution,
119
+ "is-success": success,
120
+ row: stacked
121
+ })
122
+ }, props), labelFirst && labelNode, stacked ? /*#__PURE__*/React.createElement(Col, {
123
+ size: 8
124
+ }, content) : content);
125
+ };
126
+ export default Field;
@@ -0,0 +1 @@
1
+ export { default } from "./Field";
@@ -0,0 +1,28 @@
1
+ var _excluded = ["children", "className", "inline", "stacked"];
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
5
+ import classNames from "classnames";
6
+ import React from "react";
7
+ /**
8
+ * This is a [React](https://reactjs.org/) component for the Vanilla [Form](https://docs.vanillaframework.io/base/forms).
9
+ *
10
+ * Form controls have global styling defined at the HTML element level. Labels and most input types are 100% width of the `<form>` parent element.
11
+ */
12
+ var Form = _ref => {
13
+ var {
14
+ children,
15
+ className,
16
+ inline,
17
+ stacked
18
+ } = _ref,
19
+ props = _objectWithoutProperties(_ref, _excluded);
20
+ return /*#__PURE__*/React.createElement("form", _extends({
21
+ className: classNames(className, {
22
+ "p-form": inline || stacked,
23
+ "p-form--inline": inline,
24
+ "p-form--stacked": stacked
25
+ })
26
+ }, props), children);
27
+ };
28
+ export default Form;
@@ -0,0 +1 @@
1
+ export { default } from "./Form";