@itwin/appui-react 5.3.0 → 5.4.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 (232) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/lib/appui-react/UiFramework.d.ts +6 -2
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +29 -2
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
  8. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +10 -6
  11. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  12. package/lib/appui-react/accudraw/Calculator.js +2 -2
  13. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  14. package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts +2 -0
  15. package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts.map +1 -1
  16. package/lib/appui-react/childwindow/ChildWindowRenderer.js +15 -10
  17. package/lib/appui-react/childwindow/ChildWindowRenderer.js.map +1 -1
  18. package/lib/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  19. package/lib/appui-react/childwindow/InternalChildWindowManager.js +8 -0
  20. package/lib/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  21. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +23 -1
  22. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  23. package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
  24. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  25. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  26. package/lib/appui-react/content/ContentLayout.js +10 -11
  27. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  28. package/lib/appui-react/content/ContentOverlay.d.ts +1 -0
  29. package/lib/appui-react/content/ContentOverlay.d.ts.map +1 -1
  30. package/lib/appui-react/content/ContentOverlay.js +3 -1
  31. package/lib/appui-react/content/ContentOverlay.js.map +1 -1
  32. package/lib/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  33. package/lib/appui-react/content/FloatingViewportContent.js +1 -1
  34. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  35. package/lib/appui-react/cursor/CursorInformation.d.ts +4 -1
  36. package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  37. package/lib/appui-react/cursor/CursorInformation.js +6 -1
  38. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  39. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -24
  40. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  41. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +37 -58
  42. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  43. package/lib/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  44. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +8 -22
  45. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  46. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +109 -116
  47. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  48. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
  49. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  50. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +85 -48
  51. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  52. package/lib/appui-react/framework/FrameworkFrontstages.d.ts +47 -0
  53. package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  54. package/lib/appui-react/framework/FrameworkFrontstages.js +136 -0
  55. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  56. package/lib/appui-react/framework/FrameworkVisibility.d.ts +2 -0
  57. package/lib/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  58. package/lib/appui-react/framework/FrameworkVisibility.js.map +1 -1
  59. package/lib/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  60. package/lib/appui-react/frontstage/InternalFrontstageManager.js +121 -115
  61. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  62. package/lib/appui-react/hooks/useActiveTool.d.ts +9 -0
  63. package/lib/appui-react/hooks/useActiveTool.d.ts.map +1 -0
  64. package/lib/appui-react/hooks/useActiveTool.js +23 -0
  65. package/lib/appui-react/hooks/useActiveTool.js.map +1 -0
  66. package/lib/appui-react/icons/SvgAngle.d.ts +7 -0
  67. package/lib/appui-react/icons/SvgAngle.d.ts.map +1 -0
  68. package/lib/appui-react/icons/SvgAngle.js +15 -0
  69. package/lib/appui-react/icons/SvgAngle.js.map +1 -0
  70. package/lib/appui-react/icons/SvgBackspace.d.ts +7 -0
  71. package/lib/appui-react/icons/SvgBackspace.d.ts.map +1 -0
  72. package/lib/appui-react/icons/SvgBackspace.js +14 -0
  73. package/lib/appui-react/icons/SvgBackspace.js.map +1 -0
  74. package/lib/appui-react/icons/SvgDistance.d.ts +7 -0
  75. package/lib/appui-react/icons/SvgDistance.d.ts.map +1 -0
  76. package/lib/appui-react/icons/SvgDistance.js +16 -0
  77. package/lib/appui-react/icons/SvgDistance.js.map +1 -0
  78. package/lib/appui-react/icons/SvgHeight.d.ts +7 -0
  79. package/lib/appui-react/icons/SvgHeight.d.ts.map +1 -0
  80. package/lib/appui-react/icons/SvgHeight.js +17 -0
  81. package/lib/appui-react/icons/SvgHeight.js.map +1 -0
  82. package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts +7 -0
  83. package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts.map +1 -0
  84. package/lib/appui-react/icons/SvgMouseClickLeftDrag.js +15 -0
  85. package/lib/appui-react/icons/SvgMouseClickLeftDrag.js.map +1 -0
  86. package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts +7 -0
  87. package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts.map +1 -0
  88. package/lib/appui-react/icons/SvgMouseClickRightDrag.js +15 -0
  89. package/lib/appui-react/icons/SvgMouseClickRightDrag.js.map +1 -0
  90. package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts +7 -0
  91. package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts.map +1 -0
  92. package/lib/appui-react/icons/SvgMouseClickWheelDrag.js +15 -0
  93. package/lib/appui-react/icons/SvgMouseClickWheelDrag.js.map +1 -0
  94. package/lib/appui-react/icons/SvgTouchCursorPan.d.ts +7 -0
  95. package/lib/appui-react/icons/SvgTouchCursorPan.d.ts.map +1 -0
  96. package/lib/appui-react/icons/SvgTouchCursorPan.js +15 -0
  97. package/lib/appui-react/icons/SvgTouchCursorPan.js.map +1 -0
  98. package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts +7 -0
  99. package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts.map +1 -0
  100. package/lib/appui-react/icons/SvgTouchCursorPoint.js +16 -0
  101. package/lib/appui-react/icons/SvgTouchCursorPoint.js.map +1 -0
  102. package/lib/appui-react/layout/StandardLayout.scss +3 -8
  103. package/lib/appui-react/layout/base/DragManager.d.ts.map +1 -1
  104. package/lib/appui-react/layout/base/DragManager.js +10 -15
  105. package/lib/appui-react/layout/base/DragManager.js.map +1 -1
  106. package/lib/appui-react/layout/state/NineZoneAction.d.ts +1 -0
  107. package/lib/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  108. package/lib/appui-react/layout/state/NineZoneAction.js.map +1 -1
  109. package/lib/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  110. package/lib/appui-react/layout/state/NineZoneStateReducer.js +23 -16
  111. package/lib/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  112. package/lib/appui-react/layout/widget/NavigationArea.d.ts +1 -2
  113. package/lib/appui-react/layout/widget/NavigationArea.d.ts.map +1 -1
  114. package/lib/appui-react/layout/widget/NavigationArea.js +2 -3
  115. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  116. package/lib/appui-react/layout/widget/NavigationArea.scss +16 -4
  117. package/lib/appui-react/layout/widget/ToolsArea.d.ts +1 -2
  118. package/lib/appui-react/layout/widget/ToolsArea.d.ts.map +1 -1
  119. package/lib/appui-react/layout/widget/ToolsArea.js +2 -3
  120. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  121. package/lib/appui-react/layout/widget/ToolsArea.scss +10 -4
  122. package/lib/appui-react/shared/MenuItem.d.ts +3 -0
  123. package/lib/appui-react/shared/MenuItem.d.ts.map +1 -1
  124. package/lib/appui-react/shared/MenuItem.js +2 -3
  125. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  126. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +2 -55
  127. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  128. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +333 -403
  129. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  130. package/lib/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  131. package/lib/appui-react/toolbar/Toolbar.js +4 -3
  132. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  133. package/lib/appui-react/toolbar/new-toolbars/ActionItem.d.ts.map +1 -1
  134. package/lib/appui-react/toolbar/new-toolbars/ActionItem.js +3 -0
  135. package/lib/appui-react/toolbar/new-toolbars/ActionItem.js.map +1 -1
  136. package/lib/appui-react/toolbar/new-toolbars/GroupItem.d.ts.map +1 -1
  137. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -0
  138. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  139. package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts +6 -3
  140. package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts.map +1 -1
  141. package/lib/appui-react/toolbar/new-toolbars/Toolbar.js +4 -3
  142. package/lib/appui-react/toolbar/new-toolbars/Toolbar.js.map +1 -1
  143. package/lib/appui-react/utils/InternalUiShowHideManager.d.ts +2 -0
  144. package/lib/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  145. package/lib/appui-react/utils/InternalUiShowHideManager.js +6 -0
  146. package/lib/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  147. package/lib/appui-react/widget-panels/Frontstage.d.ts +7 -2
  148. package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  149. package/lib/appui-react/widget-panels/Frontstage.js +29 -12
  150. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  151. package/lib/appui-react/widgets/BackstageAppButton.scss +8 -3
  152. package/lib/appui-react.d.ts +1 -1
  153. package/lib/appui-react.d.ts.map +1 -1
  154. package/lib/appui-react.js +1 -1
  155. package/lib/appui-react.js.map +1 -1
  156. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  157. package/lib/cjs/appui-react/layout/StandardLayout.scss +3 -8
  158. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +16 -4
  159. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +10 -4
  160. package/lib/cjs/appui-react/widgets/BackstageAppButton.scss +8 -3
  161. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  162. package/lib/esm/appui-react/layout/StandardLayout.scss +3 -8
  163. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +16 -4
  164. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +10 -4
  165. package/lib/esm/appui-react/widgets/BackstageAppButton.scss +8 -3
  166. package/package.json +8 -10
  167. package/lib/appui-react/accudraw/angle.svg +0 -1
  168. package/lib/appui-react/accudraw/backspace.svg +0 -9
  169. package/lib/appui-react/accudraw/constraint-2d.svg +0 -11
  170. package/lib/appui-react/accudraw/distance.svg +0 -1
  171. package/lib/appui-react/accudraw/height-2.svg +0 -10
  172. package/lib/appui-react/accudraw/height.svg +0 -11
  173. package/lib/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  174. package/lib/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  175. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  176. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  177. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  178. package/lib/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  179. package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  180. package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  181. package/lib/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  182. package/lib/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  183. package/lib/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  184. package/lib/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  185. package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  186. package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  187. package/lib/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  188. package/lib/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
  189. package/lib/cjs/appui-react/accudraw/angle.svg +0 -1
  190. package/lib/cjs/appui-react/accudraw/backspace.svg +0 -9
  191. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +0 -11
  192. package/lib/cjs/appui-react/accudraw/distance.svg +0 -1
  193. package/lib/cjs/appui-react/accudraw/height-2.svg +0 -10
  194. package/lib/cjs/appui-react/accudraw/height.svg +0 -11
  195. package/lib/cjs/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  196. package/lib/cjs/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  197. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  198. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  199. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  200. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  201. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  202. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  203. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  204. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  205. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  206. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  207. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  208. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  209. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  210. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
  211. package/lib/esm/appui-react/accudraw/angle.svg +0 -1
  212. package/lib/esm/appui-react/accudraw/backspace.svg +0 -9
  213. package/lib/esm/appui-react/accudraw/constraint-2d.svg +0 -11
  214. package/lib/esm/appui-react/accudraw/distance.svg +0 -1
  215. package/lib/esm/appui-react/accudraw/height-2.svg +0 -10
  216. package/lib/esm/appui-react/accudraw/height.svg +0 -11
  217. package/lib/esm/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  218. package/lib/esm/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  219. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  220. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  221. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  222. package/lib/esm/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  223. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  224. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  225. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  226. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  227. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  228. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  229. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  230. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  231. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  232. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/appui-react/shared/MenuItem.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 Item\n */\n\nimport * as React from \"react\";\nimport type {\n AbstractMenuItemProps,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalBooleanValue, UiError } from \"@itwin/appui-abstract\";\nimport type { BadgeType, CommonProps, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { ContextMenuItem, ContextSubMenu } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ActionButtonItemDef } from \"./ActionButtonItemDef.js\";\nimport { CommandItemDef } from \"./CommandItemDef.js\";\nimport { ItemDefBase } from \"./ItemDefBase.js\";\nimport type { CommandItemProps } from \"./ItemProps.js\";\nimport type { ConditionalStringValue } from \"./ConditionalValue.js\";\n\n/** Properties for context menu items.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface CursorMenuItemProps extends CommonProps {\n /** The id for the menu item. */\n id: string;\n /** Icon to display. */\n iconNode?: React.ReactNode;\n /** Icon to display.\n * @deprecated in 4.16.0. Use {@link CursorMenuItemProps.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec?: IconSpec;\n /** The item to execute when this item is invoked. Either 'item', 'submenu' or `execute` 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?: CommandItemProps;\n /** Function to execute. */\n execute?: () => any;\n /** Nested array of item props. Either 'item', 'submenu' or 'execute' must be specified. */\n submenu?: CursorMenuItemProps[];\n /** Icon to display on right side of the menu item.\n * Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n */\n iconRight?: string | ConditionalStringValue;\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 /** Specifies the kind of badge, if any, to be overlaid on the item. */\n badgeKind?: BadgeKind;\n /** Abstract icon definition. Used when creating itemDef from abstract item (ie. MenuItem).\n * @deprecated in 4.16.0. Use {@link CursorMenuItemProps.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\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Menu Item Properties\n * @public\n * @deprecated in 4.11.0. Please use {@link CursorMenuItemProps}.\n */\nexport type MenuItemProps = AbstractMenuItemProps;\n\n/** Menu Item\n * @alpha\n * @deprecated in 4.15.0. Used in a deprecated class {@link MenuItemHelpers}.\n */\nexport class MenuItem extends ItemDefBase {\n private _id = \"\";\n private _actionItem?: ActionButtonItemDef;\n private _submenu: MenuItem[];\n private _onSelection?: () => void;\n private _execute?: () => void;\n\n /** onSelection is an optional parameter typically supplied to allow menu parent to close context menu when a menu item is selected. */\n constructor(props: CursorMenuItemProps, onSelection?: () => void) {\n super(props);\n\n this._id = props.id;\n this._submenu = new Array<MenuItem>();\n this._onSelection = onSelection;\n\n if (props.item) {\n this._actionItem = new CommandItemDef(props.item);\n\n // Copy over icon, label & badgeType from the item\n if (!this.iconSpec) this.iconSpec = this._actionItem.iconSpec;\n if (!this.label) this.setLabel(this._actionItem.label);\n if (!this.badgeType) this.badgeType = this._actionItem.badgeType;\n if (!this.badgeKind) this.badgeKind = this._actionItem.badgeKind;\n if (!this.isDisabled) this.isDisabled = this._actionItem.isDisabled;\n } else if (props.execute) {\n this._execute = props.execute;\n } else if (props.submenu) {\n props.submenu.forEach((childProps: CursorMenuItemProps) => {\n const childItem = new MenuItem(childProps, onSelection);\n this._submenu.push(childItem);\n });\n } else {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(\n UiFramework.loggerCategory(\"MenuItem\"),\n `Either 'item', 'execute' or 'submenu' must be specified for '${props.id}'.`\n );\n }\n\n this.iconRightSpec = props.iconRight;\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get submenu(): MenuItem[] {\n return this._submenu;\n }\n\n public get actionItem(): ActionButtonItemDef | undefined {\n return this._actionItem;\n }\n\n public iconRightSpec?: IconSpec;\n\n public itemPicked(): void {\n setTimeout(() => {\n if (this._actionItem) this._actionItem.execute();\n else if (this._execute) this._execute();\n });\n\n if (this._onSelection) this._onSelection();\n }\n}\n\n/** Menu Item helper methods\n * @alpha\n * @deprecated in 4.15.0. Use {@link @itwin/core-react#ContextMenuItem} and {@link @itwin/core-react#ContextSubMenu} components.\n */\nexport class MenuItemHelpers {\n public static createMenuItems(\n itemPropsList: CursorMenuItemProps[],\n onSelection?: () => void\n ): MenuItem[] {\n const menuItems = new Array<MenuItem>();\n itemPropsList.forEach((itemProps: CursorMenuItemProps) => {\n menuItems.push(new MenuItem(itemProps, onSelection));\n });\n return menuItems;\n }\n\n public static createMenuItemNodes(itemList: MenuItem[]): React.ReactNode[] {\n const itemNodes: React.ReactNode[] = [];\n\n itemList.forEach((item: MenuItem, index: number) => {\n const reactItem = this.createMenuItemNode(item, index);\n if (reactItem) itemNodes.push(reactItem);\n });\n\n return itemNodes;\n }\n\n private static createMenuItemNode(\n item: MenuItem,\n index: number\n ): React.ReactNode {\n const label = item.label;\n const iconSpec = item.iconSpec;\n const iconRightSpec = item.iconRightSpec;\n const badgeType = item.badgeType;\n const badgeKind = item.badgeKind;\n const isDisabled: boolean = ConditionalBooleanValue.getValue(\n item.isDisabled\n );\n\n if (item.submenu && item.submenu.length > 0) {\n const items = this.createMenuItemNodes(item.submenu);\n\n return (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n badgeType={badgeType}\n badgeKind={badgeKind}\n disabled={isDisabled}\n >\n {items}\n </ContextSubMenu>\n );\n }\n\n return (\n <ContextMenuItem\n key={index}\n onSelect={() => item.itemPicked()}\n icon={iconSpec}\n iconRight={iconRightSpec}\n badgeType={badgeType}\n badgeKind={badgeKind}\n disabled={isDisabled}\n >\n {label}\n </ContextMenuItem>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/appui-react/shared/MenuItem.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 Item\n */\n\nimport * as React from \"react\";\nimport type {\n AbstractMenuItemProps,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalBooleanValue, UiError } from \"@itwin/appui-abstract\";\nimport type { BadgeType, CommonProps, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { ContextMenuItem, ContextSubMenu } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ActionButtonItemDef } from \"./ActionButtonItemDef.js\";\nimport { CommandItemDef } from \"./CommandItemDef.js\";\nimport { ItemDefBase } from \"./ItemDefBase.js\";\nimport type { CommandItemProps } from \"./ItemProps.js\";\nimport type { ConditionalStringValue } from \"./ConditionalValue.js\";\n\n/** Properties for context menu items.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface CursorMenuItemProps extends CommonProps {\n /** The id for the menu item. */\n id: string;\n /** Icon to display. */\n iconNode?: React.ReactNode;\n /** Icon to display.\n * @deprecated in 4.16.0. Use {@link CursorMenuItemProps.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec?: IconSpec;\n /** The item to execute when this item is invoked. Either 'item', 'submenu' or `execute` 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?: CommandItemProps;\n /** Function to execute. */\n execute?: () => any;\n /** Nested array of item props. Either 'item', 'submenu' or 'execute' must be specified. */\n submenu?: CursorMenuItemProps[];\n /** Icon to display on right side of the menu item.\n * Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 5.4.0. Use {@link CursorMenuItemProps.iconRightNode} instead.\n */\n iconRight?: string | ConditionalStringValue;\n /** Icon to display on right side of the menu item. */\n iconRightNode?: 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 /** Specifies the kind of badge, if any, to be overlaid on the item. */\n badgeKind?: BadgeKind;\n /** Abstract icon definition. Used when creating itemDef from abstract item (ie. MenuItem).\n * @deprecated in 4.16.0. Use {@link CursorMenuItemProps.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\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Menu Item Properties\n * @public\n * @deprecated in 4.11.0. Please use {@link CursorMenuItemProps}.\n */\nexport type MenuItemProps = AbstractMenuItemProps;\n\n/** Menu Item\n * @alpha\n * @deprecated in 4.15.0. Used in a deprecated class {@link MenuItemHelpers}.\n */\nexport class MenuItem extends ItemDefBase {\n private _id = \"\";\n private _actionItem?: ActionButtonItemDef;\n private _submenu: MenuItem[];\n private _onSelection?: () => void;\n private _execute?: () => void;\n\n /** onSelection is an optional parameter typically supplied to allow menu parent to close context menu when a menu item is selected. */\n constructor(props: CursorMenuItemProps, onSelection?: () => void) {\n super(props);\n\n this._id = props.id;\n this._submenu = new Array<MenuItem>();\n this._onSelection = onSelection;\n\n if (props.item) {\n this._actionItem = new CommandItemDef(props.item);\n\n // Copy over icon, label & badgeType from the item\n if (!this.label) this.setLabel(this._actionItem.label);\n if (!this.badgeType) this.badgeType = this._actionItem.badgeType;\n if (!this.badgeKind) this.badgeKind = this._actionItem.badgeKind;\n if (!this.isDisabled) this.isDisabled = this._actionItem.isDisabled;\n } else if (props.execute) {\n this._execute = props.execute;\n } else if (props.submenu) {\n props.submenu.forEach((childProps) => {\n const childItem = new MenuItem(childProps, onSelection);\n this._submenu.push(childItem);\n });\n } else {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(\n UiFramework.loggerCategory(\"MenuItem\"),\n `Either 'item', 'execute' or 'submenu' must be specified for '${props.id}'.`\n );\n }\n\n this.iconSpec = props.iconNode ?? props.icon ?? this._actionItem?.iconSpec;\n this.iconRightSpec = props.iconRightNode ?? props.iconRight;\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get submenu(): MenuItem[] {\n return this._submenu;\n }\n\n public get actionItem(): ActionButtonItemDef | undefined {\n return this._actionItem;\n }\n\n public iconRightSpec?: IconSpec;\n\n public itemPicked(): void {\n setTimeout(() => {\n if (this._actionItem) this._actionItem.execute();\n else if (this._execute) this._execute();\n });\n\n if (this._onSelection) this._onSelection();\n }\n}\n\n/** Menu Item helper methods\n * @alpha\n * @deprecated in 4.15.0. Use {@link @itwin/core-react#ContextMenuItem} and {@link @itwin/core-react#ContextSubMenu} components.\n */\nexport class MenuItemHelpers {\n public static createMenuItems(\n itemPropsList: CursorMenuItemProps[],\n onSelection?: () => void\n ): MenuItem[] {\n const menuItems = new Array<MenuItem>();\n itemPropsList.forEach((itemProps) => {\n menuItems.push(new MenuItem(itemProps, onSelection));\n });\n return menuItems;\n }\n\n public static createMenuItemNodes(itemList: MenuItem[]): React.ReactNode[] {\n const itemNodes: React.ReactNode[] = [];\n\n itemList.forEach((item: MenuItem, index: number) => {\n const reactItem = this.createMenuItemNode(item, index);\n if (reactItem) itemNodes.push(reactItem);\n });\n\n return itemNodes;\n }\n\n private static createMenuItemNode(\n item: MenuItem,\n index: number\n ): React.ReactNode {\n const label = item.label;\n const iconSpec = item.iconSpec;\n const iconRightSpec = item.iconRightSpec;\n const badgeType = item.badgeType;\n const badgeKind = item.badgeKind;\n const isDisabled: boolean = ConditionalBooleanValue.getValue(\n item.isDisabled\n );\n\n if (item.submenu && item.submenu.length > 0) {\n const items = this.createMenuItemNodes(item.submenu);\n\n return (\n <ContextSubMenu\n key={index}\n icon={iconSpec}\n label={label}\n badgeType={badgeType}\n badgeKind={badgeKind}\n disabled={isDisabled}\n >\n {items}\n </ContextSubMenu>\n );\n }\n\n return (\n <ContextMenuItem\n key={index}\n onSelect={() => item.itemPicked()}\n icon={iconSpec}\n iconRight={iconRightSpec}\n badgeType={badgeType}\n badgeKind={badgeKind}\n disabled={isDisabled}\n >\n {label}\n </ContextMenuItem>\n );\n }\n}\n"]}
@@ -1,10 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Notification
3
3
  */
4
- import type { ToolAssistanceInstruction, ToolAssistanceInstructions } from "@itwin/core-frontend";
5
4
  import type { CommonProps } from "@itwin/core-react";
6
5
  import * as React from "react";
7
- import { UiStateStorageContext } from "../../uistate/useUiStateStorage.js";
8
6
  import "./ToolAssistanceField.scss";
9
7
  import { type UiStateStorage } from "../../uistate/UiStateStorage.js";
10
8
  /** Properties of [[ToolAssistanceField]] component.
@@ -26,63 +24,12 @@ export interface ToolAssistanceFieldProps extends CommonProps {
26
24
  /** When set to `true` will show prompt at cursor only when the content area is hovered. */
27
25
  promptAtContent?: boolean;
28
26
  }
29
- interface ToolAssistanceFieldState {
30
- instructions: ToolAssistanceInstructions | undefined;
31
- toolIconSpec: string;
32
- showPromptAtCursor: boolean;
33
- includeMouseInstructions: boolean;
34
- includeTouchInstructions: boolean;
35
- showMouseTouchTabs: boolean;
36
- showMouseInstructions: boolean;
37
- showTouchInstructions: boolean;
38
- mouseTouchTabIndex: number;
39
- isPinned: boolean;
40
- isOpen: boolean;
27
+ interface Props extends Omit<ToolAssistanceFieldProps, "includePromptAtCursor" | "cursorPromptTimeout" | "fadeOutCursorPrompt" | "defaultPromptAtCursor">, Partial<Pick<ToolAssistanceFieldProps, "includePromptAtCursor" | "cursorPromptTimeout" | "fadeOutCursorPrompt" | "defaultPromptAtCursor">> {
41
28
  }
42
29
  /** Tool Assistance Field React component.
43
30
  * @public
44
31
  * @note Tool assistance field will only display 30 characters in the status bar. Any additional text will be hidden. The full text will always be shown in the opened popover.
45
32
  */
46
- export declare class ToolAssistanceField extends React.Component<ToolAssistanceFieldProps, ToolAssistanceFieldState> {
47
- /** @internal */
48
- static contextType: React.Context<import("@itwin/core-react").UiStateStorage>;
49
- /** @internal */
50
- context: React.ContextType<typeof UiStateStorageContext>;
51
- private static _toolAssistanceKey;
52
- private static _showPromptAtCursorKey;
53
- private static _mouseTouchTabIndexKey;
54
- private _showPromptAtCursorSetting;
55
- private _mouseTouchTabIndexSetting;
56
- private _indicator;
57
- private _cursorPrompt;
58
- private _isMounted;
59
- private _uiSettingsStorage;
60
- static readonly defaultProps: Pick<ToolAssistanceFieldProps, "includePromptAtCursor" | "uiStateStorage" | "cursorPromptTimeout" | "fadeOutCursorPrompt" | "defaultPromptAtCursor">;
61
- constructor(p: ToolAssistanceFieldProps);
62
- componentDidMount(): Promise<void>;
63
- /** @internal */
64
- componentDidUpdate(): void;
65
- componentWillUnmount(): void;
66
- private restoreSettings;
67
- private _handleToolAssistanceChangedEvent;
68
- private _isBothInstruction;
69
- private _isMouseInstruction;
70
- private _isTouchInstruction;
71
- private _handleToolIconChangedEvent;
72
- private _showCursorPrompt;
73
- private _sectionHasDisplayableInstructions;
74
- private _getDisplayableInstructions;
75
- private _handleMouseTouchTab;
76
- render(): React.ReactNode;
77
- private _onPromptAtCursorChange;
78
- private _handlePinButtonClick;
79
- private _handleCloseButtonClick;
80
- private setIsOpen;
81
- /** @internal */
82
- static getInstructionImage(instruction: ToolAssistanceInstruction): React.ReactNode;
83
- private static getInstructionSvgImage;
84
- private static getInstructionKeyboardImage;
85
- private static getKeyNode;
86
- }
33
+ export declare function ToolAssistanceField(props: Props): React.JSX.Element;
87
34
  export {};
88
35
  //# sourceMappingURL=ToolAssistanceField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolAssistanceField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolAssistanceField.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/toolassistance/ToolAssistanceField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,4BAA4B,CAAC;AAuBpC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,iCAAiC,CAAC;AASzC;;GAEG;AAEH,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,gFAAgF;IAChF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,2FAA2F;IAC3F,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,KACR,SAAQ,IAAI,CACR,wBAAwB,EACtB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,CAC1B,EACD,OAAO,CACL,IAAI,CACF,wBAAwB,EACtB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,CAC1B,CACF;CAAG;AAeR;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,qBAmT/C"}