@rio-cloud/rio-uikit 0.16.4-beta.2 → 0.16.4-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/DeviceUtils.js +2 -2
  2. package/components/actionBarItem/ActionBarItemIcon.d.ts +1 -1
  3. package/components/activity/Activity.d.ts +26 -0
  4. package/components/animatedNumber/AnimatedNumber.d.ts +8 -0
  5. package/components/bottomSheet/BottomSheet.d.ts +50 -1
  6. package/components/bottomSheet/BottomSheet.js +9 -4
  7. package/components/map/utils/eventHandling.d.ts +10 -10
  8. package/components/map/utils/eventHandling.js +29 -29
  9. package/lib/es/AppNavigationBar.d.ts +2 -5
  10. package/lib/es/Area.d.ts +2 -5
  11. package/lib/es/AreaChart.d.ts +2 -5
  12. package/lib/es/AreaGradient.d.ts +2 -5
  13. package/lib/es/AssetTree.d.ts +2 -5
  14. package/lib/es/AutoSuggest.d.ts +2 -6
  15. package/lib/es/AutoSuggest.js +3 -2
  16. package/lib/es/Bar.d.ts +2 -8
  17. package/lib/es/BarChart.d.ts +2 -5
  18. package/lib/es/BrowserWarning.d.ts +2 -5
  19. package/lib/es/Button.d.ts +2 -27
  20. package/lib/es/ButtonDropdown.d.ts +2 -5
  21. package/lib/es/CalendarStripe.d.ts +2 -5
  22. package/lib/es/Carousel.d.ts +2 -11
  23. package/lib/es/ChartNeedle.d.ts +2 -5
  24. package/lib/es/ChartTooltip.d.ts +2 -5
  25. package/lib/es/Checkbox.d.ts +2 -5
  26. package/lib/es/Checkbox.js +3 -2
  27. package/lib/es/Circle.d.ts +2 -5
  28. package/lib/es/ClearableInput.d.ts +2 -5
  29. package/lib/es/ClearableInput.js +3 -2
  30. package/lib/es/ClusterLayer.d.ts +2 -5
  31. package/lib/es/ClusterMapMarker.d.ts +2 -5
  32. package/lib/es/ClusterUtils.d.ts +2 -5
  33. package/lib/es/Collapse.d.ts +2 -5
  34. package/lib/es/ColorScheme.d.ts +3 -4
  35. package/lib/es/Colors.d.ts +2 -21
  36. package/lib/es/ConfirmationDialog.d.ts +2 -14
  37. package/lib/es/ContentLoader.d.ts +2 -8
  38. package/lib/es/ContentLoader.js +3 -2
  39. package/lib/es/ContextMenu.d.ts +2 -5
  40. package/lib/es/ContextMenuItem.d.ts +2 -5
  41. package/lib/es/CustomState.d.ts +2 -5
  42. package/lib/es/DataTab.d.ts +2 -5
  43. package/lib/es/DataTabs.d.ts +2 -5
  44. package/lib/es/DatePicker.d.ts +2 -5
  45. package/lib/es/DateRangePicker.d.ts +2 -5
  46. package/lib/es/DeviceUtils.d.ts +13 -13
  47. package/lib/es/DeviceUtils.js +2 -1
  48. package/lib/es/Dialog.d.ts +2 -15
  49. package/lib/es/DomMarker.d.ts +2 -5
  50. package/lib/es/DropdownSubmenu.d.ts +2 -5
  51. package/lib/es/EditableContent.d.ts +2 -0
  52. package/lib/es/EditableContent.js +7 -0
  53. package/lib/es/EmptyState.d.ts +2 -5
  54. package/lib/es/ErrorState.d.ts +2 -5
  55. package/lib/es/EventUtils.d.ts +2 -36
  56. package/lib/es/ExpanderList.d.ts +2 -5
  57. package/lib/es/ExpanderPanel.d.ts +2 -5
  58. package/lib/es/Fade.d.ts +2 -14
  59. package/lib/es/FilePicker.d.ts +2 -9
  60. package/lib/es/ForbiddenState.d.ts +2 -5
  61. package/lib/es/ImagePreloader.d.ts +2 -5
  62. package/lib/es/IncidentsLayer.d.ts +2 -4
  63. package/lib/es/InfoDialog.d.ts +2 -5
  64. package/lib/es/Legend.d.ts +2 -5
  65. package/lib/es/Line.d.ts +2 -5
  66. package/lib/es/LineChart.d.ts +2 -5
  67. package/lib/es/ListMenu.d.ts +2 -6
  68. package/lib/es/MaintenanceState.d.ts +2 -5
  69. package/lib/es/Map.d.ts +2 -12
  70. package/lib/es/MapBoundingBoxButton.d.ts +2 -5
  71. package/lib/es/MapCenterMarkerButton.d.ts +2 -5
  72. package/lib/es/MapClusterSettings.d.ts +2 -5
  73. package/lib/es/MapCustomerPoiSettingsItem.d.ts +2 -5
  74. package/lib/es/MapLayerGroup.d.ts +2 -5
  75. package/lib/es/MapLayerIncidentsItem.d.ts +2 -5
  76. package/lib/es/MapLayerRoadRestrictionsItem.d.ts +2 -5
  77. package/lib/es/MapLayerSettings.d.ts +2 -5
  78. package/lib/es/MapLayerTrafficItem.d.ts +2 -5
  79. package/lib/es/MapLockMarkerButton.d.ts +2 -5
  80. package/lib/es/MapSettings.d.ts +2 -5
  81. package/lib/es/MapSettingsItem.d.ts +2 -5
  82. package/lib/es/MapSettingsPanel.d.ts +2 -5
  83. package/lib/es/MapSettingsTile.d.ts +2 -5
  84. package/lib/es/MapTypeSettings.d.ts +2 -5
  85. package/lib/es/MapWorkshopPoiSettingsItem.d.ts +2 -5
  86. package/lib/es/Marker.d.ts +2 -5
  87. package/lib/es/MarkerLayer.d.ts +2 -5
  88. package/lib/es/MediaDialog.d.ts +2 -9
  89. package/lib/es/MenuItem.d.ts +2 -5
  90. package/lib/es/Multiselect.d.ts +2 -12
  91. package/lib/es/NotBookedState.d.ts +2 -5
  92. package/lib/es/NotFoundState.d.ts +2 -5
  93. package/lib/es/Notification.d.ts +2 -9
  94. package/lib/es/NotificationsContainer.d.ts +2 -5
  95. package/lib/es/NumberControl.d.ts +2 -8
  96. package/lib/es/NumberControl.js +3 -2
  97. package/lib/es/NumberInput.d.ts +2 -8
  98. package/lib/es/NumberInput.js +3 -2
  99. package/lib/es/OnboardingTip.d.ts +2 -30
  100. package/lib/es/Pager.d.ts +2 -11
  101. package/lib/es/Pager.js +3 -2
  102. package/lib/es/PieChart.d.ts +2 -5
  103. package/lib/es/Polygon.d.ts +2 -5
  104. package/lib/es/Polyline.d.ts +2 -5
  105. package/lib/es/Popover.d.ts +2 -11
  106. package/lib/es/Position.d.ts +2 -5
  107. package/lib/es/PositionUtils.d.ts +2 -8
  108. package/lib/es/RadialBarChart.d.ts +2 -5
  109. package/lib/es/RadioButton.d.ts +2 -5
  110. package/lib/es/RangeSlider.d.ts +2 -5
  111. package/lib/es/ReleaseNotes.d.ts +2 -5
  112. package/lib/es/ReleaseNotesDialog.d.ts +2 -5
  113. package/lib/es/ReleaseNotesDialog.js +3 -2
  114. package/lib/es/Resizer.d.ts +2 -13
  115. package/lib/es/Resizer.js +3 -2
  116. package/lib/es/ResponsiveColumnStripe.d.ts +2 -5
  117. package/lib/es/Route.d.ts +2 -5
  118. package/lib/es/RuleConnector.d.ts +2 -10
  119. package/lib/es/RuleContainer.d.ts +2 -6
  120. package/lib/es/RulesWrapper.d.ts +2 -6
  121. package/lib/es/SaveDialog.d.ts +2 -14
  122. package/lib/es/Select.d.ts +2 -5
  123. package/lib/es/Sidebar.d.ts +2 -11
  124. package/lib/es/SimpleButtonDropdown.d.ts +2 -5
  125. package/lib/es/SimpleClusterLayer.d.ts +2 -5
  126. package/lib/es/SimpleDialog.d.ts +2 -14
  127. package/lib/es/SingleButtonDropdown.d.ts +2 -5
  128. package/lib/es/SingleMapMarker.d.ts +2 -5
  129. package/lib/es/Slider.d.ts +2 -5
  130. package/lib/es/SortArrowDown.d.ts +2 -5
  131. package/lib/es/SortArrowUp.d.ts +2 -5
  132. package/lib/es/SortArrows.d.ts +2 -5
  133. package/lib/es/SortDirection.d.ts +2 -11
  134. package/lib/es/SortUtils.d.ts +3 -16
  135. package/lib/es/Spinner.d.ts +2 -5
  136. package/lib/es/Spinner.js +3 -2
  137. package/lib/es/SplitButtonDropdown.d.ts +2 -5
  138. package/lib/es/SplitDialog.d.ts +2 -14
  139. package/lib/es/StatsWidget.d.ts +2 -10
  140. package/lib/es/StatsWidget.js +3 -2
  141. package/lib/es/StatsWidgetNumber.d.ts +2 -5
  142. package/lib/es/StatsWidgetNumber.js +3 -2
  143. package/lib/es/StatsWidgetSpacer.d.ts +2 -5
  144. package/lib/es/StatsWidgetSpacer.js +3 -2
  145. package/lib/es/StatsWidgets.d.ts +1 -5
  146. package/lib/es/StatsWidgets.js +5 -3
  147. package/lib/es/StatusBar.d.ts +2 -5
  148. package/lib/es/StatusBar.js +3 -2
  149. package/lib/es/SteppedProgressBar.d.ts +2 -9
  150. package/lib/es/SubNavigation.d.ts +2 -5
  151. package/lib/es/Switch.d.ts +2 -8
  152. package/lib/es/Switch.js +3 -2
  153. package/lib/es/TableCardsSorting.d.ts +2 -5
  154. package/lib/es/TableSearch.d.ts +2 -5
  155. package/lib/es/TableSettingsDialog.d.ts +2 -5
  156. package/lib/es/TableToolbar.d.ts +2 -5
  157. package/lib/es/TableViewToggles.d.ts +2 -12
  158. package/lib/es/Tag.d.ts +2 -5
  159. package/lib/es/TagList.d.ts +2 -5
  160. package/lib/es/TagManager.d.ts +2 -5
  161. package/lib/es/Teaser.d.ts +2 -5
  162. package/lib/es/TeaserContainer.d.ts +2 -5
  163. package/lib/es/TextMarker.d.ts +2 -5
  164. package/lib/es/TimePicker.d.ts +2 -5
  165. package/lib/es/ToggleButton.d.ts +2 -5
  166. package/lib/es/TrafficLayer.d.ts +2 -4
  167. package/lib/es/Tree.d.ts +2 -5
  168. package/lib/es/TreeCategory.d.ts +2 -5
  169. package/lib/es/TreeOption.d.ts +2 -5
  170. package/lib/es/TreeSearch.d.ts +2 -5
  171. package/lib/es/TreeSummary.d.ts +2 -5
  172. package/lib/es/TruckLayer.d.ts +2 -4
  173. package/lib/es/TypeCounter.d.ts +2 -5
  174. package/lib/es/VolkswagenApplicationHeader.d.ts +2 -5
  175. package/lib/es/components/actionBarItem/ActionBarItem.d.ts +21 -0
  176. package/lib/es/components/actionBarItem/ActionBarItemIcon.d.ts +2 -2
  177. package/lib/es/components/actionBarItem/ActionBarItemList.d.ts +4 -1
  178. package/lib/es/components/actionBarItem/ActionBarItemListItem.d.ts +19 -2
  179. package/lib/es/components/actionBarItem/ActionBarItemListSeparator.d.ts +4 -1
  180. package/lib/es/components/actionBarItem/ActionBarItemPopoverContent.d.ts +7 -1
  181. package/lib/es/components/activity/Activity.d.ts +27 -0
  182. package/lib/es/components/animatedNumber/AnimatedNumber.d.ts +8 -0
  183. package/lib/es/components/applicationHeader/AppMenu.d.ts +1 -1
  184. package/lib/es/components/applicationHeader/AppMenu.js +2 -2
  185. package/lib/es/components/applicationHeader/AppMenuContent.d.ts +1 -1
  186. package/lib/es/components/applicationHeader/AppMenuDropdown.d.ts +1 -1
  187. package/lib/es/components/applicationHeader/ApplicationActionBar.d.ts +1 -1
  188. package/lib/es/components/applicationHeader/ApplicationHeader.d.ts +52 -1
  189. package/lib/es/components/applicationHeader/MobileAppMenu.d.ts +1 -1
  190. package/lib/es/components/applicationHeader/MobileHeaderModal.d.ts +1 -1
  191. package/lib/es/components/applicationHeader/MobileSubmoduleNavigation.d.ts +1 -1
  192. package/lib/es/components/applicationHeader/NavItems.d.ts +1 -1
  193. package/lib/es/components/applicationLayout/ApplicationLayout.d.ts +7 -1
  194. package/lib/es/components/applicationLayout/ApplicationLayoutBody.d.ts +29 -2
  195. package/lib/es/components/applicationLayout/ApplicationLayoutBodyBanner.d.ts +15 -0
  196. package/lib/es/components/applicationLayout/ApplicationLayoutBodyBottomBar.d.ts +15 -0
  197. package/lib/es/components/applicationLayout/ApplicationLayoutBodyNavigation.d.ts +3 -0
  198. package/lib/es/components/applicationLayout/ApplicationLayoutHeader.d.ts +3 -0
  199. package/lib/es/components/applicationLayout/ApplicationLayoutSidebar.d.ts +3 -0
  200. package/lib/es/components/aspectRatioPlaceholder/AspectRatioPlaceholder.d.ts +4 -1
  201. package/lib/es/components/assetTree/Tree.js +1 -2
  202. package/lib/es/components/assetTree/TreeLeafList.d.ts +1 -1
  203. package/lib/es/components/assetTree/TreeNodeContainer.d.ts +1 -1
  204. package/lib/es/components/assetTree/TreeNothingFound.d.ts +1 -1
  205. package/lib/es/components/assetTree/TreeOption.d.ts +1 -1
  206. package/lib/es/components/assetTree/TreeOption.js +2 -2
  207. package/lib/es/components/assetTree/TreeOptions.d.ts +1 -1
  208. package/lib/es/components/assetTree/TreeOptions.js +2 -2
  209. package/lib/es/components/assetTree/TreeRoot.d.ts +1 -1
  210. package/lib/es/components/assetTree/TreeSelectAll.d.ts +1 -1
  211. package/lib/es/components/assetTree/TreeSummary.js +1 -1
  212. package/lib/es/components/assetTree/TypeCounter.js +2 -2
  213. package/lib/es/components/autosuggest/AutoSuggest.d.ts +200 -115
  214. package/lib/es/components/autosuggest/AutoSuggest.js +144 -258
  215. package/lib/es/components/autosuggest/AutoSuggestAddons.d.ts +8 -0
  216. package/lib/es/components/autosuggest/AutoSuggestAddons.js +9 -0
  217. package/lib/es/components/autosuggest/DropdownSpinner.d.ts +4 -0
  218. package/lib/es/components/autosuggest/DropdownSpinner.js +8 -0
  219. package/lib/es/components/autosuggest/NoItemMessage.d.ts +5 -0
  220. package/lib/es/components/autosuggest/NoItemMessage.js +7 -0
  221. package/lib/es/components/bottomSheet/BottomSheet.d.ts +50 -1
  222. package/lib/es/components/bottomSheet/BottomSheet.js +9 -4
  223. package/lib/es/components/browserWarning/BrowserIcons.d.ts +2 -2
  224. package/lib/es/components/browserWarning/BrowserWarning.d.ts +1 -1
  225. package/lib/es/components/browserWarning/BrowserWarningMessageDE.d.ts +1 -1
  226. package/lib/es/components/browserWarning/BrowserWarningMessageEN.d.ts +1 -1
  227. package/lib/es/components/button/Button.d.ts +1 -1
  228. package/lib/es/components/button/ToggleButton.d.ts +1 -1
  229. package/lib/es/components/carousel/CarouselCaption.d.ts +1 -1
  230. package/lib/es/components/carousel/CarouselItem.d.ts +1 -1
  231. package/lib/es/components/charts/AreaChart.d.ts +2 -2
  232. package/lib/es/components/charts/AreaGradient.d.ts +1 -1
  233. package/lib/es/components/charts/BarChart.d.ts +2 -2
  234. package/lib/es/components/charts/ChartNeedle.d.ts +1 -1
  235. package/lib/es/components/charts/LineChart.d.ts +2 -2
  236. package/lib/es/components/charts/PieChart.d.ts +3 -3
  237. package/lib/es/components/charts/RadialBarChart.d.ts +2 -2
  238. package/lib/es/components/checkbox/Checkbox.d.ts +126 -56
  239. package/lib/es/components/checkbox/Checkbox.js +25 -65
  240. package/lib/es/components/checkbox/CheckboxIcon.d.ts +9 -0
  241. package/lib/es/components/checkbox/CheckboxIcon.js +15 -0
  242. package/lib/es/components/clearableInput/ClearableInput.d.ts +95 -58
  243. package/lib/es/components/clearableInput/ClearableInput.js +47 -97
  244. package/lib/es/components/collapse/Collapse.d.ts +1 -1
  245. package/lib/es/components/contentLoader/ContentLoader.d.ts +54 -32
  246. package/lib/es/components/contentLoader/ContentLoader.js +36 -33
  247. package/lib/es/components/dataTabs/DataTabs.d.ts +1 -1
  248. package/lib/es/components/datepicker/DateRangePicker.d.ts +6 -6
  249. package/lib/es/components/dialog/ConfirmationDialog.d.ts +1 -1
  250. package/lib/es/components/dialog/Dialog.js +14 -3
  251. package/lib/es/components/dialog/DialogBody.d.ts +1 -1
  252. package/lib/es/components/dialog/DialogFooter.d.ts +1 -1
  253. package/lib/es/components/dialog/DialogHeader.d.ts +1 -1
  254. package/lib/es/components/dialog/InfoDialog.d.ts +1 -1
  255. package/lib/es/components/dialog/MediaDialog.d.ts +6 -6
  256. package/lib/es/components/dialog/ReleaseNotesDialog.d.ts +1 -1
  257. package/lib/es/components/dialog/SaveDialog.d.ts +1 -1
  258. package/lib/es/components/dialog/SimpleDialog.d.ts +1 -1
  259. package/lib/es/components/dialog/SplitDialog.d.ts +1 -1
  260. package/lib/es/components/driverName/DriverName.d.ts +1 -1
  261. package/lib/es/components/dropdown/ButtonDropdown.d.ts +1 -1
  262. package/lib/es/components/dropdown/Caret.d.ts +1 -1
  263. package/lib/es/components/dropdown/DropdownSubmenu.d.ts +1 -1
  264. package/lib/es/components/dropdown/SimpleButtonDropdown.d.ts +1 -1
  265. package/lib/es/components/dropdown/SingleButtonDropdown.d.ts +1 -1
  266. package/lib/es/components/dropdown/SplitButtonDropdown.d.ts +1 -1
  267. package/lib/es/components/editableContent/EditableContent.d.ts +86 -0
  268. package/lib/es/components/editableContent/EditableContent.js +112 -0
  269. package/lib/es/components/expander/ExpanderList.d.ts +3 -3
  270. package/lib/es/components/expander/ExpanderPanel.d.ts +1 -1
  271. package/lib/es/components/fade/Fade.d.ts +1 -1
  272. package/lib/es/components/filepicker/FilePicker.d.ts +1 -1
  273. package/lib/es/components/listMenu/ListMenu.d.ts +1 -1
  274. package/lib/es/components/loadMore/LoadMoreButton.d.ts +31 -3
  275. package/lib/es/components/loadMore/LoadMoreProgress.d.ts +1 -1
  276. package/lib/es/components/map/components/Map.d.ts +1 -1
  277. package/lib/es/components/map/components/features/MapSettings.d.ts +1 -1
  278. package/lib/es/components/map/components/features/Route.d.ts +1 -1
  279. package/lib/es/components/map/components/features/basics/MapLayerGroup.d.ts +1 -1
  280. package/lib/es/components/map/components/features/basics/marker/TextMarker.d.ts +1 -1
  281. package/lib/es/components/map/components/features/layers/IncidentsLayer.d.ts +1 -1
  282. package/lib/es/components/map/components/features/layers/MarkerLayer.d.ts +1 -1
  283. package/lib/es/components/map/components/features/layers/RoadRestrictionLayer.d.ts +1 -1
  284. package/lib/es/components/map/components/features/layers/TrafficLayer.d.ts +1 -1
  285. package/lib/es/components/map/components/features/layers/clustering/SimpleClusterLayer.d.ts +1 -1
  286. package/lib/es/components/map/components/features/settings/MapSettingsItem.d.ts +1 -1
  287. package/lib/es/components/map/components/features/settings/MapSettingsPanel.d.ts +1 -1
  288. package/lib/es/components/map/components/features/settings/MapSettingsTile.d.ts +1 -1
  289. package/lib/es/components/map/components/features/settings/ZoomButtons.d.ts +1 -1
  290. package/lib/es/components/map/components/features/settings/builtinSettings/MapClusterSettings.d.ts +1 -1
  291. package/lib/es/components/map/components/features/settings/builtinSettings/MapLayerSettings.d.ts +1 -1
  292. package/lib/es/components/map/components/features/settings/builtinSettings/MapTypeSettings.d.ts +1 -1
  293. package/lib/es/components/map/components/features/settings/buttons/MapBoundingBoxButton.d.ts +1 -1
  294. package/lib/es/components/map/components/features/settings/buttons/MapCenterMarkerButton.d.ts +1 -1
  295. package/lib/es/components/map/components/features/settings/buttons/MapLockMarkerButton.d.ts +1 -1
  296. package/lib/es/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.d.ts +1 -1
  297. package/lib/es/components/map/components/features/settings/items/MapLayerIncidentsItem.d.ts +1 -1
  298. package/lib/es/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.d.ts +1 -1
  299. package/lib/es/components/map/components/features/settings/items/MapLayerTrafficItem.d.ts +1 -1
  300. package/lib/es/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.d.ts +1 -1
  301. package/lib/es/components/map/utils/eventHandling.d.ts +10 -10
  302. package/lib/es/components/map/utils/eventHandling.js +30 -30
  303. package/lib/es/components/mapMarker/ClusterMapMarker.d.ts +1 -1
  304. package/lib/es/components/mapMarker/SingleMapMarker.d.ts +1 -1
  305. package/lib/es/components/menuItems/MenuItem.d.ts +13 -24
  306. package/lib/es/components/menuItems/MenuItem.js +8 -23
  307. package/lib/es/components/navigation/AppNavigationBar.js +1 -1
  308. package/lib/es/components/noData/NoData.d.ts +27 -2
  309. package/lib/es/components/notification/NotificationsContainer.d.ts +1 -1
  310. package/lib/es/components/numberControl/NumberControl.d.ts +4 -2
  311. package/lib/es/components/numberControl/NumberControl.js +22 -34
  312. package/lib/es/components/numberInput/NumberInput.d.ts +76 -9
  313. package/lib/es/components/numberInput/NumberInput.js +80 -47
  314. package/lib/es/components/overlay/OverlayTrigger.d.ts +4 -16
  315. package/lib/es/components/overlay/OverlayTrigger.js +4 -2
  316. package/lib/es/components/pager/Pager.d.ts +52 -24
  317. package/lib/es/components/pager/Pager.js +10 -20
  318. package/lib/es/components/position/Position.d.ts +1 -1
  319. package/lib/es/components/radiobutton/RadioButton.d.ts +1 -1
  320. package/lib/es/components/radiobutton/RadioButton.js +3 -3
  321. package/lib/es/components/releaseNotes/ReleaseNotes.d.ts +34 -8
  322. package/lib/es/components/releaseNotes/ReleaseNotes.js +8 -18
  323. package/lib/es/components/resizer/Resizer.d.ts +57 -64
  324. package/lib/es/components/resizer/Resizer.js +109 -109
  325. package/lib/es/components/rules/RuleConnector.d.ts +1 -1
  326. package/lib/es/components/rules/RuleContainer.d.ts +1 -1
  327. package/lib/es/components/rules/RulesWrapper.d.ts +1 -1
  328. package/lib/es/components/saveableInput/SaveableInput.d.ts +34 -2
  329. package/lib/es/components/selects/BaseDropdownMenu.d.ts +2 -2
  330. package/lib/es/components/selects/DropdownHeader.d.ts +1 -1
  331. package/lib/es/components/selects/Multiselect.d.ts +7 -7
  332. package/lib/es/components/selects/Select.d.ts +7 -7
  333. package/lib/es/components/sidebars/Sidebar.d.ts +1 -1
  334. package/lib/es/components/slider/RangeSlider.d.ts +1 -1
  335. package/lib/es/components/slider/Slider.d.ts +1 -1
  336. package/lib/es/components/spinner/Spinner.d.ts +47 -27
  337. package/lib/es/components/spinner/Spinner.js +12 -31
  338. package/lib/es/components/states/CustomState.d.ts +1 -1
  339. package/lib/es/components/states/EmptyState.d.ts +1 -1
  340. package/lib/es/components/states/ErrorState.d.ts +1 -1
  341. package/lib/es/components/states/ForbiddenState.d.ts +1 -1
  342. package/lib/es/components/states/MaintenanceState.d.ts +1 -1
  343. package/lib/es/components/states/NotBookedState.d.ts +1 -1
  344. package/lib/es/components/states/NotFoundState.d.ts +1 -1
  345. package/lib/es/components/statsWidget/StatsWidget.d.ts +25 -21
  346. package/lib/es/components/statsWidget/StatsWidget.js +8 -16
  347. package/lib/es/components/statsWidget/StatsWidgetBody.d.ts +13 -12
  348. package/lib/es/components/statsWidget/StatsWidgetBody.js +6 -13
  349. package/lib/es/components/statsWidget/StatsWidgetFooter.d.ts +9 -2
  350. package/lib/es/components/statsWidget/StatsWidgetFooter.js +6 -5
  351. package/lib/es/components/statsWidget/StatsWidgetHeader.d.ts +8 -1
  352. package/lib/es/components/statsWidget/StatsWidgetHeader.js +5 -4
  353. package/lib/es/components/statsWidget/StatsWidgetNumber.d.ts +30 -20
  354. package/lib/es/components/statsWidget/StatsWidgetNumber.js +6 -19
  355. package/lib/es/components/statsWidget/StatsWidgetSpacer.d.ts +7 -1
  356. package/lib/es/components/statsWidget/StatsWidgetSpacer.js +4 -4
  357. package/lib/es/components/statsWidget/StatsWidgets.d.ts +8 -7
  358. package/lib/es/components/statsWidget/StatsWidgets.js +5 -8
  359. package/lib/es/components/statusBar/StatusBar.d.ts +32 -54
  360. package/lib/es/components/statusBar/StatusBar.js +51 -127
  361. package/lib/es/components/statusBar/StatusBar.types.d.ts +85 -0
  362. package/lib/es/components/statusBar/StatusBar.types.js +2 -0
  363. package/lib/es/components/statusBar/StatusBarConstants.d.ts +8 -0
  364. package/lib/es/components/statusBar/StatusBarConstants.js +16 -0
  365. package/lib/es/components/statusBar/StatusBarIcon.d.ts +7 -0
  366. package/lib/es/components/statusBar/StatusBarIcon.js +19 -0
  367. package/lib/es/components/statusBar/StatusBarLabel.d.ts +8 -0
  368. package/lib/es/components/statusBar/StatusBarLabel.js +23 -0
  369. package/lib/es/components/statusBar/StatusBarProgressBar.d.ts +8 -0
  370. package/lib/es/components/statusBar/StatusBarProgressBar.js +21 -0
  371. package/lib/es/components/steppedProgressBar/SteppedProgressBar.d.ts +1 -1
  372. package/lib/es/components/switch/Switch.d.ts +50 -28
  373. package/lib/es/components/switch/Switch.js +11 -27
  374. package/lib/es/components/table/SortArrows.d.ts +3 -3
  375. package/lib/es/components/table/TableCardsSorting.d.ts +1 -1
  376. package/lib/es/components/table/TableSearch.d.ts +1 -1
  377. package/lib/es/components/table/TableSettingsColumnButtons.d.ts +1 -1
  378. package/lib/es/components/table/TableSettingsColumnDetails.d.ts +1 -1
  379. package/lib/es/components/table/TableSettingsDialog.d.ts +4 -4
  380. package/lib/es/components/table/TableSettingsDialogFooter.d.ts +1 -1
  381. package/lib/es/components/table/TableSettingsListContainer.d.ts +1 -1
  382. package/lib/es/components/table/TableSettingsListItem.d.ts +1 -1
  383. package/lib/es/components/table/TableToolbar.d.ts +1 -1
  384. package/lib/es/components/table/TableViewToggles.d.ts +1 -1
  385. package/lib/es/components/tag/Tag.d.ts +1 -1
  386. package/lib/es/components/tag/TagList.d.ts +1 -1
  387. package/lib/es/components/tagManager/CustomSuggestionItem.d.ts +1 -1
  388. package/lib/es/components/tagManager/TagManager.d.ts +1 -1
  389. package/lib/es/components/tagManager/TagManagerItemList.d.ts +1 -1
  390. package/lib/es/components/teaser/Teaser.d.ts +8 -8
  391. package/lib/es/components/teaser/TeaserContainer.d.ts +1 -1
  392. package/lib/es/components/timepicker/TimePicker.d.ts +1 -1
  393. package/lib/es/components/tooltip/SimpleTooltip.d.ts +1 -1
  394. package/lib/es/components/video/ResponsiveVideo.d.ts +25 -5
  395. package/lib/es/components/video/ResponsiveVideo.js +4 -2
  396. package/lib/es/framer-motion.d.ts +1 -1
  397. package/lib/es/hooks/useEsc.d.ts +2 -1
  398. package/lib/es/hooks/useEsc.js +2 -2
  399. package/lib/es/hooks/useEvent.d.ts +2 -1
  400. package/lib/es/hooks/useEvent.js +9 -4
  401. package/lib/es/hooks/useFocusTrap.d.ts +16 -0
  402. package/lib/es/hooks/useFocusTrap.js +64 -0
  403. package/lib/es/hooks/useHover.d.ts +3 -0
  404. package/lib/es/hooks/useHover.js +31 -0
  405. package/lib/es/hooks/useKey.d.ts +3 -1
  406. package/lib/es/hooks/useKey.js +8 -4
  407. package/lib/es/hooks/usePrevious.d.ts +21 -1
  408. package/lib/es/hooks/usePrevious.js +30 -11
  409. package/lib/es/index.d.ts +35 -31
  410. package/lib/es/index.js +58 -35
  411. package/lib/es/types.d.ts +1 -239
  412. package/lib/es/types.js +1 -19
  413. package/lib/es/useAfterMount.d.ts +2 -4
  414. package/lib/es/useClickOutside.d.ts +2 -4
  415. package/lib/es/useClipboard.d.ts +2 -4
  416. package/lib/es/useDarkMode.d.ts +2 -4
  417. package/lib/es/useDebugInfo.d.ts +2 -4
  418. package/lib/es/useEffectOnce.d.ts +2 -4
  419. package/lib/es/useElementSize.d.ts +2 -4
  420. package/lib/es/useEsc.d.ts +1 -4
  421. package/lib/es/useEsc.js +5 -3
  422. package/lib/es/useEvent.d.ts +1 -4
  423. package/lib/es/useEvent.js +5 -3
  424. package/lib/es/useFocusTrap.d.ts +1 -0
  425. package/lib/es/useFocusTrap.js +8 -0
  426. package/lib/es/useFullscreen.d.ts +2 -4
  427. package/lib/es/useHover.d.ts +1 -0
  428. package/lib/es/useHover.js +8 -0
  429. package/lib/es/useInterval.d.ts +2 -4
  430. package/lib/es/useKey.d.ts +1 -4
  431. package/lib/es/useKey.js +5 -3
  432. package/lib/es/useLocalStorage.d.ts +2 -4
  433. package/lib/es/useMutationObserver.d.ts +2 -4
  434. package/lib/es/useOnScreen.d.ts +2 -4
  435. package/lib/es/useOnlineStatus.d.ts +2 -4
  436. package/lib/es/usePrevious.d.ts +2 -4
  437. package/lib/es/usePrevious.js +3 -2
  438. package/lib/es/useRenderCount.d.ts +2 -4
  439. package/lib/es/useResizeObserver.d.ts +2 -4
  440. package/lib/es/useScrollPosition.d.ts +2 -4
  441. package/lib/es/useSessionStorage.d.ts +2 -4
  442. package/lib/es/useStateWithValidation.d.ts +2 -4
  443. package/lib/es/useTimeout.d.ts +2 -4
  444. package/lib/es/useWindowResize.d.ts +2 -4
  445. package/lib/es/utils/buttonEffect.js +7 -2
  446. package/lib/es/utils/colorScheme.d.ts +1 -1
  447. package/lib/es/utils/darkModeCDN.d.ts +1 -1
  448. package/lib/es/utils/deviceUtils.d.ts +1 -0
  449. package/lib/es/utils/deviceUtils.js +3 -1
  450. package/lib/es/utils/getDropDirection.d.ts +2 -4
  451. package/lib/es/utils/getDropDirection.js +12 -8
  452. package/lib/es/utils/init.d.ts +2 -2
  453. package/lib/es/utils/init.js +29 -6
  454. package/lib/es/utils/logDeprecatedWarnings.d.ts +8 -2
  455. package/lib/es/utils/logDeprecatedWarnings.js +2 -3
  456. package/lib/es/utils/useDropDirection.d.ts +12 -0
  457. package/lib/es/utils/useDropDirection.js +26 -0
  458. package/lib/es/version.json +1 -1
  459. package/package.json +1 -1
  460. package/utils/buttonEffect.js +2 -1
  461. package/utils/deviceUtils.d.ts +1 -0
  462. package/utils/deviceUtils.js +1 -0
  463. package/version.json +1 -1
@@ -3,320 +3,206 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutoSuggest = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const react_1 = tslib_1.__importStar(require("react"));
7
- const prop_types_1 = tslib_1.__importDefault(require("prop-types"));
8
- const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
6
+ const react_1 = require("react");
9
7
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
10
- const react_onclickoutside_1 = tslib_1.__importDefault(require("react-onclickoutside"));
11
8
  const isEmpty_1 = tslib_1.__importDefault(require("lodash/fp/isEmpty"));
12
- const isEqual_1 = tslib_1.__importDefault(require("lodash/fp/isEqual"));
13
- const get_1 = tslib_1.__importDefault(require("lodash/fp/get"));
9
+ const isNil_1 = tslib_1.__importDefault(require("lodash/fp/isNil"));
10
+ const noop_1 = tslib_1.__importDefault(require("lodash/fp/noop"));
14
11
  const ClearableInput_1 = tslib_1.__importDefault(require("../clearableInput/ClearableInput"));
15
- const Spinner_1 = tslib_1.__importDefault(require("../spinner/Spinner"));
16
12
  const scrollItemIntoView_1 = require("../../utils/scrollItemIntoView");
17
- const getDropDirection_1 = tslib_1.__importDefault(require("../../utils/getDropDirection"));
13
+ const useDropDirection_1 = require("../../utils/useDropDirection");
18
14
  const DropdownHeader_1 = tslib_1.__importDefault(require("../selects/DropdownHeader"));
19
15
  const MenuItem_1 = tslib_1.__importDefault(require("../menuItems/MenuItem"));
20
- const NoItemMessage = ({ message }) => ((0, jsx_runtime_1.jsx)("li", Object.assign({ className: 'no-item-message disabled', disabled: true }, { children: (0, jsx_runtime_1.jsx)("a", Object.assign({ role: 'button' }, { children: (0, jsx_runtime_1.jsx)("i", { children: message }) })) })));
21
- class AutoSuggest extends react_1.Component {
22
- constructor(props) {
23
- super(props);
24
- this.state = {
25
- open: false,
26
- value: props.inputProps.value || '',
27
- dropup: props.dropup,
28
- pullRight: props.pullRight,
29
- highlightedItemIndex: -1,
30
- };
31
- this.openMenu = this.openMenu.bind(this);
32
- this.closeMenu = this.closeMenu.bind(this);
33
- this.setInputValue = this.setInputValue.bind(this);
34
- this.clearInputValue = this.clearInputValue.bind(this);
35
- this.handleKeyDown = this.handleKeyDown.bind(this);
36
- this.handleInputChange = this.handleInputChange.bind(this);
37
- this.handleFocus = this.handleFocus.bind(this);
38
- this.onMouseEnter = this.onMouseEnter.bind(this);
39
- }
40
- UNSAFE_componentWillMount() {
41
- this.props.onSuggestionsFetchRequested({ value: this.state.value });
42
- }
43
- componentDidUpdate(prevProps, prevState) {
44
- if (this.props.onSuggestionHighlighted) {
45
- const currentHighlightedSuggestion = this.getHighlightedSuggestion();
46
- const prevHighlightedSuggestion = prevState.highlightedSuggestion;
47
- if (currentHighlightedSuggestion !== prevHighlightedSuggestion) {
48
- this.props.onSuggestionHighlighted({
49
- suggestion: currentHighlightedSuggestion,
50
- });
51
- }
52
- }
53
- // Update internal value state from outside
54
- const updatedValueFromProps = (0, get_1.default)('inputProps.value')(this.props);
55
- if (!(0, isEqual_1.default)(updatedValueFromProps, this.state.value)) {
56
- this.setState(() => ({
57
- value: updatedValueFromProps,
58
- }));
59
- }
60
- }
61
- getHighlightedSuggestion() {
62
- if (this.state.highlightedItemIndex === -1) {
63
- return null;
64
- }
65
- return this.props.suggestions[this.state.highlightedItemIndex];
66
- }
67
- openMenu( /* event*/) {
68
- let dropDirection = {};
69
- if (this.refDropdownMenu && this.isAutoDropActive() && !this.state.open) {
70
- dropDirection = (0, getDropDirection_1.default)(this.refDropdownMenu.parentNode, this.refDropdownMenu);
16
+ const useClickOutside_1 = tslib_1.__importDefault(require("../../hooks/useClickOutside"));
17
+ const AutoSuggestAddons_1 = tslib_1.__importDefault(require("./AutoSuggestAddons"));
18
+ const DropdownSpinner_1 = tslib_1.__importDefault(require("./DropdownSpinner"));
19
+ const NoItemMessage_1 = tslib_1.__importDefault(require("./NoItemMessage"));
20
+ const AutoSuggest = (props) => {
21
+ const { onSuggestionSelected = noop_1.default, onSuggestionsFetchRequested = noop_1.default, onSuggestionHighlighted = noop_1.default, renderSuggestion = suggestion => suggestion.label, getSuggestionValue = suggestion => suggestion.label, suggestions = [], autoDropDirection = true, pullRight = false, dropup = false, isLoading = false, openOnFocus = false, closeOnSelect = true, showSelectedItemsInInput = true, autoComplete = 'off', inputProps = {
22
+ disabled: false,
23
+ onChange: noop_1.default,
24
+ onClear: noop_1.default,
25
+ onBlur: noop_1.default,
26
+ onFocus: noop_1.default,
27
+ placeholder: 'Start typing ...',
28
+ hasError: false,
29
+ tabIndex: 0,
30
+ value: undefined,
31
+ icon: undefined,
32
+ }, leadingInputAddons, trailingInputAddons, noItemMessage, dropdownClassName = '', className = '' } = props, remainingProps = tslib_1.__rest(props, ["onSuggestionSelected", "onSuggestionsFetchRequested", "onSuggestionHighlighted", "renderSuggestion", "getSuggestionValue", "suggestions", "autoDropDirection", "pullRight", "dropup", "isLoading", "openOnFocus", "closeOnSelect", "showSelectedItemsInInput", "autoComplete", "inputProps", "leadingInputAddons", "trailingInputAddons", "noItemMessage", "dropdownClassName", "className"]);
33
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
34
+ const [value, setValue] = (0, react_1.useState)(inputProps.value || '');
35
+ const [highlightedItemIndex, setHighlightedItemIndex] = (0, react_1.useState)(-1);
36
+ const [direction, setDirection] = (0, react_1.useState)(scrollItemIntoView_1.DOWN);
37
+ const componentRef = (0, useClickOutside_1.default)(() => closeMenu());
38
+ const dropdownMenuRef = (0, react_1.useRef)(null);
39
+ const inputRef = (0, react_1.useRef)(null);
40
+ const optionNodesRef = (0, react_1.useRef)([]);
41
+ // Update internal value state from outside when external input value is given.
42
+ // This is important for when this component is used as a controlled component
43
+ const externalValue = inputProps.value;
44
+ if (!(0, isNil_1.default)(externalValue) && value !== externalValue) {
45
+ setValue(externalValue !== null && externalValue !== void 0 ? externalValue : '');
46
+ }
47
+ // Fetch suggestions on mounting the component by using the external
48
+ // fetch callback
49
+ (0, react_1.useEffect)(() => onSuggestionsFetchRequested({ value }), []);
50
+ // When a new suggestion is highlighted it may be not in view as the dropdown menu
51
+ // has an overflow and can scroll. In this case, we need to scroll to the highlighted suggestion
52
+ // so the user can see it
53
+ (0, react_1.useEffect)(() => {
54
+ (0, scrollItemIntoView_1.scrollItemIntoView)(direction, dropdownMenuRef.current, getFocusedOptionNode());
55
+ }, [highlightedItemIndex, direction]);
56
+ // Used to store the list item reference to allow highlighting a single node.
57
+ // Update that list of nodes again when the suggestions change from the outside.
58
+ (0, react_1.useEffect)(() => {
59
+ var _a;
60
+ const optionNodes = Array.from(((_a = dropdownMenuRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('li')) || []);
61
+ optionNodesRef.current = optionNodes;
62
+ }, [suggestions]);
63
+ // Overwrite position of dropdown menu in case auto drop is enabled
64
+ const dropDirection = (0, useDropDirection_1.useDropDirection)({ pullRight, dropup, autoDropDirection, dropdownMenuRef }, [suggestions]);
65
+ const openMenu = () => {
66
+ if (isOpen) {
67
+ return;
71
68
  }
72
- this.setState(Object.assign({ open: true }, dropDirection));
73
- }
74
- closeMenu() {
75
- this.setState({
76
- open: false,
77
- });
78
- }
79
- handleClickOutside() {
80
- this.closeMenu();
81
- }
82
- handleFocus(event) {
83
- const { openOnFocus, inputProps } = this.props;
69
+ setIsOpen(true);
70
+ };
71
+ const closeMenu = () => {
72
+ setIsOpen(false);
73
+ };
74
+ const handleFocus = (event) => {
84
75
  if (openOnFocus) {
85
- this.openMenu();
76
+ openMenu();
86
77
  }
87
78
  if (inputProps.onFocus) {
88
79
  inputProps.onFocus(event);
89
80
  }
90
- }
91
- isAutoDropActive() {
92
- return !(!this.props.autoDropDirection || this.props.dropup || this.props.pullRight);
93
- }
94
- getDropdownDOMNode() {
95
- return react_dom_1.default.findDOMNode(this.refDropdownMenu);
96
- }
97
- handleKeyDown(event) {
98
- const { keyCode } = event;
99
- const { highlightedItemIndex } = this.state;
100
- const { suggestions } = this.props;
101
- switch (keyCode) {
102
- case 40:
81
+ };
82
+ const handleKeyDown = (event) => {
83
+ switch (event.key) {
84
+ case 'ArrowDown': {
103
85
  // select below on arrow down key
104
- if (this.state.open && suggestions.length > highlightedItemIndex + 1) {
105
- this.setState({
106
- highlightedItemIndex: highlightedItemIndex + 1,
107
- }, () => {
108
- (0, scrollItemIntoView_1.scrollItemIntoView)(scrollItemIntoView_1.DOWN, this.getDropdownDOMNode(), this.getFocusedOptionNode());
109
- });
86
+ const newHighlightedIndex = highlightedItemIndex + 1;
87
+ if (isOpen && suggestions.length > newHighlightedIndex) {
88
+ setHighlightedItemIndex(newHighlightedIndex);
89
+ handleHighlightedSuggestionChanged(Number(newHighlightedIndex));
90
+ setDirection(scrollItemIntoView_1.DOWN);
110
91
  }
111
92
  return;
112
- case 38:
93
+ }
94
+ case 'ArrowUp':
113
95
  // select above on arrow up key
114
- if (this.state.open && highlightedItemIndex > 0) {
115
- this.setState({
116
- highlightedItemIndex: highlightedItemIndex - 1,
117
- }, () => {
118
- (0, scrollItemIntoView_1.scrollItemIntoView)(scrollItemIntoView_1.UP, this.getDropdownDOMNode(), this.getFocusedOptionNode());
119
- });
96
+ if (isOpen && highlightedItemIndex > 0) {
97
+ const newHighlightedIndex = highlightedItemIndex - 1;
98
+ setHighlightedItemIndex(newHighlightedIndex);
99
+ handleHighlightedSuggestionChanged(Number(newHighlightedIndex));
100
+ setDirection(scrollItemIntoView_1.UP);
120
101
  }
121
102
  return;
122
- case 13:
103
+ case 'Enter':
123
104
  // select on enter
124
- if (this.state.open && suggestions[highlightedItemIndex]) {
125
- this.onSuggestionClicked(event, suggestions[highlightedItemIndex]);
105
+ if (isOpen && suggestions[highlightedItemIndex]) {
106
+ onSuggestionClicked(event, suggestions[highlightedItemIndex]);
126
107
  }
127
108
  else {
128
- this.openMenu(event);
109
+ openMenu();
129
110
  }
130
111
  break;
131
- case 27:
112
+ case 'Escape':
113
+ case 'Tab':
132
114
  // close on esc key or on tab
133
- this.closeMenu();
134
- break;
135
- case 9:
136
- // close on tab
137
- this.closeMenu();
115
+ closeMenu();
138
116
  break;
139
117
  default:
140
118
  break;
141
119
  }
142
- }
143
- getOptionNodes() {
144
- const node = react_dom_1.default.findDOMNode(this.refDropdownMenu);
145
- return (node && node.getElementsByTagName('li')) || [];
146
- }
147
- getFocusedOptionNode() {
148
- const optionNodes = this.getOptionNodes();
149
- return [...optionNodes].find(item => item.className.includes('active'));
150
- }
151
- handleInputChange(value, event) {
152
- if (this.state.value !== value) {
153
- this.setInputValue(value, event);
120
+ };
121
+ const getFocusedOptionNode = () => {
122
+ return [...optionNodesRef.current].find((item) => item.className.includes('active'));
123
+ };
124
+ const handleInputChange = (newValue, event) => {
125
+ if (value !== newValue) {
126
+ updateInputValue(newValue, event);
154
127
  }
155
- }
156
- setInputValue(newValue, event = {}, shouldCloseMenu = false) {
157
- const closeMenuEventually = shouldCloseMenu ? false : this.state.open;
158
- this.setState({
159
- open: !this.state.open ? true : closeMenuEventually,
160
- value: newValue,
161
- highlightedItemIndex: -1,
162
- });
128
+ };
129
+ const updateInputValue = (newValue, event, shouldCloseMenu = false) => {
130
+ const closeMenuEventually = shouldCloseMenu ? false : isOpen;
131
+ setIsOpen(!isOpen ? true : closeMenuEventually);
132
+ setValue(newValue);
133
+ setHighlightedItemIndex(-1);
163
134
  // Fire callback so the parent component can filter the suggestions accordingly
164
- this.props.onSuggestionsFetchRequested({ value: newValue });
165
- const { value, onChange = () => { } } = this.props.inputProps;
166
- if (newValue !== value) {
135
+ onSuggestionsFetchRequested({ value: newValue });
136
+ handleHighlightedSuggestionChanged(-1);
137
+ // Trigger onChange callback to notify usage component only when value has actually changed
138
+ const { value: newExternalValue, onChange = () => { } } = inputProps;
139
+ if (newValue !== newExternalValue) {
167
140
  onChange(event, { newValue });
168
141
  }
169
- }
170
- getInputNode() {
171
- return this.refComponent.getElementsByTagName('input')[0];
172
- }
173
- clearInputValue(event) {
174
- this.setState({
175
- value: '',
176
- highlightedItemIndex: -1,
177
- });
142
+ };
143
+ const handleHighlightedSuggestionChanged = (currentHighlightedItemIndex) => {
144
+ const currentHighlightedSuggestion = currentHighlightedItemIndex === -1 ? null : suggestions[currentHighlightedItemIndex];
145
+ onSuggestionHighlighted(currentHighlightedSuggestion);
146
+ };
147
+ const clearInputValue = (event) => {
148
+ setValue('');
149
+ setHighlightedItemIndex(-1);
178
150
  // Focus the input field after clearing it's value in order to allow
179
151
  // entering new values right away
180
- const node = this.getInputNode();
181
- if (node) {
182
- react_dom_1.default.findDOMNode(node).focus();
152
+ if (inputRef.current) {
153
+ inputRef.current.focus();
183
154
  }
184
155
  // Reset filter value so all suggestions are shown again
185
- this.props.onSuggestionsFetchRequested({ value: '' });
156
+ onSuggestionsFetchRequested({ value: '' });
157
+ handleHighlightedSuggestionChanged(-1);
186
158
  // Additionally, fire the onClear callback as the service may react on it
187
- if (this.props.inputProps.onClear) {
188
- this.props.inputProps.onClear(event);
159
+ if (inputProps.onClear) {
160
+ inputProps.onClear(event);
189
161
  }
190
- }
191
- onSuggestionClicked(event, suggestion) {
192
- this.setInputValue(this.props.getSuggestionValue(suggestion), event, this.props.closeOnSelect);
162
+ };
163
+ const onSuggestionClicked = (event, suggestion) => {
164
+ updateInputValue(getSuggestionValue(suggestion), event, closeOnSelect);
193
165
  // fire callback with the selected item
194
- this.props.onSuggestionSelected(event, {
166
+ onSuggestionSelected(event, {
195
167
  suggestion,
196
- suggestionValue: this.props.getSuggestionValue(suggestion),
168
+ suggestionValue: getSuggestionValue(suggestion),
197
169
  highlightedItemIndex: -1,
198
170
  });
199
- }
200
- onMouseEnter(event) {
171
+ };
172
+ const onMouseEnter = (event) => {
201
173
  const newIndex = event.currentTarget.getAttribute('data-item-index');
202
174
  if (newIndex) {
203
- this.setState(() => ({
204
- highlightedItemIndex: newIndex,
205
- }));
175
+ setHighlightedItemIndex(Number(newIndex));
176
+ handleHighlightedSuggestionChanged(Number(newIndex));
206
177
  }
207
- }
208
- wrapAddons(iconClass, leadingInputAddons, child, trailingInputAddons) {
209
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'input-group width-100pct' }, { children: [leadingInputAddons && leadingInputAddons, iconClass && ((0, jsx_runtime_1.jsx)("span", Object.assign({ className: 'input-group-addon' }, { children: (0, jsx_runtime_1.jsx)("span", { className: `rioglyph ${iconClass}`, "aria-hidden": 'true' }) }))), child, trailingInputAddons && trailingInputAddons] })));
210
- }
211
- renderInput() {
212
- const { leadingInputAddons, trailingInputAddons } = this.props;
213
- const _a = this.props.inputProps, { icon,
214
- // tabIndex,
215
- // hasError,
216
- // placeholder,
217
- value,
218
- // className,
219
- // disabled,
220
- // onBlur,
221
- // onFocus,
222
- // inputRef,
223
- showSelectedItemsInInput } = _a, remainingProps = tslib_1.__rest(_a, ["icon", "value", "showSelectedItemsInInput"]);
224
- const input = ((0, jsx_runtime_1.jsx)(ClearableInput_1.default, Object.assign({}, remainingProps, { autoComplete: this.props.autoComplete, onChange: this.handleInputChange, onClear: this.clearInputValue, onClick: this.openMenu, onFocus: this.handleFocus, value: !showSelectedItemsInInput && value })));
178
+ };
179
+ const renderInput = () => {
180
+ const { icon, value: ignoredExternalValue } = inputProps, remainingInputProps = tslib_1.__rest(inputProps, ["icon", "value"]);
181
+ const clearableProps = Object.assign(Object.assign({}, remainingInputProps), { onClick: () => openMenu });
182
+ const input = ((0, jsx_runtime_1.jsx)(ClearableInput_1.default, Object.assign({}, clearableProps, { ref: inputRef, autoComplete: autoComplete, onChange: handleInputChange, onClear: clearInputValue, onFocus: handleFocus, value: showSelectedItemsInInput ? value : '' })));
225
183
  if (icon || leadingInputAddons || trailingInputAddons) {
226
- return this.wrapAddons(icon, leadingInputAddons, input, trailingInputAddons);
184
+ return ((0, jsx_runtime_1.jsx)(AutoSuggestAddons_1.default, Object.assign({ icon: icon, leadingInputAddons: leadingInputAddons, trailingInputAddons: trailingInputAddons }, { children: input })));
227
185
  }
228
186
  return input;
229
- }
230
- renderLoadingIndicator(dropdownMenuClasses) {
231
- return ((0, jsx_runtime_1.jsx)("ul", Object.assign({ className: dropdownMenuClasses }, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'display-flex justify-content-center padding-10' }, { children: (0, jsx_runtime_1.jsx)(Spinner_1.default, {}) })) })));
232
- }
233
- renderDropdownMenu() {
234
- const { suggestions, pullRight, dropdownClassName, noItemMessage, isLoading, renderSuggestion } = this.props;
235
- const dropdownMenuClasses = (0, classnames_1.default)('dropdown-menu', pullRight && 'pull-right', dropdownClassName && dropdownClassName);
187
+ };
188
+ const renderDropdownMenu = () => {
189
+ const dropdownMenuClasses = (0, classnames_1.default)('dropdown-menu', dropDirection.pullRight && 'pull-right', dropdownClassName);
236
190
  if (isLoading) {
237
- return this.renderLoadingIndicator(dropdownMenuClasses);
191
+ return (0, jsx_runtime_1.jsx)(DropdownSpinner_1.default, { className: dropdownMenuClasses });
238
192
  }
239
193
  const hasNoSuggestions = (0, isEmpty_1.default)(suggestions);
240
194
  if (hasNoSuggestions && !noItemMessage) {
241
195
  return null;
242
196
  }
243
- return ((0, jsx_runtime_1.jsxs)("ul", Object.assign({ role: 'menu', className: dropdownMenuClasses, ref: node => (this.refDropdownMenu = node) }, { children: [hasNoSuggestions && noItemMessage && (0, jsx_runtime_1.jsx)(NoItemMessage, { message: noItemMessage }, 'NoItemMessage'), suggestions.map((suggestion, index) => {
197
+ return ((0, jsx_runtime_1.jsxs)("ul", Object.assign({ role: 'menu', className: dropdownMenuClasses, ref: dropdownMenuRef }, { children: [hasNoSuggestions && noItemMessage && (0, jsx_runtime_1.jsx)(NoItemMessage_1.default, { message: noItemMessage }, 'NoItemMessage'), suggestions.map((suggestion, index) => {
244
198
  if (suggestion.header) {
245
199
  return (0, jsx_runtime_1.jsx)(DropdownHeader_1.default, { label: suggestion.label }, suggestion.label);
246
200
  }
247
- const item = {
248
- value: suggestion.customSuggestion ? suggestion.customSuggestion : renderSuggestion(suggestion),
249
- onSelect: (idx, event) => this.onSuggestionClicked(event, suggestion),
250
- active: index === this.state.highlightedItemIndex,
251
- disabled: suggestion.disabled,
252
- };
253
- return (0, jsx_runtime_1.jsx)(MenuItem_1.default, Object.assign({}, item, { index: index, onMouseEnter: this.onMouseEnter }), index);
201
+ return ((0, jsx_runtime_1.jsx)(MenuItem_1.default, { active: index === highlightedItemIndex, disabled: suggestion.disabled, value: suggestion.customSuggestion ? suggestion.customSuggestion : renderSuggestion(suggestion), onSelect: (_, event) => onSuggestionClicked(event, suggestion), index: index, onMouseEnter: onMouseEnter }, `index-${suggestion.label}`));
254
202
  })] })));
255
- }
256
- render() {
257
- const classes = (0, classnames_1.default)('AutoSuggest', 'dropdown', this.state.open && 'open', this.state.dropup && 'dropup', this.props.className && this.props.className);
258
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: classes, onKeyDown: this.handleKeyDown, ref: node => (this.refComponent = node) }, { children: [this.renderInput(), this.renderDropdownMenu()] })));
259
- }
260
- }
261
- exports.AutoSuggest = AutoSuggest;
262
- AutoSuggest.defaultProps = {
263
- onSuggestionSelected: () => { },
264
- onSuggestionsFetchRequested: () => { },
265
- renderSuggestion: suggestion => suggestion.label,
266
- getSuggestionValue: suggestion => suggestion.label,
267
- suggestions: [],
268
- autoDropDirection: true,
269
- pullRight: false,
270
- dropup: false,
271
- isLoading: false,
272
- openOnFocus: false,
273
- closeOnSelect: true,
274
- showSelectedItemsInInput: true,
275
- autoComplete: 'off',
276
- inputProps: {
277
- disabled: false,
278
- onChange: () => { },
279
- onClear: () => { },
280
- onBlur: () => { },
281
- onFocus: () => { },
282
- placeholder: 'Start typing ...',
283
- hasError: false,
284
- tabIndex: 0,
285
- },
286
- };
287
- AutoSuggest.propTypes = {
288
- onSuggestionSelected: prop_types_1.default.func.isRequired,
289
- onSuggestionsFetchRequested: prop_types_1.default.func.isRequired,
290
- onSuggestionHighlighted: prop_types_1.default.func,
291
- suggestions: prop_types_1.default.array.isRequired,
292
- renderSuggestion: prop_types_1.default.func,
293
- getSuggestionValue: prop_types_1.default.func,
294
- dropup: prop_types_1.default.bool,
295
- pullRight: prop_types_1.default.bool,
296
- autoDropDirection: prop_types_1.default.bool,
297
- className: prop_types_1.default.string,
298
- dropdownClassName: prop_types_1.default.string,
299
- isLoading: prop_types_1.default.bool,
300
- openOnFocus: prop_types_1.default.bool,
301
- closeOnSelect: prop_types_1.default.bool,
302
- showSelectedItemsInInput: prop_types_1.default.bool,
303
- autoComplete: prop_types_1.default.string,
304
- noItemMessage: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.node]),
305
- inputProps: prop_types_1.default.shape({
306
- disabled: prop_types_1.default.bool,
307
- onChange: prop_types_1.default.func,
308
- onClear: prop_types_1.default.func,
309
- onFocus: prop_types_1.default.func,
310
- onBlur: prop_types_1.default.func,
311
- className: prop_types_1.default.string,
312
- placeholder: prop_types_1.default.string,
313
- icon: prop_types_1.default.string,
314
- value: prop_types_1.default.string,
315
- hasError: prop_types_1.default.bool,
316
- tabIndex: prop_types_1.default.number,
317
- inputRef: prop_types_1.default.func,
318
- }).isRequired,
319
- leadingInputAddons: prop_types_1.default.oneOfType([prop_types_1.default.node]),
320
- trailingInputAddons: prop_types_1.default.oneOfType([prop_types_1.default.node]),
203
+ };
204
+ const classes = (0, classnames_1.default)('AutoSuggest', 'dropdown', isOpen && 'open', dropDirection.dropup && 'dropup', className);
205
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({}, remainingProps, { className: classes, onKeyDown: handleKeyDown, ref: componentRef }, { children: [renderInput(), renderDropdownMenu()] })));
321
206
  };
322
- exports.default = (0, react_onclickoutside_1.default)(AutoSuggest);
207
+ exports.AutoSuggest = AutoSuggest;
208
+ exports.default = exports.AutoSuggest;
@@ -0,0 +1,8 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ export type AutoSuggestAddonsProps = {
3
+ icon?: string;
4
+ leadingInputAddons?: React.ReactNode[];
5
+ trailingInputAddons?: React.ReactNode[];
6
+ };
7
+ declare const AutoSuggestAddons: ({ icon, leadingInputAddons, trailingInputAddons, children, }: PropsWithChildren<AutoSuggestAddonsProps>) => import("react/jsx-runtime").JSX.Element;
8
+ export default AutoSuggestAddons;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ // @ts-ignore-next-line importsNotUsedAsValues
5
+ require("react");
6
+ const AutoSuggestAddons = ({ icon, leadingInputAddons, trailingInputAddons, children, }) => {
7
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'input-group width-100pct' }, { children: [leadingInputAddons && leadingInputAddons, icon && ((0, jsx_runtime_1.jsx)("span", Object.assign({ className: 'input-group-addon' }, { children: (0, jsx_runtime_1.jsx)("span", { className: `rioglyph ${icon}`, "aria-hidden": 'true' }) }))), children, trailingInputAddons && trailingInputAddons] })));
8
+ };
9
+ exports.default = AutoSuggestAddons;
@@ -0,0 +1,4 @@
1
+ declare const DropdownSpinner: ({ className }: {
2
+ className: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default DropdownSpinner;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ require("react");
6
+ const Spinner_1 = tslib_1.__importDefault(require("../spinner/Spinner"));
7
+ const DropdownSpinner = ({ className }) => ((0, jsx_runtime_1.jsx)("ul", Object.assign({ className: className }, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'display-flex justify-content-center padding-10' }, { children: (0, jsx_runtime_1.jsx)(Spinner_1.default, {}) })) })));
8
+ exports.default = DropdownSpinner;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const NoItemMessage: ({ message }: {
3
+ message: React.ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default NoItemMessage;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ // @ts-ignore-next-line importsNotUsedAsValues
5
+ require("react");
6
+ const NoItemMessage = ({ message }) => ((0, jsx_runtime_1.jsx)("li", Object.assign({ className: 'no-item-message disabled pointer-events-none' }, { children: (0, jsx_runtime_1.jsx)("a", Object.assign({ role: 'button', href: 'any' }, { children: (0, jsx_runtime_1.jsx)("i", { children: message }) })) })));
7
+ exports.default = NoItemMessage;
@@ -1,18 +1,67 @@
1
1
  import React, { MutableRefObject, PropsWithChildren, ReactNode } from 'react';
2
2
  export type BottomSheetProps = {
3
+ /**
4
+ * Set the visibility of the bottom sheet. The component is already mounted and just moved offscreen.
5
+ * @default false
6
+ */
3
7
  show: boolean;
8
+ /**
9
+ * Callback for when the sheet closes.
10
+ */
4
11
  onClose?: (isShown: boolean) => void;
12
+ /**
13
+ * The width of the bottom sheet. This is useful for desktop when not using the entire screen width.
14
+ * When no width is given it will take the width of the content and maximum `100%` of the screen.
15
+ * So it this case you might want to apply a `max-width-xxx` via `className` to control it better.
16
+ */
5
17
  width?: number | string;
18
+ /**
19
+ * The height of the bottom sheet. If no height is given, the height is automatically
20
+ * calculated from the content.
21
+ */
6
22
  height?: number | string;
23
+ /**
24
+ * The title content shown in the header. If no title is given, the bottom sheet header is not shown.
25
+ */
7
26
  title?: string | ReactNode;
27
+ /**
28
+ * Defines whether or not the close button is shown.
29
+ * @default true
30
+ */
8
31
  showCloseButton?: boolean;
32
+ /**
33
+ * Defines whether or not the maximize button in the header is shown.
34
+ * @default false
35
+ */
9
36
  showMaximizeButton?: boolean;
37
+ /**
38
+ * The callback function triggered when the maximize button is clicked and the height changes.
39
+ */
10
40
  onHeightChange?: VoidFunction;
41
+ /**
42
+ * Set to `true` to detach the bottom sheet from the left side and the bottom and create a little offset.
43
+ * @default false
44
+ */
11
45
  detach?: boolean;
46
+ /**
47
+ * Defines the amount of pixels for the sheet.
48
+ * @default 15
49
+ */
50
+ detachOffset?: number;
51
+ /**
52
+ * Set to `true` to render a modal like backdrop to emphasize the bottom sheet.
53
+ * @default false
54
+ */
12
55
  useBackdrop?: boolean;
56
+ /**
57
+ * Callback function triggered when the backdrop is clicked. Usually used to close the bottom sheet.
58
+ */
13
59
  onBackdropClick?: VoidFunction;
14
- bodyRef?: MutableRefObject<HTMLDivElement>;
60
+ /** A react ref added to the bottom sheet body. */
61
+ bodyRef?: MutableRefObject<HTMLDivElement | null>;
62
+ /** Additional classes to be set on the body element. */
15
63
  bodyClassName?: string;
64
+ /** Additional classes to be set on the wrapping element. */
16
65
  className?: string;
17
66
  };
18
67
  declare const BottomSheet: (props: BottomSheetProps & PropsWithChildren) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
@@ -5,12 +5,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const react_dom_1 = require("react-dom");
7
7
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
8
- const framer_motion_1 = require("framer-motion");
9
8
  const isFunction_1 = tslib_1.__importDefault(require("lodash/fp/isFunction"));
9
+ const framer_motion_1 = require("framer-motion");
10
10
  const portalRoot_1 = require("../../utils/portalRoot");
11
11
  const OFFSET_POSITION = -1000;
12
+ const DEFAULT_OFFSET_PX = 15;
12
13
  const BottomSheet = (props) => {
13
- const { show = false, onClose, width, height, title, detach = false, useBackdrop = false, showCloseButton = true, showMaximizeButton = false, onHeightChange = () => { }, bodyRef, bodyClassName, className, children, onBackdropClick = () => { } } = props, remainingProps = tslib_1.__rest(props, ["show", "onClose", "width", "height", "title", "detach", "useBackdrop", "showCloseButton", "showMaximizeButton", "onHeightChange", "bodyRef", "bodyClassName", "className", "children", "onBackdropClick"]);
14
+ const { show = false, onClose, width, height, title, detach = false, detachOffset = DEFAULT_OFFSET_PX, useBackdrop = false, showCloseButton = true, showMaximizeButton = false, onHeightChange = () => { }, bodyRef, bodyClassName, className, children, onBackdropClick = () => { } } = props, remainingProps = tslib_1.__rest(props, ["show", "onClose", "width", "height", "title", "detach", "detachOffset", "useBackdrop", "showCloseButton", "showMaximizeButton", "onHeightChange", "bodyRef", "bodyClassName", "className", "children", "onBackdropClick"]);
14
15
  const [isShown, setIsShown] = (0, react_1.useState)(show);
15
16
  const [isMaxHeight, setIsMaxHeight] = (0, react_1.useState)(false);
16
17
  (0, react_1.useEffect)(() => setIsShown(show), [show]);
@@ -33,14 +34,18 @@ const BottomSheet = (props) => {
33
34
  setIsMaxHeight(newValue);
34
35
  onHeightChange();
35
36
  };
36
- const sheetClasses = (0, classnames_1.default)('bottom-sheet', 'position-fixed left-0', !width && 'width-100pct', !height && !isMaxHeight && 'height-auto', 'bg-white', 'shadow-hard', detach ? 'margin-15 rounded' : 'rounded-top-left rounded-top-right', className && className);
37
+ const sheetClasses = (0, classnames_1.default)('bottom-sheet', 'position-fixed left-0', !height && !isMaxHeight && 'height-auto', 'bg-white', 'shadow-hard', detach ? 'rounded' : 'rounded-top-left rounded-top-right', className && className);
37
38
  const sheetBodyClasses = (0, classnames_1.default)('bottom-sheet-body', 'height-100pct', bodyClassName && bodyClassName);
38
39
  const sheetHeight = isMaxHeight ? window.innerHeight : height;
39
40
  // Note: we always have to kep the body element in the DOM as there might be a ref assigned to it.
40
41
  // Unmounting it will lead to losing the reference and breaking the functionality that is implemented on that ref.
41
42
  // That is the reason why there is no "AnimatePresence" with an "exit" animation here.
42
43
  // Instead, we change the "animate" values.
43
- return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(framer_motion_1.motion.div, Object.assign({}, remainingProps, { className: sheetClasses, style: { width }, initial: { opacity: 0 }, animate: {
44
+ return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(framer_motion_1.motion.div, Object.assign({}, remainingProps, { className: sheetClasses, style: {
45
+ width,
46
+ maxWidth: detach ? `calc(100% - ${DEFAULT_OFFSET_PX * 2}px)` : '100%',
47
+ margin: detach ? `${DEFAULT_OFFSET_PX}px` : 0,
48
+ }, initial: { opacity: 0 }, animate: {
44
49
  opacity: isShown ? 1 : 0,
45
50
  y: 0,
46
51
  bottom: isShown ? 0 : OFFSET_POSITION,