@itwin/appui-react 4.14.1 → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1247) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +202 -140
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +432 -301
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +8 -4
  7. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.d.ts +1 -0
  8. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.d.ts.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js +2 -0
  10. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts +4 -2
  12. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +6 -7
  14. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +0 -4
  16. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  21. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +28 -65
  23. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +2 -0
  26. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  29. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +12 -12
  30. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +7 -7
  31. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  32. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts +0 -1
  33. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts +3 -2
  38. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/backstage/BackstageManager.js +5 -7
  40. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  41. package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js +1 -0
  43. package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  44. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +8 -18
  46. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  47. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.scss +4 -0
  48. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +16 -0
  49. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +64 -18
  51. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  52. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -2
  53. package/lib/cjs/appui-react/content/ContentControl.js +1 -1
  54. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  55. package/lib/cjs/appui-react/content/ContentGroup.d.ts +3 -3
  56. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
  59. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentLayout.js +1 -1
  61. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  62. package/lib/cjs/appui-react/content/IModelViewport.d.ts +5 -6
  63. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/IModelViewport.js +25 -13
  65. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  66. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +1 -1
  67. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  69. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -2
  70. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
  71. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +4 -1
  75. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +3 -2
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts +2 -5
  84. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -46
  86. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  87. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +2 -0
  89. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +2 -2
  91. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -1
  93. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  95. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -0
  96. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  97. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  98. package/lib/cjs/appui-react/dialog/ModalDialogManager.js +2 -0
  99. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  100. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts +2 -0
  101. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/dialog/ModelessDialog.js +1 -0
  103. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  105. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +2 -0
  106. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  107. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts +9 -22
  108. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +135 -92
  110. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  111. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts +5 -1
  112. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  113. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +69 -6
  114. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  115. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +4 -3
  116. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  117. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -1
  118. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  119. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  121. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts +2 -2
  122. package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts.map +1 -1
  123. package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +6 -5
  125. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkContent.js +3 -3
  127. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  128. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -2
  129. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +2 -2
  130. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  131. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +24 -19
  132. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -8
  134. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  135. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +25 -24
  136. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  138. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -2
  139. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -1
  140. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  141. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +1 -1
  142. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  143. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +9 -0
  144. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -0
  145. package/lib/cjs/appui-react/frontstage/Frontstage.js +10 -0
  146. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -0
  147. package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts +1 -0
  148. package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  149. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  150. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +7 -6
  151. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +19 -7
  153. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  154. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +3 -2
  155. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js +1 -0
  157. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  158. package/lib/cjs/appui-react/frontstage/FrontstageUtilities.d.ts +13 -0
  159. package/lib/cjs/appui-react/frontstage/FrontstageUtilities.d.ts.map +1 -0
  160. package/lib/cjs/appui-react/frontstage/FrontstageUtilities.js +77 -0
  161. package/lib/cjs/appui-react/frontstage/FrontstageUtilities.js.map +1 -0
  162. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +4 -4
  163. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +41 -17
  165. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  166. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +2 -2
  167. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  169. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +2 -3
  170. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +6 -5
  172. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  173. package/lib/cjs/appui-react/frontstage/NestedFrontstageAppButton.d.ts +19 -0
  174. package/lib/cjs/appui-react/frontstage/NestedFrontstageAppButton.d.ts.map +1 -0
  175. package/lib/cjs/appui-react/frontstage/NestedFrontstageAppButton.js +32 -0
  176. package/lib/cjs/appui-react/frontstage/NestedFrontstageAppButton.js.map +1 -0
  177. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +8 -10
  178. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  179. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +6 -58
  180. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  181. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  182. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  183. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  184. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +1 -1
  185. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +0 -1
  187. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  188. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +4 -1
  189. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +9 -2
  191. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  192. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +4 -2
  193. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  194. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +3 -3
  195. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  196. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutProps.d.ts +60 -0
  197. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutProps.d.ts.map +1 -0
  198. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutProps.js +3 -0
  199. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -0
  200. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutUtilities.d.ts +13 -0
  201. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutUtilities.d.ts.map +1 -0
  202. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutUtilities.js +32 -0
  203. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutUtilities.js.map +1 -0
  204. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/backstage/Backstage.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  208. package/lib/cjs/appui-react/layout/backstage/Item.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/layout/backstage/Item.js.map +1 -1
  210. package/lib/cjs/appui-react/layout/backstage/Separator.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/layout/backstage/Separator.js +1 -0
  212. package/lib/cjs/appui-react/layout/backstage/Separator.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/footer/dialog/Dialog.d.ts.map +1 -1
  214. package/lib/cjs/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/footer/dialog/TitleBar.d.ts.map +1 -1
  216. package/lib/cjs/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  217. package/lib/cjs/appui-react/layout/footer/snap-mode/Panel.d.ts.map +1 -1
  218. package/lib/cjs/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  219. package/lib/cjs/appui-react/layout/footer/snap-mode/Snap.d.ts.map +1 -1
  220. package/lib/cjs/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  221. package/lib/cjs/appui-react/layout/footer/tool-assistance/Dialog.d.ts.map +1 -1
  222. package/lib/cjs/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  223. package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.d.ts.map +1 -1
  224. package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  225. package/lib/cjs/appui-react/layout/footer/tool-assistance/Item.d.ts.map +1 -1
  226. package/lib/cjs/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  227. package/lib/cjs/appui-react/layout/footer/tool-assistance/NewDot.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/layout/footer/tool-assistance/NewDot.js +1 -0
  229. package/lib/cjs/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  230. package/lib/cjs/appui-react/layout/footer/tool-assistance/Separator.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  232. package/lib/cjs/appui-react/layout/outline/SectionOutline.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/layout/outline/SectionOutline.js.map +1 -1
  234. package/lib/cjs/appui-react/layout/popup/Tooltip.d.ts.map +1 -1
  235. package/lib/cjs/appui-react/layout/popup/Tooltip.js.map +1 -1
  236. package/lib/cjs/appui-react/layout/target/TargetContainer.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/layout/target/TargetContainer.js.map +1 -1
  238. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  239. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +1 -0
  240. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  241. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  242. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  243. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  244. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  245. package/lib/cjs/appui-react/layout/tool-settings/Panel.d.ts.map +1 -1
  246. package/lib/cjs/appui-react/layout/tool-settings/Panel.js +3 -1
  247. package/lib/cjs/appui-react/layout/tool-settings/Panel.js.map +1 -1
  248. package/lib/cjs/appui-react/layout/tool-settings/Setting.d.ts.map +1 -1
  249. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  250. package/lib/cjs/appui-react/layout/widget/Menu.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/layout/widget/Menu.js +3 -1
  252. package/lib/cjs/appui-react/layout/widget/Menu.js.map +1 -1
  253. package/lib/cjs/appui-react/layout/widget/MenuTab.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/layout/widget/MenuTab.js.map +1 -1
  255. package/lib/cjs/appui-react/layout/widget/NavigationArea.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/layout/widget/NavigationArea.js.map +1 -1
  257. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/layout/widget/Tab.js +1 -0
  259. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  260. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/layout/widget/TabBar.js +1 -0
  262. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  263. package/lib/cjs/appui-react/layout/widget/ToolsArea.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/layout/widget/ToolsArea.js.map +1 -1
  265. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  267. package/lib/cjs/appui-react/layout/widget/tools/button/App.d.ts +2 -1
  268. package/lib/cjs/appui-react/layout/widget/tools/button/App.d.ts.map +1 -1
  269. package/lib/cjs/appui-react/layout/widget/tools/button/App.js.map +1 -1
  270. package/lib/cjs/appui-react/layout/widget/tools/button/Back.d.ts +2 -1
  271. package/lib/cjs/appui-react/layout/widget/tools/button/Back.d.ts.map +1 -1
  272. package/lib/cjs/appui-react/layout/widget/tools/button/Back.js.map +1 -1
  273. package/lib/cjs/appui-react/layout/widget/tools/button/Button.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  275. package/lib/cjs/appui-react/layout/widget/tools/button/Expandable.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  277. package/lib/cjs/appui-react/layout/widget-panels/Expander.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/layout/widget-panels/Expander.js +1 -0
  279. package/lib/cjs/appui-react/layout/widget-panels/Expander.js.map +1 -1
  280. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  281. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +3 -0
  282. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  283. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  284. package/lib/cjs/appui-react/messages/InputField.js +6 -2
  285. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  286. package/lib/cjs/appui-react/messages/MessageLabel.d.ts.map +1 -1
  287. package/lib/cjs/appui-react/messages/MessageLabel.js +1 -0
  288. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  289. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -12
  290. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  291. package/lib/cjs/appui-react/messages/MessageManager.js +22 -11
  292. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  293. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  294. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  295. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  296. package/lib/cjs/appui-react/messages/Pointer.js +11 -3
  297. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  298. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  300. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  301. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -2
  302. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -1
  303. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  304. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  305. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  306. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -2
  307. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  308. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  309. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  310. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -1
  311. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  313. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  314. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  315. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +6 -3
  316. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  317. package/lib/cjs/appui-react/pickers/ViewSelector.js +11 -3
  318. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  319. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/popup/CardPopup.js +3 -1
  321. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  322. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +2 -2
  323. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  324. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -1
  325. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  326. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  327. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  328. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +1 -1
  329. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  330. package/lib/cjs/appui-react/popup/PopupManager.d.ts +2 -2
  331. package/lib/cjs/appui-react/popup/PopupManager.js +5 -5
  332. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  333. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  335. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  336. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  337. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +15 -9
  339. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  340. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +1 -1
  341. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  343. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  344. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +7 -3
  345. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/redux/ConfigurableUiState.d.ts +79 -0
  347. package/lib/cjs/appui-react/redux/ConfigurableUiState.d.ts.map +1 -0
  348. package/lib/cjs/appui-react/{configurableui/state.js → redux/ConfigurableUiState.js} +14 -10
  349. package/lib/cjs/appui-react/redux/ConfigurableUiState.js.map +1 -0
  350. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +7 -10
  351. package/lib/cjs/appui-react/redux/FrameworkState.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/redux/FrameworkState.js +5 -4
  353. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  354. package/lib/cjs/appui-react/redux/ReducerRegistry.d.ts +3 -0
  355. package/lib/cjs/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  356. package/lib/cjs/appui-react/redux/ReducerRegistry.js +2 -0
  357. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  358. package/lib/cjs/appui-react/redux/SessionState.d.ts +29 -12
  359. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  360. package/lib/cjs/appui-react/redux/SessionState.js +11 -10
  361. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  362. package/lib/cjs/appui-react/redux/StateManager.d.ts +5 -4
  363. package/lib/cjs/appui-react/redux/StateManager.d.ts.map +1 -1
  364. package/lib/cjs/appui-react/redux/StateManager.js +3 -3
  365. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  366. package/lib/cjs/appui-react/redux/connectIModel.d.ts +5 -1
  367. package/lib/cjs/appui-react/redux/connectIModel.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/redux/connectIModel.js +5 -3
  369. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  370. package/lib/cjs/appui-react/redux/redux-ts.d.ts +35 -32
  371. package/lib/cjs/appui-react/redux/redux-ts.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/redux/redux-ts.js +3 -2
  373. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  374. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts +17 -8
  375. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  376. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +21 -18
  377. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  378. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  379. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +9 -8
  380. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  381. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +5 -0
  382. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +1 -1
  383. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +18 -17
  385. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  386. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts +1 -0
  387. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  388. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +2 -0
  389. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  390. package/lib/cjs/appui-react/shared/AnyItemDef.d.ts +1 -0
  391. package/lib/cjs/appui-react/shared/AnyItemDef.d.ts.map +1 -1
  392. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  393. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  395. package/lib/cjs/appui-react/shared/CommandItemDef.d.ts +1 -0
  396. package/lib/cjs/appui-react/shared/CommandItemDef.d.ts.map +1 -1
  397. package/lib/cjs/appui-react/shared/CommandItemDef.js +2 -0
  398. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  399. package/lib/cjs/appui-react/shared/CustomItemDef.d.ts +1 -0
  400. package/lib/cjs/appui-react/shared/CustomItemDef.d.ts.map +1 -1
  401. package/lib/cjs/appui-react/shared/CustomItemDef.js +2 -0
  402. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  403. package/lib/cjs/appui-react/shared/CustomItemProps.d.ts +1 -3
  404. package/lib/cjs/appui-react/shared/CustomItemProps.d.ts.map +1 -1
  405. package/lib/cjs/appui-react/shared/CustomItemProps.js +0 -7
  406. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  407. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +1 -0
  408. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  410. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +3 -1
  411. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  412. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -0
  413. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  414. package/lib/cjs/appui-react/shared/ItemMap.d.ts +2 -0
  415. package/lib/cjs/appui-react/shared/ItemMap.d.ts.map +1 -1
  416. package/lib/cjs/appui-react/shared/ItemMap.js +3 -0
  417. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  418. package/lib/cjs/appui-react/shared/ItemProps.d.ts +4 -0
  419. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  421. package/lib/cjs/appui-react/shared/MenuItem.d.ts +45 -12
  422. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  423. package/lib/cjs/appui-react/shared/MenuItem.js +8 -1
  424. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  425. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +4 -1
  426. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  427. package/lib/cjs/appui-react/shared/ToolItemDef.js +5 -1
  428. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  429. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +4 -4
  430. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  431. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +4 -4
  432. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +2 -2
  433. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  434. package/lib/cjs/appui-react/statusbar/Field.d.ts +2 -2
  435. package/lib/cjs/appui-react/statusbar/Field.d.ts.map +1 -1
  436. package/lib/cjs/appui-react/statusbar/Field.js +1 -1
  437. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  438. package/lib/cjs/appui-react/statusbar/Indicator.d.ts +2 -2
  439. package/lib/cjs/appui-react/statusbar/Indicator.d.ts.map +1 -1
  440. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -1
  441. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  442. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +2 -2
  443. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +1 -1
  444. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  445. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  446. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  447. package/lib/cjs/appui-react/statusbar/Separator.d.ts.map +1 -1
  448. package/lib/cjs/appui-react/statusbar/Separator.js +1 -0
  449. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  450. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +4 -4
  451. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  452. package/lib/cjs/appui-react/statusbar/StatusBar.js +8 -4
  453. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  454. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  455. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  456. package/lib/cjs/appui-react/statusbar/dialog/Button.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  458. package/lib/cjs/appui-react/statusbar/dialog/Dialog.d.ts.map +1 -1
  459. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  460. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.d.ts.map +1 -1
  461. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  462. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts +1 -1
  463. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -1
  464. package/lib/cjs/appui-react/statusbar/popup/Popup.js +5 -2
  465. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -1
  466. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.js.map +1 -1
  468. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  469. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +1 -0
  470. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  471. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  472. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  473. package/lib/cjs/appui-react/statusfields/SelectionCount.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  475. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts +3 -4
  476. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  477. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +9 -13
  478. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  479. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +14 -19
  480. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  481. package/lib/cjs/appui-react/statusfields/SelectionScope.js +27 -29
  482. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  483. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +9 -12
  484. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  485. package/lib/cjs/appui-react/statusfields/SnapMode.js +29 -31
  486. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  487. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +2 -1
  488. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  489. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -0
  490. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  491. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -1
  492. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +1 -0
  493. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  494. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -1
  495. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  496. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +2 -1
  497. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  498. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -0
  499. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  500. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  502. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  503. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -2
  504. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  505. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -2
  506. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +1 -1
  507. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  508. package/lib/cjs/appui-react/theme/ThemeId.d.ts +38 -0
  509. package/lib/cjs/appui-react/theme/ThemeId.d.ts.map +1 -0
  510. package/lib/cjs/appui-react/theme/ThemeId.js +41 -0
  511. package/lib/cjs/appui-react/theme/ThemeId.js.map +1 -0
  512. package/lib/cjs/appui-react/theme/ThemeManager.d.ts +8 -58
  513. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  514. package/lib/cjs/appui-react/theme/ThemeManager.js +33 -108
  515. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  516. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +1 -0
  517. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  518. package/lib/cjs/appui-react/toolbar/GroupItem.js +2 -3
  519. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  520. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +1 -1
  521. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  522. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  523. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +20 -5
  524. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  525. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +39 -8
  526. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  527. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +3 -4
  528. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  529. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  530. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +4 -1
  531. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  532. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +12 -1
  533. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  534. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +3 -3
  535. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  536. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  537. package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  538. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -0
  539. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  540. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +2 -0
  541. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  542. package/lib/cjs/appui-react/tools/ToolbarItems.d.ts +76 -0
  543. package/lib/cjs/appui-react/tools/ToolbarItems.d.ts.map +1 -0
  544. package/lib/cjs/appui-react/tools/ToolbarItems.js +186 -0
  545. package/lib/cjs/appui-react/tools/ToolbarItems.js.map +1 -0
  546. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  547. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +2 -0
  548. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  549. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  550. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +41 -13
  551. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  552. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  553. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  554. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  555. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  556. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +28 -11
  557. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  558. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  559. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  560. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  561. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  562. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -1
  563. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  564. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -1
  565. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  566. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +8 -14
  567. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  568. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  569. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +19 -19
  570. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +19 -19
  571. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  572. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +3 -2
  573. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  574. package/lib/cjs/appui-react/uistate/AppUiSettings.js +10 -9
  575. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  576. package/lib/cjs/appui-react/uistate/useGlobalStore.d.ts +17 -0
  577. package/lib/cjs/appui-react/uistate/useGlobalStore.d.ts.map +1 -0
  578. package/lib/cjs/appui-react/uistate/useGlobalStore.js +21 -0
  579. package/lib/cjs/appui-react/uistate/useGlobalStore.js.map +1 -0
  580. package/lib/cjs/appui-react/uistate/useReduxFrameworkState.d.ts +7 -0
  581. package/lib/cjs/appui-react/uistate/useReduxFrameworkState.d.ts.map +1 -0
  582. package/lib/cjs/appui-react/uistate/useReduxFrameworkState.js +32 -0
  583. package/lib/cjs/appui-react/uistate/useReduxFrameworkState.js.map +1 -0
  584. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  585. package/lib/cjs/appui-react/utils/PropsHelper.js +1 -0
  586. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  587. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -1
  588. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -1
  589. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  590. package/lib/cjs/appui-react/widget-panels/Frontstage.js +21 -17
  591. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  592. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  593. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -0
  594. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  595. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +7 -9
  596. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  597. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +17 -19
  598. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  599. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  600. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +26 -11
  601. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  602. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  603. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +30 -6
  604. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  605. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  606. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  607. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  608. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  609. package/lib/cjs/appui-react/widgets/Widget.d.ts +3 -4
  610. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  611. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  612. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -2
  613. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  614. package/lib/cjs/appui-react/widgets/WidgetDef.js +4 -3
  615. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  616. package/lib/cjs/appui-react.d.ts +10 -3
  617. package/lib/cjs/appui-react.d.ts.map +1 -1
  618. package/lib/cjs/appui-react.js +10 -3
  619. package/lib/cjs/appui-react.js.map +1 -1
  620. package/lib/esm/appui-react/UiFramework.d.ts +202 -140
  621. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  622. package/lib/esm/appui-react/UiFramework.js +428 -297
  623. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  624. package/lib/esm/appui-react/UiFramework.json +8 -4
  625. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.d.ts +1 -0
  626. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.d.ts.map +1 -1
  627. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js +2 -0
  628. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  629. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts +4 -2
  630. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  631. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +6 -7
  632. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  633. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +0 -4
  634. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  635. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  636. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  637. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  638. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
  639. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  640. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +28 -65
  641. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  642. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  643. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +2 -0
  644. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  645. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  646. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  647. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +12 -12
  648. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +7 -7
  649. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  650. package/lib/esm/appui-react/accudraw/SquareButton.d.ts +0 -1
  651. package/lib/esm/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  652. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  653. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  654. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  655. package/lib/esm/appui-react/backstage/BackstageManager.d.ts +3 -2
  656. package/lib/esm/appui-react/backstage/BackstageManager.d.ts.map +1 -1
  657. package/lib/esm/appui-react/backstage/BackstageManager.js +5 -7
  658. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  659. package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -1
  660. package/lib/esm/appui-react/backstage/InternalBackstageManager.js +1 -0
  661. package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  662. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  663. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +8 -18
  664. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  665. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.scss +4 -0
  666. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +16 -0
  667. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  668. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +63 -17
  669. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  670. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -2
  671. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  672. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  673. package/lib/esm/appui-react/content/ContentGroup.d.ts +3 -3
  674. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  675. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  676. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  677. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  678. package/lib/esm/appui-react/content/ContentLayout.js +1 -1
  679. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  680. package/lib/esm/appui-react/content/IModelViewport.d.ts +5 -6
  681. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  682. package/lib/esm/appui-react/content/IModelViewport.js +24 -13
  683. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  684. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +1 -1
  685. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
  686. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  687. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -2
  688. package/lib/esm/appui-react/cursor/CursorInformation.js +1 -1
  689. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  690. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -1
  691. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  692. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +4 -1
  693. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  694. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +3 -2
  695. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  696. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  697. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  698. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  699. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  700. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  701. package/lib/esm/appui-react/dialog/ContentDialog.d.ts +2 -5
  702. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  703. package/lib/esm/appui-react/dialog/ContentDialog.js +2 -44
  704. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  705. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
  706. package/lib/esm/appui-react/dialog/ContentDialogManager.js +2 -0
  707. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  708. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +2 -2
  709. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  710. package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -1
  711. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  712. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  713. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +1 -0
  714. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  715. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
  716. package/lib/esm/appui-react/dialog/ModalDialogManager.js +2 -0
  717. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  718. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts +2 -0
  719. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  720. package/lib/esm/appui-react/dialog/ModelessDialog.js +1 -0
  721. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  722. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  723. package/lib/esm/appui-react/dialog/ModelessDialogManager.js +2 -0
  724. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  725. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts +9 -22
  726. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  727. package/lib/esm/appui-react/dialog/StandardMessageBox.js +135 -92
  728. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  729. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts +5 -1
  730. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  731. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +69 -6
  732. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  733. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +4 -3
  734. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  735. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -1
  736. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  737. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  738. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  739. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts +2 -2
  740. package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts.map +1 -1
  741. package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -1
  742. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +6 -5
  743. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  744. package/lib/esm/appui-react/framework/FrameworkContent.js +3 -3
  745. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  746. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -2
  747. package/lib/esm/appui-react/framework/FrameworkDialogs.js +2 -2
  748. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  749. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +24 -19
  750. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  751. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -8
  752. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  753. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +25 -24
  754. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -1
  755. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  756. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -2
  757. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -1
  758. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  759. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +1 -1
  760. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  761. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +9 -0
  762. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -0
  763. package/lib/esm/appui-react/frontstage/Frontstage.js +9 -0
  764. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -0
  765. package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts +1 -0
  766. package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  767. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  768. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +7 -6
  769. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  770. package/lib/esm/appui-react/frontstage/FrontstageDef.js +19 -7
  771. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  772. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +3 -2
  773. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
  774. package/lib/esm/appui-react/frontstage/FrontstageProvider.js +1 -0
  775. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  776. package/lib/esm/appui-react/frontstage/FrontstageUtilities.d.ts +13 -0
  777. package/lib/esm/appui-react/frontstage/FrontstageUtilities.d.ts.map +1 -0
  778. package/lib/esm/appui-react/frontstage/FrontstageUtilities.js +74 -0
  779. package/lib/esm/appui-react/frontstage/FrontstageUtilities.js.map +1 -0
  780. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +4 -4
  781. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  782. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +41 -17
  783. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  784. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +2 -2
  785. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  786. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  787. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +2 -3
  788. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  789. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +6 -5
  790. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  791. package/lib/esm/appui-react/frontstage/NestedFrontstageAppButton.d.ts +19 -0
  792. package/lib/esm/appui-react/frontstage/NestedFrontstageAppButton.d.ts.map +1 -0
  793. package/lib/esm/appui-react/frontstage/NestedFrontstageAppButton.js +28 -0
  794. package/lib/esm/appui-react/frontstage/NestedFrontstageAppButton.js.map +1 -0
  795. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +8 -10
  796. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  797. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +6 -58
  798. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  799. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  800. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  801. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  802. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +1 -1
  803. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  804. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +0 -1
  805. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  806. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +4 -1
  807. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  808. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +9 -2
  809. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  810. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +4 -2
  811. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  812. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +3 -3
  813. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  814. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutProps.d.ts +60 -0
  815. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutProps.d.ts.map +1 -0
  816. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutProps.js +2 -0
  817. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -0
  818. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutUtilities.d.ts +13 -0
  819. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutUtilities.d.ts.map +1 -0
  820. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutUtilities.js +29 -0
  821. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutUtilities.js.map +1 -0
  822. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
  823. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
  824. package/lib/esm/appui-react/layout/backstage/Backstage.d.ts.map +1 -1
  825. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  826. package/lib/esm/appui-react/layout/backstage/Item.d.ts.map +1 -1
  827. package/lib/esm/appui-react/layout/backstage/Item.js.map +1 -1
  828. package/lib/esm/appui-react/layout/backstage/Separator.d.ts.map +1 -1
  829. package/lib/esm/appui-react/layout/backstage/Separator.js +1 -0
  830. package/lib/esm/appui-react/layout/backstage/Separator.js.map +1 -1
  831. package/lib/esm/appui-react/layout/footer/dialog/Dialog.d.ts.map +1 -1
  832. package/lib/esm/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  833. package/lib/esm/appui-react/layout/footer/dialog/TitleBar.d.ts.map +1 -1
  834. package/lib/esm/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  835. package/lib/esm/appui-react/layout/footer/snap-mode/Panel.d.ts.map +1 -1
  836. package/lib/esm/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  837. package/lib/esm/appui-react/layout/footer/snap-mode/Snap.d.ts.map +1 -1
  838. package/lib/esm/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  839. package/lib/esm/appui-react/layout/footer/tool-assistance/Dialog.d.ts.map +1 -1
  840. package/lib/esm/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  841. package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.d.ts.map +1 -1
  842. package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  843. package/lib/esm/appui-react/layout/footer/tool-assistance/Item.d.ts.map +1 -1
  844. package/lib/esm/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  845. package/lib/esm/appui-react/layout/footer/tool-assistance/NewDot.d.ts.map +1 -1
  846. package/lib/esm/appui-react/layout/footer/tool-assistance/NewDot.js +1 -0
  847. package/lib/esm/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  848. package/lib/esm/appui-react/layout/footer/tool-assistance/Separator.d.ts.map +1 -1
  849. package/lib/esm/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  850. package/lib/esm/appui-react/layout/outline/SectionOutline.d.ts.map +1 -1
  851. package/lib/esm/appui-react/layout/outline/SectionOutline.js.map +1 -1
  852. package/lib/esm/appui-react/layout/popup/Tooltip.d.ts.map +1 -1
  853. package/lib/esm/appui-react/layout/popup/Tooltip.js.map +1 -1
  854. package/lib/esm/appui-react/layout/target/TargetContainer.d.ts.map +1 -1
  855. package/lib/esm/appui-react/layout/target/TargetContainer.js.map +1 -1
  856. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  857. package/lib/esm/appui-react/layout/tool-settings/Docked.js +1 -0
  858. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  859. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  860. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  861. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  862. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  863. package/lib/esm/appui-react/layout/tool-settings/Panel.d.ts.map +1 -1
  864. package/lib/esm/appui-react/layout/tool-settings/Panel.js +3 -1
  865. package/lib/esm/appui-react/layout/tool-settings/Panel.js.map +1 -1
  866. package/lib/esm/appui-react/layout/tool-settings/Setting.d.ts.map +1 -1
  867. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  868. package/lib/esm/appui-react/layout/widget/Menu.d.ts.map +1 -1
  869. package/lib/esm/appui-react/layout/widget/Menu.js +3 -1
  870. package/lib/esm/appui-react/layout/widget/Menu.js.map +1 -1
  871. package/lib/esm/appui-react/layout/widget/MenuTab.d.ts.map +1 -1
  872. package/lib/esm/appui-react/layout/widget/MenuTab.js.map +1 -1
  873. package/lib/esm/appui-react/layout/widget/NavigationArea.d.ts.map +1 -1
  874. package/lib/esm/appui-react/layout/widget/NavigationArea.js.map +1 -1
  875. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  876. package/lib/esm/appui-react/layout/widget/Tab.js +1 -0
  877. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  878. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  879. package/lib/esm/appui-react/layout/widget/TabBar.js +1 -0
  880. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  881. package/lib/esm/appui-react/layout/widget/ToolsArea.d.ts.map +1 -1
  882. package/lib/esm/appui-react/layout/widget/ToolsArea.js.map +1 -1
  883. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  884. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  885. package/lib/esm/appui-react/layout/widget/tools/button/App.d.ts +2 -1
  886. package/lib/esm/appui-react/layout/widget/tools/button/App.d.ts.map +1 -1
  887. package/lib/esm/appui-react/layout/widget/tools/button/App.js.map +1 -1
  888. package/lib/esm/appui-react/layout/widget/tools/button/Back.d.ts +2 -1
  889. package/lib/esm/appui-react/layout/widget/tools/button/Back.d.ts.map +1 -1
  890. package/lib/esm/appui-react/layout/widget/tools/button/Back.js.map +1 -1
  891. package/lib/esm/appui-react/layout/widget/tools/button/Button.d.ts.map +1 -1
  892. package/lib/esm/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  893. package/lib/esm/appui-react/layout/widget/tools/button/Expandable.d.ts.map +1 -1
  894. package/lib/esm/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  895. package/lib/esm/appui-react/layout/widget-panels/Expander.d.ts.map +1 -1
  896. package/lib/esm/appui-react/layout/widget-panels/Expander.js +1 -0
  897. package/lib/esm/appui-react/layout/widget-panels/Expander.js.map +1 -1
  898. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  899. package/lib/esm/appui-react/layout/widget-panels/Grip.js +3 -0
  900. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  901. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  902. package/lib/esm/appui-react/messages/InputField.js +6 -2
  903. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  904. package/lib/esm/appui-react/messages/MessageLabel.d.ts.map +1 -1
  905. package/lib/esm/appui-react/messages/MessageLabel.js +1 -0
  906. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  907. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -12
  908. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  909. package/lib/esm/appui-react/messages/MessageManager.js +22 -11
  910. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  911. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  912. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  913. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  914. package/lib/esm/appui-react/messages/Pointer.js +11 -3
  915. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  916. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  917. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  918. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  919. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -2
  920. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  921. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  922. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  923. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  924. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -2
  925. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  926. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  927. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  928. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -1
  929. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  930. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  931. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  932. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  933. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +6 -3
  934. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  935. package/lib/esm/appui-react/pickers/ViewSelector.js +10 -3
  936. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  937. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  938. package/lib/esm/appui-react/popup/CardPopup.js +3 -1
  939. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  940. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +2 -2
  941. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  942. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -1
  943. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  944. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  945. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  946. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +1 -1
  947. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  948. package/lib/esm/appui-react/popup/PopupManager.d.ts +2 -2
  949. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  950. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  951. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  952. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  953. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  954. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  955. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  956. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +15 -9
  957. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  958. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +1 -1
  959. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -1
  960. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  961. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  962. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +7 -3
  963. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  964. package/lib/esm/appui-react/redux/ConfigurableUiState.d.ts +79 -0
  965. package/lib/esm/appui-react/redux/ConfigurableUiState.d.ts.map +1 -0
  966. package/lib/esm/appui-react/{configurableui/state.js → redux/ConfigurableUiState.js} +11 -7
  967. package/lib/esm/appui-react/redux/ConfigurableUiState.js.map +1 -0
  968. package/lib/esm/appui-react/redux/FrameworkState.d.ts +7 -10
  969. package/lib/esm/appui-react/redux/FrameworkState.d.ts.map +1 -1
  970. package/lib/esm/appui-react/redux/FrameworkState.js +3 -2
  971. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  972. package/lib/esm/appui-react/redux/ReducerRegistry.d.ts +3 -0
  973. package/lib/esm/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  974. package/lib/esm/appui-react/redux/ReducerRegistry.js +2 -0
  975. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  976. package/lib/esm/appui-react/redux/SessionState.d.ts +29 -12
  977. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  978. package/lib/esm/appui-react/redux/SessionState.js +11 -10
  979. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  980. package/lib/esm/appui-react/redux/StateManager.d.ts +5 -4
  981. package/lib/esm/appui-react/redux/StateManager.d.ts.map +1 -1
  982. package/lib/esm/appui-react/redux/StateManager.js +3 -3
  983. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  984. package/lib/esm/appui-react/redux/connectIModel.d.ts +5 -1
  985. package/lib/esm/appui-react/redux/connectIModel.d.ts.map +1 -1
  986. package/lib/esm/appui-react/redux/connectIModel.js +3 -1
  987. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  988. package/lib/esm/appui-react/redux/redux-ts.d.ts +35 -32
  989. package/lib/esm/appui-react/redux/redux-ts.d.ts.map +1 -1
  990. package/lib/esm/appui-react/redux/redux-ts.js +3 -2
  991. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  992. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts +17 -8
  993. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  994. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -18
  995. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  996. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  997. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +11 -10
  998. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  999. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +5 -0
  1000. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +1 -1
  1001. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  1002. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +12 -11
  1003. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  1004. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts +1 -0
  1005. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  1006. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +2 -0
  1007. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  1008. package/lib/esm/appui-react/shared/AnyItemDef.d.ts +1 -0
  1009. package/lib/esm/appui-react/shared/AnyItemDef.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  1011. package/lib/esm/appui-react/shared/AnyToolbarItemDef.d.ts.map +1 -1
  1012. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  1013. package/lib/esm/appui-react/shared/CommandItemDef.d.ts +1 -0
  1014. package/lib/esm/appui-react/shared/CommandItemDef.d.ts.map +1 -1
  1015. package/lib/esm/appui-react/shared/CommandItemDef.js +2 -0
  1016. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  1017. package/lib/esm/appui-react/shared/CustomItemDef.d.ts +1 -0
  1018. package/lib/esm/appui-react/shared/CustomItemDef.d.ts.map +1 -1
  1019. package/lib/esm/appui-react/shared/CustomItemDef.js +2 -0
  1020. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  1021. package/lib/esm/appui-react/shared/CustomItemProps.d.ts +1 -3
  1022. package/lib/esm/appui-react/shared/CustomItemProps.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/shared/CustomItemProps.js +0 -7
  1024. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  1025. package/lib/esm/appui-react/shared/GroupItemProps.d.ts +1 -0
  1026. package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  1027. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  1028. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +3 -1
  1029. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  1030. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -0
  1031. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  1032. package/lib/esm/appui-react/shared/ItemMap.d.ts +2 -0
  1033. package/lib/esm/appui-react/shared/ItemMap.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/shared/ItemMap.js +3 -0
  1035. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  1036. package/lib/esm/appui-react/shared/ItemProps.d.ts +4 -0
  1037. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  1039. package/lib/esm/appui-react/shared/MenuItem.d.ts +45 -12
  1040. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  1041. package/lib/esm/appui-react/shared/MenuItem.js +8 -1
  1042. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  1043. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +4 -1
  1044. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  1045. package/lib/esm/appui-react/shared/ToolItemDef.js +5 -1
  1046. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  1047. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +4 -4
  1048. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  1049. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +4 -4
  1050. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +2 -2
  1051. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  1052. package/lib/esm/appui-react/statusbar/Field.d.ts +2 -2
  1053. package/lib/esm/appui-react/statusbar/Field.d.ts.map +1 -1
  1054. package/lib/esm/appui-react/statusbar/Field.js +1 -1
  1055. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  1056. package/lib/esm/appui-react/statusbar/Indicator.d.ts +2 -2
  1057. package/lib/esm/appui-react/statusbar/Indicator.d.ts.map +1 -1
  1058. package/lib/esm/appui-react/statusbar/Indicator.js +1 -1
  1059. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  1060. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +2 -2
  1061. package/lib/esm/appui-react/statusbar/LabelIndicator.js +1 -1
  1062. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  1063. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  1064. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  1065. package/lib/esm/appui-react/statusbar/Separator.d.ts.map +1 -1
  1066. package/lib/esm/appui-react/statusbar/Separator.js +1 -0
  1067. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  1068. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +4 -4
  1069. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  1070. package/lib/esm/appui-react/statusbar/StatusBar.js +8 -4
  1071. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  1072. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  1073. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  1074. package/lib/esm/appui-react/statusbar/dialog/Button.d.ts.map +1 -1
  1075. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  1076. package/lib/esm/appui-react/statusbar/dialog/Dialog.d.ts.map +1 -1
  1077. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  1078. package/lib/esm/appui-react/statusbar/dialog/TitleBar.d.ts.map +1 -1
  1079. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  1080. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts +1 -1
  1081. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -1
  1082. package/lib/esm/appui-react/statusbar/popup/Popup.js +5 -2
  1083. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -1
  1084. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.d.ts.map +1 -1
  1085. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.js.map +1 -1
  1086. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  1087. package/lib/esm/appui-react/statusfields/ActivityCenter.js +1 -0
  1088. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  1089. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  1090. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1091. package/lib/esm/appui-react/statusfields/SelectionCount.d.ts.map +1 -1
  1092. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  1093. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts +3 -4
  1094. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/statusfields/SelectionInfo.js +9 -13
  1096. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  1097. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +14 -19
  1098. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  1099. package/lib/esm/appui-react/statusfields/SelectionScope.js +26 -29
  1100. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1101. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +9 -12
  1102. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  1103. package/lib/esm/appui-react/statusfields/SnapMode.js +28 -31
  1104. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1105. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +2 -1
  1106. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  1107. package/lib/esm/appui-react/statusfields/ViewAttributes.js +1 -0
  1108. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1109. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -1
  1110. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +1 -0
  1111. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  1112. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -1
  1113. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  1114. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +2 -1
  1115. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  1116. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -0
  1117. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  1118. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1119. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1120. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  1121. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -2
  1122. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  1123. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -2
  1124. package/lib/esm/appui-react/syncui/UiSyncEvent.js +1 -1
  1125. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  1126. package/lib/esm/appui-react/theme/ThemeId.d.ts +38 -0
  1127. package/lib/esm/appui-react/theme/ThemeId.d.ts.map +1 -0
  1128. package/lib/esm/appui-react/theme/ThemeId.js +38 -0
  1129. package/lib/esm/appui-react/theme/ThemeId.js.map +1 -0
  1130. package/lib/esm/appui-react/theme/ThemeManager.d.ts +8 -58
  1131. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1132. package/lib/esm/appui-react/theme/ThemeManager.js +24 -100
  1133. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1134. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +1 -0
  1135. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  1136. package/lib/esm/appui-react/toolbar/GroupItem.js +2 -3
  1137. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  1138. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +1 -1
  1139. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  1140. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  1141. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +20 -5
  1142. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1143. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +36 -7
  1144. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1145. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +3 -4
  1146. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  1147. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  1148. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +4 -1
  1149. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  1150. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +12 -1
  1151. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  1152. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +3 -3
  1153. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  1154. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  1155. package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  1156. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -0
  1157. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1158. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +2 -0
  1159. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1160. package/lib/esm/appui-react/tools/ToolbarItems.d.ts +76 -0
  1161. package/lib/esm/appui-react/tools/ToolbarItems.d.ts.map +1 -0
  1162. package/lib/esm/appui-react/tools/ToolbarItems.js +183 -0
  1163. package/lib/esm/appui-react/tools/ToolbarItems.js.map +1 -0
  1164. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  1165. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +2 -0
  1166. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  1167. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  1168. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +41 -13
  1169. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1170. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  1171. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  1172. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  1173. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  1174. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +28 -11
  1175. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  1176. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  1177. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  1178. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  1179. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  1180. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -1
  1181. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1182. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -1
  1183. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1184. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +8 -14
  1185. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  1186. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  1187. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +19 -19
  1188. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +19 -19
  1189. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1190. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +3 -2
  1191. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  1192. package/lib/esm/appui-react/uistate/AppUiSettings.js +10 -9
  1193. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  1194. package/lib/esm/appui-react/uistate/useGlobalStore.d.ts +17 -0
  1195. package/lib/esm/appui-react/uistate/useGlobalStore.d.ts.map +1 -0
  1196. package/lib/esm/appui-react/uistate/useGlobalStore.js +18 -0
  1197. package/lib/esm/appui-react/uistate/useGlobalStore.js.map +1 -0
  1198. package/lib/esm/appui-react/uistate/useReduxFrameworkState.d.ts +7 -0
  1199. package/lib/esm/appui-react/uistate/useReduxFrameworkState.d.ts.map +1 -0
  1200. package/lib/esm/appui-react/uistate/useReduxFrameworkState.js +28 -0
  1201. package/lib/esm/appui-react/uistate/useReduxFrameworkState.js.map +1 -0
  1202. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  1203. package/lib/esm/appui-react/utils/PropsHelper.js +1 -0
  1204. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1205. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -1
  1206. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -1
  1207. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1208. package/lib/esm/appui-react/widget-panels/Frontstage.js +21 -17
  1209. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1210. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  1211. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -0
  1212. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1213. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +7 -9
  1214. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1215. package/lib/esm/appui-react/widgets/BackstageAppButton.js +17 -19
  1216. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1217. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  1218. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +26 -11
  1219. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  1220. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  1221. package/lib/esm/appui-react/widgets/BasicToolWidget.js +30 -6
  1222. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  1223. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1224. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1225. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  1226. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  1227. package/lib/esm/appui-react/widgets/Widget.d.ts +3 -4
  1228. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1229. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1230. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -2
  1231. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1232. package/lib/esm/appui-react/widgets/WidgetDef.js +4 -3
  1233. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1234. package/lib/esm/appui-react.d.ts +10 -3
  1235. package/lib/esm/appui-react.d.ts.map +1 -1
  1236. package/lib/esm/appui-react.js +10 -3
  1237. package/lib/esm/appui-react.js.map +1 -1
  1238. package/lib/public/locales/en/UiFramework.json +8 -4
  1239. package/package.json +8 -8
  1240. package/lib/cjs/appui-react/configurableui/state.d.ts +0 -62
  1241. package/lib/cjs/appui-react/configurableui/state.d.ts.map +0 -1
  1242. package/lib/cjs/appui-react/configurableui/state.js.map +0 -1
  1243. package/lib/cjs/appui-react/dialog/ContentDialog.scss +0 -25
  1244. package/lib/esm/appui-react/configurableui/state.d.ts +0 -62
  1245. package/lib/esm/appui-react/configurableui/state.d.ts.map +0 -1
  1246. package/lib/esm/appui-react/configurableui/state.js.map +0 -1
  1247. package/lib/esm/appui-react/dialog/ContentDialog.scss +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"ContentLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayout.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 ContentView\n */\n\n// cSpell:ignore contentlayout\n\nimport \"./ContentLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SplitPane } from \"./split-pane/SplitPane\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport type { ContentGroup } from \"./ContentGroup\";\nimport type {\n ContentLayoutProps,\n LayoutFragmentProps,\n LayoutHorizontalSplitProps,\n LayoutSplitPropsBase,\n LayoutVerticalSplitProps,\n} from \"@itwin/appui-abstract\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { ActiveContentChangedEventArgs } from \"../framework/FrameworkContent\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[ContentWrapper]] */\ninterface ContentWrapperProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** ContentWrapper React component.\n * @internal\n */\nexport function ContentWrapper(props: ContentWrapperProps) {\n const { content } = props;\n const [isActive, setIsActive] = React.useState(\n content === UiFramework.content.getActive()\n );\n const activeFrontstageDef = useActiveFrontstageDef();\n\n const contentControlKey = (\n contentControl: React.ReactNode\n ): string | undefined => {\n let controlId: string | undefined;\n if (contentControl && (contentControl as React.ReactElement<any>).key) {\n const key = (contentControl as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n return controlId;\n };\n\n const [hasMultipleContents, setHasMultipleContents] = React.useState(\n () =>\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ?? 0) > 1\n );\n\n React.useEffect(() => {\n setIsActive(content === UiFramework.content.getActive());\n }, [content]);\n\n React.useEffect(() => {\n const handleActiveContentChanged = (\n args: ActiveContentChangedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentIsIdentical = content === args.activeContent;\n if (contentIsIdentical) setIsActive(contentIsIdentical);\n else {\n const contentId = contentControlKey(content);\n const activeContentId = contentControlKey(args.activeContent);\n setIsActive(contentId === activeContentId);\n }\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onActiveContentChangedEvent.addListener(\n handleActiveContentChanged\n );\n }, [activeFrontstageDef, content]);\n\n const handleMouseDown = React.useCallback(() => {\n UiFramework.content.setActive(content);\n setIsActive(true);\n }, [content]);\n\n React.useEffect(() => {\n const onAvailableContentChanged = () => {\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onAvailableContentChangedEvent.addListener(\n onAvailableContentChanged\n );\n }, [activeFrontstageDef]);\n\n const overlayClassName = classnames(\n \"uifw-contentlayout-overlay-div\",\n isActive && hasMultipleContents\n ? \"uifw-contentlayout-overlay-active\"\n : \"uifw-contentlayout-overlay-inactive\"\n );\n\n return (\n <div\n className={classnames(\"uifw-contentlayout-wrapper\", props.className)}\n style={props.style}\n onMouseDown={handleMouseDown}\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n role=\"presentation\"\n >\n {content}\n <div className={overlayClassName} />\n </div>\n );\n}\n\n/** Properties for the [[SplitContainer]] component */\ninterface SplitContainerProps extends CommonProps {\n contentA: React.ReactNode;\n contentB: React.ReactNode;\n orientation: Orientation;\n percentage: number;\n resizable: boolean;\n minSizeTopLeft: number;\n minSizeBottomRight: number;\n splitterStateId?: string;\n onSplitterChange?: (size: number, percentage: number) => void;\n}\n\n/** Split Container class.\n */\nclass SplitContainer extends React.Component<SplitContainerProps> {\n private _containerDiv: HTMLDivElement | null = null;\n\n constructor(props: SplitContainerProps) {\n super(props);\n }\n\n private _onSplitterChange = (size: number): void => {\n let percentage = 0;\n\n if (this._containerDiv && size > 0) {\n if (this.props.orientation === Orientation.Horizontal) {\n const height = this._containerDiv.getBoundingClientRect().height;\n if (height > 0) percentage = size / height;\n } else {\n const width = this._containerDiv.getBoundingClientRect().width;\n if (width > 0) percentage = size / width;\n }\n\n if (this.props.onSplitterChange)\n this.props.onSplitterChange(size, percentage);\n }\n };\n\n public override render(): React.ReactNode {\n const orientation =\n this.props.orientation === Orientation.Horizontal\n ? \"horizontal\"\n : \"vertical\";\n const defaultSize = `${(this.props.percentage * 100).toString()}%`;\n const minSizeTopLeft = this.props.minSizeTopLeft;\n const minSizeBottomRight = -this.props.minSizeBottomRight;\n\n return (\n <div\n ref={(e) => {\n this._containerDiv = e;\n }}\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n >\n <SplitPane\n split={orientation}\n minSize={minSizeTopLeft}\n maxSize={minSizeBottomRight}\n defaultSize={defaultSize}\n onChange={this._onSplitterChange}\n allowResize={this.props.resizable}\n >\n {this.props.contentA}\n {this.props.contentB}\n </SplitPane>\n </div>\n );\n }\n}\n\n/** Properties for [[SingleContentContainer]] component\n */\ninterface SingleContentProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** Single Content Container class.\n */\nclass SingleContentContainer extends React.Component<SingleContentProps> {\n public override render(): React.ReactNode {\n return (\n <div\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n data-testid=\"single-content-container\"\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n >\n <ContentWrapper\n content={this.props.content}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n }\n}\n\n/** Common interface for HorizontalSplit and VerticalSplit\n */\ninterface LayoutSplit {\n createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode;\n isLocked: boolean;\n}\n\n/** Minimum split size */\nconst MIN_SPLIT_SIZE = 6;\n\n/** Base Split class.\n */\nclass BaseSplit {\n public defaultPercentage: number;\n public stateId: string = \"\";\n public isLocked: boolean = false;\n\n constructor(props: LayoutSplitPropsBase) {\n this.defaultPercentage = props.percentage;\n\n if (props.id) this.stateId = props.id;\n\n if (props.lock) this.isLocked = props.lock;\n }\n}\n\n/** Horizontal Split class.\n */\nclass HorizontalSplit extends BaseSplit implements LayoutSplit {\n private _topIndex: number = -1;\n private _bottomIndex: number = -1;\n private _topSplit?: LayoutSplit;\n private _bottomSplit?: LayoutSplit;\n private _props: LayoutHorizontalSplitProps;\n private _minSizeTop: number = MIN_SPLIT_SIZE;\n private _minSizeBottom: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutHorizontalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.top === \"number\") {\n this._topIndex = props.top;\n } else {\n this._topSplit = ContentLayoutDef.createSplit(props.top);\n }\n\n if (typeof props.bottom === \"number\") {\n this._bottomIndex = props.bottom;\n } else {\n this._bottomSplit = ContentLayoutDef.createSplit(props.bottom);\n }\n\n if (props.minSizeTop)\n this._minSizeTop = Math.max(props.minSizeTop, MIN_SPLIT_SIZE);\n\n if (props.minSizeBottom)\n this._minSizeBottom = Math.max(props.minSizeBottom, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const topContent = !this._topSplit ? (\n <ContentWrapper content={contentNodes[this._topIndex]} />\n ) : (\n this._topSplit.createContentContainer(contentNodes, resizable)\n );\n const bottomContent = !this._bottomSplit ? (\n <ContentWrapper content={contentNodes[this._bottomIndex]} />\n ) : (\n this._bottomSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={topContent}\n contentB={bottomContent}\n orientation={Orientation.Horizontal}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeTop}\n minSizeBottomRight={this._minSizeBottom}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Vertical Split class.\n */\nclass VerticalSplit extends BaseSplit implements LayoutSplit {\n private _leftIndex: number = -1;\n private _rightIndex: number = -1;\n private _leftSplit?: LayoutSplit;\n private _rightSplit?: LayoutSplit;\n private _props: LayoutVerticalSplitProps;\n private _minSizeLeft: number = MIN_SPLIT_SIZE;\n private _minSizeRight: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutVerticalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.left === \"number\") {\n this._leftIndex = props.left;\n } else {\n this._leftSplit = ContentLayoutDef.createSplit(props.left);\n }\n\n if (typeof props.right === \"number\") {\n this._rightIndex = props.right;\n } else {\n this._rightSplit = ContentLayoutDef.createSplit(props.right);\n }\n\n if (props.minSizeLeft)\n this._minSizeLeft = Math.max(props.minSizeLeft, MIN_SPLIT_SIZE);\n\n if (props.minSizeRight)\n this._minSizeRight = Math.max(props.minSizeRight, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const leftContent = !this._leftSplit ? (\n <ContentWrapper content={contentNodes[this._leftIndex]} />\n ) : (\n this._leftSplit.createContentContainer(contentNodes, resizable)\n );\n const rightContent = !this._rightSplit ? (\n <ContentWrapper content={contentNodes[this._rightIndex]} />\n ) : (\n this._rightSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={leftContent}\n contentB={rightContent}\n orientation={Orientation.Vertical}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeLeft}\n minSizeBottomRight={this._minSizeRight}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Content Layout Definition class.\n * @public\n */\nexport class ContentLayoutDef {\n private _layoutProps: ContentLayoutProps;\n private _rootSplit?: LayoutSplit;\n\n /** ID for this Content Layout */\n public id: string = \"\";\n /** Description of the layout. */\n public description: string = \"\";\n constructor(layoutProps: ContentLayoutProps) {\n this._layoutProps = layoutProps;\n this.id = layoutProps.id;\n if (layoutProps.description !== undefined)\n this.description = layoutProps.description;\n }\n\n public get rootSplit(): LayoutSplit | undefined {\n return this._rootSplit;\n }\n\n /** Creates [[ContentLayoutProps]] for JSON purposes\n * @public\n */\n public toJSON(): ContentLayoutProps {\n return this._layoutProps;\n }\n\n /** Fill a layout container with React nodes for each content view\n */\n public fillLayoutContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode | undefined {\n this._rootSplit = ContentLayoutDef.createSplit(this._layoutProps);\n\n if (this.rootSplit) {\n return this.rootSplit.createContentContainer(contentNodes, resizable);\n }\n\n if (contentNodes.length > 0)\n return <SingleContentContainer content={contentNodes[0]} />;\n\n return undefined;\n }\n\n /** Gets the indexes of content views used in this Content Layout\n */\n public getUsedContentIndexes(): number[] {\n let allContentIndexes: number[] = [];\n\n if (!this._layoutProps.horizontalSplit && !this._layoutProps.verticalSplit)\n allContentIndexes.push(0);\n else {\n allContentIndexes = allContentIndexes.concat(\n this.getHorizontalSplitContentIndexes(this._layoutProps.horizontalSplit)\n );\n allContentIndexes = allContentIndexes.concat(\n this.getVerticalSplitContentIndexes(this._layoutProps.verticalSplit)\n );\n }\n\n const uniqueContentIndexes = [...new Set(allContentIndexes)];\n\n return uniqueContentIndexes;\n }\n\n private getHorizontalSplitContentIndexes(\n splitProps?: LayoutHorizontalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.top === \"number\") contentIndexes.push(splitProps.top);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.top.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.top.verticalSplit)\n );\n }\n\n if (typeof splitProps.bottom === \"number\")\n contentIndexes.push(splitProps.bottom);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.bottom.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.bottom.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n private getVerticalSplitContentIndexes(\n splitProps?: LayoutVerticalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.left === \"number\")\n contentIndexes.push(splitProps.left);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.left.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.left.verticalSplit)\n );\n }\n\n if (typeof splitProps.right === \"number\")\n contentIndexes.push(splitProps.right);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.right.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.right.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n /** @internal */\n public static createSplit(\n fragmentDef: LayoutFragmentProps\n ): LayoutSplit | undefined {\n if (fragmentDef.horizontalSplit) {\n return new HorizontalSplit(fragmentDef.horizontalSplit);\n } else if (fragmentDef.verticalSplit) {\n return new VerticalSplit(fragmentDef.verticalSplit);\n }\n\n return undefined;\n }\n}\n\n/** Content Layout Activated Event Args class.\n * @public\n * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface ContentLayoutActivatedEventArgs {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout Activated Event class.\n * @public\n * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ContentLayoutActivatedEvent extends UiEvent<ContentLayoutActivatedEventArgs> {}\n\n/** State for the [[ContentLayout]].\n */\ninterface ContentLayoutState {\n contentLayoutDef: ContentLayoutDef;\n contentContainer?: React.ReactNode;\n contentGroupId?: string;\n}\n\n/** Properties for the [[ContentLayout]] React component.\n * @public\n */\nexport interface ContentLayoutComponentProps extends CommonProps {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout React component.\n * @public\n */\nexport class ContentLayout extends React.Component<\n ContentLayoutComponentProps,\n ContentLayoutState\n> {\n /** @internal */\n public override readonly state: Readonly<ContentLayoutState>;\n\n constructor(props: ContentLayoutComponentProps) {\n super(props);\n\n const contentLayoutDef = this.props.contentLayout;\n const contentGroup = this.props.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.state = {\n contentLayoutDef: this.props.contentLayout,\n contentContainer,\n contentGroupId: this.props.contentGroup.groupId,\n };\n }\n\n public override componentDidMount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(\n this._handleContentLayoutActivated\n );\n }\n\n public override componentWillUnmount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.removeListener(\n this._handleContentLayoutActivated\n );\n }\n\n private _handleContentLayoutActivated = (\n args: ContentLayoutActivatedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentLayoutDef = args.contentLayout;\n const contentGroup = args.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.setState({\n contentLayoutDef: args.contentLayout,\n contentContainer,\n contentGroupId: contentGroup.groupId,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.state.contentContainer) {\n return (\n <div\n id=\"uifw-contentlayout-div\"\n className={this.props.className}\n style={this.props.style}\n key={`${this.state.contentGroupId}-${this.state.contentLayoutDef.id}`}\n onMouseDown={this._onMouseDown}\n onMouseUp={this._onMouseUp}\n role=\"presentation\"\n >\n {this.state.contentContainer}\n </div>\n );\n }\n\n return null;\n }\n\n private _onMouseDown = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(true);\n };\n\n private _onMouseUp = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(false);\n };\n}\n"]}
1
+ {"version":3,"file":"ContentLayout.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentLayout.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 ContentView\n */\n\n// cSpell:ignore contentlayout\n\nimport \"./ContentLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { SplitPane } from \"./split-pane/SplitPane\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Orientation } from \"@itwin/core-react\";\nimport type { ContentGroup } from \"./ContentGroup\";\nimport type {\n ContentLayoutProps,\n LayoutFragmentProps,\n LayoutHorizontalSplitProps,\n LayoutSplitPropsBase,\n LayoutVerticalSplitProps,\n} from \"@itwin/appui-abstract\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { ActiveContentChangedEventArgs } from \"../framework/FrameworkContent\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[ContentWrapper]] */\n// eslint-disable-next-line deprecation/deprecation\ninterface ContentWrapperProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** ContentWrapper React component.\n * @internal\n */\nexport function ContentWrapper(props: ContentWrapperProps) {\n const { content } = props;\n const [isActive, setIsActive] = React.useState(\n content === UiFramework.content.getActive()\n );\n const activeFrontstageDef = useActiveFrontstageDef();\n\n const contentControlKey = (\n contentControl: React.ReactNode\n ): string | undefined => {\n let controlId: string | undefined;\n if (contentControl && (contentControl as React.ReactElement<any>).key) {\n const key = (contentControl as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n return controlId;\n };\n\n const [hasMultipleContents, setHasMultipleContents] = React.useState(\n () =>\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ?? 0) > 1\n );\n\n React.useEffect(() => {\n setIsActive(content === UiFramework.content.getActive());\n }, [content]);\n\n React.useEffect(() => {\n const handleActiveContentChanged = (\n args: ActiveContentChangedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentIsIdentical = content === args.activeContent;\n if (contentIsIdentical) setIsActive(contentIsIdentical);\n else {\n const contentId = contentControlKey(content);\n const activeContentId = contentControlKey(args.activeContent);\n setIsActive(contentId === activeContentId);\n }\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onActiveContentChangedEvent.addListener(\n handleActiveContentChanged\n );\n }, [activeFrontstageDef, content]);\n\n const handleMouseDown = React.useCallback(() => {\n UiFramework.content.setActive(content);\n setIsActive(true);\n }, [content]);\n\n React.useEffect(() => {\n const onAvailableContentChanged = () => {\n setHasMultipleContents(\n (activeFrontstageDef &&\n !!activeFrontstageDef.floatingContentControls?.length) ||\n (activeFrontstageDef?.contentGroup?.getContentControls().length ??\n 0) > 1\n );\n };\n return UiFramework.content.onAvailableContentChangedEvent.addListener(\n onAvailableContentChanged\n );\n }, [activeFrontstageDef]);\n\n const overlayClassName = classnames(\n \"uifw-contentlayout-overlay-div\",\n isActive && hasMultipleContents\n ? \"uifw-contentlayout-overlay-active\"\n : \"uifw-contentlayout-overlay-inactive\"\n );\n\n return (\n <div\n className={classnames(\"uifw-contentlayout-wrapper\", props.className)}\n style={props.style}\n onMouseDown={handleMouseDown}\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n role=\"presentation\"\n >\n {content}\n <div className={overlayClassName} />\n </div>\n );\n}\n\n/** Properties for the [[SplitContainer]] component */\n// eslint-disable-next-line deprecation/deprecation\ninterface SplitContainerProps extends CommonProps {\n contentA: React.ReactNode;\n contentB: React.ReactNode;\n orientation: Orientation;\n percentage: number;\n resizable: boolean;\n minSizeTopLeft: number;\n minSizeBottomRight: number;\n splitterStateId?: string;\n onSplitterChange?: (size: number, percentage: number) => void;\n}\n\n/** Split Container class.\n */\nclass SplitContainer extends React.Component<SplitContainerProps> {\n private _containerDiv: HTMLDivElement | null = null;\n\n constructor(props: SplitContainerProps) {\n super(props);\n }\n\n private _onSplitterChange = (size: number): void => {\n let percentage = 0;\n\n if (this._containerDiv && size > 0) {\n if (this.props.orientation === Orientation.Horizontal) {\n const height = this._containerDiv.getBoundingClientRect().height;\n if (height > 0) percentage = size / height;\n } else {\n const width = this._containerDiv.getBoundingClientRect().width;\n if (width > 0) percentage = size / width;\n }\n\n if (this.props.onSplitterChange)\n this.props.onSplitterChange(size, percentage);\n }\n };\n\n public override render(): React.ReactNode {\n const orientation =\n this.props.orientation === Orientation.Horizontal\n ? \"horizontal\"\n : \"vertical\";\n const defaultSize = `${(this.props.percentage * 100).toString()}%`;\n const minSizeTopLeft = this.props.minSizeTopLeft;\n const minSizeBottomRight = -this.props.minSizeBottomRight;\n\n return (\n <div\n ref={(e) => {\n this._containerDiv = e;\n }}\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n >\n <SplitPane\n split={orientation}\n minSize={minSizeTopLeft}\n maxSize={minSizeBottomRight}\n defaultSize={defaultSize}\n onChange={this._onSplitterChange}\n allowResize={this.props.resizable}\n >\n {this.props.contentA}\n {this.props.contentB}\n </SplitPane>\n </div>\n );\n }\n}\n\n/** Properties for [[SingleContentContainer]] component\n */\n// eslint-disable-next-line deprecation/deprecation\ninterface SingleContentProps extends CommonProps {\n content: React.ReactNode;\n}\n\n/** Single Content Container class.\n */\nclass SingleContentContainer extends React.Component<SingleContentProps> {\n public override render(): React.ReactNode {\n return (\n <div\n className={classnames(\n \"uifw-contentlayout-full-size\",\n this.props.className\n )}\n style={this.props.style}\n data-testid=\"single-content-container\"\n onMouseMove={UiFramework.visibility.handleContentMouseMove}\n >\n <ContentWrapper\n content={this.props.content}\n style={{ height: \"100%\", position: \"relative\" }}\n />\n </div>\n );\n }\n}\n\n/** Common interface for HorizontalSplit and VerticalSplit\n */\ninterface LayoutSplit {\n createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode;\n isLocked: boolean;\n}\n\n/** Minimum split size */\nconst MIN_SPLIT_SIZE = 6;\n\n/** Base Split class.\n */\nclass BaseSplit {\n public defaultPercentage: number;\n public stateId: string = \"\";\n public isLocked: boolean = false;\n\n constructor(props: LayoutSplitPropsBase) {\n this.defaultPercentage = props.percentage;\n\n if (props.id) this.stateId = props.id;\n\n if (props.lock) this.isLocked = props.lock;\n }\n}\n\n/** Horizontal Split class.\n */\nclass HorizontalSplit extends BaseSplit implements LayoutSplit {\n private _topIndex: number = -1;\n private _bottomIndex: number = -1;\n private _topSplit?: LayoutSplit;\n private _bottomSplit?: LayoutSplit;\n private _props: LayoutHorizontalSplitProps;\n private _minSizeTop: number = MIN_SPLIT_SIZE;\n private _minSizeBottom: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutHorizontalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.top === \"number\") {\n this._topIndex = props.top;\n } else {\n this._topSplit = ContentLayoutDef.createSplit(props.top);\n }\n\n if (typeof props.bottom === \"number\") {\n this._bottomIndex = props.bottom;\n } else {\n this._bottomSplit = ContentLayoutDef.createSplit(props.bottom);\n }\n\n if (props.minSizeTop)\n this._minSizeTop = Math.max(props.minSizeTop, MIN_SPLIT_SIZE);\n\n if (props.minSizeBottom)\n this._minSizeBottom = Math.max(props.minSizeBottom, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const topContent = !this._topSplit ? (\n <ContentWrapper content={contentNodes[this._topIndex]} />\n ) : (\n this._topSplit.createContentContainer(contentNodes, resizable)\n );\n const bottomContent = !this._bottomSplit ? (\n <ContentWrapper content={contentNodes[this._bottomIndex]} />\n ) : (\n this._bottomSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={topContent}\n contentB={bottomContent}\n orientation={Orientation.Horizontal}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeTop}\n minSizeBottomRight={this._minSizeBottom}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Vertical Split class.\n */\nclass VerticalSplit extends BaseSplit implements LayoutSplit {\n private _leftIndex: number = -1;\n private _rightIndex: number = -1;\n private _leftSplit?: LayoutSplit;\n private _rightSplit?: LayoutSplit;\n private _props: LayoutVerticalSplitProps;\n private _minSizeLeft: number = MIN_SPLIT_SIZE;\n private _minSizeRight: number = MIN_SPLIT_SIZE;\n\n constructor(props: LayoutVerticalSplitProps) {\n super(props);\n\n this._props = props;\n\n if (typeof props.left === \"number\") {\n this._leftIndex = props.left;\n } else {\n this._leftSplit = ContentLayoutDef.createSplit(props.left);\n }\n\n if (typeof props.right === \"number\") {\n this._rightIndex = props.right;\n } else {\n this._rightSplit = ContentLayoutDef.createSplit(props.right);\n }\n\n if (props.minSizeLeft)\n this._minSizeLeft = Math.max(props.minSizeLeft, MIN_SPLIT_SIZE);\n\n if (props.minSizeRight)\n this._minSizeRight = Math.max(props.minSizeRight, MIN_SPLIT_SIZE);\n }\n\n private _handleSplitterChange = (_size: number, percentage: number): void => {\n this._props.percentage = percentage;\n };\n\n public createContentContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode {\n if (this.isLocked) resizable = false;\n\n const leftContent = !this._leftSplit ? (\n <ContentWrapper content={contentNodes[this._leftIndex]} />\n ) : (\n this._leftSplit.createContentContainer(contentNodes, resizable)\n );\n const rightContent = !this._rightSplit ? (\n <ContentWrapper content={contentNodes[this._rightIndex]} />\n ) : (\n this._rightSplit.createContentContainer(contentNodes, resizable)\n );\n\n return (\n <SplitContainer\n contentA={leftContent}\n contentB={rightContent}\n orientation={Orientation.Vertical}\n percentage={this.defaultPercentage}\n resizable={resizable}\n minSizeTopLeft={this._minSizeLeft}\n minSizeBottomRight={this._minSizeRight}\n splitterStateId={this.stateId}\n onSplitterChange={this._handleSplitterChange}\n />\n );\n }\n}\n\n/** Content Layout Definition class.\n * @public\n */\nexport class ContentLayoutDef {\n private _layoutProps: ContentLayoutProps;\n private _rootSplit?: LayoutSplit;\n\n /** ID for this Content Layout */\n public id: string = \"\";\n /** Description of the layout. */\n public description: string = \"\";\n constructor(layoutProps: ContentLayoutProps) {\n this._layoutProps = layoutProps;\n this.id = layoutProps.id;\n if (layoutProps.description !== undefined)\n this.description = layoutProps.description;\n }\n\n public get rootSplit(): LayoutSplit | undefined {\n return this._rootSplit;\n }\n\n /** Creates [[ContentLayoutProps]] for JSON purposes\n * @public\n */\n public toJSON(): ContentLayoutProps {\n return this._layoutProps;\n }\n\n /** Fill a layout container with React nodes for each content view\n */\n public fillLayoutContainer(\n contentNodes: React.ReactNode[],\n resizable: boolean\n ): React.ReactNode | undefined {\n this._rootSplit = ContentLayoutDef.createSplit(this._layoutProps);\n\n if (this.rootSplit) {\n return this.rootSplit.createContentContainer(contentNodes, resizable);\n }\n\n if (contentNodes.length > 0)\n return <SingleContentContainer content={contentNodes[0]} />;\n\n return undefined;\n }\n\n /** Gets the indexes of content views used in this Content Layout\n */\n public getUsedContentIndexes(): number[] {\n let allContentIndexes: number[] = [];\n\n if (!this._layoutProps.horizontalSplit && !this._layoutProps.verticalSplit)\n allContentIndexes.push(0);\n else {\n allContentIndexes = allContentIndexes.concat(\n this.getHorizontalSplitContentIndexes(this._layoutProps.horizontalSplit)\n );\n allContentIndexes = allContentIndexes.concat(\n this.getVerticalSplitContentIndexes(this._layoutProps.verticalSplit)\n );\n }\n\n const uniqueContentIndexes = [...new Set(allContentIndexes)];\n\n return uniqueContentIndexes;\n }\n\n private getHorizontalSplitContentIndexes(\n splitProps?: LayoutHorizontalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.top === \"number\") contentIndexes.push(splitProps.top);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.top.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.top.verticalSplit)\n );\n }\n\n if (typeof splitProps.bottom === \"number\")\n contentIndexes.push(splitProps.bottom);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.bottom.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.bottom.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n private getVerticalSplitContentIndexes(\n splitProps?: LayoutVerticalSplitProps\n ): number[] {\n let contentIndexes: number[] = [];\n\n if (!splitProps) return contentIndexes;\n\n if (typeof splitProps.left === \"number\")\n contentIndexes.push(splitProps.left);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.left.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.left.verticalSplit)\n );\n }\n\n if (typeof splitProps.right === \"number\")\n contentIndexes.push(splitProps.right);\n else {\n contentIndexes = contentIndexes.concat(\n this.getHorizontalSplitContentIndexes(splitProps.right.horizontalSplit)\n );\n contentIndexes = contentIndexes.concat(\n this.getVerticalSplitContentIndexes(splitProps.right.verticalSplit)\n );\n }\n\n return contentIndexes;\n }\n\n /** @internal */\n public static createSplit(\n fragmentDef: LayoutFragmentProps\n ): LayoutSplit | undefined {\n if (fragmentDef.horizontalSplit) {\n return new HorizontalSplit(fragmentDef.horizontalSplit);\n } else if (fragmentDef.verticalSplit) {\n return new VerticalSplit(fragmentDef.verticalSplit);\n }\n\n return undefined;\n }\n}\n\n/** Content Layout Activated Event Args class.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface ContentLayoutActivatedEventArgs {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout Activated Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ContentLayoutActivatedEvent extends UiEvent<ContentLayoutActivatedEventArgs> {}\n\n/** State for the [[ContentLayout]].\n */\ninterface ContentLayoutState {\n contentLayoutDef: ContentLayoutDef;\n contentContainer?: React.ReactNode;\n contentGroupId?: string;\n}\n\n/** Properties for the [[ContentLayout]] React component.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ContentLayoutComponentProps extends CommonProps {\n contentLayout: ContentLayoutDef;\n contentGroup: ContentGroup;\n}\n\n/** Content Layout React component.\n * @public\n */\nexport class ContentLayout extends React.Component<\n ContentLayoutComponentProps,\n ContentLayoutState\n> {\n /** @internal */\n public override readonly state: Readonly<ContentLayoutState>;\n\n constructor(props: ContentLayoutComponentProps) {\n super(props);\n\n const contentLayoutDef = this.props.contentLayout;\n const contentGroup = this.props.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.state = {\n contentLayoutDef: this.props.contentLayout,\n contentContainer,\n contentGroupId: this.props.contentGroup.groupId,\n };\n }\n\n public override componentDidMount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(\n this._handleContentLayoutActivated\n );\n }\n\n public override componentWillUnmount() {\n UiFramework.frontstages.onContentLayoutActivatedEvent.removeListener(\n this._handleContentLayoutActivated\n );\n }\n\n private _handleContentLayoutActivated = (\n args: ContentLayoutActivatedEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const contentLayoutDef = args.contentLayout;\n const contentGroup = args.contentGroup;\n\n const contentNodes = contentGroup.getContentNodes();\n const contentContainer = contentLayoutDef.fillLayoutContainer(\n contentNodes,\n true\n );\n\n this.setState({\n contentLayoutDef: args.contentLayout,\n contentContainer,\n contentGroupId: contentGroup.groupId,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.state.contentContainer) {\n return (\n <div\n id=\"uifw-contentlayout-div\"\n className={this.props.className}\n style={this.props.style}\n key={`${this.state.contentGroupId}-${this.state.contentLayoutDef.id}`}\n onMouseDown={this._onMouseDown}\n onMouseUp={this._onMouseUp}\n role=\"presentation\"\n >\n {this.state.contentContainer}\n </div>\n );\n }\n\n return null;\n }\n\n private _onMouseDown = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(true);\n };\n\n private _onMouseUp = (_event: React.MouseEvent<HTMLDivElement>) => {\n UiFramework.content.setMouseDown(false);\n };\n}\n"]}
@@ -4,14 +4,15 @@
4
4
  import * as React from "react";
5
5
  import type { Id64String } from "@itwin/core-bentley";
6
6
  import type { IModelConnection, ScreenViewport, ViewState } from "@itwin/core-frontend";
7
- import type { ViewStateProp } from "@itwin/imodel-components-react";
8
- import { ViewportComponent } from "@itwin/imodel-components-react";
7
+ import type { ViewportProps, ViewStateProp } from "@itwin/imodel-components-react";
9
8
  import type { ConfigurableCreateInfo } from "../configurableui/ConfigurableUiControl";
10
9
  import { ViewportContentControl } from "./ViewportContentControl";
11
10
  /** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.
11
+ * @note Requires redux provider.
12
12
  * @public
13
+ * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead.
13
14
  */
14
- export declare const IModelConnectedViewport: import("react-redux").ConnectedComponent<typeof ViewportComponent, any>;
15
+ export declare function IModelConnectedViewport(props: Omit<ViewportProps, "imodel" | "viewState">): React.JSX.Element | null;
15
16
  /** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].
16
17
  * @public
17
18
  */
@@ -40,9 +41,7 @@ interface ViewOverlayHostProps {
40
41
  };
41
42
  userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;
42
43
  }
43
- /** View Overlay component -- exported for testing
44
- * @internal
45
- */
44
+ /** @internal */
46
45
  export declare function ViewOverlayHost({ viewport, featureOptions, userSuppliedOverlay, }: ViewOverlayHostProps): React.JSX.Element | null;
47
46
  /** iModel Viewport Control
48
47
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"IModelViewport.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelViewport.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.tsx"],"names":[],"mappings":"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"}
@@ -8,27 +8,36 @@
8
8
  import * as React from "react";
9
9
  import { ViewportComponent } from "@itwin/imodel-components-react";
10
10
  import { FillCentered } from "@itwin/core-react";
11
- import { connectIModelConnectionAndViewState } from "../redux/connectIModel";
12
11
  import { UiFramework } from "../UiFramework";
13
12
  import { DefaultViewOverlay } from "./DefaultViewOverlay";
14
13
  import { ViewportContentControl } from "./ViewportContentControl";
15
14
  import { StandardRotationNavigationAidControl } from "../navigationaids/StandardRotationNavigationAid";
16
15
  import { UiError } from "@itwin/appui-abstract";
17
- import { useSelector } from "react-redux";
16
+ import { useReduxFrameworkState } from "../uistate/useReduxFrameworkState";
17
+ import { ConfigurableUiContext } from "../configurableui/ConfigurableUiContent";
18
18
  /** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.
19
+ * @note Requires redux provider.
19
20
  * @public
21
+ * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead.
20
22
  */
21
- export const IModelConnectedViewport = connectIModelConnectionAndViewState(null, null)(ViewportComponent);
22
- /** View Overlay component -- exported for testing
23
- * @internal
24
- */
23
+ export function IModelConnectedViewport(props) {
24
+ const iModel = useReduxFrameworkState(
25
+ // eslint-disable-next-line deprecation/deprecation
26
+ (state) => state?.sessionState.iModelConnection);
27
+ const viewState = useReduxFrameworkState(
28
+ // eslint-disable-next-line deprecation/deprecation
29
+ (state) => state?.sessionState.defaultViewState);
30
+ if (!iModel)
31
+ return null;
32
+ return React.createElement(ViewportComponent, { imodel: iModel, viewState: viewState, ...props });
33
+ }
34
+ /** @internal */
25
35
  export function ViewOverlayHost({ viewport, featureOptions, userSuppliedOverlay, }) {
26
- const displayViewOverlay = useSelector((state) => {
27
- const frameworkState = state[UiFramework.frameworkStateKey];
28
- return frameworkState
29
- ? frameworkState.configurableUiState.viewOverlayDisplay
30
- : true;
31
- });
36
+ const reduxDisplayViewOverlay = useReduxFrameworkState(
37
+ // eslint-disable-next-line deprecation/deprecation
38
+ (state) => state?.configurableUiState.viewOverlayDisplay);
39
+ const configurableUi = React.useContext(ConfigurableUiContext);
40
+ const displayViewOverlay = configurableUi?.viewOverlay ?? reduxDisplayViewOverlay ?? true;
32
41
  if (!displayViewOverlay)
33
42
  return null;
34
43
  return userSuppliedOverlay ? (React.createElement(React.Fragment, null, userSuppliedOverlay(viewport))) : (React.createElement(DefaultViewOverlay, { viewport: viewport, featureOptions: featureOptions }));
@@ -107,7 +116,9 @@ export class IModelViewportControl extends ViewportContentControl {
107
116
  }
108
117
  /** Get the React component that will contain the Viewport */
109
118
  getImodelConnectedViewportReactElement() {
110
- return (React.createElement(IModelConnectedViewport, { viewportRef: (v) => {
119
+ return (
120
+ // eslint-disable-next-line deprecation/deprecation
121
+ React.createElement(IModelConnectedViewport, { viewportRef: (v) => {
111
122
  this.viewport = v;
112
123
  // for convenience, if window defined bind viewport to window
113
124
  if (undefined !== window)
@@ -1 +1 @@
1
- {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.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 ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type { ViewStateProp } from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { connectIModelConnectionAndViewState } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\nimport { ViewportContentControl } from \"./ViewportContentControl\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useSelector } from \"react-redux\";\nimport type { FrameworkState } from \"../redux/FrameworkState\";\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @public\n */\nexport const IModelConnectedViewport = connectIModelConnectionAndViewState(\n null,\n null\n)(ViewportComponent);\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n/** View Overlay component -- exported for testing\n * @internal\n */\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const displayViewOverlay = useSelector((state: FrameworkState) => {\n const frameworkState: FrameworkState = (state as any)[\n UiFramework.frameworkStateKey\n ];\n return frameworkState\n ? frameworkState.configurableUiState.viewOverlayDisplay\n : true;\n });\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n/** iModel Viewport Control\n * @public\n */\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError( // eslint-disable-line deprecation/deprecation\n UiFramework.loggerCategory(this),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n <IModelConnectedViewport\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\n"]}
1
+ {"version":3,"file":"IModelViewport.js","sourceRoot":"","sources":["../../../../src/appui-react/content/IModelViewport.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 ContentView\n */\n\nimport * as React from \"react\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type {\n IModelConnection,\n ScreenViewport,\n ViewState,\n} from \"@itwin/core-frontend\";\nimport type {\n ViewportProps,\n ViewStateProp,\n} from \"@itwin/imodel-components-react\";\nimport { ViewportComponent } from \"@itwin/imodel-components-react\";\nimport { FillCentered } from \"@itwin/core-react\";\n\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport { UiFramework } from \"../UiFramework\";\nimport { DefaultViewOverlay } from \"./DefaultViewOverlay\";\nimport { ViewportContentControl } from \"./ViewportContentControl\";\nimport { StandardRotationNavigationAidControl } from \"../navigationaids/StandardRotationNavigationAid\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent\";\n\n/** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\n * @note Requires redux provider.\n * @public\n * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead.\n */\nexport function IModelConnectedViewport(\n props: Omit<ViewportProps, \"imodel\" | \"viewState\">\n) {\n const iModel = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.iModelConnection\n );\n const viewState = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.defaultViewState\n );\n if (!iModel) return null;\n return <ViewportComponent imodel={iModel} viewState={viewState} {...props} />;\n}\n\n/** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]].\n * @public\n */\nexport interface IModelViewportControlOptions {\n /** ViewState or a function to return a ViewState */\n viewState?: ViewStateProp;\n /** IModelConnection of data in Viewport */\n iModelConnection?: IModelConnection | (() => IModelConnection);\n /** Map of options that can be used to enable/disable features within the view */\n featureOptions?: { [key: string]: any };\n /** Optional background color which may be used if viewState and iModelConnection are undefined */\n bgColor?: string;\n /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */\n alwaysUseSuppliedViewState?: boolean;\n /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */\n supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subclassing the `IModelViewportControl`. */\n deferNodeInitialization?: boolean;\n}\n\ninterface ViewOverlayHostProps {\n viewport: ScreenViewport;\n featureOptions?: { [key: string]: any };\n userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode;\n}\n\n/** @internal */\nexport function ViewOverlayHost({\n viewport,\n featureOptions,\n userSuppliedOverlay,\n}: ViewOverlayHostProps) {\n const reduxDisplayViewOverlay = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.viewOverlayDisplay\n );\n const configurableUi = React.useContext(ConfigurableUiContext);\n const displayViewOverlay =\n configurableUi?.viewOverlay ?? reduxDisplayViewOverlay ?? true;\n if (!displayViewOverlay) return null;\n return userSuppliedOverlay ? (\n <React.Fragment>{userSuppliedOverlay(viewport)}</React.Fragment>\n ) : (\n <DefaultViewOverlay viewport={viewport} featureOptions={featureOptions} />\n );\n}\n/** iModel Viewport Control\n * @public\n */\nexport class IModelViewportControl extends ViewportContentControl {\n public static get id() {\n return \"UiFramework.IModelViewportControl\";\n }\n protected _featureOptions: { [key: string]: boolean | string } = {};\n protected _viewState: ViewStateProp | undefined;\n protected _iModelConnection: IModelConnection | undefined;\n protected _alwaysUseSuppliedViewState: boolean;\n private _userSuppliedViewOverlay?: (\n _viewport: ScreenViewport\n ) => React.ReactNode;\n\n constructor(\n info: ConfigurableCreateInfo,\n protected _options: IModelViewportControlOptions\n ) {\n _options = _options ?? {};\n super(info, _options);\n this._options = _options;\n\n if (_options.featureOptions) this._featureOptions = _options.featureOptions;\n this._alwaysUseSuppliedViewState =\n _options.alwaysUseSuppliedViewState ?? false;\n this._userSuppliedViewOverlay = _options.supplyViewOverlay;\n\n if (!_options.deferNodeInitialization) this.initializeReactNode();\n }\n\n protected initializeReactNode() {\n const options = this._options;\n\n if (options.viewState) this._viewState = options.viewState;\n\n const iModelConnection =\n typeof options.iModelConnection === \"function\"\n ? options.iModelConnection()\n : options.iModelConnection;\n\n if (this._viewState && iModelConnection) {\n /** Passing _determineViewState as a function reference; it is not called here. */\n this._reactNode = this.getImodelViewportReactElement(\n iModelConnection,\n this._determineViewState\n );\n } else {\n if (\n UiFramework.getIModelConnection() &&\n UiFramework.getDefaultViewState()\n ) {\n this._reactNode = this.getImodelConnectedViewportReactElement();\n } else {\n this._reactNode = this.getNoContentReactElement(options);\n this.setIsReady();\n }\n }\n }\n\n protected override getReactNode(): React.ReactNode {\n if (\n !React.isValidElement(this._reactNode) &&\n this._options.deferNodeInitialization\n )\n this.initializeReactNode();\n\n return this.getKeyedReactNode();\n }\n\n /**\n * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement().\n * It is called by ViewportComponent on a mount to resolve the viewState.\n */\n private _determineViewState = (): ViewState => {\n let viewState: ViewState;\n\n if (this.viewport && !this._alwaysUseSuppliedViewState)\n viewState = this.viewport.view;\n else if (this._viewState) {\n if (typeof this._viewState === \"function\") viewState = this._viewState();\n else viewState = this._viewState;\n } else\n throw new UiError( // eslint-disable-line deprecation/deprecation\n UiFramework.loggerCategory(this),\n \"No ViewState could be determined\"\n );\n\n return viewState!;\n };\n\n /** Get the React component that will contain the Viewport */\n protected getImodelConnectedViewportReactElement(): React.ReactNode {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <IModelConnectedViewport\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will contain the Viewport */\n protected getImodelViewportReactElement(\n iModelConnection: IModelConnection,\n viewState: ViewStateProp\n ): React.ReactNode {\n return (\n <ViewportComponent\n viewState={viewState}\n imodel={iModelConnection}\n controlId={this.controlId}\n viewportRef={(v: ScreenViewport) => {\n this.viewport = v;\n // for convenience, if window defined bind viewport to window\n if (undefined !== window) (window as any).viewport = v;\n if (!UiFramework.frontstages.isLoading)\n UiFramework.frontstages.activeFrontstageDef?.setActiveViewFromViewport(\n v\n );\n }}\n getViewOverlay={this._getViewOverlay}\n />\n );\n }\n\n /** Get the React component that will be shown when no iModel data is available */\n protected getNoContentReactElement(\n _options: IModelViewportControlOptions\n ): React.ReactNode {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <FillCentered>{UiFramework.translate(\"general.no-content\")}</FillCentered>\n );\n }\n\n /** Get the React.Element for a ViewSelector change. */\n public override getReactElementForViewSelectorChange(\n iModelConnection: IModelConnection,\n _unusedViewDefinitionId: Id64String,\n viewState: ViewState,\n _name: string\n ): React.ReactNode {\n return this.getImodelViewportReactElement(iModelConnection, viewState);\n }\n\n /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */\n protected _getViewOverlay = (vp: ScreenViewport): React.ReactNode => {\n return (\n <ViewOverlayHost\n viewport={vp}\n featureOptions={this._featureOptions}\n userSuppliedOverlay={this._userSuppliedViewOverlay}\n data-testid=\"ViewOverlay\"\n />\n );\n };\n\n /** Get the NavigationAidControl associated with this ContentControl */\n public override get navigationAidControl(): string {\n if (this.viewport) return super.navigationAidControl;\n else return StandardRotationNavigationAidControl.navigationAidId;\n }\n}\n\nUiFramework.controls.register(IModelViewportControl.id, IModelViewportControl);\n"]}
@@ -35,7 +35,7 @@ export interface SplitPaneProps {
35
35
  onDragStarted?: () => void;
36
36
  /** This callback is invoked when a drag ends. */
37
37
  onDragFinished?: (newSize: number) => void;
38
- /** Callback is invoked with the current drag during a drag event.*/
38
+ /** Callback is invoked with the current drag during a drag event. */
39
39
  onChange?: (newSize: number) => void;
40
40
  /** Callback is invoked if user clicks on Resizer. */
41
41
  onResizerClick?: (event: MouseEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;;;;;kCAQ8B;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qDAAqD;IACrD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAmT9C"}
1
+ {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;;;;;kCAQ8B;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qDAAqD;IACrD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAmT9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPane.js","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.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 ContentView\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Pane } from \"./Pane\";\nimport { Resizer } from \"./Resizer\";\n\n/**\n * Props for [[SplitPane]] component\n * @public\n */\nexport interface SplitPaneProps {\n /** Pass false to disable resizing */\n allowResize?: boolean;\n /** The array of two react nodes, one for each pane. */\n children: React.ReactNode[];\n /** Determines which pane maintains its size when browser window is resized.*/\n primary?: \"first\" | \"second\";\n\n minSize?: string | number;\n /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value\n * (measured in pixels but state just a number). If you wrap the SplitPane into a container component\n * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit\n * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane\n * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer\n * will stop at the border of the SplitPane component and think this you'll be able to pick it again and drag it back then.\n * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border\n * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the\n * full-screen case of use. */\n maxSize?: string | number;\n /** Default initial size of primary pane */\n defaultSize?: string | number;\n /** Size of primary pane */\n size?: string | number;\n /** You can use the step prop to only allow resizing in fixed increments. */\n step?: number;\n split?: \"vertical\" | \"horizontal\";\n /** This callback is invoked when a drag start. */\n onDragStarted?: () => void;\n /** This callback is invoked when a drag ends. */\n onDragFinished?: (newSize: number) => void;\n /** Callback is invoked with the current drag during a drag event.*/\n onChange?: (newSize: number) => void;\n /** Callback is invoked if user clicks on Resizer. */\n onResizerClick?: (event: MouseEvent) => void;\n /** Callback is invoked if user double clicks on Resizer. */\n onResizerDoubleClick?: (event: MouseEvent) => void;\n /** Styling to be applied to the main container */\n style?: React.CSSProperties;\n /** Styling to be applied to both panes */\n paneStyle?: React.CSSProperties;\n /** Styling to be applied to the first pane, with precedence over paneStyle */\n pane1Style?: React.CSSProperties;\n /** Styling to be applied to the second pane, with precedence over paneStyle */\n pane2Style?: React.CSSProperties;\n /** Styling to be applied to the resizer bar */\n resizerStyle?: React.CSSProperties;\n /** Class name to be added to the SplitPane div */\n className?: string;\n /** Class name to be added to each Pane's div */\n paneClassName?: string;\n /** Class name to be added to Pane1's div */\n pane1ClassName?: string;\n /** Class name to be added to Pane2's div */\n pane2ClassName?: string;\n}\n\nfunction unFocus(ownerDoc: Document | undefined) {\n if (!ownerDoc) return;\n\n const docSelection = ownerDoc.getSelection();\n if (docSelection) {\n docSelection.empty();\n } else {\n try {\n const winSelection = ownerDoc.defaultView?.getSelection();\n winSelection?.removeAllRanges();\n } catch (_e) {}\n }\n}\n\nfunction getDefaultSize(\n defaultSize?: number | string,\n minSize?: string | number,\n maxSize?: string | number,\n draggedSize?: number\n) {\n if (typeof draggedSize === \"number\") {\n const min = typeof minSize === \"number\" ? minSize : 0;\n const max =\n typeof maxSize === \"number\" && maxSize >= 0 ? maxSize : Infinity;\n return Math.max(min, Math.min(max, draggedSize));\n }\n if (defaultSize !== undefined) {\n return defaultSize;\n }\n return minSize;\n}\n\nfunction removeNullChildren(children: React.ReactNode[]) {\n return React.Children.toArray(children).filter((c) => c);\n}\n\n/**\n * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that\n * package is not regularly maintained.\n * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.\n * @public\n */\nexport function SplitPane(props: SplitPaneProps) {\n const {\n style,\n size,\n defaultSize,\n maxSize,\n children,\n paneStyle,\n pane1Style,\n pane2Style,\n className,\n paneClassName,\n pane1ClassName,\n pane2ClassName,\n onDragStarted,\n onDragFinished,\n step,\n onChange,\n onResizerClick,\n onResizerDoubleClick,\n } = props;\n\n // honor same defaults as react-split-pane\n const allowResize = React.useMemo(\n () => (undefined !== props.allowResize ? props.allowResize : true),\n [props.allowResize]\n );\n const minSize = React.useMemo(\n () => (undefined !== props.minSize ? props.minSize : 50),\n [props.minSize]\n );\n const primary = React.useMemo(\n () => (undefined !== props.primary ? props.primary : \"first\"),\n [props.primary]\n );\n const split = React.useMemo(\n () => (undefined !== props.split ? props.split : \"vertical\"),\n [props.split]\n );\n const initialSize =\n size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);\n\n const [position, setPosition] = React.useState(0);\n const [draggedSize, setDraggedSize] = React.useState<number | undefined>();\n const [active, setActive] = React.useState(false);\n const [pane1Size, setPane1Size] = React.useState(() =>\n primary === \"first\" ? initialSize : undefined\n );\n const [pane2Size, setPane2Size] = React.useState(() =>\n primary === \"second\" ? initialSize : undefined\n );\n const splitPane = React.useRef<HTMLDivElement>(null);\n const pane1 = React.useRef<HTMLDivElement>(null);\n const pane2 = React.useRef<HTMLDivElement>(null);\n const notNullChildren = React.useMemo(\n () => removeNullChildren(children),\n [children]\n );\n\n React.useEffect(() => {\n primary === \"first\" ? setPane1Size(initialSize) : setPane2Size(initialSize);\n primary === \"first\" ? setPane2Size(undefined) : setPane1Size(undefined);\n }, [initialSize, primary]);\n\n const splitPaneStyle = React.useMemo(() => {\n const directionSpecificParts =\n split === \"vertical\"\n ? {\n flexDirection: \"row\",\n left: 0,\n right: 0,\n }\n : {\n bottom: 0,\n flexDirection: \"column\",\n minHeight: \"100%\",\n top: 0,\n width: \"100%\",\n };\n\n return {\n display: \"flex\",\n flex: 1,\n height: \"100%\",\n position: \"absolute\",\n outline: \"none\",\n overflow: \"hidden\",\n MozUserSelect: \"text\",\n WebkitUserSelect: \"text\",\n msUserSelect: \"text\",\n userSelect: \"text\",\n ...style,\n ...directionSpecificParts,\n } as React.CSSProperties;\n }, [split, style]);\n\n const pane1DivStyle = { ...paneStyle, ...pane1Style };\n const pane2DivStyle = { ...paneStyle, ...pane2Style };\n const resizerStyle = React.useMemo(\n () => props.resizerStyle ?? {},\n [props.resizerStyle]\n );\n const resizerClasses = React.useMemo(\n () => classnames(\"Resizer\", !allowResize && \"disabled\"),\n [allowResize]\n );\n const splitPaneClasses = React.useMemo(\n () => classnames(\"SplitPane\", className, split, !allowResize && \"disabled\"),\n [className, split, allowResize]\n );\n const pane1Classes = React.useMemo(\n () => classnames(\"Pane1\", paneClassName, pane1ClassName),\n [paneClassName, pane1ClassName]\n );\n const pane2Classes = React.useMemo(\n () => classnames(\"Pane2\", paneClassName, pane2ClassName),\n [paneClassName, pane2ClassName]\n );\n\n const initializeDrag = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const newPosition = split === \"vertical\" ? x : y;\n onDragStarted && onDragStarted();\n setActive(true);\n setPosition(newPosition);\n },\n [onDragStarted, split]\n );\n\n const onTouchStart = React.useCallback(\n (event: TouchEvent) => {\n if (allowResize) {\n initializeDrag(event.touches[0].clientX, event.touches[0].clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processMove = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const isPrimaryFirst = primary === \"first\";\n const ref = isPrimaryFirst ? pane1.current : pane2.current;\n const ref2 = isPrimaryFirst ? pane2.current : pane1.current;\n const splitPaneDiv = splitPane.current;\n\n if (ref && ref2 && splitPaneDiv) {\n const node = ref;\n const node2 = ref2;\n if (node.getBoundingClientRect) {\n const width = node.getBoundingClientRect().width;\n const height = node.getBoundingClientRect().height;\n const current = split === \"vertical\" ? x : y;\n const oldSize = split === \"vertical\" ? width : height;\n let positionDelta = position - current;\n if (step) {\n if (Math.abs(positionDelta) < step) {\n return;\n }\n // Integer division\n positionDelta = ~~(positionDelta / step) * step;\n }\n let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;\n\n const pane1Order = parseInt(\n node.ownerDocument?.defaultView?.getComputedStyle(node).order ??\n \"0\",\n 10\n );\n const pane2Order = parseInt(\n node2.ownerDocument?.defaultView?.getComputedStyle(node2).order ??\n \"0\",\n 10\n );\n if (pane1Order > pane2Order) {\n sizeDelta = -sizeDelta;\n }\n\n let newMaxSize = maxSize;\n if (\n typeof maxSize === \"number\" &&\n maxSize !== undefined &&\n maxSize <= 0\n ) {\n if (split === \"vertical\") {\n newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;\n } else {\n newMaxSize =\n splitPaneDiv.getBoundingClientRect().height + maxSize;\n }\n }\n\n let newSize = oldSize - sizeDelta;\n const newPosition = position - positionDelta;\n\n if (typeof minSize === \"number\" && newSize < minSize) {\n newSize = minSize;\n } else if (\n typeof newMaxSize === \"number\" &&\n newMaxSize !== undefined &&\n newSize > newMaxSize\n ) {\n newSize = newMaxSize;\n } else {\n setPosition(newPosition);\n }\n\n onChange && onChange(newSize);\n setDraggedSize(newSize);\n isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);\n }\n }\n },\n [maxSize, minSize, onChange, position, primary, split, step]\n );\n\n const onTouchMove = React.useCallback(\n (event: TouchEvent) => {\n if (!allowResize || !active) return;\n processMove(event.touches[0].clientX, event.touches[0].clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseMove = React.useCallback(\n (event: MouseEvent) => {\n if (!allowResize || !active) return;\n processMove(event.clientX, event.clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseDown = React.useCallback(\n (event: MouseEvent) => {\n if (allowResize) {\n event.preventDefault();\n initializeDrag(event.clientX, event.clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processResizeFinished = React.useCallback(() => {\n if (undefined !== draggedSize && allowResize && active) {\n onDragFinished && onDragFinished(draggedSize);\n }\n setActive(false);\n }, [draggedSize, allowResize, active, onDragFinished]);\n\n const onMouseUp = React.useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n processResizeFinished();\n },\n [processResizeFinished]\n );\n\n React.useEffect(() => {\n const ownerDoc = splitPane.current?.ownerDocument;\n if (!ownerDoc) return;\n\n ownerDoc.addEventListener(\"mouseup\", onMouseUp);\n ownerDoc.addEventListener(\"mousemove\", onMouseMove);\n ownerDoc.addEventListener(\"touchmove\", onTouchMove);\n return () => {\n ownerDoc.removeEventListener(\"mouseup\", onMouseUp);\n ownerDoc.removeEventListener(\"mousemove\", onMouseMove);\n ownerDoc.removeEventListener(\"touchmove\", onTouchMove);\n };\n }, [onMouseMove, onMouseUp, onTouchMove]);\n\n return (\n <div className={splitPaneClasses} ref={splitPane} style={splitPaneStyle}>\n <Pane\n className={pane1Classes}\n key=\"pane1\"\n eleRef={pane1}\n size={pane1Size}\n split={split}\n style={pane1DivStyle}\n >\n {notNullChildren[0]}\n </Pane>\n <Resizer\n className={resizerClasses}\n onClick={onResizerClick}\n onDoubleClick={onResizerDoubleClick}\n onMouseDown={onMouseDown}\n onTouchStart={onTouchStart}\n onTouchEnd={processResizeFinished}\n key=\"resizer\"\n split={split}\n style={resizerStyle}\n />\n <Pane\n className={pane2Classes}\n key=\"pane2\"\n eleRef={pane2}\n size={pane2Size}\n split={split}\n style={pane2DivStyle}\n >\n {notNullChildren[1]}\n </Pane>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SplitPane.js","sourceRoot":"","sources":["../../../../../src/appui-react/content/split-pane/SplitPane.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 ContentView\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Pane } from \"./Pane\";\nimport { Resizer } from \"./Resizer\";\n\n/**\n * Props for [[SplitPane]] component\n * @public\n */\nexport interface SplitPaneProps {\n /** Pass false to disable resizing */\n allowResize?: boolean;\n /** The array of two react nodes, one for each pane. */\n children: React.ReactNode[];\n /** Determines which pane maintains its size when browser window is resized.*/\n primary?: \"first\" | \"second\";\n\n minSize?: string | number;\n /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value\n * (measured in pixels but state just a number). If you wrap the SplitPane into a container component\n * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit\n * the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane\n * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer\n * will stop at the border of the SplitPane component and think this you'll be able to pick it again and drag it back then.\n * And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border\n * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the\n * full-screen case of use. */\n maxSize?: string | number;\n /** Default initial size of primary pane */\n defaultSize?: string | number;\n /** Size of primary pane */\n size?: string | number;\n /** You can use the step prop to only allow resizing in fixed increments. */\n step?: number;\n split?: \"vertical\" | \"horizontal\";\n /** This callback is invoked when a drag start. */\n onDragStarted?: () => void;\n /** This callback is invoked when a drag ends. */\n onDragFinished?: (newSize: number) => void;\n /** Callback is invoked with the current drag during a drag event. */\n onChange?: (newSize: number) => void;\n /** Callback is invoked if user clicks on Resizer. */\n onResizerClick?: (event: MouseEvent) => void;\n /** Callback is invoked if user double clicks on Resizer. */\n onResizerDoubleClick?: (event: MouseEvent) => void;\n /** Styling to be applied to the main container */\n style?: React.CSSProperties;\n /** Styling to be applied to both panes */\n paneStyle?: React.CSSProperties;\n /** Styling to be applied to the first pane, with precedence over paneStyle */\n pane1Style?: React.CSSProperties;\n /** Styling to be applied to the second pane, with precedence over paneStyle */\n pane2Style?: React.CSSProperties;\n /** Styling to be applied to the resizer bar */\n resizerStyle?: React.CSSProperties;\n /** Class name to be added to the SplitPane div */\n className?: string;\n /** Class name to be added to each Pane's div */\n paneClassName?: string;\n /** Class name to be added to Pane1's div */\n pane1ClassName?: string;\n /** Class name to be added to Pane2's div */\n pane2ClassName?: string;\n}\n\nfunction unFocus(ownerDoc: Document | undefined) {\n if (!ownerDoc) return;\n\n const docSelection = ownerDoc.getSelection();\n if (docSelection) {\n docSelection.empty();\n } else {\n try {\n const winSelection = ownerDoc.defaultView?.getSelection();\n winSelection?.removeAllRanges();\n } catch (_e) {}\n }\n}\n\nfunction getDefaultSize(\n defaultSize?: number | string,\n minSize?: string | number,\n maxSize?: string | number,\n draggedSize?: number\n) {\n if (typeof draggedSize === \"number\") {\n const min = typeof minSize === \"number\" ? minSize : 0;\n const max =\n typeof maxSize === \"number\" && maxSize >= 0 ? maxSize : Infinity;\n return Math.max(min, Math.min(max, draggedSize));\n }\n if (defaultSize !== undefined) {\n return defaultSize;\n }\n return minSize;\n}\n\nfunction removeNullChildren(children: React.ReactNode[]) {\n return React.Children.toArray(children).filter((c) => c);\n}\n\n/**\n * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that\n * package is not regularly maintained.\n * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.\n * @public\n */\nexport function SplitPane(props: SplitPaneProps) {\n const {\n style,\n size,\n defaultSize,\n maxSize,\n children,\n paneStyle,\n pane1Style,\n pane2Style,\n className,\n paneClassName,\n pane1ClassName,\n pane2ClassName,\n onDragStarted,\n onDragFinished,\n step,\n onChange,\n onResizerClick,\n onResizerDoubleClick,\n } = props;\n\n // honor same defaults as react-split-pane\n const allowResize = React.useMemo(\n () => (undefined !== props.allowResize ? props.allowResize : true),\n [props.allowResize]\n );\n const minSize = React.useMemo(\n () => (undefined !== props.minSize ? props.minSize : 50),\n [props.minSize]\n );\n const primary = React.useMemo(\n () => (undefined !== props.primary ? props.primary : \"first\"),\n [props.primary]\n );\n const split = React.useMemo(\n () => (undefined !== props.split ? props.split : \"vertical\"),\n [props.split]\n );\n const initialSize =\n size !== undefined ? size : getDefaultSize(defaultSize, minSize, maxSize);\n\n const [position, setPosition] = React.useState(0);\n const [draggedSize, setDraggedSize] = React.useState<number | undefined>();\n const [active, setActive] = React.useState(false);\n const [pane1Size, setPane1Size] = React.useState(() =>\n primary === \"first\" ? initialSize : undefined\n );\n const [pane2Size, setPane2Size] = React.useState(() =>\n primary === \"second\" ? initialSize : undefined\n );\n const splitPane = React.useRef<HTMLDivElement>(null);\n const pane1 = React.useRef<HTMLDivElement>(null);\n const pane2 = React.useRef<HTMLDivElement>(null);\n const notNullChildren = React.useMemo(\n () => removeNullChildren(children),\n [children]\n );\n\n React.useEffect(() => {\n primary === \"first\" ? setPane1Size(initialSize) : setPane2Size(initialSize);\n primary === \"first\" ? setPane2Size(undefined) : setPane1Size(undefined);\n }, [initialSize, primary]);\n\n const splitPaneStyle = React.useMemo(() => {\n const directionSpecificParts =\n split === \"vertical\"\n ? {\n flexDirection: \"row\",\n left: 0,\n right: 0,\n }\n : {\n bottom: 0,\n flexDirection: \"column\",\n minHeight: \"100%\",\n top: 0,\n width: \"100%\",\n };\n\n return {\n display: \"flex\",\n flex: 1,\n height: \"100%\",\n position: \"absolute\",\n outline: \"none\",\n overflow: \"hidden\",\n MozUserSelect: \"text\",\n WebkitUserSelect: \"text\",\n msUserSelect: \"text\",\n userSelect: \"text\",\n ...style,\n ...directionSpecificParts,\n } as React.CSSProperties;\n }, [split, style]);\n\n const pane1DivStyle = { ...paneStyle, ...pane1Style };\n const pane2DivStyle = { ...paneStyle, ...pane2Style };\n const resizerStyle = React.useMemo(\n () => props.resizerStyle ?? {},\n [props.resizerStyle]\n );\n const resizerClasses = React.useMemo(\n () => classnames(\"Resizer\", !allowResize && \"disabled\"),\n [allowResize]\n );\n const splitPaneClasses = React.useMemo(\n () => classnames(\"SplitPane\", className, split, !allowResize && \"disabled\"),\n [className, split, allowResize]\n );\n const pane1Classes = React.useMemo(\n () => classnames(\"Pane1\", paneClassName, pane1ClassName),\n [paneClassName, pane1ClassName]\n );\n const pane2Classes = React.useMemo(\n () => classnames(\"Pane2\", paneClassName, pane2ClassName),\n [paneClassName, pane2ClassName]\n );\n\n const initializeDrag = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const newPosition = split === \"vertical\" ? x : y;\n onDragStarted && onDragStarted();\n setActive(true);\n setPosition(newPosition);\n },\n [onDragStarted, split]\n );\n\n const onTouchStart = React.useCallback(\n (event: TouchEvent) => {\n if (allowResize) {\n initializeDrag(event.touches[0].clientX, event.touches[0].clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processMove = React.useCallback(\n (x: number, y: number) => {\n unFocus(splitPane.current?.ownerDocument);\n const isPrimaryFirst = primary === \"first\";\n const ref = isPrimaryFirst ? pane1.current : pane2.current;\n const ref2 = isPrimaryFirst ? pane2.current : pane1.current;\n const splitPaneDiv = splitPane.current;\n\n if (ref && ref2 && splitPaneDiv) {\n const node = ref;\n const node2 = ref2;\n if (node.getBoundingClientRect) {\n const width = node.getBoundingClientRect().width;\n const height = node.getBoundingClientRect().height;\n const current = split === \"vertical\" ? x : y;\n const oldSize = split === \"vertical\" ? width : height;\n let positionDelta = position - current;\n if (step) {\n if (Math.abs(positionDelta) < step) {\n return;\n }\n // Integer division\n positionDelta = ~~(positionDelta / step) * step;\n }\n let sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;\n\n const pane1Order = parseInt(\n node.ownerDocument?.defaultView?.getComputedStyle(node).order ??\n \"0\",\n 10\n );\n const pane2Order = parseInt(\n node2.ownerDocument?.defaultView?.getComputedStyle(node2).order ??\n \"0\",\n 10\n );\n if (pane1Order > pane2Order) {\n sizeDelta = -sizeDelta;\n }\n\n let newMaxSize = maxSize;\n if (\n typeof maxSize === \"number\" &&\n maxSize !== undefined &&\n maxSize <= 0\n ) {\n if (split === \"vertical\") {\n newMaxSize = splitPaneDiv.getBoundingClientRect().width + maxSize;\n } else {\n newMaxSize =\n splitPaneDiv.getBoundingClientRect().height + maxSize;\n }\n }\n\n let newSize = oldSize - sizeDelta;\n const newPosition = position - positionDelta;\n\n if (typeof minSize === \"number\" && newSize < minSize) {\n newSize = minSize;\n } else if (\n typeof newMaxSize === \"number\" &&\n newMaxSize !== undefined &&\n newSize > newMaxSize\n ) {\n newSize = newMaxSize;\n } else {\n setPosition(newPosition);\n }\n\n onChange && onChange(newSize);\n setDraggedSize(newSize);\n isPrimaryFirst ? setPane1Size(newSize) : setPane2Size(newSize);\n }\n }\n },\n [maxSize, minSize, onChange, position, primary, split, step]\n );\n\n const onTouchMove = React.useCallback(\n (event: TouchEvent) => {\n if (!allowResize || !active) return;\n processMove(event.touches[0].clientX, event.touches[0].clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseMove = React.useCallback(\n (event: MouseEvent) => {\n if (!allowResize || !active) return;\n processMove(event.clientX, event.clientY);\n },\n [active, allowResize, processMove]\n );\n\n const onMouseDown = React.useCallback(\n (event: MouseEvent) => {\n if (allowResize) {\n event.preventDefault();\n initializeDrag(event.clientX, event.clientY);\n }\n },\n [allowResize, initializeDrag]\n );\n\n const processResizeFinished = React.useCallback(() => {\n if (undefined !== draggedSize && allowResize && active) {\n onDragFinished && onDragFinished(draggedSize);\n }\n setActive(false);\n }, [draggedSize, allowResize, active, onDragFinished]);\n\n const onMouseUp = React.useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n processResizeFinished();\n },\n [processResizeFinished]\n );\n\n React.useEffect(() => {\n const ownerDoc = splitPane.current?.ownerDocument;\n if (!ownerDoc) return;\n\n ownerDoc.addEventListener(\"mouseup\", onMouseUp);\n ownerDoc.addEventListener(\"mousemove\", onMouseMove);\n ownerDoc.addEventListener(\"touchmove\", onTouchMove);\n return () => {\n ownerDoc.removeEventListener(\"mouseup\", onMouseUp);\n ownerDoc.removeEventListener(\"mousemove\", onMouseMove);\n ownerDoc.removeEventListener(\"touchmove\", onTouchMove);\n };\n }, [onMouseMove, onMouseUp, onTouchMove]);\n\n return (\n <div className={splitPaneClasses} ref={splitPane} style={splitPaneStyle}>\n <Pane\n className={pane1Classes}\n key=\"pane1\"\n eleRef={pane1}\n size={pane1Size}\n split={split}\n style={pane1DivStyle}\n >\n {notNullChildren[0]}\n </Pane>\n <Resizer\n className={resizerClasses}\n onClick={onResizerClick}\n onDoubleClick={onResizerDoubleClick}\n onMouseDown={onMouseDown}\n onTouchStart={onTouchStart}\n onTouchEnd={processResizeFinished}\n key=\"resizer\"\n split={split}\n style={resizerStyle}\n />\n <Pane\n className={pane2Classes}\n key=\"pane2\"\n eleRef={pane2}\n size={pane2Size}\n split={split}\n style={pane2DivStyle}\n >\n {notNullChildren[1]}\n </Pane>\n </div>\n );\n}\n"]}
@@ -28,7 +28,7 @@ export declare enum CursorDirection {
28
28
  }
29
29
  /** Cursor Updated Event Args interface.
30
30
  * @public
31
- * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
31
+ * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.
32
32
  */
33
33
  export interface CursorUpdatedEventArgs {
34
34
  oldPt: XAndY;
@@ -37,7 +37,7 @@ export interface CursorUpdatedEventArgs {
37
37
  }
38
38
  /** Cursor Updated Event class.
39
39
  * @public
40
- * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
40
+ * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
41
41
  */
42
42
  export declare class CursorUpdatedEvent extends UiEvent<CursorUpdatedEventArgs> {
43
43
  }
@@ -34,7 +34,7 @@ export var CursorDirection;
34
34
  })(CursorDirection || (CursorDirection = {}));
35
35
  /** Cursor Updated Event class.
36
36
  * @public
37
- * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
37
+ * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
38
38
  */
39
39
  // eslint-disable-next-line deprecation/deprecation
40
40
  export class CursorUpdatedEvent extends UiEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"CursorInformation.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.ts"],"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 Cursor\n */\n\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { RelativePosition, UiEvent } from \"@itwin/appui-abstract\";\nimport { Point } from \"@itwin/core-react\";\n\n/** Enum for Cursor Direction parts\n * @public\n */\nexport enum CursorDirectionParts {\n Top = 0x1000,\n Left = 0x0100,\n Right = 0x0010,\n Bottom = 0x0001,\n}\n\n/** Enum for Cursor Direction\n * @public\n */\nexport enum CursorDirection {\n None = 0,\n Top = CursorDirectionParts.Top,\n Left = CursorDirectionParts.Left,\n Right = CursorDirectionParts.Right,\n Bottom = CursorDirectionParts.Bottom,\n TopLeft = CursorDirectionParts.Top | CursorDirectionParts.Left,\n TopRight = CursorDirectionParts.Top | CursorDirectionParts.Right,\n BottomLeft = CursorDirectionParts.Bottom | CursorDirectionParts.Left,\n BottomRight = CursorDirectionParts.Bottom | CursorDirectionParts.Right,\n}\n\n/** Cursor Updated Event Args interface.\n * @public\n * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface CursorUpdatedEventArgs {\n oldPt: XAndY;\n newPt: XAndY;\n direction: CursorDirection;\n}\n\n/** Cursor Updated Event class.\n * @public\n * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CursorUpdatedEvent extends UiEvent<CursorUpdatedEventArgs> {}\n\n/** Cursor Information class\n * @public\n */\nexport class CursorInformation {\n private static _cursorPosition: Point = new Point();\n private static _cursorDirection: CursorDirection =\n CursorDirection.BottomRight;\n\n private static _cursorDirections = new Array<CursorDirection>();\n\n /** The cursor position. */\n public static get cursorPosition(): XAndY {\n return this._cursorPosition;\n }\n public static set cursorPosition(pt: XAndY) {\n this._cursorPosition = Point.create(pt);\n }\n\n /** Gets the cursor X position. */\n public static get cursorX(): number {\n return this._cursorPosition.x;\n }\n /** Gets the cursor Y position. */\n public static get cursorY(): number {\n return this._cursorPosition.y;\n }\n\n /** Gets the general cursor movement direction. */\n public static get cursorDirection(): CursorDirection {\n return this._cursorDirection;\n }\n\n /** Gets the [[CursorUpdatedEvent]]. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onCursorUpdatedEvent = new CursorUpdatedEvent();\n\n /** Handles the mouse movement. Sets the cursor position and direction and emits onCursorUpdatedEvent. */\n public static handleMouseMove(point: XAndY): void {\n const oldPt = CursorInformation.cursorPosition;\n const direction = this._determineMostFrequentDirection(\n this._cursorDirections,\n this._cursorPosition,\n Point.create(point)\n );\n\n this.cursorPosition = point;\n this._cursorDirection = direction;\n\n this.onCursorUpdatedEvent.emit({ oldPt, newPt: point, direction });\n }\n\n private static _determineMostFrequentDirection(\n cursorDirections: CursorDirection[],\n oldPt: Point,\n newPt: Point\n ): CursorDirection {\n const cursorDirection = this._determineCursorDirection(oldPt, newPt);\n cursorDirections.push(cursorDirection);\n if (cursorDirections.length > 10) cursorDirections.shift();\n return this._mostFrequent(cursorDirections);\n }\n\n private static _mostFrequent(array: CursorDirection[]): CursorDirection {\n const hashMap = new Map<CursorDirection, number>();\n let maxCount = 0,\n mostFrequent = CursorDirection.None;\n\n array.forEach((value: CursorDirection) => {\n const key = value;\n let frequency = hashMap.get(key);\n\n if (frequency !== undefined) frequency++;\n else frequency = 1;\n\n hashMap.set(key, frequency);\n\n if (frequency > maxCount) {\n mostFrequent = key;\n maxCount = frequency;\n }\n });\n\n return mostFrequent;\n }\n\n private static _determineCursorDirection(\n oldPt: Point,\n newPt: Point\n ): CursorDirection {\n let directionParts: number = 0;\n\n if (newPt.x < oldPt.x) directionParts |= CursorDirectionParts.Left;\n else if (newPt.x > oldPt.x) directionParts |= CursorDirectionParts.Right;\n\n if (newPt.y < oldPt.y) directionParts |= CursorDirectionParts.Top;\n else if (newPt.y > oldPt.y) directionParts |= CursorDirectionParts.Bottom;\n\n const direction = directionParts as CursorDirection;\n\n return direction;\n }\n\n /** Gets the relative position based on the cursor direction. */\n public static getRelativePositionFromCursorDirection(\n cursorDirection: CursorDirection\n ): RelativePosition {\n let relativePosition: RelativePosition = RelativePosition.BottomRight;\n\n switch (cursorDirection) {\n case CursorDirection.Top:\n relativePosition = RelativePosition.Top;\n break;\n case CursorDirection.Left:\n relativePosition = RelativePosition.Left;\n break;\n case CursorDirection.Right:\n relativePosition = RelativePosition.Right;\n break;\n case CursorDirection.Bottom:\n relativePosition = RelativePosition.Bottom;\n break;\n case CursorDirection.TopLeft:\n relativePosition = RelativePosition.TopLeft;\n break;\n case CursorDirection.TopRight:\n relativePosition = RelativePosition.TopRight;\n break;\n case CursorDirection.BottomLeft:\n relativePosition = RelativePosition.BottomLeft;\n break;\n case CursorDirection.BottomRight:\n relativePosition = RelativePosition.BottomRight;\n break;\n }\n\n return relativePosition;\n }\n\n /** @internal - for testing */\n public static clearCursorDirections(): void {\n this._cursorDirections.length = 0;\n }\n}\n"]}
1
+ {"version":3,"file":"CursorInformation.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/CursorInformation.ts"],"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 Cursor\n */\n\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport { RelativePosition, UiEvent } from \"@itwin/appui-abstract\";\nimport { Point } from \"@itwin/core-react\";\n\n/** Enum for Cursor Direction parts\n * @public\n */\nexport enum CursorDirectionParts {\n Top = 0x1000,\n Left = 0x0100,\n Right = 0x0010,\n Bottom = 0x0001,\n}\n\n/** Enum for Cursor Direction\n * @public\n */\nexport enum CursorDirection {\n None = 0,\n Top = CursorDirectionParts.Top,\n Left = CursorDirectionParts.Left,\n Right = CursorDirectionParts.Right,\n Bottom = CursorDirectionParts.Bottom,\n TopLeft = CursorDirectionParts.Top | CursorDirectionParts.Left,\n TopRight = CursorDirectionParts.Top | CursorDirectionParts.Right,\n BottomLeft = CursorDirectionParts.Bottom | CursorDirectionParts.Left,\n BottomRight = CursorDirectionParts.Bottom | CursorDirectionParts.Right,\n}\n\n/** Cursor Updated Event Args interface.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface CursorUpdatedEventArgs {\n oldPt: XAndY;\n newPt: XAndY;\n direction: CursorDirection;\n}\n\n/** Cursor Updated Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CursorUpdatedEvent extends UiEvent<CursorUpdatedEventArgs> {}\n\n/** Cursor Information class\n * @public\n */\nexport class CursorInformation {\n private static _cursorPosition: Point = new Point();\n private static _cursorDirection: CursorDirection =\n CursorDirection.BottomRight;\n\n private static _cursorDirections = new Array<CursorDirection>();\n\n /** The cursor position. */\n public static get cursorPosition(): XAndY {\n return this._cursorPosition;\n }\n public static set cursorPosition(pt: XAndY) {\n this._cursorPosition = Point.create(pt);\n }\n\n /** Gets the cursor X position. */\n public static get cursorX(): number {\n return this._cursorPosition.x;\n }\n /** Gets the cursor Y position. */\n public static get cursorY(): number {\n return this._cursorPosition.y;\n }\n\n /** Gets the general cursor movement direction. */\n public static get cursorDirection(): CursorDirection {\n return this._cursorDirection;\n }\n\n /** Gets the [[CursorUpdatedEvent]]. */\n // eslint-disable-next-line deprecation/deprecation\n public static readonly onCursorUpdatedEvent = new CursorUpdatedEvent();\n\n /** Handles the mouse movement. Sets the cursor position and direction and emits onCursorUpdatedEvent. */\n public static handleMouseMove(point: XAndY): void {\n const oldPt = CursorInformation.cursorPosition;\n const direction = this._determineMostFrequentDirection(\n this._cursorDirections,\n this._cursorPosition,\n Point.create(point)\n );\n\n this.cursorPosition = point;\n this._cursorDirection = direction;\n\n this.onCursorUpdatedEvent.emit({ oldPt, newPt: point, direction });\n }\n\n private static _determineMostFrequentDirection(\n cursorDirections: CursorDirection[],\n oldPt: Point,\n newPt: Point\n ): CursorDirection {\n const cursorDirection = this._determineCursorDirection(oldPt, newPt);\n cursorDirections.push(cursorDirection);\n if (cursorDirections.length > 10) cursorDirections.shift();\n return this._mostFrequent(cursorDirections);\n }\n\n private static _mostFrequent(array: CursorDirection[]): CursorDirection {\n const hashMap = new Map<CursorDirection, number>();\n let maxCount = 0,\n mostFrequent = CursorDirection.None;\n\n array.forEach((value: CursorDirection) => {\n const key = value;\n let frequency = hashMap.get(key);\n\n if (frequency !== undefined) frequency++;\n else frequency = 1;\n\n hashMap.set(key, frequency);\n\n if (frequency > maxCount) {\n mostFrequent = key;\n maxCount = frequency;\n }\n });\n\n return mostFrequent;\n }\n\n private static _determineCursorDirection(\n oldPt: Point,\n newPt: Point\n ): CursorDirection {\n let directionParts: number = 0;\n\n if (newPt.x < oldPt.x) directionParts |= CursorDirectionParts.Left;\n else if (newPt.x > oldPt.x) directionParts |= CursorDirectionParts.Right;\n\n if (newPt.y < oldPt.y) directionParts |= CursorDirectionParts.Top;\n else if (newPt.y > oldPt.y) directionParts |= CursorDirectionParts.Bottom;\n\n const direction = directionParts as CursorDirection;\n\n return direction;\n }\n\n /** Gets the relative position based on the cursor direction. */\n public static getRelativePositionFromCursorDirection(\n cursorDirection: CursorDirection\n ): RelativePosition {\n let relativePosition: RelativePosition = RelativePosition.BottomRight;\n\n switch (cursorDirection) {\n case CursorDirection.Top:\n relativePosition = RelativePosition.Top;\n break;\n case CursorDirection.Left:\n relativePosition = RelativePosition.Left;\n break;\n case CursorDirection.Right:\n relativePosition = RelativePosition.Right;\n break;\n case CursorDirection.Bottom:\n relativePosition = RelativePosition.Bottom;\n break;\n case CursorDirection.TopLeft:\n relativePosition = RelativePosition.TopLeft;\n break;\n case CursorDirection.TopRight:\n relativePosition = RelativePosition.TopRight;\n break;\n case CursorDirection.BottomLeft:\n relativePosition = RelativePosition.BottomLeft;\n break;\n case CursorDirection.BottomRight:\n relativePosition = RelativePosition.BottomRight;\n break;\n }\n\n return relativePosition;\n }\n\n /** @internal - for testing */\n public static clearCursorDirections(): void {\n this._cursorDirections.length = 0;\n }\n}\n"]}
@@ -16,7 +16,8 @@ interface CursorPopupMenuState {
16
16
  /** Popup Menu to show at cursor typically used by tools to provide a right-click context menu.
17
17
  * @alpha
18
18
  */
19
- export declare class CursorPopupMenu extends React.PureComponent<CommonProps, CursorPopupMenuState> {
19
+ export declare class CursorPopupMenu extends React.PureComponent<CommonProps, // eslint-disable-line deprecation/deprecation
20
+ CursorPopupMenuState> {
20
21
  private _isMounted;
21
22
  private _hostChildWindowId?;
22
23
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"CursorMenu.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/cursor/cursormenu/CursorMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAOjE;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CACtD,WAAW,EACX,oBAAoB,CACrB;IACC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAS;IAEpC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,oBAAoB,CAKlD;IAGF,OAAO,CAAC,kBAAkB,CAoBxB;IAEc,iBAAiB;IAKjB,oBAAoB;IAKpC,OAAO,CAAC,aAAa,CAQnB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA4BzC,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAEjB;CACH"}
1
+ {"version":3,"file":"CursorMenu.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/cursor/cursormenu/CursorMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAOjE;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CACtD,WAAW,EAAE,8CAA8C;AAC3D,oBAAoB,CACrB;IACC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAS;IAEpC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,oBAAoB,CAKlD;IAGF,OAAO,CAAC,kBAAkB,CAqBxB;IAEc,iBAAiB;IAKjB,oBAAoB;IAKpC,OAAO,CAAC,aAAa,CAQnB;IAEc,MAAM,IAAI,KAAK,CAAC,SAAS;IA8BzC,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAEjB;CACH"}