@progressiveui/react 1.22.0

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 (1288) hide show
  1. package/.storybook/Logo.js +62 -0
  2. package/.storybook/WfpTheme.js +38 -0
  3. package/.storybook/main.ts +42 -0
  4. package/.storybook/manager.js +9 -0
  5. package/.storybook/preview.tsx +72 -0
  6. package/.storybook/reactHookFormDecorator.module.scss +5 -0
  7. package/.storybook/reactHookFormDecorator.tsx +59 -0
  8. package/.storybook/storybook.scss +60 -0
  9. package/.storybook/theme.js +14 -0
  10. package/LICENSE +201 -0
  11. package/README.md +15 -0
  12. package/config/jest/cssTransform.js +13 -0
  13. package/config/jest/fileTransform.js +11 -0
  14. package/config/jest/jsTransform.js +8 -0
  15. package/config/jest/setup.js +16 -0
  16. package/config/polyfills.js +22 -0
  17. package/es/dist/components/Accordion/__tests__/utils.d.ts +12 -0
  18. package/es/dist/components/Accordion/components/Accordion.d.ts +7 -0
  19. package/es/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
  20. package/es/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
  21. package/es/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
  22. package/es/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
  23. package/es/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
  24. package/es/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
  25. package/es/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
  26. package/es/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
  27. package/es/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
  28. package/es/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
  29. package/es/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
  30. package/es/dist/components/Accordion/hooks/useId.d.ts +3 -0
  31. package/es/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
  32. package/es/dist/components/Accordion/index.d.ts +17 -0
  33. package/es/dist/components/Accordion/utils/bem.d.ts +7 -0
  34. package/es/dist/components/Accordion/utils/constants.d.ts +58 -0
  35. package/es/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
  36. package/es/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  37. package/es/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
  38. package/es/dist/components/AnchorNavigation/index.d.ts +1 -0
  39. package/es/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
  40. package/es/dist/components/AuthLayout/index.d.ts +1 -0
  41. package/es/dist/components/Avatar/Avatar.d.ts +33 -0
  42. package/es/dist/components/Avatar/index.d.ts +1 -0
  43. package/es/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
  44. package/es/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
  45. package/es/dist/components/BannerNavigation/index.d.ts +2 -0
  46. package/es/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
  47. package/es/dist/components/Breadcrumb/index.d.ts +1 -0
  48. package/es/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
  49. package/es/dist/components/BreadcrumbHome/index.d.ts +1 -0
  50. package/es/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
  51. package/es/dist/components/BreadcrumbItem/index.d.ts +1 -0
  52. package/es/dist/components/Button/Button.Skeleton.d.ts +7 -0
  53. package/es/dist/components/Button/Button.d.ts +55 -0
  54. package/es/dist/components/Button/index.d.ts +1 -0
  55. package/es/dist/components/Card/Card.d.ts +61 -0
  56. package/es/dist/components/Card/CardExternal.d.ts +37 -0
  57. package/es/dist/components/Card/index.d.ts +2 -0
  58. package/es/dist/components/Checkbox/Checkbox.d.ts +37 -0
  59. package/es/dist/components/Checkbox/index.d.ts +1 -0
  60. package/es/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
  61. package/es/dist/components/ContentSwitcher/index.d.ts +1 -0
  62. package/es/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
  63. package/es/dist/components/ContextMenu/index.d.ts +1 -0
  64. package/es/dist/components/Credits/Credits.d.ts +10 -0
  65. package/es/dist/components/Credits/index.d.ts +1 -0
  66. package/es/dist/components/DatePicker/DatePicker.d.ts +8 -0
  67. package/es/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
  68. package/es/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
  69. package/es/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
  70. package/es/dist/components/DatePicker/index.d.ts +4 -0
  71. package/es/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
  72. package/es/dist/components/Empty/Empty.d.ts +40 -0
  73. package/es/dist/components/Empty/index.d.ts +1 -0
  74. package/es/dist/components/Footer/Footer.d.ts +47 -0
  75. package/es/dist/components/Footer/FooterExternal.d.ts +22 -0
  76. package/es/dist/components/Footer/index.d.ts +2 -0
  77. package/es/dist/components/Form/Form.d.ts +15 -0
  78. package/es/dist/components/Form/index.d.ts +1 -0
  79. package/es/dist/components/FormGroup/FormGroup.d.ts +14 -0
  80. package/es/dist/components/FormGroup/index.d.ts +1 -0
  81. package/es/dist/components/FormHint/FormHint.d.ts +15 -0
  82. package/es/dist/components/FormHint/index.d.ts +1 -0
  83. package/es/dist/components/FormItem/FormItem.d.ts +17 -0
  84. package/es/dist/components/FormItem/index.d.ts +1 -0
  85. package/es/dist/components/FormLabel/FormLabel.d.ts +15 -0
  86. package/es/dist/components/FormLabel/index.d.ts +1 -0
  87. package/es/dist/components/Hero/Hero.d.ts +53 -0
  88. package/es/dist/components/Hero/HeroExternal.d.ts +22 -0
  89. package/es/dist/components/Hero/index.d.ts +2 -0
  90. package/es/dist/components/InfoBar/InfoBar.d.ts +23 -0
  91. package/es/dist/components/InfoBar/index.d.ts +1 -0
  92. package/es/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
  93. package/es/dist/components/InlineLoading/index.d.ts +1 -0
  94. package/es/dist/components/Input/Input.d.ts +152 -0
  95. package/es/dist/components/Input/index.d.ts +3 -0
  96. package/es/dist/components/Input/useInput.d.ts +123 -0
  97. package/es/dist/components/InputGroup/InputGroup.d.ts +48 -0
  98. package/es/dist/components/InputGroup/index.d.ts +1 -0
  99. package/es/dist/components/Item/Item.d.ts +59 -0
  100. package/es/dist/components/Item/index.d.ts +1 -0
  101. package/es/dist/components/Link/Link.d.ts +37 -0
  102. package/es/dist/components/Link/index.d.ts +1 -0
  103. package/es/dist/components/List/List.d.ts +32 -0
  104. package/es/dist/components/List/ListItem.d.ts +25 -0
  105. package/es/dist/components/List/index.d.ts +2 -0
  106. package/es/dist/components/Loading/Loading.d.ts +16 -0
  107. package/es/dist/components/Loading/index.d.ts +7 -0
  108. package/es/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
  109. package/es/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
  110. package/es/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
  111. package/es/dist/components/MainNavigation/MobileButton.d.ts +17 -0
  112. package/es/dist/components/MainNavigation/index.d.ts +4 -0
  113. package/es/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
  114. package/es/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
  115. package/es/dist/components/MainNavigationItem/index.d.ts +1 -0
  116. package/es/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
  117. package/es/dist/components/MdxComponents/index.d.ts +1 -0
  118. package/es/dist/components/Modal/Modal.d.ts +122 -0
  119. package/es/dist/components/Modal/ModalFooter.d.ts +8 -0
  120. package/es/dist/components/Modal/index.d.ts +2 -0
  121. package/es/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
  122. package/es/dist/components/ModalWrapper/index.d.ts +1 -0
  123. package/es/dist/components/Module/Module.d.ts +38 -0
  124. package/es/dist/components/Module/ModuleBody.d.ts +21 -0
  125. package/es/dist/components/Module/ModuleFooter.d.ts +10 -0
  126. package/es/dist/components/Module/ModuleHeader.d.ts +16 -0
  127. package/es/dist/components/Module/index.d.ts +4 -0
  128. package/es/dist/components/Notification/Callout.d.ts +59 -0
  129. package/es/dist/components/Notification/NotificationActionButton.d.ts +18 -0
  130. package/es/dist/components/Notification/NotificationButton.d.ts +36 -0
  131. package/es/dist/components/Notification/NotificationIcon.d.ts +8 -0
  132. package/es/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
  133. package/es/dist/components/Notification/ToastNotification.d.ts +10 -0
  134. package/es/dist/components/Notification/index.d.ts +5 -0
  135. package/es/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
  136. package/es/dist/components/NumberInput/NumberInput.d.ts +64 -0
  137. package/es/dist/components/NumberInput/index.d.ts +2 -0
  138. package/es/dist/components/Pagination/Pagination.d.ts +92 -0
  139. package/es/dist/components/Pagination/index.d.ts +1 -0
  140. package/es/dist/components/RadioButton/RadioButton.d.ts +27 -0
  141. package/es/dist/components/RadioButton/index.d.ts +2 -0
  142. package/es/dist/components/ReadMore/ReadMore.d.ts +45 -0
  143. package/es/dist/components/ReadMore/index.d.ts +1 -0
  144. package/es/dist/components/Search/Search.d.ts +50 -0
  145. package/es/dist/components/Search/index.d.ts +1 -0
  146. package/es/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
  147. package/es/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
  148. package/es/dist/components/SecondaryNavigation/index.d.ts +2 -0
  149. package/es/dist/components/Select/Select.d.ts +24 -0
  150. package/es/dist/components/Select/index.d.ts +1 -0
  151. package/es/dist/components/SelectItem/SelectItem.d.ts +28 -0
  152. package/es/dist/components/SelectItem/index.d.ts +1 -0
  153. package/es/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
  154. package/es/dist/components/SelectItemGroup/index.d.ts +1 -0
  155. package/es/dist/components/Sidebar/Sidebar.d.ts +46 -0
  156. package/es/dist/components/Sidebar/index.d.ts +1 -0
  157. package/es/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
  158. package/es/dist/components/SkeletonText/index.d.ts +1 -0
  159. package/es/dist/components/Slider/Slider.d.ts +71 -0
  160. package/es/dist/components/Slider/index.d.ts +1 -0
  161. package/es/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
  162. package/es/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
  163. package/es/dist/components/StepNavigation/index.d.ts +2 -0
  164. package/es/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
  165. package/es/dist/components/StepNavigationItem/index.d.ts +1 -0
  166. package/es/dist/components/Story/Story.d.ts +7 -0
  167. package/es/dist/components/Story/index.d.ts +1 -0
  168. package/es/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
  169. package/es/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
  170. package/es/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
  171. package/es/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
  172. package/es/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
  173. package/es/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
  174. package/es/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
  175. package/es/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
  176. package/es/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
  177. package/es/dist/components/SubNavigation/index.d.ts +9 -0
  178. package/es/dist/components/Tab/Tab.d.ts +83 -0
  179. package/es/dist/components/Tab/index.d.ts +2 -0
  180. package/es/dist/components/Tab/useTab.d.ts +12 -0
  181. package/es/dist/components/TabContent/TabContent.d.ts +13 -0
  182. package/es/dist/components/TabContent/index.d.ts +1 -0
  183. package/es/dist/components/Table/Table.d.ts +8 -0
  184. package/es/dist/components/Table/TableSorting.d.ts +11 -0
  185. package/es/dist/components/Table/index.d.ts +2 -0
  186. package/es/dist/components/TablePagination/TablePagination.d.ts +33 -0
  187. package/es/dist/components/TablePagination/index.d.ts +1 -0
  188. package/es/dist/components/Tabs/Tabs.d.ts +67 -0
  189. package/es/dist/components/Tabs/TabsContext.d.ts +8 -0
  190. package/es/dist/components/Tabs/index.d.ts +1 -0
  191. package/es/dist/components/Tag/Tag.d.ts +14 -0
  192. package/es/dist/components/Tag/index.d.ts +2 -0
  193. package/es/dist/components/Text/Text.d.ts +30 -0
  194. package/es/dist/components/Text/index.d.ts +1 -0
  195. package/es/dist/components/TextArea/TextArea.d.ts +8 -0
  196. package/es/dist/components/TextArea/index.d.ts +1 -0
  197. package/es/dist/components/TextInput/TextInput.d.ts +7 -0
  198. package/es/dist/components/TextInput/index.d.ts +1 -0
  199. package/es/dist/components/Toggle/Toggle.d.ts +38 -0
  200. package/es/dist/components/Toggle/index.d.ts +1 -0
  201. package/es/dist/components/Tooltip/Tooltip.d.ts +103 -0
  202. package/es/dist/components/Tooltip/index.d.ts +2 -0
  203. package/es/dist/components/Unit/InvalidUnit.d.ts +2 -0
  204. package/es/dist/components/Unit/SimpleCalc.d.ts +17 -0
  205. package/es/dist/components/Unit/StringUnit.d.ts +2 -0
  206. package/es/dist/components/Unit/SvgUnit.d.ts +2 -0
  207. package/es/dist/components/Unit/Unit.d.ts +54 -0
  208. package/es/dist/components/Unit/UnitList.d.ts +96 -0
  209. package/es/dist/components/Unit/YearMonthCalc.d.ts +7 -0
  210. package/es/dist/components/Unit/currencyCalc.d.ts +21 -0
  211. package/es/dist/components/Unit/index.d.ts +1 -0
  212. package/es/dist/components/Unit/percentageCalc.d.ts +18 -0
  213. package/es/dist/components/Unit/scaleLookup.d.ts +24 -0
  214. package/es/dist/components/User/User.d.ts +55 -0
  215. package/es/dist/components/User/index.d.ts +1 -0
  216. package/es/dist/components/Value/Value.d.ts +11 -0
  217. package/es/dist/components/Value/index.d.ts +1 -0
  218. package/es/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
  219. package/es/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
  220. package/es/dist/components/WFPCoreSettings/index.d.ts +4 -0
  221. package/es/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
  222. package/es/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
  223. package/es/dist/components/Wrapper/Wrapper.d.ts +22 -0
  224. package/es/dist/components/Wrapper/index.d.ts +2 -0
  225. package/es/dist/globals/data/colors.d.ts +609 -0
  226. package/es/dist/globals/js/settings.d.ts +34 -0
  227. package/es/dist/hooks/index.d.ts +1 -0
  228. package/es/dist/hooks/togglable.d.ts +5 -0
  229. package/es/dist/hooks/useHeightTransition.d.ts +4 -0
  230. package/es/dist/hooks/useId.d.ts +3 -0
  231. package/es/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
  232. package/es/dist/hooks/useMediaQuery.d.ts +19 -0
  233. package/es/dist/hooks/useMergeRef.d.ts +4 -0
  234. package/es/dist/hooks/useSettings.d.ts +2 -0
  235. package/es/dist/index.d.ts +75 -0
  236. package/es/dist/internal/FeatureFlags.d.ts +19 -0
  237. package/es/dist/prop-types/types.d.ts +5 -0
  238. package/es/dist/tools/uniqueId.d.ts +2 -0
  239. package/es/index.js +5470 -0
  240. package/lib/dist/components/Accordion/__tests__/utils.d.ts +12 -0
  241. package/lib/dist/components/Accordion/components/Accordion.d.ts +7 -0
  242. package/lib/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
  243. package/lib/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
  244. package/lib/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
  245. package/lib/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
  246. package/lib/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
  247. package/lib/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
  248. package/lib/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
  249. package/lib/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
  250. package/lib/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
  251. package/lib/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
  252. package/lib/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
  253. package/lib/dist/components/Accordion/hooks/useId.d.ts +3 -0
  254. package/lib/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
  255. package/lib/dist/components/Accordion/index.d.ts +17 -0
  256. package/lib/dist/components/Accordion/utils/bem.d.ts +7 -0
  257. package/lib/dist/components/Accordion/utils/constants.d.ts +58 -0
  258. package/lib/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
  259. package/lib/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  260. package/lib/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
  261. package/lib/dist/components/AnchorNavigation/index.d.ts +1 -0
  262. package/lib/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
  263. package/lib/dist/components/AuthLayout/index.d.ts +1 -0
  264. package/lib/dist/components/Avatar/Avatar.d.ts +33 -0
  265. package/lib/dist/components/Avatar/index.d.ts +1 -0
  266. package/lib/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
  267. package/lib/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
  268. package/lib/dist/components/BannerNavigation/index.d.ts +2 -0
  269. package/lib/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
  270. package/lib/dist/components/Breadcrumb/index.d.ts +1 -0
  271. package/lib/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
  272. package/lib/dist/components/BreadcrumbHome/index.d.ts +1 -0
  273. package/lib/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
  274. package/lib/dist/components/BreadcrumbItem/index.d.ts +1 -0
  275. package/lib/dist/components/Button/Button.Skeleton.d.ts +7 -0
  276. package/lib/dist/components/Button/Button.d.ts +55 -0
  277. package/lib/dist/components/Button/index.d.ts +1 -0
  278. package/lib/dist/components/Card/Card.d.ts +61 -0
  279. package/lib/dist/components/Card/CardExternal.d.ts +37 -0
  280. package/lib/dist/components/Card/index.d.ts +2 -0
  281. package/lib/dist/components/Checkbox/Checkbox.d.ts +37 -0
  282. package/lib/dist/components/Checkbox/index.d.ts +1 -0
  283. package/lib/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
  284. package/lib/dist/components/ContentSwitcher/index.d.ts +1 -0
  285. package/lib/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
  286. package/lib/dist/components/ContextMenu/index.d.ts +1 -0
  287. package/lib/dist/components/Credits/Credits.d.ts +10 -0
  288. package/lib/dist/components/Credits/index.d.ts +1 -0
  289. package/lib/dist/components/DatePicker/DatePicker.d.ts +8 -0
  290. package/lib/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
  291. package/lib/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
  292. package/lib/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
  293. package/lib/dist/components/DatePicker/index.d.ts +4 -0
  294. package/lib/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
  295. package/lib/dist/components/Empty/Empty.d.ts +40 -0
  296. package/lib/dist/components/Empty/index.d.ts +1 -0
  297. package/lib/dist/components/Footer/Footer.d.ts +47 -0
  298. package/lib/dist/components/Footer/FooterExternal.d.ts +22 -0
  299. package/lib/dist/components/Footer/index.d.ts +2 -0
  300. package/lib/dist/components/Form/Form.d.ts +15 -0
  301. package/lib/dist/components/Form/index.d.ts +1 -0
  302. package/lib/dist/components/FormGroup/FormGroup.d.ts +14 -0
  303. package/lib/dist/components/FormGroup/index.d.ts +1 -0
  304. package/lib/dist/components/FormHint/FormHint.d.ts +15 -0
  305. package/lib/dist/components/FormHint/index.d.ts +1 -0
  306. package/lib/dist/components/FormItem/FormItem.d.ts +17 -0
  307. package/lib/dist/components/FormItem/index.d.ts +1 -0
  308. package/lib/dist/components/FormLabel/FormLabel.d.ts +15 -0
  309. package/lib/dist/components/FormLabel/index.d.ts +1 -0
  310. package/lib/dist/components/Hero/Hero.d.ts +53 -0
  311. package/lib/dist/components/Hero/HeroExternal.d.ts +22 -0
  312. package/lib/dist/components/Hero/index.d.ts +2 -0
  313. package/lib/dist/components/InfoBar/InfoBar.d.ts +23 -0
  314. package/lib/dist/components/InfoBar/index.d.ts +1 -0
  315. package/lib/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
  316. package/lib/dist/components/InlineLoading/index.d.ts +1 -0
  317. package/lib/dist/components/Input/Input.d.ts +152 -0
  318. package/lib/dist/components/Input/index.d.ts +3 -0
  319. package/lib/dist/components/Input/useInput.d.ts +123 -0
  320. package/lib/dist/components/InputGroup/InputGroup.d.ts +48 -0
  321. package/lib/dist/components/InputGroup/index.d.ts +1 -0
  322. package/lib/dist/components/Item/Item.d.ts +59 -0
  323. package/lib/dist/components/Item/index.d.ts +1 -0
  324. package/lib/dist/components/Link/Link.d.ts +37 -0
  325. package/lib/dist/components/Link/index.d.ts +1 -0
  326. package/lib/dist/components/List/List.d.ts +32 -0
  327. package/lib/dist/components/List/ListItem.d.ts +25 -0
  328. package/lib/dist/components/List/index.d.ts +2 -0
  329. package/lib/dist/components/Loading/Loading.d.ts +16 -0
  330. package/lib/dist/components/Loading/index.d.ts +7 -0
  331. package/lib/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
  332. package/lib/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
  333. package/lib/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
  334. package/lib/dist/components/MainNavigation/MobileButton.d.ts +17 -0
  335. package/lib/dist/components/MainNavigation/index.d.ts +4 -0
  336. package/lib/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
  337. package/lib/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
  338. package/lib/dist/components/MainNavigationItem/index.d.ts +1 -0
  339. package/lib/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
  340. package/lib/dist/components/MdxComponents/index.d.ts +1 -0
  341. package/lib/dist/components/Modal/Modal.d.ts +122 -0
  342. package/lib/dist/components/Modal/ModalFooter.d.ts +8 -0
  343. package/lib/dist/components/Modal/index.d.ts +2 -0
  344. package/lib/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
  345. package/lib/dist/components/ModalWrapper/index.d.ts +1 -0
  346. package/lib/dist/components/Module/Module.d.ts +38 -0
  347. package/lib/dist/components/Module/ModuleBody.d.ts +21 -0
  348. package/lib/dist/components/Module/ModuleFooter.d.ts +10 -0
  349. package/lib/dist/components/Module/ModuleHeader.d.ts +16 -0
  350. package/lib/dist/components/Module/index.d.ts +4 -0
  351. package/lib/dist/components/Notification/Callout.d.ts +59 -0
  352. package/lib/dist/components/Notification/NotificationActionButton.d.ts +18 -0
  353. package/lib/dist/components/Notification/NotificationButton.d.ts +36 -0
  354. package/lib/dist/components/Notification/NotificationIcon.d.ts +8 -0
  355. package/lib/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
  356. package/lib/dist/components/Notification/ToastNotification.d.ts +10 -0
  357. package/lib/dist/components/Notification/index.d.ts +5 -0
  358. package/lib/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
  359. package/lib/dist/components/NumberInput/NumberInput.d.ts +64 -0
  360. package/lib/dist/components/NumberInput/index.d.ts +2 -0
  361. package/lib/dist/components/Pagination/Pagination.d.ts +92 -0
  362. package/lib/dist/components/Pagination/index.d.ts +1 -0
  363. package/lib/dist/components/RadioButton/RadioButton.d.ts +27 -0
  364. package/lib/dist/components/RadioButton/index.d.ts +2 -0
  365. package/lib/dist/components/ReadMore/ReadMore.d.ts +45 -0
  366. package/lib/dist/components/ReadMore/index.d.ts +1 -0
  367. package/lib/dist/components/Search/Search.d.ts +50 -0
  368. package/lib/dist/components/Search/index.d.ts +1 -0
  369. package/lib/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
  370. package/lib/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
  371. package/lib/dist/components/SecondaryNavigation/index.d.ts +2 -0
  372. package/lib/dist/components/Select/Select.d.ts +24 -0
  373. package/lib/dist/components/Select/index.d.ts +1 -0
  374. package/lib/dist/components/SelectItem/SelectItem.d.ts +28 -0
  375. package/lib/dist/components/SelectItem/index.d.ts +1 -0
  376. package/lib/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
  377. package/lib/dist/components/SelectItemGroup/index.d.ts +1 -0
  378. package/lib/dist/components/Sidebar/Sidebar.d.ts +46 -0
  379. package/lib/dist/components/Sidebar/index.d.ts +1 -0
  380. package/lib/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
  381. package/lib/dist/components/SkeletonText/index.d.ts +1 -0
  382. package/lib/dist/components/Slider/Slider.d.ts +71 -0
  383. package/lib/dist/components/Slider/index.d.ts +1 -0
  384. package/lib/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
  385. package/lib/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
  386. package/lib/dist/components/StepNavigation/index.d.ts +2 -0
  387. package/lib/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
  388. package/lib/dist/components/StepNavigationItem/index.d.ts +1 -0
  389. package/lib/dist/components/Story/Story.d.ts +7 -0
  390. package/lib/dist/components/Story/index.d.ts +1 -0
  391. package/lib/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
  392. package/lib/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
  393. package/lib/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
  394. package/lib/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
  395. package/lib/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
  396. package/lib/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
  397. package/lib/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
  398. package/lib/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
  399. package/lib/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
  400. package/lib/dist/components/SubNavigation/index.d.ts +9 -0
  401. package/lib/dist/components/Tab/Tab.d.ts +83 -0
  402. package/lib/dist/components/Tab/index.d.ts +2 -0
  403. package/lib/dist/components/Tab/useTab.d.ts +12 -0
  404. package/lib/dist/components/TabContent/TabContent.d.ts +13 -0
  405. package/lib/dist/components/TabContent/index.d.ts +1 -0
  406. package/lib/dist/components/Table/Table.d.ts +8 -0
  407. package/lib/dist/components/Table/TableSorting.d.ts +11 -0
  408. package/lib/dist/components/Table/index.d.ts +2 -0
  409. package/lib/dist/components/TablePagination/TablePagination.d.ts +33 -0
  410. package/lib/dist/components/TablePagination/index.d.ts +1 -0
  411. package/lib/dist/components/Tabs/Tabs.d.ts +67 -0
  412. package/lib/dist/components/Tabs/TabsContext.d.ts +8 -0
  413. package/lib/dist/components/Tabs/index.d.ts +1 -0
  414. package/lib/dist/components/Tag/Tag.d.ts +14 -0
  415. package/lib/dist/components/Tag/index.d.ts +2 -0
  416. package/lib/dist/components/Text/Text.d.ts +30 -0
  417. package/lib/dist/components/Text/index.d.ts +1 -0
  418. package/lib/dist/components/TextArea/TextArea.d.ts +8 -0
  419. package/lib/dist/components/TextArea/index.d.ts +1 -0
  420. package/lib/dist/components/TextInput/TextInput.d.ts +7 -0
  421. package/lib/dist/components/TextInput/index.d.ts +1 -0
  422. package/lib/dist/components/Toggle/Toggle.d.ts +38 -0
  423. package/lib/dist/components/Toggle/index.d.ts +1 -0
  424. package/lib/dist/components/Tooltip/Tooltip.d.ts +103 -0
  425. package/lib/dist/components/Tooltip/index.d.ts +2 -0
  426. package/lib/dist/components/UNCoreSettings/UNCoreProvider.d.ts +21 -0
  427. package/lib/dist/components/UNCoreSettings/defaults.d.ts +2 -0
  428. package/lib/dist/components/UNCoreSettings/index.d.ts +4 -0
  429. package/lib/dist/components/UNCoreSettings/useTheme.d.ts +2 -0
  430. package/lib/dist/components/UNCoreSettings/withUNCoreSettings.d.ts +2 -0
  431. package/lib/dist/components/Unit/InvalidUnit.d.ts +2 -0
  432. package/lib/dist/components/Unit/SimpleCalc.d.ts +17 -0
  433. package/lib/dist/components/Unit/StringUnit.d.ts +2 -0
  434. package/lib/dist/components/Unit/SvgUnit.d.ts +2 -0
  435. package/lib/dist/components/Unit/Unit.d.ts +54 -0
  436. package/lib/dist/components/Unit/UnitList.d.ts +96 -0
  437. package/lib/dist/components/Unit/YearMonthCalc.d.ts +7 -0
  438. package/lib/dist/components/Unit/currencyCalc.d.ts +21 -0
  439. package/lib/dist/components/Unit/index.d.ts +1 -0
  440. package/lib/dist/components/Unit/percentageCalc.d.ts +18 -0
  441. package/lib/dist/components/Unit/scaleLookup.d.ts +24 -0
  442. package/lib/dist/components/User/User.d.ts +55 -0
  443. package/lib/dist/components/User/index.d.ts +1 -0
  444. package/lib/dist/components/Value/Value.d.ts +11 -0
  445. package/lib/dist/components/Value/index.d.ts +1 -0
  446. package/lib/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
  447. package/lib/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
  448. package/lib/dist/components/WFPCoreSettings/index.d.ts +4 -0
  449. package/lib/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
  450. package/lib/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
  451. package/lib/dist/components/Wrapper/Wrapper.d.ts +22 -0
  452. package/lib/dist/components/Wrapper/index.d.ts +2 -0
  453. package/lib/dist/globals/data/colors.d.ts +609 -0
  454. package/lib/dist/globals/js/settings.d.ts +34 -0
  455. package/lib/dist/hooks/index.d.ts +1 -0
  456. package/lib/dist/hooks/togglable.d.ts +5 -0
  457. package/lib/dist/hooks/useHeightTransition.d.ts +4 -0
  458. package/lib/dist/hooks/useId.d.ts +3 -0
  459. package/lib/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
  460. package/lib/dist/hooks/useMediaQuery.d.ts +19 -0
  461. package/lib/dist/hooks/useMergeRef.d.ts +4 -0
  462. package/lib/dist/hooks/useSettings.d.ts +2 -0
  463. package/lib/dist/index.d.ts +75 -0
  464. package/lib/dist/indexStories.d.ts +1 -0
  465. package/lib/dist/internal/FeatureFlags.d.ts +19 -0
  466. package/lib/dist/prop-types/types.d.ts +5 -0
  467. package/lib/dist/tools/uniqueId.d.ts +2 -0
  468. package/lib/index.js +5670 -0
  469. package/package.json +170 -0
  470. package/src/assets/internal/background-contrast.png +0 -0
  471. package/src/assets/internal/brand-color.png +0 -0
  472. package/src/assets/internal/branding.svg +31 -0
  473. package/src/assets/internal/colors.png +0 -0
  474. package/src/assets/internal/hero-image.jpg +0 -0
  475. package/src/assets/internal/mobile-android-general.png +0 -0
  476. package/src/assets/internal/secondary-color.png +0 -0
  477. package/src/assets/internal/toolkit.svg +17 -0
  478. package/src/assets/internal/usability.svg +12 -0
  479. package/src/assets/internal/wfp-favicon-png32.png +0 -0
  480. package/src/assets/internal/wfp-favicon-png512.png +0 -0
  481. package/src/assets/internal/wfp-favicon-preview-png32.png +0 -0
  482. package/src/assets/internal/wfp-favicon-preview-png512.png +0 -0
  483. package/src/assets/internal/yemen-hero-min.jpg +0 -0
  484. package/src/components/Accordion/Accordion.stories.tsx +41 -0
  485. package/src/components/Accordion/README.mdx +0 -0
  486. package/src/components/Accordion/__tests__/components/Accordion.test.tsx.new +122 -0
  487. package/src/components/Accordion/__tests__/components/AccordionItem.test.tsx.new +353 -0
  488. package/src/components/Accordion/__tests__/components/AccordionMock.test.tsx.new +18 -0
  489. package/src/components/Accordion/__tests__/components/ControlledAccordion.test.tsx.new +38 -0
  490. package/src/components/Accordion/__tests__/hooks/useAccordionProvider.test.ts +56 -0
  491. package/src/components/Accordion/__tests__/hooks/useAccordionState.test.tsx.new +54 -0
  492. package/src/components/Accordion/__tests__/hooks/useId.test.ts +19 -0
  493. package/src/components/Accordion/__tests__/ssr.test.ts +32 -0
  494. package/src/components/Accordion/__tests__/utils.tsx +48 -0
  495. package/src/components/Accordion/components/Accordion.tsx +44 -0
  496. package/src/components/Accordion/components/AccordionItem.tsx +181 -0
  497. package/src/components/Accordion/components/AccordionProvider.tsx +9 -0
  498. package/src/components/Accordion/components/ControlledAccordion.tsx +35 -0
  499. package/src/components/Accordion/components/withAccordionItem.tsx +37 -0
  500. package/src/components/Accordion/hooks/useAccordion.ts +56 -0
  501. package/src/components/Accordion/hooks/useAccordionContext.ts +32 -0
  502. package/src/components/Accordion/hooks/useAccordionItem.ts +31 -0
  503. package/src/components/Accordion/hooks/useAccordionItemEffect.ts +36 -0
  504. package/src/components/Accordion/hooks/useAccordionProvider.ts +35 -0
  505. package/src/components/Accordion/hooks/useAccordionState.ts +14 -0
  506. package/src/components/Accordion/index.ts +23 -0
  507. package/src/components/Accordion/utils/bem.ts +33 -0
  508. package/src/components/Accordion/utils/constants.ts +82 -0
  509. package/src/components/Accordion/utils/mergeProps.ts +24 -0
  510. package/src/components/Accordion/utils/useIsomorphicLayoutEffect.ts +15 -0
  511. package/src/components/AnchorNavigation/AnchorNavigation-test.js +48 -0
  512. package/src/components/AnchorNavigation/AnchorNavigation.stories.tsx +56 -0
  513. package/src/components/AnchorNavigation/AnchorNavigation.tsx +29 -0
  514. package/src/components/AnchorNavigation/README.mdx +0 -0
  515. package/src/components/AnchorNavigation/index.ts +1 -0
  516. package/src/components/AuthLayout/AuthLayout-test.js +46 -0
  517. package/src/components/AuthLayout/AuthLayout.stories.tsx +146 -0
  518. package/src/components/AuthLayout/AuthLayout.tsx +64 -0
  519. package/src/components/AuthLayout/README.mdx +0 -0
  520. package/src/components/AuthLayout/index.ts +1 -0
  521. package/src/components/Avatar/Avatar.stories.tsx +19 -0
  522. package/src/components/Avatar/Avatar.tsx +99 -0
  523. package/src/components/Avatar/index.ts +1 -0
  524. package/src/components/BannerNavigation/BannerNavigation-test.js +48 -0
  525. package/src/components/BannerNavigation/BannerNavigation.hbs +45 -0
  526. package/src/components/BannerNavigation/BannerNavigation.stories.tsx +64 -0
  527. package/src/components/BannerNavigation/BannerNavigation.tsx +55 -0
  528. package/src/components/BannerNavigation/BannerNavigation.twig +16 -0
  529. package/src/components/BannerNavigation/BannerNavigationWithContent.tsx +93 -0
  530. package/src/components/BannerNavigation/README.mdx +62 -0
  531. package/src/components/BannerNavigation/index.ts +2 -0
  532. package/src/components/BannerNavigation/kinds.js +3 -0
  533. package/src/components/Breadcrumb/Breadcrumb-test.js +50 -0
  534. package/src/components/Breadcrumb/Breadcrumb.Skeleton.jsx +22 -0
  535. package/src/components/Breadcrumb/Breadcrumb.hbs +16 -0
  536. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +39 -0
  537. package/src/components/Breadcrumb/Breadcrumb.tsx +27 -0
  538. package/src/components/Breadcrumb/README.mdx +23 -0
  539. package/src/components/Breadcrumb/index.ts +2 -0
  540. package/src/components/BreadcrumbHome/BreadcrumbHome.tsx +37 -0
  541. package/src/components/BreadcrumbHome/index.ts +1 -0
  542. package/src/components/BreadcrumbItem/BreadcrumbItem.tsx +54 -0
  543. package/src/components/BreadcrumbItem/index.ts +1 -0
  544. package/src/components/Button/Button.Skeleton.tsx +30 -0
  545. package/src/components/Button/Button.d.ts +7 -0
  546. package/src/components/Button/Button.stories.tsx +339 -0
  547. package/src/components/Button/Button.test.tsx +135 -0
  548. package/src/components/Button/Button.tsx +201 -0
  549. package/src/components/Button/Button.twig +1 -0
  550. package/src/components/Button/README.mdx +34 -0
  551. package/src/components/Button/__snapshots__/Button.test.tsx.snap +12 -0
  552. package/src/components/Button/index.ts +2 -0
  553. package/src/components/Card/Card-old.js +187 -0
  554. package/src/components/Card/Card-test.js +27 -0
  555. package/src/components/Card/Card.stories.tsx +105 -0
  556. package/src/components/Card/Card.tsx +159 -0
  557. package/src/components/Card/Card.twig +21 -0
  558. package/src/components/Card/CardExternal.tsx +174 -0
  559. package/src/components/Card/README.mdx +1 -0
  560. package/src/components/Card/index.ts +2 -0
  561. package/src/components/Checkbox/Checkbox-old.js +132 -0
  562. package/src/components/Checkbox/Checkbox-test.js +205 -0
  563. package/src/components/Checkbox/Checkbox.Skeleton.js +37 -0
  564. package/src/components/Checkbox/Checkbox.hbs +15 -0
  565. package/src/components/Checkbox/Checkbox.legacy.js +126 -0
  566. package/src/components/Checkbox/Checkbox.stories.tsx +179 -0
  567. package/src/components/Checkbox/Checkbox.tsx +123 -0
  568. package/src/components/Checkbox/README.mdx +59 -0
  569. package/src/components/Checkbox/index.ts +1 -0
  570. package/src/components/CheckboxGroup/README.md +29 -0
  571. package/src/components/CheckboxGroup/RadioButtonGroup.js +158 -0
  572. package/src/components/CheckboxGroup/RadioButtonGroupWithoutControls.js +46 -0
  573. package/src/components/CheckboxGroup/index.js +1 -0
  574. package/src/components/ContentSwitcher/ContentSwitcher-test.js +117 -0
  575. package/src/components/ContentSwitcher/ContentSwitcher.hbs +5 -0
  576. package/src/components/ContentSwitcher/ContentSwitcher.stories.tsx +94 -0
  577. package/src/components/ContentSwitcher/ContentSwitcher.tsx +57 -0
  578. package/src/components/ContentSwitcher/README.mdx +31 -0
  579. package/src/components/ContentSwitcher/index.ts +1 -0
  580. package/src/components/ContextMenu/ContextMenu.stories.tsx +137 -0
  581. package/src/components/ContextMenu/ContextMenu.tsx +89 -0
  582. package/src/components/ContextMenu/README.mdx +13 -0
  583. package/src/components/ContextMenu/index.ts +1 -0
  584. package/src/components/Credits/Credits-test.js +25 -0
  585. package/src/components/Credits/Credits.hbs +4 -0
  586. package/src/components/Credits/Credits.stories.tsx +30 -0
  587. package/src/components/Credits/Credits.tsx +31 -0
  588. package/src/components/Credits/README.mdx +1 -0
  589. package/src/components/Credits/index.ts +1 -0
  590. package/src/components/DatePicker/DatePicker.stories.tsx +51 -0
  591. package/src/components/DatePicker/DatePicker.tsx +53 -0
  592. package/src/components/DatePicker/DatePickerInput.tsx +82 -0
  593. package/src/components/DatePicker/DatePickerNew.stories.js.new +195 -0
  594. package/src/components/DatePicker/DateRangePicker.tsx +63 -0
  595. package/src/components/DatePicker/DateRangePickerInput.tsx +106 -0
  596. package/src/components/DatePicker/README.mdx +50 -0
  597. package/src/components/DatePicker/index.ts +4 -0
  598. package/src/components/Empty/Empty-test.js +69 -0
  599. package/src/components/Empty/Empty.stories.tsx +54 -0
  600. package/src/components/Empty/Empty.tsx +95 -0
  601. package/src/components/Empty/README.mdx +28 -0
  602. package/src/components/Empty/index.ts +1 -0
  603. package/src/components/Footer/Footer-external.hbs +22 -0
  604. package/src/components/Footer/Footer-internal.hbs +30 -0
  605. package/src/components/Footer/Footer.stories.tsx +331 -0
  606. package/src/components/Footer/Footer.test.tsx +64 -0
  607. package/src/components/Footer/Footer.tsx +156 -0
  608. package/src/components/Footer/FooterExternal.tsx +172 -0
  609. package/src/components/Footer/README.mdx +20 -0
  610. package/src/components/Footer/index.ts +2 -0
  611. package/src/components/Form/Form-test.js +56 -0
  612. package/src/components/Form/Form.stories.tsx +485 -0
  613. package/src/components/Form/Form.tsx +40 -0
  614. package/src/components/Form/README.mdx +46 -0
  615. package/src/components/Form/index.ts +1 -0
  616. package/src/components/FormGroup/FormGroup-old.js +100 -0
  617. package/src/components/FormGroup/FormGroup-test.js +49 -0
  618. package/src/components/FormGroup/FormGroup.stories.tsx.new +306 -0
  619. package/src/components/FormGroup/FormGroup.tsx +63 -0
  620. package/src/components/FormGroup/README.mdx +7 -0
  621. package/src/components/FormGroup/index.ts +1 -0
  622. package/src/components/FormHint/FormHint-old.js +44 -0
  623. package/src/components/FormHint/FormHint-test.js +13 -0
  624. package/src/components/FormHint/FormHint.stories.tsx +72 -0
  625. package/src/components/FormHint/FormHint.tsx +37 -0
  626. package/src/components/FormHint/README.mdx +13 -0
  627. package/src/components/FormHint/index.ts +1 -0
  628. package/src/components/FormItem/FormItem-test.js +10 -0
  629. package/src/components/FormItem/FormItem.tsx +45 -0
  630. package/src/components/FormItem/RfFormItem.js +44 -0
  631. package/src/components/FormItem/__snapshots__/FormItem-test.js.snap +7 -0
  632. package/src/components/FormItem/index.ts +1 -0
  633. package/src/components/FormLabel/FormLabel-test.js +10 -0
  634. package/src/components/FormLabel/FormLabel.hbs +1 -0
  635. package/src/components/FormLabel/FormLabel.stories.tsx +15 -0
  636. package/src/components/FormLabel/FormLabel.tsx +35 -0
  637. package/src/components/FormLabel/README.mdx +1 -0
  638. package/src/components/FormLabel/RfFormLabel.js +38 -0
  639. package/src/components/FormLabel/__snapshots__/FormLabel-test.js.snap +7 -0
  640. package/src/components/FormLabel/index.ts +1 -0
  641. package/src/components/Hero/Hero-old.js +154 -0
  642. package/src/components/Hero/Hero-test.js +81 -0
  643. package/src/components/Hero/Hero.hbs +4 -0
  644. package/src/components/Hero/Hero.stories.tsx +356 -0
  645. package/src/components/Hero/Hero.tsx +142 -0
  646. package/src/components/Hero/Hero.twig +10 -0
  647. package/src/components/Hero/HeroExternal-old.js +54 -0
  648. package/src/components/Hero/HeroExternal.tsx +64 -0
  649. package/src/components/Hero/README.mdx +5 -0
  650. package/src/components/Hero/index.ts +2 -0
  651. package/src/components/InfoBar/InfoBar-test.js +17 -0
  652. package/src/components/InfoBar/InfoBar.stories.tsx +42 -0
  653. package/src/components/InfoBar/InfoBar.test.tsx +46 -0
  654. package/src/components/InfoBar/InfoBar.tsx +46 -0
  655. package/src/components/InfoBar/README.mdx +5 -0
  656. package/src/components/InfoBar/__snapshots__/InfoBar.test.tsx.snap +15 -0
  657. package/src/components/InfoBar/index.ts +1 -0
  658. package/src/components/InlineLoading/InlineLoading-FCold.js +90 -0
  659. package/src/components/InlineLoading/InlineLoading-Old.js +102 -0
  660. package/src/components/InlineLoading/InlineLoading-test.js +90 -0
  661. package/src/components/InlineLoading/InlineLoading.stories.tsx +39 -0
  662. package/src/components/InlineLoading/InlineLoading.tsx +79 -0
  663. package/src/components/InlineLoading/README.mdx +89 -0
  664. package/src/components/InlineLoading/index.ts +1 -0
  665. package/src/components/InlineLoading/inline-loading.config.js +25 -0
  666. package/src/components/InlineLoading/inline-loading.hbs +28 -0
  667. package/src/components/InlineLoading/inline-loading.js +135 -0
  668. package/src/components/Input/Input-test.js +120 -0
  669. package/src/components/Input/Input.stories.tsx +48 -0
  670. package/src/components/Input/Input.tsx +345 -0
  671. package/src/components/Input/README.mdx +46 -0
  672. package/src/components/Input/index.tsx +13 -0
  673. package/src/components/Input/useInput.tsx +189 -0
  674. package/src/components/InputGroup/InputGroup-old.js +166 -0
  675. package/src/components/InputGroup/InputGroup-test.js +114 -0
  676. package/src/components/InputGroup/InputGroup.stories.tsx +265 -0
  677. package/src/components/InputGroup/InputGroup.tsx +132 -0
  678. package/src/components/InputGroup/README.mdx +19 -0
  679. package/src/components/InputGroup/RadioButtonGroupWithoutControls.js +36 -0
  680. package/src/components/InputGroup/index.tsx +1 -0
  681. package/src/components/Item/Item-test.js +33 -0
  682. package/src/components/Item/Item.stories.tsx +158 -0
  683. package/src/components/Item/Item.tsx +134 -0
  684. package/src/components/Item/README.mdx +28 -0
  685. package/src/components/Item/index.ts +1 -0
  686. package/src/components/Link/Link-test.e2e.js +35 -0
  687. package/src/components/Link/Link-test.js +115 -0
  688. package/src/components/Link/Link.mdx +41 -0
  689. package/src/components/Link/Link.stories.tsx +95 -0
  690. package/src/components/Link/Link.test.tsx +100 -0
  691. package/src/components/Link/Link.tsx +91 -0
  692. package/src/components/Link/README.mdx +35 -0
  693. package/src/components/Link/__snapshots__/Link.test.tsx.snap +12 -0
  694. package/src/components/Link/index.ts +1 -0
  695. package/src/components/Link/link-avt.md +32 -0
  696. package/src/components/List/List-test.js +27 -0
  697. package/src/components/List/List.hbs +11 -0
  698. package/src/components/List/List.stories.tsx +195 -0
  699. package/src/components/List/List.tsx +91 -0
  700. package/src/components/List/ListItem.tsx +54 -0
  701. package/src/components/List/README.mdx +19 -0
  702. package/src/components/List/index.ts +2 -0
  703. package/src/components/Loading/Loading-oldClass.js +93 -0
  704. package/src/components/Loading/Loading-oldFC.js +80 -0
  705. package/src/components/Loading/Loading-test.js +68 -0
  706. package/src/components/Loading/Loading.stories.tsx +94 -0
  707. package/src/components/Loading/Loading.tsx +74 -0
  708. package/src/components/Loading/README.mdx +23 -0
  709. package/src/components/Loading/index.ts +8 -0
  710. package/src/components/Loading/loading-vanilla.js +137 -0
  711. package/src/components/Loading/loading.config.js +42 -0
  712. package/src/components/Loading/loading.hbs +18 -0
  713. package/src/components/MainNavigation/MainNavigation-test.js +26 -0
  714. package/src/components/MainNavigation/MainNavigation.hbs +180 -0
  715. package/src/components/MainNavigation/MainNavigation.stories.tsx +681 -0
  716. package/src/components/MainNavigation/MainNavigation.tsx +174 -0
  717. package/src/components/MainNavigation/MainNavigationContext.ts +34 -0
  718. package/src/components/MainNavigation/MainNavigationExternal.tsx +338 -0
  719. package/src/components/MainNavigation/MainNavigationRtl-story.legacy.js +95 -0
  720. package/src/components/MainNavigation/MobileButton.tsx +29 -0
  721. package/src/components/MainNavigation/README.mdx.legacy +173 -0
  722. package/src/components/MainNavigation/index.ts +4 -0
  723. package/src/components/MainNavigation/main-navigation.js +74 -0
  724. package/src/components/MainNavigation/useMainNavigation.tsx +17 -0
  725. package/src/components/MainNavigationItem/MainNavigationItem.tsx +110 -0
  726. package/src/components/MainNavigationItem/index.ts +1 -0
  727. package/src/components/MdxComponents/MdxComponents.stories.tsx +32 -0
  728. package/src/components/MdxComponents/MdxComponentsNew.tsx +181 -0
  729. package/src/components/MdxComponents/README.mdx +22 -0
  730. package/src/components/MdxComponents/index.ts +1 -0
  731. package/src/components/MdxComponents/markdown.mdx +109 -0
  732. package/src/components/Modal/Modal-test.js +206 -0
  733. package/src/components/Modal/Modal.hbs +26 -0
  734. package/src/components/Modal/Modal.stories.tsx +36 -0
  735. package/src/components/Modal/Modal.tsx +378 -0
  736. package/src/components/Modal/ModalFooter-old.js +41 -0
  737. package/src/components/Modal/ModalFooter.tsx +60 -0
  738. package/src/components/Modal/ModalHeader.js +25 -0
  739. package/src/components/Modal/ModalWithControls-story.legacy.js +44 -0
  740. package/src/components/Modal/README.mdx.legacy +102 -0
  741. package/src/components/Modal/index.ts +2 -0
  742. package/src/components/ModalWrapper/ModalWrapper-old.js +141 -0
  743. package/src/components/ModalWrapper/ModalWrapper-test.js +108 -0
  744. package/src/components/ModalWrapper/ModalWrapper.stories.tsx +109 -0
  745. package/src/components/ModalWrapper/ModalWrapper.tsx +149 -0
  746. package/src/components/ModalWrapper/README.mdx +16 -0
  747. package/src/components/ModalWrapper/index.ts +1 -0
  748. package/src/components/Module/Module-old.js +74 -0
  749. package/src/components/Module/Module-test.js +54 -0
  750. package/src/components/Module/Module.hbs +3 -0
  751. package/src/components/Module/Module.stories.tsx +108 -0
  752. package/src/components/Module/Module.tsx +75 -0
  753. package/src/components/Module/ModuleBody.tsx +42 -0
  754. package/src/components/Module/ModuleFooter.tsx +26 -0
  755. package/src/components/Module/ModuleHeader.tsx +34 -0
  756. package/src/components/Module/README.mdx +28 -0
  757. package/src/components/Module/index.ts +6 -0
  758. package/src/components/Notification/Callout.tsx +141 -0
  759. package/src/components/Notification/InlineNotification.tsx.legacy +142 -0
  760. package/src/components/Notification/Notification-test.js +258 -0
  761. package/src/components/Notification/Notification.stories.tsx +286 -0
  762. package/src/components/Notification/NotificationActionButton.tsx +48 -0
  763. package/src/components/Notification/NotificationButton.tsx +86 -0
  764. package/src/components/Notification/NotificationIcon.tsx +41 -0
  765. package/src/components/Notification/NotificationTextDetails.tsx +51 -0
  766. package/src/components/Notification/README.mdx +26 -0
  767. package/src/components/Notification/ToastNotification.tsx +110 -0
  768. package/src/components/Notification/a11yIconWarningSolid.js +36 -0
  769. package/src/components/Notification/index.ts +7 -0
  770. package/src/components/NumberInput/NumberInput-test.js +285 -0
  771. package/src/components/NumberInput/NumberInput.Skeleton.tsx +29 -0
  772. package/src/components/NumberInput/NumberInput.js.legacy +255 -0
  773. package/src/components/NumberInput/NumberInput.legacy.js +330 -0
  774. package/src/components/NumberInput/NumberInput.stories.tsx +79 -0
  775. package/src/components/NumberInput/NumberInput.tsx +215 -0
  776. package/src/components/NumberInput/README.mdx +16 -0
  777. package/src/components/NumberInput/index.ts +2 -0
  778. package/src/components/Pagination/Pagination-fc.js +217 -0
  779. package/src/components/Pagination/Pagination-old.js +346 -0
  780. package/src/components/Pagination/Pagination-test.js +400 -0
  781. package/src/components/Pagination/Pagination.Skeleton.jsx +22 -0
  782. package/src/components/Pagination/Pagination.stories.tsx +22 -0
  783. package/src/components/Pagination/Pagination.tsx +263 -0
  784. package/src/components/Pagination/README.mdx +27 -0
  785. package/src/components/Pagination/index.js +2 -0
  786. package/src/components/RadioButton/README.mdx +34 -0
  787. package/src/components/RadioButton/RadioButton-fc.js +103 -0
  788. package/src/components/RadioButton/RadioButton-old.js +109 -0
  789. package/src/components/RadioButton/RadioButton-test.js +131 -0
  790. package/src/components/RadioButton/RadioButton.Skeleton.jsx +20 -0
  791. package/src/components/RadioButton/RadioButton.hbs +7 -0
  792. package/src/components/RadioButton/RadioButton.stories.tsx +183 -0
  793. package/src/components/RadioButton/RadioButton.tsx +85 -0
  794. package/src/components/RadioButton/index.ts +3 -0
  795. package/src/components/RadioButtonGroup/README.md +31 -0
  796. package/src/components/RadioButtonGroup/RadioButtonGroup-test.js +65 -0
  797. package/src/components/RadioButtonGroup/RadioButtonGroup.js +172 -0
  798. package/src/components/RadioButtonGroup/RadioButtonGroupWithoutControls.js +44 -0
  799. package/src/components/RadioButtonGroup/index.js +1 -0
  800. package/src/components/ReactSelect/README.mdx +33 -0
  801. package/src/components/ReactSelect/ReactSelect.stories.tsx +56 -0
  802. package/src/components/ReadMore/README.mdx +30 -0
  803. package/src/components/ReadMore/ReadMore-test.js +17 -0
  804. package/src/components/ReadMore/ReadMore.stories.tsx +37 -0
  805. package/src/components/ReadMore/ReadMore.tsx +185 -0
  806. package/src/components/ReadMore/index.js +1 -0
  807. package/src/components/Search/README.mdx +22 -0
  808. package/src/components/Search/Search-test.js +178 -0
  809. package/src/components/Search/Search.stories.tsx +112 -0
  810. package/src/components/Search/Search.tsx +177 -0
  811. package/src/components/Search/index.ts +2 -0
  812. package/src/components/SecondaryNavigation/README.mdx +1 -0
  813. package/src/components/SecondaryNavigation/SecondaryNavigation-old.js +80 -0
  814. package/src/components/SecondaryNavigation/SecondaryNavigation-test.js +27 -0
  815. package/src/components/SecondaryNavigation/SecondaryNavigation.hbs +35 -0
  816. package/src/components/SecondaryNavigation/SecondaryNavigation.stories.tsx +133 -0
  817. package/src/components/SecondaryNavigation/SecondaryNavigation.tsx +56 -0
  818. package/src/components/SecondaryNavigation/SecondaryNavigationTitle.tsx +24 -0
  819. package/src/components/SecondaryNavigation/index.js +2 -0
  820. package/src/components/Select/README.mdx +17 -0
  821. package/src/components/Select/Select-test.js +165 -0
  822. package/src/components/Select/Select.Skeleton.js +25 -0
  823. package/src/components/Select/Select.stories.tsx +54 -0
  824. package/src/components/Select/Select.tsx +98 -0
  825. package/src/components/Select/index.ts +1 -0
  826. package/src/components/SelectItem/SelectItem-old.js +40 -0
  827. package/src/components/SelectItem/SelectItem-test.js +45 -0
  828. package/src/components/SelectItem/SelectItem.tsx +57 -0
  829. package/src/components/SelectItem/index.ts +1 -0
  830. package/src/components/SelectItemGroup/SelectItemGroup-test.js +34 -0
  831. package/src/components/SelectItemGroup/SelectItemGroup.tsx +40 -0
  832. package/src/components/SelectItemGroup/index.ts +1 -0
  833. package/src/components/Sidebar/PHONEBOOK.json +1101 -0
  834. package/src/components/Sidebar/README.mdx +0 -0
  835. package/src/components/Sidebar/Sidebar-test.js +55 -0
  836. package/src/components/Sidebar/Sidebar.stories.tsx.new +430 -0
  837. package/src/components/Sidebar/Sidebar.tsx +164 -0
  838. package/src/components/Sidebar/index.ts +8 -0
  839. package/src/components/SkeletonText/README.mdx +29 -0
  840. package/src/components/SkeletonText/SkeletonText-old.js +95 -0
  841. package/src/components/SkeletonText/SkeletonText-test.js +23 -0
  842. package/src/components/SkeletonText/SkeletonText.stories.tsx +19 -0
  843. package/src/components/SkeletonText/SkeletonText.tsx +90 -0
  844. package/src/components/SkeletonText/index.ts +1 -0
  845. package/src/components/Slider/README.mdx +21 -0
  846. package/src/components/Slider/Slider-old.js +315 -0
  847. package/src/components/Slider/Slider-test.js +145 -0
  848. package/src/components/Slider/Slider.Skeleton.jsx +29 -0
  849. package/src/components/Slider/Slider.legacy.js +476 -0
  850. package/src/components/Slider/Slider.stories.tsx +116 -0
  851. package/src/components/Slider/Slider.tsx +242 -0
  852. package/src/components/Slider/index.ts +2 -0
  853. package/src/components/StepNavigation/README.mdx +16 -0
  854. package/src/components/StepNavigation/StepNavigation-test.js +20 -0
  855. package/src/components/StepNavigation/StepNavigation.Skeleton.tsx +33 -0
  856. package/src/components/StepNavigation/StepNavigation.hbs +14 -0
  857. package/src/components/StepNavigation/StepNavigation.stories.tsx +131 -0
  858. package/src/components/StepNavigation/StepNavigation.tsx +159 -0
  859. package/src/components/StepNavigation/index.ts +2 -0
  860. package/src/components/StepNavigationItem/StepNavigationItem-test.js +24 -0
  861. package/src/components/StepNavigationItem/StepNavigationItem.tsx +155 -0
  862. package/src/components/StepNavigationItem/index.ts +1 -0
  863. package/src/components/Story/README.mdx +27 -0
  864. package/src/components/Story/Story-text.js +22 -0
  865. package/src/components/Story/Story.hbs +12 -0
  866. package/src/components/Story/Story.stories.tsx +109 -0
  867. package/src/components/Story/Story.tsx +25 -0
  868. package/src/components/Story/index.ts +1 -0
  869. package/src/components/SubNavigation/README.mdx +111 -0
  870. package/src/components/SubNavigation/SubNavigation-test.js +161 -0
  871. package/src/components/SubNavigation/SubNavigation.stories.tsx +249 -0
  872. package/src/components/SubNavigation/SubNavigation.tsx +6 -0
  873. package/src/components/SubNavigation/SubNavigationContent.tsx +26 -0
  874. package/src/components/SubNavigation/SubNavigationFilter.tsx +26 -0
  875. package/src/components/SubNavigation/SubNavigationGroup.tsx +48 -0
  876. package/src/components/SubNavigation/SubNavigationHeader.tsx +26 -0
  877. package/src/components/SubNavigation/SubNavigationItem.tsx +25 -0
  878. package/src/components/SubNavigation/SubNavigationLink.tsx +25 -0
  879. package/src/components/SubNavigation/SubNavigationList.tsx +25 -0
  880. package/src/components/SubNavigation/SubNavigationTitle.tsx +26 -0
  881. package/src/components/SubNavigation/index.ts +9 -0
  882. package/src/components/Tab/Tab-oldClass.js +209 -0
  883. package/src/components/Tab/Tab-oldFunc.js +206 -0
  884. package/src/components/Tab/Tab-test.js +93 -0
  885. package/src/components/Tab/Tab.tsx +149 -0
  886. package/src/components/Tab/index.ts +3 -0
  887. package/src/components/Tab/useTab.tsx +89 -0
  888. package/src/components/TabContent/TabContent-old.js +30 -0
  889. package/src/components/TabContent/TabContent-test.js +28 -0
  890. package/src/components/TabContent/TabContent.tsx +26 -0
  891. package/src/components/TabContent/index.ts +1 -0
  892. package/src/components/Table/README.mdx +0 -0
  893. package/src/components/Table/Table-test.js +22 -0
  894. package/src/components/Table/Table.stories.tsx +524 -0
  895. package/src/components/Table/Table.tsx +34 -0
  896. package/src/components/Table/TableResponsive-story-legacy.js +216 -0
  897. package/src/components/Table/TableSimple-story-legacy.js +39 -0
  898. package/src/components/Table/TableSorting.tsx +31 -0
  899. package/src/components/Table/index.ts +2 -0
  900. package/src/components/Table/makeData.js +75 -0
  901. package/src/components/TablePagination/TablePagination.tsx +98 -0
  902. package/src/components/TablePagination/index.ts +1 -0
  903. package/src/components/Tabs/README.mdx +113 -0
  904. package/src/components/Tabs/Tabs-old.js.legacy +281 -0
  905. package/src/components/Tabs/Tabs-test.js +284 -0
  906. package/src/components/Tabs/Tabs.Skeleton.jsx +33 -0
  907. package/src/components/Tabs/Tabs.hbs +14 -0
  908. package/src/components/Tabs/Tabs.stories.tsx +73 -0
  909. package/src/components/Tabs/Tabs.tsx +270 -0
  910. package/src/components/Tabs/TabsContext.ts +15 -0
  911. package/src/components/Tabs/index.ts +2 -0
  912. package/src/components/Tag/README.mdx +19 -0
  913. package/src/components/Tag/Tag-test.js +42 -0
  914. package/src/components/Tag/Tag.Skeleton.jsx +9 -0
  915. package/src/components/Tag/Tag.stories.tsx +20 -0
  916. package/src/components/Tag/Tag.tsx +46 -0
  917. package/src/components/Tag/index.ts +3 -0
  918. package/src/components/Tag/tag.config.js +69 -0
  919. package/src/components/Tag/tag.hbs +10 -0
  920. package/src/components/Text/README.mdx +57 -0
  921. package/src/components/Text/Text-test.js +19 -0
  922. package/src/components/Text/Text.js.legacy +102 -0
  923. package/src/components/Text/Text.stories.tsx +390 -0
  924. package/src/components/Text/Text.tsx +81 -0
  925. package/src/components/Text/index.ts +2 -0
  926. package/src/components/TextArea/README.mdx +3 -0
  927. package/src/components/TextArea/TextArea-old.js +207 -0
  928. package/src/components/TextArea/TextArea-test.js +167 -0
  929. package/src/components/TextArea/TextArea.Skeleton.jsx +21 -0
  930. package/src/components/TextArea/TextArea.stories.tsx +43 -0
  931. package/src/components/TextArea/TextArea.tsx +40 -0
  932. package/src/components/TextArea/index.ts +2 -0
  933. package/src/components/TextInput/README.mdx +3 -0
  934. package/src/components/TextInput/TextInput-old.js +162 -0
  935. package/src/components/TextInput/TextInput-test.js +156 -0
  936. package/src/components/TextInput/TextInput.Skeleton.jsx +21 -0
  937. package/src/components/TextInput/TextInput.hbs +4 -0
  938. package/src/components/TextInput/TextInput.legacy.js +162 -0
  939. package/src/components/TextInput/TextInput.stories.tsx +80 -0
  940. package/src/components/TextInput/TextInput.tsx +52 -0
  941. package/src/components/TextInput/index.ts +2 -0
  942. package/src/components/Toggle/README.mdx +4 -0
  943. package/src/components/Toggle/Toggle-old.js +113 -0
  944. package/src/components/Toggle/Toggle-test.js +114 -0
  945. package/src/components/Toggle/Toggle.Skeleton.jsx +18 -0
  946. package/src/components/Toggle/Toggle.stories.tsx +21 -0
  947. package/src/components/Toggle/Toggle.tsx +113 -0
  948. package/src/components/Toggle/index.ts +2 -0
  949. package/src/components/Tooltip/Empty.js +5 -0
  950. package/src/components/Tooltip/README.mdx +1 -0
  951. package/src/components/Tooltip/Tooltip.stories.tsx +99 -0
  952. package/src/components/Tooltip/Tooltip.tsx +235 -0
  953. package/src/components/Tooltip/_mixins.scss +107 -0
  954. package/src/components/Tooltip/_tooltip.legacy.scss +58 -0
  955. package/src/components/Tooltip/_tooltip.scss +112 -0
  956. package/src/components/Tooltip/_vars.scss +6 -0
  957. package/src/components/Tooltip/animations/fade.scss +10 -0
  958. package/src/components/Tooltip/backdrop.scss +66 -0
  959. package/src/components/Tooltip/index.tsx +2 -0
  960. package/src/components/Tooltip/legacy/_mixins.scss +191 -0
  961. package/src/components/Tooltip/legacy/_tooltip.scss +70 -0
  962. package/src/components/Tooltip/legacy/_vars.scss +5 -0
  963. package/src/components/Tooltip/legacy/themes/light.scss +30 -0
  964. package/src/components/Tooltip/svg-arrow.scss +37 -0
  965. package/src/components/Tooltip/themes/light-border.scss +158 -0
  966. package/src/components/Tooltip/themes/light.scss +28 -0
  967. package/src/components/Unit/InvalidUnit.tsx +11 -0
  968. package/src/components/Unit/README.mdx +1 -0
  969. package/src/components/Unit/SimpleCalc.tsx +49 -0
  970. package/src/components/Unit/StringUnit.tsx +13 -0
  971. package/src/components/Unit/SvgUnit.tsx +22 -0
  972. package/src/components/Unit/Unit-old.js +138 -0
  973. package/src/components/Unit/Unit-test.js +18 -0
  974. package/src/components/Unit/Unit.hbs +1 -0
  975. package/src/components/Unit/Unit.stories.tsx +161 -0
  976. package/src/components/Unit/Unit.tsx +158 -0
  977. package/src/components/Unit/UnitList.tsx +84 -0
  978. package/src/components/Unit/YearMonthCalc.tsx +59 -0
  979. package/src/components/Unit/currencyCalc.tsx +124 -0
  980. package/src/components/Unit/index.js +1 -0
  981. package/src/components/Unit/percentageCalc.tsx +73 -0
  982. package/src/components/Unit/scaleLookup.tsx +19 -0
  983. package/src/components/User/README.mdx +1 -0
  984. package/src/components/User/User-test.js +50 -0
  985. package/src/components/User/User.hbs +8 -0
  986. package/src/components/User/User.stories.tsx +100 -0
  987. package/src/components/User/User.tsx +111 -0
  988. package/src/components/User/index.ts +1 -0
  989. package/src/components/Value/README.mdx +1 -0
  990. package/src/components/Value/Value-test.js +28 -0
  991. package/src/components/Value/Value.stories.tsx +28 -0
  992. package/src/components/Value/Value.tsx +34 -0
  993. package/src/components/Value/index.ts +1 -0
  994. package/src/components/WFPCoreSettings/WFPCoreProvider.tsx +125 -0
  995. package/src/components/WFPCoreSettings/defaults.ts +3 -0
  996. package/src/components/WFPCoreSettings/index.ts +4 -0
  997. package/src/components/WFPCoreSettings/useTheme.tsx +7 -0
  998. package/src/components/WFPCoreSettings/withWFPCoreSettings.tsx +12 -0
  999. package/src/components/Wrapper/README.mdx +11 -0
  1000. package/src/components/Wrapper/Wrapper-test.js +51 -0
  1001. package/src/components/Wrapper/Wrapper.stories.tsx +26 -0
  1002. package/src/components/Wrapper/Wrapper.test.tsx +94 -0
  1003. package/src/components/Wrapper/Wrapper.tsx +86 -0
  1004. package/src/components/Wrapper/__snapshots__/Wrapper.test.tsx.snap +11 -0
  1005. package/src/components/Wrapper/index.ts +2 -0
  1006. package/src/globals/data/colors.js +716 -0
  1007. package/src/globals/data/colors.json +273 -0
  1008. package/src/globals/js/boot.js +39 -0
  1009. package/src/globals/js/components.js +36 -0
  1010. package/src/globals/js/index.js +1 -0
  1011. package/src/globals/js/misc/event-matches.js +29 -0
  1012. package/src/globals/js/misc/get-launching-details.js +24 -0
  1013. package/src/globals/js/misc/mixin.js +30 -0
  1014. package/src/globals/js/misc/on.js +9 -0
  1015. package/src/globals/js/misc/resize.js +53 -0
  1016. package/src/globals/js/misc/svg-toggle-class.js +23 -0
  1017. package/src/globals/js/mixins/README.md +207 -0
  1018. package/src/globals/js/mixins/create-component.js +69 -0
  1019. package/src/globals/js/mixins/evented-show-hide-state.js +40 -0
  1020. package/src/globals/js/mixins/evented-state.js +124 -0
  1021. package/src/globals/js/mixins/handles.js +45 -0
  1022. package/src/globals/js/mixins/init-component-by-event.js +84 -0
  1023. package/src/globals/js/mixins/init-component-by-launcher.js +89 -0
  1024. package/src/globals/js/mixins/init-component-by-search.js +41 -0
  1025. package/src/globals/js/mixins/track-blur.js +45 -0
  1026. package/src/globals/js/settings.tsx +49 -0
  1027. package/src/globals/js/watch.js +95 -0
  1028. package/src/globals/scss/styles.scss +146 -0
  1029. package/src/hooks/index.js +1 -0
  1030. package/src/hooks/togglable.js +12 -0
  1031. package/src/hooks/useHeightTransition.ts +33 -0
  1032. package/src/hooks/useId.ts +14 -0
  1033. package/src/hooks/useIsomorphicLayoutEffect.tsx +14 -0
  1034. package/src/hooks/useMediaQuery.tsx +79 -0
  1035. package/src/hooks/useMergeRef.ts +24 -0
  1036. package/src/hooks/useSettings.tsx +20 -0
  1037. package/src/hooks/useWizard.js +77 -0
  1038. package/src/index.ts +185 -0
  1039. package/src/indexStories.ts +44 -0
  1040. package/src/internal/FeatureFlags.js +21 -0
  1041. package/src/internal/FloatingMenu.js +352 -0
  1042. package/src/internal/OptimizedResize.js +54 -0
  1043. package/src/internal/RfFormJest.js +45 -0
  1044. package/src/internal/RfFormWrapper.js +86 -0
  1045. package/src/internal/configureStore.js +13 -0
  1046. package/src/internal/loadDefaultData.js +20 -0
  1047. package/src/internal/useDetectPrint.js.legacy +20 -0
  1048. package/src/internal/withTests.js +7 -0
  1049. package/src/prop-types/types.ts +32 -0
  1050. package/src/tools/__tests__/uniqueId.test.ts +16 -0
  1051. package/src/tools/mergeRefs.js +23 -0
  1052. package/src/tools/setupGetInstanceId.js +10 -0
  1053. package/src/tools/uniqueId.ts +8 -0
  1054. package/src/tools/withState.js +21 -0
  1055. package/src/tools/wrapComponent.js +23 -0
  1056. package/src/utils/index.d.ts +138 -0
  1057. package/umd/dist/components/Accordion/__tests__/utils.d.ts +12 -0
  1058. package/umd/dist/components/Accordion/components/Accordion.d.ts +7 -0
  1059. package/umd/dist/components/Accordion/components/AccordionItem.d.ts +46 -0
  1060. package/umd/dist/components/Accordion/components/AccordionProvider.d.ts +7 -0
  1061. package/umd/dist/components/Accordion/components/ControlledAccordion.d.ts +8 -0
  1062. package/umd/dist/components/Accordion/components/withAccordionItem.d.ts +11 -0
  1063. package/umd/dist/components/Accordion/hooks/useAccordion.d.ts +5 -0
  1064. package/umd/dist/components/Accordion/hooks/useAccordionContext.d.ts +5 -0
  1065. package/umd/dist/components/Accordion/hooks/useAccordionItem.d.ts +7 -0
  1066. package/umd/dist/components/Accordion/hooks/useAccordionItemEffect.d.ts +13 -0
  1067. package/umd/dist/components/Accordion/hooks/useAccordionProvider.d.ts +3 -0
  1068. package/umd/dist/components/Accordion/hooks/useAccordionState.d.ts +14 -0
  1069. package/umd/dist/components/Accordion/hooks/useHeightTransition.d.ts +4 -0
  1070. package/umd/dist/components/Accordion/hooks/useId.d.ts +3 -0
  1071. package/umd/dist/components/Accordion/hooks/useMergeRef.d.ts +4 -0
  1072. package/umd/dist/components/Accordion/index.d.ts +17 -0
  1073. package/umd/dist/components/Accordion/utils/bem.d.ts +7 -0
  1074. package/umd/dist/components/Accordion/utils/constants.d.ts +58 -0
  1075. package/umd/dist/components/Accordion/utils/mergeProps.d.ts +2 -0
  1076. package/umd/dist/components/Accordion/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  1077. package/umd/dist/components/AnchorNavigation/AnchorNavigation.d.ts +6 -0
  1078. package/umd/dist/components/AnchorNavigation/index.d.ts +1 -0
  1079. package/umd/dist/components/AuthLayout/AuthLayout.d.ts +20 -0
  1080. package/umd/dist/components/AuthLayout/index.d.ts +1 -0
  1081. package/umd/dist/components/Avatar/Avatar.d.ts +33 -0
  1082. package/umd/dist/components/Avatar/index.d.ts +1 -0
  1083. package/umd/dist/components/BannerNavigation/BannerNavigation.d.ts +20 -0
  1084. package/umd/dist/components/BannerNavigation/BannerNavigationWithContent.d.ts +13 -0
  1085. package/umd/dist/components/BannerNavigation/index.d.ts +2 -0
  1086. package/umd/dist/components/Breadcrumb/Breadcrumb.d.ts +11 -0
  1087. package/umd/dist/components/Breadcrumb/index.d.ts +1 -0
  1088. package/umd/dist/components/BreadcrumbHome/BreadcrumbHome.d.ts +13 -0
  1089. package/umd/dist/components/BreadcrumbHome/index.d.ts +1 -0
  1090. package/umd/dist/components/BreadcrumbItem/BreadcrumbItem.d.ts +21 -0
  1091. package/umd/dist/components/BreadcrumbItem/index.d.ts +1 -0
  1092. package/umd/dist/components/Button/Button.Skeleton.d.ts +7 -0
  1093. package/umd/dist/components/Button/Button.d.ts +55 -0
  1094. package/umd/dist/components/Button/index.d.ts +1 -0
  1095. package/umd/dist/components/Card/Card.d.ts +61 -0
  1096. package/umd/dist/components/Card/CardExternal.d.ts +37 -0
  1097. package/umd/dist/components/Card/index.d.ts +2 -0
  1098. package/umd/dist/components/Checkbox/Checkbox.d.ts +37 -0
  1099. package/umd/dist/components/Checkbox/index.d.ts +1 -0
  1100. package/umd/dist/components/ContentSwitcher/ContentSwitcher.d.ts +12 -0
  1101. package/umd/dist/components/ContentSwitcher/index.d.ts +1 -0
  1102. package/umd/dist/components/ContextMenu/ContextMenu.d.ts +31 -0
  1103. package/umd/dist/components/ContextMenu/index.d.ts +1 -0
  1104. package/umd/dist/components/Credits/Credits.d.ts +10 -0
  1105. package/umd/dist/components/Credits/index.d.ts +1 -0
  1106. package/umd/dist/components/DatePicker/DatePicker.d.ts +8 -0
  1107. package/umd/dist/components/DatePicker/DatePickerInput.d.ts +38 -0
  1108. package/umd/dist/components/DatePicker/DateRangePicker.d.ts +8 -0
  1109. package/umd/dist/components/DatePicker/DateRangePickerInput.d.ts +34 -0
  1110. package/umd/dist/components/DatePicker/index.d.ts +4 -0
  1111. package/umd/dist/components/DatePickerNew/DateRangePickerInput.d.ts +11 -0
  1112. package/umd/dist/components/Empty/Empty.d.ts +40 -0
  1113. package/umd/dist/components/Empty/index.d.ts +1 -0
  1114. package/umd/dist/components/Footer/Footer.d.ts +47 -0
  1115. package/umd/dist/components/Footer/FooterExternal.d.ts +22 -0
  1116. package/umd/dist/components/Footer/index.d.ts +2 -0
  1117. package/umd/dist/components/Form/Form.d.ts +15 -0
  1118. package/umd/dist/components/Form/index.d.ts +1 -0
  1119. package/umd/dist/components/FormGroup/FormGroup.d.ts +14 -0
  1120. package/umd/dist/components/FormGroup/index.d.ts +1 -0
  1121. package/umd/dist/components/FormHint/FormHint.d.ts +15 -0
  1122. package/umd/dist/components/FormHint/index.d.ts +1 -0
  1123. package/umd/dist/components/FormItem/FormItem.d.ts +17 -0
  1124. package/umd/dist/components/FormItem/index.d.ts +1 -0
  1125. package/umd/dist/components/FormLabel/FormLabel.d.ts +15 -0
  1126. package/umd/dist/components/FormLabel/index.d.ts +1 -0
  1127. package/umd/dist/components/Hero/Hero.d.ts +53 -0
  1128. package/umd/dist/components/Hero/HeroExternal.d.ts +22 -0
  1129. package/umd/dist/components/Hero/index.d.ts +2 -0
  1130. package/umd/dist/components/InfoBar/InfoBar.d.ts +23 -0
  1131. package/umd/dist/components/InfoBar/index.d.ts +1 -0
  1132. package/umd/dist/components/InlineLoading/InlineLoading.d.ts +26 -0
  1133. package/umd/dist/components/InlineLoading/index.d.ts +1 -0
  1134. package/umd/dist/components/Input/Input.d.ts +152 -0
  1135. package/umd/dist/components/Input/index.d.ts +3 -0
  1136. package/umd/dist/components/Input/useInput.d.ts +123 -0
  1137. package/umd/dist/components/InputGroup/InputGroup.d.ts +48 -0
  1138. package/umd/dist/components/InputGroup/index.d.ts +1 -0
  1139. package/umd/dist/components/Item/Item.d.ts +59 -0
  1140. package/umd/dist/components/Item/index.d.ts +1 -0
  1141. package/umd/dist/components/Link/Link.d.ts +37 -0
  1142. package/umd/dist/components/Link/index.d.ts +1 -0
  1143. package/umd/dist/components/List/List.d.ts +32 -0
  1144. package/umd/dist/components/List/ListItem.d.ts +25 -0
  1145. package/umd/dist/components/List/index.d.ts +2 -0
  1146. package/umd/dist/components/Loading/Loading.d.ts +16 -0
  1147. package/umd/dist/components/Loading/index.d.ts +7 -0
  1148. package/umd/dist/components/MainNavigation/MainNavigation.d.ts +51 -0
  1149. package/umd/dist/components/MainNavigation/MainNavigationContext.d.ts +25 -0
  1150. package/umd/dist/components/MainNavigation/MainNavigationExternal.d.ts +72 -0
  1151. package/umd/dist/components/MainNavigation/MobileButton.d.ts +17 -0
  1152. package/umd/dist/components/MainNavigation/index.d.ts +4 -0
  1153. package/umd/dist/components/MainNavigation/useMainNavigation.d.ts +7 -0
  1154. package/umd/dist/components/MainNavigationItem/MainNavigationItem.d.ts +29 -0
  1155. package/umd/dist/components/MainNavigationItem/index.d.ts +1 -0
  1156. package/umd/dist/components/MdxComponents/MdxComponentsNew.d.ts +2 -0
  1157. package/umd/dist/components/MdxComponents/index.d.ts +1 -0
  1158. package/umd/dist/components/Modal/Modal.d.ts +122 -0
  1159. package/umd/dist/components/Modal/ModalFooter.d.ts +8 -0
  1160. package/umd/dist/components/Modal/index.d.ts +2 -0
  1161. package/umd/dist/components/ModalWrapper/ModalWrapper.d.ts +53 -0
  1162. package/umd/dist/components/ModalWrapper/index.d.ts +1 -0
  1163. package/umd/dist/components/Module/Module.d.ts +38 -0
  1164. package/umd/dist/components/Module/ModuleBody.d.ts +21 -0
  1165. package/umd/dist/components/Module/ModuleFooter.d.ts +10 -0
  1166. package/umd/dist/components/Module/ModuleHeader.d.ts +16 -0
  1167. package/umd/dist/components/Module/index.d.ts +4 -0
  1168. package/umd/dist/components/Notification/Callout.d.ts +59 -0
  1169. package/umd/dist/components/Notification/NotificationActionButton.d.ts +18 -0
  1170. package/umd/dist/components/Notification/NotificationButton.d.ts +36 -0
  1171. package/umd/dist/components/Notification/NotificationIcon.d.ts +8 -0
  1172. package/umd/dist/components/Notification/NotificationTextDetails.d.ts +10 -0
  1173. package/umd/dist/components/Notification/ToastNotification.d.ts +10 -0
  1174. package/umd/dist/components/Notification/index.d.ts +5 -0
  1175. package/umd/dist/components/NumberInput/NumberInput.Skeleton.d.ts +10 -0
  1176. package/umd/dist/components/NumberInput/NumberInput.d.ts +64 -0
  1177. package/umd/dist/components/NumberInput/index.d.ts +2 -0
  1178. package/umd/dist/components/Pagination/Pagination.d.ts +92 -0
  1179. package/umd/dist/components/Pagination/index.d.ts +1 -0
  1180. package/umd/dist/components/RadioButton/RadioButton.d.ts +27 -0
  1181. package/umd/dist/components/RadioButton/index.d.ts +2 -0
  1182. package/umd/dist/components/ReadMore/ReadMore.d.ts +45 -0
  1183. package/umd/dist/components/ReadMore/index.d.ts +1 -0
  1184. package/umd/dist/components/Search/Search.d.ts +50 -0
  1185. package/umd/dist/components/Search/index.d.ts +1 -0
  1186. package/umd/dist/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -0
  1187. package/umd/dist/components/SecondaryNavigation/SecondaryNavigationTitle.d.ts +8 -0
  1188. package/umd/dist/components/SecondaryNavigation/index.d.ts +2 -0
  1189. package/umd/dist/components/Select/Select.d.ts +24 -0
  1190. package/umd/dist/components/Select/index.d.ts +1 -0
  1191. package/umd/dist/components/SelectItem/SelectItem.d.ts +28 -0
  1192. package/umd/dist/components/SelectItem/index.d.ts +1 -0
  1193. package/umd/dist/components/SelectItemGroup/SelectItemGroup.d.ts +21 -0
  1194. package/umd/dist/components/SelectItemGroup/index.d.ts +1 -0
  1195. package/umd/dist/components/Sidebar/Sidebar.d.ts +46 -0
  1196. package/umd/dist/components/Sidebar/index.d.ts +1 -0
  1197. package/umd/dist/components/SkeletonText/SkeletonText.d.ts +22 -0
  1198. package/umd/dist/components/SkeletonText/index.d.ts +1 -0
  1199. package/umd/dist/components/Slider/Slider.d.ts +71 -0
  1200. package/umd/dist/components/Slider/index.d.ts +1 -0
  1201. package/umd/dist/components/StepNavigation/StepNavigation.Skeleton.d.ts +2 -0
  1202. package/umd/dist/components/StepNavigation/StepNavigation.d.ts +42 -0
  1203. package/umd/dist/components/StepNavigation/index.d.ts +2 -0
  1204. package/umd/dist/components/StepNavigationItem/StepNavigationItem.d.ts +55 -0
  1205. package/umd/dist/components/StepNavigationItem/index.d.ts +1 -0
  1206. package/umd/dist/components/Story/Story.d.ts +7 -0
  1207. package/umd/dist/components/Story/index.d.ts +1 -0
  1208. package/umd/dist/components/SubNavigation/SubNavigation.d.ts +5 -0
  1209. package/umd/dist/components/SubNavigation/SubNavigationContent.d.ts +9 -0
  1210. package/umd/dist/components/SubNavigation/SubNavigationFilter.d.ts +9 -0
  1211. package/umd/dist/components/SubNavigation/SubNavigationGroup.d.ts +17 -0
  1212. package/umd/dist/components/SubNavigation/SubNavigationHeader.d.ts +9 -0
  1213. package/umd/dist/components/SubNavigation/SubNavigationItem.d.ts +9 -0
  1214. package/umd/dist/components/SubNavigation/SubNavigationLink.d.ts +9 -0
  1215. package/umd/dist/components/SubNavigation/SubNavigationList.d.ts +9 -0
  1216. package/umd/dist/components/SubNavigation/SubNavigationTitle.d.ts +9 -0
  1217. package/umd/dist/components/SubNavigation/index.d.ts +9 -0
  1218. package/umd/dist/components/Tab/Tab.d.ts +83 -0
  1219. package/umd/dist/components/Tab/index.d.ts +2 -0
  1220. package/umd/dist/components/Tab/useTab.d.ts +12 -0
  1221. package/umd/dist/components/TabContent/TabContent.d.ts +13 -0
  1222. package/umd/dist/components/TabContent/index.d.ts +1 -0
  1223. package/umd/dist/components/Table/Table.d.ts +8 -0
  1224. package/umd/dist/components/Table/TableSorting.d.ts +11 -0
  1225. package/umd/dist/components/Table/index.d.ts +2 -0
  1226. package/umd/dist/components/TablePagination/TablePagination.d.ts +33 -0
  1227. package/umd/dist/components/TablePagination/index.d.ts +1 -0
  1228. package/umd/dist/components/Tabs/Tabs.d.ts +67 -0
  1229. package/umd/dist/components/Tabs/TabsContext.d.ts +8 -0
  1230. package/umd/dist/components/Tabs/index.d.ts +1 -0
  1231. package/umd/dist/components/Tag/Tag.d.ts +14 -0
  1232. package/umd/dist/components/Tag/index.d.ts +2 -0
  1233. package/umd/dist/components/Text/Text.d.ts +30 -0
  1234. package/umd/dist/components/Text/index.d.ts +1 -0
  1235. package/umd/dist/components/TextArea/TextArea.d.ts +8 -0
  1236. package/umd/dist/components/TextArea/index.d.ts +1 -0
  1237. package/umd/dist/components/TextInput/TextInput.d.ts +7 -0
  1238. package/umd/dist/components/TextInput/index.d.ts +1 -0
  1239. package/umd/dist/components/Toggle/Toggle.d.ts +38 -0
  1240. package/umd/dist/components/Toggle/index.d.ts +1 -0
  1241. package/umd/dist/components/Tooltip/Tooltip.d.ts +103 -0
  1242. package/umd/dist/components/Tooltip/index.d.ts +2 -0
  1243. package/umd/dist/components/UNCoreSettings/UNCoreProvider.d.ts +21 -0
  1244. package/umd/dist/components/UNCoreSettings/defaults.d.ts +2 -0
  1245. package/umd/dist/components/UNCoreSettings/index.d.ts +4 -0
  1246. package/umd/dist/components/UNCoreSettings/useTheme.d.ts +2 -0
  1247. package/umd/dist/components/UNCoreSettings/withUNCoreSettings.d.ts +2 -0
  1248. package/umd/dist/components/Unit/InvalidUnit.d.ts +2 -0
  1249. package/umd/dist/components/Unit/SimpleCalc.d.ts +17 -0
  1250. package/umd/dist/components/Unit/StringUnit.d.ts +2 -0
  1251. package/umd/dist/components/Unit/SvgUnit.d.ts +2 -0
  1252. package/umd/dist/components/Unit/Unit.d.ts +54 -0
  1253. package/umd/dist/components/Unit/UnitList.d.ts +96 -0
  1254. package/umd/dist/components/Unit/YearMonthCalc.d.ts +7 -0
  1255. package/umd/dist/components/Unit/currencyCalc.d.ts +21 -0
  1256. package/umd/dist/components/Unit/index.d.ts +1 -0
  1257. package/umd/dist/components/Unit/percentageCalc.d.ts +18 -0
  1258. package/umd/dist/components/Unit/scaleLookup.d.ts +24 -0
  1259. package/umd/dist/components/User/User.d.ts +55 -0
  1260. package/umd/dist/components/User/index.d.ts +1 -0
  1261. package/umd/dist/components/Value/Value.d.ts +11 -0
  1262. package/umd/dist/components/Value/index.d.ts +1 -0
  1263. package/umd/dist/components/WFPCoreSettings/WFPCoreProvider.d.ts +21 -0
  1264. package/umd/dist/components/WFPCoreSettings/defaults.d.ts +2 -0
  1265. package/umd/dist/components/WFPCoreSettings/index.d.ts +4 -0
  1266. package/umd/dist/components/WFPCoreSettings/useTheme.d.ts +2 -0
  1267. package/umd/dist/components/WFPCoreSettings/withWFPCoreSettings.d.ts +2 -0
  1268. package/umd/dist/components/Wrapper/Wrapper.d.ts +22 -0
  1269. package/umd/dist/components/Wrapper/index.d.ts +2 -0
  1270. package/umd/dist/globals/data/colors.d.ts +609 -0
  1271. package/umd/dist/globals/js/settings.d.ts +34 -0
  1272. package/umd/dist/hooks/index.d.ts +1 -0
  1273. package/umd/dist/hooks/togglable.d.ts +5 -0
  1274. package/umd/dist/hooks/useHeightTransition.d.ts +4 -0
  1275. package/umd/dist/hooks/useId.d.ts +3 -0
  1276. package/umd/dist/hooks/useIsomorphicLayoutEffect.d.ts +12 -0
  1277. package/umd/dist/hooks/useMediaQuery.d.ts +19 -0
  1278. package/umd/dist/hooks/useMergeRef.d.ts +4 -0
  1279. package/umd/dist/hooks/useSettings.d.ts +2 -0
  1280. package/umd/dist/index.d.ts +75 -0
  1281. package/umd/dist/indexStories.d.ts +1 -0
  1282. package/umd/dist/internal/FeatureFlags.d.ts +19 -0
  1283. package/umd/dist/prop-types/types.d.ts +5 -0
  1284. package/umd/dist/tools/uniqueId.d.ts +2 -0
  1285. package/umd/index.js +5470 -0
  1286. package/umd/index.js.map +1 -0
  1287. package/umd/index.min.js +1 -0
  1288. package/umd/index.min.js.map +1 -0
@@ -0,0 +1,207 @@
1
+ # Carbon component mixins
2
+
3
+ Carbon component mixins, based on [Subclass Factory Pattern](https://github.com/justinfagnani/proposal-mixins#subclass-factory-pattern), provides the basis for Carbon component classes by allowing component implementation to compose small pieces of functionalities to base them on, instead of introducing "fat base class".
4
+
5
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
6
+
7
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
8
+
9
+ * [Component lifecycle (`create-component.js`)](#component-lifecycle-create-componentjs)
10
+ * [Creation](#creation)
11
+ * [Clean-up](#clean-up)
12
+ * [Component registry](#component-registry)
13
+ * [Sugar layers for component instantiation](#sugar-layers-for-component-instantiation)
14
+ * [Searching for DOM nodes to intantiate components on (`init-component-by-search.js`)](#searching-for-dom-nodes-to-intantiate-components-on-init-component-by-searchjs)
15
+ * [Lazily instantiating a component upon an event on a root element (`init-component-by-event.js`)](#lazily-instantiating-a-component-upon-an-event-on-a-root-element-init-component-by-eventjs)
16
+ * [Lazily instantiating a component upon an event on a launcher button (`init-component-by-launcher.js`)](#lazily-instantiating-a-component-upon-an-event-on-a-launcher-button-init-component-by-launcherjs)
17
+
18
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
19
+
20
+ ## Component lifecycle ([`create-component.js`](./create-component.js))
21
+
22
+ [`create-component.js`](./create-component.js) mixin covers component lifecycle, which is, [creation](#creation) and [clean-up](#clean-up).
23
+
24
+ ### Creation
25
+
26
+ [Static `.create(element)` method](https://github.com/carbon-design-system/carbon-components/blob/0336425/src/globals/js/mixins/create-component.js#L44-L46) covers the creation part. It first checks if there is an instance of the same component class with by looking up static `components` property for one associated with the given `element`, and simply returns it if there is one. Otherwise, a new instance of the component is created by calling the constructor with the given `element` and returns the new instance.
27
+
28
+ A Carbon component works with the given `element` and its descendants to hook event handlers on, change DOM properties of, mangle styles of, and so on. We call it the _root element_ of the component.
29
+
30
+ ```javascript
31
+ import mixin from 'carbon-components/src/globals/js/misc/mixin.js';
32
+ import createComponent from 'carbon-components/src/globals/js/mixins/create-component.js';
33
+
34
+ class MyClass extends mixin(createComponent) {
35
+
36
+
37
+ // Every component must define static `components` property
38
+ static components = new WeakMap();
39
+
40
+ // Every component must define static `options` property
41
+ static options = { foo: 'foo0', bar: 'bar0' };
42
+ }
43
+
44
+ const div = document.body.appendChild(document.createElement('div'));
45
+ const options = { foo: 'foo1', baz: 'baz1' };
46
+ const myClassInstance = MyClass.create(div, options);
47
+ ```
48
+
49
+ The constructor in `create-component.js` mixin sets the following properties:
50
+
51
+ | Name | Description |
52
+ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | `element` | The root element of the component (see above). |
54
+ | `options` | The component options. |
55
+ | `children` | The array of Carbon component instances that has to be released along with this component. An exanple is with [overflow menu](http://www.carbondesignsystem.com/components/overflow-menu/code) component which creates another Carbon component called [floating menu](../../../components/floating-menu/floating-menu.js), and the floating menu has to be released along with the overflow menu. |
56
+
57
+ The `.options` property inherits static `.options` property and merges in the 2nd argument of static `.create()` method. In above example, `.options` will be equal to `{ foo: 'foo1', bar: 'bar0', baz: 'baz1' }`.
58
+
59
+ ### Clean-up
60
+
61
+ [`.release()`](https://github.com/carbon-design-system/carbon-components/blob/0336425/src/globals/js/mixins/create-component.js#L51-L57) method covers the clean-up part. It takes care of cleaning-up Carbon components in `.children` property as well as one in static `.components` property.
62
+
63
+ If a Carbon component has other things to clean-up (e.g. event listeners), it can override the `.release()` method and write code there to clean things up.
64
+
65
+ `.release()` method should return `null` to allow the caller of `.release()` e.g. to assign the return value to a variable referring to Carbon component instance, marking that the instance is gone.
66
+
67
+ ### Component registry
68
+
69
+ Every component must define static `components` property, which is an instance of [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap). The constructor in `create-component.js` [sets the component instance to static `.components` property](https://github.com/carbon-design-system/carbon-components/blob/0336425/src/globals/js/mixins/create-component.js#L37), mapped with the DOM element the component is instantiated on. This allows application code to grab a Carbon component instance associated with the root element.
70
+
71
+ ## Sugar layers for component instantiation
72
+
73
+ Carbon defines three types of mixins to allow applications to instantiate components in batch. A component can inherit one of those three mixins to support batch instantiation.
74
+
75
+ ### Searching for DOM nodes to intantiate components on ([`init-component-by-search.js`](./init-component-by-search.js))
76
+
77
+ The most basic one is [`init-component-by-search.js`](./init-component-by-search.js), which searches for DOM elements matching component option's `.selectorInit` property.
78
+
79
+ For example, given the following HTML:
80
+
81
+ ```html
82
+ <main>
83
+ <div data-my-component>The content of component 0</div>
84
+ <div data-my-component>The content of component 1</div>
85
+ </main>
86
+ ```
87
+
88
+ The call of static `.init()` method below instantiates components on the two `<div>`s above:
89
+
90
+ ```javascript
91
+ import mixin from 'carbon-components/src/globals/js/misc/mixin.js';
92
+ import createComponent from 'carbon-components/src/globals/js/mixins/create-component.js';
93
+ import initComponentBySearch from 'carbon-components/src/globals/js/mixins/init-component-by-search.js';
94
+
95
+ class MyClass extends mixin(createComponent, initComponentBySearch) {
96
+
97
+
98
+ static components = new WeakMap();
99
+ static options = {
100
+ selectorInit: '[data-my-component]',
101
+ };
102
+ }
103
+
104
+ const main = document.querySelector('main');
105
+
106
+ // Instantiates components on two `<div>`s above
107
+ MyClass.init(main);
108
+ ```
109
+
110
+ ### Lazily instantiating a component upon an event on a root element ([`init-component-by-event.js`](./init-component-by-event.js))
111
+
112
+ [`init-component-by-event.js`](./init-component-by-event.js) mixin allows delaying component instantiation until an event happens on a DOM element that will be the root element. For example, the static `.init()` method of Carbon [`Tooltip` component](http://www.carbondesignsystem.com/components/tooltip/code) delays instantiating the components until user hovers the mouse over a trigger button or user puts the keyboard focus on a trigger buton.
113
+
114
+ Given the same example HTML as the one for `init-component-by-search.js` above, the call of static `.init()` method below detects `click` events on DOM elements with `data-my-component` attribute, and instantiates the component when such event happens:
115
+
116
+ ```javascript
117
+ import mixin from 'carbon-components/src/globals/js/misc/mixin.js';
118
+ import createComponent from 'carbon-components/src/globals/js/mixins/create-component.js';
119
+ import initComponentByEvent from 'carbon-components/src/globals/js/mixins/init-component-by-event.js';
120
+
121
+ class MyClass extends mixin(createComponent, initComponentByEvent) {
122
+ constructor(element) {
123
+ super(element);
124
+ // Side note: Make sure calling `.removeEventListener()` in the `.release()` method
125
+ element.addEventListener('click', this._handleClick);
126
+ }
127
+
128
+ // Called when this component is instantiated upon an event
129
+ createdByEvent(evt) {
130
+ this._handleClick(evt);
131
+ }
132
+
133
+
134
+
135
+ _handleClick = evt => {
136
+ alert('clicked!');
137
+ };
138
+
139
+
140
+
141
+ static components = new WeakMap();
142
+ static options = {
143
+ selectorInit: '[data-my-component]',
144
+ // Clicking on a DOM element with `data-my-component` attribute will instantiate this component
145
+ initEventNames: ['click'],
146
+ };
147
+ }
148
+
149
+ const main = document.querySelector('main');
150
+ MyClass.init(main);
151
+ ```
152
+
153
+ Changing `initEventNames` option above allows you to hook more/different event types to instantiate components upon.
154
+
155
+ `.createdByEvent()` method allows you to run an event handler of the event that caused instantiating the component.
156
+
157
+ ### Lazily instantiating a component upon an event on a launcher button ([`init-component-by-launcher.js`](./init-component-by-launcher.js))
158
+
159
+ [`init-component-by-launcher.js`](./init-component-by-launcher.js) mix-in allows delaying component instantiation until an event happens on an element that has semantic association to the compoennt. For example, the static `.init()` method of Carbon [`Modal` component](http://www.carbondesignsystem.com/components/modal/code) delays instantiating the components until user clicks on a launcher button.
160
+
161
+ ```html
162
+ <main>
163
+ <button class="wfp--btn wfp--btn--secondary" type="button"
164
+ data-my-component-target="#id-of-my-component">
165
+ Launch
166
+ </button>
167
+ <div data-my-component id="id-of-my-component">The content of my component</div>
168
+ </main>
169
+ ```
170
+
171
+ Given the example HTML above, the call of static `.init()` method below detects `click` events on DOM elements with `data-my-component-target` attribute, and when one happens, looks for the DOM element the element's `data-my-component-target` attribute points to as a selector, and instantiates a component on the DOM element if found.
172
+
173
+ ```javascript
174
+ import mixin from 'carbon-components/src/globals/js/misc/mixin.js';
175
+ import createComponent from 'carbon-components/src/globals/js/mixins/create-component.js';
176
+ import initComponentByLauncher from 'carbon-components/src/globals/js/mixins/init-component-by-launcher.js';
177
+
178
+ class MyClass extends mixin(createComponent, initComponentByLauncher) {
179
+
180
+
181
+ // Called when user clicks on the launcher button
182
+ createdByLauncher(evt) {
183
+ alert('launched!');
184
+ }
185
+
186
+
187
+
188
+ static components = new WeakMap();
189
+ static options = {
190
+ selectorInit: '[data-my-component]',
191
+ // Clicking on DOM elements with `data-my-component-target` attribute
192
+ // will look for a DOM element `data-my-component-target` points to,
193
+ // and will instantiate this component on the DOM element found
194
+ attribInitTarget: 'data-my-component-target',
195
+ initEventNames: ['click'],
196
+ };
197
+ }
198
+
199
+ const main = document.querySelector('main');
200
+ MyClass.init(main);
201
+ ```
202
+
203
+ Changing `attribInitTarget` option above allows you to change the attribute name to associate a trigger button with a component's root element.
204
+
205
+ Changing `initEventNames` option above allows you to hook more/different event types to instantiate components upon.
206
+
207
+ `.createdByLauncher()` method allows you to run an event handler of the event that caused instantiating the component.
@@ -0,0 +1,69 @@
1
+ export default function(ToMix) {
2
+ class CreateComponent extends ToMix {
3
+ /**
4
+ * The component instances managed by this component.
5
+ * Releasing this component also releases the components in `this.children`.
6
+ * @type {Component[]}
7
+ */
8
+ children = [];
9
+
10
+ /**
11
+ * Mix-in class to manage lifecycle of component.
12
+ * The constructor sets up this component's effective options,
13
+ * and registers this component't instance associated to an element.
14
+ * @implements Handle
15
+ * @param {HTMLElement} element The element working as this component.
16
+ * @param {Object} [options] The component options.
17
+ */
18
+ constructor(element, options = {}) {
19
+ super(element, options);
20
+
21
+ if (!element || element.nodeType !== Node.ELEMENT_NODE) {
22
+ throw new TypeError(
23
+ 'DOM element should be given to initialize this widget.'
24
+ );
25
+ }
26
+
27
+ /**
28
+ * The element the component is of.
29
+ * @type {Element}
30
+ */
31
+ this.element = element;
32
+
33
+ /**
34
+ * The component options.
35
+ * @type {Object}
36
+ */
37
+ this.options = Object.assign(
38
+ Object.create(this.constructor.options),
39
+ options
40
+ );
41
+
42
+ this.constructor.components.set(this.element, this);
43
+ }
44
+
45
+ /**
46
+ * Instantiates this component of the given element.
47
+ * @param {HTMLElement} element The element.
48
+ */
49
+ static create(element, options) {
50
+ return this.components.get(element) || new this(element, options);
51
+ }
52
+
53
+ /**
54
+ * Releases this component's instance from the associated element.
55
+ */
56
+ release() {
57
+ for (
58
+ let child = this.children.pop();
59
+ child;
60
+ child = this.children.pop()
61
+ ) {
62
+ child.release();
63
+ }
64
+ this.constructor.components.delete(this.element);
65
+ return null;
66
+ }
67
+ }
68
+ return CreateComponent;
69
+ }
@@ -0,0 +1,40 @@
1
+ import eventedState from './evented-state';
2
+ import getLaunchingDetails from '../misc/get-launching-details';
3
+
4
+ function eventedShowHideState(ToMix) {
5
+ /**
6
+ * Mix-in class to launch a floating menu.
7
+ * @class EventedShowHideState
8
+ */
9
+ class EventedShowHideState extends ToMix {
10
+ /**
11
+ */
12
+ /**
13
+ * Switch to 'shown' state.
14
+ * @param [evtOrElem] The launching event or element.
15
+ * @param {EventedState~changeStateCallback} [callback] The callback.
16
+ */
17
+ show(evtOrElem, callback) {
18
+ if (!evtOrElem || typeof evtOrElem === 'function') {
19
+ callback = evtOrElem; // eslint-disable-line no-param-reassign
20
+ }
21
+ this.changeState('shown', getLaunchingDetails(evtOrElem), callback);
22
+ }
23
+
24
+ /**
25
+ * Switch to 'hidden' state.
26
+ * @param [evtOrElem] The launching event or element.
27
+ * @param {EventedState~changeStateCallback} [callback] The callback.
28
+ */
29
+ hide(evtOrElem, callback) {
30
+ if (!evtOrElem || typeof evtOrElem === 'function') {
31
+ callback = evtOrElem; // eslint-disable-line no-param-reassign
32
+ }
33
+ this.changeState('hidden', getLaunchingDetails(evtOrElem), callback);
34
+ }
35
+ }
36
+ return EventedShowHideState;
37
+ }
38
+
39
+ const exports = [eventedState, eventedShowHideState];
40
+ export default exports;
@@ -0,0 +1,124 @@
1
+ export default function(ToMix) {
2
+ /**
3
+ * Mix-in class to manage events associated with states.
4
+ * @class EventedState
5
+ */
6
+ class EventedState extends ToMix {
7
+ // eslint-disable-next-line jsdoc/check-param-names
8
+ /**
9
+ * The internal implementation for {@link EventedState#changeState `.changeState()`}, performing actual change in state.
10
+ * @param {string} [state] The new state. Can be an omitted, which means toggling.
11
+ * @param {Object} [detail]
12
+ * The object that should be put to event details that is fired before/after changing state.
13
+ * Can have a `group` property, which specifies what state to be changed.
14
+ * @param {EventedState~changeStateCallback} callback The callback called once changing state is finished or is canceled.
15
+ * @private
16
+ */
17
+ _changeState() {
18
+ throw new Error(
19
+ '_changeState() should be overriden to perform actual change in state.'
20
+ );
21
+ }
22
+
23
+ // eslint-disable-next-line jsdoc/check-param-names
24
+ /**
25
+ * Changes the state of this component.
26
+ * @param {string} [state] The new state. Can be an omitted, which means toggling.
27
+ * @param {Object} [detail]
28
+ * The object that should be put to event details that is fired before/after changing state.
29
+ * Can have a `group` property, which specifies what state to be changed.
30
+ * @param {EventedState~changeStateCallback} [callback] The callback called once changing state is finished or is canceled.
31
+ */
32
+ changeState(...args) {
33
+ const state = typeof args[0] === 'string' ? args.shift() : undefined;
34
+ const detail =
35
+ Object(args[0]) === args[0] && typeof args[0] !== 'function'
36
+ ? args.shift()
37
+ : undefined;
38
+ const callback = typeof args[0] === 'function' ? args.shift() : undefined;
39
+
40
+ if (
41
+ typeof this.shouldStateBeChanged === 'function' &&
42
+ !this.shouldStateBeChanged(state, detail)
43
+ ) {
44
+ if (callback) {
45
+ callback(null, true);
46
+ }
47
+ return;
48
+ }
49
+
50
+ const data = {
51
+ group: detail && detail.group,
52
+ state,
53
+ };
54
+
55
+ const eventNameSuffix = [data.group, state]
56
+ .filter(Boolean)
57
+ .join('-')
58
+ .split('-') // Group or state may contain hyphen
59
+ .map(item => item[0].toUpperCase() + item.substr(1))
60
+ .join('');
61
+
62
+ const eventStart = new CustomEvent(
63
+ this.options[`eventBefore${eventNameSuffix}`],
64
+ {
65
+ bubbles: true,
66
+ cancelable: true,
67
+ detail,
68
+ }
69
+ );
70
+
71
+ const fireOnNode = (detail && detail.delegatorNode) || this.element;
72
+ const canceled = !fireOnNode.dispatchEvent(eventStart);
73
+
74
+ if (canceled) {
75
+ if (callback) {
76
+ const error = new Error(
77
+ `Changing state (${JSON.stringify(data)}) has been canceled.`
78
+ );
79
+ error.canceled = true;
80
+ callback(error);
81
+ }
82
+ } else {
83
+ const changeStateArgs = [state, detail].filter(Boolean);
84
+ this._changeState(...changeStateArgs, () => {
85
+ fireOnNode.dispatchEvent(
86
+ new CustomEvent(this.options[`eventAfter${eventNameSuffix}`], {
87
+ bubbles: true,
88
+ cancelable: true,
89
+ detail,
90
+ })
91
+ );
92
+ if (callback) {
93
+ callback();
94
+ }
95
+ });
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Tests if change in state should happen or not.
101
+ * Classes inheriting {@link EventedState `EventedState`} should override this function.
102
+ * @function EventedState#shouldStateBeChanged
103
+ * @param {string} [state] The new state. Can be an omitted, which means toggling.
104
+ * @param {Object} [detail]
105
+ * The object that should be put to event details that is fired before/after changing state.
106
+ * Can have a `group` property, which specifies what state to be changed.
107
+ * @returns {boolean}
108
+ * `false` if change in state shouldn't happen, e.g. when the given new state is the same as the current one.
109
+ */
110
+ }
111
+
112
+ /**
113
+ * The callback called once changing state is finished or is canceled.
114
+ * @callback EventedState~changeStateCallback
115
+ * @param {Error} error
116
+ * An error object with `true` in its `canceled` property if changing state is canceled.
117
+ * Cancellation happens if the handler of a custom event, that is fired before changing state happens,
118
+ * calls `.preventDefault()` against the event.
119
+ * @param {boolean} keptState
120
+ * `true` if the call to {@link EventedState#changeState `.changeState()`} didn't cause actual change in state.
121
+ */
122
+
123
+ return EventedState;
124
+ }
@@ -0,0 +1,45 @@
1
+ export default function(ToMix) {
2
+ /**
3
+ * Mix-in class to manage handles in component.
4
+ * Managed handles are automatically released when the component with this class mixed in is released.
5
+ * @class Handles
6
+ * @implements Handle
7
+ */
8
+ class Handles extends ToMix {
9
+ /**
10
+ * The handled managed by this component.
11
+ * Releasing this component releases the handles.
12
+ * @type {Set<Handle>}
13
+ */
14
+ handles = new Set();
15
+
16
+ /**
17
+ * Manages the given handle.
18
+ * @param {Handle} handle The handle to manage.
19
+ * @returns {Handle} The given handle.
20
+ */
21
+ manage(handle) {
22
+ this.handles.add(handle);
23
+ return handle;
24
+ }
25
+
26
+ /**
27
+ * Stop managing the given handle.
28
+ * @param {Handle} handle The handle to stop managing.
29
+ * @returns {Handle} The given handle.
30
+ */
31
+ unmanage(handle) {
32
+ this.handles.delete(handle);
33
+ return handle;
34
+ }
35
+
36
+ release() {
37
+ this.handles.forEach(handle => {
38
+ handle.release();
39
+ this.handles.delete(handle);
40
+ });
41
+ return super.release();
42
+ }
43
+ }
44
+ return Handles;
45
+ }
@@ -0,0 +1,84 @@
1
+ import eventMatches from '../misc/event-matches';
2
+ import on from '../misc/on';
3
+
4
+ export default function(ToMix) {
5
+ /**
6
+ * Mix-in class to instantiate components upon events.
7
+ * @class InitComponentByEvent
8
+ */
9
+ class InitComponentByEvent extends ToMix {
10
+ /**
11
+ * `true` suggests that this component is lazily initialized upon an action/event, etc.
12
+ * @type {boolean}
13
+ */
14
+ static forLazyInit = true;
15
+
16
+ /**
17
+ * Instantiates this component in the given element.
18
+ * If the given element indicates that it's an component of this class, instantiates it.
19
+ * Otherwise, instantiates this component by clicking on this component in the given node.
20
+ * @param {Node} target The DOM node to instantiate this component in. Should be a document or an element.
21
+ * @param {Object} [options] The component options.
22
+ * @param {string} [options.selectorInit] The CSS selector to find this component.
23
+ * @returns {Handle} The handle to remove the event listener to handle clicking.
24
+ */
25
+ static init(target = document, options = {}) {
26
+ const effectiveOptions = Object.assign(
27
+ Object.create(this.options),
28
+ options
29
+ );
30
+ if (
31
+ target.nodeType !== Node.ELEMENT_NODE &&
32
+ target.nodeType !== Node.DOCUMENT_NODE
33
+ ) {
34
+ throw new TypeError(
35
+ 'DOM document or DOM element should be given to search for and initialize this widget.'
36
+ );
37
+ }
38
+ if (
39
+ target.nodeType === Node.ELEMENT_NODE &&
40
+ target.matches(effectiveOptions.selectorInit)
41
+ ) {
42
+ this.create(target, options);
43
+ } else {
44
+ // To work around non-bubbling `focus` event, use `focusin` event instead of it's available, and "capture mode" otherwise
45
+ const hasFocusin =
46
+ 'onfocusin' in
47
+ (target.nodeType === Node.ELEMENT_NODE
48
+ ? target.ownerDocument
49
+ : target
50
+ ).defaultView;
51
+ const handles = effectiveOptions.initEventNames.map(name => {
52
+ const eventName = name === 'focus' && hasFocusin ? 'focusin' : name;
53
+ return on(
54
+ target,
55
+ eventName,
56
+ event => {
57
+ const element = eventMatches(
58
+ event,
59
+ effectiveOptions.selectorInit
60
+ );
61
+ // Instantiated components handles events by themselves
62
+ if (element && !this.components.has(element)) {
63
+ const component = this.create(element, options);
64
+ if (typeof component.createdByEvent === 'function') {
65
+ component.createdByEvent(event);
66
+ }
67
+ }
68
+ },
69
+ name === 'focus' && !hasFocusin
70
+ );
71
+ });
72
+ return {
73
+ release() {
74
+ for (let handle = handles.pop(); handle; handle = handles.pop()) {
75
+ handle.release();
76
+ }
77
+ },
78
+ };
79
+ }
80
+ return '';
81
+ }
82
+ }
83
+ return InitComponentByEvent;
84
+ }
@@ -0,0 +1,89 @@
1
+ import eventMatches from '../misc/event-matches';
2
+ import on from '../misc/on';
3
+
4
+ export default function(ToMix) {
5
+ /**
6
+ * Mix-in class to instantiate components events on launcher button.
7
+ * @class InitComponentByLauncher
8
+ */
9
+ class InitComponentByLauncher extends ToMix {
10
+ /**
11
+ * `true` suggests that this component is lazily initialized upon an action/event, etc.
12
+ * @type {boolean}
13
+ */
14
+ static forLazyInit = true;
15
+
16
+ /**
17
+ * Instantiates this component in the given element.
18
+ * If the given element indicates that it's an component of this class, instantiates it.
19
+ * Otherwise, instantiates this component by clicking on launcher buttons
20
+ * (buttons with attribute that `options.attribInitTarget` points to) of this component in the given node.
21
+ * @param {Node} target The DOM node to instantiate this component in. Should be a document or an element.
22
+ * @param {Object} [options] The component options.
23
+ * @param {string} [options.selectorInit] The CSS selector to find this component.
24
+ * @param {string} [options.attribInitTarget] The attribute name in the launcher buttons to find target component.
25
+ * @returns {Handle} The handle to remove the event listener to handle clicking.
26
+ */
27
+ static init(target = document, options = {}) {
28
+ const effectiveOptions = Object.assign(
29
+ Object.create(this.options),
30
+ options
31
+ );
32
+ if (
33
+ target.nodeType !== Node.ELEMENT_NODE &&
34
+ target.nodeType !== Node.DOCUMENT_NODE
35
+ ) {
36
+ throw new TypeError(
37
+ 'DOM document or DOM element should be given to search for and initialize this widget.'
38
+ );
39
+ }
40
+ if (
41
+ target.nodeType === Node.ELEMENT_NODE &&
42
+ target.matches(effectiveOptions.selectorInit)
43
+ ) {
44
+ this.create(target, options);
45
+ } else {
46
+ const handles = effectiveOptions.initEventNames.map(name =>
47
+ on(target, name, event => {
48
+ const launcher = eventMatches(
49
+ event,
50
+ `[${effectiveOptions.attribInitTarget}]`
51
+ );
52
+
53
+ if (launcher) {
54
+ event.delegateTarget = launcher; // eslint-disable-line no-param-reassign
55
+ const elements = [
56
+ ...launcher.ownerDocument.querySelectorAll(
57
+ launcher.getAttribute(effectiveOptions.attribInitTarget)
58
+ ),
59
+ ];
60
+ if (elements.length > 1) {
61
+ throw new Error('Target widget must be unique.');
62
+ }
63
+
64
+ if (elements.length === 1) {
65
+ if (launcher.tagName === 'A') {
66
+ event.preventDefault();
67
+ }
68
+
69
+ const component = this.create(elements[0], options);
70
+ if (typeof component.createdByLauncher === 'function') {
71
+ component.createdByLauncher(event);
72
+ }
73
+ }
74
+ }
75
+ })
76
+ );
77
+ return {
78
+ release() {
79
+ for (let handle = handles.pop(); handle; handle = handles.pop()) {
80
+ handle.release();
81
+ }
82
+ },
83
+ };
84
+ }
85
+ return '';
86
+ }
87
+ }
88
+ return InitComponentByLauncher;
89
+ }