@itwin/appui-react 3.3.0-dev.8 → 3.3.0-dev.80

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 (389) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +3 -0
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +9 -0
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -2
  7. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  9. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  10. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  11. package/lib/cjs/appui-react/configurableui/state.d.ts +4 -3
  12. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/configurableui/state.js +6 -1
  14. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  15. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/content/ContentGroup.js +0 -2
  17. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  18. package/lib/cjs/appui-react/content/ContentLayout.d.ts +4 -1
  19. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  20. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  21. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/content/ContentViewManager.js +6 -2
  23. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  24. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -0
  26. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  27. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +3 -1
  28. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -1
  30. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  31. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +14 -3
  33. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  34. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  35. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  36. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  37. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  38. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  39. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  40. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +49 -44
  42. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  43. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  44. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  45. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js +23 -0
  46. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  47. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +26 -0
  48. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/messages/ActivityMessage.js +64 -5
  50. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  51. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  52. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +3 -11
  54. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  55. package/lib/cjs/appui-react/messages/MessageManager.d.ts +17 -0
  56. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/messages/MessageManager.js +44 -0
  58. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  59. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  60. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  61. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +33 -28
  62. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  63. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  64. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  65. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -0
  66. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  67. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +1 -0
  68. package/lib/cjs/appui-react/messages/StickyMessage.d.ts.map +1 -1
  69. package/lib/cjs/appui-react/messages/StickyMessage.js +8 -6
  70. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  71. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +1 -0
  72. package/lib/cjs/appui-react/messages/ToastMessage.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/messages/ToastMessage.js +7 -5
  74. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  75. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  76. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +13 -10
  78. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  79. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  80. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  82. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  83. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +12 -3
  85. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  86. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  87. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +6 -9
  89. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  90. package/lib/cjs/appui-react/statusbar/StatusBar.js +38 -28
  91. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  92. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  94. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  95. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  96. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  98. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  99. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  100. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  101. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  102. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -0
  104. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  105. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +4 -1
  106. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/statusfields/ConditionalField.js +4 -1
  108. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  109. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +2 -3
  110. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  111. package/lib/cjs/appui-react/statusfields/FooterModeField.js +9 -8
  112. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  113. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +3 -1
  114. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/statusfields/Indicator.js +1 -0
  116. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  117. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +4 -2
  118. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  119. package/lib/cjs/appui-react/statusfields/MessageCenter.js +33 -15
  120. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  121. package/lib/cjs/appui-react/statusfields/PromptField.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/statusfields/PromptField.js +4 -1
  123. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  124. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  125. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  126. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  127. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +4 -1
  129. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  130. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -3
  132. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  133. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +0 -1
  134. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/statusfields/SnapMode.js +0 -2
  136. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  137. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  138. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js +0 -7
  140. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  141. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +5 -1
  143. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  144. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  146. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  147. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  148. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  149. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  150. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  151. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  153. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  154. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
  156. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  157. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
  159. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  160. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  161. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -2
  162. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  163. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +7 -2
  165. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  166. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -0
  167. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/uistate/AppUiSettings.js +4 -0
  169. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  170. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/widget-panels/Content.js +10 -0
  172. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  173. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +9 -1
  174. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  175. package/lib/cjs/appui-react/widget-panels/Frontstage.js +130 -34
  176. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  177. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts +8 -0
  178. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  179. package/lib/cjs/appui-react/widget-panels/useTransientState.js +19 -0
  180. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -0
  181. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  182. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +1 -0
  183. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  184. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +4 -0
  185. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/widgets/WidgetDef.js +9 -2
  187. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  188. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -1
  190. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  191. package/lib/cjs/appui-react.d.ts +1 -0
  192. package/lib/cjs/appui-react.d.ts.map +1 -1
  193. package/lib/cjs/appui-react.js +1 -0
  194. package/lib/cjs/appui-react.js.map +1 -1
  195. package/lib/esm/appui-react/UiFramework.d.ts +3 -0
  196. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  197. package/lib/esm/appui-react/UiFramework.js +9 -0
  198. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  199. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -2
  200. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  201. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  202. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  203. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  204. package/lib/esm/appui-react/configurableui/state.d.ts +4 -3
  205. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  206. package/lib/esm/appui-react/configurableui/state.js +6 -1
  207. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  208. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  209. package/lib/esm/appui-react/content/ContentGroup.js +0 -2
  210. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  211. package/lib/esm/appui-react/content/ContentLayout.d.ts +4 -1
  212. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  213. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  214. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  215. package/lib/esm/appui-react/content/ContentViewManager.js +6 -2
  216. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  217. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  218. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -0
  219. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  220. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +3 -1
  221. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  222. package/lib/esm/appui-react/frontstage/Frontstage.js +1 -1
  223. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  224. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  225. package/lib/esm/appui-react/frontstage/FrontstageDef.js +14 -3
  226. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  227. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +2 -0
  228. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  229. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -3
  230. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  231. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +2 -0
  232. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +2 -0
  233. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  234. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +47 -42
  235. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  236. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts +10 -0
  237. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts.map +1 -0
  238. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js +19 -0
  239. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js.map +1 -0
  240. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +26 -0
  241. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +1 -1
  242. package/lib/esm/appui-react/messages/ActivityMessage.js +63 -7
  243. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  244. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +1 -1
  245. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts.map +1 -1
  246. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +4 -12
  247. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  248. package/lib/esm/appui-react/messages/MessageManager.d.ts +17 -0
  249. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  250. package/lib/esm/appui-react/messages/MessageManager.js +44 -0
  251. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  252. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -1
  253. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts.map +1 -1
  254. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +33 -28
  255. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  256. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -0
  257. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts.map +1 -1
  258. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -0
  259. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  260. package/lib/esm/appui-react/messages/StickyMessage.d.ts +1 -0
  261. package/lib/esm/appui-react/messages/StickyMessage.d.ts.map +1 -1
  262. package/lib/esm/appui-react/messages/StickyMessage.js +9 -7
  263. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  264. package/lib/esm/appui-react/messages/ToastMessage.d.ts +1 -0
  265. package/lib/esm/appui-react/messages/ToastMessage.d.ts.map +1 -1
  266. package/lib/esm/appui-react/messages/ToastMessage.js +8 -6
  267. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  268. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  269. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  270. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +13 -10
  271. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  272. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  273. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts.map +1 -1
  274. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +4 -1
  275. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  276. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  277. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +12 -3
  278. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  279. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -0
  280. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  281. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +6 -9
  282. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  283. package/lib/esm/appui-react/statusbar/StatusBar.js +38 -28
  284. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  285. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  286. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  287. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  288. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +9 -3
  289. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  290. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  291. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  292. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  293. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  294. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -0
  295. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts.map +1 -1
  296. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -0
  297. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  298. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +4 -1
  299. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts.map +1 -1
  300. package/lib/esm/appui-react/statusfields/ConditionalField.js +4 -1
  301. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  302. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +2 -3
  303. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts.map +1 -1
  304. package/lib/esm/appui-react/statusfields/FooterModeField.js +9 -8
  305. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  306. package/lib/esm/appui-react/statusfields/Indicator.d.ts +3 -1
  307. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  308. package/lib/esm/appui-react/statusfields/Indicator.js +1 -0
  309. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  310. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +4 -2
  311. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  312. package/lib/esm/appui-react/statusfields/MessageCenter.js +33 -15
  313. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  314. package/lib/esm/appui-react/statusfields/PromptField.d.ts.map +1 -1
  315. package/lib/esm/appui-react/statusfields/PromptField.js +4 -1
  316. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  317. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  318. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  319. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  320. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  321. package/lib/esm/appui-react/statusfields/SelectionInfo.js +4 -1
  322. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  323. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  324. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -3
  325. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  326. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +0 -1
  327. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  328. package/lib/esm/appui-react/statusfields/SnapMode.js +0 -2
  329. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  330. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +12 -6
  331. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  332. package/lib/esm/appui-react/statusfields/StatusFieldProps.js +0 -7
  333. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  334. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  335. package/lib/esm/appui-react/statusfields/ViewAttributes.js +5 -1
  336. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  337. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  338. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +4 -1
  339. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  340. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  341. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  342. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -10
  343. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  344. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  345. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +19 -16
  346. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  347. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  348. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
  349. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  350. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  351. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
  352. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  353. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  354. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -2
  355. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  356. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  357. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +7 -2
  358. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  359. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -0
  360. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  361. package/lib/esm/appui-react/uistate/AppUiSettings.js +4 -0
  362. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  363. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  364. package/lib/esm/appui-react/widget-panels/Content.js +10 -0
  365. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  366. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +9 -1
  367. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  368. package/lib/esm/appui-react/widget-panels/Frontstage.js +131 -35
  369. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  370. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts +8 -0
  371. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  372. package/lib/esm/appui-react/widget-panels/useTransientState.js +15 -0
  373. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -0
  374. package/lib/esm/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  375. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +1 -0
  376. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  377. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +4 -0
  378. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  379. package/lib/esm/appui-react/widgets/WidgetDef.js +9 -2
  380. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  381. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  382. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -1
  383. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  384. package/lib/esm/appui-react.d.ts +1 -0
  385. package/lib/esm/appui-react.d.ts.map +1 -1
  386. package/lib/esm/appui-react.js +1 -0
  387. package/lib/esm/appui-react.js.map +1 -1
  388. package/lib/public/locales/en/UiFramework.json +6 -1
  389. package/package.json +37 -37
@@ -11,7 +11,9 @@ export interface ConditionalFieldProps extends StatusFieldProps {
11
11
  /** Function to be called to return a boolean value. If the boolean value is different than the component's state value setState is
12
12
  * called to update the value and trigger a re-render.
13
13
  */
14
- boolFunc: (props: StatusFieldProps) => boolean;
14
+ boolFunc: (props: StatusFieldProps & {
15
+ isInFooterMode: boolean;
16
+ }) => boolean;
15
17
  /** Optional, default/initial boolean value that is saved in the components state. If
16
18
  * not defined it will default to true.
17
19
  */
@@ -27,6 +29,7 @@ interface ConditionalFieldState {
27
29
  /**
28
30
  * A component that expects its children to be a function that will be passed the current component Props.
29
31
  * @public
32
+ * @deprecated In upcoming version, all props passed down to the bool function will be undefined, making this component useless.
30
33
  */
31
34
  export declare class ConditionalField extends React.PureComponent<ConditionalFieldProps, ConditionalFieldState> {
32
35
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ConditionalField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAC/C;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,qBAAqB,CAAC;gBAE1C,KAAK,EAAE,qBAAqB;IAOxC,OAAO,CAAC,oBAAoB,CAK1B;IAEc,iBAAiB;IAIjB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IAKnE,OAAO,CAAC,cAAc,CAA2D;IAEjE,MAAM,IAAI,KAAK,CAAC,SAAS;CAiB1C"}
1
+ {"version":3,"file":"ConditionalField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ConditionalField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG;QAAC,cAAc,EAAE,OAAO,CAAA;KAAC,KAAK,OAAO,CAAC;IAC3E;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK,EAAE,qBAAqB,CAAC;gBAE1C,KAAK,EAAE,qBAAqB;IAOxC,OAAO,CAAC,oBAAoB,CAM1B;IAEc,iBAAiB;IAIjB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB;IAKnE,OAAO,CAAC,cAAc,CAA2D;IAEjE,MAAM,IAAI,KAAK,CAAC,SAAS;CAiB1C"}
@@ -13,12 +13,15 @@ const React = require("react");
13
13
  /**
14
14
  * A component that expects its children to be a function that will be passed the current component Props.
15
15
  * @public
16
+ * @deprecated In upcoming version, all props passed down to the bool function will be undefined, making this component useless.
16
17
  */
17
18
  class ConditionalField extends React.PureComponent {
18
19
  constructor(props) {
19
20
  super(props);
20
21
  this._resolveBooleanValue = () => {
21
- const boolValue = this.props.boolFunc(this.props);
22
+ var _a;
23
+ // eslint-disable-next-line deprecation/deprecation
24
+ const boolValue = this.props.boolFunc({ ...this.props, isInFooterMode: (_a = this.props.isInFooterMode) !== null && _a !== void 0 ? _a : true });
22
25
  if (this.state.boolValue !== boolValue) {
23
26
  this.setState({ boolValue });
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ConditionalField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA4B;AAC5B,+BAA+B;AA0B/B;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,KAAK,CAAC,aAA2D;IAIrG,YAAY,KAA4B;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QAMP,yBAAoB,GAAG,GAAS,EAAE;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAWM,mBAAc,GAAG,CAAC,QAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QArB/E,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SACxE,CAAC;IACJ,CAAC;IASe,iBAAiB;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEe,kBAAkB,CAAC,SAAgC;QACjE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAIe,MAAM;QACpB,MAAM;QACJ,yBAAyB;QACzB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,wDAAwD;QACpG,wCAAwC;QACxC,GAAG,UAAU,CAAC,qBAAqB;UACpC,GAAG,IAAI,CAAC,KAAY,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,OAAO,CACL,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC9B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;YAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;CACF;AA9CD,4CA8CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as _ from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/**\r\n * Properties supported by [[ConditionalField]] component.\r\n * @public\r\n */\r\nexport interface ConditionalFieldProps extends StatusFieldProps {\r\n /** Function to be called to return a boolean value. If the boolean value is different than the component's state value setState is\r\n * called to update the value and trigger a re-render.\r\n */\r\n boolFunc: (props: StatusFieldProps) => boolean;\r\n /** Optional, default/initial boolean value that is saved in the components state. If\r\n * not defined it will default to true.\r\n */\r\n defaultValue?: boolean;\r\n}\r\n\r\n/**\r\n * State for the [[ConditionalField]] component.\r\n * @internal\r\n */\r\ninterface ConditionalFieldState {\r\n boolValue: boolean;\r\n}\r\n\r\n/**\r\n * A component that expects its children to be a function that will be passed the current component Props.\r\n * @public\r\n */\r\nexport class ConditionalField extends React.PureComponent<ConditionalFieldProps, ConditionalFieldState> {\r\n /** @internal */\r\n public override readonly state: ConditionalFieldState;\r\n\r\n constructor(props: ConditionalFieldProps) {\r\n super(props);\r\n this.state = {\r\n boolValue: undefined !== props.defaultValue ? props.defaultValue : true,\r\n };\r\n }\r\n\r\n private _resolveBooleanValue = (): void => {\r\n const boolValue = this.props.boolFunc(this.props);\r\n if (this.state.boolValue !== boolValue) {\r\n this.setState({ boolValue });\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._resolveBooleanValue();\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ConditionalFieldProps) {\r\n if (!_.isEqual(prevProps, this.props))\r\n this._resolveBooleanValue();\r\n }\r\n\r\n private _hasNoChildren = (children: any) => React.Children.count(children) === 0;\r\n\r\n public override render(): React.ReactNode {\r\n const {\r\n // do not bleed our props\r\n children, eventIds, boolFunc, defaultValue, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n // eslint-disable-next-line comma-dangle\r\n ...otherProps // pass-through props\r\n } = this.props as any;\r\n const boolValue = this.state.boolValue;\r\n\r\n return (\r\n typeof children === \"function\" ?\r\n children(boolValue, otherProps)\r\n : !this._hasNoChildren(children)\r\n ? React.Children.only(children)\r\n : null\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ConditionalField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/ConditionalField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA4B;AAC5B,+BAA+B;AA0B/B;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,KAAK,CAAC,aAA2D;IAIrG,YAAY,KAA4B;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QAMP,yBAAoB,GAAG,GAAS,EAAE;;YACxC,mDAAmD;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,EAAC,CAAC,CAAC;YAC1G,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAWM,mBAAc,GAAG,CAAC,QAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAtB/E,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SACxE,CAAC;IACJ,CAAC;IAUe,iBAAiB;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEe,kBAAkB,CAAC,SAAgC;QACjE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAIe,MAAM;QACpB,MAAM;QACJ,yBAAyB;QACzB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,wDAAwD;QACpG,wCAAwC;QACxC,GAAG,UAAU,CAAC,qBAAqB;UACpC,GAAG,IAAI,CAAC,KAAY,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,OAAO,CACL,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC9B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;YAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;CACF;AA/CD,4CA+CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as _ from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/**\r\n * Properties supported by [[ConditionalField]] component.\r\n * @public\r\n */\r\nexport interface ConditionalFieldProps extends StatusFieldProps {\r\n /** Function to be called to return a boolean value. If the boolean value is different than the component's state value setState is\r\n * called to update the value and trigger a re-render.\r\n */\r\n boolFunc: (props: StatusFieldProps & {isInFooterMode: boolean}) => boolean;\r\n /** Optional, default/initial boolean value that is saved in the components state. If\r\n * not defined it will default to true.\r\n */\r\n defaultValue?: boolean;\r\n}\r\n\r\n/**\r\n * State for the [[ConditionalField]] component.\r\n * @internal\r\n */\r\ninterface ConditionalFieldState {\r\n boolValue: boolean;\r\n}\r\n\r\n/**\r\n * A component that expects its children to be a function that will be passed the current component Props.\r\n * @public\r\n * @deprecated In upcoming version, all props passed down to the bool function will be undefined, making this component useless.\r\n */\r\nexport class ConditionalField extends React.PureComponent<ConditionalFieldProps, ConditionalFieldState> {\r\n /** @internal */\r\n public override readonly state: ConditionalFieldState;\r\n\r\n constructor(props: ConditionalFieldProps) {\r\n super(props);\r\n this.state = {\r\n boolValue: undefined !== props.defaultValue ? props.defaultValue : true,\r\n };\r\n }\r\n\r\n private _resolveBooleanValue = (): void => {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const boolValue = this.props.boolFunc({...this.props, isInFooterMode: this.props.isInFooterMode ?? true});\r\n if (this.state.boolValue !== boolValue) {\r\n this.setState({ boolValue });\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._resolveBooleanValue();\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ConditionalFieldProps) {\r\n if (!_.isEqual(prevProps, this.props))\r\n this._resolveBooleanValue();\r\n }\r\n\r\n private _hasNoChildren = (children: any) => React.Children.count(children) === 0;\r\n\r\n public override render(): React.ReactNode {\r\n const {\r\n // do not bleed our props\r\n children, eventIds, boolFunc, defaultValue, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n // eslint-disable-next-line comma-dangle\r\n ...otherProps // pass-through props\r\n } = this.props as any;\r\n const boolValue = this.state.boolValue;\r\n\r\n return (\r\n typeof children === \"function\" ?\r\n children(boolValue, otherProps)\r\n : !this._hasNoChildren(children)\r\n ? React.Children.only(children)\r\n : null\r\n );\r\n }\r\n}\r\n"]}
@@ -13,8 +13,7 @@ export interface FooterModeFieldProps extends StatusFieldProps {
13
13
  /**
14
14
  * A component that renders its children if the StatusBar is in Footer mode.
15
15
  * @public
16
+ * @deprecated In upcoming version, widget mode will be removed, in footer mode will always be true, making this component useless.
16
17
  */
17
- export declare class FooterModeField extends React.PureComponent<FooterModeFieldProps> {
18
- render(): React.ReactNode;
19
- }
18
+ export declare function FooterModeField(props: FooterModeFieldProps): JSX.Element;
20
19
  //# sourceMappingURL=FooterModeField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FooterModeField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/FooterModeField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;IAE5D,MAAM,IAAI,KAAK,CAAC,SAAS;CAS1C"}
1
+ {"version":3,"file":"FooterModeField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/FooterModeField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAW1D"}
@@ -9,19 +9,20 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.FooterModeField = void 0;
11
11
  const React = require("react");
12
- const withStatusFieldProps_1 = require("../statusbar/withStatusFieldProps");
12
+ const StatusBar_1 = require("../statusbar/StatusBar");
13
13
  const ConditionalField_1 = require("./ConditionalField");
14
- // eslint-disable-next-line @typescript-eslint/naming-convention
15
- const ConditionalFieldWithProps = (0, withStatusFieldProps_1.withStatusFieldProps)(ConditionalField_1.ConditionalField);
16
14
  /**
17
15
  * A component that renders its children if the StatusBar is in Footer mode.
18
16
  * @public
17
+ * @deprecated In upcoming version, widget mode will be removed, in footer mode will always be true, making this component useless.
19
18
  */
20
- class FooterModeField extends React.PureComponent {
21
- render() {
22
- const { children, ...otherProps } = this.props;
23
- return (React.createElement(ConditionalFieldWithProps, { ...otherProps, boolFunc: (props) => props.isInFooterMode }, (isInFooterMode) => isInFooterMode && children));
24
- }
19
+ function FooterModeField(props) {
20
+ const { children, ...otherProps } = props;
21
+ const statusBarContext = React.useContext(StatusBar_1.StatusBarContext);
22
+ const conditionProps = { ...statusBarContext, ...otherProps };
23
+ return (
24
+ // eslint-disable-next-line deprecation/deprecation
25
+ React.createElement(ConditionalField_1.ConditionalField, { ...conditionProps, boolFunc: (innerProps) => innerProps.isInFooterMode }, (isInFooterMode) => isInFooterMode && children));
25
26
  }
26
27
  exports.FooterModeField = FooterModeField;
27
28
  //# sourceMappingURL=FooterModeField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FooterModeField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/FooterModeField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,4EAAyE;AACzE,yDAAsD;AAGtD,gEAAgE;AAChE,MAAM,yBAAyB,GAAG,IAAA,2CAAoB,EAAC,mCAAgB,CAAC,CAAC;AAUzE;;;GAGG;AACH,MAAa,eAAgB,SAAQ,KAAK,CAAC,aAAmC;IAE5D,MAAM;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,KAAY,CAAC;QAEtD,OAAO,CACL,oBAAC,yBAAyB,OAAK,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAuB,EAAW,EAAE,CAAC,KAAK,CAAC,cAAc,IAC5G,CAAC,cAAuB,EAAE,EAAE,CAAC,cAAc,IAAI,QAAQ,CAC9B,CAC7B,CAAC;IACJ,CAAC;CACF;AAXD,0CAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { ConditionalField } from \"./ConditionalField\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst ConditionalFieldWithProps = withStatusFieldProps(ConditionalField);\r\n\r\n/** Properties for a FooterModeField component\r\n * @public\r\n */\r\nexport interface FooterModeFieldProps extends StatusFieldProps {\r\n /** Field content. */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * A component that renders its children if the StatusBar is in Footer mode.\r\n * @public\r\n */\r\nexport class FooterModeField extends React.PureComponent<FooterModeFieldProps> {\r\n\r\n public override render(): React.ReactNode {\r\n const { children, ...otherProps } = this.props as any;\r\n\r\n return (\r\n <ConditionalFieldWithProps {...otherProps} boolFunc={(props: StatusFieldProps): boolean => props.isInFooterMode} >\r\n {(isInFooterMode: boolean) => isInFooterMode && children}\r\n </ConditionalFieldWithProps>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FooterModeField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/FooterModeField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sDAA0D;AAC1D,yDAAsD;AAWtD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAY,CAAC;IACjD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,UAAU,EAAC,CAAC;IAE5D,OAAO;IACP,mDAAmD;IACjD,oBAAC,mCAAgB,OAAK,cAAc,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAW,EAAE,CAAC,UAAU,CAAC,cAAc,IAC/F,CAAC,cAAuB,EAAE,EAAE,CAAC,cAAc,IAAI,QAAQ,CACvC,CACpB,CAAC;AACJ,CAAC;AAXD,0CAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { StatusBarContext } from \"../statusbar/StatusBar\";\r\nimport { ConditionalField } from \"./ConditionalField\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Properties for a FooterModeField component\r\n * @public\r\n */\r\nexport interface FooterModeFieldProps extends StatusFieldProps {\r\n /** Field content. */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * A component that renders its children if the StatusBar is in Footer mode.\r\n * @public\r\n * @deprecated In upcoming version, widget mode will be removed, in footer mode will always be true, making this component useless.\r\n */\r\nexport function FooterModeField(props: FooterModeFieldProps) {\r\n const { children, ...otherProps } = props as any;\r\n const statusBarContext = React.useContext(StatusBarContext);\r\n const conditionProps = {...statusBarContext, ...otherProps};\r\n\r\n return (\r\n // eslint-disable-next-line deprecation/deprecation\r\n <ConditionalField {...conditionProps} boolFunc={(innerProps): boolean => innerProps.isInFooterMode} >\r\n {(isInFooterMode: boolean) => isInFooterMode && children}\r\n </ConditionalField>\r\n );\r\n}\r\n"]}
@@ -26,7 +26,9 @@ interface IndicatorProps extends CommonProps {
26
26
  onClick?: () => void;
27
27
  /** If dialog prop is set, used to determine initial state. */
28
28
  opened?: boolean;
29
- /** Describes whether the footer is in footer or widget mode. */
29
+ /** Describes whether the footer is in footer or widget mode.
30
+ * @deprecated In upcoming version, widget mode will be removed. Consider this parameter to always be true.
31
+ */
30
32
  isInFooterMode?: boolean;
31
33
  /** Tooltip text if not specified label is used */
32
34
  toolTip?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0B,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAQ,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAe,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEhF,6CAA6C;AAC7C,UAAU,cAAe,SAAQ,WAAW;IAC1C,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kHAAkH;IAClH,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA0C9C"}
1
+ {"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA0B,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAQ,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAe,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEhF,6CAA6C;AAC7C,UAAU,cAAe,SAAQ,WAAW;IAC1C,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;MAEE;IACF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kHAAkH;IAClH,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA2C9C"}
@@ -18,6 +18,7 @@ const appui_layout_react_1 = require("@itwin/appui-layout-react");
18
18
  * @beta
19
19
  */
20
20
  function Indicator(props) {
21
+ // eslint-disable-next-line deprecation/deprecation
21
22
  const { className, contentType, dialog, iconName, iconSpec, isInFooterMode, isLabelVisible, label, labelSide, onClick, opened, style, toolTip } = props;
22
23
  const hasClickAction = React.useMemo(() => !!onClick || !!dialog, [dialog, onClick]);
23
24
  const [isOpen, setIsOpen] = React.useState(!!opened);
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAC/B,0DAAmF;AACnF,kDAAgE;AAChE,kEAAgF;AA8BhF;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxJ,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,oBAAU,EAC3B,wBAAwB,EAAE,uBAAuB,EACjD,QAAQ,IAAI,gBAAgB,EAC5B,cAAc,IAAI,oBAAoB,EACtC,SAAS,KAAK,mCAAkB,CAAC,KAAK,IAAI,4BAA4B,EACtE,SAAS,CAAC,CAAC;IACb,OAAO,CAEL;QAEE,6BAAK,GAAG,EAAE,MAAM,EACd,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB;YAE9B,cAAc,IAAI,KAAK,IAAI,8BAAM,SAAS,EAAC,UAAU,IAAE,uCAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;YACrG,IAAI,IAAI,6BAAK,SAAS,EAAC,qBAAqB;gBAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,GAAI,CAAM,CACxE;QACL,MAAM,IAAI,oBAAC,gCAAW,IAAC,WAAW,EAAE,WAAW,EAC9C,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,EAAE,MAAM,IACb,MAAM,CACK,CACb,CACJ,CAAC;AACJ,CAAC;AA1CD,8BA0CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./Indicator.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalStringValue, StatusBarLabelSide } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, IconSpec } from \"@itwin/core-react\";\r\nimport { FooterPopup, FooterPopupContentType } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[Indicator]] component. */\r\ninterface IndicatorProps extends CommonProps {\r\n /** Label of balloon icon. @deprecated use label */\r\n balloonLabel?: string;\r\n /** Dialog to display in popup when indicator is clicked. */\r\n dialog?: React.ReactChild;\r\n /** Icon to use in the footer. @deprecated use iconSpec */\r\n iconName?: string;\r\n /** specification for Icon, overrides iconName specification */\r\n iconSpec?: IconSpec;\r\n /** Describes if the indicator label is visible. */\r\n isLabelVisible?: boolean;\r\n /** Indicator label. */\r\n label?: string;\r\n /** Side to display label. */\r\n labelSide?: StatusBarLabelSide;\r\n /** Function called when indicator is clicked. */\r\n onClick?: () => void;\r\n /** If dialog prop is set, used to determine initial state. */\r\n opened?: boolean;\r\n /** Describes whether the footer is in footer or widget mode. */\r\n isInFooterMode?: boolean;\r\n /** Tooltip text if not specified label is used */\r\n toolTip?: string;\r\n /** ContentType is used to determine color of popup arrow. If not set defaults to FooterPopupContentType.Dialog */\r\n contentType?: FooterPopupContentType;\r\n}\r\n\r\n/** General-purpose [[Footer]] indicator. Shows an icon and supports an optional popup dialog.\r\n * @beta\r\n */\r\nexport function Indicator(props: IndicatorProps) {\r\n const { className, contentType, dialog, iconName, iconSpec, isInFooterMode, isLabelVisible, label, labelSide, onClick, opened, style, toolTip } = props;\r\n const hasClickAction = React.useMemo(() => !!onClick || !!dialog, [dialog, onClick]);\r\n const [isOpen, setIsOpen] = React.useState(!!opened);\r\n const handleOnIndicatorClick = React.useCallback(() => {\r\n if (dialog) {\r\n setIsOpen(!isOpen);\r\n }\r\n onClick && onClick();\r\n }, [dialog, isOpen, onClick]);\r\n const inFooter = React.useMemo(() => false === isInFooterMode ? false : true, [isInFooterMode]);\r\n const target = React.useRef<HTMLDivElement>(null);\r\n const icon = React.useMemo(() => iconSpec ?? iconName, [iconSpec, iconName]);\r\n const title = React.useMemo(() => toolTip ?? label, [toolTip, label]);\r\n const classNames = classnames(\r\n \"uifw-footer-label-left\", \"uifw-footer-indicator\",\r\n inFooter && \"nz-footer-mode\",\r\n hasClickAction && \"uifw-footer-action\",\r\n labelSide === StatusBarLabelSide.Right && \"uifw-footer-label-reversed\",\r\n className);\r\n return (\r\n\r\n <>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div ref={target}\r\n role=\"button\" tabIndex={-1}\r\n className={classNames}\r\n title={title}\r\n style={style}\r\n onClick={handleOnIndicatorClick}\r\n >\r\n {isLabelVisible && label && <span className=\"nz-label\">{ConditionalStringValue.getValue(label)}</span>}\r\n {icon && <div className=\"uifw-indicator-icon\"><Icon iconSpec={icon} /></div>}\r\n </div>\r\n {dialog && <FooterPopup contentType={contentType}\r\n target={target.current}\r\n onClose={() => setIsOpen(false)}\r\n isOpen={isOpen}>\r\n {dialog}\r\n </FooterPopup>}\r\n </>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAC/B,0DAAmF;AACnF,kDAAgE;AAChE,kEAAgF;AAgChF;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC7C,mDAAmD;IACnD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxJ,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,oBAAU,EAC3B,wBAAwB,EAAE,uBAAuB,EACjD,QAAQ,IAAI,gBAAgB,EAC5B,cAAc,IAAI,oBAAoB,EACtC,SAAS,KAAK,mCAAkB,CAAC,KAAK,IAAI,4BAA4B,EACtE,SAAS,CAAC,CAAC;IACb,OAAO,CAEL;QAEE,6BAAK,GAAG,EAAE,MAAM,EACd,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB;YAE9B,cAAc,IAAI,KAAK,IAAI,8BAAM,SAAS,EAAC,UAAU,IAAE,uCAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;YACrG,IAAI,IAAI,6BAAK,SAAS,EAAC,qBAAqB;gBAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,GAAI,CAAM,CACxE;QACL,MAAM,IAAI,oBAAC,gCAAW,IAAC,WAAW,EAAE,WAAW,EAC9C,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,EAAE,MAAM,IACb,MAAM,CACK,CACb,CACJ,CAAC;AACJ,CAAC;AA3CD,8BA2CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./Indicator.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalStringValue, StatusBarLabelSide } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon, IconSpec } from \"@itwin/core-react\";\r\nimport { FooterPopup, FooterPopupContentType } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[Indicator]] component. */\r\ninterface IndicatorProps extends CommonProps {\r\n /** Label of balloon icon. @deprecated use label */\r\n balloonLabel?: string;\r\n /** Dialog to display in popup when indicator is clicked. */\r\n dialog?: React.ReactChild;\r\n /** Icon to use in the footer. @deprecated use iconSpec */\r\n iconName?: string;\r\n /** specification for Icon, overrides iconName specification */\r\n iconSpec?: IconSpec;\r\n /** Describes if the indicator label is visible. */\r\n isLabelVisible?: boolean;\r\n /** Indicator label. */\r\n label?: string;\r\n /** Side to display label. */\r\n labelSide?: StatusBarLabelSide;\r\n /** Function called when indicator is clicked. */\r\n onClick?: () => void;\r\n /** If dialog prop is set, used to determine initial state. */\r\n opened?: boolean;\r\n /** Describes whether the footer is in footer or widget mode.\r\n * @deprecated In upcoming version, widget mode will be removed. Consider this parameter to always be true.\r\n */\r\n isInFooterMode?: boolean;\r\n /** Tooltip text if not specified label is used */\r\n toolTip?: string;\r\n /** ContentType is used to determine color of popup arrow. If not set defaults to FooterPopupContentType.Dialog */\r\n contentType?: FooterPopupContentType;\r\n}\r\n\r\n/** General-purpose [[Footer]] indicator. Shows an icon and supports an optional popup dialog.\r\n * @beta\r\n */\r\nexport function Indicator(props: IndicatorProps) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const { className, contentType, dialog, iconName, iconSpec, isInFooterMode, isLabelVisible, label, labelSide, onClick, opened, style, toolTip } = props;\r\n const hasClickAction = React.useMemo(() => !!onClick || !!dialog, [dialog, onClick]);\r\n const [isOpen, setIsOpen] = React.useState(!!opened);\r\n const handleOnIndicatorClick = React.useCallback(() => {\r\n if (dialog) {\r\n setIsOpen(!isOpen);\r\n }\r\n onClick && onClick();\r\n }, [dialog, isOpen, onClick]);\r\n const inFooter = React.useMemo(() => false === isInFooterMode ? false : true, [isInFooterMode]);\r\n const target = React.useRef<HTMLDivElement>(null);\r\n const icon = React.useMemo(() => iconSpec ?? iconName, [iconSpec, iconName]);\r\n const title = React.useMemo(() => toolTip ?? label, [toolTip, label]);\r\n const classNames = classnames(\r\n \"uifw-footer-label-left\", \"uifw-footer-indicator\",\r\n inFooter && \"nz-footer-mode\",\r\n hasClickAction && \"uifw-footer-action\",\r\n labelSide === StatusBarLabelSide.Right && \"uifw-footer-label-reversed\",\r\n className);\r\n return (\r\n\r\n <>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div ref={target}\r\n role=\"button\" tabIndex={-1}\r\n className={classNames}\r\n title={title}\r\n style={style}\r\n onClick={handleOnIndicatorClick}\r\n >\r\n {isLabelVisible && label && <span className=\"nz-label\">{ConditionalStringValue.getValue(label)}</span>}\r\n {icon && <div className=\"uifw-indicator-icon\"><Icon iconSpec={icon} /></div>}\r\n </div>\r\n {dialog && <FooterPopup contentType={contentType}\r\n target={target.current}\r\n onClose={() => setIsOpen(false)}\r\n isOpen={isOpen}>\r\n {dialog}\r\n </FooterPopup>}\r\n </>\r\n );\r\n}\r\n"]}
@@ -17,12 +17,15 @@ interface MessageCenterState {
17
17
  activeTab: MessageCenterActiveTab;
18
18
  target: HTMLDivElement | null;
19
19
  messageCount: number;
20
+ openWidget: string | null;
20
21
  }
21
22
  /** Properties for withMessageCenterFieldProps HOC.
22
23
  * @public
23
24
  */
24
25
  export interface MessageCenterFieldProps extends StatusFieldProps {
25
- /** Message center dialog target. */
26
+ /** Message center dialog target.
27
+ * @deprecated Use `MessageManager.registerAnimateOutToElement` to register this ref in the related component.
28
+ */
26
29
  targetRef?: React.Ref<HTMLElement>;
27
30
  }
28
31
  /** Message Center Field React component.
@@ -34,7 +37,6 @@ export declare class MessageCenterField extends React.Component<MessageCenterFie
34
37
  private _title;
35
38
  private _unloadMessagesUpdatedHandler?;
36
39
  private _removeOpenMessagesCenterHandler?;
37
- readonly state: Readonly<MessageCenterState>;
38
40
  constructor(p: MessageCenterFieldProps);
39
41
  /** @internal */
40
42
  componentDidMount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCenter.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,aAAK,sBAAsB;IACzB,WAAW,IAAA;IACX,QAAQ,IAAA;CACT;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,SAAS,EAAE,sBAAsB,CAAC;IAClC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,oCAAoC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;IAClG,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,MAAM,CAAmD;IACjE,OAAO,CAAC,6BAA6B,CAAC,CAAa;IACnD,OAAO,CAAC,gCAAgC,CAAC,CAAa;IAEtD,SAAyB,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAI1D;gBAEU,CAAC,EAAE,uBAAuB;IAOtC,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAapC,OAAO,CAAC,2BAA2B,CAIjC;IAEF,OAAO,CAAC,6BAA6B,CAEnC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IAuDzC,OAAO,CAAC,gBAAgB,CAMtB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,mBAAmB,CAOzB;IAEF,OAAO,CAAC,4BAA4B,CAMlC;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;CAKtB"}
1
+ {"version":3,"file":"MessageCenter.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,aAAK,sBAAsB;IACzB,WAAW,IAAA;IACX,QAAQ,IAAA;CACT;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,SAAS,EAAE,sBAAsB,CAAC;IAClC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D;;MAEE;IACF,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;IAClG,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,MAAM,CAAmD;IACjE,OAAO,CAAC,6BAA6B,CAAC,CAAa;IACnD,OAAO,CAAC,gCAAgC,CAAC,CAAa;gBAE1C,CAAC,EAAE,uBAAuB;IAetC,gBAAgB;IACA,iBAAiB;IAMjC,gBAAgB;IACA,oBAAoB;IAapC,OAAO,CAAC,2BAA2B,CAIjC;IAEF,OAAO,CAAC,6BAA6B,CAEnC;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA0DzC,OAAO,CAAC,gBAAgB,CAQtB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,mBAAmB,CAOzB;IAEF,OAAO,CAAC,4BAA4B,CAOlC;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;CAKtB"}
@@ -27,14 +27,10 @@ var MessageCenterActiveTab;
27
27
  */
28
28
  class MessageCenterField extends React.Component {
29
29
  constructor(p) {
30
+ var _a;
30
31
  super(p);
31
32
  this._indicator = React.createRef();
32
33
  this._title = UiFramework_1.UiFramework.translate("messageCenter.messages");
33
- this.state = {
34
- activeTab: MessageCenterActiveTab.AllMessages,
35
- target: null,
36
- messageCount: MessageManager_1.MessageManager.messages.length,
37
- };
38
34
  this._handleMessagesUpdatedEvent = () => {
39
35
  // istanbul ignore else
40
36
  if (this._unloadMessagesUpdatedHandler)
@@ -44,10 +40,12 @@ class MessageCenterField extends React.Component {
44
40
  this.setOpenWidget(this._className);
45
41
  };
46
42
  this._handleTargetRef = (target) => {
47
- if (typeof this.props.targetRef === "function")
48
- this.props.targetRef(target);
49
- else if (this.props.targetRef)
50
- this.props.targetRef.current = target;
43
+ // eslint-disable-next-line deprecation/deprecation
44
+ const ref = this.props.targetRef;
45
+ if (typeof ref === "function")
46
+ ref(target);
47
+ else if (ref)
48
+ ref.current = target;
51
49
  this.setState({ target });
52
50
  };
53
51
  this._handleClose = () => {
@@ -61,7 +59,9 @@ class MessageCenterField extends React.Component {
61
59
  this._handleClose();
62
60
  };
63
61
  this._handleMessageIndicatorClick = () => {
64
- const isOpen = this.props.openWidget === this._className;
62
+ var _a;
63
+ // eslint-disable-next-line deprecation/deprecation
64
+ const isOpen = ((_a = this.props.openWidget) !== null && _a !== void 0 ? _a : this.state.openWidget) === this._className;
65
65
  if (isOpen)
66
66
  this.setOpenWidget(null);
67
67
  else
@@ -72,11 +72,19 @@ class MessageCenterField extends React.Component {
72
72
  };
73
73
  const instance = this.constructor;
74
74
  this._className = instance.name;
75
+ this.state = {
76
+ activeTab: MessageCenterActiveTab.AllMessages,
77
+ target: null,
78
+ messageCount: MessageManager_1.MessageManager.messages.length,
79
+ // eslint-disable-next-line deprecation/deprecation
80
+ openWidget: (_a = p.openWidget) !== null && _a !== void 0 ? _a : null,
81
+ };
75
82
  }
76
83
  /** @internal */
77
84
  componentDidMount() {
78
85
  this._unloadMessagesUpdatedHandler = MessageManager_1.MessageManager.onMessagesUpdatedEvent.addListener(this._handleMessagesUpdatedEvent, this);
79
86
  this._removeOpenMessagesCenterHandler = MessageManager_1.MessageManager.onOpenMessageCenterEvent.addListener(this._handleOpenMessageCenterEvent, this);
87
+ MessageManager_1.MessageManager.registerAnimateOutToElement(this._indicator.current);
80
88
  }
81
89
  /** @internal */
82
90
  componentWillUnmount() {
@@ -92,12 +100,21 @@ class MessageCenterField extends React.Component {
92
100
  }
93
101
  }
94
102
  render() {
103
+ var _a, _b, _c;
95
104
  const tooltip = `${this.state.messageCount} ${this._title}`;
96
105
  const divStyle = { ...this.props.style, height: "100%" };
97
106
  const footerMessages = (React.createElement(React.Fragment, null,
98
107
  React.createElement("div", { className: this.props.className, style: divStyle, title: tooltip, ref: this._handleTargetRef },
99
- React.createElement(appui_layout_react_1.MessageCenter, { indicatorRef: this._indicator, isInFooterMode: this.props.isInFooterMode, label: this.props.isInFooterMode ? this._title : undefined, onClick: this._handleMessageIndicatorClick }, this.state.messageCount.toString())),
100
- React.createElement(appui_layout_react_1.FooterPopup, { isOpen: this.props.openWidget === this._className, onClose: this._handleClose, onOutsideClick: this._handleOutsideClick, target: this.state.target },
108
+ React.createElement(appui_layout_react_1.MessageCenter, { indicatorRef: this._indicator,
109
+ // eslint-disable-next-line deprecation/deprecation
110
+ isInFooterMode: (_a = this.props.isInFooterMode) !== null && _a !== void 0 ? _a : true,
111
+ // eslint-disable-next-line deprecation/deprecation
112
+ label: ((_b = this.props.isInFooterMode) !== null && _b !== void 0 ? _b : true) ? this._title : undefined, onClick: this._handleMessageIndicatorClick }, this.state.messageCount.toString())),
113
+ React.createElement(appui_layout_react_1.FooterPopup
114
+ // eslint-disable-next-line deprecation/deprecation
115
+ , {
116
+ // eslint-disable-next-line deprecation/deprecation
117
+ isOpen: ((_c = this.props.openWidget) !== null && _c !== void 0 ? _c : this.state.openWidget) === this._className, onClose: this._handleClose, onOutsideClick: this._handleOutsideClick, target: this.state.target },
101
118
  React.createElement(appui_layout_react_1.MessageCenterDialog, { prompt: UiFramework_1.UiFramework.translate("messageCenter.prompt"), tabs: React.createElement(React.Fragment, null,
102
119
  React.createElement(appui_layout_react_1.MessageCenterTab, { isActive: this.state.activeTab === MessageCenterActiveTab.AllMessages, onClick: () => this._changeActiveTab(MessageCenterActiveTab.AllMessages) }, UiFramework_1.UiFramework.translate("messageCenter.all")),
103
120
  React.createElement(appui_layout_react_1.MessageCenterTab, { isActive: this.state.activeTab === MessageCenterActiveTab.Problems, onClick: () => this._changeActiveTab(MessageCenterActiveTab.Problems) }, UiFramework_1.UiFramework.translate("messageCenter.errors"))), title: this._title }, this.getMessages()))));
@@ -128,9 +145,10 @@ class MessageCenterField extends React.Component {
128
145
  return false;
129
146
  }
130
147
  setOpenWidget(openWidget) {
131
- // istanbul ignore else
132
- if (this.props.onOpenWidget)
133
- this.props.onOpenWidget(openWidget);
148
+ var _a, _b;
149
+ // eslint-disable-next-line deprecation/deprecation
150
+ (_b = (_a = this.props).onOpenWidget) === null || _b === void 0 ? void 0 : _b.call(_a, openWidget);
151
+ this.setState({ openWidget });
134
152
  }
135
153
  }
136
154
  exports.MessageCenterField = MessageCenterField;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\r\nimport { FooterPopup, MessageCenter, MessageCenterDialog, MessageCenterMessage, MessageCenterTab } from \"@itwin/appui-layout-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { MessageSpan } from \"../messages/MessageSpan\";\r\nimport { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\r\nimport { StatusBarFieldId } from \"../statusbar/StatusBarWidgetControl\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Enum for the [[MessageCenterField]] active tab\r\n * @internal\r\n */\r\nenum MessageCenterActiveTab {\r\n AllMessages,\r\n Problems,\r\n}\r\n\r\n/** State for the [[MessageCenterField]] React component\r\n * @internal\r\n */\r\ninterface MessageCenterState {\r\n activeTab: MessageCenterActiveTab;\r\n target: HTMLDivElement | null;\r\n messageCount: number;\r\n}\r\n\r\n/** Properties for withMessageCenterFieldProps HOC.\r\n * @public\r\n */\r\nexport interface MessageCenterFieldProps extends StatusFieldProps {\r\n /** Message center dialog target. */\r\n targetRef?: React.Ref<HTMLElement>;\r\n}\r\n\r\n/** Message Center Field React component.\r\n * @public\r\n */\r\nexport class MessageCenterField extends React.Component<MessageCenterFieldProps, MessageCenterState> {\r\n private _className: string;\r\n private _indicator = React.createRef<HTMLDivElement>();\r\n private _title = UiFramework.translate(\"messageCenter.messages\");\r\n private _unloadMessagesUpdatedHandler?: () => void;\r\n private _removeOpenMessagesCenterHandler?: () => void;\r\n\r\n public override readonly state: Readonly<MessageCenterState> = {\r\n activeTab: MessageCenterActiveTab.AllMessages,\r\n target: null,\r\n messageCount: MessageManager.messages.length,\r\n };\r\n\r\n constructor(p: MessageCenterFieldProps) {\r\n super(p);\r\n\r\n const instance = this.constructor;\r\n this._className = instance.name;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._unloadMessagesUpdatedHandler = MessageManager.onMessagesUpdatedEvent.addListener(this._handleMessagesUpdatedEvent, this);\r\n this._removeOpenMessagesCenterHandler = MessageManager.onOpenMessageCenterEvent.addListener(this._handleOpenMessageCenterEvent, this);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler) {\r\n this._unloadMessagesUpdatedHandler();\r\n this._unloadMessagesUpdatedHandler = undefined;\r\n }\r\n // istanbul ignore else\r\n if (this._removeOpenMessagesCenterHandler) {\r\n this._removeOpenMessagesCenterHandler();\r\n this._removeOpenMessagesCenterHandler = undefined;\r\n }\r\n }\r\n\r\n private _handleMessagesUpdatedEvent = () => {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler)\r\n this.setState({ messageCount: MessageManager.messages.length });\r\n };\r\n\r\n private _handleOpenMessageCenterEvent = () => {\r\n this.setOpenWidget(this._className);\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const tooltip = `${this.state.messageCount} ${this._title}`;\r\n const divStyle = { ...this.props.style, height: \"100%\" };\r\n const footerMessages = (\r\n <>\r\n <div\r\n className={this.props.className}\r\n style={divStyle}\r\n title={tooltip}\r\n ref={this._handleTargetRef}\r\n >\r\n <MessageCenter\r\n indicatorRef={this._indicator}\r\n isInFooterMode={this.props.isInFooterMode}\r\n label={this.props.isInFooterMode ? this._title : undefined}\r\n onClick={this._handleMessageIndicatorClick}\r\n >\r\n {this.state.messageCount.toString()}\r\n </MessageCenter>\r\n </div>\r\n <FooterPopup\r\n isOpen={this.props.openWidget === this._className}\r\n onClose={this._handleClose}\r\n onOutsideClick={this._handleOutsideClick}\r\n target={this.state.target}\r\n >\r\n <MessageCenterDialog\r\n prompt={UiFramework.translate(\"messageCenter.prompt\")}\r\n tabs={\r\n <>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.AllMessages}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.AllMessages)}\r\n >\r\n {UiFramework.translate(\"messageCenter.all\")}\r\n </MessageCenterTab>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.Problems}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.Problems)}\r\n >\r\n {UiFramework.translate(\"messageCenter.errors\")}\r\n </MessageCenterTab>\r\n </>\r\n }\r\n title={this._title}\r\n >\r\n {this.getMessages()}\r\n </MessageCenterDialog>\r\n </FooterPopup>\r\n </>\r\n );\r\n\r\n return footerMessages;\r\n }\r\n\r\n private _handleTargetRef = (target: HTMLDivElement | null) => {\r\n if (typeof this.props.targetRef === \"function\")\r\n this.props.targetRef(target);\r\n else if (this.props.targetRef)\r\n (this.props.targetRef as React.MutableRefObject<HTMLElement | null>).current = target;\r\n this.setState({ target });\r\n };\r\n\r\n private _handleClose = () => {\r\n this.setOpenWidget(null);\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n if (!this._indicator.current ||\r\n !(e.target instanceof Node) ||\r\n this._indicator.current.contains(e.target))\r\n return;\r\n\r\n this._handleClose();\r\n };\r\n\r\n private _handleMessageIndicatorClick = () => {\r\n const isOpen = this.props.openWidget === this._className;\r\n if (isOpen)\r\n this.setOpenWidget(null);\r\n else\r\n this.setOpenWidget(this._className);\r\n };\r\n\r\n private _changeActiveTab = (tab: MessageCenterActiveTab) => {\r\n this.setState({ activeTab: tab });\r\n };\r\n\r\n private getMessages(): React.ReactChild[] {\r\n const messages = MessageManager.messages.slice(0).reverse();\r\n const tabRows: React.ReactChild[] = new Array<React.ReactChild>();\r\n\r\n messages.forEach((details: NotifyMessageDetailsType, index: number) => {\r\n /* istanbul ignore else */\r\n if (this.state.activeTab === MessageCenterActiveTab.AllMessages || this.isProblemStatus(details.priority)) {\r\n\r\n const iconClassName = MessageManager.getIconClassName(details);\r\n const message = details.briefMessage;\r\n\r\n tabRows.push(\r\n <MessageCenterMessage\r\n key={index.toString()}\r\n icon={<i className={iconClassName} />}\r\n >\r\n <MessageSpan message={message} />\r\n {details.detailedMessage &&\r\n <>\r\n <br />\r\n <MessageSpan className=\"uicore-text-small\" message={details.detailedMessage} />\r\n </>\r\n }\r\n </MessageCenterMessage>,\r\n );\r\n }\r\n });\r\n\r\n return tabRows;\r\n }\r\n\r\n private isProblemStatus(priority: OutputMessagePriority): boolean {\r\n // See priority values in DgnPlatform defined in NotificationManager\r\n\r\n if (priority === OutputMessagePriority.Error || priority === OutputMessagePriority.Fatal)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n private setOpenWidget(openWidget: StatusBarFieldId) {\r\n // istanbul ignore else\r\n if (this.props.onOpenWidget)\r\n this.props.onOpenWidget(openWidget);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MessageCenter.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/MessageCenter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Notification\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OutputMessagePriority } from \"@itwin/core-frontend\";\r\nimport { FooterPopup, MessageCenter, MessageCenterDialog, MessageCenterMessage, MessageCenterTab } from \"@itwin/appui-layout-react\";\r\nimport { MessageManager } from \"../messages/MessageManager\";\r\nimport { MessageSpan } from \"../messages/MessageSpan\";\r\nimport { NotifyMessageDetailsType } from \"../messages/ReactNotifyMessageDetails\";\r\nimport { StatusBarFieldId } from \"../statusbar/StatusBarWidgetControl\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Enum for the [[MessageCenterField]] active tab\r\n * @internal\r\n */\r\nenum MessageCenterActiveTab {\r\n AllMessages,\r\n Problems,\r\n}\r\n\r\n/** State for the [[MessageCenterField]] React component\r\n * @internal\r\n */\r\ninterface MessageCenterState {\r\n activeTab: MessageCenterActiveTab;\r\n target: HTMLDivElement | null;\r\n messageCount: number;\r\n openWidget: string | null;\r\n}\r\n\r\n/** Properties for withMessageCenterFieldProps HOC.\r\n * @public\r\n */\r\nexport interface MessageCenterFieldProps extends StatusFieldProps {\r\n /** Message center dialog target.\r\n * @deprecated Use `MessageManager.registerAnimateOutToElement` to register this ref in the related component.\r\n */\r\n targetRef?: React.Ref<HTMLElement>;\r\n}\r\n\r\n/** Message Center Field React component.\r\n * @public\r\n */\r\nexport class MessageCenterField extends React.Component<MessageCenterFieldProps, MessageCenterState> {\r\n private _className: string;\r\n private _indicator = React.createRef<HTMLDivElement>();\r\n private _title = UiFramework.translate(\"messageCenter.messages\");\r\n private _unloadMessagesUpdatedHandler?: () => void;\r\n private _removeOpenMessagesCenterHandler?: () => void;\r\n\r\n constructor(p: MessageCenterFieldProps) {\r\n super(p);\r\n\r\n const instance = this.constructor;\r\n this._className = instance.name;\r\n\r\n this.state = {\r\n activeTab: MessageCenterActiveTab.AllMessages,\r\n target: null,\r\n messageCount: MessageManager.messages.length,\r\n // eslint-disable-next-line deprecation/deprecation\r\n openWidget: p.openWidget ?? null,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._unloadMessagesUpdatedHandler = MessageManager.onMessagesUpdatedEvent.addListener(this._handleMessagesUpdatedEvent, this);\r\n this._removeOpenMessagesCenterHandler = MessageManager.onOpenMessageCenterEvent.addListener(this._handleOpenMessageCenterEvent, this);\r\n MessageManager.registerAnimateOutToElement(this._indicator.current);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler) {\r\n this._unloadMessagesUpdatedHandler();\r\n this._unloadMessagesUpdatedHandler = undefined;\r\n }\r\n // istanbul ignore else\r\n if (this._removeOpenMessagesCenterHandler) {\r\n this._removeOpenMessagesCenterHandler();\r\n this._removeOpenMessagesCenterHandler = undefined;\r\n }\r\n }\r\n\r\n private _handleMessagesUpdatedEvent = () => {\r\n // istanbul ignore else\r\n if (this._unloadMessagesUpdatedHandler)\r\n this.setState({ messageCount: MessageManager.messages.length });\r\n };\r\n\r\n private _handleOpenMessageCenterEvent = () => {\r\n this.setOpenWidget(this._className);\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n const tooltip = `${this.state.messageCount} ${this._title}`;\r\n const divStyle = { ...this.props.style, height: \"100%\" };\r\n const footerMessages = (\r\n <>\r\n <div\r\n className={this.props.className}\r\n style={divStyle}\r\n title={tooltip}\r\n ref={this._handleTargetRef}\r\n >\r\n <MessageCenter\r\n indicatorRef={this._indicator}\r\n // eslint-disable-next-line deprecation/deprecation\r\n isInFooterMode={this.props.isInFooterMode ?? true}\r\n // eslint-disable-next-line deprecation/deprecation\r\n label={(this.props.isInFooterMode ?? true) ? this._title : undefined}\r\n onClick={this._handleMessageIndicatorClick}\r\n >\r\n {this.state.messageCount.toString()}\r\n </MessageCenter>\r\n </div>\r\n <FooterPopup\r\n // eslint-disable-next-line deprecation/deprecation\r\n isOpen={(this.props.openWidget ?? this.state.openWidget) === this._className}\r\n onClose={this._handleClose}\r\n onOutsideClick={this._handleOutsideClick}\r\n target={this.state.target}\r\n >\r\n <MessageCenterDialog\r\n prompt={UiFramework.translate(\"messageCenter.prompt\")}\r\n tabs={\r\n <>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.AllMessages}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.AllMessages)}\r\n >\r\n {UiFramework.translate(\"messageCenter.all\")}\r\n </MessageCenterTab>\r\n <MessageCenterTab\r\n isActive={this.state.activeTab === MessageCenterActiveTab.Problems}\r\n onClick={() => this._changeActiveTab(MessageCenterActiveTab.Problems)}\r\n >\r\n {UiFramework.translate(\"messageCenter.errors\")}\r\n </MessageCenterTab>\r\n </>\r\n }\r\n title={this._title}\r\n >\r\n {this.getMessages()}\r\n </MessageCenterDialog>\r\n </FooterPopup>\r\n </>\r\n );\r\n\r\n return footerMessages;\r\n }\r\n\r\n private _handleTargetRef = (target: HTMLDivElement | null) => {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const ref = this.props.targetRef;\r\n if (typeof ref === \"function\")\r\n ref(target);\r\n else if (ref)\r\n (ref as React.MutableRefObject<HTMLElement | null>).current = target;\r\n this.setState({ target });\r\n };\r\n\r\n private _handleClose = () => {\r\n this.setOpenWidget(null);\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n if (!this._indicator.current ||\r\n !(e.target instanceof Node) ||\r\n this._indicator.current.contains(e.target))\r\n return;\r\n\r\n this._handleClose();\r\n };\r\n\r\n private _handleMessageIndicatorClick = () => {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const isOpen = (this.props.openWidget ?? this.state.openWidget) === this._className;\r\n if (isOpen)\r\n this.setOpenWidget(null);\r\n else\r\n this.setOpenWidget(this._className);\r\n };\r\n\r\n private _changeActiveTab = (tab: MessageCenterActiveTab) => {\r\n this.setState({ activeTab: tab });\r\n };\r\n\r\n private getMessages(): React.ReactChild[] {\r\n const messages = MessageManager.messages.slice(0).reverse();\r\n const tabRows: React.ReactChild[] = new Array<React.ReactChild>();\r\n\r\n messages.forEach((details: NotifyMessageDetailsType, index: number) => {\r\n /* istanbul ignore else */\r\n if (this.state.activeTab === MessageCenterActiveTab.AllMessages || this.isProblemStatus(details.priority)) {\r\n\r\n const iconClassName = MessageManager.getIconClassName(details);\r\n const message = details.briefMessage;\r\n\r\n tabRows.push(\r\n <MessageCenterMessage\r\n key={index.toString()}\r\n icon={<i className={iconClassName} />}\r\n >\r\n <MessageSpan message={message} />\r\n {details.detailedMessage &&\r\n <>\r\n <br />\r\n <MessageSpan className=\"uicore-text-small\" message={details.detailedMessage} />\r\n </>\r\n }\r\n </MessageCenterMessage>,\r\n );\r\n }\r\n });\r\n\r\n return tabRows;\r\n }\r\n\r\n private isProblemStatus(priority: OutputMessagePriority): boolean {\r\n // See priority values in DgnPlatform defined in NotificationManager\r\n\r\n if (priority === OutputMessagePriority.Error || priority === OutputMessagePriority.Fatal)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n private setOpenWidget(openWidget: StatusBarFieldId) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n this.props.onOpenWidget?.(openWidget);\r\n this.setState({openWidget});\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PromptField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/PromptField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;GACG;AACH,UAAU,gBAAiB,SAAQ,gBAAgB;IACjD,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,cAAM,oBAAqB,SAAQ,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAEtD,KAAK,EAAE,gBAAgB;IAInB,MAAM,IAAI,KAAK,CAAC,SAAS;CAW1C;AAaD;;;;;;;GAOG,CACH,eAAO,MAAM,WAAW,iLAAiD,CAAC"}
1
+ {"version":3,"file":"PromptField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/PromptField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;GACG;AACH,UAAU,gBAAiB,SAAQ,gBAAgB;IACjD,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,cAAM,oBAAqB,SAAQ,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAEtD,KAAK,EAAE,gBAAgB;IAInB,MAAM,IAAI,KAAK,CAAC,SAAS;CAY1C;AAaD;;;;;;;GAOG,CACH,eAAO,MAAM,WAAW,iLAAiD,CAAC"}
@@ -24,7 +24,10 @@ class PromptFieldComponent extends React.Component {
24
24
  super(props);
25
25
  }
26
26
  render() {
27
- return (React.createElement(appui_layout_react_1.FooterIndicator, { className: (0, classnames_1.default)("uifw-statusFields-promptField", this.props.className), style: this.props.style, isInFooterMode: this.props.isInFooterMode }, this.props.toolPrompt));
27
+ var _a;
28
+ return (React.createElement(appui_layout_react_1.FooterIndicator, { className: (0, classnames_1.default)("uifw-statusFields-promptField", this.props.className), style: this.props.style,
29
+ // eslint-disable-next-line deprecation/deprecation
30
+ isInFooterMode: (_a = this.props.isInFooterMode) !== null && _a !== void 0 ? _a : true }, this.props.toolPrompt));
28
31
  }
29
32
  }
30
33
  /** Function used by Redux to map state data in Redux store to props that are used to render this component. */
@@ -1 +1 @@
1
- {"version":3,"file":"PromptField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/PromptField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,6CAAsC;AACtC,kEAA4D;AAC5D,gDAA6C;AAU7C;;;;GAIG;AACH,MAAM,oBAAqB,SAAQ,KAAK,CAAC,SAA2B;IAElE,YAAY,KAAuB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,oCAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,+BAA+B,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC5E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,IAExC,IAAI,CAAC,KAAK,CAAC,UAAU,CACN,CACnB,CAAC;IACJ,CAAC;CACF;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;AACvE,CAAC;AAED,4EAA4E;AAC5E;;;;;;;GAOG,CAAC,gEAAgE;AACvD,QAAA,WAAW,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./PromptField.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Defines properties supported by the Prompt Field Component.\r\n */\r\ninterface PromptFieldProps extends StatusFieldProps {\r\n /** Prompt text for the active tool */\r\n toolPrompt: string;\r\n}\r\n\r\n/**\r\n * Prompt Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display prompts from tools. To send a prompt to this component use IModelApp.notifications.outputPromptByKey or\r\n * IModelApp.notifications.outputPrompt.\r\n */\r\nclass PromptFieldComponent extends React.Component<PromptFieldProps> {\r\n\r\n constructor(props: PromptFieldProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-promptField\", this.props.className)}\r\n style={this.props.style}\r\n isInFooterMode={this.props.isInFooterMode}\r\n >\r\n {this.props.toolPrompt}\r\n </FooterIndicator>\r\n );\r\n }\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { toolPrompt: frameworkState.configurableUiState.toolPrompt };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * Prompt Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display prompts from tools. To send a prompt to this component use IModelApp.notifications.outputPromptByKey or\r\n * IModelApp.notifications.outputPrompt.\r\n * This React component is Redux connected.\r\n * @public\r\n * @deprecated Use ToolAssistanceField instead\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const PromptField = connect(mapStateToProps)(PromptFieldComponent);\r\n"]}
1
+ {"version":3,"file":"PromptField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/PromptField.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,6CAAsC;AACtC,kEAA4D;AAC5D,gDAA6C;AAU7C;;;;GAIG;AACH,MAAM,oBAAqB,SAAQ,KAAK,CAAC,SAA2B;IAElE,YAAY,KAAuB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;;QACpB,OAAO,CACL,oBAAC,oCAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,+BAA+B,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC5E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,mDAAmD;YACnD,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,IAEhD,IAAI,CAAC,KAAK,CAAC,UAAU,CACN,CACnB,CAAC;IACJ,CAAC;CACF;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;AACvE,CAAC;AAED,4EAA4E;AAC5E;;;;;;;GAOG,CAAC,gEAAgE;AACvD,QAAA,WAAW,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./PromptField.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Defines properties supported by the Prompt Field Component.\r\n */\r\ninterface PromptFieldProps extends StatusFieldProps {\r\n /** Prompt text for the active tool */\r\n toolPrompt: string;\r\n}\r\n\r\n/**\r\n * Prompt Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display prompts from tools. To send a prompt to this component use IModelApp.notifications.outputPromptByKey or\r\n * IModelApp.notifications.outputPrompt.\r\n */\r\nclass PromptFieldComponent extends React.Component<PromptFieldProps> {\r\n\r\n constructor(props: PromptFieldProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-promptField\", this.props.className)}\r\n style={this.props.style}\r\n // eslint-disable-next-line deprecation/deprecation\r\n isInFooterMode={this.props.isInFooterMode ?? true}\r\n >\r\n {this.props.toolPrompt}\r\n </FooterIndicator>\r\n );\r\n }\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { toolPrompt: frameworkState.configurableUiState.toolPrompt };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * Prompt Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display prompts from tools. To send a prompt to this component use IModelApp.notifications.outputPromptByKey or\r\n * IModelApp.notifications.outputPrompt.\r\n * This React component is Redux connected.\r\n * @public\r\n * @deprecated Use ToolAssistanceField instead\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const PromptField = connect(mapStateToProps)(PromptFieldComponent);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionsField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,sBAAsB,CAAC;AAS9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,eAgFlE"}
1
+ {"version":3,"file":"SectionsField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,sBAAsB,CAAC;AAS9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,eAiFlE"}
@@ -21,6 +21,7 @@ const Indicator_1 = require("./Indicator");
21
21
  * @beta
22
22
  */
23
23
  function SectionsStatusField(props) {
24
+ var _a;
24
25
  const [toolTip] = React.useState(UiFramework_1.UiFramework.translate("tools.sectionTools"));
25
26
  const [clearLabel] = React.useState(UiFramework_1.UiFramework.translate("tools.sectionClear"));
26
27
  const [showHandlesLabel] = React.useState(UiFramework_1.UiFramework.translate("tools.sectionShowHandles"));
@@ -63,7 +64,9 @@ function SectionsStatusField(props) {
63
64
  return (React.createElement("div", { className: "uifw-section-footer-popup-container" }, showIndicator &&
64
65
  React.createElement(React.Fragment, null,
65
66
  React.createElement("div", { ref: targetDiv, title: toolTip },
66
- React.createElement(Indicator_1.Indicator, { className: classes, iconName: "icon-section-tool", onClick: () => setPopupOpen(!isPopupOpen), opened: isPopupOpen, isInFooterMode: props.isInFooterMode })),
67
+ React.createElement(Indicator_1.Indicator, { className: classes, iconName: "icon-section-tool", onClick: () => setPopupOpen(!isPopupOpen), opened: isPopupOpen,
68
+ // eslint-disable-next-line deprecation/deprecation
69
+ isInFooterMode: (_a = props.isInFooterMode) !== null && _a !== void 0 ? _a : true })),
67
70
  React.createElement(appui_layout_react_1.FooterPopup, { target: targetDiv.current, onClose: () => setPopupOpen(false), isOpen: isPopupOpen },
68
71
  React.createElement(appui_layout_react_1.Dialog, { titleBar: React.createElement(appui_layout_react_1.TitleBar, { title: toolTip }) },
69
72
  React.createElement("div", { className: "uifw-sections-footer-contents" },
@@ -1 +1 @@
1
- {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SectionsField.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ClipEventType, IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider, Viewport } from \"@itwin/core-frontend\";\r\nimport { Dialog, FooterPopup, TitleBar } from \"@itwin/appui-layout-react\";\r\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\r\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { Indicator } from \"./Indicator\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Sections Status Field Props\r\n * @beta\r\n */\r\nexport interface SectionsStatusFieldProps extends StatusFieldProps {\r\n hideWhenUnused?: boolean;\r\n}\r\n\r\n/** Status Field for showing section extra tools for clearing and showing manipulators\r\n * @beta\r\n */\r\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\r\n const [toolTip] = React.useState(UiFramework.translate(\"tools.sectionTools\"));\r\n const [clearLabel] = React.useState(UiFramework.translate(\"tools.sectionClear\"));\r\n const [showHandlesLabel] = React.useState(UiFramework.translate(\"tools.sectionShowHandles\"));\r\n const activeViewport = useActiveViewport();\r\n const [showIndicator, setShowIndicator] = React.useState(false);\r\n const [isPopupOpen, setPopupOpen] = React.useState(false);\r\n const targetDiv = React.useRef<HTMLDivElement>(null);\r\n const classes = (showIndicator) ? \"uifw-indicator-fade-in\" : \"uifw-indicator-fade-out\";\r\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const onClipChanged = (viewport: Viewport, _eventType: ClipEventType, _provider: ViewClipDecorationProvider) => {\r\n if (viewport !== activeViewport)\r\n return;\r\n\r\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\r\n const isClipActive = !!activeViewport.view.getViewClip();\r\n setShowIndicator(isClipActive || !props.hideWhenUnused);\r\n };\r\n\r\n const clipActive = !!activeViewport && /* istanbul ignore next */ !!activeViewport.view.getViewClip();\r\n setShowIndicator(clipActive || !props.hideWhenUnused);\r\n setHasManipulatorsShown(clipActive && /* istanbul ignore next */ !!activeViewport && /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport));\r\n\r\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(onClipChanged);\r\n return () => {\r\n // Get or create static ViewClipDecorationProvider\r\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(onClipChanged);\r\n };\r\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\r\n\r\n // istanbul ignore next\r\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\r\n if (activeViewport) {\r\n setHasManipulatorsShown(e.target.checked);\r\n await ViewClipDecorationProvider.create().toggleDecoration(activeViewport);\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n const handleClear = async () => {\r\n await IModelApp.tools.run(ViewClipClearTool.toolId, ViewClipDecorationProvider.create());\r\n setPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"uifw-section-footer-popup-container\">\r\n {showIndicator &&\r\n <>\r\n <div ref={targetDiv} title={toolTip}>\r\n <Indicator className={classes}\r\n iconName=\"icon-section-tool\"\r\n onClick={() => setPopupOpen(!isPopupOpen)}\r\n opened={isPopupOpen}\r\n isInFooterMode={props.isInFooterMode}\r\n />\r\n </div>\r\n <FooterPopup\r\n target={targetDiv.current}\r\n onClose={() => setPopupOpen(false)}\r\n isOpen={isPopupOpen}>\r\n <Dialog\r\n titleBar={\r\n <TitleBar title={toolTip} />\r\n }>\r\n <div className=\"uifw-sections-footer-contents\">\r\n <Button onClick={handleClear}>{clearLabel}</Button>\r\n <div className=\"uifw-uifw-sections-toggle-container\">\r\n <div className={classnames(\"uifw-sections-label\")}>{showHandlesLabel}</div>\r\n <ToggleSwitch className=\"uifw-sections-toggle\" onChange={toggleManipulators} checked={hasManipulatorsShown} />\r\n </div>\r\n </div>\r\n </Dialog>\r\n </FooterPopup>\r\n </>\r\n }\r\n </div>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"SectionsField.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SectionsField.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SectionsField.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ClipEventType, IModelApp, ViewClipClearTool, ViewClipDecoration, ViewClipDecorationProvider, Viewport } from \"@itwin/core-frontend\";\r\nimport { Dialog, FooterPopup, TitleBar } from \"@itwin/appui-layout-react\";\r\nimport { Button, ToggleSwitch } from \"@itwin/itwinui-react\";\r\nimport { useActiveViewport } from \"../hooks/useActiveViewport\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { Indicator } from \"./Indicator\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Sections Status Field Props\r\n * @beta\r\n */\r\nexport interface SectionsStatusFieldProps extends StatusFieldProps {\r\n hideWhenUnused?: boolean;\r\n}\r\n\r\n/** Status Field for showing section extra tools for clearing and showing manipulators\r\n * @beta\r\n */\r\nexport function SectionsStatusField(props: SectionsStatusFieldProps) {\r\n const [toolTip] = React.useState(UiFramework.translate(\"tools.sectionTools\"));\r\n const [clearLabel] = React.useState(UiFramework.translate(\"tools.sectionClear\"));\r\n const [showHandlesLabel] = React.useState(UiFramework.translate(\"tools.sectionShowHandles\"));\r\n const activeViewport = useActiveViewport();\r\n const [showIndicator, setShowIndicator] = React.useState(false);\r\n const [isPopupOpen, setPopupOpen] = React.useState(false);\r\n const targetDiv = React.useRef<HTMLDivElement>(null);\r\n const classes = (showIndicator) ? \"uifw-indicator-fade-in\" : \"uifw-indicator-fade-out\";\r\n const [hasManipulatorsShown, setHasManipulatorsShown] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const onClipChanged = (viewport: Viewport, _eventType: ClipEventType, _provider: ViewClipDecorationProvider) => {\r\n if (viewport !== activeViewport)\r\n return;\r\n\r\n setHasManipulatorsShown(!!ViewClipDecoration.get(activeViewport));\r\n const isClipActive = !!activeViewport.view.getViewClip();\r\n setShowIndicator(isClipActive || !props.hideWhenUnused);\r\n };\r\n\r\n const clipActive = !!activeViewport && /* istanbul ignore next */ !!activeViewport.view.getViewClip();\r\n setShowIndicator(clipActive || !props.hideWhenUnused);\r\n setHasManipulatorsShown(clipActive && /* istanbul ignore next */ !!activeViewport && /* istanbul ignore next */ !!ViewClipDecoration.get(activeViewport));\r\n\r\n ViewClipDecorationProvider.create().onActiveClipChanged.addListener(onClipChanged);\r\n return () => {\r\n // Get or create static ViewClipDecorationProvider\r\n ViewClipDecorationProvider.create().onActiveClipChanged.removeListener(onClipChanged);\r\n };\r\n }, [activeViewport, props.hideWhenUnused, isPopupOpen]);\r\n\r\n // istanbul ignore next\r\n const toggleManipulators = async (e: React.ChangeEvent<HTMLInputElement>) => {\r\n if (activeViewport) {\r\n setHasManipulatorsShown(e.target.checked);\r\n await ViewClipDecorationProvider.create().toggleDecoration(activeViewport);\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n const handleClear = async () => {\r\n await IModelApp.tools.run(ViewClipClearTool.toolId, ViewClipDecorationProvider.create());\r\n setPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"uifw-section-footer-popup-container\">\r\n {showIndicator &&\r\n <>\r\n <div ref={targetDiv} title={toolTip}>\r\n <Indicator className={classes}\r\n iconName=\"icon-section-tool\"\r\n onClick={() => setPopupOpen(!isPopupOpen)}\r\n opened={isPopupOpen}\r\n // eslint-disable-next-line deprecation/deprecation\r\n isInFooterMode={props.isInFooterMode ?? true}\r\n />\r\n </div>\r\n <FooterPopup\r\n target={targetDiv.current}\r\n onClose={() => setPopupOpen(false)}\r\n isOpen={isPopupOpen}>\r\n <Dialog\r\n titleBar={\r\n <TitleBar title={toolTip} />\r\n }>\r\n <div className=\"uifw-sections-footer-contents\">\r\n <Button onClick={handleClear}>{clearLabel}</Button>\r\n <div className=\"uifw-uifw-sections-toggle-container\">\r\n <div className={classnames(\"uifw-sections-label\")}>{showHandlesLabel}</div>\r\n <ToggleSwitch className=\"uifw-sections-toggle\" onChange={toggleManipulators} checked={hasManipulatorsShown} />\r\n </div>\r\n </div>\r\n </Dialog>\r\n </FooterPopup>\r\n </>\r\n }\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionInfo.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;GACG;AACH,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,cAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBAEpE,KAAK,EAAE,uBAAuB;IAI1B,MAAM,IAAI,KAAK,CAAC,SAAS;CAY1C;AAaD;;;;;GAKG,CACH,eAAO,MAAM,kBAAkB,0MAAwD,CAAC"}
1
+ {"version":3,"file":"SelectionInfo.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;GACG;AACH,UAAU,uBAAwB,SAAQ,gBAAgB;IACxD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,cAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBAEpE,KAAK,EAAE,uBAAuB;IAI1B,MAAM,IAAI,KAAK,CAAC,SAAS;CAa1C;AAaD;;;;;GAKG,CACH,eAAO,MAAM,kBAAkB,0MAAwD,CAAC"}
@@ -24,7 +24,10 @@ class SelectionInfoFieldComponent extends React.Component {
24
24
  super(props);
25
25
  }
26
26
  render() {
27
- return (React.createElement(appui_layout_react_1.FooterIndicator, { className: (0, classnames_1.default)("uifw-statusFields-selectionInfo", this.props.className), style: this.props.style, isInFooterMode: this.props.isInFooterMode },
27
+ var _a;
28
+ return (React.createElement(appui_layout_react_1.FooterIndicator, { className: (0, classnames_1.default)("uifw-statusFields-selectionInfo", this.props.className), style: this.props.style,
29
+ // eslint-disable-next-line deprecation/deprecation
30
+ isInFooterMode: (_a = this.props.isInFooterMode) !== null && _a !== void 0 ? _a : true },
28
31
  React.createElement(core_react_1.Icon, { iconSpec: "icon-cursor" }),
29
32
  this.props.selectionCount.toString()));
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gCAA8B;AAC9B,2CAAoC;AACpC,+BAA+B;AAC/B,6CAAsC;AACtC,kDAAyC;AACzC,kEAA4D;AAC5D,gDAA6C;AAS7C;;;GAGG;AACH,MAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAkC;IAEhF,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,oCAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,iCAAiC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YAExC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,aAAa,GAAI;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CACrB,CACnB,CAAC;IACJ,CAAC;CACF;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACvD,QAAA,kBAAkB,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,2BAA2B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SelectionInfo.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Defines properties supported by the SelectionInfo Field Component.\r\n */\r\ninterface SelectionInfoFieldProps extends StatusFieldProps {\r\n selectionCount: number;\r\n}\r\n\r\n/**\r\n * Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\r\n */\r\nclass SelectionInfoFieldComponent extends React.Component<SelectionInfoFieldProps> {\r\n\r\n constructor(props: SelectionInfoFieldProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-selectionInfo\", this.props.className)}\r\n style={this.props.style}\r\n isInFooterMode={this.props.isInFooterMode}\r\n >\r\n {<Icon iconSpec={\"icon-cursor\"} />}\r\n {this.props.selectionCount.toString()}\r\n </FooterIndicator>\r\n );\r\n }\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { selectionCount: frameworkState.sessionState.numItemsSelected };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * SelectionInfo Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\r\n * This React component is Redux connected.\r\n * @public\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SelectionInfoField = connect(mapStateToProps)(SelectionInfoFieldComponent);\r\n"]}
1
+ {"version":3,"file":"SelectionInfo.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionInfo.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gCAA8B;AAC9B,2CAAoC;AACpC,+BAA+B;AAC/B,6CAAsC;AACtC,kDAAyC;AACzC,kEAA4D;AAC5D,gDAA6C;AAS7C;;;GAGG;AACH,MAAM,2BAA4B,SAAQ,KAAK,CAAC,SAAkC;IAEhF,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;;QACpB,OAAO,CACL,oBAAC,oCAAe,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,iCAAiC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAC9E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,mDAAmD;YACnD,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI;YAEhD,oBAAC,iBAAI,IAAC,QAAQ,EAAE,aAAa,GAAI;YACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CACrB,CACnB,CAAC;IACJ,CAAC;CACF;AAED,+GAA+G;AAC/G,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAE,8CAA8C;IAC5G,0BAA0B;IAC1B,IAAI,CAAC,cAAc;QACjB,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAC5E;;;;;GAKG,CAAC,gEAAgE;AACvD,QAAA,kBAAkB,GAAG,IAAA,qBAAO,EAAC,eAAe,CAAC,CAAC,2BAA2B,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./SelectionInfo.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { FooterIndicator } from \"@itwin/appui-layout-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { StatusFieldProps } from \"./StatusFieldProps\";\r\n\r\n/** Defines properties supported by the SelectionInfo Field Component.\r\n */\r\ninterface SelectionInfoFieldProps extends StatusFieldProps {\r\n selectionCount: number;\r\n}\r\n\r\n/**\r\n * Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\r\n */\r\nclass SelectionInfoFieldComponent extends React.Component<SelectionInfoFieldProps> {\r\n\r\n constructor(props: SelectionInfoFieldProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <FooterIndicator\r\n className={classnames(\"uifw-statusFields-selectionInfo\", this.props.className)}\r\n style={this.props.style}\r\n // eslint-disable-next-line deprecation/deprecation\r\n isInFooterMode={this.props.isInFooterMode ?? true}\r\n >\r\n {<Icon iconSpec={\"icon-cursor\"} />}\r\n {this.props.selectionCount.toString()}\r\n </FooterIndicator>\r\n );\r\n }\r\n}\r\n\r\n/** Function used by Redux to map state data in Redux store to props that are used to render this component. */\r\nfunction mapStateToProps(state: any) {\r\n const frameworkState = state[UiFramework.frameworkStateKey]; // since app sets up key, don't hard-code name\r\n /* istanbul ignore next */\r\n if (!frameworkState)\r\n return undefined;\r\n\r\n return { selectionCount: frameworkState.sessionState.numItemsSelected };\r\n}\r\n\r\n// we declare the variable and export that rather than using export default.\r\n/**\r\n * SelectionInfo Status Field React component. This component is designed to be specified in a status bar definition.\r\n * It is used to display the number of selected items based on the Presentation Rules Selection Manager.\r\n * This React component is Redux connected.\r\n * @public\r\n */ // eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const SelectionInfoField = connect(mapStateToProps)(SelectionInfoFieldComponent);\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,UAAU,wBAAyB,SAAQ,gBAAgB;IAEzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;CACxD;AAED;;;;;;;GAOG;AACH,cAAM,4BAA6B,SAAQ,KAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC;IAClF,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,KAAK,EAAE,wBAAwB;IAQ3C,OAAO,CAAC,kBAAkB,CAKxB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CAwB1C;AAaD;;;;;GAKG,CACH,eAAO,MAAM,mBAAmB,gPAAyD,CAAC"}
1
+ {"version":3,"file":"SelectionScope.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,UAAU,wBAAyB,SAAQ,gBAAgB;IAEzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;CACxD;AAED;;;;;;;GAOG;AACH,cAAM,4BAA6B,SAAQ,KAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC;IAClF,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,aAAa,CAA8B;gBAEvC,KAAK,EAAE,wBAAwB;IAQ3C,OAAO,CAAC,kBAAkB,CAKxB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1C;AAaD;;;;;GAKG,CACH,eAAO,MAAM,mBAAmB,gPAAyD,CAAC"}