@itwin/appui-react 4.2.0-dev.1 → 4.2.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 (194) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/lib/cjs/appui-react/UiFramework.js +5 -9
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  5. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  6. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  7. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  8. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  9. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  10. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  11. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  12. package/lib/cjs/appui-react/content/ContentLayout.js +9 -12
  13. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  14. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  15. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  16. package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
  17. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  18. package/lib/cjs/appui-react/content/IModelViewport.js +3 -6
  19. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  20. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  21. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  22. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  23. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  24. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  25. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  26. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  27. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  28. package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
  29. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  30. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
  31. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  32. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +3 -4
  33. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  34. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
  35. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  36. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  37. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  38. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  39. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  40. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  41. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  42. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  43. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  44. package/lib/cjs/appui-react/messages/ActivityMessage.js +5 -7
  45. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  46. package/lib/cjs/appui-react/pickers/ViewSelector.js +5 -6
  47. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  48. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -2
  49. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  50. package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
  51. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  52. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  53. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  54. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +5 -7
  55. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  56. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  57. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  58. package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
  59. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  60. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  61. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  62. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  63. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  64. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
  65. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  66. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
  67. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  68. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  69. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  70. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  71. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  72. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  73. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  74. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  75. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  76. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  77. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  78. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  79. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  80. package/lib/cjs/appui-react/widget-panels/Content.js +8 -9
  81. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  82. package/lib/cjs/appui-react/widget-panels/Frontstage.js +38 -39
  83. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  84. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  85. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  86. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  87. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  88. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +12 -17
  89. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  90. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  91. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  92. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  93. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  94. package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
  95. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  96. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  97. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  98. package/lib/esm/appui-react/UiFramework.js +5 -9
  99. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  100. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  101. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  102. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  103. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  104. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  105. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  106. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  107. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  108. package/lib/esm/appui-react/content/ContentLayout.js +9 -12
  109. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  110. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  111. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  112. package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
  113. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  114. package/lib/esm/appui-react/content/IModelViewport.js +3 -6
  115. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  116. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  117. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  118. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
  119. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  120. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  121. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  122. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  123. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  124. package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
  125. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  126. package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
  127. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  128. package/lib/esm/appui-react/frontstage/FrontstageDef.js +3 -4
  129. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
  131. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  132. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  133. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  134. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  135. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  136. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  137. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  138. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  139. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  140. package/lib/esm/appui-react/messages/ActivityMessage.js +5 -7
  141. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  142. package/lib/esm/appui-react/pickers/ViewSelector.js +5 -6
  143. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  144. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -2
  145. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  146. package/lib/esm/appui-react/popup/PopupManager.js +1 -2
  147. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  148. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  149. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  150. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +5 -7
  151. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  152. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  153. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  154. package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
  155. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  156. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  157. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  158. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  159. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  160. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
  161. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  162. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
  163. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  164. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  165. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  166. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  167. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  168. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  169. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  170. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  171. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  172. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  173. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  174. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  175. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  176. package/lib/esm/appui-react/widget-panels/Content.js +8 -9
  177. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  178. package/lib/esm/appui-react/widget-panels/Frontstage.js +38 -39
  179. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  180. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  181. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  182. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  183. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  184. package/lib/esm/appui-react/widget-panels/ToolSettings.js +12 -17
  185. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  186. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  187. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  188. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  189. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  190. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
  191. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  192. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  193. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  194. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../../src/appui-react/uiprovider/ComponentGenerator.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,6CAA2C;AAC3C,2CAAoC;AACpC,+BAA+B;AAS/B,0DAG+B;AAE/B,8DAA0D;AAE1D,sDAAqD;AAErD,SAAS,WAAW,CAAC,EACnB,cAAc,EACd,IAAI,EACJ,gBAAgB,GAKjB;IACC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC5B,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAChD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,uEAAuE;IACvE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,UAAU,GAAG,CAAC,IAAmC,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACrC,CAAC,QAAgC,EAAE,EAAE,CACnC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/C,CAAC;YACF,uBAAuB;YACvB,IAAI,UAAU,EAAE;gBACd,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aACxC;QACH,CAAC,CAAC;QACF,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,2BAA2B,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3B,uBAAuB;IACvB,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,oBAAoB,EACpB,UAAU,IAAI,qBAAqB,EACnC,CAAC,CAAC,gBAAgB,IAAI,kCAAkC,EACxD,CAAC,gBAAgB,IAAI,2BAA2B,CACjD,CAAC;IACF,OAAO,CACL,+BAAO,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU;QAC7C,YAAY;YACP,CACT,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,cAAc,EACd,WAAW,EACX,MAAM,EACN,QAAQ,GAMT;IACC,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAClD,IAAI,SAAS,GAAG,qCAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEpE,uBAAuB;QACvB,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,WACP,OAAA,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,IAAI,MAAK,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAA,EAAA,CACjE;YACH,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,IAAI,CAC3D,CAAC;QACN,uBAAuB;QACvB,IAAI,SAAS,EAAE;YACb,IAAI,MAAM,EAAE;gBACV,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,YAAa,CAAC,KAAK,CAAC,KAAK;oBAC1C,WAAW,EAAE,oCAAmB,CAAC,SAAS;iBAC3C,CAAC,CAAC;gBACH,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,YAAa,CAAC,UAAU,CAAC;aAC3D;iBAAM;gBACL,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK;oBAC5B,WAAW,EAAE,oCAAmB,CAAC,SAAS;iBAC3C,CAAC,CAAC;gBACH,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;aAC7C;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE1E,kCAAkC;IAClC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,UAAU,GAAG,CAAC,IAAmC,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACrC,CAAC,QAAgC,EAAE,EAAE,CACnC,QAAQ,CAAC,YAAY,KAAK,WAAW,CAAC,QAAQ,CAAC,IAAI,CACtD,CAAC;YACF,uBAAuB;YACvB,IAAI,UAAU,EAAE;gBACd,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CACtD;oBACE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;oBAC7B,WAAW,EAAE,oCAAmB,CAAC,SAAS;oBAC1C,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY;iBAC5C,EACD,UAAU,CAAC,QAAQ,CACpB,CAAC;gBAEF,IAAI,UAAU,CAAC,QAAQ,EAAE;oBACvB,uBAAuB;oBACvB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,EAAE;wBACxD,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;wBACpD,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;qBACrC;yBAAM;wBACL,qBAAM,CAAC,QAAQ,CACb,gBAAgB,EAChB,wCAAwC,UAAU,CAAC,YAAY,wBAAwB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAClH,CAAC;qBACH;iBACF;qBAAM;oBACL,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oBACpD,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;iBACrC;aACF;QACH,CAAC,CAAC;QACF,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,2BAA2B,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC7B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACrE,CAAC,MAAM,CAAC,CACT,CAAC;IACF,uBAAuB;IACvB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,MAA2B,EAAE,EAAE;QAC9B,8DAA8D;QAC9D,uBAAuB;QACvB,IAAA,qBAAM,EACJ,MAAM,CAAC,QAAQ,CAAC,WAAW,KAAK,oCAAmB,CAAC,SAAS;YAC3D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW;gBACrC,oCAAmB,CAAC,SAAS,CAClC,CAAC;QACF,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAA2B;YACvC,KAAK,EAAE,MAAM,CAAC,QAA2B;YACzC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;YACvC,UAAU,EAAE,gBAAgB,CAAC,UAAU;SACxC,CAAC;QACF,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC/C,+EAA+E;QAC/E,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAC5D,CAAC;IACF,uBAAuB;IACvB,MAAM,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAE9B,OAAO,CACL,6BAAK,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS;QACvD,oBAAC,kCAAe,IACd,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAC9B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,GACtB,CACE,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAa,kBAAkB;IAC7B,YAAoB,eAAqC;QAArC,oBAAe,GAAf,eAAe,CAAsB;IAAG,CAAC;IAE7D,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,SAAS,CACf,IAAoB,EACpB,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK;QAEhB,OAAO,CACL,oBAAC,cAAc,IACb,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;IACJ,CAAC;IAEO,iCAAiC,CACvC,GAAc,EACd,QAAgB;QAEhB,uBAAuB;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAC/B,SAAS,EAAC,mEAAmE,IAE5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,CACP,CAAC;SACH;QAED,OAAO,CACL,6BACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,mEAAmE;YAE7E,6BAAK,SAAS,EAAC,kCAAkC,IAC9C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1C,CACF,CACP,CAAC;IACJ,CAAC;IAEO,mCAAmC,CACzC,GAAc,EACd,QAAgB;QAEhB,uBAAuB;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,CACV,6BACE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAC/B,SAAS,EAAC,mEAAmE,IAE5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,CACP;aACF,CAAC;SACH;QAED,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,CACV,6BACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,mEAAmE;gBAE7E,6BAAK,SAAS,EAAC,kCAAkC,IAC9C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1C,CACF,CACP;SACF,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,IAAgB,EAChB,gBAAgB,GAAG,KAAK;QAExB,OAAO,CACL,oBAAC,WAAW,IACV,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,OAAmB,EACnB,uBAAgC;QAEhC,MAAM,MAAM,GAAG,qCAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/D,uBAAuB;QACvB,MAAM,UAAU,GAAG,qCAAoB,CAAC,yBAAyB,CAAC,OAAO,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAa,EAAE,IAAI,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,qCAAoB,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,UAAU,GAAG,uBAAuB;YACxC,CAAC,CAAC,4DAA4D;YAC9D,CAAC,CAAC,6BAA6B,CAAC;QAClC,OAAO,CACL,6BAAK,GAAG,EAAE,QAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU;YAC5D,UAAU;YACV,KAAK,CACF,CACP,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAC7B,IAAgB,EAChB,gBAAyB;QAEzB,MAAM,KAAK,GAAG,qCAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CACL,6BACE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACvB,SAAS,EAAC,sCAAsC;YAE/C,KAAK;YACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACjB,CACP,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,GAAc;QAC9C,OAAO,CACL,6BAAK,SAAS,EAAC,kCAAkC,IAC9C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,KAAa,EAAE,EAAE,CACjD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAChD,CACG,CACP,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAc;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,GAAc,EAAE,QAAgB;QAC5C,IAAI,qCAAoB,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAC9D;aAAM;YACL,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,QAAQ;gBAC1B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CACR,CAClB,CAAC;SACH;IACH,CAAC;IAEM,oBAAoB,CACzB,GAAc,EACd,QAAgB;QAEhB,IAAI,qCAAoB,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,mCAAmC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAChE;aAAM;YACL,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;aACnC,CAAC;SACH;IACH,CAAC;IAED,6DAA6D;IACtD,sBAAsB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAc,EAAE,KAAa,EAAE,EAAE,CACpE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CACtC,CAAC;IACJ,CAAC;CACF;AA3LD,gDA2LC","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 UiProvider\n */\n\nimport \"./DefaultDialogGridContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n BaseDialogItem,\n DialogItem,\n DialogItemValue,\n DialogPropertySyncItem,\n DialogRow,\n SyncPropertiesChangeEventArgs,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyValueFormat,\n UiLayoutDataProvider,\n} from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { ToolSettingsEntry } from \"../widget-panels/ToolSettings\";\nimport { assert, Logger } from \"@itwin/core-bentley\";\n\nfunction EditorLabel({\n uiDataProvider,\n item,\n isLeftmostRecord,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n item: DialogItem;\n isLeftmostRecord?: boolean;\n}) {\n const [isDisabled, setIsDisabled] = React.useState(!!item.isDisabled);\n const displayLabel = React.useMemo(() => {\n return item.property.displayLabel\n ? item.property.displayLabel\n : /* istanbul ignore next */ item.property.name;\n }, [item]);\n const propertyId = React.useMemo(\n () => `dialogItemProperty-${item.property.name}`,\n [item]\n );\n\n // listen for tool sync property events and update the isDisabled state\n React.useEffect(() => {\n const handleSync = (args: SyncPropertiesChangeEventArgs) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === item.property.name\n );\n // istanbul ignore next\n if (mySyncItem) {\n setIsDisabled(!!mySyncItem.isDisabled);\n }\n };\n uiDataProvider.onSyncPropertiesChangeEvent.addListener(handleSync);\n return () => {\n uiDataProvider.onSyncPropertiesChangeEvent.removeListener(handleSync);\n };\n }, [uiDataProvider, item]);\n\n // istanbul ignore next\n const className = classnames(\n \"uifw-default-label\",\n isDisabled && \"uifw-label-disabled\",\n !!isLeftmostRecord && \"uifw-default-narrow-only-display\",\n !isLeftmostRecord && \"uifw-default-inline-label\"\n );\n return (\n <label className={className} htmlFor={propertyId}>\n {displayLabel}:\n </label>\n );\n}\n\nfunction PropertyEditor({\n uiDataProvider,\n initialItem,\n isLock,\n setFocus,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n initialItem: BaseDialogItem;\n isLock?: boolean;\n setFocus?: boolean;\n}) {\n const getLatestRecordValue = React.useCallback(() => {\n let newRecord = UiLayoutDataProvider.getPropertyRecord(initialItem);\n\n // istanbul ignore next\n const foundItem = isLock\n ? uiDataProvider.items.find(\n (item) =>\n item.lockProperty?.property.name === initialItem.property.name\n )\n : uiDataProvider.items.find(\n (item) => item.property.name === initialItem.property.name\n );\n // istanbul ignore else\n if (foundItem) {\n if (isLock) {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.lockProperty!.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.lockProperty!.isDisabled;\n } else {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.isDisabled;\n }\n }\n return newRecord;\n }, [initialItem, isLock, uiDataProvider.items]);\n\n const currentRecord = getLatestRecordValue();\n const [propertyRecord, setPropertyRecord] = React.useState(currentRecord);\n\n // monitor tool for sync UI events\n React.useEffect(() => {\n const handleSync = (args: SyncPropertiesChangeEventArgs) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === initialItem.property.name\n );\n // istanbul ignore else\n if (mySyncItem) {\n const newPropertyValue = propertyRecord.copyWithNewValue(\n {\n value: mySyncItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n displayValue: mySyncItem.value.displayValue,\n },\n mySyncItem.property\n );\n\n if (mySyncItem.property) {\n // istanbul ignore else\n if (mySyncItem.property.name === mySyncItem.propertyName) {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n } else {\n Logger.logError(\n \"PropertyEditor\",\n `Error trying to replace propertyName=${mySyncItem.propertyName} with property named ${mySyncItem.property.name}`\n );\n }\n } else {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n }\n }\n };\n uiDataProvider.onSyncPropertiesChangeEvent.addListener(handleSync);\n return () => {\n uiDataProvider.onSyncPropertiesChangeEvent.removeListener(handleSync);\n };\n }, [uiDataProvider, propertyRecord, initialItem.property.name]);\n\n const className = React.useMemo(\n () => (isLock ? \"uifw-default-property-lock\" : \"uifw-default-editor\"),\n [isLock]\n );\n // istanbul ignore next\n const handleCommit = React.useCallback(\n (commit: PropertyUpdatedArgs) => {\n // UiLayoutDataProvider supports only primitive property types\n // istanbul ignore next\n assert(\n commit.newValue.valueFormat === PropertyValueFormat.Primitive &&\n commit.propertyRecord.value.valueFormat ===\n PropertyValueFormat.Primitive\n );\n const newPropertyValue = propertyRecord.copyWithNewValue(commit.newValue);\n const syncItem: DialogPropertySyncItem = {\n value: commit.newValue as DialogItemValue,\n propertyName: initialItem.property.name,\n isDisabled: newPropertyValue.isDisabled,\n };\n uiDataProvider.applyUiPropertyChange(syncItem);\n // Now have the uiDataProvider refetch the latest property values from the tool\n uiDataProvider.reloadDialogItems(true);\n },\n [initialItem.property.name, propertyRecord, uiDataProvider]\n );\n // istanbul ignore next\n const handleCancel = () => {};\n\n return (\n <div key={initialItem.property.name} className={className}>\n <EditorContainer\n key={initialItem.property.name}\n propertyRecord={propertyRecord}\n setFocus={setFocus}\n onCommit={handleCommit}\n onCancel={handleCancel}\n />\n </div>\n );\n}\n\n/** Utility methods to generate react ui from DialogRow specs\n * @internal\n */\nexport class ComponentGenerator {\n constructor(private _uiDataProvider: UiLayoutDataProvider) {}\n\n public get uiDataProvider() {\n return this._uiDataProvider;\n }\n\n private getEditor(\n item: BaseDialogItem,\n isLock = false,\n setFocus = false\n ): React.ReactNode {\n return (\n <PropertyEditor\n key={item.property.name}\n uiDataProvider={this.uiDataProvider}\n initialItem={item}\n isLock={isLock}\n setFocus={setFocus}\n />\n );\n }\n\n private generateRowWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): React.ReactNode {\n // istanbul ignore else\n if (1 === row.items.length) {\n return (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n );\n }\n\n return (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n );\n }\n\n private generateEntryWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n // istanbul ignore else\n if (1 === row.items.length) {\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n ),\n };\n }\n\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n ),\n };\n }\n\n private getEditorLabel(\n item: DialogItem,\n isLeftmostRecord = false\n ): React.ReactNode {\n return (\n <EditorLabel\n uiDataProvider={this.uiDataProvider}\n item={item}\n isLeftmostRecord={isLeftmostRecord}\n />\n );\n }\n\n private getLeftLockAndLabel(\n rowItem: DialogItem,\n multiplePropertiesOnRow: boolean\n ): React.ReactNode {\n const record = UiLayoutDataProvider.getPropertyRecord(rowItem);\n // istanbul ignore next\n const lockEditor = UiLayoutDataProvider.hasAssociatedLockProperty(rowItem)\n ? this.getEditor(rowItem.lockProperty!, true)\n : null;\n const label = UiLayoutDataProvider.editorWantsLabel(rowItem)\n ? this.getEditorLabel(rowItem)\n : null;\n const classNames = multiplePropertiesOnRow\n ? \"uifw-default-lock-and-label uifw-default-wide-only-display\"\n : \"uifw-default-lock-and-label\";\n return (\n <div key={`lock-${record.property.name}`} className={classNames}>\n {lockEditor}\n {label}\n </div>\n );\n }\n\n private getInlineLabelAndEditor(\n item: DialogItem,\n isLeftmostRecord: boolean\n ): React.ReactNode {\n const label = UiLayoutDataProvider.editorWantsLabel(item)\n ? this.getEditorLabel(item, isLeftmostRecord)\n : null;\n return (\n <div\n key={item.property.name}\n className=\"uifw-default-inline-label-and-editor\"\n >\n {label}\n {this.getEditor(item)}\n </div>\n );\n }\n\n private getRowWithMultipleEditors(row: DialogRow): React.ReactNode {\n return (\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item: DialogItem, index: number) =>\n this.getInlineLabelAndEditor(item, 0 === index)\n )}\n </div>\n );\n }\n\n private getDivForRow(row: DialogRow): React.ReactNode {\n if (1 === row.items.length) return this.getEditor(row.items[0]);\n return this.getRowWithMultipleEditors(row);\n }\n\n public getRow(row: DialogRow, rowIndex: number): React.ReactNode {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateRowWithButtonGroupEditors(row, rowIndex);\n } else {\n return (\n <React.Fragment key={rowIndex}>\n {this.getLeftLockAndLabel(row.items[0], row.items.length > 1)}\n {this.getDivForRow(row)}\n </React.Fragment>\n );\n }\n }\n\n public getToolSettingsEntry(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateEntryWithButtonGroupEditors(row, rowIndex);\n } else {\n return {\n labelNode: this.getLeftLockAndLabel(row.items[0], row.items.length > 1),\n editorNode: this.getDivForRow(row),\n };\n }\n }\n\n /** ToolSettingsEntries are used by the tool settings bar. */\n public getToolSettingsEntries(): ToolSettingsEntry[] {\n return this.uiDataProvider.rows.map((row: DialogRow, index: number) =>\n this.getToolSettingsEntry(row, index)\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../../src/appui-react/uiprovider/ComponentGenerator.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 UiProvider\n */\n\nimport \"./DefaultDialogGridContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n BaseDialogItem,\n DialogItem,\n DialogItemValue,\n DialogPropertySyncItem,\n DialogRow,\n SyncPropertiesChangeEventArgs,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyValueFormat,\n UiLayoutDataProvider,\n} from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { ToolSettingsEntry } from \"../widget-panels/ToolSettings\";\nimport { assert, Logger } from \"@itwin/core-bentley\";\n\nfunction EditorLabel({\n uiDataProvider,\n item,\n isLeftmostRecord,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n item: DialogItem;\n isLeftmostRecord?: boolean;\n}) {\n const [isDisabled, setIsDisabled] = React.useState(!!item.isDisabled);\n const displayLabel = React.useMemo(() => {\n return item.property.displayLabel\n ? item.property.displayLabel\n : /* istanbul ignore next */ item.property.name;\n }, [item]);\n const propertyId = React.useMemo(\n () => `dialogItemProperty-${item.property.name}`,\n [item]\n );\n\n // listen for tool sync property events and update the isDisabled state\n React.useEffect(() => {\n const handleSync = (args: SyncPropertiesChangeEventArgs) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === item.property.name\n );\n // istanbul ignore next\n if (mySyncItem) {\n setIsDisabled(!!mySyncItem.isDisabled);\n }\n };\n uiDataProvider.onSyncPropertiesChangeEvent.addListener(handleSync);\n return () => {\n uiDataProvider.onSyncPropertiesChangeEvent.removeListener(handleSync);\n };\n }, [uiDataProvider, item]);\n\n // istanbul ignore next\n const className = classnames(\n \"uifw-default-label\",\n isDisabled && \"uifw-label-disabled\",\n !!isLeftmostRecord && \"uifw-default-narrow-only-display\",\n !isLeftmostRecord && \"uifw-default-inline-label\"\n );\n return (\n <label className={className} htmlFor={propertyId}>\n {displayLabel}:\n </label>\n );\n}\n\nfunction PropertyEditor({\n uiDataProvider,\n initialItem,\n isLock,\n setFocus,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n initialItem: BaseDialogItem;\n isLock?: boolean;\n setFocus?: boolean;\n}) {\n const getLatestRecordValue = React.useCallback(() => {\n let newRecord = UiLayoutDataProvider.getPropertyRecord(initialItem);\n\n // istanbul ignore next\n const foundItem = isLock\n ? uiDataProvider.items.find(\n (item) =>\n item.lockProperty?.property.name === initialItem.property.name\n )\n : uiDataProvider.items.find(\n (item) => item.property.name === initialItem.property.name\n );\n // istanbul ignore else\n if (foundItem) {\n if (isLock) {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.lockProperty!.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.lockProperty!.isDisabled;\n } else {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.isDisabled;\n }\n }\n return newRecord;\n }, [initialItem, isLock, uiDataProvider.items]);\n\n const currentRecord = getLatestRecordValue();\n const [propertyRecord, setPropertyRecord] = React.useState(currentRecord);\n\n // monitor tool for sync UI events\n React.useEffect(() => {\n const handleSync = (args: SyncPropertiesChangeEventArgs) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === initialItem.property.name\n );\n // istanbul ignore else\n if (mySyncItem) {\n const newPropertyValue = propertyRecord.copyWithNewValue(\n {\n value: mySyncItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n displayValue: mySyncItem.value.displayValue,\n },\n mySyncItem.property\n );\n\n if (mySyncItem.property) {\n // istanbul ignore else\n if (mySyncItem.property.name === mySyncItem.propertyName) {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n } else {\n Logger.logError(\n \"PropertyEditor\",\n `Error trying to replace propertyName=${mySyncItem.propertyName} with property named ${mySyncItem.property.name}`\n );\n }\n } else {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n }\n }\n };\n uiDataProvider.onSyncPropertiesChangeEvent.addListener(handleSync);\n return () => {\n uiDataProvider.onSyncPropertiesChangeEvent.removeListener(handleSync);\n };\n }, [uiDataProvider, propertyRecord, initialItem.property.name]);\n\n const className = React.useMemo(\n () => (isLock ? \"uifw-default-property-lock\" : \"uifw-default-editor\"),\n [isLock]\n );\n // istanbul ignore next\n const handleCommit = React.useCallback(\n (commit: PropertyUpdatedArgs) => {\n // UiLayoutDataProvider supports only primitive property types\n // istanbul ignore next\n assert(\n commit.newValue.valueFormat === PropertyValueFormat.Primitive &&\n commit.propertyRecord.value.valueFormat ===\n PropertyValueFormat.Primitive\n );\n const newPropertyValue = propertyRecord.copyWithNewValue(commit.newValue);\n const syncItem: DialogPropertySyncItem = {\n value: commit.newValue as DialogItemValue,\n propertyName: initialItem.property.name,\n isDisabled: newPropertyValue.isDisabled,\n };\n uiDataProvider.applyUiPropertyChange(syncItem);\n // Now have the uiDataProvider refetch the latest property values from the tool\n uiDataProvider.reloadDialogItems(true);\n },\n [initialItem.property.name, propertyRecord, uiDataProvider]\n );\n // istanbul ignore next\n const handleCancel = () => {};\n\n return (\n <div key={initialItem.property.name} className={className}>\n <EditorContainer\n key={initialItem.property.name}\n propertyRecord={propertyRecord}\n setFocus={setFocus}\n onCommit={handleCommit}\n onCancel={handleCancel}\n />\n </div>\n );\n}\n\n/** Utility methods to generate react ui from DialogRow specs\n * @internal\n */\nexport class ComponentGenerator {\n constructor(private _uiDataProvider: UiLayoutDataProvider) {}\n\n public get uiDataProvider() {\n return this._uiDataProvider;\n }\n\n private getEditor(\n item: BaseDialogItem,\n isLock = false,\n setFocus = false\n ): React.ReactNode {\n return (\n <PropertyEditor\n key={item.property.name}\n uiDataProvider={this.uiDataProvider}\n initialItem={item}\n isLock={isLock}\n setFocus={setFocus}\n />\n );\n }\n\n private generateRowWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): React.ReactNode {\n // istanbul ignore else\n if (1 === row.items.length) {\n return (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n );\n }\n\n return (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n );\n }\n\n private generateEntryWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n // istanbul ignore else\n if (1 === row.items.length) {\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n ),\n };\n }\n\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n ),\n };\n }\n\n private getEditorLabel(\n item: DialogItem,\n isLeftmostRecord = false\n ): React.ReactNode {\n return (\n <EditorLabel\n uiDataProvider={this.uiDataProvider}\n item={item}\n isLeftmostRecord={isLeftmostRecord}\n />\n );\n }\n\n private getLeftLockAndLabel(\n rowItem: DialogItem,\n multiplePropertiesOnRow: boolean\n ): React.ReactNode {\n const record = UiLayoutDataProvider.getPropertyRecord(rowItem);\n // istanbul ignore next\n const lockEditor = UiLayoutDataProvider.hasAssociatedLockProperty(rowItem)\n ? this.getEditor(rowItem.lockProperty!, true)\n : null;\n const label = UiLayoutDataProvider.editorWantsLabel(rowItem)\n ? this.getEditorLabel(rowItem)\n : null;\n const classNames = multiplePropertiesOnRow\n ? \"uifw-default-lock-and-label uifw-default-wide-only-display\"\n : \"uifw-default-lock-and-label\";\n return (\n <div key={`lock-${record.property.name}`} className={classNames}>\n {lockEditor}\n {label}\n </div>\n );\n }\n\n private getInlineLabelAndEditor(\n item: DialogItem,\n isLeftmostRecord: boolean\n ): React.ReactNode {\n const label = UiLayoutDataProvider.editorWantsLabel(item)\n ? this.getEditorLabel(item, isLeftmostRecord)\n : null;\n return (\n <div\n key={item.property.name}\n className=\"uifw-default-inline-label-and-editor\"\n >\n {label}\n {this.getEditor(item)}\n </div>\n );\n }\n\n private getRowWithMultipleEditors(row: DialogRow): React.ReactNode {\n return (\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item: DialogItem, index: number) =>\n this.getInlineLabelAndEditor(item, 0 === index)\n )}\n </div>\n );\n }\n\n private getDivForRow(row: DialogRow): React.ReactNode {\n if (1 === row.items.length) return this.getEditor(row.items[0]);\n return this.getRowWithMultipleEditors(row);\n }\n\n public getRow(row: DialogRow, rowIndex: number): React.ReactNode {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateRowWithButtonGroupEditors(row, rowIndex);\n } else {\n return (\n <React.Fragment key={rowIndex}>\n {this.getLeftLockAndLabel(row.items[0], row.items.length > 1)}\n {this.getDivForRow(row)}\n </React.Fragment>\n );\n }\n }\n\n public getToolSettingsEntry(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateEntryWithButtonGroupEditors(row, rowIndex);\n } else {\n return {\n labelNode: this.getLeftLockAndLabel(row.items[0], row.items.length > 1),\n editorNode: this.getDivForRow(row),\n };\n }\n }\n\n /** ToolSettingsEntries are used by the tool settings bar. */\n public getToolSettingsEntries(): ToolSettingsEntry[] {\n return this.uiDataProvider.rows.map((row: DialogRow, index: number) =>\n this.getToolSettingsEntry(row, index)\n );\n }\n}\n"]}
@@ -33,13 +33,13 @@ class UiShowHideSettingsProvider {
33
33
  InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);
34
34
  }
35
35
  static async storeAutoHideUi(v, storage) {
36
- void (storage !== null && storage !== void 0 ? storage : UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._autoHideUiKey, v);
36
+ void (storage ?? UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._autoHideUiKey, v);
37
37
  }
38
38
  static async storeUseProximityOpacity(v, storage) {
39
- void (storage !== null && storage !== void 0 ? storage : UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._useProximityOpacityKey, v);
39
+ void (storage ?? UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._useProximityOpacityKey, v);
40
40
  }
41
41
  static async storeSnapWidgetOpacity(v, storage) {
42
- void (storage !== null && storage !== void 0 ? storage : UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._snapWidgetOpacityKey, v);
42
+ void (storage ?? UiFramework_1.UiFramework.getUiStateStorage()).saveSetting(this._settingsNamespace, this._snapWidgetOpacityKey, v);
43
43
  }
44
44
  }
45
45
  UiShowHideSettingsProvider._settingsNamespace = "AppUiSettings";
@@ -1 +1 @@
1
- {"version":3,"file":"InternalUiShowHideManager.js","sourceRoot":"","sources":["../../../../src/appui-react/utils/InternalUiShowHideManager.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 Utilities\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Class that maintain UiShowHide user settings between sessions\n * @internal\n */\nexport class UiShowHideSettingsProvider implements UserSettingsProvider {\n private static _settingsNamespace = \"AppUiSettings\";\n private static _autoHideUiKey = \"AutoHideUi\";\n private static _useProximityOpacityKey = \"UseProximityOpacity\";\n private static _snapWidgetOpacityKey = \"SnapWidgetOpacity\";\n public readonly providerId = \"UiShowHideSettingsProvider\";\n\n public static initialize() {\n UiFramework.registerUserSettingsProvider(new UiShowHideSettingsProvider());\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n let result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._autoHideUiKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setAutoHideUi(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._useProximityOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setUseProximityOpacity(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._snapWidgetOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);\n }\n\n public static async storeAutoHideUi(v: boolean, storage?: UiStateStorage) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._autoHideUiKey,\n v\n );\n }\n\n public static async storeUseProximityOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._useProximityOpacityKey,\n v\n );\n }\n\n public static async storeSnapWidgetOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._snapWidgetOpacityKey,\n v\n );\n }\n}\n\n/** The default inactivity time.\n * @internal\n */\nexport const INACTIVITY_TIME_DEFAULT = 3500; /** Wait 3.5 seconds */\n\n/** Maintains Ui Show/Hide state. The `Ui` includes widgets, panels and the status bar.\n * @internal\n */\nexport class InternalUiShowHideManager {\n private static _isUiVisible: boolean = true;\n private static _autoHideUi: boolean = true;\n private static _showHidePanels: boolean = false;\n private static _showHideFooter: boolean = false;\n private static _inactivityTime: number = INACTIVITY_TIME_DEFAULT;\n private static _timeout: NodeJS.Timeout;\n private static _useProximityOpacity: boolean = false;\n private static _snapWidgetOpacity: boolean = false;\n\n /** Determines if the Ui is visible */\n public static get isUiVisible() {\n return InternalUiShowHideManager._isUiVisible;\n }\n public static set isUiVisible(visible: boolean) {\n InternalUiShowHideManager._isUiVisible = visible;\n }\n\n /** @public */\n public static setAutoHideUi(value: boolean) {\n InternalUiShowHideManager._autoHideUi = value;\n }\n\n /** @internal */\n public static setUseProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n }\n\n /** @internal */\n public static setSnapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n }\n\n /** Determines whether the `auto-hide Ui` feature is on. Defaults to false.\n * When true, the Ui automatically hides after a few seconds of inactivity.\n */\n public static get autoHideUi(): boolean {\n return InternalUiShowHideManager._autoHideUi;\n }\n\n public static set autoHideUi(autoHide: boolean) {\n void UiShowHideSettingsProvider.storeAutoHideUi(autoHide);\n InternalUiShowHideManager._autoHideUi = autoHide;\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n }\n /** Determines whether the widget panels are shown and hidden. Defaults to false. */\n public static get showHidePanels(): boolean {\n return InternalUiShowHideManager._showHidePanels;\n }\n public static set showHidePanels(showHide: boolean) {\n InternalUiShowHideManager._showHidePanels = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the status bar is shown and hidden. Defaults to false. */\n public static get showHideFooter(): boolean {\n return InternalUiShowHideManager._showHideFooter;\n }\n public static set showHideFooter(showHide: boolean) {\n InternalUiShowHideManager._showHideFooter = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines the amount of inactivity time before the Ui is hidden. Defaults to 3.5 seconds. */\n public static get inactivityTime(): number {\n return InternalUiShowHideManager._inactivityTime;\n }\n public static set inactivityTime(time: number) {\n InternalUiShowHideManager._inactivityTime = time;\n }\n\n /** Determines whether the proximity of the mouse should alter the opacity of a toolbar. Defaults to true. */\n public static get useProximityOpacity(): boolean {\n return InternalUiShowHideManager._useProximityOpacity;\n }\n public static set useProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n void UiShowHideSettingsProvider.storeUseProximityOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the opacity of a toolbar should snap. Defaults to false. */\n public static get snapWidgetOpacity(): boolean {\n return InternalUiShowHideManager._snapWidgetOpacity;\n }\n public static set snapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n void UiShowHideSettingsProvider.storeSnapWidgetOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Handler for when a Frontstage is ready */\n public static handleFrontstageReady() {\n // istanbul ignore next\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse moves over the content area */\n public static handleContentMouseMove(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse enters a widget */\n public static handleWidgetMouseEnter(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndCancelTimer();\n }\n\n /** Shows the Ui and resets the inactivity timer */\n public static showUiAndResetTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.resetTimer();\n });\n }\n\n /** Shows the Ui and cancels the inactivity timer */\n public static showUiAndCancelTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.cancelTimer();\n });\n }\n\n private static cancelTimer() {\n clearTimeout(InternalUiShowHideManager._timeout);\n }\n\n private static resetTimer() {\n InternalUiShowHideManager.cancelTimer();\n InternalUiShowHideManager._timeout = setTimeout(\n InternalUiShowHideManager.hideUi,\n InternalUiShowHideManager._inactivityTime\n );\n }\n\n private static showUi() {\n UiFramework.setIsUiVisible(true);\n }\n\n private static hideUi() {\n UiFramework.setIsUiVisible(false);\n }\n\n /** @internal */\n public static terminate() {\n InternalUiShowHideManager.cancelTimer();\n // Ensure that next use will have default values for tests.\n InternalUiShowHideManager._isUiVisible = true;\n InternalUiShowHideManager._autoHideUi = true;\n InternalUiShowHideManager._showHidePanels = false;\n InternalUiShowHideManager._showHideFooter = false;\n InternalUiShowHideManager._inactivityTime = INACTIVITY_TIME_DEFAULT;\n InternalUiShowHideManager._useProximityOpacity = false;\n InternalUiShowHideManager._snapWidgetOpacity = false;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalUiShowHideManager.js","sourceRoot":"","sources":["../../../../src/appui-react/utils/InternalUiShowHideManager.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 Utilities\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateStorageStatus } from \"@itwin/core-react\";\nimport {\n SyncUiEventDispatcher,\n SyncUiEventId,\n} from \"../syncui/SyncUiEventDispatcher\";\nimport type { UserSettingsProvider } from \"../UiFramework\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Class that maintain UiShowHide user settings between sessions\n * @internal\n */\nexport class UiShowHideSettingsProvider implements UserSettingsProvider {\n private static _settingsNamespace = \"AppUiSettings\";\n private static _autoHideUiKey = \"AutoHideUi\";\n private static _useProximityOpacityKey = \"UseProximityOpacity\";\n private static _snapWidgetOpacityKey = \"SnapWidgetOpacity\";\n public readonly providerId = \"UiShowHideSettingsProvider\";\n\n public static initialize() {\n UiFramework.registerUserSettingsProvider(new UiShowHideSettingsProvider());\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n let result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._autoHideUiKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setAutoHideUi(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._useProximityOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setUseProximityOpacity(result.setting);\n\n result = await storage.getSetting(\n UiShowHideSettingsProvider._settingsNamespace,\n UiShowHideSettingsProvider._snapWidgetOpacityKey\n );\n if (result.status === UiStateStorageStatus.Success)\n InternalUiShowHideManager.setSnapWidgetOpacity(result.setting);\n }\n\n public static async storeAutoHideUi(v: boolean, storage?: UiStateStorage) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._autoHideUiKey,\n v\n );\n }\n\n public static async storeUseProximityOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._useProximityOpacityKey,\n v\n );\n }\n\n public static async storeSnapWidgetOpacity(\n v: boolean,\n storage?: UiStateStorage\n ) {\n void (storage ?? UiFramework.getUiStateStorage()).saveSetting(\n this._settingsNamespace,\n this._snapWidgetOpacityKey,\n v\n );\n }\n}\n\n/** The default inactivity time.\n * @internal\n */\nexport const INACTIVITY_TIME_DEFAULT = 3500; /** Wait 3.5 seconds */\n\n/** Maintains Ui Show/Hide state. The `Ui` includes widgets, panels and the status bar.\n * @internal\n */\nexport class InternalUiShowHideManager {\n private static _isUiVisible: boolean = true;\n private static _autoHideUi: boolean = true;\n private static _showHidePanels: boolean = false;\n private static _showHideFooter: boolean = false;\n private static _inactivityTime: number = INACTIVITY_TIME_DEFAULT;\n private static _timeout: NodeJS.Timeout;\n private static _useProximityOpacity: boolean = false;\n private static _snapWidgetOpacity: boolean = false;\n\n /** Determines if the Ui is visible */\n public static get isUiVisible() {\n return InternalUiShowHideManager._isUiVisible;\n }\n public static set isUiVisible(visible: boolean) {\n InternalUiShowHideManager._isUiVisible = visible;\n }\n\n /** @public */\n public static setAutoHideUi(value: boolean) {\n InternalUiShowHideManager._autoHideUi = value;\n }\n\n /** @internal */\n public static setUseProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n }\n\n /** @internal */\n public static setSnapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n }\n\n /** Determines whether the `auto-hide Ui` feature is on. Defaults to false.\n * When true, the Ui automatically hides after a few seconds of inactivity.\n */\n public static get autoHideUi(): boolean {\n return InternalUiShowHideManager._autoHideUi;\n }\n\n public static set autoHideUi(autoHide: boolean) {\n void UiShowHideSettingsProvider.storeAutoHideUi(autoHide);\n InternalUiShowHideManager._autoHideUi = autoHide;\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n }\n /** Determines whether the widget panels are shown and hidden. Defaults to false. */\n public static get showHidePanels(): boolean {\n return InternalUiShowHideManager._showHidePanels;\n }\n public static set showHidePanels(showHide: boolean) {\n InternalUiShowHideManager._showHidePanels = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the status bar is shown and hidden. Defaults to false. */\n public static get showHideFooter(): boolean {\n return InternalUiShowHideManager._showHideFooter;\n }\n public static set showHideFooter(showHide: boolean) {\n InternalUiShowHideManager._showHideFooter = showHide;\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines the amount of inactivity time before the Ui is hidden. Defaults to 3.5 seconds. */\n public static get inactivityTime(): number {\n return InternalUiShowHideManager._inactivityTime;\n }\n public static set inactivityTime(time: number) {\n InternalUiShowHideManager._inactivityTime = time;\n }\n\n /** Determines whether the proximity of the mouse should alter the opacity of a toolbar. Defaults to true. */\n public static get useProximityOpacity(): boolean {\n return InternalUiShowHideManager._useProximityOpacity;\n }\n public static set useProximityOpacity(value: boolean) {\n InternalUiShowHideManager._useProximityOpacity = value;\n void UiShowHideSettingsProvider.storeUseProximityOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Determines whether the opacity of a toolbar should snap. Defaults to false. */\n public static get snapWidgetOpacity(): boolean {\n return InternalUiShowHideManager._snapWidgetOpacity;\n }\n public static set snapWidgetOpacity(value: boolean) {\n InternalUiShowHideManager._snapWidgetOpacity = value;\n void UiShowHideSettingsProvider.storeSnapWidgetOpacity(value);\n SyncUiEventDispatcher.dispatchImmediateSyncUiEvent(\n SyncUiEventId.ShowHideManagerSettingChange\n );\n UiFramework.onUiVisibilityChanged.emit({\n visible: UiFramework.getIsUiVisible(),\n });\n }\n\n /** Handler for when a Frontstage is ready */\n public static handleFrontstageReady() {\n // istanbul ignore next\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse moves over the content area */\n public static handleContentMouseMove(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndResetTimer();\n }\n\n /** Handler for when the mouse enters a widget */\n public static handleWidgetMouseEnter(\n _event?: React.MouseEvent<HTMLElement, MouseEvent>\n ) {\n if (!InternalUiShowHideManager._autoHideUi) return;\n\n InternalUiShowHideManager.showUiAndCancelTimer();\n }\n\n /** Shows the Ui and resets the inactivity timer */\n public static showUiAndResetTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.resetTimer();\n });\n }\n\n /** Shows the Ui and cancels the inactivity timer */\n public static showUiAndCancelTimer() {\n setTimeout(() => {\n InternalUiShowHideManager.showUi();\n InternalUiShowHideManager.cancelTimer();\n });\n }\n\n private static cancelTimer() {\n clearTimeout(InternalUiShowHideManager._timeout);\n }\n\n private static resetTimer() {\n InternalUiShowHideManager.cancelTimer();\n InternalUiShowHideManager._timeout = setTimeout(\n InternalUiShowHideManager.hideUi,\n InternalUiShowHideManager._inactivityTime\n );\n }\n\n private static showUi() {\n UiFramework.setIsUiVisible(true);\n }\n\n private static hideUi() {\n UiFramework.setIsUiVisible(false);\n }\n\n /** @internal */\n public static terminate() {\n InternalUiShowHideManager.cancelTimer();\n // Ensure that next use will have default values for tests.\n InternalUiShowHideManager._isUiVisible = true;\n InternalUiShowHideManager._autoHideUi = true;\n InternalUiShowHideManager._showHidePanels = false;\n InternalUiShowHideManager._showHideFooter = false;\n InternalUiShowHideManager._inactivityTime = INACTIVITY_TIME_DEFAULT;\n InternalUiShowHideManager._useProximityOpacity = false;\n InternalUiShowHideManager._snapWidgetOpacity = false;\n }\n}\n"]}
@@ -27,24 +27,23 @@ function WidgetFallback() {
27
27
  }
28
28
  /** @internal */
29
29
  function WidgetContent() {
30
- var _a, _b;
31
30
  const widget = useWidgetDef();
32
31
  // istanbul ignore next
33
- const itemId = (_b = (_a = widget === null || widget === void 0 ? void 0 : widget.id) !== null && _a !== void 0 ? _a : widget === null || widget === void 0 ? void 0 : widget.label) !== null && _b !== void 0 ? _b : "unknown";
32
+ const itemId = widget?.id ?? widget?.label ?? "unknown";
34
33
  const onSave = React.useCallback(() => {
35
34
  // istanbul ignore next
36
- widget === null || widget === void 0 ? void 0 : widget.saveTransientState();
35
+ widget?.saveTransientState();
37
36
  }, [widget]);
38
37
  const onRestore = React.useCallback(() => {
39
38
  // istanbul ignore next
40
- widget === null || widget === void 0 ? void 0 : widget.restoreTransientState();
39
+ widget?.restoreTransientState();
41
40
  }, [widget]);
42
41
  (0, useTransientState_1.useTransientState)(onSave, onRestore);
43
- const providerId = (widget === null || widget === void 0 ? void 0 : widget.initialConfig) && (0, isProviderItem_1.isProviderItem)(widget === null || widget === void 0 ? void 0 : widget.initialConfig)
44
- ? widget === null || widget === void 0 ? void 0 : widget.initialConfig.providerId
42
+ const providerId = widget?.initialConfig && (0, isProviderItem_1.isProviderItem)(widget?.initialConfig)
43
+ ? widget?.initialConfig.providerId
45
44
  : undefined;
46
45
  return (React.createElement(appui_layout_react_1.ScrollableWidgetContent, { itemId: itemId, providerId: providerId },
47
- React.createElement(react_error_boundary_1.ErrorBoundary, { FallbackComponent: WidgetFallback }, widget === null || widget === void 0 ? void 0 : widget.reactNode)));
46
+ React.createElement(react_error_boundary_1.ErrorBoundary, { FallbackComponent: WidgetFallback }, widget?.reactNode)));
48
47
  }
49
48
  exports.WidgetContent = WidgetContent;
50
49
  /** @internal */
@@ -52,7 +51,7 @@ function useWidgetDef() {
52
51
  const tabId = React.useContext(appui_layout_react_1.TabIdContext);
53
52
  (0, core_bentley_1.assert)(!!tabId);
54
53
  const frontstage = (0, FrontstageDef_1.useActiveFrontstageDef)();
55
- const [widgetDef, setWidgetDef] = React.useState(() => frontstage === null || frontstage === void 0 ? void 0 : frontstage.findWidgetDef(tabId));
54
+ const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));
56
55
  React.useEffect(() => {
57
56
  return InternalFrontstageManager_1.InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {
58
57
  if (args.frontstageDef !== frontstage ||
@@ -65,7 +64,7 @@ function useWidgetDef() {
65
64
  }, [frontstage, tabId]);
66
65
  React.useEffect(() => {
67
66
  return UiItemsManager_1.UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {
68
- setWidgetDef(frontstage === null || frontstage === void 0 ? void 0 : frontstage.findWidgetDef(tabId));
67
+ setWidgetDef(frontstage?.findWidgetDef(tabId));
69
68
  });
70
69
  }, [frontstage, tabId]);
71
70
  return widgetDef;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.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 Widget\n */\nimport * as React from \"react\";\nimport {\n ScrollableWidgetContent,\n TabIdContext,\n} from \"@itwin/appui-layout-react\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useTransientState } from \"./useTransientState\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\n\nfunction WidgetFallback() {\n const errorMessage = UiFramework.translate(\n \"widget.errorMessage.unknownError\"\n );\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState svg={<SvgError />} heading={errorMessage} />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n // istanbul ignore next\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n // istanbul ignore next\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n // istanbul ignore next\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n return (\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n\n const frontstage = useActiveFrontstageDef();\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (\n args.frontstageDef !== frontstage ||\n !frontstage ||\n frontstage.isStageClosing ||\n frontstage.isApplicationClosing\n )\n return;\n setWidgetDef(frontstage.findWidgetDef(tabId));\n }\n );\n }, [frontstage, tabId]);\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef;\n}\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.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 Widget\n */\nimport * as React from \"react\";\nimport {\n ScrollableWidgetContent,\n TabIdContext,\n} from \"@itwin/appui-layout-react\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useTransientState } from \"./useTransientState\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\n\nfunction WidgetFallback() {\n const errorMessage = UiFramework.translate(\n \"widget.errorMessage.unknownError\"\n );\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState svg={<SvgError />} heading={errorMessage} />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n // istanbul ignore next\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n // istanbul ignore next\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n // istanbul ignore next\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n return (\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n\n const frontstage = useActiveFrontstageDef();\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (\n args.frontstageDef !== frontstage ||\n !frontstage ||\n frontstage.isStageClosing ||\n frontstage.isApplicationClosing\n )\n return;\n setWidgetDef(frontstage.findWidgetDef(tabId));\n }\n );\n }, [frontstage, tabId]);\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef;\n}\n"]}
@@ -55,7 +55,7 @@ const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageCompone
55
55
  /** @internal */
56
56
  function useLayoutStore() {
57
57
  const [def, setDef] = React.useState(UiFramework_1.UiFramework.frontstages.activeFrontstageDef);
58
- const [layout, setLayout] = React.useState(() => (0, appui_layout_react_1.createLayoutStore)(def === null || def === void 0 ? void 0 : def.nineZoneState));
58
+ const [layout, setLayout] = React.useState(() => (0, appui_layout_react_1.createLayoutStore)(def?.nineZoneState));
59
59
  React.useEffect(() => {
60
60
  return UiFramework_1.UiFramework.frontstages.onFrontstageActivatedEvent.addListener((args) => {
61
61
  (0, react_dom_1.unstable_batchedUpdates)(() => {
@@ -108,7 +108,7 @@ function FrameworkStateReducer(state, action, frontstageDef) {
108
108
  const panel = draft.panels[panelSide];
109
109
  const location = toStagePanelLocation(panelSide);
110
110
  const panelDef = frontstageDef.getStagePanelDef(location);
111
- if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
111
+ if (panelDef?.maxSizeSpec) {
112
112
  panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
113
113
  if (panel.size) {
114
114
  panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
@@ -216,7 +216,6 @@ function useLabels() {
216
216
  exports.useLabels = useLabels;
217
217
  /** @internal */
218
218
  function addWidgets(state, widgets, side, widgetId) {
219
- var _a;
220
219
  const visibleWidgets = widgets.filter((w) => w.isVisible && w.defaultState !== WidgetState_1.WidgetState.Floating);
221
220
  if (visibleWidgets.length === 0)
222
221
  return state;
@@ -231,14 +230,14 @@ function addWidgets(state, widgets, side, widgetId) {
231
230
  canPopout: widget.canPopout,
232
231
  isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
233
232
  hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
234
- allowedPanelTargets: (_a = widget.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
233
+ allowedPanelTargets: widget.allowedPanelTargets?.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
235
234
  });
236
235
  tabs.push(widget.id);
237
236
  }
238
237
  const activeWidget = visibleWidgets.find((widget) => widget.isActive);
239
238
  const minimized = false;
240
239
  // istanbul ignore else
241
- if ((activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.defaultState) !== WidgetState_1.WidgetState.Floating) {
240
+ if (activeWidget?.defaultState !== WidgetState_1.WidgetState.Floating) {
242
241
  state = (0, appui_layout_react_1.addPanelWidget)(state, side, widgetId, tabs, {
243
242
  activeTabId: activeWidget ? activeWidget.id : tabs[0],
244
243
  minimized,
@@ -250,7 +249,6 @@ exports.addWidgets = addWidgets;
250
249
  /** @internal */
251
250
  // istanbul ignore next
252
251
  function appendWidgets(state, widgetDefs, location, section) {
253
- var _a, _b;
254
252
  if (widgetDefs.length === 0)
255
253
  return state;
256
254
  const side = (0, StagePanelDef_1.toPanelSide)(location);
@@ -279,11 +277,11 @@ function appendWidgets(state, widgetDefs, location, section) {
279
277
  userSized,
280
278
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
281
279
  hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
282
- allowedPanelTargets: (_a = widgetDef.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((l) => (0, StagePanelDef_1.toPanelSide)(l)),
280
+ allowedPanelTargets: widgetDef.allowedPanelTargets?.map((l) => (0, StagePanelDef_1.toPanelSide)(l)),
283
281
  });
284
282
  if (widgetDef.isFloatingStateSupported &&
285
283
  widgetDef.defaultState === WidgetState_1.WidgetState.Floating) {
286
- const floatingContainerId = (_b = widgetDef.floatingContainerId) !== null && _b !== void 0 ? _b : (0, appui_layout_react_1.getUniqueId)();
284
+ const floatingContainerId = widgetDef.floatingContainerId ?? (0, appui_layout_react_1.getUniqueId)();
287
285
  const widgetContainerId = getWidgetId(location, section);
288
286
  const home = {
289
287
  side,
@@ -301,7 +299,7 @@ function appendWidgets(state, widgetDefs, location, section) {
301
299
  width: 300,
302
300
  ...tab.preferredFloatingWidgetSize,
303
301
  };
304
- const preferredPoint = preferredPosition !== null && preferredPosition !== void 0 ? preferredPosition : {
302
+ const preferredPoint = preferredPosition ?? {
305
303
  x: (state.size.width - size.width) / 2,
306
304
  y: (state.size.height - size.height) / 2,
307
305
  };
@@ -361,16 +359,23 @@ function processPopoutWidgets(initialState, frontstageDef) {
361
359
  * @internal
362
360
  */
363
361
  function addMissingWidgets(frontstageDef, initialState) {
364
- var _a, _b, _c, _d, _e, _f, _g, _h;
365
362
  let state = initialState;
366
- state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.Start);
367
- state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.End);
368
- state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.rightPanel) === null || _c === void 0 ? void 0 : _c.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.Start);
369
- state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.rightPanel) === null || _d === void 0 ? void 0 : _d.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.End);
370
- state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.topPanel) === null || _e === void 0 ? void 0 : _e.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.Start);
371
- state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.topPanel) === null || _f === void 0 ? void 0 : _f.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.End);
372
- state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.bottomPanel) === null || _g === void 0 ? void 0 : _g.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.Start);
373
- state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomPanel) === null || _h === void 0 ? void 0 : _h.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End).widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.End);
363
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
364
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.Start);
365
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
366
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Left, StagePanelSection_1.StagePanelSection.End);
367
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
368
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.Start);
369
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
370
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Right, StagePanelSection_1.StagePanelSection.End);
371
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
372
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.Start);
373
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
374
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Top, StagePanelSection_1.StagePanelSection.End);
375
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.Start)
376
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.Start);
377
+ state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection_1.StagePanelSection.End)
378
+ .widgetDefs, state), StagePanelLocation_1.StagePanelLocation.Bottom, StagePanelSection_1.StagePanelSection.End);
374
379
  return state;
375
380
  }
376
381
  exports.addMissingWidgets = addMissingWidgets;
@@ -447,8 +452,8 @@ exports.getWidgetId = getWidgetId;
447
452
  /** @internal */
448
453
  function getPanelSectionWidgets(frontstageDef, location, section) {
449
454
  const stagePanel = frontstageDef.getStagePanelDef(location);
450
- const panelSection = stagePanel === null || stagePanel === void 0 ? void 0 : stagePanel.getPanelSectionDef(section);
451
- return (panelSection === null || panelSection === void 0 ? void 0 : panelSection.widgetDefs) || [];
455
+ const panelSection = stagePanel?.getPanelSectionDef(section);
456
+ return panelSection?.widgetDefs || [];
452
457
  }
453
458
  exports.getPanelSectionWidgets = getPanelSectionWidgets;
454
459
  /** @internal */
@@ -476,15 +481,14 @@ function initializePanel(state, frontstageDef, location) {
476
481
  state = addPanelWidgets(state, frontstageDef, location);
477
482
  const panelDef = frontstageDef.getStagePanelDef(location);
478
483
  state = (0, immer_1.default)(state, (draft) => {
479
- var _a, _b, _c;
480
484
  const panel = draft.panels[panelSide];
481
- panel.minSize = (_a = panelDef === null || panelDef === void 0 ? void 0 : panelDef.minSize) !== null && _a !== void 0 ? _a : panel.minSize;
482
- panel.pinned = (_b = panelDef === null || panelDef === void 0 ? void 0 : panelDef.pinned) !== null && _b !== void 0 ? _b : panel.pinned;
483
- panel.resizable = (_c = panelDef === null || panelDef === void 0 ? void 0 : panelDef.resizable) !== null && _c !== void 0 ? _c : panel.resizable;
484
- if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
485
+ panel.minSize = panelDef?.minSize ?? panel.minSize;
486
+ panel.pinned = panelDef?.pinned ?? panel.pinned;
487
+ panel.resizable = panelDef?.resizable ?? panel.resizable;
488
+ if (panelDef?.maxSizeSpec) {
485
489
  panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
486
490
  }
487
- const size = panelDef === null || panelDef === void 0 ? void 0 : panelDef.size;
491
+ const size = panelDef?.size;
488
492
  panel.size =
489
493
  size === undefined
490
494
  ? size
@@ -520,7 +524,6 @@ function initializeNineZoneState(frontstageDef) {
520
524
  nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation_1.StagePanelLocation.Top);
521
525
  nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation_1.StagePanelLocation.Bottom);
522
526
  nineZone = (0, immer_1.default)(nineZone, (stateDraft) => {
523
- var _a, _b, _c, _d;
524
527
  for (const [, panel] of Object.entries(stateDraft.panels)) {
525
528
  const expanded = panel.widgets.find((widgetId) => stateDraft.widgets[widgetId].minimized === false);
526
529
  const firstWidget = panel.widgets.length > 0
@@ -531,10 +534,10 @@ function initializeNineZoneState(frontstageDef) {
531
534
  firstWidget.minimized = false;
532
535
  }
533
536
  }
534
- stateDraft.panels.left.collapsed = isPanelCollapsed((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.panelState);
535
- stateDraft.panels.right.collapsed = isPanelCollapsed((_b = frontstageDef.rightPanel) === null || _b === void 0 ? void 0 : _b.panelState);
536
- stateDraft.panels.top.collapsed = isPanelCollapsed((_c = frontstageDef.topPanel) === null || _c === void 0 ? void 0 : _c.panelState);
537
- stateDraft.panels.bottom.collapsed = isPanelCollapsed((_d = frontstageDef.bottomPanel) === null || _d === void 0 ? void 0 : _d.panelState);
537
+ stateDraft.panels.left.collapsed = isPanelCollapsed(frontstageDef.leftPanel?.panelState);
538
+ stateDraft.panels.right.collapsed = isPanelCollapsed(frontstageDef.rightPanel?.panelState);
539
+ stateDraft.panels.top.collapsed = isPanelCollapsed(frontstageDef.topPanel?.panelState);
540
+ stateDraft.panels.bottom.collapsed = isPanelCollapsed(frontstageDef.bottomPanel?.panelState);
538
541
  const toolSettingsWidgetDef = frontstageDef.toolSettings;
539
542
  if (toolSettingsWidgetDef) {
540
543
  const toolSettingsTab = stateDraft.tabs[appui_layout_react_1.toolSettingsTabId];
@@ -571,7 +574,6 @@ function restoreNineZoneState(frontstageDef, saved) {
571
574
  continue;
572
575
  }
573
576
  restored = (0, immer_1.default)(restored, (draft) => {
574
- var _a;
575
577
  draft.tabs[tab.id] = {
576
578
  ...tab,
577
579
  label: getWidgetLabel(widgetDef.label),
@@ -579,7 +581,7 @@ function restoreNineZoneState(frontstageDef, saved) {
579
581
  iconSpec: widgetDef.iconSpec,
580
582
  canPopout: widgetDef.canPopout,
581
583
  isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
582
- allowedPanelTargets: (_a = widgetDef.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
584
+ allowedPanelTargets: widgetDef.allowedPanelTargets?.map((location) => (0, StagePanelDef_1.toPanelSide)(location)),
583
585
  };
584
586
  });
585
587
  }
@@ -737,7 +739,6 @@ function addHiddenWidget(state, widgetDef) {
737
739
  }
738
740
  /** @internal */
739
741
  function setWidgetState(state, widgetDef, widgetState) {
740
- var _a, _b;
741
742
  if (widgetState === WidgetState_1.WidgetState.Hidden) {
742
743
  return hideWidget(state, widgetDef);
743
744
  }
@@ -749,7 +750,6 @@ function setWidgetState(state, widgetDef, widgetState) {
749
750
  location = (0, appui_layout_react_1.getTabLocation)(state, id);
750
751
  }
751
752
  return (0, immer_1.default)(state, (draft) => {
752
- var _a;
753
753
  (0, core_bentley_1.assert)(!!location);
754
754
  const widget = draft.widgets[location.widgetId];
755
755
  widget.minimized = false;
@@ -764,7 +764,7 @@ function setWidgetState(state, widgetDef, widgetState) {
764
764
  panel.collapsed = false;
765
765
  if (undefined === panel.size || 0 === panel.size) {
766
766
  // istanbul ignore next
767
- panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
767
+ panel.size = panel.minSize ?? 200;
768
768
  }
769
769
  }
770
770
  });
@@ -799,7 +799,7 @@ function setWidgetState(state, widgetDef, widgetState) {
799
799
  return state;
800
800
  // Widget is not floating.
801
801
  state = (0, appui_layout_react_1.removeTabFromWidget)(state, id);
802
- const bounds = (_b = (_a = widgetDef.tabLocation) === null || _a === void 0 ? void 0 : _a.floatingWidget) === null || _b === void 0 ? void 0 : _b.bounds;
802
+ const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;
803
803
  state = (0, appui_layout_react_1.addFloatingWidget)(state, (0, appui_layout_react_1.getUniqueId)(), [id], { bounds });
804
804
  }
805
805
  return state;
@@ -1069,11 +1069,10 @@ function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
1069
1069
  const defaultLabel = React.useMemo(() => UiFramework_1.UiFramework.translate("widget.labels.toolSettings"), []);
1070
1070
  React.useEffect(() => {
1071
1071
  const updateLabel = createListener(frontstageDef, () => {
1072
- var _a;
1073
1072
  const toolId = UiFramework_1.UiFramework.frontstages.activeToolId;
1074
1073
  (0, core_bentley_1.assert)(!!frontstageDef.nineZoneState);
1075
1074
  const label = useToolAsToolSettingsLabel
1076
- ? ((_a = core_frontend_1.IModelApp.tools.find(toolId)) === null || _a === void 0 ? void 0 : _a.flyover) || defaultLabel
1075
+ ? core_frontend_1.IModelApp.tools.find(toolId)?.flyover || defaultLabel
1077
1076
  : defaultLabel;
1078
1077
  frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, appui_layout_react_1.toolSettingsTabId, label);
1079
1078
  });