@itwin/appui-react 3.3.0-dev.42 → 3.3.0-dev.46

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 (107) hide show
  1. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  2. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  3. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +13 -3
  5. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  6. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +1 -0
  7. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +6 -2
  9. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  11. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +1 -1
  12. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/statusfields/MessageCenter.js +21 -10
  14. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  15. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +0 -1
  16. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/statusfields/SnapMode.js +0 -2
  18. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  19. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +8 -4
  20. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js +0 -7
  22. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  23. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  24. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -0
  25. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  26. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  27. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -9
  29. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  30. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/widget-panels/Content.js +10 -0
  32. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  33. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +4 -0
  34. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/widget-panels/Frontstage.js +72 -12
  36. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  37. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts +8 -0
  38. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  39. package/lib/cjs/appui-react/widget-panels/useTransientState.js +19 -0
  40. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -0
  41. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +1 -0
  43. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  44. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -0
  45. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  47. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  48. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -1
  49. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  50. package/lib/cjs/appui-react.d.ts +1 -0
  51. package/lib/cjs/appui-react.d.ts.map +1 -1
  52. package/lib/cjs/appui-react.js +1 -0
  53. package/lib/cjs/appui-react.js.map +1 -1
  54. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  55. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  56. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  57. package/lib/esm/appui-react/frontstage/FrontstageDef.js +13 -3
  58. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  59. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +1 -0
  60. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  61. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +6 -2
  62. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts.map +1 -1
  63. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  64. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +1 -1
  65. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  66. package/lib/esm/appui-react/statusfields/MessageCenter.js +21 -10
  67. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  68. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +0 -1
  69. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  70. package/lib/esm/appui-react/statusfields/SnapMode.js +0 -2
  71. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  72. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +8 -4
  73. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts.map +1 -1
  74. package/lib/esm/appui-react/statusfields/StatusFieldProps.js +0 -7
  75. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  76. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  77. package/lib/esm/appui-react/statusfields/ViewAttributes.js +1 -0
  78. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  79. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -0
  80. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  81. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -9
  82. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  83. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  84. package/lib/esm/appui-react/widget-panels/Content.js +10 -0
  85. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  86. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +4 -0
  87. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  88. package/lib/esm/appui-react/widget-panels/Frontstage.js +73 -13
  89. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  90. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts +8 -0
  91. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts.map +1 -0
  92. package/lib/esm/appui-react/widget-panels/useTransientState.js +15 -0
  93. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -0
  94. package/lib/esm/appui-react/widget-panels/useWidgetDirection.d.ts.map +1 -1
  95. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +1 -0
  96. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  97. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -0
  98. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  99. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  100. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  101. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -1
  102. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  103. package/lib/esm/appui-react.d.ts +1 -0
  104. package/lib/esm/appui-react.d.ts.map +1 -1
  105. package/lib/esm/appui-react.js +1 -0
  106. package/lib/esm/appui-react.js.map +1 -1
  107. package/package.json +32 -32
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,+BAA+B;AAC/B,0DAAuD;AACvD,kEAAkF;AAClF,yDAAkE;AAElE,uEAAoE;AAGpE,gBAAgB;AAChB,SAAgB,aAAa;;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,SAAS,CAAC;IACxD,OAAO,CACL,oBAAC,4CAAuB,IACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,UAAU,IAE3C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CACM,CAC3B,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAY,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,CAAC,IAA6C,EAAE,EAAE;YACjE,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,oBAAoB;gBAClH,OAAO;YACT,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,qCAAiB,CAAC,qCAAqC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,YAAY,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,OAAO,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,oCAyBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\nimport * as React from \"react\";\r\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ScrollableWidgetContent, TabIdContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageNineZoneStateChangedEventArgs } from \"../frontstage/FrontstageDef\";\r\n\r\n/** @internal */\r\nexport function WidgetContent() {\r\n const widget = useWidgetDef();\r\n // istanbul ignore next\r\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\r\n return (\r\n <ScrollableWidgetContent\r\n itemId={itemId}\r\n providerId={widget?.initialProps?.providerId}\r\n >\r\n {widget?.reactNode}\r\n </ScrollableWidgetContent>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useWidgetDef(): WidgetDef | undefined {\r\n const tabId = React.useContext(TabIdContext);\r\n const frontstage = useActiveFrontstageDef();\r\n const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));\r\n\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageNineZoneStateChangedEventArgs) => {\r\n // istanbul ignore next\r\n if (args.frontstageDef !== frontstage || !frontstage || frontstage.isStageClosing || frontstage.isApplicationClosing)\r\n return;\r\n setWidgetDef(frontstage.findWidgetDef(tabId));\r\n };\r\n return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(listener);\r\n }, [frontstage, tabId]);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handlerActivated = () => {\r\n setWidgetDef(frontstage?.findWidgetDef(tabId));\r\n };\r\n\r\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(handlerActivated);\r\n }, [frontstage, tabId]);\r\n\r\n return widgetDef;\r\n}\r\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,+BAA+B;AAC/B,0DAAuD;AACvD,kEAAkF;AAClF,yDAAkE;AAElE,uEAAoE;AAEpE,2DAAwD;AAExD,gBAAgB;AAChB,SAAgB,aAAa;;IAC3B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,SAAS,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,uBAAuB;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,uBAAuB;QACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,IAAA,qCAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,OAAO,CACL,oBAAC,4CAAuB,IACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,UAAU,IAE3C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CACM,CAC3B,CAAC;AACJ,CAAC;AArBD,sCAqBC;AAED,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAY,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,mCAAsB,GAAE,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,CAAC,IAA6C,EAAE,EAAE;YACjE,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,oBAAoB;gBAClH,OAAO;YACT,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,qCAAiB,CAAC,qCAAqC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,YAAY,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,OAAO,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,oCAyBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\nimport * as React from \"react\";\r\nimport { UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ScrollableWidgetContent, TabIdContext } from \"@itwin/appui-layout-react\";\r\nimport { useActiveFrontstageDef } from \"../frontstage/Frontstage\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageNineZoneStateChangedEventArgs } from \"../frontstage/FrontstageDef\";\r\nimport { useTransientState } from \"./useTransientState\";\r\n\r\n/** @internal */\r\nexport function WidgetContent() {\r\n const widget = useWidgetDef();\r\n // istanbul ignore next\r\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\r\n const onSave = React.useCallback(() => {\r\n // istanbul ignore next\r\n widget?.saveTransientState();\r\n }, [widget]);\r\n const onRestore = React.useCallback(() => {\r\n // istanbul ignore next\r\n widget?.restoreTransientState();\r\n }, [widget]);\r\n useTransientState(onSave, onRestore);\r\n return (\r\n <ScrollableWidgetContent\r\n itemId={itemId}\r\n providerId={widget?.initialProps?.providerId}\r\n >\r\n {widget?.reactNode}\r\n </ScrollableWidgetContent>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useWidgetDef(): WidgetDef | undefined {\r\n const tabId = React.useContext(TabIdContext);\r\n const frontstage = useActiveFrontstageDef();\r\n const [widgetDef, setWidgetDef] = React.useState(() => frontstage?.findWidgetDef(tabId));\r\n\r\n React.useEffect(() => {\r\n const listener = (args: FrontstageNineZoneStateChangedEventArgs) => {\r\n // istanbul ignore next\r\n if (args.frontstageDef !== frontstage || !frontstage || frontstage.isStageClosing || frontstage.isApplicationClosing)\r\n return;\r\n setWidgetDef(frontstage.findWidgetDef(tabId));\r\n };\r\n return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(listener);\r\n }, [frontstage, tabId]);\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handlerActivated = () => {\r\n setWidgetDef(frontstage?.findWidgetDef(tabId));\r\n };\r\n\r\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(handlerActivated);\r\n }, [frontstage, tabId]);\r\n\r\n return widgetDef;\r\n}\r\n"]}
@@ -114,6 +114,7 @@ export declare const setWidgetState: (base: {
114
114
  readonly side: PanelSide;
115
115
  };
116
116
  readonly userSized?: boolean | undefined;
117
+ readonly hidden?: boolean | undefined;
117
118
  };
118
119
  };
119
120
  readonly allIds: readonly string[];
@@ -286,6 +287,7 @@ export declare const showWidget: (base: {
286
287
  readonly side: PanelSide;
287
288
  };
288
289
  readonly userSized?: boolean | undefined;
290
+ readonly hidden?: boolean | undefined;
289
291
  };
290
292
  };
291
293
  readonly allIds: readonly string[];
@@ -458,6 +460,7 @@ export declare const expandWidget: (base: {
458
460
  readonly side: PanelSide;
459
461
  };
460
462
  readonly userSized?: boolean | undefined;
463
+ readonly hidden?: boolean | undefined;
461
464
  };
462
465
  };
463
466
  readonly allIds: readonly string[];
@@ -630,6 +633,7 @@ export declare const setWidgetLabel: (base: {
630
633
  readonly side: PanelSide;
631
634
  };
632
635
  readonly userSized?: boolean | undefined;
636
+ readonly hidden?: boolean | undefined;
633
637
  };
634
638
  };
635
639
  readonly allIds: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"AAMA;;GAEG;AAIH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAsC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAmB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAGiD,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAC/E,SAAS,EAAyB,QAAQ,EACjE,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAgE,MAAM,6BAA6B,CAAC;AAG1H,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGtF,OAAO,EAAE,SAAS,EAAgD,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoD7C,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,6BAgB5D;AAcD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,QAejE;AAsBD,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,oBA8B/D;AAED,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,oCAqBjC,CAAC;AAKH,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,eAmD9F;AAED,gBAAgB;AAChB,wBAAgB,SAAS,mBAYxB;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CA8B3I;AAED,gBAAgB;AAEhB,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,GAAG,aAAa,CAqCtJ;AAoBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,GAAG,aAAa,CA0B1G;AAoBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,GAAG,aAAa,CAY7G;AAMD,aAAK,aAAa,GAChB,WAAW,GACX,SAAS,GACT,YAAY,GACZ,UAAU,GACV,UAAU,GACV,QAAQ,GACR,aAAa,GACb,WAAW,CAAC;AAed,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,GAAG,aAAa,CA0BtF;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,SAAS,EAAE,CAqFvG;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,SAAS,GACd,aAAa,CASf;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,oBAAoB,GAAG,cAAc,IAAI;IACtG,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC;IACrC,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAIA;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,iBAiB1G;AAYD,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAqDnF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,GAAG,aAAa,CA8D3G;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,CAmB1E;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,eAAe,GAAG,SAAS,CAAC,WAIzI;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,aAAK,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,GAAG,gCAAgC,GAAG,UAAU,CAAC,CAAC;AAE3G,UAAU,cAAc;IACtB,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;CACtC;AASD,UAAU,kBAAmB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAE/B;AAiCD,gBAAgB;AAChB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GA2CzB,CAAC;AAoBH,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAerB,CAAC;AAEH,gBAAgB;AAChB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAgBvB,CAAC;AAEH,gBAAgB;AAChB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAMzB,CAAC;AAEH,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,QAqCnE;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,aAAa,QAuBrE;AAED,gBAAgB;AAChB,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AAEvE,gBAAgB;AAChB,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,2BAA2B,CAAC,IAAI,CAAC,UAE5F;AA2BD,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,0BAA0B,CAAC,EAAE,OAAO,QA0FtG;AAED,gBAAgB;AAEhB,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,QAsB3D;AAkBD,gBAAgB;AAChB,wBAAsB,yCAAyC,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BA4BtK"}
1
+ {"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
@@ -672,6 +672,20 @@ function restoreNineZoneState(frontstageDef, saved) {
672
672
  return restored;
673
673
  }
674
674
  exports.restoreNineZoneState = restoreNineZoneState;
675
+ /**
676
+ * Checks to see whether a widget id is one of our generated uuids
677
+ * @param uuid the string value to test
678
+ * @returns boolean
679
+ */
680
+ function isUUID(uuid) {
681
+ const s = `${uuid}`;
682
+ const result = s.match("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$");
683
+ // istanbul ignore else
684
+ if (result === null) {
685
+ return false;
686
+ }
687
+ return true;
688
+ }
675
689
  /** Prepares NineZoneState to be saved.
676
690
  * @note Removes toolSettings tab.
677
691
  * @note Removes tab labels and iconSpec.
@@ -686,6 +700,9 @@ function packNineZoneState(state) {
686
700
  for (const [, tab] of Object.entries(state.tabs)) {
687
701
  if (tab.id === appui_layout_react_1.toolSettingsTabId)
688
702
  continue;
703
+ // istanbul ignore else
704
+ if (isUUID(tab.id))
705
+ continue;
689
706
  draft.tabs[tab.id] = {
690
707
  id: tab.id,
691
708
  preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
@@ -695,6 +712,18 @@ function packNineZoneState(state) {
695
712
  };
696
713
  }
697
714
  });
715
+ packed = (0, immer_1.default)(packed, (draft) => {
716
+ for (const [, floatingWidget] of Object.entries(state.floatingWidgets.byId)) {
717
+ const widgetId = floatingWidget.id;
718
+ // istanbul ignore else
719
+ if (isUUID(widgetId)) {
720
+ const idIndex = draft.floatingWidgets.allIds.indexOf(widgetId);
721
+ draft.floatingWidgets.allIds.splice(idIndex, 1);
722
+ delete draft.floatingWidgets.byId[widgetId];
723
+ delete draft.widgets[widgetId];
724
+ }
725
+ }
726
+ });
698
727
  return packed;
699
728
  }
700
729
  exports.packNineZoneState = packNineZoneState;
@@ -706,6 +735,7 @@ function isPanelCollapsed(zoneStates, panelStates) {
706
735
  }
707
736
  exports.isPanelCollapsed = isPanelCollapsed;
708
737
  function addRemovedTab(nineZone, widgetDef) {
738
+ var _a, _b;
709
739
  const newTab = (0, appui_layout_react_1.createTabState)(widgetDef.id, {
710
740
  label: getWidgetLabel(widgetDef.label),
711
741
  canPopout: widgetDef.canPopout,
@@ -720,6 +750,18 @@ function addRemovedTab(nineZone, widgetDef) {
720
750
  const newTabWidget = nineZone.widgets[widgetId];
721
751
  newTabWidget.tabs.splice(widgetDef.tabLocation.tabIndex, 0, newTab.id);
722
752
  }
753
+ else if (widgetDef.tabLocation.floating) {
754
+ const id = widgetDef.tabLocation.widgetId;
755
+ if (id in nineZone.floatingWidgets.byId) {
756
+ nineZone.floatingWidgets.allIds.push(id);
757
+ nineZone.floatingWidgets.byId[id].hidden = false;
758
+ (0, appui_layout_react_1.addWidgetTabToDraftFloatingPanel)(nineZone, (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id, widgetDef.id, nineZone.floatingWidgets.byId[id].home, newTab);
759
+ }
760
+ else {
761
+ const home = { side: widgetDef.tabLocation.side, widgetId: widgetDef.floatingContainerId, widgetIndex: 0 };
762
+ (0, appui_layout_react_1.addWidgetTabToDraftFloatingPanel)(nineZone, (_b = widgetDef.floatingContainerId) !== null && _b !== void 0 ? _b : widgetDef.id, widgetDef.id, home, newTab);
763
+ }
764
+ }
723
765
  else {
724
766
  const newTabPanel = nineZone.panels[widgetDef.tabLocation.side];
725
767
  if (newTabPanel.maxWidgetCount === newTabPanel.widgets.length) {
@@ -739,7 +781,7 @@ function addRemovedTab(nineZone, widgetDef) {
739
781
  }
740
782
  /** @internal */
741
783
  exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
742
- var _a;
784
+ var _a, _b;
743
785
  if (state === appui_abstract_1.WidgetState.Open) {
744
786
  const id = widgetDef.id;
745
787
  let location = (0, appui_layout_react_1.findTab)(nineZone, id);
@@ -748,6 +790,9 @@ exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
748
790
  location = (0, appui_layout_react_1.findTab)(nineZone, id);
749
791
  (0, core_bentley_1.assert)(!!location);
750
792
  }
793
+ if (!!widgetDef.tabLocation.floating) {
794
+ nineZone.floatingWidgets.byId[(_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : widgetDef.id].hidden = false;
795
+ }
751
796
  const widget = nineZone.widgets[location.widgetId];
752
797
  widget.minimized = false;
753
798
  widget.activeTabId = id;
@@ -758,7 +803,7 @@ exports.setWidgetState = (0, immer_1.default)((nineZone, widgetDef, state) => {
758
803
  panel.collapsed && (panel.collapsed = false);
759
804
  // istanbul ignore next
760
805
  if (undefined === panel.size || 0 === panel.size) {
761
- panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
806
+ panel.size = (_b = panel.minSize) !== null && _b !== void 0 ? _b : 200;
762
807
  }
763
808
  }
764
809
  }
@@ -786,16 +831,31 @@ function hideWidget(state, widgetDef) {
786
831
  const location = (0, appui_layout_react_1.findTab)(state, widgetDef.id);
787
832
  if (!location)
788
833
  return;
789
- const widgetId = location.widgetId;
790
- const side = "side" in location ? location.side : "left";
791
- const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
792
- const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
793
- widgetDef.tabLocation = {
794
- side,
795
- tabIndex,
796
- widgetId,
797
- widgetIndex,
798
- };
834
+ if ((0, appui_layout_react_1.isFloatingLocation)(location)) {
835
+ const widget = state.floatingWidgets.byId[location.widgetId];
836
+ widgetDef.setFloatingContainerId(location.floatingWidgetId);
837
+ widgetDef.tabLocation = {
838
+ side: widget.home.side,
839
+ tabIndex: widget.home.widgetIndex,
840
+ widgetId: widgetDef.id,
841
+ widgetIndex: widget.home.widgetIndex,
842
+ floating: true,
843
+ };
844
+ }
845
+ else
846
+ // istanbul ignore else
847
+ if (!(0, appui_layout_react_1.isPopoutLocation)(location)) {
848
+ const widgetId = location.widgetId;
849
+ const side = "side" in location ? location.side : "left";
850
+ const widgetIndex = "side" in location ? state.panels[side].widgets.indexOf(widgetId) : 0;
851
+ const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
852
+ widgetDef.tabLocation = {
853
+ side,
854
+ tabIndex,
855
+ widgetId,
856
+ widgetIndex,
857
+ };
858
+ }
799
859
  (0, appui_layout_react_1.removeTab)(state, widgetDef.id);
800
860
  }
801
861
  /** @internal */