@itwin/appui-react 5.0.5 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/CHANGELOG.md +48 -38
  2. package/lib/appui-react/UiFramework.d.ts +1 -1
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +46 -46
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  8. package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
  11. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  12. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
  13. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  14. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
  15. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  16. package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
  17. package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  18. package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  19. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
  20. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  22. package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
  23. package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  24. package/lib/appui-react/accudraw/Calculator.js +1 -1
  25. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  26. package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
  27. package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  28. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
  29. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  30. package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
  31. package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  32. package/lib/appui-react/accudraw/MenuButton.js +1 -1
  33. package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
  34. package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  35. package/lib/appui-react/backstage/BackstageComposer.js +2 -3
  36. package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
  37. package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
  38. package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  39. package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
  40. package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  41. package/lib/appui-react/backstage/BackstageManager.js +3 -3
  42. package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
  43. package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
  44. package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  45. package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  46. package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
  47. package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
  48. package/lib/appui-react/configurableui/ConfigurableUiContent.js +6 -6
  49. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  50. package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  51. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
  52. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  53. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  54. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  55. package/lib/appui-react/content/ContentControl.js +1 -1
  56. package/lib/appui-react/content/ContentControl.js.map +1 -1
  57. package/lib/appui-react/content/ContentGroup.js +7 -7
  58. package/lib/appui-react/content/ContentGroup.js.map +1 -1
  59. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  60. package/lib/appui-react/content/ContentLayout.js +16 -17
  61. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  62. package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
  63. package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
  64. package/lib/appui-react/content/FloatingViewportContent.js +4 -4
  65. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  66. package/lib/appui-react/content/IModelViewport.d.ts +1 -1
  67. package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
  68. package/lib/appui-react/content/IModelViewport.js +1 -1
  69. package/lib/appui-react/content/IModelViewport.js.map +1 -1
  70. package/lib/appui-react/content/InternalContentViewManager.js +26 -26
  71. package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
  72. package/lib/appui-react/content/ViewportContentControl.js +1 -1
  73. package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
  74. package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
  75. package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
  76. package/lib/appui-react/cursor/CursorInformation.js +2 -2
  77. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  78. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
  79. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  80. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  81. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  82. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
  83. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  84. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +3 -3
  85. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  86. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +1 -1
  87. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  88. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  89. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -1
  90. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  91. package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
  92. package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
  93. package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
  94. package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
  95. package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
  96. package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  97. package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
  98. package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  99. package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
  100. package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  101. package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  102. package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  103. package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  104. package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
  105. package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
  106. package/lib/appui-react/dialog/ModelessDialog.js +1 -1
  107. package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
  108. package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  109. package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
  110. package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  111. package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
  112. package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
  113. package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  114. package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
  115. package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
  117. package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
  118. package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
  119. package/lib/appui-react/framework/FrameworkContent.js +3 -3
  120. package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
  121. package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
  122. package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
  123. package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
  124. package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
  125. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  126. package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  127. package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
  128. package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  129. package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
  130. package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
  131. package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  132. package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  133. package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
  134. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  135. package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
  136. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  137. package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
  138. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  139. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  140. package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  141. package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
  142. package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  143. package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
  144. package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  145. package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
  146. package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  147. package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
  148. package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  149. package/lib/appui-react/hooks/useUiVisibility.js +1 -1
  150. package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
  151. package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  152. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
  153. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  154. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  155. package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
  156. package/lib/appui-react/layout/StandardLayout.js.map +1 -1
  157. package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
  158. package/lib/appui-react/layout/backstage/Item.js.map +1 -1
  159. package/lib/appui-react/layout/backstage/Separator.js +1 -1
  160. package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
  161. package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
  162. package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  163. package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  164. package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  165. package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  166. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  167. package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  168. package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  169. package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  170. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
  171. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  172. package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  173. package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
  174. package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
  175. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
  176. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  177. package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
  178. package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  179. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
  180. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  181. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
  182. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  183. package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
  184. package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
  185. package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  186. package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
  187. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  188. package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
  189. package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  190. package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
  191. package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
  192. package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
  193. package/lib/appui-react/layout/widget/Menu.js +1 -1
  194. package/lib/appui-react/layout/widget/Menu.js.map +1 -1
  195. package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
  196. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  197. package/lib/appui-react/layout/widget/Tab.js +1 -1
  198. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  199. package/lib/appui-react/layout/widget/TabBar.js +1 -1
  200. package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
  201. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  202. package/lib/appui-react/layout/widget/Widget.js.map +1 -1
  203. package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  204. package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  205. package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
  206. package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
  207. package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  208. package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
  209. package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
  210. package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  211. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  212. package/lib/appui-react/messages/InputField.js +2 -2
  213. package/lib/appui-react/messages/InputField.js.map +1 -1
  214. package/lib/appui-react/messages/MessageManager.d.ts +4 -4
  215. package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
  216. package/lib/appui-react/messages/MessageManager.js +25 -25
  217. package/lib/appui-react/messages/MessageManager.js.map +1 -1
  218. package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
  219. package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
  220. package/lib/appui-react/messages/Pointer.js +7 -7
  221. package/lib/appui-react/messages/Pointer.js.map +1 -1
  222. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
  223. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  224. package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  225. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
  226. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  227. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
  228. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  229. package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  230. package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  231. package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  232. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
  233. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  234. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
  235. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  236. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
  237. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  238. package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
  239. package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
  240. package/lib/appui-react/pickers/ListPicker.js +11 -10
  241. package/lib/appui-react/pickers/ListPicker.js.map +1 -1
  242. package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
  243. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  244. package/lib/appui-react/pickers/ViewSelector.js +7 -6
  245. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  246. package/lib/appui-react/popup/CardPopup.js +2 -2
  247. package/lib/appui-react/popup/CardPopup.js.map +1 -1
  248. package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
  249. package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
  250. package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
  251. package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  252. package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
  253. package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  254. package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
  255. package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  256. package/lib/appui-react/popup/PopupManager.d.ts +1 -1
  257. package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
  258. package/lib/appui-react/popup/PopupManager.js +4 -4
  259. package/lib/appui-react/popup/PopupManager.js.map +1 -1
  260. package/lib/appui-react/popup/PositionPopup.js +2 -2
  261. package/lib/appui-react/popup/PositionPopup.js.map +1 -1
  262. package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  263. package/lib/appui-react/popup/ToolbarPopup.js +1 -1
  264. package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
  265. package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
  266. package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  267. package/lib/appui-react/preview/PreviewFeatures.js +1 -2
  268. package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
  269. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
  270. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
  271. package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
  272. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
  273. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
  274. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
  275. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
  276. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
  277. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
  278. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
  279. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
  280. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
  281. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  282. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
  283. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  284. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
  285. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  286. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
  287. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  288. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
  289. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  290. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  291. package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
  292. package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
  293. package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
  294. package/lib/appui-react/redux/FrameworkState.js.map +1 -1
  295. package/lib/appui-react/redux/ReducerRegistry.js +1 -1
  296. package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
  297. package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
  298. package/lib/appui-react/redux/SessionState.js.map +1 -1
  299. package/lib/appui-react/redux/StateManager.js +2 -2
  300. package/lib/appui-react/redux/StateManager.js.map +1 -1
  301. package/lib/appui-react/redux/connectIModel.js +1 -1
  302. package/lib/appui-react/redux/connectIModel.js.map +1 -1
  303. package/lib/appui-react/redux/redux-ts.js.map +1 -1
  304. package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
  305. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  306. package/lib/appui-react/settings/SettingsManager.js +1 -1
  307. package/lib/appui-react/settings/SettingsManager.js.map +1 -1
  308. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
  309. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  310. package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
  311. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  312. package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
  313. package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  314. package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
  315. package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  316. package/lib/appui-react/shared/CommandItemDef.js +1 -1
  317. package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
  318. package/lib/appui-react/shared/CustomItemDef.js +1 -1
  319. package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
  320. package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
  321. package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
  322. package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
  323. package/lib/appui-react/shared/ItemMap.js +1 -1
  324. package/lib/appui-react/shared/ItemMap.js.map +1 -1
  325. package/lib/appui-react/shared/ItemProps.js.map +1 -1
  326. package/lib/appui-react/shared/MenuItem.js +1 -1
  327. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  328. package/lib/appui-react/shared/ToolItemDef.js +1 -1
  329. package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
  330. package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  331. package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
  332. package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  333. package/lib/appui-react/statusbar/Field.js.map +1 -1
  334. package/lib/appui-react/statusbar/Indicator.js +2 -2
  335. package/lib/appui-react/statusbar/Indicator.js.map +1 -1
  336. package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
  337. package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
  338. package/lib/appui-react/statusbar/Overflow.js.map +1 -1
  339. package/lib/appui-react/statusbar/Separator.js +1 -1
  340. package/lib/appui-react/statusbar/Separator.js.map +1 -1
  341. package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
  342. package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
  343. package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  344. package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
  345. package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  346. package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  347. package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
  348. package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  349. package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  350. package/lib/appui-react/statusbar/popup/Popup.js +2 -2
  351. package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
  352. package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
  353. package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
  354. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  355. package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
  356. package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
  357. package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
  358. package/lib/appui-react/statusfields/SelectionScope.js +3 -3
  359. package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
  360. package/lib/appui-react/statusfields/SnapMode.js +2 -2
  361. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  362. package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
  363. package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  364. package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
  365. package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
  366. package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
  367. package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  368. package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  369. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
  370. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  371. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  372. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  373. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  374. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -5
  375. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  376. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
  377. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  378. package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  379. package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
  380. package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  381. package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
  382. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  383. package/lib/appui-react/theme/ThemeManager.js +1 -1
  384. package/lib/appui-react/theme/ThemeManager.js.map +1 -1
  385. package/lib/appui-react/toolbar/GroupItem.js +1 -1
  386. package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
  387. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  388. package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
  389. package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  390. package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
  391. package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  392. package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
  393. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  394. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  395. package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
  396. package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  397. package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  398. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
  399. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
  400. package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
  401. package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
  402. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
  403. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  404. package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
  405. package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
  406. package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
  407. package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
  408. package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
  409. package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  410. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
  411. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  412. package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
  413. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  414. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
  415. package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
  416. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
  417. package/lib/appui-react/tools/ToolbarItems.js +1 -1
  418. package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
  419. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  420. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
  421. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  422. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
  423. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  424. package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
  425. package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
  426. package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
  427. package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  428. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
  429. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
  430. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  431. package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  432. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
  433. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  434. package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  435. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
  436. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  437. package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  438. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  439. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  440. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  441. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
  442. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  443. package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
  444. package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  445. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
  446. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  447. package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  448. package/lib/appui-react/uistate/AppUiSettings.js +2 -2
  449. package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
  450. package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
  451. package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
  452. package/lib/appui-react/uistate/UiStateStorage.js +1 -1
  453. package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
  454. package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
  455. package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
  456. package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
  457. package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
  458. package/lib/appui-react/utils/PropsHelper.js +5 -5
  459. package/lib/appui-react/utils/PropsHelper.js.map +1 -1
  460. package/lib/appui-react/utils/RectangleProps.js.map +1 -1
  461. package/lib/appui-react/utils/SizeProps.js.map +1 -1
  462. package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
  463. package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
  464. package/lib/appui-react/utils/getActiveViewport.js +1 -1
  465. package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
  466. package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
  467. package/lib/appui-react/widget-panels/Frontstage.js +7 -7
  468. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  469. package/lib/appui-react/widget-panels/StatusBar.js +5 -5
  470. package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
  471. package/lib/appui-react/widget-panels/Tab.js +4 -4
  472. package/lib/appui-react/widget-panels/Tab.js.map +1 -1
  473. package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  474. package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
  475. package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
  476. package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
  477. package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
  478. package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
  479. package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  480. package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
  481. package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
  482. package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  483. package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  484. package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
  485. package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  486. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  487. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  488. package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
  489. package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  490. package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  491. package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  492. package/lib/appui-react/widgets/Widget.js.map +1 -1
  493. package/lib/appui-react/widgets/WidgetControl.js +1 -1
  494. package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
  495. package/lib/appui-react/widgets/WidgetDef.js +21 -21
  496. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  497. package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  498. package/lib/appui-react/widgets/useWidget.d.ts.map +1 -1
  499. package/lib/appui-react.js +1 -1
  500. package/lib/appui-react.js.map +1 -1
  501. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  502. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  503. package/package.json +17 -17
  504. package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
  505. package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
  506. package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
  507. package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
  508. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
  509. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
  510. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
  511. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
  512. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
  513. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
  514. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.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 KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport {\n ContextMenuItem,\n ContextSubMenu,\n GlobalContextMenu,\n} from \"@itwin/core-react\";\nimport type { KeyboardShortcut } from \"./KeyboardShortcut.js\";\nimport { ConditionalBooleanValue, UiEvent } from \"@itwin/appui-abstract\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** State of a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\n * @public\n * @deprecated in 4.15.0. Used internally by {@link KeyboardShortcutMenu} component.\n */\nexport interface KeyboardShortcutMenuState {\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n shortcuts?: KeyboardShortcut[];\n}\n\n/** KeyboardShortcut Menu Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> {}\n\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\n * @public\n * @deprecated in 4.15.0. Component used internally to display keyboard shortcuts in a context menu.\n */\nexport class KeyboardShortcutMenu extends React.PureComponent<\n CommonProps,\n KeyboardShortcutMenuState\n> {\n public override readonly state: KeyboardShortcutMenuState = {\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n };\n\n /** Get KeyboardShortcut Menu Event. */\n public static readonly onKeyboardShortcutMenuEvent =\n new KeyboardShortcutMenuEvent();\n\n public override componentDidMount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n public override componentWillUnmount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n private _handleKeyboardShortcutMenuEvent: ListenerType<\n typeof KeyboardShortcutMenu.onKeyboardShortcutMenuEvent\n > = (state) => {\n this.setState(state);\n };\n\n public override render(): React.ReactNode {\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\n const onClose = this._hideContextMenu;\n\n if (menuVisible) {\n const items = this.getShortcutMenuItems(shortcuts);\n\n return (\n <GlobalContextMenu\n className={this.props.className}\n style={this.props.style}\n identifier=\"keyboard-shortcuts\"\n x={menuX}\n y={menuY}\n opened={menuVisible}\n onEsc={onClose}\n onOutsideClick={onClose}\n edgeLimit={false}\n autoflip={true}\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\n >\n {items}\n </GlobalContextMenu>\n );\n }\n\n return null;\n }\n\n private getShortcutMenuItems(\n shortcuts?: KeyboardShortcut[]\n ): React.ReactNode[] {\n const items: React.ReactNode[] = [];\n\n if (shortcuts) {\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\n const item = this.getShortcutMenuItem(shortcut, index);\n if (item) items.push(item);\n });\n }\n\n return items;\n }\n\n private getShortcutMenuItem(\n shortcut: KeyboardShortcut,\n index: number\n ): React.ReactNode {\n const shortcutKey = shortcut.key;\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\n\n // Only pure characters go into the context menu\n if (\n shortcutKey !== shortcut.keyMapKey ||\n shortcut.isFunctionKey ||\n shortcut.isSpecialKey ||\n isHidden\n )\n return null;\n\n let node: React.ReactNode = null;\n let label = shortcut.label;\n const iconSpec = shortcut.iconSpec;\n\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\n\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\n const shortcuts =\n shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\n const items = this.getShortcutMenuItems(shortcuts);\n\n node = (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n disabled={shortcut.isDisabled}\n badgeType={shortcut.badgeType}\n badgeKind={shortcut.badgeKind}\n >\n {items}\n </ContextSubMenu>\n );\n } else {\n const sel = () => this._itemPicked(shortcut);\n node = (\n <ContextMenuItem\n key={index}\n onSelect={sel}\n icon={iconSpec}\n disabled={shortcut.isDisabled}\n badgeType={shortcut.badgeType}\n badgeKind={shortcut.badgeKind}\n >\n {label}\n </ContextMenuItem>\n );\n }\n\n return node;\n }\n\n private _hideContextMenu = () => {\n this.setState({ menuVisible: false, shortcuts: undefined });\n };\n\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\n this._hideContextMenu();\n shortcut.itemPicked();\n };\n}\n"]}
1
+ {"version":3,"file":"KeyboardShortcutMenu.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcutMenu.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 KeyboardShortcut\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport {\n ContextMenuItem,\n ContextSubMenu,\n GlobalContextMenu,\n} from \"@itwin/core-react\";\nimport type { KeyboardShortcut } from \"./KeyboardShortcut.js\";\nimport { ConditionalBooleanValue, UiEvent } from \"@itwin/appui-abstract\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** State of a [[KeyboardShortcutMenuEvent]] and [[KeyboardShortcutMenu]] component\n * @public\n * @deprecated in 4.15.0. Used internally by {@link KeyboardShortcutMenu} component.\n */\nexport interface KeyboardShortcutMenuState {\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n shortcuts?: KeyboardShortcut[];\n}\n\n/** KeyboardShortcut Menu Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\nexport class KeyboardShortcutMenuEvent extends UiEvent<KeyboardShortcutMenuState> {}\n\n/** React component that displays a context menu at the cursor containing keyboard shortcuts.\n * @public\n * @deprecated in 4.15.0. Component used internally to display keyboard shortcuts in a context menu.\n */\nexport class KeyboardShortcutMenu extends React.PureComponent<\n CommonProps,\n KeyboardShortcutMenuState\n> {\n public override readonly state: KeyboardShortcutMenuState = {\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n };\n\n /** Get KeyboardShortcut Menu Event. */\n public static readonly onKeyboardShortcutMenuEvent =\n new KeyboardShortcutMenuEvent();\n\n public override componentDidMount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.addListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n public override componentWillUnmount() {\n KeyboardShortcutMenu.onKeyboardShortcutMenuEvent.removeListener(\n this._handleKeyboardShortcutMenuEvent\n );\n }\n\n private _handleKeyboardShortcutMenuEvent: ListenerType<\n typeof KeyboardShortcutMenu.onKeyboardShortcutMenuEvent\n > = (state) => {\n this.setState(state);\n };\n\n public override render(): React.ReactNode {\n const { shortcuts, menuX, menuY, menuVisible } = this.state;\n const onClose = this._hideContextMenu;\n\n if (menuVisible) {\n const items = this.getShortcutMenuItems(shortcuts);\n\n return (\n <GlobalContextMenu\n className={this.props.className}\n style={this.props.style}\n identifier=\"keyboard-shortcuts\"\n x={menuX}\n y={menuY}\n opened={menuVisible}\n onEsc={onClose}\n onOutsideClick={onClose}\n edgeLimit={false}\n autoflip={true}\n ignoreNextKeyUp={true} // Executing the shortcut on the keydown, so ignore the keyup in the menu\n >\n {items}\n </GlobalContextMenu>\n );\n }\n\n return null;\n }\n\n private getShortcutMenuItems(\n shortcuts?: KeyboardShortcut[]\n ): React.ReactNode[] {\n const items: React.ReactNode[] = [];\n\n if (shortcuts) {\n shortcuts.forEach((shortcut: KeyboardShortcut, index: number) => {\n const item = this.getShortcutMenuItem(shortcut, index);\n if (item) items.push(item);\n });\n }\n\n return items;\n }\n\n private getShortcutMenuItem(\n shortcut: KeyboardShortcut,\n index: number\n ): React.ReactNode {\n const shortcutKey = shortcut.key;\n const isHidden = ConditionalBooleanValue.getValue(shortcut.isHidden);\n\n // Only pure characters go into the context menu\n if (\n shortcutKey !== shortcut.keyMapKey ||\n shortcut.isFunctionKey ||\n shortcut.isSpecialKey ||\n isHidden\n )\n return null;\n\n let node: React.ReactNode = null;\n let label = shortcut.label;\n const iconSpec = shortcut.iconSpec;\n\n label = `~${shortcutKey.toLocaleUpperCase()} ${label}`;\n\n if (shortcut.shortcutContainer.areKeyboardShortcutsAvailable()) {\n const shortcuts =\n shortcut.shortcutContainer.getAvailableKeyboardShortcuts();\n const items = this.getShortcutMenuItems(shortcuts);\n\n node = (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n disabled={shortcut.isDisabled}\n badgeType={shortcut.badgeType}\n badgeKind={shortcut.badgeKind}\n >\n {items}\n </ContextSubMenu>\n );\n } else {\n const sel = () => this._itemPicked(shortcut);\n node = (\n <ContextMenuItem\n key={index}\n onSelect={sel}\n icon={iconSpec}\n disabled={shortcut.isDisabled}\n badgeType={shortcut.badgeType}\n badgeKind={shortcut.badgeKind}\n >\n {label}\n </ContextMenuItem>\n );\n }\n\n return node;\n }\n\n private _hideContextMenu = () => {\n this.setState({ menuVisible: false, shortcuts: undefined });\n };\n\n private _itemPicked = (shortcut: KeyboardShortcut): void => {\n this._hideContextMenu();\n shortcut.itemPicked();\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutProps.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcutProps.ts"],"names":[],"mappings":"","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 KeyboardShortcut\n */\nimport type { Key } from \"ts-key-enum\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef.js\";\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"../shared/ConditionalValue.js\";\nimport type { BadgeType, CommonProps, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport type { StringGetter } from \"@itwin/appui-abstract\";\n\n/** Properties for a Keyboard Shortcut\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface KeyboardShortcutProps extends CommonProps {\n /** The key that invokes the shortcut.\n * This is either an alphanumeric key, a function key or a special key.\n */\n key: string | Key;\n\n /** The item to execute when this shortcut is invoked. Either 'item' or 'shortcuts' must be specified.\n * @deprecated in 4.15.0. Use properties of this object instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n item?: ActionButtonItemDef;\n /** Function to run when the keyboard shortcut is executed. */\n execute?: () => void;\n\n /** Nested array of shortcut props.\n * @note `execute` is ignored if `shortcuts` is specified.\n */\n shortcuts?: KeyboardShortcutProps[];\n\n /** Indicates whether the Alt key required. Default - false */\n isAltKeyRequired?: boolean;\n /** Indicates whether the Ctrl key required. Default - false */\n isCtrlKeyRequired?: boolean;\n /** Indicates whether the Shift key required. Default - false */\n isShiftKeyRequired?: boolean;\n\n /** Specifies the kind of badge, if any, to be overlaid on the item. */\n badgeKind?: BadgeKind;\n /** Icon used for a shortcut. */\n iconNode?: React.ReactNode;\n\n // #region \"ItemProps\" properties previously extended from deprecated type.\n\n /** if true component will be hidden - defaults to false */\n isHidden?: boolean | ConditionalBooleanValue;\n /** if true component will be disabled - defaults to false */\n isDisabled?: boolean | ConditionalBooleanValue;\n /** if set, component will be considered \"active\" an will display an \"active stripe\" - defaults to false */\n isActive?: boolean;\n /** if set, component will be considered selected but will NOT display an \"active stripe\" - defaults to false. Typically used by buttons that toggle between two states. */\n isPressed?: boolean;\n /** can be used by application to store miscellaneous data. */\n applicationData?: any;\n /** Badge to be overlaid on the item.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n badgeType?: BadgeType;\n /** Abstract icon definition, used when creating itemDef from abstract item (ie. MenuItem).\n * @deprecated in 4.16.0. Use {@link KeyboardShortcutProps.iconNode} instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n icon?: IconSpec;\n\n /** if set, it is used to explicitly set the label shown by a component. */\n label?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\n labelKey?: string;\n\n /** if set, it is used to explicitly set the description shown by a component. */\n description?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if description is not explicitly set. */\n descriptionKey?: string;\n /** used to explicitly set the tooltip shown by a component. */\n tooltip?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\n tooltipKey?: string;\n\n // #endregion \"ItemProps\"\n\n // #region \"IconProps\" properties previously extended from deprecated type.\n\n /** @deprecated in 4.16.0. Use {@link KeyboardShortcutProps.iconNode} instead. */\n // eslint-disable-next-line deprecation/deprecation\n iconSpec?: IconSpec;\n\n // #endregion \"IconProps\"\n}\n"]}
1
+ {"version":3,"file":"KeyboardShortcutProps.js","sourceRoot":"","sources":["../../../src/appui-react/keyboardshortcut/KeyboardShortcutProps.ts"],"names":[],"mappings":"","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 KeyboardShortcut\n */\nimport type { Key } from \"ts-key-enum\";\nimport type { ActionButtonItemDef } from \"../shared/ActionButtonItemDef.js\";\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"../shared/ConditionalValue.js\";\nimport type { BadgeType, CommonProps, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport type { StringGetter } from \"@itwin/appui-abstract\";\n\n/** Properties for a Keyboard Shortcut\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface KeyboardShortcutProps extends CommonProps {\n /** The key that invokes the shortcut.\n * This is either an alphanumeric key, a function key or a special key.\n */\n key: string | Key;\n\n /** The item to execute when this shortcut is invoked. Either 'item' or 'shortcuts' must be specified.\n * @deprecated in 4.15.0. Use properties of this object instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n item?: ActionButtonItemDef;\n /** Function to run when the keyboard shortcut is executed. */\n execute?: () => void;\n\n /** Nested array of shortcut props.\n * @note `execute` is ignored if `shortcuts` is specified.\n */\n shortcuts?: KeyboardShortcutProps[];\n\n /** Indicates whether the Alt key required. Default - false */\n isAltKeyRequired?: boolean;\n /** Indicates whether the Ctrl key required. Default - false */\n isCtrlKeyRequired?: boolean;\n /** Indicates whether the Shift key required. Default - false */\n isShiftKeyRequired?: boolean;\n\n /** Specifies the kind of badge, if any, to be overlaid on the item. */\n badgeKind?: BadgeKind;\n /** Icon used for a shortcut. */\n iconNode?: React.ReactNode;\n\n // #region \"ItemProps\" properties previously extended from deprecated type.\n\n /** if true component will be hidden - defaults to false */\n isHidden?: boolean | ConditionalBooleanValue;\n /** if true component will be disabled - defaults to false */\n isDisabled?: boolean | ConditionalBooleanValue;\n /** if set, component will be considered \"active\" an will display an \"active stripe\" - defaults to false */\n isActive?: boolean;\n /** if set, component will be considered selected but will NOT display an \"active stripe\" - defaults to false. Typically used by buttons that toggle between two states. */\n isPressed?: boolean;\n /** can be used by application to store miscellaneous data. */\n applicationData?: any;\n /** Badge to be overlaid on the item.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n badgeType?: BadgeType;\n /** Abstract icon definition, used when creating itemDef from abstract item (ie. MenuItem).\n * @deprecated in 4.16.0. Use {@link KeyboardShortcutProps.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n icon?: IconSpec;\n\n /** if set, it is used to explicitly set the label shown by a component. */\n label?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\n labelKey?: string;\n\n /** if set, it is used to explicitly set the description shown by a component. */\n description?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if description is not explicitly set. */\n descriptionKey?: string;\n /** used to explicitly set the tooltip shown by a component. */\n tooltip?: string | StringGetter | ConditionalStringValue;\n /** if set, it is used to define a key that is used to look up a localized string. This value is used only if label is not explicitly set. */\n tooltipKey?: string;\n\n // #endregion \"ItemProps\"\n\n // #region \"IconProps\" properties previously extended from deprecated type.\n\n /** @deprecated in 4.16.0. Use {@link KeyboardShortcutProps.iconNode} instead. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec?: IconSpec;\n\n // #endregion \"IconProps\"\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StandardLayout.js","sourceRoot":"","sources":["../../../src/appui-react/layout/StandardLayout.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 WidgetPanels\n */\n\nimport \"./StandardLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useLayout } from \"./base/LayoutStore.js\";\nimport { useContentAlwaysMaxSize } from \"../preview/content-always-max-size/useContentAlwaysMaxSize.js\";\nimport { useMaximizedPanelLayout } from \"../preview/enable-maximized-widget/useMaximizedWidget.js\";\nimport { useHorizontalPanelAlignment } from \"../preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js\";\nimport { usePanelsAutoCollapse } from \"./widget-panels/usePanelsAutoCollapse.js\";\nimport type { PanelSide } from \"./widget-panels/PanelTypes.js\";\n\n// eslint-disable-next-line deprecation/deprecation\ninterface StandardLayoutProps extends CommonProps {\n /** Main content area of the application (i.e. viewport) that will change bounds based on panel pinned state. */\n children?: React.ReactNode;\n /** Component that displays center content (i.e. toolbars). Content is always bound by widget panels. */\n centerContent?: React.ReactNode;\n toolSettings?: React.ReactNode;\n statusBar?: React.ReactNode;\n topPanel?: React.ReactNode;\n leftPanel?: React.ReactNode;\n rightPanel?: React.ReactNode;\n bottomPanel?: React.ReactNode;\n}\n\n/** Component that displays widgets in a standard layout.\n * @internal\n */\nexport function StandardLayout(props: StandardLayoutProps) {\n const pinned = usePinnedPanels();\n const appContentRef = usePanelsAutoCollapse<HTMLDivElement>();\n const className = classnames(\"nz-standardLayout\", pinned, props.className);\n const contentAlwaysMaxSize = useContentAlwaysMaxSize();\n return (\n <div className={className} style={props.style}>\n <div\n className={classnames(\"nz-appContent\", contentAlwaysMaxSize)}\n ref={appContentRef}\n >\n {props.children}\n </div>\n <div className=\"nz-centerContent\">{props.centerContent}</div>\n <Panel side=\"left\">{props.leftPanel}</Panel>\n <Panel side=\"right\">{props.rightPanel}</Panel>\n <Panel side=\"top\">{props.topPanel}</Panel>\n <Panel side=\"bottom\">{props.bottomPanel}</Panel>\n <div className=\"nz-toolSettings\">{props.toolSettings}</div>\n <div className=\"nz-statusBar\">{props.statusBar}</div>\n </div>\n );\n}\n\ninterface PanelProps {\n side: PanelSide;\n}\n\nfunction Panel({ children, side }: React.PropsWithChildren<PanelProps>) {\n const maximizedWidget = useMaximizedPanelLayout(side);\n const horizontalAlignment = useHorizontalPanelAlignment(side);\n const className = classnames(\n `nz-standardLayout_${side}Panel`,\n maximizedWidget,\n horizontalAlignment.classNames\n );\n return (\n <div className={className} {...horizontalAlignment.attributes}>\n {children}\n </div>\n );\n}\n\nfunction usePinnedPanels() {\n const leftPinned = useLayout((state) => state.panels.left.pinned);\n const rightPinned = useLayout((state) => state.panels.right.pinned);\n const topPinned = useLayout((state) => state.panels.top.pinned);\n const bottomPinned = useLayout((state) => state.panels.bottom.pinned);\n return {\n \"nz-pinned-left\": leftPinned,\n \"nz-pinned-right\": rightPinned,\n \"nz-pinned-top\": topPinned,\n \"nz-pinned-bottom\": bottomPinned,\n };\n}\n"]}
1
+ {"version":3,"file":"StandardLayout.js","sourceRoot":"","sources":["../../../src/appui-react/layout/StandardLayout.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 WidgetPanels\n */\n\nimport \"./StandardLayout.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useLayout } from \"./base/LayoutStore.js\";\nimport { useContentAlwaysMaxSize } from \"../preview/content-always-max-size/useContentAlwaysMaxSize.js\";\nimport { useMaximizedPanelLayout } from \"../preview/enable-maximized-widget/useMaximizedWidget.js\";\nimport { useHorizontalPanelAlignment } from \"../preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js\";\nimport { usePanelsAutoCollapse } from \"./widget-panels/usePanelsAutoCollapse.js\";\nimport type { PanelSide } from \"./widget-panels/PanelTypes.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ninterface StandardLayoutProps extends CommonProps {\n /** Main content area of the application (i.e. viewport) that will change bounds based on panel pinned state. */\n children?: React.ReactNode;\n /** Component that displays center content (i.e. toolbars). Content is always bound by widget panels. */\n centerContent?: React.ReactNode;\n toolSettings?: React.ReactNode;\n statusBar?: React.ReactNode;\n topPanel?: React.ReactNode;\n leftPanel?: React.ReactNode;\n rightPanel?: React.ReactNode;\n bottomPanel?: React.ReactNode;\n}\n\n/** Component that displays widgets in a standard layout.\n * @internal\n */\nexport function StandardLayout(props: StandardLayoutProps) {\n const pinned = usePinnedPanels();\n const appContentRef = usePanelsAutoCollapse<HTMLDivElement>();\n const className = classnames(\"nz-standardLayout\", pinned, props.className);\n const contentAlwaysMaxSize = useContentAlwaysMaxSize();\n return (\n <div className={className} style={props.style}>\n <div\n className={classnames(\"nz-appContent\", contentAlwaysMaxSize)}\n ref={appContentRef}\n >\n {props.children}\n </div>\n <div className=\"nz-centerContent\">{props.centerContent}</div>\n <Panel side=\"left\">{props.leftPanel}</Panel>\n <Panel side=\"right\">{props.rightPanel}</Panel>\n <Panel side=\"top\">{props.topPanel}</Panel>\n <Panel side=\"bottom\">{props.bottomPanel}</Panel>\n <div className=\"nz-toolSettings\">{props.toolSettings}</div>\n <div className=\"nz-statusBar\">{props.statusBar}</div>\n </div>\n );\n}\n\ninterface PanelProps {\n side: PanelSide;\n}\n\nfunction Panel({ children, side }: React.PropsWithChildren<PanelProps>) {\n const maximizedWidget = useMaximizedPanelLayout(side);\n const horizontalAlignment = useHorizontalPanelAlignment(side);\n const className = classnames(\n `nz-standardLayout_${side}Panel`,\n maximizedWidget,\n horizontalAlignment.classNames\n );\n return (\n <div className={className} {...horizontalAlignment.attributes}>\n {children}\n </div>\n );\n}\n\nfunction usePinnedPanels() {\n const leftPinned = useLayout((state) => state.panels.left.pinned);\n const rightPinned = useLayout((state) => state.panels.right.pinned);\n const topPinned = useLayout((state) => state.panels.top.pinned);\n const bottomPinned = useLayout((state) => state.panels.bottom.pinned);\n return {\n \"nz-pinned-left\": leftPinned,\n \"nz-pinned-right\": rightPinned,\n \"nz-pinned-top\": topPinned,\n \"nz-pinned-bottom\": bottomPinned,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Backstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,kBAAkB,CAAC;AA4B1B;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,aAA6B;IAAlE;;QA8CU,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAlDiB,iBAAiB;QAC/B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEe,oBAAoB;QAClC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEe,MAAM;QACpB,MAAM,gBAAgB,GAAG,UAAU,CACjC,gCAAgC,EAChC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,YAAY,CACvC,CAAC;QACF,MAAM,kBAAkB,GAAG,UAAU,CACnC,wBAAwB,EACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAC9B,IAAI,CAAC,KAAK,CAAC,cAAc;YACvB,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACnE,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,OAAO,CACL;YACE,6BACE,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,cAAc,GACnB;YACF,6BAAK,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACxD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CACpB,6BAAK,SAAS,EAAC,WAAW,IAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAO,CACrD;gBACD,4BAAI,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAM;gBACzC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CACpB,6BAAK,SAAS,EAAC,WAAW,IAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAO,CACrD,CACG,CACL,CACJ,CAAC;IACJ,CAAC;;AA3CsB,sBAAY,GAA0B;IAC3D,WAAW,EAAE,IAAI;CAClB,AAFkC,CAEjC","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 Backstage\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { SafeAreaInsets } from \"../../safearea/SafeAreaInsets.js\";\nimport { SafeAreaInsetsHelpers } from \"../base/SafeAreaInsets.js\";\nimport \"./Backstage.scss\";\n\n/** Properties of [[Backstage]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface BackstageProps extends CommonProps {\n /** Backstage items and separators. I.e. [[BackstageItem]], [[BackstageSeparator]] */\n children?: React.ReactNode;\n /** Optional footer content. */\n footer?: React.ReactNode;\n /** Optional header content. I.e. [[UserProfile]] */\n header?: React.ReactNode;\n /** Describes if the backstage is open. */\n isOpen?: boolean;\n /** Function called when backstage is closed. */\n onClose?: () => void;\n /** Describes respected safe area insets. */\n safeAreaInsets?: SafeAreaInsets;\n /** Describes if a ghosting overlay is shown. */\n showOverlay: boolean;\n}\n\n/** Default properties of [[Backstage]] component.\n * @internal\n */\nexport type BackstageDefaultProps = Pick<BackstageProps, \"showOverlay\">;\n\n/** Backstage component of 9-Zone UI app.\n * @internal\n */\nexport class Backstage extends React.PureComponent<BackstageProps> {\n public static readonly defaultProps: BackstageDefaultProps = {\n showOverlay: true,\n };\n\n public override componentDidMount(): void {\n document.addEventListener(\"keydown\", this._onEsc, false);\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"keydown\", this._onEsc, false);\n }\n\n public override render() {\n const overlayClassName = classnames(\n \"nz-backstage-backstage_overlay\",\n this.props.isOpen && \"nz-open\",\n this.props.showOverlay && \"nz-overlay\"\n );\n const backstageClassName = classnames(\n \"nz-backstage-backstage\",\n this.props.isOpen && \"nz-open\",\n this.props.safeAreaInsets &&\n SafeAreaInsetsHelpers.getCssClassNames(this.props.safeAreaInsets),\n this.props.className\n );\n return (\n <>\n <div\n className={overlayClassName}\n onClick={this._onClose}\n role=\"presentation\"\n />\n <div className={backstageClassName} style={this.props.style}>\n {this.props.header && (\n <div className=\"nz-header\">{this.props.header}</div>\n )}\n <ul role=\"menu\">{this.props.children}</ul>\n {this.props.footer && (\n <div className=\"nz-footer\">{this.props.footer}</div>\n )}\n </div>\n </>\n );\n }\n\n private _onClose = () => {\n this.props.onClose && this.props.onClose();\n };\n\n private _onEsc = (event: KeyboardEvent): void => {\n if (this.props.isOpen && event.key === Key.Escape.valueOf()) {\n this._onClose();\n }\n };\n}\n"]}
1
+ {"version":3,"file":"Backstage.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Backstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,kBAAkB,CAAC;AA4B1B;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,aAA6B;IAAlE;;QA8CU,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAlDiB,iBAAiB;QAC/B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEe,oBAAoB;QAClC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEe,MAAM;QACpB,MAAM,gBAAgB,GAAG,UAAU,CACjC,gCAAgC,EAChC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,YAAY,CACvC,CAAC;QACF,MAAM,kBAAkB,GAAG,UAAU,CACnC,wBAAwB,EACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAC9B,IAAI,CAAC,KAAK,CAAC,cAAc;YACvB,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACnE,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,OAAO,CACL;YACE,6BACE,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,cAAc,GACnB;YACF,6BAAK,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACxD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CACpB,6BAAK,SAAS,EAAC,WAAW,IAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAO,CACrD;gBACD,4BAAI,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAM;gBACzC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CACpB,6BAAK,SAAS,EAAC,WAAW,IAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAO,CACrD,CACG,CACL,CACJ,CAAC;IACJ,CAAC;;AA3CsB,sBAAY,GAA0B;IAC3D,WAAW,EAAE,IAAI;CAClB,AAFkC,CAEjC","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 Backstage\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { SafeAreaInsets } from \"../../safearea/SafeAreaInsets.js\";\nimport { SafeAreaInsetsHelpers } from \"../base/SafeAreaInsets.js\";\nimport \"./Backstage.scss\";\n\n/** Properties of [[Backstage]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface BackstageProps extends CommonProps {\n /** Backstage items and separators. I.e. [[BackstageItem]], [[BackstageSeparator]] */\n children?: React.ReactNode;\n /** Optional footer content. */\n footer?: React.ReactNode;\n /** Optional header content. I.e. [[UserProfile]] */\n header?: React.ReactNode;\n /** Describes if the backstage is open. */\n isOpen?: boolean;\n /** Function called when backstage is closed. */\n onClose?: () => void;\n /** Describes respected safe area insets. */\n safeAreaInsets?: SafeAreaInsets;\n /** Describes if a ghosting overlay is shown. */\n showOverlay: boolean;\n}\n\n/** Default properties of [[Backstage]] component.\n * @internal\n */\nexport type BackstageDefaultProps = Pick<BackstageProps, \"showOverlay\">;\n\n/** Backstage component of 9-Zone UI app.\n * @internal\n */\nexport class Backstage extends React.PureComponent<BackstageProps> {\n public static readonly defaultProps: BackstageDefaultProps = {\n showOverlay: true,\n };\n\n public override componentDidMount(): void {\n document.addEventListener(\"keydown\", this._onEsc, false);\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"keydown\", this._onEsc, false);\n }\n\n public override render() {\n const overlayClassName = classnames(\n \"nz-backstage-backstage_overlay\",\n this.props.isOpen && \"nz-open\",\n this.props.showOverlay && \"nz-overlay\"\n );\n const backstageClassName = classnames(\n \"nz-backstage-backstage\",\n this.props.isOpen && \"nz-open\",\n this.props.safeAreaInsets &&\n SafeAreaInsetsHelpers.getCssClassNames(this.props.safeAreaInsets),\n this.props.className\n );\n return (\n <>\n <div\n className={overlayClassName}\n onClick={this._onClose}\n role=\"presentation\"\n />\n <div className={backstageClassName} style={this.props.style}>\n {this.props.header && (\n <div className=\"nz-header\">{this.props.header}</div>\n )}\n <ul role=\"menu\">{this.props.children}</ul>\n {this.props.footer && (\n <div className=\"nz-footer\">{this.props.footer}</div>\n )}\n </div>\n </>\n );\n }\n\n private _onClose = () => {\n this.props.onClose && this.props.onClose();\n };\n\n private _onEsc = (event: KeyboardEvent): void => {\n if (this.props.isOpen && event.key === Key.Escape.valueOf()) {\n this._onClose();\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,aAAa,CAAC;AA6BrB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,mBAAmB,EACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,aAAa,EACtC,IAAI,CAAC,KAAK,CAAC,cAAc;YACvB,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACnE,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO;QACL,iEAAiE;QACjE,4CACgB,IAAI,CAAC,KAAK,CAAC,MAAM,oBAChB,gBAAgB,8BACL,IAAI,CAAC,KAAK,CAAC,aAAa,wBAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,2BACpB,IAAI,CAAC,KAAK,CAAC,UAAU,EAC5C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,UAAU;YAEf,6BAAK,SAAS,EAAC,SAAS,IAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO;YAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO;YACvE;gBACE,kCAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAQ;gBACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,kCAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAQ,CACtD,CACH,CACN,CAAC;IACJ,CAAC;CACF","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 Backstage\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { SafeAreaInsets } from \"../../safearea/SafeAreaInsets.js\";\nimport { SafeAreaInsetsHelpers } from \"../base/SafeAreaInsets.js\";\nimport \"./Item.scss\";\n\n/** Properties of [[BackstageItem]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface BackstageItemProps extends CommonProps {\n /** Backstage item label. */\n children?: string;\n /** Backstage item icon. */\n icon?: React.ReactNode;\n /** Describes if the item is active. */\n isActive?: boolean;\n /** Describes if the item is disabled. */\n isDisabled?: boolean;\n /** Function called when item is clicked. */\n onClick?: () => void;\n /** Describes respected safe area insets. */\n safeAreaInsets?: SafeAreaInsets;\n /** Backstage item subtitle. */\n subtitle?: string;\n /** A badge to draw. */\n badge?: React.ReactNode;\n\n providerId?: string;\n itemPriority?: number;\n groupPriority?: number;\n}\n\n/** Item in the [[Backstage]].\n * @internal\n */\nexport class BackstageItem extends React.PureComponent<BackstageItemProps> {\n public override render() {\n const className = classnames(\n \"nz-backstage-item\",\n this.props.isActive && \"nz-active\",\n this.props.isDisabled && \"nz-disabled\",\n this.props.safeAreaInsets &&\n SafeAreaInsetsHelpers.getCssClassNames(this.props.safeAreaInsets),\n this.props.className\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <li\n data-item-id={this.props.itemId}\n data-item-type=\"backstage-item\"\n data-item-group-priority={this.props.groupPriority}\n data-item-priority={this.props.itemPriority}\n data-item-provider-id={this.props.providerId}\n className={className}\n onClick={this.props.onClick}\n style={this.props.style}\n role=\"menuitem\"\n >\n <div className=\"nz-icon\">{this.props.icon}</div>\n {this.props.badge && <div className=\"nz-badge\">{this.props.badge}</div>}\n <div>\n <span>{this.props.children}</span>\n {this.props.subtitle && <span>{this.props.subtitle}</span>}\n </div>\n </li>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,aAAa,CAAC;AA6BrB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,mBAAmB,EACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,aAAa,EACtC,IAAI,CAAC,KAAK,CAAC,cAAc;YACvB,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACnE,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO;QACL,iEAAiE;QACjE,4CACgB,IAAI,CAAC,KAAK,CAAC,MAAM,oBAChB,gBAAgB,8BACL,IAAI,CAAC,KAAK,CAAC,aAAa,wBAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,2BACpB,IAAI,CAAC,KAAK,CAAC,UAAU,EAC5C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,UAAU;YAEf,6BAAK,SAAS,EAAC,SAAS,IAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO;YAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO;YACvE;gBACE,kCAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAQ;gBACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,kCAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAQ,CACtD,CACH,CACN,CAAC;IACJ,CAAC;CACF","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 Backstage\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { SafeAreaInsets } from \"../../safearea/SafeAreaInsets.js\";\nimport { SafeAreaInsetsHelpers } from \"../base/SafeAreaInsets.js\";\nimport \"./Item.scss\";\n\n/** Properties of [[BackstageItem]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface BackstageItemProps extends CommonProps {\n /** Backstage item label. */\n children?: string;\n /** Backstage item icon. */\n icon?: React.ReactNode;\n /** Describes if the item is active. */\n isActive?: boolean;\n /** Describes if the item is disabled. */\n isDisabled?: boolean;\n /** Function called when item is clicked. */\n onClick?: () => void;\n /** Describes respected safe area insets. */\n safeAreaInsets?: SafeAreaInsets;\n /** Backstage item subtitle. */\n subtitle?: string;\n /** A badge to draw. */\n badge?: React.ReactNode;\n\n providerId?: string;\n itemPriority?: number;\n groupPriority?: number;\n}\n\n/** Item in the [[Backstage]].\n * @internal\n */\nexport class BackstageItem extends React.PureComponent<BackstageItemProps> {\n public override render() {\n const className = classnames(\n \"nz-backstage-item\",\n this.props.isActive && \"nz-active\",\n this.props.isDisabled && \"nz-disabled\",\n this.props.safeAreaInsets &&\n SafeAreaInsetsHelpers.getCssClassNames(this.props.safeAreaInsets),\n this.props.className\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <li\n data-item-id={this.props.itemId}\n data-item-type=\"backstage-item\"\n data-item-group-priority={this.props.groupPriority}\n data-item-priority={this.props.itemPriority}\n data-item-provider-id={this.props.providerId}\n className={className}\n onClick={this.props.onClick}\n style={this.props.style}\n role=\"menuitem\"\n >\n <div className=\"nz-icon\">{this.props.icon}</div>\n {this.props.badge && <div className=\"nz-badge\">{this.props.badge}</div>}\n <div>\n <span>{this.props.children}</span>\n {this.props.subtitle && <span>{this.props.subtitle}</span>}\n </div>\n </li>\n );\n }\n}\n"]}
@@ -11,7 +11,7 @@ import * as React from "react";
11
11
  /** Item separator in the [[Backstage]] component.
12
12
  * @internal
13
13
  */
14
- // eslint-disable-next-line deprecation/deprecation
14
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
15
15
  export class BackstageSeparator extends React.PureComponent {
16
16
  render() {
17
17
  const className = classnames("nz-backstage-separator", this.props.className);
@@ -1 +1 @@
1
- {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Separator.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,mDAAmD;AACnD,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,aAA0B;IACtD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,wBAAwB,EACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,4BAAI,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,WAAW,GAAG,CACvE,CAAC;IACJ,CAAC;CACF","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 Backstage\n */\n\nimport \"./Separator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Item separator in the [[Backstage]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class BackstageSeparator extends React.PureComponent<CommonProps> {\n public override render() {\n const className = classnames(\n \"nz-backstage-separator\",\n this.props.className\n );\n\n return (\n <li className={className} style={this.props.style} role=\"separator\" />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/backstage/Separator.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,4DAA4D;AAC5D,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,aAA0B;IACtD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,wBAAwB,EACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,4BAAI,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,WAAW,GAAG,CACvE,CAAC;IACJ,CAAC;CACF","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 Backstage\n */\n\nimport \"./Separator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Item separator in the [[Backstage]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class BackstageSeparator extends React.PureComponent<CommonProps> {\n public override render() {\n const className = classnames(\n \"nz-backstage-separator\",\n this.props.className\n );\n\n return (\n <li className={className} style={this.props.style} role=\"separator\" />\n );\n }\n}\n"]}
@@ -11,5 +11,5 @@ export type PointerCaptorEvent = MouseEvent | TouchEvent;
11
11
  /** Captures mouse and touch events of an element. Used in drag or resize interactions.
12
12
  * @internal
13
13
  */
14
- export declare const usePointerCaptor: <T extends HTMLElement>(onPointerDown?: ((args: PointerCaptorArgs, e: PointerCaptorEvent) => void) | undefined, onPointerMove?: ((args: PointerCaptorArgs, e: PointerCaptorEvent) => void) | undefined, onPointerUp?: ((e: PointerCaptorEvent) => void) | undefined) => (instance: T | null) => void;
14
+ export declare const usePointerCaptor: <T extends HTMLElement>(onPointerDown?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void, onPointerMove?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void, onPointerUp?: (e: PointerCaptorEvent) => void) => (instance: T | null) => void;
15
15
  //# sourceMappingURL=usePointerCaptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePointerCaptor.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/base/usePointerCaptor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAMH,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,gBAAgB,kDACJ,iBAAiB,KAAK,kBAAkB,KAAK,IAAI,uCACjD,iBAAiB,KAAK,kBAAkB,KAAK,IAAI,kCACtD,kBAAkB,KAAK,IAAI,8CA2F9C,CAAC"}
1
+ {"version":3,"file":"usePointerCaptor.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/base/usePointerCaptor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAMH,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,kBACpC,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,kBAAkB,KAAK,IAAI,kBACxD,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,kBAAkB,KAAK,IAAI,gBAC1D,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,iCA2F9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,iBAAc,eAAe;QACxE,iCAAM,KAAK,CAAC,QAAQ,CAAO;QAC3B,iCAAM,KAAK,CAAC,QAAQ,CAAO,CACvB,CACP,CAAC;AACJ,CAAC","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 Message\n */\n\nimport \"./Dialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[Dialog]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface DialogProps extends CommonProps {\n /** Dialog content. */\n children?: React.ReactNode;\n /** Dialog title bar. See [[TitleBar]] */\n titleBar?: React.ReactNode;\n}\n\n/** Dialog used in footer indicators.\n * @note See [[MessageCenter]], [[ToolAssistance]]\n * @note Use [StatusBarDialog]($appui-react) instead\n * @internal\n */\nexport function Dialog(props: DialogProps) {\n const className = classnames(\"nz-footer-dialog-dialog\", props.className);\n\n return (\n <div className={className} style={props.style} data-testid=\"footer-dialog\">\n <div>{props.titleBar}</div>\n <div>{props.children}</div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,iBAAc,eAAe;QACxE,iCAAM,KAAK,CAAC,QAAQ,CAAO;QAC3B,iCAAM,KAAK,CAAC,QAAQ,CAAO,CACvB,CACP,CAAC;AACJ,CAAC","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 Message\n */\n\nimport \"./Dialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[Dialog]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface DialogProps extends CommonProps {\n /** Dialog content. */\n children?: React.ReactNode;\n /** Dialog title bar. See [[TitleBar]] */\n titleBar?: React.ReactNode;\n}\n\n/** Dialog used in footer indicators.\n * @note See [[MessageCenter]], [[ToolAssistance]]\n * @note Use [StatusBarDialog]($appui-react) instead\n * @internal\n */\nexport function Dialog(props: DialogProps) {\n const className = classnames(\"nz-footer-dialog-dialog\", props.className);\n\n return (\n <div className={className} style={props.style} data-testid=\"footer-dialog\">\n <div>{props.titleBar}</div>\n <div>{props.children}</div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TitleBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/dialog/TitleBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3E,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QAC3C,8BAAM,SAAS,EAAC,UAAU,IAAE,KAAK,CAAC,KAAK,CAAQ;QAC9C,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC","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 Message\n */\n\nimport \"./TitleBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[TitleBar]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface TitleBarProps extends CommonProps {\n /** Title bar buttons. I.e. [[TitleBarButton]] */\n children?: React.ReactNode;\n /** Title bar title. */\n title?: string;\n}\n\n/** Title bar of [[Dialog]] component.\n * @note Use [StatusBarDialog.TitleBar]($appui-react) instead\n * @internal\n */\nexport function TitleBar(props: TitleBarProps) {\n const className = classnames(\"nz-footer-dialog-titleBar\", props.className);\n\n return (\n <div className={className} style={props.style}>\n <span className=\"nz-title\">{props.title}</span>\n {props.children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"TitleBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/dialog/TitleBar.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3E,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QAC3C,8BAAM,SAAS,EAAC,UAAU,IAAE,KAAK,CAAC,KAAK,CAAQ;QAC9C,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC","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 Message\n */\n\nimport \"./TitleBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[TitleBar]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface TitleBarProps extends CommonProps {\n /** Title bar buttons. I.e. [[TitleBarButton]] */\n children?: React.ReactNode;\n /** Title bar title. */\n title?: string;\n}\n\n/** Title bar of [[Dialog]] component.\n * @note Use [StatusBarDialog.TitleBar]($appui-react) instead\n * @internal\n */\nexport function TitleBar(props: TitleBarProps) {\n const className = classnames(\"nz-footer-dialog-titleBar\", props.className);\n\n return (\n <div className={className} style={props.style}>\n <span className=\"nz-title\">{props.title}</span>\n {props.children}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/snap-mode/Panel.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,0BAA0B,EAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAChD,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI;YACrC,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjD,CACP,CAAC;IACJ,CAAC;CACF","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 SnapMode\n */\n\nimport \"./Panel.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { TitleBar } from \"../dialog/TitleBar.js\";\n\n/** Properties of [[SnapModePanel]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface SnapModePanelProps extends CommonProps {\n /** Snap rows. I.e. [[Snap]] */\n children?: React.ReactNode;\n /** Dialog title. */\n title?: string;\n}\n\n/** Snap mode panel used with [[SnapMode]] component.\n * @note This is a presentational component and should be aligned with [[SnapMode]] component.\n * I.e. use [[FooterPopup]] to handle alignment.\n * @internal\n */\nexport class SnapModePanel extends React.PureComponent<SnapModePanelProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-snapMode-panel\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n <TitleBar title={this.props.title} />\n <div className=\"nz-snaps\">{this.props.children}</div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/snap-mode/Panel.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,aAAiC;IACxD,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,0BAA0B,EAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAChD,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI;YACrC,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACjD,CACP,CAAC;IACJ,CAAC;CACF","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 SnapMode\n */\n\nimport \"./Panel.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { TitleBar } from \"../dialog/TitleBar.js\";\n\n/** Properties of [[SnapModePanel]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface SnapModePanelProps extends CommonProps {\n /** Snap rows. I.e. [[Snap]] */\n children?: React.ReactNode;\n /** Dialog title. */\n title?: string;\n}\n\n/** Snap mode panel used with [[SnapMode]] component.\n * @note This is a presentational component and should be aligned with [[SnapMode]] component.\n * I.e. use [[FooterPopup]] to handle alignment.\n * @internal\n */\nexport class SnapModePanel extends React.PureComponent<SnapModePanelProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-snapMode-panel\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n <TitleBar title={this.props.title} />\n <div className=\"nz-snaps\">{this.props.children}</div>\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Snap.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/snap-mode/Snap.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,KAAK,CAAC,aAAwB;IACtC,MAAM;QACpB,MAAM,eAAe,GAAG,UAAU,CAChC,yBAAyB,EACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO;QACL,iEAAiE;QACjE,6BACE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC;YAEX,IAAI,CAAC,KAAK,CAAC,IAAI;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;CACF","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 SnapMode\n */\n\nimport \"./Snap.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[Snap]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface SnapProps extends CommonProps {\n /** Label of snap row. */\n children?: string;\n /** Snap row icon. */\n icon?: React.ReactNode;\n /** Describes if the snap row is active. */\n isActive?: boolean;\n /** Function called when the Snap component is clicked. */\n onClick?: () => void;\n}\n\n/** Snap row used in [[SnapModePanel]] component.\n * @internal\n */\nexport class Snap extends React.PureComponent<SnapProps> {\n public override render() {\n const dialogClassName = classnames(\n \"nz-footer-snapMode-snap\",\n this.props.isActive && \"nz-active\",\n this.props.className\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n onClick={this.props.onClick}\n className={dialogClassName}\n style={this.props.style}\n role=\"button\"\n tabIndex={-1}\n >\n {this.props.icon}\n {this.props.children}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Snap.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/snap-mode/Snap.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,KAAK,CAAC,aAAwB;IACtC,MAAM;QACpB,MAAM,eAAe,GAAG,UAAU,CAChC,yBAAyB,EACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO;QACL,iEAAiE;QACjE,6BACE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC;YAEX,IAAI,CAAC,KAAK,CAAC,IAAI;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;CACF","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 SnapMode\n */\n\nimport \"./Snap.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[Snap]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface SnapProps extends CommonProps {\n /** Label of snap row. */\n children?: string;\n /** Snap row icon. */\n icon?: React.ReactNode;\n /** Describes if the snap row is active. */\n isActive?: boolean;\n /** Function called when the Snap component is clicked. */\n onClick?: () => void;\n}\n\n/** Snap row used in [[SnapModePanel]] component.\n * @internal\n */\nexport class Snap extends React.PureComponent<SnapProps> {\n public override render() {\n const dialogClassName = classnames(\n \"nz-footer-snapMode-snap\",\n this.props.isActive && \"nz-active\",\n this.props.className\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n onClick={this.props.onClick}\n className={dialogClassName}\n style={this.props.style}\n role=\"button\"\n tabIndex={-1}\n >\n {this.props.icon}\n {this.props.children}\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Dialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAejD;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,aAAwC;IACtE,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,iCAAiC,EACjC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EACN,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY;YAGpE,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CAChD,CACV,CAAC;IACJ,CAAC;CACF","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 Footer\n */\n\nimport \"./Dialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Dialog } from \"../dialog/Dialog.js\";\nimport { TitleBar } from \"../dialog/TitleBar.js\";\n\n/** Properties of [[ToolAssistanceDialog]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ToolAssistanceDialogProps extends CommonProps {\n /** Items and separators of tool assistance. I.e. [[ToolAssistanceItem]], [[ToolAssistanceSeparator]] */\n children?: React.ReactNode;\n /** Dialog title. */\n title?: string;\n /** Title bar buttons. I.e. [[TitleBarButton]] */\n buttons?: React.ReactNode;\n}\n\n/** Tool assistance dialog used with [[ToolAssistance]] component.\n * @note This is a presentational component and should be aligned with [[ToolAssistance]] component.\n * I.e. use [[FooterPopup]] to handle alignment.\n * @internal\n */\nexport class ToolAssistanceDialog extends React.PureComponent<ToolAssistanceDialogProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-dialog\",\n this.props.className\n );\n\n return (\n <Dialog\n className={className}\n style={this.props.style}\n titleBar={\n <TitleBar title={this.props.title}>{this.props.buttons}</TitleBar>\n }\n >\n <div className=\"nz-content\">{this.props.children}</div>\n </Dialog>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Dialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAejD;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,aAAwC;IACtE,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,iCAAiC,EACjC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EACN,oBAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY;YAGpE,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CAChD,CACV,CAAC;IACJ,CAAC;CACF","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 Footer\n */\n\nimport \"./Dialog.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Dialog } from \"../dialog/Dialog.js\";\nimport { TitleBar } from \"../dialog/TitleBar.js\";\n\n/** Properties of [[ToolAssistanceDialog]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolAssistanceDialogProps extends CommonProps {\n /** Items and separators of tool assistance. I.e. [[ToolAssistanceItem]], [[ToolAssistanceSeparator]] */\n children?: React.ReactNode;\n /** Dialog title. */\n title?: string;\n /** Title bar buttons. I.e. [[TitleBarButton]] */\n buttons?: React.ReactNode;\n}\n\n/** Tool assistance dialog used with [[ToolAssistance]] component.\n * @note This is a presentational component and should be aligned with [[ToolAssistance]] component.\n * I.e. use [[FooterPopup]] to handle alignment.\n * @internal\n */\nexport class ToolAssistanceDialog extends React.PureComponent<ToolAssistanceDialogProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-dialog\",\n this.props.className\n );\n\n return (\n <Dialog\n className={className}\n style={this.props.style}\n titleBar={\n <TitleBar title={this.props.title}>{this.props.buttons}</TitleBar>\n }\n >\n <div className=\"nz-content\">{this.props.children}</div>\n </Dialog>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Instruction.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Instruction.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,aAA6C;IAChF,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,sCAAsC,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,OAAO,CACL,oBAAC,kBAAkB,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC/D,8BAAM,SAAS,EAAC,UAAU;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,oBAAC,MAAM,OAAG;gBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ;YACP,8BAAM,SAAS,EAAE,aAAa,IAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAQ,CACrC,CACtB,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Instruction.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { ToolAssistanceItem } from \"./Item.js\";\nimport { NewDot } from \"./NewDot.js\";\n\n/** Properties of [[ToolAssistanceInstruction]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ToolAssistanceInstructionProps extends CommonProps {\n /** Image for instruction */\n image: React.ReactNode;\n /** Indicates whether instruction is new */\n isNew?: boolean;\n /** Text for instruction */\n text: string;\n}\n\n/** Tool assistance instruction used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceInstruction extends React.PureComponent<ToolAssistanceInstructionProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-instruction\",\n this.props.className\n );\n const textClassName = this.props.isNew ? \"nz-text-new\" : undefined;\n\n return (\n <ToolAssistanceItem className={className} style={this.props.style}>\n <span className=\"nz-image\">\n {this.props.isNew && <NewDot />}\n {this.props.image}\n </span>\n <span className={textClassName}>{this.props.text}</span>\n </ToolAssistanceItem>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Instruction.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Instruction.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,aAA6C;IAChF,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,sCAAsC,EACtC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,OAAO,CACL,oBAAC,kBAAkB,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC/D,8BAAM,SAAS,EAAC,UAAU;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,oBAAC,MAAM,OAAG;gBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ;YACP,8BAAM,SAAS,EAAE,aAAa,IAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAQ,CACrC,CACtB,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Instruction.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { ToolAssistanceItem } from \"./Item.js\";\nimport { NewDot } from \"./NewDot.js\";\n\n/** Properties of [[ToolAssistanceInstruction]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolAssistanceInstructionProps extends CommonProps {\n /** Image for instruction */\n image: React.ReactNode;\n /** Indicates whether instruction is new */\n isNew?: boolean;\n /** Text for instruction */\n text: string;\n}\n\n/** Tool assistance instruction used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceInstruction extends React.PureComponent<ToolAssistanceInstructionProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-instruction\",\n this.props.className\n );\n const textClassName = this.props.isNew ? \"nz-text-new\" : undefined;\n\n return (\n <ToolAssistanceItem className={className} style={this.props.style}>\n <span className=\"nz-image\">\n {this.props.isNew && <NewDot />}\n {this.props.image}\n </span>\n <span className={textClassName}>{this.props.text}</span>\n </ToolAssistanceItem>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,aAAsC;IAClE,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,+BAA+B,EAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Item.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[ToolAssistanceItem]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ToolAssistanceItemProps extends CommonProps {\n /** Assistance instructions or components */\n children?: React.ReactNode;\n}\n\n/** Tool assistance item used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceItem extends React.PureComponent<ToolAssistanceItemProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-item\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n {this.props.children}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,aAAsC;IAClE,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,+BAA+B,EAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Item.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[ToolAssistanceItem]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolAssistanceItemProps extends CommonProps {\n /** Assistance instructions or components */\n children?: React.ReactNode;\n}\n\n/** Tool assistance item used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceItem extends React.PureComponent<ToolAssistanceItemProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-item\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n {this.props.children}\n </div>\n );\n }\n}\n"]}
@@ -11,7 +11,7 @@ import * as React from "react";
11
11
  /** 'New' dot used in Tool assistance instruction component.
12
12
  * @internal
13
13
  */
14
- // eslint-disable-next-line deprecation/deprecation
14
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
15
15
  export class NewDot extends React.PureComponent {
16
16
  render() {
17
17
  const className = classnames("nz-footer-toolAssistance-newDot", this.props.className);
@@ -1 +1 @@
1
- {"version":3,"file":"NewDot.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/NewDot.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,mDAAmD;AACnD,MAAM,OAAO,MAAO,SAAQ,KAAK,CAAC,aAA0B;IAC1C,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,iCAAiC,EACjC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,8BAAM,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,CAAC;IACjE,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./NewDot.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** 'New' dot used in Tool assistance instruction component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class NewDot extends React.PureComponent<CommonProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-newDot\",\n this.props.className\n );\n\n return <span className={className} style={this.props.style} />;\n }\n}\n"]}
1
+ {"version":3,"file":"NewDot.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/NewDot.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,4DAA4D;AAC5D,MAAM,OAAO,MAAO,SAAQ,KAAK,CAAC,aAA0B;IAC1C,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,iCAAiC,EACjC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,8BAAM,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,CAAC;IACjE,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./NewDot.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** 'New' dot used in Tool assistance instruction component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class NewDot extends React.PureComponent<CommonProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-newDot\",\n this.props.className\n );\n\n return <span className={className} style={this.props.style} />;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Separator.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK,CAAC,aAA2C;IAC5E,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,oCAAoC,EACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAChD,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO;YACrD,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC5B,CACP,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Separator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[ToolAssistanceSeparator]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ToolAssistanceSeparatorProps extends CommonProps {\n /** Separator label. */\n children?: string;\n}\n\n/** Tool assistance item separator used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceSeparator extends React.PureComponent<ToolAssistanceSeparatorProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-separator\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n <div className=\"nz-label\">{this.props.children}</div>\n <div className=\"nz-separator\" />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/tool-assistance/Separator.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK,CAAC,aAA2C;IAC5E,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,oCAAoC,EACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAChD,6BAAK,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO;YACrD,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC5B,CACP,CAAC;IACJ,CAAC;CACF","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 ToolAssistance\n */\n\nimport \"./Separator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[ToolAssistanceSeparator]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolAssistanceSeparatorProps extends CommonProps {\n /** Separator label. */\n children?: string;\n}\n\n/** Tool assistance item separator used in [[ToolAssistanceDialog]] component.\n * @internal\n */\nexport class ToolAssistanceSeparator extends React.PureComponent<ToolAssistanceSeparatorProps> {\n public override render() {\n const className = classnames(\n \"nz-footer-toolAssistance-separator\",\n this.props.className\n );\n\n return (\n <div className={className} style={this.props.style}>\n <div className=\"nz-label\">{this.props.children}</div>\n <div className=\"nz-separator\" />\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionOutline.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/outline/SectionOutline.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 WidgetPanels\n */\n\nimport \"./SectionOutline.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useTargeted } from \"../base/DragManager.js\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel.js\";\nimport { useTargetDirection } from \"../target/SectionTarget.js\";\nimport { isSectionDropTargetState } from \"../state/DropTargetState.js\";\nimport { useLayout } from \"../base/LayoutStore.js\";\nimport { useSendBackHomeState } from \"../widget/SendBack.js\";\n\n/** @internal */\n// eslint-disable-next-line deprecation/deprecation\nexport interface SectionOutlineProps extends CommonProps {\n sectionIndex: 0 | 1;\n}\n\n/** @internal */\nexport function SectionOutline(props: SectionOutlineProps) {\n const hidden = useHidden(props.sectionIndex);\n const direction = useTargetDirection();\n const style = useSize(props.sectionIndex);\n const className = classnames(\n \"nz-outline-sectionOutline\",\n `nz-${props.sectionIndex}`,\n `nz-${direction}`,\n hidden && \"nz-hidden\",\n props.className\n );\n return (\n <div\n className={className}\n style={{\n ...(hidden ? {} : style),\n ...props.style,\n }}\n />\n );\n}\n\nfunction useHidden(sectionIndex: SectionOutlineProps[\"sectionIndex\"]) {\n const side = React.useContext(PanelSideContext);\n const targeted = useTargeted();\n const activeHomeState = useSendBackHomeState();\n\n return React.useMemo(() => {\n if (\n activeHomeState &&\n activeHomeState.side === side &&\n activeHomeState.sectionIndex === sectionIndex\n )\n return false;\n\n if (!targeted) return true;\n\n if (!isSectionDropTargetState(targeted)) return true;\n\n if (targeted.sectionIndex !== sectionIndex) return true;\n if (targeted.side !== side) return true;\n\n return false;\n }, [targeted, side, sectionIndex, activeHomeState]);\n}\n\nfunction useSize(sectionIndex: SectionOutlineProps[\"sectionIndex\"]) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const splitterPercent = useLayout(\n (state) => state.panels[side].splitterPercent\n );\n return React.useMemo<React.CSSProperties | undefined>(() => {\n let size = splitterPercent;\n if (!size) return undefined;\n if (sectionIndex === 1) size = 100 - size;\n const style: React.CSSProperties = {};\n if (isHorizontalPanelSide(side)) style.width = `${size}%`;\n else style.height = `${size}%`;\n return style;\n }, [side, splitterPercent, sectionIndex]);\n}\n"]}
1
+ {"version":3,"file":"SectionOutline.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/outline/SectionOutline.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 WidgetPanels\n */\n\nimport \"./SectionOutline.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useTargeted } from \"../base/DragManager.js\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel.js\";\nimport { useTargetDirection } from \"../target/SectionTarget.js\";\nimport { isSectionDropTargetState } from \"../state/DropTargetState.js\";\nimport { useLayout } from \"../base/LayoutStore.js\";\nimport { useSendBackHomeState } from \"../widget/SendBack.js\";\n\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface SectionOutlineProps extends CommonProps {\n sectionIndex: 0 | 1;\n}\n\n/** @internal */\nexport function SectionOutline(props: SectionOutlineProps) {\n const hidden = useHidden(props.sectionIndex);\n const direction = useTargetDirection();\n const style = useSize(props.sectionIndex);\n const className = classnames(\n \"nz-outline-sectionOutline\",\n `nz-${props.sectionIndex}`,\n `nz-${direction}`,\n hidden && \"nz-hidden\",\n props.className\n );\n return (\n <div\n className={className}\n style={{\n ...(hidden ? {} : style),\n ...props.style,\n }}\n />\n );\n}\n\nfunction useHidden(sectionIndex: SectionOutlineProps[\"sectionIndex\"]) {\n const side = React.useContext(PanelSideContext);\n const targeted = useTargeted();\n const activeHomeState = useSendBackHomeState();\n\n return React.useMemo(() => {\n if (\n activeHomeState &&\n activeHomeState.side === side &&\n activeHomeState.sectionIndex === sectionIndex\n )\n return false;\n\n if (!targeted) return true;\n\n if (!isSectionDropTargetState(targeted)) return true;\n\n if (targeted.sectionIndex !== sectionIndex) return true;\n if (targeted.side !== side) return true;\n\n return false;\n }, [targeted, side, sectionIndex, activeHomeState]);\n}\n\nfunction useSize(sectionIndex: SectionOutlineProps[\"sectionIndex\"]) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const splitterPercent = useLayout(\n (state) => state.panels[side].splitterPercent\n );\n return React.useMemo<React.CSSProperties | undefined>(() => {\n let size = splitterPercent;\n if (!size) return undefined;\n if (sectionIndex === 1) size = 100 - size;\n const style: React.CSSProperties = {};\n if (isHorizontalPanelSide(side)) style.width = `${size}%`;\n else style.height = `${size}%`;\n return style;\n }, [side, splitterPercent, sectionIndex]);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/popup/Tooltip.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,gBAAgB,CAAC;AACxB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAyB9D;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAA9D;;QAQU,cAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACpC,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IA+CvD,CAAC;IA7CiB,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAwB;YACjC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC/B,iCAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,CAC7B,CAAC,CAAC,CAAC,SAAS;YACb,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACnD,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEe,kBAAkB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC;QAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IACE,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACnC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAErC,OAAO;QAET,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAtDsB,oBAAY,GAAwB;IACzD,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL;CACF,AALkC,CAKjC;AAoDJ;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,aAA6B,EAC7B,aAAwB,EACxB,SAAgB,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1B,EAAE;IACT,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC","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 Popup\n */\n\nimport \"./Tooltip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react/internal\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\nimport type { RectangleProps } from \"../../utils/RectangleProps.js\";\n\n/** Properties of [[Tooltip]] component.\n * @internal\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface TooltipProps extends CommonProps {\n /** Tooltip content. */\n children?: React.ReactNode;\n /** Tooltip icon. */\n icon?: React.ReactNode;\n /** Function called when the bounds of the tooltip changes. */\n onSizeChanged?: (size: SizeProps) => void;\n /** Position of the tooltip. */\n position: XAndY;\n}\n\n/** Default properties of [[Tooltip]] component.\n * @internal\n */\nexport type TooltipDefaultProps = Pick<TooltipProps, \"position\">;\n\n/** Positionable tooltip component.\n * @internal\n */\nexport class Tooltip extends React.PureComponent<TooltipProps> {\n public static readonly defaultProps: TooltipDefaultProps = {\n position: {\n x: 0,\n y: 0,\n },\n };\n\n private _lastSize = { width: 0, height: 0 };\n private _tooltip = React.createRef<HTMLDivElement>();\n\n public override render() {\n const className = classnames(\"nz-popup-tooltip\", this.props.className);\n\n const style: React.CSSProperties = {\n ...this.props.style,\n left: this.props.position.x,\n top: this.props.position.y,\n };\n\n return (\n <div className={className} ref={this._tooltip} style={style}>\n {this.props.icon !== undefined ? (\n <div>{this.props.icon}</div>\n ) : undefined}\n <div className=\"nz-content\">{this.props.children}</div>\n </div>\n );\n }\n\n public override componentDidMount() {\n this.onSizeChanged();\n }\n\n public override componentDidUpdate(): void {\n this.onSizeChanged();\n }\n\n private onSizeChanged() {\n const tooltip = this._tooltip.current!;\n\n const rect = tooltip.getBoundingClientRect();\n const size = {\n height: rect.height,\n width: rect.width,\n };\n\n if (\n this._lastSize.width === size.width &&\n this._lastSize.height === size.height\n )\n return;\n\n this._lastSize = size;\n this.props.onSizeChanged && this.props.onSizeChanged(size);\n }\n}\n\n/** Function to apply offset and contain tooltip bounds in container.\n * @internal\n */\nexport const offsetAndContainInContainer = (\n tooltipBounds: RectangleProps,\n containerSize: SizeProps,\n offset: XAndY = new Point(20, 20)\n): Point => {\n let newBounds = Rectangle.create(tooltipBounds).offset(offset);\n const containerBounds = Rectangle.createFromSize(containerSize);\n if (containerBounds.contains(newBounds)) return newBounds.topLeft();\n\n newBounds = newBounds.containIn(containerBounds);\n return newBounds.topLeft();\n};\n"]}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/popup/Tooltip.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,gBAAgB,CAAC;AACxB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAyB9D;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAA9D;;QAQU,cAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACpC,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IA+CvD,CAAC;IA7CiB,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAwB;YACjC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC/B,iCAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,CAC7B,CAAC,CAAC,CAAC,SAAS;YACb,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACnD,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEe,kBAAkB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC;QAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IACE,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACnC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAErC,OAAO;QAET,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAtDsB,oBAAY,GAAwB;IACzD,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL;CACF,AALkC,CAKjC;AAoDJ;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,aAA6B,EAC7B,aAAwB,EACxB,SAAgB,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1B,EAAE;IACT,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC","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 Popup\n */\n\nimport \"./Tooltip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react/internal\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\nimport type { RectangleProps } from \"../../utils/RectangleProps.js\";\n\n/** Properties of [[Tooltip]] component.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface TooltipProps extends CommonProps {\n /** Tooltip content. */\n children?: React.ReactNode;\n /** Tooltip icon. */\n icon?: React.ReactNode;\n /** Function called when the bounds of the tooltip changes. */\n onSizeChanged?: (size: SizeProps) => void;\n /** Position of the tooltip. */\n position: XAndY;\n}\n\n/** Default properties of [[Tooltip]] component.\n * @internal\n */\nexport type TooltipDefaultProps = Pick<TooltipProps, \"position\">;\n\n/** Positionable tooltip component.\n * @internal\n */\nexport class Tooltip extends React.PureComponent<TooltipProps> {\n public static readonly defaultProps: TooltipDefaultProps = {\n position: {\n x: 0,\n y: 0,\n },\n };\n\n private _lastSize = { width: 0, height: 0 };\n private _tooltip = React.createRef<HTMLDivElement>();\n\n public override render() {\n const className = classnames(\"nz-popup-tooltip\", this.props.className);\n\n const style: React.CSSProperties = {\n ...this.props.style,\n left: this.props.position.x,\n top: this.props.position.y,\n };\n\n return (\n <div className={className} ref={this._tooltip} style={style}>\n {this.props.icon !== undefined ? (\n <div>{this.props.icon}</div>\n ) : undefined}\n <div className=\"nz-content\">{this.props.children}</div>\n </div>\n );\n }\n\n public override componentDidMount() {\n this.onSizeChanged();\n }\n\n public override componentDidUpdate(): void {\n this.onSizeChanged();\n }\n\n private onSizeChanged() {\n const tooltip = this._tooltip.current!;\n\n const rect = tooltip.getBoundingClientRect();\n const size = {\n height: rect.height,\n width: rect.width,\n };\n\n if (\n this._lastSize.width === size.width &&\n this._lastSize.height === size.height\n )\n return;\n\n this._lastSize = size;\n this.props.onSizeChanged && this.props.onSizeChanged(size);\n }\n}\n\n/** Function to apply offset and contain tooltip bounds in container.\n * @internal\n */\nexport const offsetAndContainInContainer = (\n tooltipBounds: RectangleProps,\n containerSize: SizeProps,\n offset: XAndY = new Point(20, 20)\n): Point => {\n let newBounds = Rectangle.create(tooltipBounds).offset(offset);\n const containerBounds = Rectangle.createFromSize(containerSize);\n if (containerBounds.contains(newBounds)) return newBounds.topLeft();\n\n newBounds = newBounds.containIn(containerBounds);\n return newBounds.topLeft();\n};\n"]}
@@ -86,7 +86,7 @@ export function insertPanelWidget(state, side, id, tabs, sectionIndex, widgetArg
86
86
  const panel = state.panels[side];
87
87
  const maxWidgetCount = panel.maxWidgetCount;
88
88
  if (panel.widgets.length >= maxWidgetCount)
89
- // eslint-disable-next-line deprecation/deprecation
89
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
90
90
  throw new UiError(category, "Max widget count exceeded", undefined, () => ({
91
91
  maxWidgetCount,
92
92
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAarE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD,SAAS,gBAAgB,CAAC,IAAe;IACvC,OAAO;QACL,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,wBAAwB,CACtC,IAAuB,EACvB,IAAkC;IAElC,OAAO;QACL,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACzB,GAAG,IAAI;QACP,IAAI;KACL,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,0BAA0B,CACxC,IAAyB,EACzB,IAAoC;IAEpC,OAAO;QACL,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,IAAI;QACV,GAAG,IAAI;QACP,IAAI;KACL,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,IAA2B;IAC3D,OAAO;QACL,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;QAC5C,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC;QACtC,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC;QACtC,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,IAAO,EACP,MAA8C;IAE9C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,yBAAyB,CACvC,IAAe,EACf,OAAkB,EAClB,SAA6B;IAE7B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9E,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAC1B,iBAAiD,EACjD,IAAe,EACf,WAA+B,EAC/B,WAA+B,EAC/B,OAAkB;IAElB,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEtD,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,yBAAyB,CAC7C,IAAI,EACJ,OAAO,EACP,iBAAiB,CAClB,CAAC;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,IAAe,EACf,EAAqB,EACrB,IAAyB,EACzB,UAAiC;IAEjC,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxE,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAC/B,KAAoB,EACpB,IAAe,EACf,EAAqB,EACrB,IAAyB,EACzB,YAAoB,EACpB,UAAiC;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc;QACxC,mDAAmD;QACnD,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,2BAA2B,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACzE,cAAc;SACf,CAAC,CAAC,CAAC;IAEN,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC","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 Base\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { Draft } from \"immer\";\nimport { produce } from \"immer\";\nimport { isHorizontalPanelSide } from \"../../widget-panels/Panel.js\";\nimport type {\n HorizontalPanelSide,\n PanelSide,\n VerticalPanelSide,\n} from \"../../widget-panels/PanelTypes.js\";\nimport type { NineZoneState } from \"../NineZoneState.js\";\nimport type {\n HorizontalPanelState,\n PanelsState,\n VerticalPanelState,\n} from \"../PanelState.js\";\nimport type { WidgetState } from \"../WidgetState.js\";\nimport { category } from \"./NineZoneStateHelpers.js\";\nimport { addWidgetState } from \"./WidgetStateHelpers.js\";\nimport type { StagePanelSizeSpec } from \"../../../stagepanels/StagePanelConfig.js\";\nimport type { SizeProps } from \"../../../utils/SizeProps.js\";\n\nfunction createPanelState(side: PanelSide) {\n return {\n collapseOffset: 100,\n collapsed: false,\n maxSize: 600,\n minSize: 200,\n pinned: true,\n resizable: true,\n side,\n size: undefined,\n widgets: [],\n maxWidgetCount: 2,\n splitterPercent: 50,\n };\n}\n\n/** @internal */\nexport function createVerticalPanelState(\n side: VerticalPanelSide,\n args?: Partial<VerticalPanelState>\n): VerticalPanelState {\n return {\n ...createPanelState(side),\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createHorizontalPanelState(\n side: HorizontalPanelSide,\n args?: Partial<HorizontalPanelState>\n): HorizontalPanelState {\n return {\n ...createPanelState(side),\n minSize: 100,\n span: true,\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createPanelsState(args?: Partial<PanelsState>): PanelsState {\n return {\n bottom: createHorizontalPanelState(\"bottom\"),\n left: createVerticalPanelState(\"left\"),\n right: createVerticalPanelState(\"right\"),\n top: createHorizontalPanelState(\"top\"),\n ...args,\n };\n}\n\n/** @internal */\nexport function updatePanelState<K extends keyof PanelsState>(\n state: NineZoneState,\n side: K,\n update: (draft: Draft<PanelsState>[K]) => void\n) {\n return produce(state, (draft) => {\n const panel = draft.panels[side];\n update(panel);\n });\n}\n\n/** @internal */\nexport function getPanelPixelSizeFromSpec(\n side: PanelSide,\n appSize: SizeProps,\n panelSize: StagePanelSizeSpec\n) {\n if (typeof panelSize === \"number\") {\n return panelSize;\n }\n\n const fullSize = isHorizontalPanelSide(side) ? appSize.height : appSize.width;\n return (panelSize.percentage / 100) * fullSize;\n}\n\n/** @internal */\nexport function getPanelSize(\n preferredSizeSpec: StagePanelSizeSpec | undefined,\n side: PanelSide,\n minSizeSpec: StagePanelSizeSpec,\n maxSizeSpec: StagePanelSizeSpec,\n appSize: SizeProps\n) {\n if (preferredSizeSpec === undefined) return undefined;\n\n const maxSize = getPanelPixelSizeFromSpec(side, appSize, maxSizeSpec);\n const minSize = getPanelPixelSizeFromSpec(side, appSize, minSizeSpec);\n const preferredSize = getPanelPixelSizeFromSpec(\n side,\n appSize,\n preferredSizeSpec\n );\n\n return Math.min(Math.max(preferredSize, minSize), maxSize);\n}\n\n/** @internal */\nexport function addPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n return insertPanelWidget(state, side, id, tabs, Infinity, widgetArgs);\n}\n\n/** @internal */\nexport function insertPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n sectionIndex: number,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n const panel = state.panels[side];\n const maxWidgetCount = panel.maxWidgetCount;\n if (panel.widgets.length >= maxWidgetCount)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Max widget count exceeded\", undefined, () => ({\n maxWidgetCount,\n }));\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (draft) => {\n const widgets = draft.panels[side].widgets;\n widgets.splice(sectionIndex, 0, id);\n });\n}\n"]}
1
+ {"version":3,"file":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.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 Base\n */\n\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { Draft } from \"immer\";\nimport { produce } from \"immer\";\nimport { isHorizontalPanelSide } from \"../../widget-panels/Panel.js\";\nimport type {\n HorizontalPanelSide,\n PanelSide,\n VerticalPanelSide,\n} from \"../../widget-panels/PanelTypes.js\";\nimport type { NineZoneState } from \"../NineZoneState.js\";\nimport type {\n HorizontalPanelState,\n PanelsState,\n VerticalPanelState,\n} from \"../PanelState.js\";\nimport type { WidgetState } from \"../WidgetState.js\";\nimport { category } from \"./NineZoneStateHelpers.js\";\nimport { addWidgetState } from \"./WidgetStateHelpers.js\";\nimport type { StagePanelSizeSpec } from \"../../../stagepanels/StagePanelConfig.js\";\nimport type { SizeProps } from \"../../../utils/SizeProps.js\";\n\nfunction createPanelState(side: PanelSide) {\n return {\n collapseOffset: 100,\n collapsed: false,\n maxSize: 600,\n minSize: 200,\n pinned: true,\n resizable: true,\n side,\n size: undefined,\n widgets: [],\n maxWidgetCount: 2,\n splitterPercent: 50,\n };\n}\n\n/** @internal */\nexport function createVerticalPanelState(\n side: VerticalPanelSide,\n args?: Partial<VerticalPanelState>\n): VerticalPanelState {\n return {\n ...createPanelState(side),\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createHorizontalPanelState(\n side: HorizontalPanelSide,\n args?: Partial<HorizontalPanelState>\n): HorizontalPanelState {\n return {\n ...createPanelState(side),\n minSize: 100,\n span: true,\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createPanelsState(args?: Partial<PanelsState>): PanelsState {\n return {\n bottom: createHorizontalPanelState(\"bottom\"),\n left: createVerticalPanelState(\"left\"),\n right: createVerticalPanelState(\"right\"),\n top: createHorizontalPanelState(\"top\"),\n ...args,\n };\n}\n\n/** @internal */\nexport function updatePanelState<K extends keyof PanelsState>(\n state: NineZoneState,\n side: K,\n update: (draft: Draft<PanelsState>[K]) => void\n) {\n return produce(state, (draft) => {\n const panel = draft.panels[side];\n update(panel);\n });\n}\n\n/** @internal */\nexport function getPanelPixelSizeFromSpec(\n side: PanelSide,\n appSize: SizeProps,\n panelSize: StagePanelSizeSpec\n) {\n if (typeof panelSize === \"number\") {\n return panelSize;\n }\n\n const fullSize = isHorizontalPanelSide(side) ? appSize.height : appSize.width;\n return (panelSize.percentage / 100) * fullSize;\n}\n\n/** @internal */\nexport function getPanelSize(\n preferredSizeSpec: StagePanelSizeSpec | undefined,\n side: PanelSide,\n minSizeSpec: StagePanelSizeSpec,\n maxSizeSpec: StagePanelSizeSpec,\n appSize: SizeProps\n) {\n if (preferredSizeSpec === undefined) return undefined;\n\n const maxSize = getPanelPixelSizeFromSpec(side, appSize, maxSizeSpec);\n const minSize = getPanelPixelSizeFromSpec(side, appSize, minSizeSpec);\n const preferredSize = getPanelPixelSizeFromSpec(\n side,\n appSize,\n preferredSizeSpec\n );\n\n return Math.min(Math.max(preferredSize, minSize), maxSize);\n}\n\n/** @internal */\nexport function addPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n return insertPanelWidget(state, side, id, tabs, Infinity, widgetArgs);\n}\n\n/** @internal */\nexport function insertPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n sectionIndex: number,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n const panel = state.panels[side];\n const maxWidgetCount = panel.maxWidgetCount;\n if (panel.widgets.length >= maxWidgetCount)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(category, \"Max widget count exceeded\", undefined, () => ({\n maxWidgetCount,\n }));\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (draft) => {\n const widgets = draft.panels[side].widgets;\n widgets.splice(sectionIndex, 0, id);\n });\n}\n"]}
@@ -25,7 +25,7 @@ export function createTabState(id, args) {
25
25
  }
26
26
  /** @internal */
27
27
  export function updateTabState(state, id, update) {
28
- // eslint-disable-next-line deprecation/deprecation
28
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
29
29
  if (!(id in state.tabs))
30
30
  throw new UiError(category, "Tab does not exist");
31
31
  return produce(state, (draft) => {
@@ -55,7 +55,7 @@ export function updateSavedTabState(state, id, update) {
55
55
  * @internal
56
56
  */
57
57
  export function addTab(state, id, tabArgs) {
58
- // eslint-disable-next-line deprecation/deprecation
58
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
59
59
  if (id in state.tabs)
60
60
  throw new UiError(category, "Tab already exists");
61
61
  const tab = {
@@ -77,14 +77,14 @@ export function addTabToWidget(state, tabId, widgetId) {
77
77
  */
78
78
  export function insertTabToWidget(state, tabId, widgetId, tabIndex) {
79
79
  if (!(tabId in state.tabs))
80
- // eslint-disable-next-line deprecation/deprecation
80
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
81
81
  throw new UiError(category, "Tab does not exist", undefined, () => ({
82
82
  tabId,
83
83
  }));
84
84
  assertWidgetState(state, widgetId);
85
85
  const location = getTabLocation(state, tabId);
86
86
  if (location)
87
- // eslint-disable-next-line deprecation/deprecation
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
88
88
  throw new UiError(category, "Tab is already in a widget", undefined, () => ({ tabId, widgetId: location.widgetId }));
89
89
  return produce(state, (draft) => {
90
90
  const widget = getWidgetState(draft, widgetId);
@@ -117,7 +117,7 @@ export function removeTabFromWidget(state, tabId) {
117
117
  * @internal
118
118
  */
119
119
  export function removeTab(state, tabId) {
120
- // eslint-disable-next-line deprecation/deprecation
120
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
121
121
  if (!(tabId in state.tabs))
122
122
  throw new UiError(category, "Tab does not exist");
123
123
  state = removeTabFromWidget(state, tabId);
@@ -139,7 +139,7 @@ const defaultHomeState = {
139
139
  */
140
140
  export function addRemovedTab(state, tabId) {
141
141
  if (!(tabId in state.tabs))
142
- // eslint-disable-next-line deprecation/deprecation
142
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
143
143
  throw new UiError(category, "Tab does not exist", undefined, () => ({
144
144
  tabId,
145
145
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/internal/TabStateHelpers.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 Base\n */\n\nimport type { Draft } from \"immer\";\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState.js\";\nimport type { TabState } from \"../TabState.js\";\nimport { category } from \"./NineZoneStateHelpers.js\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState.js\";\nimport { getTabLocation } from \"../TabLocation.js\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers.js\";\nimport type { WidgetState } from \"../WidgetState.js\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState.js\";\nimport { Rectangle } from \"@itwin/core-react/internal\";\nimport { getUniqueId } from \"../../base/NineZone.js\";\nimport { insertPanelWidget } from \"./PanelStateHelpers.js\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: Draft<TabState>) => void\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: Draft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n assertWidgetState(state, widgetId);\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}
1
+ {"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/internal/TabStateHelpers.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 Base\n */\n\nimport type { Draft } from \"immer\";\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState.js\";\nimport type { TabState } from \"../TabState.js\";\nimport { category } from \"./NineZoneStateHelpers.js\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState.js\";\nimport { getTabLocation } from \"../TabLocation.js\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers.js\";\nimport type { WidgetState } from \"../WidgetState.js\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState.js\";\nimport { Rectangle } from \"@itwin/core-react/internal\";\nimport { getUniqueId } from \"../../base/NineZone.js\";\nimport { insertPanelWidget } from \"./PanelStateHelpers.js\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: Draft<TabState>) => void\n) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: Draft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n assertWidgetState(state, widgetId);\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}