@itwin/appui-react 3.0.0-dev.84 → 3.0.0-dev.88

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 (699) hide show
  1. package/CHANGELOG.md +1494 -1494
  2. package/README.md +21 -21
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +7 -2
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UserInfo.js.map +1 -1
  7. package/lib/cjs/appui-react/_variables.scss +11 -11
  8. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  15. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.scss +86 -86
  21. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  26. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  28. package/lib/cjs/appui-react/accudraw/SquareButton.scss +44 -44
  29. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  30. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  31. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  32. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  33. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  42. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
  43. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
  46. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +21 -21
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.scss +14 -14
  50. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  51. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  52. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  53. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  57. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  58. package/lib/cjs/appui-react/configurableui/configurableui.scss +79 -79
  59. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  63. package/lib/cjs/appui-react/content/ContentLayout.scss +98 -98
  64. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  65. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  67. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +43 -43
  68. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  69. package/lib/cjs/appui-react/content/SavedView.js.map +1 -1
  70. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +1 -1
  71. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  77. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  79. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  80. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  81. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  82. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  84. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  85. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  86. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  87. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  88. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +53 -53
  89. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +0 -1
  90. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/Frontstage.js +0 -6
  92. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  94. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  95. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  96. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  97. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  98. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +86 -86
  99. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  100. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  101. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  102. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  103. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  104. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  105. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  106. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  108. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  110. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  112. package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
  113. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  114. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  115. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  116. package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +102 -102
  117. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  118. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  119. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  120. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  121. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  122. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  123. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  124. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  125. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  126. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  127. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  128. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  129. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  130. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  131. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  132. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  133. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  134. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  135. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  137. package/lib/cjs/appui-react/messages/ActivityMessagePopup.scss +14 -14
  138. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  140. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  141. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  142. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  144. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  145. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  147. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  148. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  149. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  150. package/lib/cjs/appui-react/messages/StatusMessageRenderer.scss +27 -27
  151. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  152. package/lib/cjs/appui-react/messages/StatusMessagesContainer.scss +52 -52
  153. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  154. package/lib/cjs/appui-react/messages/StickyMessage.scss +22 -22
  155. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  156. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  157. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  158. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  159. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  160. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  161. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  162. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  163. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  164. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  166. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  167. package/lib/cjs/appui-react/pickers/ListPicker.scss +299 -299
  168. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  169. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/CardPopup.scss +22 -22
  171. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  172. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  173. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  174. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  175. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  177. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  178. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  179. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  181. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  182. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  183. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  184. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  185. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  187. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  188. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  189. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  190. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  191. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  192. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  193. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  194. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  195. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  196. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  197. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  198. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  199. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  200. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  201. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  202. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  204. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  206. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  209. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  210. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  211. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  212. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  213. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  216. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  217. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  218. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  219. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  220. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBar.scss +43 -43
  222. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  224. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  226. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  227. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  228. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  229. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -2
  230. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  231. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  232. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  233. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  235. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/Indicator.scss +171 -171
  238. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  240. package/lib/cjs/appui-react/statusfields/PromptField.scss +42 -42
  241. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  242. package/lib/cjs/appui-react/statusfields/SectionsField.scss +36 -36
  243. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  244. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  245. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  246. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +37 -37
  247. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  248. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  249. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  250. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +14 -14
  251. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  252. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  253. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  254. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  255. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  256. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  257. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  258. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  259. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  261. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  262. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  263. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  264. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  265. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  266. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
  267. package/lib/cjs/appui-react/toolbar/PopupButton.scss +9 -9
  268. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  269. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  270. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  271. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  272. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  273. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -2
  275. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  276. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  277. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  278. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  279. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  280. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  281. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  282. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  286. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  287. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  288. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  289. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  290. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +1 -1
  291. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  292. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +1 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  295. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  296. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  298. package/lib/cjs/appui-react/widget-panels/Content.js +0 -8
  299. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  301. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  302. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  304. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  306. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  307. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  308. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  309. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +24 -24
  310. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  311. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  312. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  314. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  318. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  320. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  323. package/lib/cjs/appui-react/widgets/ToolSettingsContent.scss +60 -60
  324. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  325. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  328. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  330. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  332. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +0 -38
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +4 -59
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  337. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  338. package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
  339. package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
  340. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  341. package/lib/cjs/appui-react/zones/Outline.js.map +1 -1
  342. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  343. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  344. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  345. package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  347. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  348. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  349. package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  350. package/lib/cjs/appui-react.js.map +1 -1
  351. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  352. package/lib/esm/appui-react/UiFramework.js +7 -2
  353. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  354. package/lib/esm/appui-react/UserInfo.js.map +1 -1
  355. package/lib/esm/appui-react/_variables.scss +11 -11
  356. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  357. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  358. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  359. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  360. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  361. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  362. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +55 -55
  363. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  364. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  365. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  366. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  367. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  368. package/lib/esm/appui-react/accudraw/Calculator.scss +86 -86
  369. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  370. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  371. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  372. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  373. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  374. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  375. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  376. package/lib/esm/appui-react/accudraw/SquareButton.scss +44 -44
  377. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  378. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  379. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  380. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  381. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  382. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  383. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  385. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  386. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  387. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  388. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  389. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  390. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
  391. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  392. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  393. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -3
  394. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  395. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +21 -21
  396. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  397. package/lib/esm/appui-react/childwindow/ChildWindowManager.scss +14 -14
  398. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  399. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  400. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  401. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  402. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  403. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  404. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  405. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  406. package/lib/esm/appui-react/configurableui/configurableui.scss +79 -79
  407. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  408. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  409. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  410. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  411. package/lib/esm/appui-react/content/ContentLayout.scss +98 -98
  412. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  413. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  414. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  415. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +43 -43
  416. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  417. package/lib/esm/appui-react/content/SavedView.js.map +1 -1
  418. package/lib/esm/appui-react/content/SavedViewLayout.js.map +1 -1
  419. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  420. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  421. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  422. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  423. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  424. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  425. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  426. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  427. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  428. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  429. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  430. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  431. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  432. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  433. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  434. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  435. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  436. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +53 -53
  437. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +0 -1
  438. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  439. package/lib/esm/appui-react/frontstage/Frontstage.js +0 -6
  440. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  441. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  442. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  443. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  444. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  445. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  446. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +86 -86
  447. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  448. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  449. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  450. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  451. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  452. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  453. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  454. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  455. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  456. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  457. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  458. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  459. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  460. package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
  461. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +52 -52
  462. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  463. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  464. package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +102 -102
  465. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  466. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.scss +9 -9
  467. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  468. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +389 -389
  469. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +384 -384
  470. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  471. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +9 -9
  472. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +239 -239
  473. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +5 -5
  474. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  475. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +78 -78
  476. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +78 -78
  477. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  478. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +9 -9
  479. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  480. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  481. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  482. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.scss +11 -11
  483. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  484. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  485. package/lib/esm/appui-react/messages/ActivityMessagePopup.scss +14 -14
  486. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  487. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  488. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  489. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  490. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  491. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  492. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  493. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  494. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  495. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  496. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  497. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  498. package/lib/esm/appui-react/messages/StatusMessageRenderer.scss +27 -27
  499. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  500. package/lib/esm/appui-react/messages/StatusMessagesContainer.scss +52 -52
  501. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  502. package/lib/esm/appui-react/messages/StickyMessage.scss +22 -22
  503. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  504. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  505. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  506. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  507. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  508. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  509. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +82 -82
  510. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  511. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  512. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  513. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  514. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  515. package/lib/esm/appui-react/pickers/ListPicker.scss +299 -299
  516. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  517. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  518. package/lib/esm/appui-react/popup/CardPopup.scss +22 -22
  519. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  520. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  521. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  522. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  523. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  524. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  525. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  526. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  527. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  528. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  529. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  530. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  531. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  532. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  533. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  534. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  535. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  536. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  537. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  538. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  539. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  540. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +125 -125
  541. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  542. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  543. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  544. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  545. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  546. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  547. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  548. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  549. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  550. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  551. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  552. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  553. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  554. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  555. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  556. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  557. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  558. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.scss +41 -41
  559. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  560. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  561. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +1 -1
  562. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  563. package/lib/esm/appui-react/stagepanels/StagePanelHeader.scss +25 -25
  564. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  565. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  566. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  567. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  568. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  569. package/lib/esm/appui-react/statusbar/StatusBar.scss +43 -43
  570. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  571. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  572. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  573. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  574. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  575. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  576. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  577. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -3
  578. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  579. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  580. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  581. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  582. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  583. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  584. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  585. package/lib/esm/appui-react/statusfields/Indicator.scss +171 -171
  586. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  587. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  588. package/lib/esm/appui-react/statusfields/PromptField.scss +42 -42
  589. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  590. package/lib/esm/appui-react/statusfields/SectionsField.scss +36 -36
  591. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  592. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  593. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  594. package/lib/esm/appui-react/statusfields/SelectionScope.scss +37 -37
  595. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  596. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  597. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  598. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +14 -14
  599. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  600. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +57 -57
  601. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  602. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +200 -200
  603. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  604. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  605. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  606. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  607. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  608. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  609. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  610. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  611. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  612. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  613. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  614. package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
  615. package/lib/esm/appui-react/toolbar/PopupButton.scss +9 -9
  616. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  617. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  618. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  619. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  620. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  621. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  622. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -3
  623. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  624. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  625. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  626. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  627. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  628. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  629. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  630. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  631. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  632. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  633. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  634. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  635. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  636. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  637. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +212 -212
  638. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +1 -1
  639. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +1 -1
  640. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +1 -1
  641. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  642. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  643. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  644. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  645. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  646. package/lib/esm/appui-react/widget-panels/Content.js +0 -8
  647. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  648. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  649. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  650. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  651. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  652. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  653. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  654. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  655. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  656. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  657. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +24 -24
  658. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  659. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  660. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  661. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  663. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  664. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  665. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  666. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  667. package/lib/esm/appui-react/widgets/ReviewToolWidget.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  670. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  671. package/lib/esm/appui-react/widgets/ToolSettingsContent.scss +60 -60
  672. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  673. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  674. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  680. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +0 -38
  681. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  682. package/lib/esm/appui-react/widgets/WidgetManager.js +4 -58
  683. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  684. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  686. package/lib/esm/appui-react/workflow/Task.js.map +1 -1
  687. package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
  688. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  689. package/lib/esm/appui-react/zones/Outline.js.map +1 -1
  690. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  691. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  692. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  693. package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  694. package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
  695. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  696. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  697. package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
  698. package/lib/esm/appui-react.js.map +1 -1
  699. package/package.json +39 -39
@@ -1 +1 @@
1
- {"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./SheetsModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { IModelApp, IModelConnection } from \"@itwin/core-frontend\";\nimport { CommonProps, FlexWrapContainer, ScrollView, SearchBox, UiCore, UiEvent } from \"@itwin/core-react\";\nimport { FrontstageManager, ModalFrontstageInfo } from \"../frontstage/FrontstageManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SheetData } from \"./SheetNavigationAid\";\n\n/** Data about a sheet card\n * @alpha\n */\nexport interface CardInfo {\n index: number;\n label: string;\n iconSpec: string;\n isActive: boolean;\n viewId: any;\n}\n\n/** Arguments for CardSelectedEvent\n * @alpha\n */\nexport interface CardSelectedEventArgs {\n id: any;\n index: number;\n}\n\n/** Class for CardSelectedEvent\n * @alpha\n */\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> { }\n\n/** Modal frontstage displaying sheet information in cards.\n * @alpha\n */\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\n public title: string = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\n private _cards: CardInfo[] = [];\n private _connection: IModelConnection;\n private _currentIndex: number;\n private _searchValue: string = \"\";\n\n /**\n * Creates a SheetsModalFrontstage\n * @param sheets Collection of sheets available in SheetNavigationAid\n * @param connection IModelConnection to query for sheet ViewState\n */\n constructor(sheets: SheetData[], connection: IModelConnection, currentIndex: number) {\n this._connection = connection;\n this._currentIndex = currentIndex;\n this._storeSheetsAsCards(sheets);\n }\n\n /**\n * Gathers card info from available sheets\n * @param sheets SheetData from available sheets\n */\n private _storeSheetsAsCards(sheets: SheetData[]) {\n sheets.forEach((sheet: SheetData, index: number) => {\n this._cards.push({ index, label: sheet.name, iconSpec: \"icon-document\", viewId: sheet.viewId, isActive: index === this._currentIndex });\n });\n }\n\n /** Gets set of cards */\n public get content(): React.ReactNode {\n return <CardContainer cards={this._cards} searchValue={this._searchValue} connection={this._connection} />;\n }\n\n /** Gets components to be placed in the app bar */\n public get appBarRight(): React.ReactNode {\n return (\n <SearchBox placeholder={UiCore.translate(\"general.search\")} onValueChanged={this._handleSearchValueChanged} valueChangedDelay={250} />\n );\n }\n\n /** Updates stage based on search value */\n // istanbul ignore next\n private _handleSearchValueChanged = (value: string): void => {\n this._searchValue = value;\n FrontstageManager.updateModalFrontstage();\n };\n}\n\n/** Properties for [[CardContainer]]\n * @alpha\n */\nexport interface CardContainerProps extends CommonProps {\n cards: CardInfo[];\n searchValue: string;\n connection: IModelConnection;\n}\n\n/** Displays cards in SheetModalFrontstage\n * @alpha\n */\nexport class CardContainer extends React.Component<CardContainerProps> {\n private static _cardSelectedEvent: CardSelectedEvent = new CardSelectedEvent();\n\n /** Get CardSelectedEvent event */\n public static get onCardSelectedEvent(): CardSelectedEvent { return CardContainer._cardSelectedEvent; }\n\n /** @internal */\n public override render() {\n return (\n <ScrollView className={this.props.className} style={this.props.style}>\n <FlexWrapContainer>\n {\n this.props.cards.map((card: CardInfo, _index: number) => {\n let includeCard = true;\n const iconClassName = (typeof card.iconSpec === \"string\") ? card.iconSpec : /* istanbul ignore next */ \"icon-placeholder\";\n\n if (this.props.searchValue) {\n includeCard = this.contains(card.label, this.props.searchValue);\n }\n\n if (includeCard) {\n return (\n <SheetCard key={card.label} label={card.label} index={card.index} iconSpec={iconClassName} isActive={card.isActive} onClick={async () => this._handleCardSelected(card)} />\n );\n }\n\n return null;\n })\n }\n </FlexWrapContainer>\n </ScrollView>\n );\n }\n\n /**\n * Determines if string contains a substring\n * @param valueA The string to search through\n * @param valueB The value to search for\n * @return True if valueB can be found in valueA, false otherwise\n */\n private contains(valueA: string, valueB: string): boolean {\n if (!valueA || !valueB)\n return false;\n\n if (valueB.length > valueA.length)\n return false;\n\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\n }\n\n /**\n * Updates view with ViewState for selected card.\n * @param card Data about the sheet card selected.\n */\n private async _handleCardSelected(card: CardInfo) {\n // istanbul ignore if\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\n const vp = IModelApp.viewManager.selectedView;\n const viewState = await this.props.connection.views.load(card.viewId);\n vp.changeView(viewState);\n }\n\n card.isActive = true;\n FrontstageManager.closeModalFrontstage();\n CardContainer.onCardSelectedEvent.emit({ id: card.viewId, index: card.index });\n }\n}\n\n/** Properties for [[SheetCard]]\n * @alpha\n */\nexport interface SheetCardProps {\n label: string;\n index: number;\n iconSpec: string;\n isActive: boolean;\n onClick: () => void;\n}\n\n/** State for [[SheetCard]]\n * @internal\n */\ninterface SheetCardState {\n isActive: boolean;\n isPressed: boolean;\n}\n\n/** Displays information about an individual sheet\n * @alpha\n */\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\n constructor(props: SheetCardProps) {\n super(props);\n this.state = { isActive: this.props.isActive, isPressed: false };\n }\n\n private _onClick = () => {\n this.setState({ isActive: true }, () => this.props.onClick());\n };\n\n private _onMouseDown = () => {\n this.setState({ isPressed: true });\n };\n\n private _onMouseLeave = () => {\n if (this.state.isPressed)\n this.setState({ isPressed: false });\n };\n\n public override render() {\n const { label, index, iconSpec } = this.props;\n\n const className = classnames(\n \"uifw-sheet-card\",\n this.state.isActive && \"is-active\",\n this.state.isPressed && \"is-pressed\",\n );\n\n const iconClassName = classnames(\n \"icon\",\n (typeof iconSpec === \"string\") ? iconSpec : /* istanbul ignore next */ \"icon-placeholder\",\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div className={className} onClick={this._onClick} onMouseDown={this._onMouseDown} onMouseLeave={this._onMouseLeave} role=\"button\" tabIndex={-1} >\n {label}\n <div className=\"sheet-image-container\">\n <div className={iconClassName} />\n </div >\n <div className=\"sheet-index\">{index + 1}</div>\n </div >\n );\n }\n}\n"]}
1
+ {"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.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 NavigationAids\r\n */\r\n\r\nimport \"./SheetsModalFrontstage.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { IModelApp, IModelConnection } from \"@itwin/core-frontend\";\r\nimport { CommonProps, FlexWrapContainer, ScrollView, SearchBox, UiCore, UiEvent } from \"@itwin/core-react\";\r\nimport { FrontstageManager, ModalFrontstageInfo } from \"../frontstage/FrontstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SheetData } from \"./SheetNavigationAid\";\r\n\r\n/** Data about a sheet card\r\n * @alpha\r\n */\r\nexport interface CardInfo {\r\n index: number;\r\n label: string;\r\n iconSpec: string;\r\n isActive: boolean;\r\n viewId: any;\r\n}\r\n\r\n/** Arguments for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport interface CardSelectedEventArgs {\r\n id: any;\r\n index: number;\r\n}\r\n\r\n/** Class for CardSelectedEvent\r\n * @alpha\r\n */\r\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> { }\r\n\r\n/** Modal frontstage displaying sheet information in cards.\r\n * @alpha\r\n */\r\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\r\n public title: string = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\r\n private _cards: CardInfo[] = [];\r\n private _connection: IModelConnection;\r\n private _currentIndex: number;\r\n private _searchValue: string = \"\";\r\n\r\n /**\r\n * Creates a SheetsModalFrontstage\r\n * @param sheets Collection of sheets available in SheetNavigationAid\r\n * @param connection IModelConnection to query for sheet ViewState\r\n */\r\n constructor(sheets: SheetData[], connection: IModelConnection, currentIndex: number) {\r\n this._connection = connection;\r\n this._currentIndex = currentIndex;\r\n this._storeSheetsAsCards(sheets);\r\n }\r\n\r\n /**\r\n * Gathers card info from available sheets\r\n * @param sheets SheetData from available sheets\r\n */\r\n private _storeSheetsAsCards(sheets: SheetData[]) {\r\n sheets.forEach((sheet: SheetData, index: number) => {\r\n this._cards.push({ index, label: sheet.name, iconSpec: \"icon-document\", viewId: sheet.viewId, isActive: index === this._currentIndex });\r\n });\r\n }\r\n\r\n /** Gets set of cards */\r\n public get content(): React.ReactNode {\r\n return <CardContainer cards={this._cards} searchValue={this._searchValue} connection={this._connection} />;\r\n }\r\n\r\n /** Gets components to be placed in the app bar */\r\n public get appBarRight(): React.ReactNode {\r\n return (\r\n <SearchBox placeholder={UiCore.translate(\"general.search\")} onValueChanged={this._handleSearchValueChanged} valueChangedDelay={250} />\r\n );\r\n }\r\n\r\n /** Updates stage based on search value */\r\n // istanbul ignore next\r\n private _handleSearchValueChanged = (value: string): void => {\r\n this._searchValue = value;\r\n FrontstageManager.updateModalFrontstage();\r\n };\r\n}\r\n\r\n/** Properties for [[CardContainer]]\r\n * @alpha\r\n */\r\nexport interface CardContainerProps extends CommonProps {\r\n cards: CardInfo[];\r\n searchValue: string;\r\n connection: IModelConnection;\r\n}\r\n\r\n/** Displays cards in SheetModalFrontstage\r\n * @alpha\r\n */\r\nexport class CardContainer extends React.Component<CardContainerProps> {\r\n private static _cardSelectedEvent: CardSelectedEvent = new CardSelectedEvent();\r\n\r\n /** Get CardSelectedEvent event */\r\n public static get onCardSelectedEvent(): CardSelectedEvent { return CardContainer._cardSelectedEvent; }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <ScrollView className={this.props.className} style={this.props.style}>\r\n <FlexWrapContainer>\r\n {\r\n this.props.cards.map((card: CardInfo, _index: number) => {\r\n let includeCard = true;\r\n const iconClassName = (typeof card.iconSpec === \"string\") ? card.iconSpec : /* istanbul ignore next */ \"icon-placeholder\";\r\n\r\n if (this.props.searchValue) {\r\n includeCard = this.contains(card.label, this.props.searchValue);\r\n }\r\n\r\n if (includeCard) {\r\n return (\r\n <SheetCard key={card.label} label={card.label} index={card.index} iconSpec={iconClassName} isActive={card.isActive} onClick={async () => this._handleCardSelected(card)} />\r\n );\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n </FlexWrapContainer>\r\n </ScrollView>\r\n );\r\n }\r\n\r\n /**\r\n * Determines if string contains a substring\r\n * @param valueA The string to search through\r\n * @param valueB The value to search for\r\n * @return True if valueB can be found in valueA, false otherwise\r\n */\r\n private contains(valueA: string, valueB: string): boolean {\r\n if (!valueA || !valueB)\r\n return false;\r\n\r\n if (valueB.length > valueA.length)\r\n return false;\r\n\r\n return valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1;\r\n }\r\n\r\n /**\r\n * Updates view with ViewState for selected card.\r\n * @param card Data about the sheet card selected.\r\n */\r\n private async _handleCardSelected(card: CardInfo) {\r\n // istanbul ignore if\r\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n const viewState = await this.props.connection.views.load(card.viewId);\r\n vp.changeView(viewState);\r\n }\r\n\r\n card.isActive = true;\r\n FrontstageManager.closeModalFrontstage();\r\n CardContainer.onCardSelectedEvent.emit({ id: card.viewId, index: card.index });\r\n }\r\n}\r\n\r\n/** Properties for [[SheetCard]]\r\n * @alpha\r\n */\r\nexport interface SheetCardProps {\r\n label: string;\r\n index: number;\r\n iconSpec: string;\r\n isActive: boolean;\r\n onClick: () => void;\r\n}\r\n\r\n/** State for [[SheetCard]]\r\n * @internal\r\n */\r\ninterface SheetCardState {\r\n isActive: boolean;\r\n isPressed: boolean;\r\n}\r\n\r\n/** Displays information about an individual sheet\r\n * @alpha\r\n */\r\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\r\n constructor(props: SheetCardProps) {\r\n super(props);\r\n this.state = { isActive: this.props.isActive, isPressed: false };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState({ isActive: true }, () => this.props.onClick());\r\n };\r\n\r\n private _onMouseDown = () => {\r\n this.setState({ isPressed: true });\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n if (this.state.isPressed)\r\n this.setState({ isPressed: false });\r\n };\r\n\r\n public override render() {\r\n const { label, index, iconSpec } = this.props;\r\n\r\n const className = classnames(\r\n \"uifw-sheet-card\",\r\n this.state.isActive && \"is-active\",\r\n this.state.isPressed && \"is-pressed\",\r\n );\r\n\r\n const iconClassName = classnames(\r\n \"icon\",\r\n (typeof iconSpec === \"string\") ? iconSpec : /* istanbul ignore next */ \"icon-placeholder\",\r\n );\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={className} onClick={this._onClick} onMouseDown={this._onMouseDown} onMouseLeave={this._onMouseLeave} role=\"button\" tabIndex={-1} >\r\n {label}\r\n <div className=\"sheet-image-container\">\r\n <div className={iconClassName} />\r\n </div >\r\n <div className=\"sheet-index\">{index + 1}</div>\r\n </div >\r\n );\r\n }\r\n}\r\n"]}
@@ -1,73 +1,73 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/colors";
6
-
7
- $sheets-modal-padding: 10px;
8
-
9
- .uifw-sheet-card {
10
- position: relative;
11
- background-color: #f1f1f1;
12
- width: 200px;
13
- height: 250px;
14
- margin: 10px;
15
- padding: $sheets-modal-padding;
16
- text-align: center;
17
- font-size: 16px;
18
- font-weight: bold;
19
- border-color: #f1f1f1;
20
- border-width: 8px;
21
- border-radius: 12px;
22
- border-style: solid;
23
- box-sizing: border-box;
24
- user-select: none;
25
-
26
- &:hover {
27
- cursor: pointer;
28
- }
29
-
30
- &:focus {
31
- outline: none;
32
- }
33
-
34
- .sheet-image-container {
35
- position: absolute;
36
- top: 0;
37
- left: 0;
38
- width: 100%;
39
- height: 100%;
40
- display: flex;
41
- justify-content: center;
42
- align-items: center;
43
-
44
- .icon {
45
- width: 50px;
46
- height: 50px;
47
- font-size: 50px;
48
- }
49
- }
50
-
51
- .sheet-index {
52
- position: absolute;
53
- width: 100%;
54
- bottom: $sheets-modal-padding;
55
- left: 0;
56
- }
57
-
58
- &.is-active {
59
- border-color: $uicore-blue;
60
- }
61
-
62
- &.is-pressed {
63
- border-color: $uicore-blue;
64
- }
65
-
66
- &:not(.is-active) {
67
- &:not(.is-pressed) {
68
- &:hover {
69
- border-color: $uicore-blue-a;
70
- }
71
- }
72
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/style/colors";
6
+
7
+ $sheets-modal-padding: 10px;
8
+
9
+ .uifw-sheet-card {
10
+ position: relative;
11
+ background-color: #f1f1f1;
12
+ width: 200px;
13
+ height: 250px;
14
+ margin: 10px;
15
+ padding: $sheets-modal-padding;
16
+ text-align: center;
17
+ font-size: 16px;
18
+ font-weight: bold;
19
+ border-color: #f1f1f1;
20
+ border-width: 8px;
21
+ border-radius: 12px;
22
+ border-style: solid;
23
+ box-sizing: border-box;
24
+ user-select: none;
25
+
26
+ &:hover {
27
+ cursor: pointer;
28
+ }
29
+
30
+ &:focus {
31
+ outline: none;
32
+ }
33
+
34
+ .sheet-image-container {
35
+ position: absolute;
36
+ top: 0;
37
+ left: 0;
38
+ width: 100%;
39
+ height: 100%;
40
+ display: flex;
41
+ justify-content: center;
42
+ align-items: center;
43
+
44
+ .icon {
45
+ width: 50px;
46
+ height: 50px;
47
+ font-size: 50px;
48
+ }
49
+ }
50
+
51
+ .sheet-index {
52
+ position: absolute;
53
+ width: 100%;
54
+ bottom: $sheets-modal-padding;
55
+ left: 0;
56
+ }
57
+
58
+ &.is-active {
59
+ border-color: $uicore-blue;
60
+ }
61
+
62
+ &.is-pressed {
63
+ border-color: $uicore-blue;
64
+ }
65
+
66
+ &:not(.is-active) {
67
+ &:not(.is-pressed) {
68
+ &:hover {
69
+ border-color: $uicore-blue-a;
70
+ }
71
+ }
72
+ }
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StandardRotationNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./StandardRotationNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { StandardViewId } from \"@itwin/core-frontend\";\nimport { RelativePosition } from \"@itwin/appui-abstract\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport { CommonProps, Icon, Popup } from \"@itwin/core-react\";\nimport {\n containHorizontally, GroupColumn as NZ_Column, ExpandableButton as NZ_Expandable, ToolbarIcon as NZ_Icon, GroupTool as NZ_Item, Group as NZ_Tray,\n withContainIn,\n} from \"@itwin/appui-layout-react\";\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { UiFramework } from \"../UiFramework\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst NZ_ContainedTray = withContainIn(NZ_Tray);\n\n/** A 3D Standard Rotation Navigation Aid control.\n * @alpha\n */\nexport class StandardRotationNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"StandardRotationNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <StandardRotationNavigationAid />;\n }\n}\n\n/** @internal */\nexport interface RotationData {\n label: string;\n iconClassName: string;\n}\n\n/** @internal */\ninterface StandardRotationNavigationAidState {\n element: HTMLDivElement | null;\n isExpanded: boolean;\n list: RotationData[];\n selected: StandardViewId;\n}\n\n/** A 3D Standard Rotation Navigation Aid.\n * @alpha\n */\nexport class StandardRotationNavigationAid extends React.Component<CommonProps, StandardRotationNavigationAidState> {\n private _title = UiFramework.translate(\"standardRotationNavigationAid.title\");\n\n /** @internal */\n public override readonly state: Readonly<StandardRotationNavigationAidState>;\n\n constructor(props: any) {\n super(props);\n const list: RotationData[] = [\n {\n label: UiFramework.translate(\"rotations.top\"),\n iconClassName: \"icon-cube-faces-top\",\n }, {\n label: UiFramework.translate(\"rotations.bottom\"),\n iconClassName: \"icon-cube-faces-bottom\",\n }, {\n label: UiFramework.translate(\"rotations.left\"),\n iconClassName: \"icon-cube-faces-left\",\n }, {\n label: UiFramework.translate(\"rotations.right\"),\n iconClassName: \"icon-cube-faces-right\",\n }, {\n label: UiFramework.translate(\"rotations.front\"),\n iconClassName: \"icon-cube-faces-front\",\n }, {\n label: UiFramework.translate(\"rotations.rear\"),\n iconClassName: \"icon-cube-faces-rear\",\n }, {\n label: UiFramework.translate(\"rotations.isoLeft\"),\n iconClassName: \"icon-cube-faces-iso-left\",\n }, {\n label: UiFramework.translate(\"rotations.isoRight\"),\n iconClassName: \"icon-cube-faces-iso-right\",\n },\n ];\n this.state = {\n element: null,\n isExpanded: false,\n list,\n selected: StandardViewId.Top,\n };\n }\n\n public override render(): React.ReactNode {\n const className = classnames(\n \"uifw-standard-rotation-navigation\",\n this.props.className,\n );\n\n return (\n <div className={className} style={this.props.style}\n ref={this._handleRef}\n >\n <NZ_Expandable\n className={\"expandable\"}\n >\n <NZ_Icon\n className={\"icon-button\"}\n icon={\n <span className={classnames(\"three-d-icon\", \"icon\", this.state.list[this.state.selected].iconClassName)} />\n }\n onClick={this._toggleIsExpanded}\n title={this._title}\n >\n </NZ_Icon>\n </NZ_Expandable>\n <Popup\n isOpen={this.state.isExpanded}\n offset={0}\n onClose={this._handlePopupClose}\n position={RelativePosition.Bottom}\n target={this.state.element}\n >\n {this.getExpandedContent()}\n </Popup>\n </div>\n );\n }\n\n private _handleRef = (element: HTMLDivElement | null) => {\n this.setState(() => ({ element }));\n };\n\n private _handlePopupClose = () => {\n this.setState(() => ({ isExpanded: false }));\n };\n\n private _toggleIsExpanded = () => {\n this.setState((prevState) => ({ isExpanded: !prevState.isExpanded }));\n };\n\n private _handleListItemClicked = (item: number) => {\n const selected = item;\n\n this.setState(\n () => ({ isExpanded: false, selected }),\n () => ViewportComponentEvents.setStandardRotation(selected),\n );\n };\n\n private getExpandedContent(): React.ReactNode {\n if (!this.state.isExpanded)\n return undefined;\n\n return (\n <NZ_ContainedTray\n containFn={containHorizontally}\n columns={\n <NZ_Column>\n {this.state.list.map((item, itemIndex) => {\n return (\n <NZ_Item\n key={itemIndex.toString()}\n ref={itemIndex.toString()}\n label={item.label}\n icon={<Icon iconSpec={item.iconClassName} />}\n isActive={this.state.selected === itemIndex}\n onClick={() => this._handleListItemClicked(itemIndex)}\n >\n </NZ_Item>\n );\n })}\n </NZ_Column>\n }\n />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"StandardRotationNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/StandardRotationNavigationAid.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,sCAAsC,CAAC;AAC9C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAe,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EAAE,WAAW,IAAI,SAAS,EAAE,gBAAgB,IAAI,aAAa,EAAE,WAAW,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAChJ,aAAa,GACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,gEAAgE;AAChE,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,oCAAqC,SAAQ,oBAAoB;IAG5E,YAAY,IAA4B,EAAE,OAAY;QACpD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,oBAAC,6BAA6B,OAAG,CAAC;IACrD,CAAC;;AALa,oDAAe,GAAG,+BAA+B,CAAC;AAsBlE;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK,CAAC,SAA0D;IAMjH,YAAY,KAAU;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC;QANP,WAAM,GAAG,WAAW,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QA8EtE,eAAU,GAAG,CAAC,OAA8B,EAAE,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,IAAY,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,QAAQ,CACX,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EACvC,GAAG,EAAE,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QA1FA,MAAM,IAAI,GAAmB;YAC3B;gBACE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC;gBAC7C,aAAa,EAAE,qBAAqB;aACrC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBAChD,aAAa,EAAE,wBAAwB;aACxC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAC9C,aAAa,EAAE,sBAAsB;aACtC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAC/C,aAAa,EAAE,uBAAuB;aACvC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAC/C,aAAa,EAAE,uBAAuB;aACvC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAC9C,aAAa,EAAE,sBAAsB;aACtC,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBACjD,aAAa,EAAE,0BAA0B;aAC1C,EAAE;gBACD,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBAClD,aAAa,EAAE,2BAA2B;aAC3C;SACF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,KAAK;YACjB,IAAI;YACJ,QAAQ,EAAE,cAAc,CAAC,GAAG;SAC7B,CAAC;IACJ,CAAC;IAEe,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,mCAAmC,EACnC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAChD,GAAG,EAAE,IAAI,CAAC,UAAU;YAEpB,oBAAC,aAAa,IACZ,SAAS,EAAE,YAAY;gBAEvB,oBAAC,OAAO,IACN,SAAS,EAAE,aAAa,EACxB,IAAI,EACF,8BAAM,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAI,EAE7G,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,KAAK,EAAE,IAAI,CAAC,MAAM,GAEV,CACI;YAChB,oBAAC,KAAK,IACJ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAC7B,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAEzB,IAAI,CAAC,kBAAkB,EAAE,CACpB,CACJ,CACP,CAAC;IACJ,CAAC;IAuBO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YACxB,OAAO,SAAS,CAAC;QAEnB,OAAO,CACL,oBAAC,gBAAgB,IACf,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EACL,oBAAC,SAAS,QACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBACvC,OAAO,CACL,oBAAC,OAAO,IACN,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,oBAAC,IAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAI,EAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAE7C,CACX,CAAC;YACJ,CAAC,CAAC,CACQ,GAEd,CACH,CAAC;IACJ,CAAC;CACF","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 NavigationAids\r\n */\r\n\r\nimport \"./StandardRotationNavigationAid.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { StandardViewId } from \"@itwin/core-frontend\";\r\nimport { RelativePosition } from \"@itwin/appui-abstract\";\r\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\r\nimport { CommonProps, Icon, Popup } from \"@itwin/core-react\";\r\nimport {\r\n containHorizontally, GroupColumn as NZ_Column, ExpandableButton as NZ_Expandable, ToolbarIcon as NZ_Icon, GroupTool as NZ_Item, Group as NZ_Tray,\r\n withContainIn,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { NavigationAidControl } from \"./NavigationAidControl\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst NZ_ContainedTray = withContainIn(NZ_Tray);\r\n\r\n/** A 3D Standard Rotation Navigation Aid control.\r\n * @alpha\r\n */\r\nexport class StandardRotationNavigationAidControl extends NavigationAidControl {\r\n public static navigationAidId = \"StandardRotationNavigationAid\";\r\n\r\n constructor(info: ConfigurableCreateInfo, options: any) {\r\n super(info, options);\r\n this.reactNode = <StandardRotationNavigationAid />;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface RotationData {\r\n label: string;\r\n iconClassName: string;\r\n}\r\n\r\n/** @internal */\r\ninterface StandardRotationNavigationAidState {\r\n element: HTMLDivElement | null;\r\n isExpanded: boolean;\r\n list: RotationData[];\r\n selected: StandardViewId;\r\n}\r\n\r\n/** A 3D Standard Rotation Navigation Aid.\r\n * @alpha\r\n */\r\nexport class StandardRotationNavigationAid extends React.Component<CommonProps, StandardRotationNavigationAidState> {\r\n private _title = UiFramework.translate(\"standardRotationNavigationAid.title\");\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<StandardRotationNavigationAidState>;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n const list: RotationData[] = [\r\n {\r\n label: UiFramework.translate(\"rotations.top\"),\r\n iconClassName: \"icon-cube-faces-top\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.bottom\"),\r\n iconClassName: \"icon-cube-faces-bottom\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.left\"),\r\n iconClassName: \"icon-cube-faces-left\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.right\"),\r\n iconClassName: \"icon-cube-faces-right\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.front\"),\r\n iconClassName: \"icon-cube-faces-front\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.rear\"),\r\n iconClassName: \"icon-cube-faces-rear\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.isoLeft\"),\r\n iconClassName: \"icon-cube-faces-iso-left\",\r\n }, {\r\n label: UiFramework.translate(\"rotations.isoRight\"),\r\n iconClassName: \"icon-cube-faces-iso-right\",\r\n },\r\n ];\r\n this.state = {\r\n element: null,\r\n isExpanded: false,\r\n list,\r\n selected: StandardViewId.Top,\r\n };\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const className = classnames(\r\n \"uifw-standard-rotation-navigation\",\r\n this.props.className,\r\n );\r\n\r\n return (\r\n <div className={className} style={this.props.style}\r\n ref={this._handleRef}\r\n >\r\n <NZ_Expandable\r\n className={\"expandable\"}\r\n >\r\n <NZ_Icon\r\n className={\"icon-button\"}\r\n icon={\r\n <span className={classnames(\"three-d-icon\", \"icon\", this.state.list[this.state.selected].iconClassName)} />\r\n }\r\n onClick={this._toggleIsExpanded}\r\n title={this._title}\r\n >\r\n </NZ_Icon>\r\n </NZ_Expandable>\r\n <Popup\r\n isOpen={this.state.isExpanded}\r\n offset={0}\r\n onClose={this._handlePopupClose}\r\n position={RelativePosition.Bottom}\r\n target={this.state.element}\r\n >\r\n {this.getExpandedContent()}\r\n </Popup>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleRef = (element: HTMLDivElement | null) => {\r\n this.setState(() => ({ element }));\r\n };\r\n\r\n private _handlePopupClose = () => {\r\n this.setState(() => ({ isExpanded: false }));\r\n };\r\n\r\n private _toggleIsExpanded = () => {\r\n this.setState((prevState) => ({ isExpanded: !prevState.isExpanded }));\r\n };\r\n\r\n private _handleListItemClicked = (item: number) => {\r\n const selected = item;\r\n\r\n this.setState(\r\n () => ({ isExpanded: false, selected }),\r\n () => ViewportComponentEvents.setStandardRotation(selected),\r\n );\r\n };\r\n\r\n private getExpandedContent(): React.ReactNode {\r\n if (!this.state.isExpanded)\r\n return undefined;\r\n\r\n return (\r\n <NZ_ContainedTray\r\n containFn={containHorizontally}\r\n columns={\r\n <NZ_Column>\r\n {this.state.list.map((item, itemIndex) => {\r\n return (\r\n <NZ_Item\r\n key={itemIndex.toString()}\r\n ref={itemIndex.toString()}\r\n label={item.label}\r\n icon={<Icon iconSpec={item.iconClassName} />}\r\n isActive={this.state.selected === itemIndex}\r\n onClick={() => this._handleListItemClicked(itemIndex)}\r\n >\r\n </NZ_Item>\r\n );\r\n })}\r\n </NZ_Column>\r\n }\r\n />\r\n );\r\n }\r\n}\r\n"]}
@@ -1,13 +1,13 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- .uifw-standard-rotation-navigation {
6
- > .expandable {
7
- .icon-button {
8
- height: 64px;
9
- width: 64px;
10
- font-size: 36px;
11
- }
12
- }
13
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .uifw-standard-rotation-navigation {
6
+ > .expandable {
7
+ .icon-button {
8
+ height: 64px;
9
+ width: 64px;
10
+ font-size: 36px;
11
+ }
12
+ }
13
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Picker\n */\n\nimport \"./ListPicker.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { PopupItem } from \"@itwin/components-react\";\nimport { CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\nimport { containHorizontally, ExpandableItem, Group, GroupColumn, Item, Panel, withContainIn } from \"@itwin/appui-layout-react\";\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\nimport { FrameworkVersionSwitch } from \"../hooks/useFrameworkVersion\";\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\nimport { UiFramework } from \"../UiFramework\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ContainedGroup = withOnOutsideClick(withContainIn(Group), undefined, false);\n\n/** Enum for the list picker item type\n * @beta\n */\nexport enum ListItemType {\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\n Separator = 1,\n Container = 2,\n}\n\n/** List picker item\n * @beta\n */\nexport interface ListItem {\n [key: string]: any;\n name?: string;\n enabled: boolean;\n type?: ListItemType;\n children?: ListItem[];\n}\n\n/** Properties for the [[ListPickerBase]] component\n * @beta\n */\nexport interface ListPickerProps {\n title: string;\n items: ListItem[];\n iconSpec?: string | React.ReactNode;\n setEnabled: (item: ListItem, enabled: boolean) => any;\n onExpanded?: (expand: boolean) => void;\n onSizeKnown?: (size: SizeProps) => void;\n}\n\n/** State for the [[ListPickerBase]] component\n * @internal\n */\ninterface ListPickerState {\n expanded: boolean;\n}\n\nlet lastOpenedPicker: ListPickerBase | undefined;\n\n/** Properties for the [[ListPickerItem]] component\n * @beta\n */\nexport interface ListPickerItemProps extends CommonProps {\n key: any;\n isActive?: boolean;\n isFocused?: boolean;\n onClick?: () => void;\n label?: string;\n}\n\n/** List Picker Item React component\n * @beta\n */\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\n /** Renders ListPickerItem */\n public override render() {\n const itemClassName = classnames(\n \"ListPicker-item\",\n this.props.isActive && \"is-active\",\n this.props.isFocused && \"is-focused\",\n this.props.className,\n );\n // TODO - if cut off, show a title\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\n <div className=\"label\" title={title}>\n {this.props.label}\n </div>\n </div>\n );\n }\n}\n\n/** Properties for the [[ExpandableSection]] component\n * @beta\n */\nexport interface ExpandableSectionProps extends CommonProps {\n title?: string;\n expanded?: boolean;\n}\n\n/** State for the [[ExpandableSection]] component\n * @internal\n */\ninterface ExpandableSectionState {\n expanded: boolean;\n}\n\n/** Expandable Section React component used by [[ListPickerBase]]\n * @beta\n */\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\n /** Creates an ExpandableSection */\n constructor(props: ExpandableSectionProps) {\n super(props);\n this.state = { expanded: !!this.props.expanded };\n }\n\n private _onClick = () => {\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\n };\n\n /** Renders ExpandableSection */\n public override render() {\n const className = classnames(\n \"nz-toolbar-item-expandable-group-group\",\n this.props.className,\n );\n\n const icon = this.state.expanded ? <i className=\"icon icon-chevron-down\" /> : <i className=\"icon icon-chevron-right\" />;\n\n return (\n <Panel className={className} style={this.props.style} key={this.props.title}>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div onClick={this._onClick}\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\n >\n <div className=\"ListPickerInnerContainer-header-content\">\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\n </div>\n </div>\n {this.state.expanded ?\n <GroupColumn>\n {this.props.children}\n </GroupColumn> : <div />\n }\n </Panel>\n );\n }\n}\n\nfunction getListPanel(props: ListPickerProps): React.ReactNode {\n const expandSingleSection = (): boolean => {\n const populatedContainers = props.items.filter((item: ListItem) => {\n return (item.type === ListItemType.Container && item.children!.length !== 0);\n });\n return populatedContainers.length === 1;\n };\n\n const listItemToElement = (item: ListItem, itemIndex: number) => {\n switch (item.type) {\n case ListItemType.Item:\n return (\n <ListPickerItem\n {...props}\n key={itemIndex.toString()}\n label={item.name}\n isActive={item.enabled}\n onClick={\n // istanbul ignore next\n () => { props.setEnabled(item, !item.enabled); }\n }\n />\n );\n case ListItemType.Separator:\n return (\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\n );\n case ListItemType.Container:\n if (item.children!.length !== 0) {\n return (\n <ExpandableSection\n key={itemIndex.toString()}\n title={item.name}\n className=\"ListPickerInnerContainer\"\n expanded={expandSingleSection()}\n >\n <GroupColumn>\n {item.children!.map(listItemToElement)}\n </GroupColumn>\n </ExpandableSection>\n );\n } else {\n return (<div key={itemIndex.toString()} />);\n }\n // istanbul ignore next\n default:\n return (<div key={itemIndex.toString()} />);\n }\n };\n\n return (\n <ContainedGroup\n className=\"ListPickerContainer\"\n columns={\n <GroupColumn className=\"ListPicker-column\">\n {props.items.map(listItemToElement)}\n </GroupColumn>}\n containFn={containHorizontally}\n title={props.title}\n />\n );\n}\n\n/**\n * List picker base class.\n * Used to provide an expandable list of items to enable/disable items.\n * @beta\n */\nexport class ListPickerBase extends React.PureComponent<ListPickerProps, ListPickerState> {\n private _isMounted = false;\n private _closeOnPanelOpened = true;\n private _ref = React.createRef<HTMLDivElement>();\n\n /** Creates a ListPickerBase */\n constructor(props: any) {\n super(props);\n this.state = {\n expanded: false,\n };\n }\n\n /** Minimizes the expandable component. */\n public minimize = () => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n expanded: false,\n });\n };\n\n /** Checks if ExpandableItem is expanded. */\n public isExpanded = () => {\n return this.state.expanded;\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\n }\n\n /** Renders ListPickerBase */\n public override render() {\n const icon = this.props.iconSpec ? /* istanbul ignore next */ (typeof this.props.iconSpec === \"string\" ?\n /* istanbul ignore next */ <Icon iconSpec={this.props.iconSpec} /> : <i className=\"icon uifw-item-svg-icon\">{this.props.iconSpec}</i>) :\n <i className=\"icon icon-list\" />;\n\n return (\n <ToolbarDragInteractionContext.Consumer>\n {(isEnabled) => {\n return (\n <ExpandableItem\n {...this.props}\n hideIndicator={isEnabled}\n panel={this.getExpandedContent()}\n >\n <div ref={this._ref}>\n <Item\n icon={icon}\n onClick={this._handleClick}\n onSizeKnown={this.props.onSizeKnown}\n title={this.props.title}\n />\n </div>\n </ExpandableItem>\n );\n }}\n </ToolbarDragInteractionContext.Consumer>\n );\n }\n\n /** Returns the list with the items */\n public getExpandedContent(): React.ReactNode {\n if (!this.state.expanded)\n return undefined;\n\n const expandSingleSection = (): boolean => {\n const populatedContainers = this.props.items.filter((item: ListItem) => {\n return (item.type === ListItemType.Container && item.children!.length !== 0);\n });\n return populatedContainers.length === 1;\n };\n\n const listItemToElement = (item: ListItem, itemIndex: number) => {\n switch (item.type) {\n case ListItemType.Item:\n return (\n <ListPickerItem\n {...this.props}\n key={itemIndex.toString()}\n label={item.name}\n isActive={item.enabled}\n onClick={() => { this.props.setEnabled(item, !item.enabled); }}\n />\n );\n case ListItemType.Separator:\n return (\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\n );\n case ListItemType.Container:\n if (item.children!.length !== 0) {\n return (\n <ExpandableSection\n key={itemIndex.toString()}\n title={item.name}\n className=\"ListPickerInnerContainer\"\n expanded={expandSingleSection()}\n >\n <GroupColumn>\n {item.children!.map(listItemToElement)}\n </GroupColumn>\n </ExpandableSection>\n );\n } else {\n return (<div key={itemIndex.toString()} />);\n }\n default:\n return (<div key={itemIndex.toString()} />);\n }\n };\n\n return (\n <ContainedGroup\n className=\"ListPickerContainer\"\n columns={\n <GroupColumn className=\"ListPicker-column\">\n {this.props.items.map(listItemToElement)}\n </GroupColumn>}\n containFn={containHorizontally}\n onOutsideClick={this._handleOnOutsideClick}\n title={this.props.title}\n />\n );\n }\n\n private _handleOnOutsideClick = (e: MouseEvent) => {\n if (!this._ref.current || !(e.target instanceof Node) || this._ref.current.contains(e.target))\n return;\n this.minimize();\n this.props.onExpanded && this.props.onExpanded(false);\n };\n\n private _handleToolPanelOpenedEvent = () => {\n if (!this._closeOnPanelOpened)\n return;\n this.minimize();\n };\n\n private _handleClick = () => {\n // istanbul ignore next\n if (!this._isMounted)\n return;\n\n this.setState((prevState) => {\n const expanded = !prevState.expanded;\n return {\n expanded,\n };\n }, () => {\n const expanded = this.state.expanded;\n if (expanded) {\n // Minimize any other list picker that has been opened\n // This is to mimic Bimium's behavior where pickers only close when other pickers are opened\n if (lastOpenedPicker && lastOpenedPicker !== this && lastOpenedPicker.isExpanded())\n lastOpenedPicker.minimize();\n\n lastOpenedPicker = this;\n\n this._closeOnPanelOpened = false;\n expanded && FrontstageManager.onToolPanelOpenedEvent.emit();\n this._closeOnPanelOpened = true;\n }\n\n this.props.onExpanded && this.props.onExpanded(expanded);\n });\n };\n}\n\n/**\n * List picker toolbar popup item.\n * Used to provide an expandable list of items to enable/disable items.\n * @beta\n */\nfunction ListPickerPopupItem(props: ListPickerProps) {\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec=\"icon-list\" />;\n\n return (\n <ToolbarDragInteractionContext.Consumer>\n {(isEnabled) => {\n return <PopupItem\n hideIndicator={isEnabled}\n icon={icon}\n title={props.title}\n panel={getListPanel(props)}\n />;\n }}\n </ToolbarDragInteractionContext.Consumer>\n );\n}\n\n/** Properties for the [[ListPicker]] component\n * @beta\n */\nexport interface ListPickerPropsExtended extends ListPickerProps {\n enableAllFunc?: () => void;\n disableAllFunc?: () => void;\n invertFunc?: () => void;\n}\n\n/**\n * List Picker that lets the user pick from a list of items to enable/disable\n * It also provides options to enable all, disable all and invert selection\n * @beta\n */\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\n public static get Key_All() { return -3; }\n public static get Key_None() { return -2; }\n public static get Key_Invert() { return -1; }\n public static get Key_Separator() { return -4; }\n\n /** Creates a ListPicker */\n constructor(props: ListPickerPropsExtended) {\n super(props);\n }\n\n // Creates an array of items containing the separator and special requests (all, none, invert)\n private createItems(items: ListItem[]): ListItem[] {\n const newItems: ListItem[] = [];\n\n // Create special buttons (All/None/Invert)\n if (this.props.enableAllFunc) {\n let allEnabled = true;\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\n }\n if (this.props.disableAllFunc) {\n let allDisabled = false;\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\n }\n if (this.props.invertFunc) {\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\n }\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\n }\n\n // Push items\n items.map((item) => { newItems.push(item); });\n return newItems;\n }\n\n /**\n * Checks if item is a special item.\n * @param item Item to check\n */\n public isSpecialItem(item: ListItem) {\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\n }\n\n // Handle enabling/disabling the items\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\n private _setEnabled = (item: ListItem, enabled: boolean) => {\n if (this.isSpecialItem(item)) {\n switch (item.key) {\n case ListPicker.Key_All: {\n // istanbul ignore else\n if (this.props.enableAllFunc)\n this.props.enableAllFunc();\n return;\n }\n case ListPicker.Key_None: {\n // istanbul ignore else\n if (this.props.disableAllFunc)\n this.props.disableAllFunc();\n return;\n }\n case ListPicker.Key_Invert: {\n // istanbul ignore else\n if (this.props.invertFunc)\n this.props.invertFunc();\n return;\n }\n }\n }\n\n // Call on parent to do processing of the item\n this.props.setEnabled(item, enabled);\n };\n\n /** Renders ListPicker */\n public override render() {\n return (\n <FrameworkVersionSwitch\n v1={\n <ListPickerBase\n {...this.props}\n title={this.props.title}\n setEnabled={this._setEnabled}\n onExpanded={this.props.onExpanded}\n items={this.createItems(this.props.items)}\n iconSpec={this.props.iconSpec}\n />\n }\n v2={\n <ListPickerPopupItem\n {...this.props}\n title={this.props.title}\n setEnabled={this._setEnabled}\n onExpanded={this.props.onExpanded}\n items={this.createItems(this.props.items)}\n iconSpec={this.props.iconSpec}\n />\n }\n />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.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 Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PopupItem } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { containHorizontally, ExpandableItem, Group, GroupColumn, Item, Panel, withContainIn } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrameworkVersionSwitch } from \"../hooks/useFrameworkVersion\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst ContainedGroup = withOnOutsideClick(withContainIn(Group), undefined, false);\r\n\r\n/** Enum for the list picker item type\r\n * @beta\r\n */\r\nexport enum ListItemType {\r\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n Separator = 1,\r\n Container = 2,\r\n}\r\n\r\n/** List picker item\r\n * @beta\r\n */\r\nexport interface ListItem {\r\n [key: string]: any;\r\n name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPickerBase]] component\r\n * @beta\r\n */\r\nexport interface ListPickerProps {\r\n title: string;\r\n items: ListItem[];\r\n iconSpec?: string | React.ReactNode;\r\n setEnabled: (item: ListItem, enabled: boolean) => any;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** State for the [[ListPickerBase]] component\r\n * @internal\r\n */\r\ninterface ListPickerState {\r\n expanded: boolean;\r\n}\r\n\r\nlet lastOpenedPicker: ListPickerBase | undefined;\r\n\r\n/** Properties for the [[ListPickerItem]] component\r\n * @beta\r\n */\r\nexport interface ListPickerItemProps extends CommonProps {\r\n key: any;\r\n isActive?: boolean;\r\n isFocused?: boolean;\r\n onClick?: () => void;\r\n label?: string;\r\n}\r\n\r\n/** List Picker Item React component\r\n * @beta\r\n */\r\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\r\n /** Renders ListPickerItem */\r\n public override render() {\r\n const itemClassName = classnames(\r\n \"ListPicker-item\",\r\n this.props.isActive && \"is-active\",\r\n this.props.isFocused && \"is-focused\",\r\n this.props.className,\r\n );\r\n // TODO - if cut off, show a title\r\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\r\n <div className=\"label\" title={title}>\r\n {this.props.label}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for the [[ExpandableSection]] component\r\n * @beta\r\n */\r\nexport interface ExpandableSectionProps extends CommonProps {\r\n title?: string;\r\n expanded?: boolean;\r\n}\r\n\r\n/** State for the [[ExpandableSection]] component\r\n * @internal\r\n */\r\ninterface ExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\n/** Expandable Section React component used by [[ListPickerBase]]\r\n * @beta\r\n */\r\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\r\n /** Creates an ExpandableSection */\r\n constructor(props: ExpandableSectionProps) {\r\n super(props);\r\n this.state = { expanded: !!this.props.expanded };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\r\n };\r\n\r\n /** Renders ExpandableSection */\r\n public override render() {\r\n const className = classnames(\r\n \"nz-toolbar-item-expandable-group-group\",\r\n this.props.className,\r\n );\r\n\r\n const icon = this.state.expanded ? <i className=\"icon icon-chevron-down\" /> : <i className=\"icon icon-chevron-right\" />;\r\n\r\n return (\r\n <Panel className={className} style={this.props.style} key={this.props.title}>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div onClick={this._onClick}\r\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\r\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\r\n >\r\n <div className=\"ListPickerInnerContainer-header-content\">\r\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\r\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\r\n </div>\r\n </div>\r\n {this.state.expanded ?\r\n <GroupColumn>\r\n {this.props.children}\r\n </GroupColumn> : <div />\r\n }\r\n </Panel>\r\n );\r\n }\r\n}\r\n\r\nfunction getListPanel(props: ListPickerProps): React.ReactNode {\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={\r\n // istanbul ignore next\r\n () => { props.setEnabled(item, !item.enabled); }\r\n }\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n // istanbul ignore next\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally}\r\n title={props.title}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * List picker base class.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nexport class ListPickerBase extends React.PureComponent<ListPickerProps, ListPickerState> {\r\n private _isMounted = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n\r\n /** Creates a ListPickerBase */\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n expanded: false,\r\n });\r\n };\r\n\r\n /** Checks if ExpandableItem is expanded. */\r\n public isExpanded = () => {\r\n return this.state.expanded;\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** Renders ListPickerBase */\r\n public override render() {\r\n const icon = this.props.iconSpec ? /* istanbul ignore next */ (typeof this.props.iconSpec === \"string\" ?\r\n /* istanbul ignore next */ <Icon iconSpec={this.props.iconSpec} /> : <i className=\"icon uifw-item-svg-icon\">{this.props.iconSpec}</i>) :\r\n <i className=\"icon icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...this.props}\r\n hideIndicator={isEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n icon={icon}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.props.title}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns the list with the items */\r\n public getExpandedContent(): React.ReactNode {\r\n if (!this.state.expanded)\r\n return undefined;\r\n\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = this.props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...this.props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={() => { this.props.setEnabled(item, !item.enabled); }}\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\">\r\n {this.props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally}\r\n onOutsideClick={this._handleOnOutsideClick}\r\n title={this.props.title}\r\n />\r\n );\r\n }\r\n\r\n private _handleOnOutsideClick = (e: MouseEvent) => {\r\n if (!this._ref.current || !(e.target instanceof Node) || this._ref.current.contains(e.target))\r\n return;\r\n this.minimize();\r\n this.props.onExpanded && this.props.onExpanded(false);\r\n };\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const expanded = !prevState.expanded;\r\n return {\r\n expanded,\r\n };\r\n }, () => {\r\n const expanded = this.state.expanded;\r\n if (expanded) {\r\n // Minimize any other list picker that has been opened\r\n // This is to mimic Bimium's behavior where pickers only close when other pickers are opened\r\n if (lastOpenedPicker && lastOpenedPicker !== this && lastOpenedPicker.isExpanded())\r\n lastOpenedPicker.minimize();\r\n\r\n lastOpenedPicker = this;\r\n\r\n this._closeOnPanelOpened = false;\r\n expanded && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n }\r\n\r\n this.props.onExpanded && this.props.onExpanded(expanded);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * List picker toolbar popup item.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nfunction ListPickerPopupItem(props: ListPickerProps) {\r\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\r\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec=\"icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return <PopupItem\r\n hideIndicator={isEnabled}\r\n icon={icon}\r\n title={props.title}\r\n panel={getListPanel(props)}\r\n />;\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerPropsExtended extends ListPickerProps {\r\n enableAllFunc?: () => void;\r\n disableAllFunc?: () => void;\r\n invertFunc?: () => void;\r\n}\r\n\r\n/**\r\n * List Picker that lets the user pick from a list of items to enable/disable\r\n * It also provides options to enable all, disable all and invert selection\r\n * @beta\r\n */\r\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\r\n public static get Key_All() { return -3; }\r\n public static get Key_None() { return -2; }\r\n public static get Key_Invert() { return -1; }\r\n public static get Key_Separator() { return -4; }\r\n\r\n /** Creates a ListPicker */\r\n constructor(props: ListPickerPropsExtended) {\r\n super(props);\r\n }\r\n\r\n // Creates an array of items containing the separator and special requests (all, none, invert)\r\n private createItems(items: ListItem[]): ListItem[] {\r\n const newItems: ListItem[] = [];\r\n\r\n // Create special buttons (All/None/Invert)\r\n if (this.props.enableAllFunc) {\r\n let allEnabled = true;\r\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\r\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\r\n }\r\n if (this.props.disableAllFunc) {\r\n let allDisabled = false;\r\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\r\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\r\n }\r\n if (this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\r\n }\r\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\r\n }\r\n\r\n // Push items\r\n items.map((item) => { newItems.push(item); });\r\n return newItems;\r\n }\r\n\r\n /**\r\n * Checks if item is a special item.\r\n * @param item Item to check\r\n */\r\n public isSpecialItem(item: ListItem) {\r\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\r\n }\r\n\r\n // Handle enabling/disabling the items\r\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\r\n private _setEnabled = (item: ListItem, enabled: boolean) => {\r\n if (this.isSpecialItem(item)) {\r\n switch (item.key) {\r\n case ListPicker.Key_All: {\r\n // istanbul ignore else\r\n if (this.props.enableAllFunc)\r\n this.props.enableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_None: {\r\n // istanbul ignore else\r\n if (this.props.disableAllFunc)\r\n this.props.disableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_Invert: {\r\n // istanbul ignore else\r\n if (this.props.invertFunc)\r\n this.props.invertFunc();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Call on parent to do processing of the item\r\n this.props.setEnabled(item, enabled);\r\n };\r\n\r\n /** Renders ListPicker */\r\n public override render() {\r\n return (\r\n <FrameworkVersionSwitch\r\n v1={\r\n <ListPickerBase\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n }\r\n v2={\r\n <ListPickerPopupItem\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n }\r\n />\r\n );\r\n }\r\n}\r\n"]}