@itwin/appui-react 5.15.2 → 5.17.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 (111) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +0 -2
  3. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  4. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +9 -17
  5. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +19 -16
  8. package/lib/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawStore.d.ts +10 -0
  10. package/lib/appui-react/accudraw/AccuDrawStore.d.ts.map +1 -0
  11. package/lib/appui-react/accudraw/AccuDrawStore.js +11 -0
  12. package/lib/appui-react/accudraw/AccuDrawStore.js.map +1 -0
  13. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +1 -1
  14. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  15. package/lib/appui-react/accudraw/FrameworkAccuDraw.js +4 -1
  16. package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  17. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  18. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  19. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  20. package/lib/appui-react/content/ContentGroup.js +1 -1
  21. package/lib/appui-react/content/ContentGroup.js.map +1 -1
  22. package/lib/appui-react/content/FloatingViewportContent.js +1 -1
  23. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  24. package/lib/appui-react/content/split-pane/Pane.d.ts +1 -1
  25. package/lib/appui-react/content/split-pane/Pane.d.ts.map +1 -1
  26. package/lib/appui-react/content/split-pane/Pane.js.map +1 -1
  27. package/lib/appui-react/content/split-pane/SplitPane.js +1 -1
  28. package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
  29. package/lib/appui-react/core-icons.d.ts +8 -0
  30. package/lib/appui-react/core-icons.d.ts.map +1 -0
  31. package/lib/appui-react/core-icons.js +2 -0
  32. package/lib/appui-react/core-icons.js.map +1 -0
  33. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
  34. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  35. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -1
  36. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  37. package/lib/appui-react/dialog/UiDataProvidedDialog.js +2 -2
  38. package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  39. package/lib/appui-react/framework/FrameworkFrontstages.d.ts +5 -0
  40. package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  41. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  42. package/lib/appui-react/hooks/useLatestRef.d.ts +1 -1
  43. package/lib/appui-react/hooks/useLatestRef.d.ts.map +1 -1
  44. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  45. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +2 -3
  46. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  47. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  48. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  49. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  50. package/lib/appui-react/layout/StandardLayout.scss +0 -1
  51. package/lib/appui-react/layout/footer/tool-assistance/Instruction.scss +4 -0
  52. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  53. package/lib/appui-react/layout/widget/Tab.js +2 -2
  54. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  55. package/lib/appui-react/layout/widget/TabBar.js +1 -1
  56. package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
  57. package/lib/appui-react/layout/widget-panels/Grip.js +1 -1
  58. package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
  59. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  60. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  61. package/lib/appui-react/layout/widget-panels/useAnimatePanel.js +3 -3
  62. package/lib/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  63. package/lib/appui-react/messages/MessageRenderer.d.ts.map +1 -1
  64. package/lib/appui-react/messages/MessageRenderer.js +1 -1
  65. package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
  66. package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
  67. package/lib/appui-react/pickers/ListPicker.js +1 -1
  68. package/lib/appui-react/pickers/ListPicker.js.map +1 -1
  69. package/lib/appui-react/pickers/ListPicker.scss +10 -0
  70. package/lib/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  71. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +1 -1
  72. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  73. package/lib/appui-react/statusbar/popup/Popup.js +1 -1
  74. package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
  75. package/lib/appui-react/statusbar/popup/StatusBarPopover.js +1 -1
  76. package/lib/appui-react/statusbar/popup/StatusBarPopover.js.map +1 -1
  77. package/lib/appui-react/statusfields/SnapMode.js +1 -1
  78. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  79. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -0
  80. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  81. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +1 -1
  82. package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  83. package/lib/appui-react/syncui/SyncUiEventDispatcher.js +6 -1
  84. package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  85. package/lib/appui-react/syncui/UiSyncEvent.d.ts +5 -1
  86. package/lib/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  87. package/lib/appui-react/syncui/UiSyncEvent.js +5 -1
  88. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  89. package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
  90. package/lib/appui-react/toolbar/new-toolbars/useOverflow.js +2 -2
  91. package/lib/appui-react/toolbar/new-toolbars/useOverflow.js.map +1 -1
  92. package/lib/appui-react/tools/FrameworkToolAdmin.js +10 -2
  93. package/lib/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  94. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  95. package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  96. package/lib/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  97. package/lib/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  98. package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  99. package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
  100. package/lib/appui-react.d.ts +1 -0
  101. package/lib/appui-react.d.ts.map +1 -1
  102. package/lib/appui-react.js.map +1 -1
  103. package/lib/cjs/appui-react/layout/StandardLayout.scss +0 -1
  104. package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.scss +4 -0
  105. package/lib/cjs/appui-react/pickers/ListPicker.scss +10 -0
  106. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +1 -1
  107. package/lib/esm/appui-react/layout/StandardLayout.scss +0 -1
  108. package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.scss +4 -0
  109. package/lib/esm/appui-react/pickers/ListPicker.scss +10 -0
  110. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +1 -1
  111. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAMzB,MAAM,CAAC,gBAAgB,CAAC,MAAc;QAC3C,qBAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,+DAA+D;IACxD,MAAM,KAAK,YAAY;QAC5B,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,YAAY,CAAC;IAC/D,CAAC;IAED,oEAAoE;IACpE,4DAA4D;IACrD,MAAM,KAAK,aAAa;QAC7B,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,aAAa,CAAC;IAChE,CAAC;IAED,iDAAiD;IAC1C,MAAM,CAAC,4BAA4B,CAAC,OAAe;QACxD,qBAAqB,CAAC,kBAAkB,CAAC,4BAA4B,CACnE,OAAO,CACR,CAAC;IACJ,CAAC;IAED,0CAA0C;IACnC,MAAM,CAAC,mBAAmB,CAAC,OAAe;QAC/C,IAAI,CAAC,KAAK,qBAAqB,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,EACnD,6DAA6D,CAC9D,CAAC;YACF,OAAO;QACT,CAAC;QACD,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,oBAAoB,CAAC,QAAkB;QACnD,IAAI,CAAC,KAAK,qBAAqB,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,EACnD,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,qBAAqB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,kFAAkF;IAC3E,MAAM,CAAC,kBAAkB,CAC9B,QAAqB,EACrB,aAAuB;QAEvB,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,QAAQ,EACR,aAAa,CACd,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB;QAChC,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,gBAAgB,CAC/B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,+BAA+B;QAC5C,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,uBAAuB,CACtC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,4BAA4B;QACzC,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,mBAAmB,CAClC,CAAC;IACJ,CAAC;IAED,gFAAgF;IACzE,MAAM,CAAC,UAAU;QACtB,0FAA0F;QAC1F,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,gBAAgB,CAAC,IAAI;QACxB,4DAA4D;QAC5D,WAAW,CAAC,WAAW,CAAC,8BAA8B,CAAC,WAAW,CAAC,GAAG,EAAE;YACtE,qBAAqB,CAAC,mBAAmB;YACvC,4DAA4D;YAC5D,aAAa,CAAC,uBAAuB,CACtC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,sBAAsB,CACrC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,0BAA0B,CAAC,WAAW,CAAC,GAAG,EAAE;YAClE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,oBAAoB,CACnC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,EAAE;YAC9D,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,eAAe,CAC9B,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,sBAAsB,CACrC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,EAAE;YACrE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,sBAAsB,CACrC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE;YAC5D,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,aAAa,CAC5B,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,GAAG,EAAE;YACjE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,kBAAkB,CACjC,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE;YAC/C,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,cAAc,CAC7B,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CAAC,OAAO,CAAC,2BAA2B,CAAC,WAAW,CAAC,GAAG,EAAE;YAC/D,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,oBAAoB,CACnC,CAAC;QACJ,CAAC,CAAC,EACF,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnE,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,qBAAqB,CACpC,CAAC;YAEF,2FAA2F;YAC3F,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,KAAK,SAAS,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CACxC,qBAAqB,CAAC,mBAAmB,CAC1C,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,cAAc,CACpD,qBAAqB,CAAC,+BAA+B,CACtD,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,cAAc,CAChD,qBAAqB,CAAC,4BAA4B,CACnD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CACpC,qBAAqB,CAAC,mBAAmB,CAC1C,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAChD,qBAAqB,CAAC,+BAA+B,CACtD,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAC5C,qBAAqB,CAAC,4BAA4B,CACnD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,qFAAqF;IAC9E,MAAM,CAAC,qBAAqB,CAAC,gBAAkC;QACpE,IAAI,IAAI,CAAC,iBAAiB,KAAK,gBAAgB;YAAE,OAAO;QACxD,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,0FAA0F;IACnF,MAAM,CAAC,0BAA0B,CAAC,gBAAkC;QACzE,IAAI,CAAC,iBAAiB;YACpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAE1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAClC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE;YACvD,qBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,CAC1D,aAAa,CAAC,mBAAmB,CAClC,CAAC;QACJ,CAAC,CAAC,EACF,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;AApMc,wCAAkB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AACzD,sCAAgB,GAAG,IAAI,KAAK,EAAc,CAAC;AAC3C,gDAA0B,GAAG,IAAI,KAAK,EAAc,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SyncUi\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SyncUiEventId, type UiSyncEvent } from \"./UiSyncEvent.js\";\nimport { InternalSyncUiEventDispatcher } from \"./InternalSyncUiEventDispatcher.js\";\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new InternalSyncUiEventDispatcher();\n private static _unregisterFuncs = new Array<() => void>();\n private static _connectionUnregisterFuncs = new Array<() => void>();\n private static _iModelConnection?: IModelConnection;\n\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n private static _dispatchViewedModelsChanged() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewedModelsChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterFuncs.forEach((unregister) => unregister());\n this._unregisterFuncs = [];\n\n this._unregisterFuncs.push(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n SyncUiEventId.ContentControlActivated\n );\n }),\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n }),\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n }),\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n }),\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n }),\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n }),\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n }),\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n }),\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n }),\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n }),\n IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.previous.onViewedModelsChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n if (args.current) {\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.current.onViewedModelsChanged.addListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n })\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n if (this._iModelConnection !== iModelConnection) return;\n this._connectionUnregisterFuncs.forEach((unregister) => unregister());\n this._connectionUnregisterFuncs = [];\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n this._iModelConnection &&\n this.clearConnectionEvents(this._iModelConnection);\n this._iModelConnection = iModelConnection;\n\n this._connectionUnregisterFuncs.push(\n iModelConnection.selectionSet.onChanged.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }),\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.setNumItemsSelected(numSelected);\n })\n );\n }\n}\n"]}
1
+ {"version":3,"file":"SyncUiEventDispatcher.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/SyncUiEventDispatcher.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 SyncUi\n */\n\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport {\n SyncUiEventId,\n SyncUiInternalEventId,\n type UiSyncEvent,\n} from \"./UiSyncEvent.js\";\nimport { InternalSyncUiEventDispatcher } from \"./InternalSyncUiEventDispatcher.js\";\nimport { useAccuDrawStore } from \"../accudraw/AccuDrawStore.js\";\n\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\n * to refresh its display by calling setState on itself.\n * @public\n */\nexport class SyncUiEventDispatcher {\n private static _uiEventDispatcher = new InternalSyncUiEventDispatcher();\n private static _unregisterFuncs = new Array<() => void>();\n private static _connectionUnregisterFuncs = new Array<() => void>();\n private static _iModelConnection?: IModelConnection;\n\n public static setTimeoutPeriod(period: number): void {\n SyncUiEventDispatcher._uiEventDispatcher.setTimeoutPeriod(period);\n }\n\n /** Return set of event ids that will be sent to listeners/. */\n public static get syncEventIds(): Set<string> {\n return SyncUiEventDispatcher._uiEventDispatcher.syncEventIds;\n }\n\n /** Return SyncUiEvent so callers can register an event callback. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get onSyncUiEvent(): UiSyncEvent {\n return SyncUiEventDispatcher._uiEventDispatcher.onSyncUiEvent;\n }\n\n /** Immediately trigger sync event processing. */\n public static dispatchImmediateSyncUiEvent(eventId: string): void {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchImmediateSyncUiEvent(\n eventId\n );\n }\n\n /** Save eventId in Set for processing. */\n public static dispatchSyncUiEvent(eventId: string): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvent] not processed because timeoutPeriod=0`\n );\n return;\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(eventId);\n }\n\n /** Save multiple eventIds in Set for processing. */\n public static dispatchSyncUiEvents(eventIds: string[]): void {\n if (0 === SyncUiEventDispatcher._uiEventDispatcher.timeoutPeriod) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"SyncUiEventDispatcher\"),\n `[dispatchSyncUiEvents] not processed because _timeoutPeriod=0`\n );\n }\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvents(eventIds);\n }\n\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\n public static hasEventOfInterest(\n eventIds: Set<string>,\n idsOfInterest: string[]\n ) {\n return SyncUiEventDispatcher._uiEventDispatcher.hasEventOfInterest(\n eventIds,\n idsOfInterest\n );\n }\n\n private static _dispatchViewChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewStateChanged\n );\n }\n\n private static _dispatchFeatureOverridesChange() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FeatureOverridesChanged\n );\n }\n\n private static _dispatchViewedModelsChanged() {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ViewedModelsChanged\n );\n }\n\n /** Initializes the Monitoring of Events that trigger dispatching sync events */\n public static initialize() {\n // clear any registered listeners - this should only be encountered in unit test scenarios\n this._unregisterFuncs.forEach((unregister) => unregister());\n this._unregisterFuncs = [];\n\n this._unregisterFuncs.push(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n UiFramework.frontstages.onContentControlActivatedEvent.addListener(() => {\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n SyncUiEventId.ContentControlActivated\n );\n }),\n UiFramework.frontstages.onContentLayoutActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ContentLayoutActivated\n );\n }),\n UiFramework.frontstages.onFrontstageActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageActivating\n );\n }),\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.FrontstageReady\n );\n }),\n UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ModalFrontstageChanged\n );\n }),\n UiFramework.frontstages.onNavigationAidActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.NavigationAidActivated\n );\n }),\n UiFramework.frontstages.onToolActivatedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ToolActivated\n );\n }),\n UiFramework.frontstages.onWidgetStateChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.WidgetStateChanged\n );\n }),\n UiFramework.backstage.onToggled.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.BackstageEvent\n );\n }),\n UiFramework.content.onActiveContentChangedEvent.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveContentChanged\n );\n }),\n IModelApp.viewManager.onSelectedViewportChanged.addListener((args) => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.ActiveViewportChanged\n );\n\n // if this is the first view being opened up start the default tool so tool admin is happy.\n if (undefined === args.previous) {\n void IModelApp.toolAdmin.startDefaultTool();\n } else {\n args.previous.onViewChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.previous.onFeatureOverridesChanged.removeListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.previous.onViewedModelsChanged.removeListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n if (args.current) {\n args.current.onViewChanged.addListener(\n SyncUiEventDispatcher._dispatchViewChange\n );\n args.current.onFeatureOverridesChanged.addListener(\n SyncUiEventDispatcher._dispatchFeatureOverridesChange\n );\n args.current.onViewedModelsChanged.addListener(\n SyncUiEventDispatcher._dispatchViewedModelsChanged\n );\n }\n }),\n useAccuDrawStore.subscribe((state, prev) => {\n if (state.is3d === prev.is3d) return;\n SyncUiEventDispatcher.dispatchSyncUiEvent(\n SyncUiInternalEventId.AccuDrawViewIs3dChanged\n );\n })\n );\n }\n\n /** This should be called by IModelApp when the active IModelConnection is closed. */\n public static clearConnectionEvents(iModelConnection: IModelConnection) {\n if (this._iModelConnection !== iModelConnection) return;\n this._connectionUnregisterFuncs.forEach((unregister) => unregister());\n this._connectionUnregisterFuncs = [];\n }\n\n /** This should be called by IModelApp when the active IModelConnection is established. */\n public static initializeConnectionEvents(iModelConnection: IModelConnection) {\n this._iModelConnection &&\n this.clearConnectionEvents(this._iModelConnection);\n this._iModelConnection = iModelConnection;\n\n this._connectionUnregisterFuncs.push(\n iModelConnection.selectionSet.onChanged.addListener(() => {\n SyncUiEventDispatcher._uiEventDispatcher.dispatchSyncUiEvent(\n SyncUiEventId.SelectionSetChanged\n );\n }),\n iModelConnection.selectionSet.onChanged.addListener((ev) => {\n const numSelected = ev.set.elements.size;\n UiFramework.setNumItemsSelected(numSelected);\n })\n );\n }\n}\n"]}
@@ -29,7 +29,7 @@ export declare enum SyncUiEventId {
29
29
  ActiveViewportChanged = "activeviewportchanged",
30
30
  /** Backstage has been toggled. */
31
31
  BackstageEvent = "backstageevent",
32
- /** A Content Layout has been activated. */
32
+ /** A Content Layout has been activated. */
33
33
  ContentLayoutActivated = "contentlayoutactivated",
34
34
  /** A Content Control maintained by UiFramework.frontstages has been activated.
35
35
  * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.
@@ -62,4 +62,8 @@ export declare enum SyncUiEventId {
62
62
  FeatureOverridesChanged = "featureoverrideschanged",
63
63
  ViewedModelsChanged = "viewedmodelschanged"
64
64
  }
65
+ /** @internal */
66
+ export declare const SyncUiInternalEventId: {
67
+ readonly AccuDrawViewIs3dChanged: "accudraw-view-is3d-changed";
68
+ };
65
69
  //# sourceMappingURL=UiSyncEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiSyncEvent.d.ts","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;GAGG;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,eAAe,CAAC;CAAG;AAE9D;;GAEG;AACH,oBAAY,aAAa;IACvB,yCAAyC;IACzC,0BAA0B,+BAA+B;IACzD,qCAAqC;IACrC,uBAAuB,4BAA4B;IACnD,8EAA8E;IAC9E,oBAAoB,yBAAyB;IAC7C,iEAAiE;IACjE,qBAAqB,0BAA0B;IAC/C,kCAAkC;IAClC,cAAc,mBAAmB;IACjC,4CAA4C;IAC5C,sBAAsB,2BAA2B;IACjD;;OAEG;IACH,uBAAuB,4BAA4B;IACnD,kCAAkC;IAClC,oBAAoB,yBAAyB;IAC7C,yEAAyE;IACzE,eAAe,oBAAoB;IACnC,oDAAoD;IACpD,sBAAsB,2BAA2B;IACjD,gDAAgD;IAChD,kBAAkB,uBAAuB;IACzC,0CAA0C;IAC1C,sBAAsB,2BAA2B;IACjD,+DAA+D;IAC/D,aAAa,kBAAkB;IAC/B,yCAAyC;IACzC,kBAAkB,uBAAuB;IACzC,oEAAoE;IACpE,mBAAmB,wBAAwB;IAC3C,kFAAkF;IAClF,wBAAwB,6BAA6B;IACrD,mFAAmF;IACnF,gBAAgB,qBAAqB;IACrC,mEAAmE;IACnE,qBAAqB,0BAA0B;IAC/C,4BAA4B,6BAA6B;IACzD,6DAA6D;IAC7D,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;CAC5C"}
1
+ {"version":3,"file":"UiSyncEvent.d.ts","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;GAGG;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,eAAe,CAAC;CAAG;AAE9D;;GAEG;AACH,oBAAY,aAAa;IACvB,yCAAyC;IACzC,0BAA0B,+BAA+B;IACzD,qCAAqC;IACrC,uBAAuB,4BAA4B;IACnD,8EAA8E;IAC9E,oBAAoB,yBAAyB;IAC7C,iEAAiE;IACjE,qBAAqB,0BAA0B;IAC/C,kCAAkC;IAClC,cAAc,mBAAmB;IACjC,2CAA2C;IAC3C,sBAAsB,2BAA2B;IACjD;;OAEG;IACH,uBAAuB,4BAA4B;IACnD,kCAAkC;IAClC,oBAAoB,yBAAyB;IAC7C,yEAAyE;IACzE,eAAe,oBAAoB;IACnC,oDAAoD;IACpD,sBAAsB,2BAA2B;IACjD,gDAAgD;IAChD,kBAAkB,uBAAuB;IACzC,0CAA0C;IAC1C,sBAAsB,2BAA2B;IACjD,+DAA+D;IAC/D,aAAa,kBAAkB;IAC/B,yCAAyC;IACzC,kBAAkB,uBAAuB;IACzC,oEAAoE;IACpE,mBAAmB,wBAAwB;IAC3C,kFAAkF;IAClF,wBAAwB,6BAA6B;IACrD,mFAAmF;IACnF,gBAAgB,qBAAqB;IACrC,mEAAmE;IACnE,qBAAqB,0BAA0B;IAC/C,4BAA4B,6BAA6B;IACzD,6DAA6D;IAC7D,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;CAC5C;AAED,gBAAgB;AAChB,eAAO,MAAM,qBAAqB;;CAExB,CAAC"}
@@ -28,7 +28,7 @@ export var SyncUiEventId;
28
28
  SyncUiEventId["ActiveViewportChanged"] = "activeviewportchanged";
29
29
  /** Backstage has been toggled. */
30
30
  SyncUiEventId["BackstageEvent"] = "backstageevent";
31
- /** A Content Layout has been activated. */
31
+ /** A Content Layout has been activated. */
32
32
  SyncUiEventId["ContentLayoutActivated"] = "contentlayoutactivated";
33
33
  /** A Content Control maintained by UiFramework.frontstages has been activated.
34
34
  * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.
@@ -61,4 +61,8 @@ export var SyncUiEventId;
61
61
  SyncUiEventId["FeatureOverridesChanged"] = "featureoverrideschanged";
62
62
  SyncUiEventId["ViewedModelsChanged"] = "viewedmodelschanged";
63
63
  })(SyncUiEventId || (SyncUiEventId = {}));
64
+ /** @internal */
65
+ export const SyncUiInternalEventId = {
66
+ AccuDrawViewIs3dChanged: "accudraw-view-is3d-changed",
67
+ };
64
68
  //# sourceMappingURL=UiSyncEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiSyncEvent.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUhD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,WAAY,SAAQ,SAA0B;CAAG;AAE9D;;GAEG;AACH,MAAM,CAAN,IAAY,aA2CX;AA3CD,WAAY,aAAa;IACvB,yCAAyC;IACzC,0EAAyD,CAAA;IACzD,qCAAqC;IACrC,oEAAmD,CAAA;IACnD,8EAA8E;IAC9E,8DAA6C,CAAA;IAC7C,iEAAiE;IACjE,gEAA+C,CAAA;IAC/C,kCAAkC;IAClC,kDAAiC,CAAA;IACjC,4CAA4C;IAC5C,kEAAiD,CAAA;IACjD;;OAEG;IACH,oEAAmD,CAAA;IACnD,kCAAkC;IAClC,8DAA6C,CAAA;IAC7C,yEAAyE;IACzE,oDAAmC,CAAA;IACnC,oDAAoD;IACpD,kEAAiD,CAAA;IACjD,gDAAgD;IAChD,0DAAyC,CAAA;IACzC,0CAA0C;IAC1C,kEAAiD,CAAA;IACjD,+DAA+D;IAC/D,gDAA+B,CAAA;IAC/B,yCAAyC;IACzC,0DAAyC,CAAA;IACzC,oEAAoE;IACpE,4DAA2C,CAAA;IAC3C,kFAAkF;IAClF,sEAAqD,CAAA;IACrD,mFAAmF;IACnF,sDAAqC,CAAA;IACrC,mEAAmE;IACnE,gEAA+C,CAAA;IAC/C,0EAAyD,CAAA;IACzD,6DAA6D;IAC7D,oEAAmD,CAAA;IACnD,4DAA2C,CAAA;AAC7C,CAAC,EA3CW,aAAa,KAAb,aAAa,QA2CxB","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 SyncUi\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** UiSync Event arguments. Contains a set of lower case event Ids.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface UiSyncEventArgs {\n eventIds: Set<string>;\n}\n\n/** UiSync Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class UiSyncEvent extends BeUiEvent<UiSyncEventArgs> {}\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated.\n * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.\n */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n ViewedModelsChanged = \"viewedmodelschanged\",\n}\n"]}
1
+ {"version":3,"file":"UiSyncEvent.js","sourceRoot":"","sources":["../../../src/appui-react/syncui/UiSyncEvent.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUhD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,WAAY,SAAQ,SAA0B;CAAG;AAE9D;;GAEG;AACH,MAAM,CAAN,IAAY,aA2CX;AA3CD,WAAY,aAAa;IACvB,yCAAyC;IACzC,0EAAyD,CAAA;IACzD,qCAAqC;IACrC,oEAAmD,CAAA;IACnD,8EAA8E;IAC9E,8DAA6C,CAAA;IAC7C,iEAAiE;IACjE,gEAA+C,CAAA;IAC/C,kCAAkC;IAClC,kDAAiC,CAAA;IACjC,2CAA2C;IAC3C,kEAAiD,CAAA;IACjD;;OAEG;IACH,oEAAmD,CAAA;IACnD,kCAAkC;IAClC,8DAA6C,CAAA;IAC7C,yEAAyE;IACzE,oDAAmC,CAAA;IACnC,oDAAoD;IACpD,kEAAiD,CAAA;IACjD,gDAAgD;IAChD,0DAAyC,CAAA;IACzC,0CAA0C;IAC1C,kEAAiD,CAAA;IACjD,+DAA+D;IAC/D,gDAA+B,CAAA;IAC/B,yCAAyC;IACzC,0DAAyC,CAAA;IACzC,oEAAoE;IACpE,4DAA2C,CAAA;IAC3C,kFAAkF;IAClF,sEAAqD,CAAA;IACrD,mFAAmF;IACnF,sDAAqC,CAAA;IACrC,mEAAmE;IACnE,gEAA+C,CAAA;IAC/C,0EAAyD,CAAA;IACzD,6DAA6D;IAC7D,oEAAmD,CAAA;IACnD,4DAA2C,CAAA;AAC7C,CAAC,EA3CW,aAAa,KAAb,aAAa,QA2CxB;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,uBAAuB,EAAE,4BAA4B;CAC7C,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SyncUi\n */\n\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** UiSync Event arguments. Contains a set of lower case event Ids.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface UiSyncEventArgs {\n eventIds: Set<string>;\n}\n\n/** UiSync Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class UiSyncEvent extends BeUiEvent<UiSyncEventArgs> {}\n\n/** Event Id used to sync UI components. Used to refresh visibility or enable state of control.\n * @public\n */\nexport enum SyncUiEventId {\n /** AccuDraw compass mode has changed. */\n AccuDrawCompassModeChanged = \"accudrawcompassmodechanged\",\n /** AccuDraw rotation has changed. */\n AccuDrawRotationChanged = \"accudrawrotationchanged\",\n /** The active content as maintained by the ContentViewManager has changed. */\n ActiveContentChanged = \"activecontentchanged\",\n /** The active view maintained by the ViewManager has changed. */\n ActiveViewportChanged = \"activeviewportchanged\",\n /** Backstage has been toggled. */\n BackstageEvent = \"backstageevent\",\n /** A Content Layout has been activated. */\n ContentLayoutActivated = \"contentlayoutactivated\",\n /** A Content Control maintained by UiFramework.frontstages has been activated.\n * @deprecated in 4.16.0. Use {@link SyncUiEventId.ActiveContentChanged} instead.\n */\n ContentControlActivated = \"contentcontrolactivated\",\n /** A Frontstage is activating. */\n FrontstageActivating = \"frontstageactivating\",\n /** A Frontstage has been activated and the content has been assigned. */\n FrontstageReady = \"frontstageready\",\n /** A Modal Frontstage has been opened or closed. */\n ModalFrontstageChanged = \"modalfrontstagechanged\",\n /** A Modal Dialog has been opened or closed. */\n ModalDialogChanged = \"modaldialogchanged\",\n /** A NavigationAid has been activated. */\n NavigationAidActivated = \"navigationaidactivated\",\n /** An InteractiveTool has been activated via the ToolAdmin. */\n ToolActivated = \"toolactivated\",\n /** The state of a Widget has changed. */\n WidgetStateChanged = \"widgetstatechanged\",\n /** The SelectionSet for the active IModelConnection has changed. */\n SelectionSetChanged = \"selectionsetchanged\",\n /** The list of settings providers registered with SettingsManager has changed. */\n SettingsProvidersChanged = \"settingsproviderschanged\",\n /** The current view state has changed (used by view undo/redo toolbar buttons). */\n ViewStateChanged = \"viewstatechanged\",\n /** The current object the reads and write UI State has changed. */\n UiStateStorageChanged = \"uistatestoragechanged\",\n ShowHideManagerSettingChange = \"show-hide-setting-change\",\n /** The list of feature overrides applied has been changed */\n FeatureOverridesChanged = \"featureoverrideschanged\",\n ViewedModelsChanged = \"viewedmodelschanged\",\n}\n\n/** @internal */\nexport const SyncUiInternalEventId = {\n AccuDrawViewIs3dChanged: \"accudraw-view-is3d-changed\",\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/ToolGroup.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 Toolbar\n */\n\nimport \"./ToolGroup.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { OverflowButton } from \"./OverflowButton.js\";\nimport { useOverflow } from \"./useOverflow.js\";\nimport { getChildKey } from \"../../layout/tool-settings/Docked.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\nimport { Surface } from \"./Surface.js\";\nimport { useSafeContext } from \"../../hooks/useSafeContext.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ninterface ToolGroupProps extends CommonProps {\n children?: React.ReactNode;\n}\n\ntype Child = ReturnType<typeof React.Children.toArray>[0];\n\n/** @internal */\nexport function ToolGroup({ children, className, ...props }: ToolGroupProps) {\n const { panelAlignment, orientation } = useSafeContext(ToolbarContext);\n const childrenArray = React.Children.toArray(children);\n\n const keyToChildMap = childrenArray.reduce<Map<string, Child>>(\n (acc, child, index) => {\n const childKey = getChildKey(child, index);\n acc.set(childKey, child);\n return acc;\n },\n new Map()\n );\n const childrenKeys = Array.from(keyToChildMap.keys());\n const itemRefs = React.useRef<Map<string, Element>>(new Map());\n const overflowRef = React.useRef<HTMLButtonElement>(null);\n\n const getItemSize = React.useCallback((item: string) => {\n const element = itemRefs.current.get(item);\n if (!element) return { width: 0, height: 0 };\n\n const elementSize = element.getBoundingClientRect();\n\n const separatorSize = getSeparatorSize(element);\n if (!separatorSize) return elementSize;\n\n return {\n width: elementSize.width + separatorSize.width,\n height: elementSize.height + separatorSize.height,\n };\n }, []);\n const getOverflowSize = React.useCallback(() => {\n const element = overflowRef.current;\n if (!element) return { width: 0, height: 0 };\n return element.getBoundingClientRect();\n }, []);\n\n const [containerRef, componentRef, visibleCount, renderOverflow] =\n useOverflow(childrenKeys, orientation, getItemSize, getOverflowSize);\n\n const keyToChildEntries = Array.from(keyToChildMap.entries());\n const visibleChildren = keyToChildEntries.slice(0, visibleCount);\n const overflown = keyToChildEntries.slice(visibleCount);\n return (\n <div\n className={classnames(\n \"uifw-toolbar-group-toolGroup_container\",\n `uifw-${orientation}`,\n `uifw-${panelAlignment}`,\n className\n )}\n ref={containerRef}\n >\n <Surface orientation={orientation} ref={componentRef} {...props}>\n {visibleChildren.map(([item, child]) => {\n if (!React.isValidElement<{ ref: React.Ref<Element> }>(child))\n return child;\n return React.cloneElement(child, {\n ref: (el: Element | null) => {\n if (!el) {\n itemRefs.current.delete(item);\n return;\n }\n itemRefs.current.set(item, el);\n },\n });\n })}\n {renderOverflow && (\n <OverflowButton ref={overflowRef}>\n {overflown.map(([_, child]) => child)}\n </OverflowButton>\n )}\n </Surface>\n </div>\n );\n}\n\n// First item in the group reserves space for the separator to correctly calculate the overflow.\nfunction getSeparatorSize(toolbarItem: Element) {\n const firstInGroup = isFirstInGroup(toolbarItem);\n if (!firstInGroup) return undefined;\n\n // Last group does not have a separator.\n if (isLastGroup(toolbarItem)) return undefined;\n\n const separator = getSeparator(toolbarItem);\n if (!separator) return undefined;\n\n return separator.getBoundingClientRect();\n}\n\n// Returns if the toolbar item is the first in its group.\nfunction isFirstInGroup(toolbarItem: Element) {\n const prev = toolbarItem.previousElementSibling;\n if (prev?.tagName === \"BUTTON\") return false;\n return true;\n}\n\n// Returns if the toolbar item is in the last group of the toolbar.\nfunction isLastGroup(toolbarItem: Element) {\n let el = toolbarItem.nextElementSibling;\n while (el) {\n if (el.tagName === \"BUTTON\" && el.hasAttribute(\"data-item-id\")) {\n return false;\n }\n el = el.nextElementSibling;\n }\n return true;\n}\n\n// Returns the first separator element after the toolbar item, if it exists.\nfunction getSeparator(toolbarItem: Element) {\n let el = toolbarItem.nextElementSibling;\n while (el) {\n if (el.classList.contains(\"uifw-toolbar-newToolbars-separator\")) {\n return el;\n }\n el = el.nextElementSibling;\n }\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"ToolGroup.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/ToolGroup.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 Toolbar\n */\n\nimport \"./ToolGroup.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { OverflowButton } from \"./OverflowButton.js\";\nimport { useOverflow } from \"./useOverflow.js\";\nimport { getChildKey } from \"../../layout/tool-settings/Docked.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\nimport { Surface } from \"./Surface.js\";\nimport { useSafeContext } from \"../../hooks/useSafeContext.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\ninterface ToolGroupProps extends CommonProps {\n children?: React.ReactNode;\n}\n\ntype Child = ReturnType<typeof React.Children.toArray>[0];\n\n/** @internal */\nexport function ToolGroup({ children, className, ...props }: ToolGroupProps) {\n const { panelAlignment, orientation } = useSafeContext(ToolbarContext);\n const childrenArray = React.Children.toArray(children);\n\n const keyToChildMap = childrenArray.reduce<Map<string, Child>>(\n (acc, child, index) => {\n const childKey = getChildKey(child, index);\n acc.set(childKey, child);\n return acc;\n },\n new Map()\n );\n const childrenKeys = Array.from(keyToChildMap.keys());\n const itemRefs = React.useRef<Map<string, Element>>(new Map());\n const overflowRef = React.useRef<HTMLButtonElement>(null);\n\n const getItemSize = React.useCallback((item: string) => {\n const element = itemRefs.current.get(item);\n if (!element) return { width: 0, height: 0 };\n\n const elementSize = element.getBoundingClientRect();\n\n const separatorSize = getSeparatorSize(element);\n if (!separatorSize) return elementSize;\n\n return {\n width: elementSize.width + separatorSize.width,\n height: elementSize.height + separatorSize.height,\n };\n }, []);\n const getOverflowSize = React.useCallback(() => {\n const element = overflowRef.current;\n if (!element) return { width: 0, height: 0 };\n return element.getBoundingClientRect();\n }, []);\n\n const [containerRef, componentRef, visibleCount, renderOverflow] =\n useOverflow(childrenKeys, orientation, getItemSize, getOverflowSize);\n\n const keyToChildEntries = Array.from(keyToChildMap.entries());\n const visibleChildren = keyToChildEntries.slice(0, visibleCount);\n const overflown = keyToChildEntries.slice(visibleCount);\n return (\n <div\n className={classnames(\n \"uifw-toolbar-group-toolGroup_container\",\n `uifw-${orientation}`,\n `uifw-${panelAlignment}`,\n className\n )}\n ref={containerRef}\n >\n <Surface orientation={orientation} ref={componentRef} {...props}>\n {visibleChildren.map(([item, child]): React.ReactNode => {\n if (!React.isValidElement<{ ref: React.Ref<Element> }>(child))\n return child;\n return React.cloneElement(child, {\n ref: (el: Element | null) => {\n if (!el) {\n itemRefs.current.delete(item);\n return;\n }\n itemRefs.current.set(item, el);\n },\n });\n })}\n {renderOverflow && (\n <OverflowButton ref={overflowRef}>\n {overflown.map(([_, child]): Child => child)}\n </OverflowButton>\n )}\n </Surface>\n </div>\n );\n}\n\n// First item in the group reserves space for the separator to correctly calculate the overflow.\nfunction getSeparatorSize(toolbarItem: Element) {\n const firstInGroup = isFirstInGroup(toolbarItem);\n if (!firstInGroup) return undefined;\n\n // Last group does not have a separator.\n if (isLastGroup(toolbarItem)) return undefined;\n\n const separator = getSeparator(toolbarItem);\n if (!separator) return undefined;\n\n return separator.getBoundingClientRect();\n}\n\n// Returns if the toolbar item is the first in its group.\nfunction isFirstInGroup(toolbarItem: Element) {\n const prev = toolbarItem.previousElementSibling;\n if (prev?.tagName === \"BUTTON\") return false;\n return true;\n}\n\n// Returns if the toolbar item is in the last group of the toolbar.\nfunction isLastGroup(toolbarItem: Element) {\n let el = toolbarItem.nextElementSibling;\n while (el) {\n if (el.tagName === \"BUTTON\" && el.hasAttribute(\"data-item-id\")) {\n return false;\n }\n el = el.nextElementSibling;\n }\n return true;\n}\n\n// Returns the first separator element after the toolbar item, if it exists.\nfunction getSeparator(toolbarItem: Element) {\n let el = toolbarItem.nextElementSibling;\n while (el) {\n if (el.classList.contains(\"uifw-toolbar-newToolbars-separator\")) {\n return el;\n }\n el = el.nextElementSibling;\n }\n return undefined;\n}\n"]}
@@ -11,8 +11,8 @@ import { useResizeObserver } from "@itwin/core-react/internal";
11
11
  export const useOverflow = (allItems, orientation, getItemSize, getOverflowSize) => {
12
12
  const [visible, setVisible] = React.useState(allItems.length);
13
13
  const [calculate, setCalculate] = React.useState(false);
14
- const containerSizeRef = React.useRef();
15
- const componentSizeRef = React.useRef();
14
+ const containerSizeRef = React.useRef(undefined);
15
+ const componentSizeRef = React.useRef(undefined);
16
16
  const [prevOrientation, setPrevOrientation] = React.useState(orientation);
17
17
  if (prevOrientation !== orientation) {
18
18
  setPrevOrientation(orientation);
@@ -1 +1 @@
1
- {"version":3,"file":"useOverflow.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/useOverflow.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK/D,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG,CAIzB,QAA+B,EAC/B,WAAwB,EACxB,WAAwC,EACxC,eAAgC,EAChC,EAAE;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAa,CAAC;IACnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAa,CAAC;IAEnD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;QACpC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO;YAC5C,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO;QAExC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO;YAC5C,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO;QAExC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;YAC9B,eAAe;YACf,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YAClC,wBAAwB;YACxB,UAAU,CAAC,CAAC,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,SAAS,IAAI,IAAI,CAAC;YAClB,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,UAAU,EAAE,CAAC;QACf,CAAC;QACD,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,iBAAiB,CACtC,KAAK,CAAC,WAAW,CACf,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO;YACrC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,gBAAgB,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO;QACjC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CACF,CAAC;IACF,MAAM,cAAc,GAAG,iBAAiB,CACtC,KAAK,CAAC,WAAW,CACf,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO;YACrC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACd,gBAAgB,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO;QACjC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;IACxD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAC3E,CAAC,CAAC;AAEF,SAAS,SAAS,CAChB,IAAuC,EACvC,WAAwB;IAExB,OAAO,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACjE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport * as React from \"react\";\nimport { useResizeObserver } from \"@itwin/core-react/internal\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\n/** @internal */\nexport const useOverflow = <\n TContainer extends HTMLElement,\n TComponent extends HTMLElement\n>(\n allItems: ReadonlyArray<string>,\n orientation: Orientation,\n getItemSize: (item: string) => SizeProps,\n getOverflowSize: () => SizeProps\n) => {\n const [visible, setVisible] = React.useState(allItems.length);\n const [calculate, setCalculate] = React.useState(false);\n const containerSizeRef = React.useRef<SizeProps>();\n const componentSizeRef = React.useRef<SizeProps>();\n\n const [prevOrientation, setPrevOrientation] = React.useState(orientation);\n if (prevOrientation !== orientation) {\n setPrevOrientation(orientation);\n setCalculate(true);\n }\n\n React.useLayoutEffect(() => {\n if (!calculate) return;\n setCalculate(false);\n\n const containerSize = containerSizeRef.current\n ? getLength(containerSizeRef.current, orientation)\n : undefined;\n if (containerSize === undefined) return;\n\n const componentSize = componentSizeRef.current\n ? getLength(componentSizeRef.current, orientation)\n : undefined;\n if (componentSize === undefined) return;\n\n const itemSizes = allItems.map((item) => {\n const size = getItemSize(item);\n return getLength(size, orientation);\n });\n const overflowSize = getLength(getOverflowSize(), orientation);\n\n const otherSize = itemSizes.reduce((acc, size) => acc + size, 0);\n if (otherSize < containerSize) {\n // No overflow.\n setVisible(itemSizes.length);\n return;\n }\n\n if (overflowSize >= containerSize) {\n // Render only overflow.\n setVisible(0);\n return;\n }\n\n let totalSize = overflowSize;\n let newVisible = 0;\n for (const size of itemSizes) {\n totalSize += size;\n if (totalSize >= containerSize) {\n break;\n }\n newVisible++;\n }\n setVisible(newVisible);\n }, [calculate, allItems, getItemSize, getOverflowSize, orientation]);\n const containerRoRef = useResizeObserver<TContainer>(\n React.useCallback(\n (width: number, height: number) => {\n const length = containerSizeRef.current\n ? getLength(containerSizeRef.current, orientation)\n : undefined;\n containerSizeRef.current = { width, height };\n const newLength = getLength(containerSizeRef.current, orientation);\n\n if (newLength === length) return;\n setCalculate(true);\n },\n [orientation]\n )\n );\n const componentRoRef = useResizeObserver<TComponent>(\n React.useCallback(\n (width: number, height: number) => {\n const length = componentSizeRef.current\n ? getLength(componentSizeRef.current, orientation)\n : undefined;\n componentSizeRef.current = { width, height };\n const newLength = getLength(componentSizeRef.current, orientation);\n\n if (newLength === length) return;\n setCalculate(true);\n },\n [orientation]\n )\n );\n\n const overflow = calculate || visible < allItems.length;\n const visibleItems = calculate ? allItems.length : visible;\n return [containerRoRef, componentRoRef, visibleItems, overflow] as const;\n};\n\nfunction getLength(\n size: { width: number; height: number },\n orientation: Orientation\n) {\n return orientation === \"horizontal\" ? size.width : size.height;\n}\n"]}
1
+ {"version":3,"file":"useOverflow.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/useOverflow.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { useResizeObserver } from \"@itwin/core-react/internal\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\n/** @internal */\nexport const useOverflow = <\n TContainer extends HTMLElement,\n TComponent extends HTMLElement\n>(\n allItems: ReadonlyArray<string>,\n orientation: Orientation,\n getItemSize: (item: string) => SizeProps,\n getOverflowSize: () => SizeProps\n) => {\n const [visible, setVisible] = React.useState(allItems.length);\n const [calculate, setCalculate] = React.useState(false);\n const containerSizeRef = React.useRef<SizeProps | undefined>(undefined);\n const componentSizeRef = React.useRef<SizeProps | undefined>(undefined);\n\n const [prevOrientation, setPrevOrientation] = React.useState(orientation);\n if (prevOrientation !== orientation) {\n setPrevOrientation(orientation);\n setCalculate(true);\n }\n\n React.useLayoutEffect(() => {\n if (!calculate) return;\n setCalculate(false);\n\n const containerSize = containerSizeRef.current\n ? getLength(containerSizeRef.current, orientation)\n : undefined;\n if (containerSize === undefined) return;\n\n const componentSize = componentSizeRef.current\n ? getLength(componentSizeRef.current, orientation)\n : undefined;\n if (componentSize === undefined) return;\n\n const itemSizes = allItems.map((item) => {\n const size = getItemSize(item);\n return getLength(size, orientation);\n });\n const overflowSize = getLength(getOverflowSize(), orientation);\n\n const otherSize = itemSizes.reduce((acc, size) => acc + size, 0);\n if (otherSize < containerSize) {\n // No overflow.\n setVisible(itemSizes.length);\n return;\n }\n\n if (overflowSize >= containerSize) {\n // Render only overflow.\n setVisible(0);\n return;\n }\n\n let totalSize = overflowSize;\n let newVisible = 0;\n for (const size of itemSizes) {\n totalSize += size;\n if (totalSize >= containerSize) {\n break;\n }\n newVisible++;\n }\n setVisible(newVisible);\n }, [calculate, allItems, getItemSize, getOverflowSize, orientation]);\n const containerRoRef = useResizeObserver<TContainer>(\n React.useCallback(\n (width: number, height: number) => {\n const length = containerSizeRef.current\n ? getLength(containerSizeRef.current, orientation)\n : undefined;\n containerSizeRef.current = { width, height };\n const newLength = getLength(containerSizeRef.current, orientation);\n\n if (newLength === length) return;\n setCalculate(true);\n },\n [orientation]\n )\n );\n const componentRoRef = useResizeObserver<TComponent>(\n React.useCallback(\n (width: number, height: number) => {\n const length = componentSizeRef.current\n ? getLength(componentSizeRef.current, orientation)\n : undefined;\n componentSizeRef.current = { width, height };\n const newLength = getLength(componentSizeRef.current, orientation);\n\n if (newLength === length) return;\n setCalculate(true);\n },\n [orientation]\n )\n );\n\n const overflow = calculate || visible < allItems.length;\n const visibleItems = calculate ? allItems.length : visible;\n return [containerRoRef, componentRoRef, visibleItems, overflow] as const;\n};\n\nfunction getLength(\n size: { width: number; height: number },\n orientation: Orientation\n) {\n return orientation === \"horizontal\" ? size.width : size.height;\n}\n"]}
@@ -26,12 +26,20 @@ export class FrameworkToolAdmin extends ToolAdmin {
26
26
  return false;
27
27
  if (UiFramework.isContextMenuOpen)
28
28
  return false;
29
- if (!UiFramework.keyboardShortcuts.isFocusOnHome)
30
- return false;
31
29
  if (e.key === Key.Escape.valueOf())
32
30
  return false;
31
+ if (isElement(e.target) && isEditable(e.target))
32
+ return false;
33
33
  UiFramework.keyboardShortcuts.processKey(e.key, e.altKey, e.ctrlKey, e.shiftKey);
34
34
  return true;
35
35
  }
36
36
  }
37
+ function isElement(target) {
38
+ return target instanceof Element;
39
+ }
40
+ const editableTags = ["input", "textarea", "select"];
41
+ function isEditable(element) {
42
+ const tagName = element.tagName.toLowerCase();
43
+ return editableTags.includes(tagName);
44
+ }
37
45
  //# sourceMappingURL=FrameworkToolAdmin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkToolAdmin.js","sourceRoot":"","sources":["../../../src/appui-react/tools/FrameworkToolAdmin.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/B,KAAK,CAAC,kBAAkB,CACtC,CAAgB,EAChB,QAAiB;QAEjB,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,WAAW,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAC/D,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;YAAE,OAAO,KAAK,CAAC;QAEjD,WAAW,CAAC,iBAAiB,CAAC,UAAU,CACtC,CAAC,CAAC,GAAG,EACL,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,QAAQ,CACX,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { Key } from \"ts-key-enum\";\nimport { ToolAdmin } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** Subclass of `ToolAdmin` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * Enable processing of shortcut keys registered to\n * [[UiFramework.keyboardShortcuts]] when focus is set to Home.\n *\n * ```ts\n * await IModelApp.startup({\n * toolAdmin: new FrameworkToolAdmin()\n * });\n * ```\n * @public\n */\nexport class FrameworkToolAdmin extends ToolAdmin {\n public override async processShortcutKey(\n e: KeyboardEvent,\n wentDown: boolean\n ): Promise<boolean> {\n if (!wentDown) return false;\n if (UiFramework.isContextMenuOpen) return false;\n if (!UiFramework.keyboardShortcuts.isFocusOnHome) return false;\n if (e.key === Key.Escape.valueOf()) return false;\n\n UiFramework.keyboardShortcuts.processKey(\n e.key,\n e.altKey,\n e.ctrlKey,\n e.shiftKey\n );\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"FrameworkToolAdmin.js","sourceRoot":"","sources":["../../../src/appui-react/tools/FrameworkToolAdmin.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/B,KAAK,CAAC,kBAAkB,CACtC,CAAgB,EAChB,QAAiB;QAEjB,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,WAAW,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;YAAE,OAAO,KAAK,CAAC;QACjD,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9D,WAAW,CAAC,iBAAiB,CAAC,UAAU,CACtC,CAAC,CAAC,GAAG,EACL,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,QAAQ,CACX,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,SAAS,SAAS,CAAC,MAA0B;IAC3C,OAAO,MAAM,YAAY,OAAO,CAAC;AACnC,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrD,SAAS,UAAU,CAAC,OAAgB;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { Key } from \"ts-key-enum\";\nimport { ToolAdmin } from \"@itwin/core-frontend\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** Subclass of `ToolAdmin` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * Enable processing of shortcut keys registered to\n * [[UiFramework.keyboardShortcuts]] when focus is set to Home.\n *\n * ```ts\n * await IModelApp.startup({\n * toolAdmin: new FrameworkToolAdmin()\n * });\n * ```\n * @public\n */\nexport class FrameworkToolAdmin extends ToolAdmin {\n public override async processShortcutKey(\n e: KeyboardEvent,\n wentDown: boolean\n ): Promise<boolean> {\n if (!wentDown) return false;\n if (UiFramework.isContextMenuOpen) return false;\n if (e.key === Key.Escape.valueOf()) return false;\n if (isElement(e.target) && isEditable(e.target)) return false;\n\n UiFramework.keyboardShortcuts.processKey(\n e.key,\n e.altKey,\n e.ctrlKey,\n e.shiftKey\n );\n return true;\n }\n}\n\nfunction isElement(target: EventTarget | null): target is Element {\n return target instanceof Element;\n}\n\nconst editableTags = [\"input\", \"textarea\", \"select\"];\nfunction isEditable(element: Element) {\n const tagName = element.tagName.toLowerCase();\n return editableTags.includes(tagName);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.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 UiProvider\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { BadgeType, IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem.js\";\n\nconst _abstract = abstract;\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n // @ts-ignore Removed in 4.0\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarUsage = _abstract.ToolbarUsage;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarUsage = _abstract.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarOrientation = _abstract.ToolbarOrientation;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarOrientation = _abstract.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractZoneLocation = _abstract.AbstractZoneLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractZoneLocation = _abstract.AbstractZoneLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nfunction createUiItemsProviderToAbstractAdapter(\n adaptee: UiItemsProvider\n): AbstractUiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n const provider = createGetPropertyAdapter(adaptee);\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n const items = provider.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n },\n provideStatusBarItems: (\n stageId: string,\n stageUsage: string,\n _stageAppData: any\n ) => {\n const items = provider.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n },\n provideToolbarButtonItems: (\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData: any\n ) => {\n const items = provider.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n },\n provideWidgets: (\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection: AbstractStagePanelSection,\n _zoneLocation: AbstractZoneLocation,\n _stageAppData: any\n ) => {\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const items = provider.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = items.map((item) => toAbstractWidget(item));\n return abstractWidgets;\n },\n ...other,\n };\n}\n\nfunction createAbstractToUiItemsProviderAdapter(\n adaptee: AbstractUiItemsProvider\n): UiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n if (!adaptee.provideBackstageItems) return [];\n\n const abstractItems = adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n if (!adaptee.provideStatusBarItems) return [];\n\n const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (!adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!adaptee.provideWidgets);\n const w = adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (!adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n },\n ...other,\n };\n}\n\nfunction getBadgeType(badgeKind: BadgeKind | undefined) {\n switch (badgeKind) {\n case \"new\":\n return BadgeType.New;\n case \"technical-preview\":\n return BadgeType.TechnicalPreview;\n default:\n return undefined;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: () => widget.content,\n allowedPanelTargets,\n badgeType: getBadgeType(widget.badgeKind) || widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n\n/** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.\n * @internal\n */\nexport function createGetPropertyAdapter(provider: UiItemsProvider) {\n return {\n ...provider,\n provideBackstageItems: () => {\n return (\n provider.getBackstageItems?.() ??\n provider.provideBackstageItems?.() ??\n []\n );\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n return (\n provider.getStatusBarItems?.() ??\n provider.provideStatusBarItems?.(stageId, stageUsage) ??\n []\n );\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (provider.getToolbarItems) {\n return provider.getToolbarItems().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.usage === usage && layout.orientation === orientation;\n });\n }\n return (\n provider.provideToolbarItems?.(\n stageId,\n stageUsage,\n usage,\n orientation\n ) ?? []\n );\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (provider.getWidgets) {\n return provider.getWidgets().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.location === location && layout.section === section;\n });\n }\n return (\n provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []\n );\n },\n } satisfies UiItemsProvider;\n}\n"]}
1
+ {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.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 UiProvider\n */\n\n/* eslint-disable @typescript-eslint/no-deprecated, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { BadgeType, IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem.js\";\n\nconst _abstract = abstract;\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n // @ts-ignore Removed in 4.0\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarUsage = _abstract.ToolbarUsage;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarUsage = _abstract.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractToolbarOrientation = _abstract.ToolbarOrientation;\n// @ts-ignore Removed in 4.0\nconst AbstractToolbarOrientation = _abstract.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractZoneLocation = _abstract.AbstractZoneLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractZoneLocation = _abstract.AbstractZoneLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nfunction createUiItemsProviderToAbstractAdapter(\n adaptee: UiItemsProvider\n): AbstractUiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n const provider = createGetPropertyAdapter(adaptee);\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n const items = provider.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n },\n provideStatusBarItems: (\n stageId: string,\n stageUsage: string,\n _stageAppData: any\n ) => {\n const items = provider.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n },\n provideToolbarButtonItems: (\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData: any\n ) => {\n const items = provider.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n },\n provideWidgets: (\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection: AbstractStagePanelSection,\n _zoneLocation: AbstractZoneLocation,\n _stageAppData: any\n ) => {\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const items = provider.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = items.map((item) => toAbstractWidget(item));\n return abstractWidgets;\n },\n ...other,\n };\n}\n\nfunction createAbstractToUiItemsProviderAdapter(\n adaptee: AbstractUiItemsProvider\n): UiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n if (!adaptee.provideBackstageItems) return [];\n\n const abstractItems = adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n if (!adaptee.provideStatusBarItems) return [];\n\n const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (!adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined // eslint-disable-line @typescript-eslint/no-redundant-type-constituents\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!adaptee.provideWidgets);\n const w = adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (!adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n },\n ...other,\n };\n}\n\nfunction getBadgeType(badgeKind: BadgeKind | undefined) {\n switch (badgeKind) {\n case \"new\":\n return BadgeType.New;\n case \"technical-preview\":\n return BadgeType.TechnicalPreview;\n default:\n return undefined;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: getBadgeType(item.badgeKind) || item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: (): React.ReactNode => widget.content,\n allowedPanelTargets,\n badgeType: getBadgeType(widget.badgeKind) || widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n\n/** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.\n * @internal\n */\nexport function createGetPropertyAdapter(provider: UiItemsProvider) {\n return {\n ...provider,\n provideBackstageItems: () => {\n return (\n provider.getBackstageItems?.() ??\n provider.provideBackstageItems?.() ??\n []\n );\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n return (\n provider.getStatusBarItems?.() ??\n provider.provideStatusBarItems?.(stageId, stageUsage) ??\n []\n );\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (provider.getToolbarItems) {\n return provider.getToolbarItems().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.usage === usage && layout.orientation === orientation;\n });\n }\n return (\n provider.provideToolbarItems?.(\n stageId,\n stageUsage,\n usage,\n orientation\n ) ?? []\n );\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (provider.getWidgets) {\n return provider.getWidgets().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.location === location && layout.section === section;\n });\n }\n return (\n provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []\n );\n },\n } satisfies UiItemsProvider;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentGenerator.d.ts","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/ComponentGenerator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mCAAmC,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAKV,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAgN1E;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS,CAAC;gBADV,eAAe,EAAE,oBAAoB,EACrC,SAAS,CAAC,GAAE,MAAM,IAAI,aAAA;IAGhC,IAAW,cAAc,yBAExB;IAED,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,iCAAiC;IA2BzC,OAAO,CAAC,mCAAmC;IAiC3C,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,YAAY;IAKb,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;IAazD,oBAAoB,CACzB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,GACf,iBAAiB;IAWpB,6DAA6D;IACtD,sBAAsB,IAAI,iBAAiB,EAAE;CAKrD"}
1
+ {"version":3,"file":"ComponentGenerator.d.ts","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/ComponentGenerator.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mCAAmC,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAKV,SAAS,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAgN1E;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS,CAAC;gBADV,eAAe,EAAE,oBAAoB,EACrC,SAAS,CAAC,GAAE,MAAM,IAAI,aAAA;IAGhC,IAAW,cAAc,yBAExB;IAED,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,iCAAiC;IA2BzC,OAAO,CAAC,mCAAmC;IAiC3C,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,YAAY;IAKb,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;IAazD,oBAAoB,CACzB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,GACf,iBAAiB;IAWpB,6DAA6D;IACtD,sBAAsB,IAAI,iBAAiB,EAAE;CAKrD"}