@carbon/react 0.17.0 → 1.0.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 (763) hide show
  1. package/README.md +1 -1
  2. package/es/_virtual/ResizeObserver.es.js +13 -0
  3. package/es/_virtual/_commonjsHelpers.js +29 -0
  4. package/es/_virtual/_rollupPluginBabelHelpers.js +354 -0
  5. package/es/{prefix.js → _virtual/index.js} +2 -2
  6. package/es/_virtual/rangePlugin.js +10 -0
  7. package/es/components/Accordion/Accordion.Skeleton.js +97 -0
  8. package/es/components/Accordion/Accordion.js +68 -0
  9. package/es/components/Accordion/AccordionItem.js +176 -0
  10. package/es/components/Accordion/index.js +9 -0
  11. package/es/components/AccordionItem/index.js +11 -0
  12. package/es/components/AspectRatio/AspectRatio.js +67 -0
  13. package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +45 -0
  14. package/es/components/Breadcrumb/Breadcrumb.js +58 -0
  15. package/es/components/Breadcrumb/BreadcrumbItem.js +94 -0
  16. package/es/components/Button/Button.Skeleton.js +69 -0
  17. package/es/components/Button/Button.js +289 -0
  18. package/es/components/ButtonSet/ButtonSet.js +48 -0
  19. package/es/components/Checkbox/Checkbox.Skeleton.js +36 -0
  20. package/es/components/Checkbox/Checkbox.js +123 -0
  21. package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +58 -0
  22. package/es/components/CodeSnippet/CodeSnippet.js +364 -0
  23. package/es/components/ComboBox/ComboBox.js +530 -0
  24. package/es/components/ComboBox/tools/filter.js +20 -0
  25. package/es/components/ComposedModal/ComposedModal.js +630 -0
  26. package/es/components/ComposedModal/index.js +19 -0
  27. package/es/components/ComposedModal/next/ComposedModal.js +223 -0
  28. package/es/components/ComposedModal/next/ModalFooter.js +213 -0
  29. package/es/components/ComposedModal/next/ModalHeader.js +127 -0
  30. package/es/components/ContentSwitcher/ContentSwitcher.js +185 -0
  31. package/es/components/ContentSwitcher/index.js +13 -0
  32. package/es/components/ContextMenu/useContextMenu.js +57 -0
  33. package/es/components/Copy/Copy.js +124 -0
  34. package/es/components/CopyButton/CopyButton.js +67 -0
  35. package/es/components/DangerButton/DangerButton.js +20 -0
  36. package/es/components/DataTable/DataTable.js +629 -0
  37. package/es/components/DataTable/Table.js +82 -0
  38. package/es/components/DataTable/TableActionList.js +17 -0
  39. package/es/components/DataTable/TableBatchAction.js +46 -0
  40. package/es/components/DataTable/TableBatchActions.js +110 -0
  41. package/es/components/DataTable/TableBody.js +37 -0
  42. package/es/components/DataTable/TableCell.js +16 -0
  43. package/es/components/DataTable/TableContainer.js +66 -0
  44. package/es/components/DataTable/TableExpandHeader.js +86 -0
  45. package/es/components/DataTable/TableExpandRow.js +93 -0
  46. package/es/components/DataTable/TableExpandedRow.js +75 -0
  47. package/es/components/DataTable/TableHead.js +16 -0
  48. package/es/components/DataTable/TableHeader.js +187 -0
  49. package/es/components/DataTable/TableRow.js +41 -0
  50. package/es/components/DataTable/TableSelectAll.js +84 -0
  51. package/es/components/DataTable/TableSelectRow.js +97 -0
  52. package/es/components/DataTable/TableToolbar.js +47 -0
  53. package/es/components/DataTable/TableToolbarAction.js +31 -0
  54. package/es/components/DataTable/TableToolbarContent.js +17 -0
  55. package/es/components/DataTable/TableToolbarMenu.js +61 -0
  56. package/es/components/DataTable/TableToolbarSearch.js +233 -0
  57. package/es/components/DataTable/index.js +72 -0
  58. package/es/components/DataTable/state/getDerivedStateFromProps.js +52 -0
  59. package/es/components/DataTable/state/sortStates.js +19 -0
  60. package/es/components/DataTable/state/sorting.js +93 -0
  61. package/es/components/DataTable/tools/cells.js +21 -0
  62. package/es/components/DataTable/tools/denormalize.js +43 -0
  63. package/es/components/DataTable/tools/filter.js +42 -0
  64. package/es/components/DataTable/tools/instanceId.js +21 -0
  65. package/es/components/DataTable/tools/normalize.js +78 -0
  66. package/es/components/DataTable/tools/sorting.js +110 -0
  67. package/es/components/DataTableSkeleton/DataTableSkeleton.js +133 -0
  68. package/es/components/DatePicker/DatePicker.Skeleton.js +69 -0
  69. package/es/components/DatePicker/DatePicker.js +622 -0
  70. package/es/components/DatePicker/index.js +15 -0
  71. package/es/components/DatePicker/next/DatePicker.js +558 -0
  72. package/es/components/DatePicker/plugins/appendToPlugin.js +58 -0
  73. package/es/components/DatePicker/plugins/fixEventsPlugin.js +89 -0
  74. package/es/components/DatePicker/plugins/rangePlugin.js +51 -0
  75. package/es/components/DatePickerInput/DatePickerInput.js +271 -0
  76. package/es/components/DatePickerInput/index.js +15 -0
  77. package/es/components/DatePickerInput/next/DatePickerInput.js +244 -0
  78. package/es/components/Dropdown/Dropdown.Skeleton.js +46 -0
  79. package/es/components/Dropdown/Dropdown.js +322 -0
  80. package/es/components/ErrorBoundary/ErrorBoundary.js +96 -0
  81. package/es/components/ErrorBoundary/ErrorBoundaryContext.js +16 -0
  82. package/es/components/ExpandableSearch/ExpandableSearch.js +61 -0
  83. package/es/components/ExpandableSearch/index.js +9 -0
  84. package/es/components/FeatureFlags/index.js +169 -0
  85. package/es/components/FileUploader/FileUploader.Skeleton.js +43 -0
  86. package/es/components/FileUploader/FileUploader.js +284 -0
  87. package/es/components/FileUploader/FileUploaderButton.js +198 -0
  88. package/es/components/FileUploader/FileUploaderDropContainer.js +223 -0
  89. package/es/components/FileUploader/FileUploaderItem.js +130 -0
  90. package/es/components/FileUploader/Filename.js +82 -0
  91. package/es/components/FileUploader/index.js +14 -0
  92. package/es/components/FluidForm/FluidForm.js +46 -0
  93. package/es/components/FluidForm/FormContext.js +14 -0
  94. package/es/components/Form/Form.js +41 -0
  95. package/es/components/FormGroup/FormGroup.js +87 -0
  96. package/es/components/FormItem/FormItem.js +41 -0
  97. package/es/components/FormLabel/FormLabel.js +48 -0
  98. package/es/components/Grid/CSSGrid.js +139 -0
  99. package/es/components/Grid/Column.js +363 -0
  100. package/es/components/Grid/ColumnHang.js +51 -0
  101. package/es/components/Grid/FlexGrid.js +76 -0
  102. package/es/components/Grid/Grid.js +63 -0
  103. package/es/components/Grid/GridContext.js +60 -0
  104. package/es/components/Grid/Row.js +65 -0
  105. package/es/components/Heading/index.js +62 -0
  106. package/es/components/Icon/Icon.Skeleton.js +45 -0
  107. package/es/components/IconButton/index.js +88 -0
  108. package/es/components/InlineCheckbox/InlineCheckbox.js +122 -0
  109. package/es/components/InlineLoading/InlineLoading.js +111 -0
  110. package/es/components/Layer/LayerContext.js +12 -0
  111. package/es/components/Layer/index.js +62 -0
  112. package/es/components/Link/Link.js +95 -0
  113. package/es/components/ListBox/ListBox.js +139 -0
  114. package/es/components/ListBox/ListBoxField.js +62 -0
  115. package/es/components/ListBox/ListBoxMenu.js +56 -0
  116. package/es/components/ListBox/ListBoxMenuIcon.js +61 -0
  117. package/es/components/ListBox/ListBoxMenuItem.js +87 -0
  118. package/es/components/ListBox/ListBoxPropTypes.js +14 -0
  119. package/es/components/ListBox/ListBoxSelection.js +148 -0
  120. package/es/components/ListBox/index.js +20 -0
  121. package/es/components/ListBox/next/ListBoxSelection.js +155 -0
  122. package/es/components/ListBox/next/ListBoxTrigger.js +68 -0
  123. package/es/components/ListItem/ListItem.js +41 -0
  124. package/es/components/Loading/Loading.js +102 -0
  125. package/es/components/Menu/Menu.js +328 -0
  126. package/es/components/Menu/MenuDivider.js +19 -0
  127. package/es/components/Menu/MenuGroup.js +34 -0
  128. package/es/components/Menu/MenuItem.js +58 -0
  129. package/es/components/Menu/MenuOption.js +250 -0
  130. package/es/components/Menu/MenuRadioGroup.js +50 -0
  131. package/es/components/Menu/MenuRadioGroupOptions.js +64 -0
  132. package/es/components/Menu/MenuSelectableItem.js +57 -0
  133. package/es/components/Menu/_utils.js +177 -0
  134. package/es/components/Menu/index.js +25 -0
  135. package/es/components/Modal/Modal.js +343 -0
  136. package/es/components/Modal/index.js +15 -0
  137. package/es/components/Modal/next/Modal.js +274 -0
  138. package/es/components/ModalWrapper/ModalWrapper.js +164 -0
  139. package/es/components/MultiSelect/FilterableMultiSelect.js +575 -0
  140. package/es/components/MultiSelect/MultiSelect.js +467 -0
  141. package/es/components/MultiSelect/MultiSelectPropTypes.js +41 -0
  142. package/es/components/MultiSelect/index.js +23 -0
  143. package/es/components/MultiSelect/next/FilterableMultiSelect.js +531 -0
  144. package/es/components/MultiSelect/tools/itemToString.js +24 -0
  145. package/es/components/MultiSelect/tools/sorting.js +53 -0
  146. package/es/components/Notification/Notification.js +530 -0
  147. package/es/components/Notification/index.js +42 -0
  148. package/es/components/Notification/next/Notification.js +663 -0
  149. package/es/components/NumberInput/NumberInput.Skeleton.js +44 -0
  150. package/es/components/NumberInput/NumberInput.js +515 -0
  151. package/es/components/OrderedList/OrderedList.js +66 -0
  152. package/es/components/OverflowMenu/OverflowMenu.js +516 -0
  153. package/es/components/OverflowMenu/index.js +14 -0
  154. package/es/components/OverflowMenuItem/OverflowMenuItem.js +213 -0
  155. package/es/components/OverflowMenuItem/index.js +12 -0
  156. package/es/components/OverflowMenuV2/index.js +137 -0
  157. package/es/components/Pagination/Pagination.Skeleton.js +48 -0
  158. package/es/components/Pagination/Pagination.js +420 -0
  159. package/es/components/Pagination/experimental/PageSelector.js +81 -0
  160. package/es/components/Pagination/experimental/Pagination.js +281 -0
  161. package/es/components/Pagination/index.js +14 -0
  162. package/es/components/Pagination/next/Pagination.js +401 -0
  163. package/es/components/PaginationNav/PaginationNav.js +436 -0
  164. package/es/components/Popover/index.js +118 -0
  165. package/es/components/PrimaryButton/PrimaryButton.js +20 -0
  166. package/es/components/ProgressBar/ProgressBar.js +110 -0
  167. package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +50 -0
  168. package/es/components/ProgressIndicator/ProgressIndicator.js +323 -0
  169. package/es/components/ProgressIndicator/index.js +15 -0
  170. package/es/components/ProgressIndicator/next/ProgressIndicator.js +117 -0
  171. package/es/components/RadioButton/RadioButton.Skeleton.js +37 -0
  172. package/es/components/RadioButton/RadioButton.js +172 -0
  173. package/es/components/RadioButton/index.js +15 -0
  174. package/es/components/RadioButton/next/RadioButton.js +128 -0
  175. package/es/components/RadioButtonGroup/RadioButtonGroup.js +190 -0
  176. package/es/components/RadioButtonGroup/index.js +15 -0
  177. package/es/components/RadioButtonGroup/next/RadioButtonGroup.js +141 -0
  178. package/es/components/RadioTile/RadioTile.js +140 -0
  179. package/es/components/Search/Search.Skeleton.js +50 -0
  180. package/es/components/Search/Search.js +289 -0
  181. package/es/components/Search/index.js +15 -0
  182. package/es/components/Search/next/Search.js +268 -0
  183. package/es/components/SearchFilterButton/SearchFilterButton.js +61 -0
  184. package/es/components/SearchLayoutButton/SearchLayoutButton.js +151 -0
  185. package/es/components/SecondaryButton/SecondaryButton.js +20 -0
  186. package/es/components/Select/Select.Skeleton.js +46 -0
  187. package/es/components/Select/Select.js +203 -0
  188. package/es/components/SelectItem/SelectItem.js +70 -0
  189. package/es/components/SelectItemGroup/SelectItemGroup.js +60 -0
  190. package/es/components/SkeletonIcon/SkeletonIcon.js +42 -0
  191. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +37 -0
  192. package/es/components/SkeletonText/SkeletonText.js +114 -0
  193. package/es/components/Slider/Slider.Skeleton.js +56 -0
  194. package/es/components/Slider/Slider.js +639 -0
  195. package/es/components/Slider/index.js +14 -0
  196. package/es/components/Stack/Stack.js +102 -0
  197. package/es/components/Stack/index.js +26 -0
  198. package/es/components/StructuredList/StructuredList.Skeleton.js +82 -0
  199. package/es/components/StructuredList/StructuredList.js +307 -0
  200. package/es/components/StructuredList/index.js +43 -0
  201. package/es/components/StructuredList/next/StructuredList.js +326 -0
  202. package/es/components/Switch/Switch.js +124 -0
  203. package/es/components/Tab/Tab.js +191 -0
  204. package/es/components/Tab/index.js +15 -0
  205. package/es/components/TabContent/TabContent.js +77 -0
  206. package/es/components/Tabs/Tabs.Skeleton.js +53 -0
  207. package/es/components/Tabs/Tabs.js +618 -0
  208. package/es/components/Tabs/index.js +19 -0
  209. package/es/components/Tabs/next/Tabs.Skeleton.js +53 -0
  210. package/es/components/Tabs/next/Tabs.js +648 -0
  211. package/es/components/Tabs/next/usePressable.js +145 -0
  212. package/es/components/Tag/Tag.Skeleton.js +40 -0
  213. package/es/components/Tag/Tag.js +146 -0
  214. package/es/components/Text/Text.js +98 -0
  215. package/es/components/Text/TextDirectionContext.js +12 -0
  216. package/es/components/Text/createTextComponent.js +33 -0
  217. package/es/components/Text/index.js +13 -0
  218. package/es/components/TextArea/TextArea.Skeleton.js +44 -0
  219. package/es/components/TextArea/TextArea.js +220 -0
  220. package/es/components/TextInput/ControlledPasswordInput.js +234 -0
  221. package/es/components/TextInput/PasswordInput.js +286 -0
  222. package/es/components/TextInput/TextInput.Skeleton.js +44 -0
  223. package/es/components/TextInput/TextInput.js +239 -0
  224. package/es/components/TextInput/index.js +20 -0
  225. package/es/components/TextInput/util.js +33 -0
  226. package/es/components/Theme/index.js +103 -0
  227. package/es/components/Tile/Tile.js +767 -0
  228. package/es/components/Tile/index.js +19 -0
  229. package/es/components/Tile/next/Tile.js +608 -0
  230. package/es/components/TileGroup/TileGroup.js +164 -0
  231. package/es/components/TileGroup/index.js +13 -0
  232. package/es/components/TimePicker/TimePicker.js +256 -0
  233. package/es/components/TimePicker/index.js +15 -0
  234. package/es/components/TimePicker/next/TimePicker.js +218 -0
  235. package/es/components/TimePickerSelect/TimePickerSelect.js +82 -0
  236. package/es/components/TimePickerSelect/index.js +15 -0
  237. package/es/components/TimePickerSelect/next/TimePickerSelect.js +71 -0
  238. package/es/components/Toggle/Toggle.Skeleton.js +74 -0
  239. package/es/components/Toggle/Toggle.js +120 -0
  240. package/es/components/Toggle/index.js +19 -0
  241. package/es/components/Toggle/next/Toggle.js +158 -0
  242. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +71 -0
  243. package/es/components/ToggleSmall/ToggleSmall.js +104 -0
  244. package/es/components/Toolbar/Toolbar.js +121 -0
  245. package/es/components/ToolbarSearch/ToolbarSearch.js +168 -0
  246. package/es/components/Tooltip/next/DefinitionTooltip.js +122 -0
  247. package/es/components/Tooltip/next/Tooltip.js +154 -0
  248. package/es/components/TreeView/TreeNode.js +325 -0
  249. package/es/components/TreeView/TreeView.js +252 -0
  250. package/es/components/TreeView/index.js +13 -0
  251. package/es/components/UIShell/Content.js +50 -0
  252. package/es/components/UIShell/Header.js +37 -0
  253. package/es/components/UIShell/HeaderContainer.js +44 -0
  254. package/es/components/UIShell/HeaderGlobalAction.js +87 -0
  255. package/es/components/UIShell/HeaderGlobalBar.js +20 -0
  256. package/es/components/UIShell/HeaderMenu.js +240 -0
  257. package/es/components/UIShell/HeaderMenuButton.js +69 -0
  258. package/es/components/UIShell/HeaderMenuItem.js +73 -0
  259. package/es/components/UIShell/HeaderName.js +62 -0
  260. package/es/components/UIShell/HeaderNavigation.js +100 -0
  261. package/es/components/UIShell/HeaderPanel.js +52 -0
  262. package/es/components/UIShell/HeaderSideNavItems.js +50 -0
  263. package/es/components/UIShell/Link.js +49 -0
  264. package/es/components/UIShell/SideNav.js +227 -0
  265. package/es/components/UIShell/SideNavDetails.js +46 -0
  266. package/es/components/UIShell/SideNavDivider.js +30 -0
  267. package/es/components/UIShell/SideNavFooter.js +78 -0
  268. package/es/components/UIShell/SideNavHeader.js +50 -0
  269. package/es/components/UIShell/SideNavIcon.js +49 -0
  270. package/es/components/UIShell/SideNavItem.js +47 -0
  271. package/es/components/UIShell/SideNavItems.js +56 -0
  272. package/es/components/UIShell/SideNavLink.js +74 -0
  273. package/es/components/UIShell/SideNavLinkText.js +41 -0
  274. package/es/components/UIShell/SideNavMenu.js +198 -0
  275. package/es/components/UIShell/SideNavMenuItem.js +57 -0
  276. package/es/components/UIShell/SideNavSwitcher.js +80 -0
  277. package/es/components/UIShell/SkipToContent.js +57 -0
  278. package/es/components/UIShell/Switcher.js +45 -0
  279. package/es/components/UIShell/SwitcherDivider.js +35 -0
  280. package/es/components/UIShell/SwitcherItem.js +62 -0
  281. package/es/components/UIShell/_utils.js +10 -0
  282. package/es/components/UIShell/index.js +17 -0
  283. package/es/components/UIShell/next/HeaderNavigation.js +52 -0
  284. package/es/components/UIShell/next/SideNavMenu.js +160 -0
  285. package/es/components/UnorderedList/UnorderedList.js +59 -0
  286. package/es/index.js +188 -2
  287. package/es/internal/ClickListener.js +101 -0
  288. package/es/internal/ComponentToggle.js +42 -0
  289. package/es/internal/FeatureFlags.js +52 -0
  290. package/es/internal/FloatingMenu.js +483 -0
  291. package/es/internal/OptimizedResize.js +65 -0
  292. package/es/internal/Selection.js +243 -0
  293. package/es/internal/createClassWrapper.js +31 -0
  294. package/es/internal/deprecateFieldOnObject.js +26 -0
  295. package/es/internal/environment.js +15 -0
  296. package/es/internal/focus/index.js +16 -0
  297. package/es/internal/keyboard/keys.js +65 -0
  298. package/es/internal/keyboard/match.js +82 -0
  299. package/es/internal/keyboard/navigation.js +61 -0
  300. package/es/internal/useControllableState.js +86 -0
  301. package/es/internal/useDelayedState.js +54 -0
  302. package/es/internal/useEffectOnce.js +31 -0
  303. package/es/internal/useId.js +59 -0
  304. package/es/internal/useIsomorphicEffect.js +13 -0
  305. package/es/internal/useMatchMedia.js +51 -0
  306. package/es/internal/useMergedRefs.js +31 -0
  307. package/es/internal/useNoInteractiveChildren.js +92 -0
  308. package/es/internal/useNormalizedInputProps.js +88 -0
  309. package/es/internal/usePrefix.js +15 -0
  310. package/es/internal/useSavedCallback.js +32 -0
  311. package/es/internal/warning.js +28 -0
  312. package/es/internal/wrapFocus.js +75 -0
  313. package/es/node_modules/flatpickr/dist/l10n/index.js +1423 -0
  314. package/es/node_modules/flatpickr/dist/plugins/rangePlugin.js +196 -0
  315. package/es/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1112 -0
  316. package/es/node_modules/use-resize-observer/polyfilled.js +112 -0
  317. package/es/prop-types/AriaPropTypes.js +16 -0
  318. package/es/prop-types/deprecate.js +33 -0
  319. package/es/prop-types/isRequiredOneOf.js +47 -0
  320. package/es/prop-types/requiredIfGivenPropIsTruthy.js +29 -0
  321. package/es/prop-types/requiredIfValueExists.js +32 -0
  322. package/es/prop-types/types.js +10 -0
  323. package/es/tools/array.js +32 -0
  324. package/es/tools/events.js +35 -0
  325. package/es/tools/mergeRefs.js +31 -0
  326. package/es/tools/setupGetInstanceId.js +19 -0
  327. package/es/tools/toggleClass.js +14 -0
  328. package/es/tools/uniqueId.js +15 -0
  329. package/es/tools/wrapComponent.js +42 -0
  330. package/icons/es/index.js +1 -1
  331. package/icons/lib/index.js +7 -1952
  332. package/index.scss +1 -0
  333. package/lib/_virtual/ResizeObserver.es.js +17 -0
  334. package/lib/_virtual/_commonjsHelpers.js +35 -0
  335. package/lib/_virtual/_rollupPluginBabelHelpers.js +383 -0
  336. package/lib/{prefix.js → _virtual/index.js} +4 -2
  337. package/lib/_virtual/rangePlugin.js +14 -0
  338. package/lib/components/Accordion/Accordion.Skeleton.js +107 -0
  339. package/lib/components/Accordion/Accordion.js +97 -0
  340. package/lib/components/Accordion/AccordionItem.js +186 -0
  341. package/lib/components/Accordion/index.js +16 -0
  342. package/lib/components/AccordionItem/index.js +16 -0
  343. package/lib/components/AspectRatio/AspectRatio.js +77 -0
  344. package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +55 -0
  345. package/lib/components/Breadcrumb/Breadcrumb.js +68 -0
  346. package/lib/components/Breadcrumb/BreadcrumbItem.js +104 -0
  347. package/lib/components/Button/Button.Skeleton.js +98 -0
  348. package/lib/components/Button/Button.js +299 -0
  349. package/lib/components/ButtonSet/ButtonSet.js +58 -0
  350. package/lib/components/Checkbox/Checkbox.Skeleton.js +46 -0
  351. package/lib/components/Checkbox/Checkbox.js +133 -0
  352. package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +68 -0
  353. package/lib/components/CodeSnippet/CodeSnippet.js +375 -0
  354. package/lib/components/ComboBox/ComboBox.js +541 -0
  355. package/lib/components/ComboBox/tools/filter.js +24 -0
  356. package/lib/components/ComposedModal/ComposedModal.js +643 -0
  357. package/lib/components/ComposedModal/index.js +45 -0
  358. package/lib/components/ComposedModal/next/ComposedModal.js +234 -0
  359. package/lib/components/ComposedModal/next/ModalFooter.js +223 -0
  360. package/lib/components/ComposedModal/next/ModalHeader.js +137 -0
  361. package/lib/components/ContentSwitcher/ContentSwitcher.js +195 -0
  362. package/lib/components/ContentSwitcher/index.js +17 -0
  363. package/lib/components/ContextMenu/useContextMenu.js +61 -0
  364. package/lib/components/Copy/Copy.js +154 -0
  365. package/lib/components/CopyButton/CopyButton.js +77 -0
  366. package/lib/components/DangerButton/DangerButton.js +28 -0
  367. package/lib/components/DataTable/DataTable.js +639 -0
  368. package/lib/components/DataTable/Table.js +93 -0
  369. package/lib/components/DataTable/TableActionList.js +21 -0
  370. package/lib/components/DataTable/TableBatchAction.js +55 -0
  371. package/lib/components/DataTable/TableBatchActions.js +120 -0
  372. package/lib/components/DataTable/TableBody.js +46 -0
  373. package/lib/components/DataTable/TableCell.js +20 -0
  374. package/lib/components/DataTable/TableContainer.js +76 -0
  375. package/lib/components/DataTable/TableExpandHeader.js +96 -0
  376. package/lib/components/DataTable/TableExpandRow.js +103 -0
  377. package/lib/components/DataTable/TableExpandedRow.js +85 -0
  378. package/lib/components/DataTable/TableHead.js +20 -0
  379. package/lib/components/DataTable/TableHeader.js +197 -0
  380. package/lib/components/DataTable/TableRow.js +52 -0
  381. package/lib/components/DataTable/TableSelectAll.js +94 -0
  382. package/lib/components/DataTable/TableSelectRow.js +107 -0
  383. package/lib/components/DataTable/TableToolbar.js +57 -0
  384. package/lib/components/DataTable/TableToolbarAction.js +40 -0
  385. package/lib/components/DataTable/TableToolbarContent.js +21 -0
  386. package/lib/components/DataTable/TableToolbarMenu.js +71 -0
  387. package/lib/components/DataTable/TableToolbarSearch.js +243 -0
  388. package/lib/components/DataTable/index.js +76 -0
  389. package/lib/components/DataTable/state/getDerivedStateFromProps.js +56 -0
  390. package/lib/components/DataTable/state/sortStates.js +23 -0
  391. package/lib/components/DataTable/state/sorting.js +100 -0
  392. package/lib/components/DataTable/tools/cells.js +25 -0
  393. package/lib/components/DataTable/tools/denormalize.js +47 -0
  394. package/lib/components/DataTable/tools/filter.js +46 -0
  395. package/lib/components/DataTable/tools/instanceId.js +25 -0
  396. package/lib/components/DataTable/tools/normalize.js +82 -0
  397. package/lib/components/DataTable/tools/sorting.js +117 -0
  398. package/lib/components/DataTableSkeleton/DataTableSkeleton.js +143 -0
  399. package/lib/components/DatePicker/DatePicker.Skeleton.js +79 -0
  400. package/lib/components/DatePicker/DatePicker.js +633 -0
  401. package/lib/components/DatePicker/index.js +39 -0
  402. package/lib/components/DatePicker/next/DatePicker.js +569 -0
  403. package/lib/components/DatePicker/plugins/appendToPlugin.js +62 -0
  404. package/lib/components/DatePicker/plugins/fixEventsPlugin.js +93 -0
  405. package/lib/components/DatePicker/plugins/rangePlugin.js +55 -0
  406. package/lib/components/DatePickerInput/DatePickerInput.js +281 -0
  407. package/lib/components/DatePickerInput/index.js +39 -0
  408. package/lib/components/DatePickerInput/next/DatePickerInput.js +254 -0
  409. package/lib/components/Dropdown/Dropdown.Skeleton.js +56 -0
  410. package/lib/components/Dropdown/Dropdown.js +332 -0
  411. package/lib/components/ErrorBoundary/ErrorBoundary.js +105 -0
  412. package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +20 -0
  413. package/lib/components/ExpandableSearch/ExpandableSearch.js +70 -0
  414. package/lib/components/ExpandableSearch/index.js +16 -0
  415. package/lib/components/FeatureFlags/index.js +181 -0
  416. package/lib/components/FileUploader/FileUploader.Skeleton.js +53 -0
  417. package/lib/components/FileUploader/FileUploader.js +313 -0
  418. package/lib/components/FileUploader/FileUploaderButton.js +227 -0
  419. package/lib/components/FileUploader/FileUploaderDropContainer.js +233 -0
  420. package/lib/components/FileUploader/FileUploaderItem.js +159 -0
  421. package/lib/components/FileUploader/Filename.js +91 -0
  422. package/lib/components/FileUploader/index.js +38 -0
  423. package/lib/components/FluidForm/FluidForm.js +56 -0
  424. package/lib/components/FluidForm/FormContext.js +18 -0
  425. package/lib/components/Form/Form.js +51 -0
  426. package/lib/components/FormGroup/FormGroup.js +97 -0
  427. package/lib/components/FormItem/FormItem.js +51 -0
  428. package/lib/components/FormLabel/FormLabel.js +77 -0
  429. package/lib/components/Grid/CSSGrid.js +149 -0
  430. package/lib/components/Grid/Column.js +392 -0
  431. package/lib/components/Grid/ColumnHang.js +61 -0
  432. package/lib/components/Grid/FlexGrid.js +86 -0
  433. package/lib/components/Grid/Grid.js +72 -0
  434. package/lib/components/Grid/GridContext.js +88 -0
  435. package/lib/components/Grid/Row.js +75 -0
  436. package/lib/components/Heading/index.js +72 -0
  437. package/lib/components/Icon/Icon.Skeleton.js +55 -0
  438. package/lib/components/IconButton/index.js +97 -0
  439. package/lib/components/InlineCheckbox/InlineCheckbox.js +131 -0
  440. package/lib/components/InlineLoading/InlineLoading.js +121 -0
  441. package/lib/components/Layer/LayerContext.js +20 -0
  442. package/lib/components/Layer/index.js +72 -0
  443. package/lib/components/Link/Link.js +105 -0
  444. package/lib/components/ListBox/ListBox.js +149 -0
  445. package/lib/components/ListBox/ListBoxField.js +71 -0
  446. package/lib/components/ListBox/ListBoxMenu.js +65 -0
  447. package/lib/components/ListBox/ListBoxMenuIcon.js +72 -0
  448. package/lib/components/ListBox/ListBoxMenuItem.js +97 -0
  449. package/lib/components/ListBox/ListBoxPropTypes.js +42 -0
  450. package/lib/components/ListBox/ListBoxSelection.js +159 -0
  451. package/lib/components/ListBox/index.js +25 -0
  452. package/lib/components/ListBox/next/ListBoxSelection.js +166 -0
  453. package/lib/components/ListBox/next/ListBoxTrigger.js +79 -0
  454. package/lib/components/ListItem/ListItem.js +51 -0
  455. package/lib/components/Loading/Loading.js +112 -0
  456. package/lib/components/Menu/Menu.js +339 -0
  457. package/lib/components/Menu/MenuDivider.js +27 -0
  458. package/lib/components/Menu/MenuGroup.js +43 -0
  459. package/lib/components/Menu/MenuItem.js +67 -0
  460. package/lib/components/Menu/MenuOption.js +260 -0
  461. package/lib/components/Menu/MenuRadioGroup.js +59 -0
  462. package/lib/components/Menu/MenuRadioGroupOptions.js +73 -0
  463. package/lib/components/Menu/MenuSelectableItem.js +66 -0
  464. package/lib/components/Menu/_utils.js +191 -0
  465. package/lib/components/Menu/index.js +30 -0
  466. package/lib/components/Modal/Modal.js +353 -0
  467. package/lib/components/Modal/index.js +39 -0
  468. package/lib/components/Modal/next/Modal.js +284 -0
  469. package/lib/components/ModalWrapper/ModalWrapper.js +173 -0
  470. package/lib/components/MultiSelect/FilterableMultiSelect.js +587 -0
  471. package/lib/components/MultiSelect/MultiSelect.js +479 -0
  472. package/lib/components/MultiSelect/MultiSelectPropTypes.js +49 -0
  473. package/lib/components/MultiSelect/index.js +47 -0
  474. package/lib/components/MultiSelect/next/FilterableMultiSelect.js +543 -0
  475. package/lib/components/MultiSelect/tools/itemToString.js +32 -0
  476. package/lib/components/MultiSelect/tools/sorting.js +58 -0
  477. package/lib/components/Notification/Notification.js +544 -0
  478. package/lib/components/Notification/index.js +51 -0
  479. package/lib/components/Notification/next/Notification.js +677 -0
  480. package/lib/components/NumberInput/NumberInput.Skeleton.js +54 -0
  481. package/lib/components/NumberInput/NumberInput.js +546 -0
  482. package/lib/components/OrderedList/OrderedList.js +76 -0
  483. package/lib/components/OverflowMenu/OverflowMenu.js +547 -0
  484. package/lib/components/OverflowMenu/index.js +38 -0
  485. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +242 -0
  486. package/lib/components/OverflowMenuItem/index.js +16 -0
  487. package/lib/components/OverflowMenuV2/index.js +147 -0
  488. package/lib/components/Pagination/Pagination.Skeleton.js +58 -0
  489. package/lib/components/Pagination/Pagination.js +430 -0
  490. package/lib/components/Pagination/experimental/PageSelector.js +91 -0
  491. package/lib/components/Pagination/experimental/Pagination.js +310 -0
  492. package/lib/components/Pagination/index.js +38 -0
  493. package/lib/components/Pagination/next/Pagination.js +411 -0
  494. package/lib/components/PaginationNav/PaginationNav.js +465 -0
  495. package/lib/components/Popover/index.js +129 -0
  496. package/lib/components/PrimaryButton/PrimaryButton.js +28 -0
  497. package/lib/components/ProgressBar/ProgressBar.js +120 -0
  498. package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +60 -0
  499. package/lib/components/ProgressIndicator/ProgressIndicator.js +334 -0
  500. package/lib/components/ProgressIndicator/index.js +39 -0
  501. package/lib/components/ProgressIndicator/next/ProgressIndicator.js +127 -0
  502. package/lib/components/RadioButton/RadioButton.Skeleton.js +47 -0
  503. package/lib/components/RadioButton/RadioButton.js +183 -0
  504. package/lib/components/RadioButton/index.js +39 -0
  505. package/lib/components/RadioButton/next/RadioButton.js +138 -0
  506. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +200 -0
  507. package/lib/components/RadioButtonGroup/index.js +39 -0
  508. package/lib/components/RadioButtonGroup/next/RadioButtonGroup.js +151 -0
  509. package/lib/components/RadioTile/RadioTile.js +150 -0
  510. package/lib/components/Search/Search.Skeleton.js +60 -0
  511. package/lib/components/Search/Search.js +299 -0
  512. package/lib/components/Search/index.js +39 -0
  513. package/lib/components/Search/next/Search.js +278 -0
  514. package/lib/components/SearchFilterButton/SearchFilterButton.js +70 -0
  515. package/lib/components/SearchLayoutButton/SearchLayoutButton.js +160 -0
  516. package/lib/components/SecondaryButton/SecondaryButton.js +28 -0
  517. package/lib/components/Select/Select.Skeleton.js +56 -0
  518. package/lib/components/Select/Select.js +213 -0
  519. package/lib/components/SelectItem/SelectItem.js +80 -0
  520. package/lib/components/SelectItemGroup/SelectItemGroup.js +89 -0
  521. package/lib/components/SkeletonIcon/SkeletonIcon.js +52 -0
  522. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +47 -0
  523. package/lib/components/SkeletonText/SkeletonText.js +124 -0
  524. package/lib/components/Slider/Slider.Skeleton.js +66 -0
  525. package/lib/components/Slider/Slider.js +669 -0
  526. package/lib/components/Slider/index.js +38 -0
  527. package/lib/components/Stack/Stack.js +112 -0
  528. package/lib/components/Stack/index.js +35 -0
  529. package/lib/components/StructuredList/StructuredList.Skeleton.js +92 -0
  530. package/lib/components/StructuredList/StructuredList.js +322 -0
  531. package/lib/components/StructuredList/index.js +52 -0
  532. package/lib/components/StructuredList/next/StructuredList.js +341 -0
  533. package/lib/components/Switch/Switch.js +134 -0
  534. package/lib/components/Tab/Tab.js +220 -0
  535. package/lib/components/Tab/index.js +39 -0
  536. package/lib/components/TabContent/TabContent.js +87 -0
  537. package/lib/components/Tabs/Tabs.Skeleton.js +63 -0
  538. package/lib/components/Tabs/Tabs.js +629 -0
  539. package/lib/components/Tabs/index.js +47 -0
  540. package/lib/components/Tabs/next/Tabs.Skeleton.js +63 -0
  541. package/lib/components/Tabs/next/Tabs.js +664 -0
  542. package/lib/components/Tabs/next/usePressable.js +149 -0
  543. package/lib/components/Tag/Tag.Skeleton.js +50 -0
  544. package/lib/components/Tag/Tag.js +156 -0
  545. package/lib/components/Text/Text.js +107 -0
  546. package/lib/components/Text/TextDirectionContext.js +16 -0
  547. package/lib/components/Text/createTextComponent.js +41 -0
  548. package/lib/components/Text/index.js +17 -0
  549. package/lib/components/TextArea/TextArea.Skeleton.js +54 -0
  550. package/lib/components/TextArea/TextArea.js +230 -0
  551. package/lib/components/TextInput/ControlledPasswordInput.js +244 -0
  552. package/lib/components/TextInput/PasswordInput.js +315 -0
  553. package/lib/components/TextInput/TextInput.Skeleton.js +54 -0
  554. package/lib/components/TextInput/TextInput.js +268 -0
  555. package/lib/components/TextInput/index.js +25 -0
  556. package/lib/components/TextInput/util.js +37 -0
  557. package/lib/components/Theme/index.js +116 -0
  558. package/lib/components/Tile/Tile.js +782 -0
  559. package/lib/components/Tile/index.js +48 -0
  560. package/lib/components/Tile/next/Tile.js +623 -0
  561. package/lib/components/TileGroup/TileGroup.js +173 -0
  562. package/lib/components/TileGroup/index.js +17 -0
  563. package/lib/components/TimePicker/TimePicker.js +266 -0
  564. package/lib/components/TimePicker/index.js +39 -0
  565. package/lib/components/TimePicker/next/TimePicker.js +228 -0
  566. package/lib/components/TimePickerSelect/TimePickerSelect.js +92 -0
  567. package/lib/components/TimePickerSelect/index.js +39 -0
  568. package/lib/components/TimePickerSelect/next/TimePickerSelect.js +81 -0
  569. package/lib/components/Toggle/Toggle.Skeleton.js +84 -0
  570. package/lib/components/Toggle/Toggle.js +130 -0
  571. package/lib/components/Toggle/index.js +23 -0
  572. package/lib/components/Toggle/next/Toggle.js +169 -0
  573. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +81 -0
  574. package/lib/components/ToggleSmall/ToggleSmall.js +114 -0
  575. package/lib/components/Toolbar/Toolbar.js +135 -0
  576. package/lib/components/ToolbarSearch/ToolbarSearch.js +178 -0
  577. package/lib/components/Tooltip/next/DefinitionTooltip.js +132 -0
  578. package/lib/components/Tooltip/next/Tooltip.js +164 -0
  579. package/lib/components/TreeView/TreeNode.js +335 -0
  580. package/lib/components/TreeView/TreeView.js +281 -0
  581. package/lib/components/TreeView/index.js +18 -0
  582. package/lib/components/UIShell/Content.js +60 -0
  583. package/lib/components/UIShell/Header.js +47 -0
  584. package/lib/components/UIShell/HeaderContainer.js +53 -0
  585. package/lib/components/UIShell/HeaderGlobalAction.js +97 -0
  586. package/lib/components/UIShell/HeaderGlobalBar.js +24 -0
  587. package/lib/components/UIShell/HeaderMenu.js +250 -0
  588. package/lib/components/UIShell/HeaderMenuButton.js +79 -0
  589. package/lib/components/UIShell/HeaderMenuItem.js +83 -0
  590. package/lib/components/UIShell/HeaderName.js +72 -0
  591. package/lib/components/UIShell/HeaderNavigation.js +110 -0
  592. package/lib/components/UIShell/HeaderPanel.js +62 -0
  593. package/lib/components/UIShell/HeaderSideNavItems.js +60 -0
  594. package/lib/components/UIShell/Link.js +59 -0
  595. package/lib/components/UIShell/SideNav.js +237 -0
  596. package/lib/components/UIShell/SideNavDetails.js +56 -0
  597. package/lib/components/UIShell/SideNavDivider.js +40 -0
  598. package/lib/components/UIShell/SideNavFooter.js +88 -0
  599. package/lib/components/UIShell/SideNavHeader.js +60 -0
  600. package/lib/components/UIShell/SideNavIcon.js +59 -0
  601. package/lib/components/UIShell/SideNavItem.js +57 -0
  602. package/lib/components/UIShell/SideNavItems.js +66 -0
  603. package/lib/components/UIShell/SideNavLink.js +84 -0
  604. package/lib/components/UIShell/SideNavLinkText.js +51 -0
  605. package/lib/components/UIShell/SideNavMenu.js +209 -0
  606. package/lib/components/UIShell/SideNavMenuItem.js +67 -0
  607. package/lib/components/UIShell/SideNavSwitcher.js +90 -0
  608. package/lib/components/UIShell/SkipToContent.js +67 -0
  609. package/lib/components/UIShell/Switcher.js +55 -0
  610. package/lib/components/UIShell/SwitcherDivider.js +45 -0
  611. package/lib/components/UIShell/SwitcherItem.js +72 -0
  612. package/lib/components/UIShell/_utils.js +14 -0
  613. package/lib/components/UIShell/index.js +42 -0
  614. package/lib/components/UIShell/next/HeaderNavigation.js +62 -0
  615. package/lib/components/UIShell/next/SideNavMenu.js +170 -0
  616. package/lib/components/UnorderedList/UnorderedList.js +69 -0
  617. package/lib/index.js +405 -858
  618. package/lib/internal/ClickListener.js +110 -0
  619. package/lib/internal/ComponentToggle.js +50 -0
  620. package/lib/internal/FeatureFlags.js +56 -0
  621. package/lib/internal/FloatingMenu.js +498 -0
  622. package/lib/internal/OptimizedResize.js +73 -0
  623. package/lib/internal/Selection.js +254 -0
  624. package/lib/internal/createClassWrapper.js +39 -0
  625. package/lib/internal/deprecateFieldOnObject.js +30 -0
  626. package/lib/internal/environment.js +19 -0
  627. package/lib/internal/focus/index.js +20 -0
  628. package/lib/internal/keyboard/keys.js +79 -0
  629. package/lib/internal/keyboard/match.js +87 -0
  630. package/lib/internal/keyboard/navigation.js +69 -0
  631. package/lib/internal/useControllableState.js +90 -0
  632. package/lib/internal/useDelayedState.js +58 -0
  633. package/lib/internal/useEffectOnce.js +35 -0
  634. package/lib/internal/useId.js +64 -0
  635. package/lib/internal/useIsomorphicEffect.js +17 -0
  636. package/lib/internal/useMatchMedia.js +55 -0
  637. package/lib/internal/useMergedRefs.js +35 -0
  638. package/lib/internal/useNoInteractiveChildren.js +97 -0
  639. package/lib/internal/useNormalizedInputProps.js +96 -0
  640. package/lib/internal/usePrefix.js +24 -0
  641. package/lib/internal/useSavedCallback.js +36 -0
  642. package/lib/internal/warning.js +32 -0
  643. package/lib/internal/wrapFocus.js +84 -0
  644. package/lib/node_modules/flatpickr/dist/l10n/index.js +1427 -0
  645. package/lib/node_modules/flatpickr/dist/plugins/rangePlugin.js +200 -0
  646. package/lib/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +1116 -0
  647. package/lib/node_modules/use-resize-observer/polyfilled.js +120 -0
  648. package/lib/prop-types/AriaPropTypes.js +24 -0
  649. package/lib/prop-types/deprecate.js +37 -0
  650. package/lib/prop-types/isRequiredOneOf.js +51 -0
  651. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +33 -0
  652. package/lib/prop-types/requiredIfValueExists.js +36 -0
  653. package/lib/prop-types/types.js +14 -0
  654. package/lib/tools/array.js +36 -0
  655. package/lib/tools/events.js +39 -0
  656. package/lib/tools/mergeRefs.js +35 -0
  657. package/lib/tools/setupGetInstanceId.js +23 -0
  658. package/lib/tools/toggleClass.js +18 -0
  659. package/lib/tools/uniqueId.js +19 -0
  660. package/lib/tools/wrapComponent.js +52 -0
  661. package/package.json +49 -18
  662. package/scss/{grid/_config.scss → components/_index.scss} +1 -1
  663. package/scss/components/accordion/_accordion.scss +9 -0
  664. package/scss/components/aspect-ratio/_aspect-ratio.scss +9 -0
  665. package/scss/components/breadcrumb/_breadcrumb.scss +9 -0
  666. package/scss/components/button/_button.scss +9 -0
  667. package/scss/components/button/_tokens.scss +9 -0
  668. package/scss/components/checkbox/_checkbox.scss +9 -0
  669. package/scss/components/code-snippet/_code-snippet.scss +9 -0
  670. package/scss/components/combo-box/_combo-box.scss +9 -0
  671. package/scss/components/content-switcher/_content-switcher.scss +9 -0
  672. package/scss/components/copy-button/_copy-button.scss +9 -0
  673. package/scss/components/data-table/_data-table.scss +9 -0
  674. package/scss/components/data-table/action/_data-table-action.scss +9 -0
  675. package/scss/components/data-table/action/_index.scss +9 -0
  676. package/scss/components/data-table/expandable/_data-table-expandable.scss +9 -0
  677. package/scss/components/data-table/expandable/_index.scss +9 -0
  678. package/scss/components/data-table/skeleton/_data-table-skeleton.scss +9 -0
  679. package/scss/components/data-table/skeleton/_index.scss +9 -0
  680. package/scss/components/data-table/sort/_data-table-sort.scss +9 -0
  681. package/scss/components/data-table/sort/_index.scss +9 -0
  682. package/scss/components/date-picker/_date-picker.scss +9 -0
  683. package/scss/components/dropdown/_dropdown.scss +9 -0
  684. package/scss/components/file-uploader/_file-uploader.scss +9 -0
  685. package/scss/components/form/_form.scss +9 -0
  686. package/scss/components/inline-loading/_inline-loading.scss +9 -0
  687. package/scss/components/link/_link.scss +9 -0
  688. package/scss/components/list/_list.scss +9 -0
  689. package/scss/components/list-box/_index.scss +9 -0
  690. package/scss/components/list-box/_list-box.scss +9 -0
  691. package/scss/components/loading/_loading.scss +9 -0
  692. package/scss/components/menu/_menu.scss +9 -0
  693. package/scss/components/modal/_modal.scss +9 -0
  694. package/scss/components/multiselect/_multiselect.scss +9 -0
  695. package/scss/components/notification/_actionable-notification.scss +9 -0
  696. package/scss/components/notification/_inline-notification.scss +9 -0
  697. package/scss/components/notification/_toast-notification.scss +9 -0
  698. package/scss/components/notification/_tokens.scss +9 -0
  699. package/scss/components/number-input/_number-input.scss +9 -0
  700. package/scss/components/overflow-menu/_overflow-menu.scss +9 -0
  701. package/scss/components/pagination/_pagination.scss +9 -0
  702. package/scss/components/pagination/_unstable_pagination.scss +9 -0
  703. package/scss/components/pagination-nav/_pagination-nav.scss +9 -0
  704. package/scss/components/popover/_index.scss +9 -0
  705. package/scss/components/popover/_popover.scss +9 -0
  706. package/scss/components/progress-bar/_index.scss +9 -0
  707. package/scss/components/progress-bar/_progress-bar.scss +9 -0
  708. package/scss/components/progress-indicator/_progress-indicator.scss +9 -0
  709. package/scss/components/radio-button/_radio-button.scss +9 -0
  710. package/scss/components/search/_search.scss +9 -0
  711. package/scss/components/select/_select.scss +9 -0
  712. package/scss/components/skeleton-styles/_index.scss +9 -0
  713. package/scss/components/skeleton-styles/_skeleton-styles.scss +9 -0
  714. package/scss/components/slider/_slider.scss +9 -0
  715. package/scss/components/stack/_stack.scss +9 -0
  716. package/scss/components/structured-list/_structured-list.scss +9 -0
  717. package/scss/components/tabs/_tabs.scss +9 -0
  718. package/scss/components/tag/_tag.scss +9 -0
  719. package/scss/components/tag/_tokens.scss +9 -0
  720. package/scss/components/text-area/_text-area.scss +9 -0
  721. package/scss/components/text-input/_text-input.scss +9 -0
  722. package/scss/components/tile/_tile.scss +9 -0
  723. package/scss/components/time-picker/_time-picker.scss +9 -0
  724. package/scss/components/toggle/_toggle.scss +9 -0
  725. package/scss/components/toggletip/_index.scss +9 -0
  726. package/scss/components/toggletip/_toggletip.scss +9 -0
  727. package/scss/components/tooltip/_tooltip.scss +9 -0
  728. package/scss/components/treeview/_treeview.scss +9 -0
  729. package/scss/components/ui-shell/_ui-shell.scss +9 -0
  730. package/scss/components/ui-shell/content/_content.scss +9 -0
  731. package/scss/components/ui-shell/content/_index.scss +9 -0
  732. package/scss/components/ui-shell/header/_header.scss +9 -0
  733. package/scss/components/ui-shell/header/_index.scss +9 -0
  734. package/scss/components/ui-shell/header-panel/_header-panel.scss +9 -0
  735. package/scss/components/ui-shell/header-panel/_index.scss +9 -0
  736. package/scss/components/ui-shell/side-nav/_index.scss +9 -0
  737. package/scss/components/ui-shell/side-nav/_side-nav.scss +9 -0
  738. package/scss/components/ui-shell/switcher/_index.scss +9 -0
  739. package/scss/components/ui-shell/switcher/_switcher.scss +9 -0
  740. package/scss/fonts/_src.scss +9 -0
  741. package/scss/grid/_css-grid.scss +9 -0
  742. package/scss/grid/_mixins.scss +9 -0
  743. package/scss/type/_index.scss +9 -0
  744. package/scss/type/_reset.scss +9 -0
  745. package/scss/utilities/_box-shadow.scss +9 -0
  746. package/scss/utilities/_button-reset.scss +9 -0
  747. package/scss/utilities/_component-reset.scss +9 -0
  748. package/scss/utilities/_component-tokens.scss +9 -0
  749. package/scss/utilities/_custom-property.scss +9 -0
  750. package/scss/utilities/_focus-outline.scss +9 -0
  751. package/scss/utilities/_high-contrast-mode.scss +9 -0
  752. package/scss/utilities/_index.scss +9 -0
  753. package/scss/utilities/_keyframes.scss +9 -0
  754. package/scss/utilities/_placeholder-colors.scss +9 -0
  755. package/scss/utilities/_rotate.scss +9 -0
  756. package/scss/utilities/_skeleton.scss +9 -0
  757. package/scss/utilities/_text-overflow.scss +9 -0
  758. package/scss/utilities/_text-truncate.scss +9 -0
  759. package/scss/utilities/_visually-hidden.scss +9 -0
  760. package/icons/es/icon-helpers/es/index.js +0 -141
  761. package/icons/es/icons-react/next/index.esm.js +0 -14
  762. package/icons/lib/icon-helpers/es/index.js +0 -146
  763. package/icons/lib/icons-react/next/index.esm.js +0 -1973
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { useState, useRef, useCallback, useEffect } from 'react';
10
+
11
+ /**
12
+ * `useDelayedState` mirrors `useState` but also allows you to add a delay to
13
+ * when your state updates. You can provide a second argument to `setState`,
14
+ * `delayMs`, which will be the time in milliseconds after which the state is
15
+ * updated.
16
+ *
17
+ * This hook will clean up pending timers in `useEffect` and will cancel any
18
+ * pending timers when a `setState` is called before the state is updated from
19
+ * a previous call
20
+ */
21
+
22
+ function useDelayedState(initialState) {
23
+ var _useState = useState(initialState),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ state = _useState2[0],
26
+ setState = _useState2[1];
27
+
28
+ var timeoutId = useRef(null); // We use `useCallback` to match the signature of React's `useState` which will
29
+ // always return the same reference for the `setState` updater
30
+
31
+ var setStateWithDelay = useCallback(function (stateToSet) {
32
+ var delayMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
33
+ clearTimeout(timeoutId.current);
34
+ timeoutId.current = null;
35
+
36
+ if (delayMs === 0) {
37
+ setState(stateToSet);
38
+ return;
39
+ }
40
+
41
+ timeoutId.current = setTimeout(function () {
42
+ setState(stateToSet);
43
+ timeoutId.current = null;
44
+ }, delayMs);
45
+ }, []);
46
+ useEffect(function () {
47
+ return function () {
48
+ clearTimeout(timeoutId.current);
49
+ };
50
+ }, []);
51
+ return [state, setStateWithDelay];
52
+ }
53
+
54
+ export { useDelayedState };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useRef, useEffect } from 'react';
9
+
10
+ /**
11
+ * A custom hook which will call the given callback exactly once when your
12
+ * component is initially rendered and effects are first called
13
+ *
14
+ * @param {Function} callback
15
+ */
16
+
17
+ function useEffectOnce(callback) {
18
+ var savedCallback = useRef(callback);
19
+ var effectGuard = useRef(false);
20
+ useEffect(function () {
21
+ savedCallback.current = callback;
22
+ });
23
+ useEffect(function () {
24
+ if (effectGuard.current !== true) {
25
+ effectGuard.current = true;
26
+ savedCallback.current();
27
+ }
28
+ }, []);
29
+ }
30
+
31
+ export { useEffectOnce };
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { useState, useEffect, useLayoutEffect } from 'react';
10
+ import setupGetInstanceId from '../tools/setupGetInstanceId.js';
11
+ import { canUseDOM } from './environment.js';
12
+
13
+ var getId = setupGetInstanceId();
14
+ var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
15
+ var serverHandoffCompleted = false;
16
+ /**
17
+ * Generate a unique ID with an optional prefix prepended to it
18
+ * @param {string} [prefix]
19
+ * @returns {string}
20
+ */
21
+
22
+ function useId() {
23
+ var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id';
24
+
25
+ var _useState = useState(function () {
26
+ if (serverHandoffCompleted) {
27
+ return "".concat(prefix, "-").concat(getId());
28
+ }
29
+
30
+ return null;
31
+ }),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ id = _useState2[0],
34
+ setId = _useState2[1];
35
+
36
+ useIsomorphicLayoutEffect(function () {
37
+ if (id === null) {
38
+ setId("".concat(prefix, "-").concat(getId()));
39
+ }
40
+ }, [getId]);
41
+ useEffect(function () {
42
+ if (serverHandoffCompleted === false) {
43
+ serverHandoffCompleted = true;
44
+ }
45
+ }, []);
46
+ return id;
47
+ }
48
+ /**
49
+ * Generate a unique id if a given `id` is not provided
50
+ * @param {string} id
51
+ * @returns {string}
52
+ */
53
+
54
+ function useFallbackId(id) {
55
+ var fallback = useId();
56
+ return id !== null && id !== void 0 ? id : fallback;
57
+ }
58
+
59
+ export { useFallbackId, useId };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useLayoutEffect, useEffect } from 'react';
9
+
10
+ var useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
11
+ var useIsomorphicEffect$1 = useIsomorphicEffect;
12
+
13
+ export { useIsomorphicEffect$1 as default };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { useState, useEffect } from 'react';
10
+ import { canUseDOM } from './environment.js';
11
+
12
+ function useMatchMedia(mediaQueryString) {
13
+ var _useState = useState(function () {
14
+ if (canUseDOM) {
15
+ var mediaQueryList = window.matchMedia(mediaQueryString);
16
+ return mediaQueryList.matches;
17
+ }
18
+
19
+ return false;
20
+ }),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ matches = _useState2[0],
23
+ setMatches = _useState2[1];
24
+
25
+ useEffect(function () {
26
+ function listener(event) {
27
+ setMatches(event.matches);
28
+ }
29
+
30
+ var mediaQueryList = window.matchMedia(mediaQueryString); // Support fallback to `addListener` for broader browser support
31
+
32
+ if (mediaQueryList.addEventListener) {
33
+ mediaQueryList.addEventListener('change', listener);
34
+ } else {
35
+ mediaQueryList.addListener(listener);
36
+ } // Make sure the media query list is in sync with the matches state
37
+
38
+
39
+ setMatches(mediaQueryList.matches);
40
+ return function () {
41
+ if (mediaQueryList.addEventListener) {
42
+ mediaQueryList.removeEventListener('change', listener);
43
+ } else {
44
+ mediaQueryList.removeListener(listener);
45
+ }
46
+ };
47
+ }, [mediaQueryString]);
48
+ return matches;
49
+ }
50
+
51
+ export { useMatchMedia };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useCallback } from 'react';
9
+
10
+ /**
11
+ * Combine multiple refs into a single ref. This use useful when you have two
12
+ * refs from both `React.forwardRef` and `useRef` that you would like to add to
13
+ * the same node.
14
+ *
15
+ * @param {Array} refs
16
+ * @returns {Function}
17
+ */
18
+
19
+ function useMergedRefs(refs) {
20
+ return useCallback(function (node) {
21
+ refs.forEach(function (ref) {
22
+ if (typeof ref === 'function') {
23
+ ref(node);
24
+ } else if (ref !== null && ref !== undefined) {
25
+ ref.current = node;
26
+ }
27
+ }); // eslint-disable-next-line react-hooks/exhaustive-deps
28
+ }, refs);
29
+ }
30
+
31
+ export { useMergedRefs };
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { useEffect } from 'react';
10
+
11
+ function useNoInteractiveChildren(ref) {
12
+ var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'component should have no interactive child nodes';
13
+
14
+ if (process.env.NODE_ENV !== "production") {
15
+ // eslint-disable-next-line react-hooks/rules-of-hooks
16
+ useEffect(function () {
17
+ var node = ref.current ? getInteractiveContent(ref.current) : false;
18
+
19
+ if (node) {
20
+ throw new Error("Error: ".concat(message, ".\n\nInstead found: ").concat(node.outerHTML));
21
+ }
22
+ });
23
+ }
24
+ }
25
+ /**
26
+ * Determines if a given DOM node has interactive content, or is itself
27
+ * interactive. It returns the interactive node if one is found
28
+ *
29
+ * @param {HTMLElement} node
30
+ * @returns {HTMLElement}
31
+ */
32
+
33
+ function getInteractiveContent(node) {
34
+ if (isFocusable(node)) {
35
+ return node;
36
+ }
37
+
38
+ var _iterator = _createForOfIteratorHelper(node.childNodes),
39
+ _step;
40
+
41
+ try {
42
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
43
+ var childNode = _step.value;
44
+ var interactiveNode = getInteractiveContent(childNode);
45
+
46
+ if (interactiveNode) {
47
+ return interactiveNode;
48
+ }
49
+ }
50
+ } catch (err) {
51
+ _iterator.e(err);
52
+ } finally {
53
+ _iterator.f();
54
+ }
55
+
56
+ return null;
57
+ }
58
+ /**
59
+ * Determines if the given element is focusable, or not
60
+ *
61
+ * @param {HTMLElement} element
62
+ * @returns {boolean}
63
+ * @see https://github.com/w3c/aria-practices/blob/0553bb51588ffa517506e2a1b2ca1422ed438c5f/examples/js/utils.js#L68
64
+ */
65
+
66
+ function isFocusable(element) {
67
+ if (element.tabIndex < 0) {
68
+ return false;
69
+ }
70
+
71
+ if (element.disabled) {
72
+ return false;
73
+ }
74
+
75
+ switch (element.nodeName) {
76
+ case 'A':
77
+ return !!element.href && element.rel !== 'ignore';
78
+
79
+ case 'INPUT':
80
+ return element.type !== 'hidden';
81
+
82
+ case 'BUTTON':
83
+ case 'SELECT':
84
+ case 'TEXTAREA':
85
+ return true;
86
+
87
+ default:
88
+ return false;
89
+ }
90
+ }
91
+
92
+ export { getInteractiveContent, useNoInteractiveChildren };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React__default from 'react';
9
+ import { EditOff, WarningFilled, WarningAltFilled } from '@carbon/icons-react';
10
+
11
+ var prefix = 'cds';
12
+ /**
13
+ * @typedef {object} InputProps
14
+ * @property {string} id - The input's id
15
+ * @property {boolean} readOnly - Whether the input should be readonly
16
+ * @property {boolean} disabled - Whether the input should be disabled
17
+ * @property {boolean} invalid - Whether the input should be marked as invalid
18
+ * @property {string} invalidText - The validation message displayed in case the input is considered invalid
19
+ * @property {boolean} warn - Whether the input should be in warning state
20
+ * @property {string} warnText - The validation message displayed in case the input is in warning state
21
+ */
22
+
23
+ /**
24
+ * @typedef {object} NormalizedInputProps
25
+ * @property {boolean} disabled - Whether the input is disabled
26
+ * @property {boolean} invalid - Whether the input is invalid (takes precedence over warn)
27
+ * @property {string} invalidId - The invalid message's id
28
+ * @property {boolean} warn - Whether the input is in warning state
29
+ * @property {string} warnId - The warning message's id
30
+ * @property {React.ReactNode | null} validation – React node rendering the appropriate validation message (if any)
31
+ * @property {React.ReactNode | null} icon – React node rendering the appropriate accompanying icon (if any)
32
+ */
33
+
34
+ /**
35
+ * Returns an object containing non-colliding props and additional, generated ones.
36
+ * This hook ensures that only either "invalid" or "warn" is true but never both at
37
+ * the same time. Regardless whether "invalid" or "warn", the appropriate validation
38
+ * message is passed as "validation". If the input should be accompanied by an icon
39
+ * (to visually represent a readonly, invalid or warning state), the appropriate icon
40
+ * is passed as "icon".
41
+ * It also ensure that neither "invalid", nor "warn", nor "disabled" are enabled when
42
+ * "readonly" is passed as "readonly" takes precedence over these variants.
43
+ *
44
+ * @param {InputProps} props - The props passed to the component
45
+ * @returns {NormalizedInputProps}
46
+ */
47
+
48
+ function useNormalizedInputProps(_ref) {
49
+ var id = _ref.id,
50
+ readOnly = _ref.readOnly,
51
+ disabled = _ref.disabled,
52
+ invalid = _ref.invalid,
53
+ invalidText = _ref.invalidText,
54
+ warn = _ref.warn,
55
+ warnText = _ref.warnText;
56
+ var normalizedProps = {
57
+ disabled: !readOnly && disabled,
58
+ invalid: !readOnly && invalid,
59
+ invalidId: "".concat(id, "-error-msg"),
60
+ warn: !readOnly && !invalid && warn,
61
+ warnId: "".concat(id, "-warn-msg"),
62
+ validation: null,
63
+ icon: null,
64
+ helperId: "".concat(id, "-helper-text")
65
+ };
66
+
67
+ if (readOnly) {
68
+ normalizedProps.icon = EditOff;
69
+ } else {
70
+ if (normalizedProps.invalid) {
71
+ normalizedProps.icon = WarningFilled;
72
+ normalizedProps.validation = /*#__PURE__*/React__default.createElement("div", {
73
+ className: "".concat(prefix, "--form-requirement"),
74
+ id: normalizedProps.invalidId
75
+ }, invalidText);
76
+ } else if (normalizedProps.warn) {
77
+ normalizedProps.icon = WarningAltFilled;
78
+ normalizedProps.validation = /*#__PURE__*/React__default.createElement("div", {
79
+ className: "".concat(prefix, "--form-requirement"),
80
+ id: normalizedProps.warnId
81
+ }, warnText);
82
+ }
83
+ }
84
+
85
+ return normalizedProps;
86
+ }
87
+
88
+ export { useNormalizedInputProps };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React__default from 'react';
9
+
10
+ var PrefixContext = /*#__PURE__*/React__default.createContext('cds');
11
+ function usePrefix() {
12
+ return React__default.useContext(PrefixContext);
13
+ }
14
+
15
+ export { PrefixContext, usePrefix };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useCallback, useRef, useEffect } from 'react';
9
+
10
+ /**
11
+ * Provide a stable reference for a callback that is passed as a prop to a
12
+ * component. This is helpful when you want access to the latest version of a
13
+ * callback prop but don't want it to be added to the dependency array of an
14
+ * effect.
15
+ *
16
+ * @param {Function} callback
17
+ * @returns {Function}
18
+ */
19
+
20
+ function useSavedCallback(callback) {
21
+ var savedCallback = useRef(callback);
22
+ useEffect(function () {
23
+ savedCallback.current = callback;
24
+ });
25
+ return useCallback(function () {
26
+ if (savedCallback.current) {
27
+ return savedCallback.current();
28
+ }
29
+ }, []);
30
+ }
31
+
32
+ export { useSavedCallback };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ var emptyFunction = function emptyFunction() {};
9
+
10
+ var warning = process.env.NODE_ENV !== "production" ? function warning(condition, format) {
11
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
12
+ args[_key - 2] = arguments[_key];
13
+ }
14
+
15
+ if (format === undefined) {
16
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'format argument');
17
+ }
18
+
19
+ if (!condition) {
20
+ var index = 0;
21
+ var message = format.replace(/%s/g, function () {
22
+ return args[index++];
23
+ });
24
+ console.warn('Warning: ' + message);
25
+ }
26
+ } : emptyFunction;
27
+
28
+ export { warning };
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { toConsumableArray as _toConsumableArray } from '../_virtual/_rollupPluginBabelHelpers.js';
9
+ import findLast from 'lodash.findlast';
10
+ import { DOCUMENT_POSITION_BROAD_PRECEDING, selectorTabbable, DOCUMENT_POSITION_BROAD_FOLLOWING } from './keyboard/navigation.js';
11
+
12
+ /**
13
+ * @param {Node} node A DOM node.
14
+ * @param {string[]} selectorsFloatingMenus The CSS selectors that matches floating menus.
15
+ * @returns {boolean} `true` of the given `node` is in a floating menu.
16
+ */
17
+
18
+ function elementOrParentIsFloatingMenu(node) {
19
+ var selectorsFloatingMenus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
20
+
21
+ if (node && typeof node.closest === 'function') {
22
+ var allSelectorsFloatingMenus = [".cds--overflow-menu-options", ".cds--tooltip", '.flatpickr-calendar'].concat(_toConsumableArray(selectorsFloatingMenus));
23
+ return allSelectorsFloatingMenus.some(function (selector) {
24
+ return node.closest(selector);
25
+ });
26
+ }
27
+ }
28
+ /**
29
+ * Ensures the focus is kept in the given `modalNode`, implementing "focus-wrap" behavior.
30
+ * @param {object} options The options.
31
+ * @param {Node} options.bodyNode
32
+ * @param {Node} options.startTrapNode The DOM node of the focus sentinel the is placed earlier next to `modalNode`.
33
+ * @param {Node} options.endTrapNode The DOM node of the focus sentinel the is placed next to `modalNode`.
34
+ * @param {Node} options.currentActiveNode The DOM node that has focus.
35
+ * @param {Node} options.oldActiveNode The DOM node that previously had focus.
36
+ * @param {Node} [options.selectorsFloatingMenus] The CSS selectors that matches floating menus.
37
+ */
38
+
39
+
40
+ function wrapFocus(_ref) {
41
+ var bodyNode = _ref.bodyNode,
42
+ startTrapNode = _ref.startTrapNode,
43
+ endTrapNode = _ref.endTrapNode,
44
+ currentActiveNode = _ref.currentActiveNode,
45
+ oldActiveNode = _ref.oldActiveNode,
46
+ selectorsFloatingMenus = _ref.selectorsFloatingMenus;
47
+
48
+ if (bodyNode && currentActiveNode && oldActiveNode && !bodyNode.contains(currentActiveNode) && !elementOrParentIsFloatingMenu(currentActiveNode, selectorsFloatingMenus)) {
49
+ var comparisonResult = oldActiveNode.compareDocumentPosition(currentActiveNode);
50
+
51
+ if (currentActiveNode === startTrapNode || comparisonResult & DOCUMENT_POSITION_BROAD_PRECEDING) {
52
+ var tabbable = findLast(bodyNode.querySelectorAll(selectorTabbable), function (elem) {
53
+ return Boolean(elem.offsetParent);
54
+ });
55
+
56
+ if (tabbable) {
57
+ tabbable.focus();
58
+ } else if (bodyNode !== oldActiveNode) {
59
+ bodyNode.focus();
60
+ }
61
+ } else if (currentActiveNode === endTrapNode || comparisonResult & DOCUMENT_POSITION_BROAD_FOLLOWING) {
62
+ var _tabbable = Array.prototype.find.call(bodyNode.querySelectorAll(selectorTabbable), function (elem) {
63
+ return Boolean(elem.offsetParent);
64
+ });
65
+
66
+ if (_tabbable) {
67
+ _tabbable.focus();
68
+ } else if (bodyNode !== oldActiveNode) {
69
+ bodyNode.focus();
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ export { wrapFocus as default, elementOrParentIsFloatingMenu };