@itwin/appui-react 5.4.0 → 5.6.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.
- package/CHANGELOG.md +370 -30
- package/lib/appui-react/UiFramework.js +1 -1
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +1 -0
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.js +2 -0
- package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.d.ts.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js +6 -2
- package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -0
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/messages/Pointer.js +1 -1
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +1 -0
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -0
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +9 -3
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.d.ts +10 -0
- package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.js +2 -0
- package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +8 -2
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/appui-react/preview/tool-settings-lock-button/useToolSettingsLockButton.d.ts +4 -0
- package/lib/appui-react/preview/tool-settings-lock-button/useToolSettingsLockButton.d.ts.map +1 -0
- package/lib/appui-react/preview/tool-settings-lock-button/useToolSettingsLockButton.js +38 -0
- package/lib/appui-react/preview/tool-settings-lock-button/useToolSettingsLockButton.js.map +1 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolSettingsNewEditors.d.ts +5 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolSettingsNewEditors.d.ts.map +1 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolSettingsNewEditors.js +13 -0
- package/lib/appui-react/preview/tool-settings-new-editors/useToolSettingsNewEditors.js.map +1 -0
- package/lib/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js +2 -0
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js +3 -0
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.d.ts +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.d.ts +2 -2
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +13 -3
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +9 -2
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.js +7 -3
- package/lib/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/appui-react/uiprovider/LockEditor.d.ts +12 -0
- package/lib/appui-react/uiprovider/LockEditor.d.ts.map +1 -0
- package/lib/appui-react/uiprovider/LockEditor.js +64 -0
- package/lib/appui-react/uiprovider/LockEditor.js.map +1 -0
- package/lib/appui-react/utils/PropsHelper.js +1 -1
- package/lib/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js +3 -1
- package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +0 -1
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react.d.ts.map +1 -1
- package/lib/appui-react.js +5 -0
- package/lib/appui-react.js.map +1 -1
- package/package.json +29 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgD/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IAEnE;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,mBAAyC,EACzC,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAC/C,UAAU,EACV,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElC,sDAAsD;QACtD,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,mBAAqD,EACrD,gBAIY;QAEZ,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAmC,CAC5D,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,YAAkB;QAElB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,CACb,CAAC;IACJ,CAAC;IAEe,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,EACR,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\nimport type { DefaultContentTools } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { StandardContentToolsUiItemsProvider } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { UiItemsProvider } from \"./UiItemsProvider.js\";\n\n/**\n * Defines options that may be set in frontstage app data to control what group priorities\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\n * and only required if use wants to override the default grouping. This application data is statically\n * set in the FrontstageProvider.\n * @example\n * ```\n * const applicationData = {\n * defaultContentTools: {\n * vertical: {\n * selectElementGroupPriority: 100,\n * measureGroupPriority: 200,\n * selectionGroupPriority: 300,\n * },\n * horizontal: {\n * clearSelectionGroupPriority: 100,\n * overridesGroupPriority: 200,\n * },\n * },\n * }\n *\n * ```\n * @public\n * @deprecated in 4.17.0. Application data is not supported in frontstages. Instead configure the {@link UiItemsProvider} before registering for a specific frontstage.\n */\nexport interface DefaultContentToolsAppData {\n defaultContentTools?: {\n vertical?: {\n selectElementGroupPriority?: number;\n measureGroupPriority?: number;\n selectionGroupPriority?: number;\n };\n horizontal?: {\n clearSelectionGroupPriority?: number;\n overridesGroupPriority?: number;\n };\n };\n}\n\n/** Provide standard tools for the ContentManipulationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardContentToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardContentToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools.\n * @param defaultContentTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultContentTools?: DefaultContentTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardContentToolsProvider(\n providerId,\n defaultContentTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n\n // register core commands not automatically registered\n ViewClipByPlaneTool.register();\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultContentTools?: DefaultContentTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardContentToolsUiItemsProvider(\n defaultContentTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n stageAppData\n );\n }\n\n public override provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideStatusBarItems(\n _stageId,\n _stageUsage,\n _stageAppData\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgD/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IAEnE;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,mBAAyC,EACzC,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,4BAA4B,CAC/C,UAAU,EACV,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElC,sDAAsD;QACtD,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,mBAAqD,EACrD,gBAIY;QAEZ,4DAA4D;QAC5D,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAmC,CAC5D,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,YAAkB;QAElB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,CACb,CAAC;IACJ,CAAC;IAEe,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,EACR,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\nimport type { DefaultContentTools } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { StandardContentToolsUiItemsProvider } from \"./StandardContentToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { UiItemsProvider } from \"./UiItemsProvider.js\";\n\n/**\n * Defines options that may be set in frontstage app data to control what group priorities\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\n * and only required if use wants to override the default grouping. This application data is statically\n * set in the FrontstageProvider.\n * @example\n * ```\n * const applicationData = {\n * defaultContentTools: {\n * vertical: {\n * selectElementGroupPriority: 100,\n * measureGroupPriority: 200,\n * selectionGroupPriority: 300,\n * },\n * horizontal: {\n * clearSelectionGroupPriority: 100,\n * overridesGroupPriority: 200,\n * },\n * },\n * }\n *\n * ```\n * @public\n * @deprecated in 4.17.0. Application data is not supported in frontstages. Instead configure the {@link UiItemsProvider} before registering for a specific frontstage.\n */\nexport interface DefaultContentToolsAppData {\n defaultContentTools?: {\n vertical?: {\n selectElementGroupPriority?: number;\n measureGroupPriority?: number;\n selectionGroupPriority?: number;\n };\n horizontal?: {\n clearSelectionGroupPriority?: number;\n overridesGroupPriority?: number;\n };\n };\n}\n\n/** Provide standard tools for the ContentManipulationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardContentToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardContentToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools.\n * @param defaultContentTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultContentTools?: DefaultContentTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardContentToolsProvider(\n providerId,\n defaultContentTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n\n // register core commands not automatically registered\n ViewClipByPlaneTool.register();\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultContentTools?: DefaultContentTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardContentToolsUiItemsProvider(\n defaultContentTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n stageAppData\n );\n }\n\n public override provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideStatusBarItems(\n _stageId,\n _stageUsage,\n _stageAppData\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAI1F;;;GAGG;AAEH,qBAAa,+BAAgC,SAAQ,mBAAmB;IACtE,OAAO,CAAC,eAAe,CAAyC;IAChE;;;;;;;;OAQG;WACW,QAAQ,CACpB,UAAU,EAAE,MAAM,EAClB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;gBAaZ,UAAU,EAAE,MAAM,EAClB,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAC3D,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAI1F;;;GAGG;AAEH,qBAAa,+BAAgC,SAAQ,mBAAmB;IACtE,OAAO,CAAC,eAAe,CAAyC;IAChE;;;;;;;;OAQG;WACW,QAAQ,CACpB,UAAU,EAAE,MAAM,EAClB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;gBAaZ,UAAU,EAAE,MAAM,EAClB,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,EAC3D,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;IASE,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,GAAG,GAClB,WAAW,EAAE;CAUjB"}
|
|
@@ -30,6 +30,7 @@ export class StandardNavigationToolsProvider extends BaseUiItemsProvider {
|
|
|
30
30
|
return provider;
|
|
31
31
|
}
|
|
32
32
|
constructor(providerId, defaultNavigationTools, isSupportedStage) {
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
33
34
|
super(providerId, isSupportedStage);
|
|
34
35
|
this.uiItemsProvider = new StandardNavigationToolsUiItemsProvider(defaultNavigationTools);
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,+BAAgC,SAAQ,mBAAmB;IAEtE;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,sBAA+C,EAC/C,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,+BAA+B,CAClD,UAAU,EACV,sBAAsB,EACtB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,sBAA2D,EAC3D,gBAIY;QAEZ,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,sCAAsC,CAC/D,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type { DefaultNavigationTools } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { StandardNavigationToolsUiItemsProvider } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\n\n/** Provide standard tools for the ViewNavigationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardNavigationToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardNavigationToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardNavigationToolsProvider(\n providerId,\n defaultNavigationTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardNavigationToolsUiItemsProvider(\n defaultNavigationTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n _stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n _stageAppData\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,+BAAgC,SAAQ,mBAAmB;IAEtE;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,sBAA+C,EAC/C,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,+BAA+B,CAClD,UAAU,EACV,sBAAsB,EACtB,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YACE,UAAkB,EAClB,sBAA2D,EAC3D,gBAIY;QAEZ,4DAA4D;QAC5D,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,sCAAsC,CAC/D,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAEe,2BAA2B,CACzC,QAAgB,EAChB,WAAmB,EACnB,YAA0B,EAC1B,kBAAsC,EACtC,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAC7C,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\nimport type { DefaultNavigationTools } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { StandardNavigationToolsUiItemsProvider } from \"./StandardNavigationToolsUiItemsProvider.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\n\n/** Provide standard tools for the ViewNavigationWidgetComposer.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardNavigationToolsUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardNavigationToolsUiItemsProvider;\n /**\n * static function to register the StandardContentToolsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard tools\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardNavigationToolsProvider(\n providerId,\n defaultNavigationTools,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n return provider;\n }\n\n constructor(\n providerId: string,\n defaultNavigationTools?: DefaultNavigationTools | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardNavigationToolsUiItemsProvider(\n defaultNavigationTools\n );\n }\n\n public override provideToolbarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n toolbarUsage: ToolbarUsage,\n toolbarOrientation: ToolbarOrientation,\n _stageAppData?: any\n ): ToolbarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideToolbarItems(\n _stageId,\n _stageUsage,\n toolbarUsage,\n toolbarOrientation,\n _stageAppData\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardStatusbarItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardStatusbarItemsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AAEH,qBAAa,8BAA+B,SAAQ,mBAAmB;IACrE,OAAO,CAAC,eAAe,CAAmC;gBAExD,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,qBAAqB,GAAG,SAAS,EACjD,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;
|
|
1
|
+
{"version":3,"file":"StandardStatusbarItemsProvider.d.ts","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardStatusbarItemsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AAEH,qBAAa,8BAA+B,SAAQ,mBAAmB;IACrE,OAAO,CAAC,eAAe,CAAmC;gBAExD,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,qBAAqB,GAAG,SAAS,EACjD,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;IAOd;;;;;;;;OAQG;WACW,QAAQ,CACpB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,qBAAqB,EACpC,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,GAAG,KACf,OAAO;IAYE,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,GAAG,GAClB,aAAa,EAAE;CAQnB"}
|
|
@@ -15,6 +15,7 @@ import { BaseUiItemsProvider } from "./BaseUiItemsProvider.js";
|
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
16
16
|
export class StandardStatusbarItemsProvider extends BaseUiItemsProvider {
|
|
17
17
|
constructor(providerId, _defaultItems, isSupportedStage) {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
18
19
|
super(providerId, isSupportedStage);
|
|
19
20
|
this.uiItemsProvider = new StandardStatusbarUiItemsProvider(_defaultItems);
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardStatusbarItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardStatusbarItemsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAErE,YACE,UAAkB,EAClB,aAAiD,EACjD,gBAIY;QAEZ,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,YAAoC,EACpC,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CACjD,UAAU,EACV,YAAY,EACZ,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEe,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,EACR,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type { DefaultStatusbarItems } from \"./StandardStatusbarUiItemsProvider.js\";\nimport { StandardStatusbarUiItemsProvider } from \"./StandardStatusbarUiItemsProvider.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\n\n/** Provide standard status bar fields.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardStatusbarUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardStatusbarItemsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardStatusbarUiItemsProvider;\n constructor(\n providerId: string,\n _defaultItems?: DefaultStatusbarItems | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardStatusbarUiItemsProvider(_defaultItems);\n }\n\n /**\n * static function to register the StandardStatusbarItemsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard status bar items.\n * @param defaultItems - if undefined all available item are provided to stage except for activityCenter. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultItems?: DefaultStatusbarItems,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardStatusbarItemsProvider(\n providerId,\n defaultItems,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n return provider;\n }\n\n public override provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideStatusBarItems(\n _stageId,\n _stageUsage,\n _stageAppData\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StandardStatusbarItemsProvider.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/StandardStatusbarItemsProvider.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAErE,YACE,UAAkB,EAClB,aAAiD,EACjD,gBAIY;QAEZ,4DAA4D;QAC5D,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CACpB,UAAkB,EAClB,YAAoC,EACpC,gBAIY;QAEZ,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,8BAA8B,CACjD,UAAU,EACV,YAAY,EACZ,gBAAgB,CACjB,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEe,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAAmB;QAEnB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC/C,QAAQ,EACR,WAAW,EACX,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StandardUiItemsProvider\n */\n\nimport type { DefaultStatusbarItems } from \"./StandardStatusbarUiItemsProvider.js\";\nimport { StandardStatusbarUiItemsProvider } from \"./StandardStatusbarUiItemsProvider.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport { UiItemsManager } from \"./UiItemsManager.js\";\nimport { BaseUiItemsProvider } from \"./BaseUiItemsProvider.js\";\n\n/** Provide standard status bar fields.\n * @public\n * @deprecated in 4.17.0. Use {@link StandardStatusbarUiItemsProvider} instead. Supported frontstages can be specified when registering the provider.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class StandardStatusbarItemsProvider extends BaseUiItemsProvider {\n private uiItemsProvider: StandardStatusbarUiItemsProvider;\n constructor(\n providerId: string,\n _defaultItems?: DefaultStatusbarItems | undefined,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n super(providerId, isSupportedStage);\n this.uiItemsProvider = new StandardStatusbarUiItemsProvider(_defaultItems);\n }\n\n /**\n * static function to register the StandardStatusbarItemsProvider\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\n * to set up custom stage with their own subset of standard status bar items.\n * @param defaultItems - if undefined all available item are provided to stage except for activityCenter. If defined only those\n * specific tool buttons are shown.\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\n */\n public static register(\n providerId: string,\n defaultItems?: DefaultStatusbarItems,\n isSupportedStage?: (\n stageId: string,\n stageUsage: string,\n stageAppData?: any\n ) => boolean\n ) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const provider = new StandardStatusbarItemsProvider(\n providerId,\n defaultItems,\n isSupportedStage\n );\n UiItemsManager.register(provider);\n return provider;\n }\n\n public override provideStatusBarItemsInternal(\n _stageId: string,\n _stageUsage: string,\n _stageAppData?: any\n ): StatusBarItem[] {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this.uiItemsProvider.provideStatusBarItems(\n _stageId,\n _stageUsage,\n _stageAppData\n );\n }\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;
|
|
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;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAmM1E;;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;IAiBjB,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"}
|
|
@@ -9,9 +9,12 @@ import "./DefaultDialogGridContainer.scss";
|
|
|
9
9
|
import classnames from "classnames";
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
import { PropertyValueFormat, UiLayoutDataProvider, } from "@itwin/appui-abstract";
|
|
12
|
+
import { PropertyRecordEditor } from "@itwin/components-react";
|
|
12
13
|
import { EditorContainer } from "@itwin/components-react";
|
|
13
14
|
import { assert, Logger } from "@itwin/core-bentley";
|
|
14
15
|
import { Label } from "@itwin/itwinui-react";
|
|
16
|
+
import { useToolSettingsNewEditors } from "../preview/tool-settings-new-editors/useToolSettingsNewEditors.js";
|
|
17
|
+
import { useLockButtonPropertyRecord } from "../preview/tool-settings-lock-button/useToolSettingsLockButton.js";
|
|
15
18
|
function EditorLabel({ uiDataProvider, item, isLeftmostRecord, }) {
|
|
16
19
|
const [isDisabled, setIsDisabled] = React.useState(!!item.isDisabled);
|
|
17
20
|
const displayLabel = React.useMemo(() => {
|
|
@@ -56,7 +59,8 @@ function PropertyEditor({ uiDataProvider, initialItem, isLock = false, setFocus,
|
|
|
56
59
|
return newRecord;
|
|
57
60
|
}, [isLock, uiDataProvider.items]);
|
|
58
61
|
const currentRecord = getLatestRecordValue(initialItem);
|
|
59
|
-
const [
|
|
62
|
+
const [_propertyRecord, setPropertyRecord] = React.useState(currentRecord);
|
|
63
|
+
const propertyRecord = useLockButtonPropertyRecord(_propertyRecord, isLock);
|
|
60
64
|
// monitor tool for sync UI events
|
|
61
65
|
React.useEffect(() => {
|
|
62
66
|
return uiDataProvider.onSyncPropertiesChangeEvent.addListener((args) => {
|
|
@@ -108,8 +112,8 @@ function PropertyEditor({ uiDataProvider, initialItem, isLock = false, setFocus,
|
|
|
108
112
|
uiDataProvider.reloadDialogItems(true);
|
|
109
113
|
}, [initialItem.property.name, propertyRecord, uiDataProvider]);
|
|
110
114
|
const handleCancel = () => { };
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
const useNewEditors = useToolSettingsNewEditors();
|
|
116
|
+
return (React.createElement("div", { key: initialItem.property.name, className: className }, useNewEditors ? (React.createElement(PropertyRecordEditor, { key: initialItem.property.name, propertyRecord: propertyRecord, setFocus: setFocus, onCommit: handleCommit, onCancel: onCancel ?? handleCancel, editorSystem: "new", size: "small" })) : (React.createElement(EditorContainer, { key: initialItem.property.name, propertyRecord: propertyRecord, setFocus: setFocus, onCommit: handleCommit, onCancel: onCancel ?? handleCancel }))));
|
|
113
117
|
}
|
|
114
118
|
/** Utility methods to generate react ui from DialogRow specs
|
|
115
119
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/ComponentGenerator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\nimport \"./DefaultDialogGridContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n BaseDialogItem,\n DialogItem,\n DialogItemValue,\n DialogPropertySyncItem,\n DialogRow,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyValueFormat,\n UiLayoutDataProvider,\n} from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { ToolSettingsEntry } from \"../widget-panels/ToolSettings.js\";\nimport { assert, Logger } from \"@itwin/core-bentley\";\nimport { Label } from \"@itwin/itwinui-react\";\n\nfunction EditorLabel({\n uiDataProvider,\n item,\n isLeftmostRecord,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n item: DialogItem;\n isLeftmostRecord?: boolean;\n}) {\n const [isDisabled, setIsDisabled] = React.useState(!!item.isDisabled);\n const displayLabel = React.useMemo(() => {\n return item.property.displayLabel || item.property.name;\n }, [item]);\n\n // listen for tool sync property events and update the isDisabled state\n React.useEffect(() => {\n return uiDataProvider.onSyncPropertiesChangeEvent.addListener((args) => {\n const mySyncItem = args.properties.find(\n (syncItem) => syncItem.propertyName === item.property.name\n );\n if (mySyncItem) {\n setIsDisabled(!!mySyncItem.isDisabled);\n }\n });\n }, [uiDataProvider, item]);\n\n const className = classnames(\n \"uifw-default-label\",\n !!isLeftmostRecord && \"uifw-default-narrow-only-display\"\n );\n return (\n <Label\n className={className}\n htmlFor={item.property.name}\n disabled={isDisabled}\n >\n {displayLabel}:\n </Label>\n );\n}\n\nfunction PropertyEditor({\n uiDataProvider,\n initialItem,\n isLock = false,\n setFocus,\n onCancel,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n initialItem: BaseDialogItem;\n isLock?: boolean;\n setFocus?: boolean;\n onCancel?: () => void;\n}) {\n const getLatestRecordValue = React.useCallback(\n (initial: BaseDialogItem) => {\n let newRecord = UiLayoutDataProvider.getPropertyRecord(initial);\n\n const foundItem = isLock\n ? uiDataProvider.items.find(\n (item) => item.lockProperty?.property.name === initial.property.name\n )\n : uiDataProvider.items.find(\n (item) => item.property.name === initial.property.name\n );\n if (foundItem) {\n if (isLock) {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.lockProperty!.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.lockProperty!.isDisabled;\n } else {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.isDisabled;\n }\n }\n return newRecord;\n },\n [isLock, uiDataProvider.items]\n );\n\n const currentRecord = getLatestRecordValue(initialItem);\n const [propertyRecord, setPropertyRecord] = React.useState(currentRecord);\n\n // monitor tool for sync UI events\n React.useEffect(() => {\n return uiDataProvider.onSyncPropertiesChangeEvent.addListener((args) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === initialItem.property.name\n );\n if (mySyncItem) {\n const newPropertyValue = propertyRecord.copyWithNewValue(\n {\n value: mySyncItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n displayValue: mySyncItem.value.displayValue,\n },\n mySyncItem.property\n );\n\n if (mySyncItem.property) {\n if (mySyncItem.property.name === mySyncItem.propertyName) {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n } else {\n Logger.logError(\n \"PropertyEditor\",\n `Error trying to replace propertyName=${mySyncItem.propertyName} with property named ${mySyncItem.property.name}`\n );\n }\n } else {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n }\n }\n });\n }, [uiDataProvider, propertyRecord, initialItem.property.name]);\n\n React.useEffect(() => {\n return uiDataProvider.onItemsReloadedEvent.addListener(() => {\n const newItem = findDialogItem(\n uiDataProvider,\n initialItem.property.name,\n isLock\n );\n if (!newItem) return;\n setPropertyRecord(getLatestRecordValue(newItem));\n });\n }, [uiDataProvider, initialItem.property.name, getLatestRecordValue, isLock]);\n\n const className = React.useMemo(\n () => (isLock ? \"uifw-default-property-lock\" : \"uifw-default-editor\"),\n [isLock]\n );\n const handleCommit = React.useCallback(\n (commit: PropertyUpdatedArgs) => {\n // UiLayoutDataProvider supports only primitive property types\n assert(\n commit.newValue.valueFormat === PropertyValueFormat.Primitive &&\n commit.propertyRecord.value.valueFormat ===\n PropertyValueFormat.Primitive\n );\n const newPropertyValue = propertyRecord.copyWithNewValue(commit.newValue);\n const syncItem: DialogPropertySyncItem = {\n value: commit.newValue as DialogItemValue,\n propertyName: initialItem.property.name,\n isDisabled: newPropertyValue.isDisabled,\n };\n uiDataProvider.applyUiPropertyChange(syncItem);\n // Now have the uiDataProvider refetch the latest property values from the tool\n uiDataProvider.reloadDialogItems(true);\n },\n [initialItem.property.name, propertyRecord, uiDataProvider]\n );\n const handleCancel = () => {};\n\n return (\n <div key={initialItem.property.name} className={className}>\n <EditorContainer\n key={initialItem.property.name}\n propertyRecord={propertyRecord}\n setFocus={setFocus}\n onCommit={handleCommit}\n onCancel={onCancel ?? handleCancel}\n />\n </div>\n );\n}\n\n/** Utility methods to generate react ui from DialogRow specs\n * @public\n */\nexport class ComponentGenerator {\n constructor(\n private _uiDataProvider: UiLayoutDataProvider,\n private _onCancel?: () => void\n ) {}\n\n public get uiDataProvider() {\n return this._uiDataProvider;\n }\n\n private getEditor(\n item: BaseDialogItem,\n isLock = false,\n setFocus = false\n ): React.ReactNode {\n return (\n <PropertyEditor\n key={item.property.name}\n uiDataProvider={this.uiDataProvider}\n initialItem={item}\n isLock={isLock}\n setFocus={setFocus}\n onCancel={this._onCancel}\n />\n );\n }\n\n private generateRowWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): React.ReactNode {\n if (1 === row.items.length) {\n return (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n );\n }\n\n return (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n );\n }\n\n private generateEntryWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (1 === row.items.length) {\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n ),\n };\n }\n\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n ),\n };\n }\n\n private getEditorLabel(\n item: DialogItem,\n isLeftmostRecord = false\n ): React.ReactNode {\n return (\n <EditorLabel\n uiDataProvider={this.uiDataProvider}\n item={item}\n isLeftmostRecord={isLeftmostRecord}\n />\n );\n }\n\n private getLeftLockAndLabel(\n rowItem: DialogItem,\n multiplePropertiesOnRow: boolean\n ): React.ReactNode {\n const record = UiLayoutDataProvider.getPropertyRecord(rowItem);\n const lockEditor = UiLayoutDataProvider.hasAssociatedLockProperty(rowItem)\n ? this.getEditor(rowItem.lockProperty!, true)\n : null;\n const label = UiLayoutDataProvider.editorWantsLabel(rowItem)\n ? this.getEditorLabel(rowItem)\n : null;\n const classNames = multiplePropertiesOnRow\n ? \"uifw-default-lock-and-label uifw-default-wide-only-display\"\n : \"uifw-default-lock-and-label\";\n return (\n <div key={`lock-${record.property.name}`} className={classNames}>\n {lockEditor}\n {label}\n </div>\n );\n }\n\n private getInlineLabelAndEditor(\n item: DialogItem,\n isLeftmostRecord: boolean\n ): React.ReactNode {\n const label = UiLayoutDataProvider.editorWantsLabel(item)\n ? this.getEditorLabel(item, isLeftmostRecord)\n : null;\n return (\n <div\n key={item.property.name}\n className=\"uifw-default-inline-label-and-editor\"\n >\n {label}\n {this.getEditor(item)}\n </div>\n );\n }\n\n private getRowWithMultipleEditors(row: DialogRow): React.ReactNode {\n return (\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item: DialogItem, index: number) =>\n this.getInlineLabelAndEditor(item, index === 0)\n )}\n </div>\n );\n }\n\n private getDivForRow(row: DialogRow): React.ReactNode {\n if (row.items.length === 1) return this.getEditor(row.items[0]);\n return this.getRowWithMultipleEditors(row);\n }\n\n public getRow(row: DialogRow, rowIndex: number): React.ReactNode {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateRowWithButtonGroupEditors(row, rowIndex);\n } else {\n return (\n <React.Fragment key={rowIndex}>\n {this.getLeftLockAndLabel(row.items[0], row.items.length > 1)}\n {this.getDivForRow(row)}\n </React.Fragment>\n );\n }\n }\n\n public getToolSettingsEntry(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateEntryWithButtonGroupEditors(row, rowIndex);\n } else {\n return {\n labelNode: this.getLeftLockAndLabel(row.items[0], row.items.length > 1),\n editorNode: this.getDivForRow(row),\n };\n }\n }\n\n /** ToolSettingsEntries are used by the tool settings bar. */\n public getToolSettingsEntries(): ToolSettingsEntry[] {\n return this.uiDataProvider.rows.map((row: DialogRow, index: number) =>\n this.getToolSettingsEntry(row, index)\n );\n }\n}\n\nfunction findDialogItem(\n uiDataProvider: UiLayoutDataProvider,\n propertyName: string,\n isLock: boolean\n) {\n const dialogItem = uiDataProvider.items.find((item) => {\n if (isLock) {\n return item.lockProperty?.property.name === propertyName;\n }\n return item.property.name === propertyName;\n });\n return isLock ? dialogItem?.lockProperty : dialogItem;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ComponentGenerator.js","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/ComponentGenerator.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\nimport \"./DefaultDialogGridContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n BaseDialogItem,\n DialogItem,\n DialogItemValue,\n DialogPropertySyncItem,\n DialogRow,\n} from \"@itwin/appui-abstract\";\nimport {\n PropertyValueFormat,\n UiLayoutDataProvider,\n} from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"@itwin/components-react\";\nimport { PropertyRecordEditor } from \"@itwin/components-react\";\nimport { EditorContainer } from \"@itwin/components-react\";\nimport type { ToolSettingsEntry } from \"../widget-panels/ToolSettings.js\";\nimport { assert, Logger } from \"@itwin/core-bentley\";\nimport { Label } from \"@itwin/itwinui-react\";\nimport { useToolSettingsNewEditors } from \"../preview/tool-settings-new-editors/useToolSettingsNewEditors.js\";\nimport { useLockButtonPropertyRecord } from \"../preview/tool-settings-lock-button/useToolSettingsLockButton.js\";\n\nfunction EditorLabel({\n uiDataProvider,\n item,\n isLeftmostRecord,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n item: DialogItem;\n isLeftmostRecord?: boolean;\n}) {\n const [isDisabled, setIsDisabled] = React.useState(!!item.isDisabled);\n const displayLabel = React.useMemo(() => {\n return item.property.displayLabel || item.property.name;\n }, [item]);\n\n // listen for tool sync property events and update the isDisabled state\n React.useEffect(() => {\n return uiDataProvider.onSyncPropertiesChangeEvent.addListener((args) => {\n const mySyncItem = args.properties.find(\n (syncItem) => syncItem.propertyName === item.property.name\n );\n if (mySyncItem) {\n setIsDisabled(!!mySyncItem.isDisabled);\n }\n });\n }, [uiDataProvider, item]);\n\n const className = classnames(\n \"uifw-default-label\",\n !!isLeftmostRecord && \"uifw-default-narrow-only-display\"\n );\n return (\n <Label\n className={className}\n htmlFor={item.property.name}\n disabled={isDisabled}\n >\n {displayLabel}:\n </Label>\n );\n}\n\nfunction PropertyEditor({\n uiDataProvider,\n initialItem,\n isLock = false,\n setFocus,\n onCancel,\n}: {\n uiDataProvider: UiLayoutDataProvider;\n initialItem: BaseDialogItem;\n isLock?: boolean;\n setFocus?: boolean;\n onCancel?: () => void;\n}) {\n const getLatestRecordValue = React.useCallback(\n (initial: BaseDialogItem) => {\n let newRecord = UiLayoutDataProvider.getPropertyRecord(initial);\n\n const foundItem = isLock\n ? uiDataProvider.items.find(\n (item) => item.lockProperty?.property.name === initial.property.name\n )\n : uiDataProvider.items.find(\n (item) => item.property.name === initial.property.name\n );\n if (foundItem) {\n if (isLock) {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.lockProperty!.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.lockProperty!.isDisabled;\n } else {\n newRecord = newRecord.copyWithNewValue({\n value: foundItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n });\n newRecord.isDisabled = foundItem.isDisabled;\n }\n }\n return newRecord;\n },\n [isLock, uiDataProvider.items]\n );\n\n const currentRecord = getLatestRecordValue(initialItem);\n const [_propertyRecord, setPropertyRecord] = React.useState(currentRecord);\n const propertyRecord = useLockButtonPropertyRecord(_propertyRecord, isLock);\n\n // monitor tool for sync UI events\n React.useEffect(() => {\n return uiDataProvider.onSyncPropertiesChangeEvent.addListener((args) => {\n const mySyncItem = args.properties.find(\n (syncItem: DialogPropertySyncItem) =>\n syncItem.propertyName === initialItem.property.name\n );\n if (mySyncItem) {\n const newPropertyValue = propertyRecord.copyWithNewValue(\n {\n value: mySyncItem.value.value,\n valueFormat: PropertyValueFormat.Primitive,\n displayValue: mySyncItem.value.displayValue,\n },\n mySyncItem.property\n );\n\n if (mySyncItem.property) {\n if (mySyncItem.property.name === mySyncItem.propertyName) {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n } else {\n Logger.logError(\n \"PropertyEditor\",\n `Error trying to replace propertyName=${mySyncItem.propertyName} with property named ${mySyncItem.property.name}`\n );\n }\n } else {\n newPropertyValue.isDisabled = mySyncItem.isDisabled;\n setPropertyRecord(newPropertyValue);\n }\n }\n });\n }, [uiDataProvider, propertyRecord, initialItem.property.name]);\n\n React.useEffect(() => {\n return uiDataProvider.onItemsReloadedEvent.addListener(() => {\n const newItem = findDialogItem(\n uiDataProvider,\n initialItem.property.name,\n isLock\n );\n if (!newItem) return;\n setPropertyRecord(getLatestRecordValue(newItem));\n });\n }, [uiDataProvider, initialItem.property.name, getLatestRecordValue, isLock]);\n\n const className = React.useMemo(\n () => (isLock ? \"uifw-default-property-lock\" : \"uifw-default-editor\"),\n [isLock]\n );\n const handleCommit = React.useCallback(\n (commit: PropertyUpdatedArgs) => {\n // UiLayoutDataProvider supports only primitive property types\n assert(\n commit.newValue.valueFormat === PropertyValueFormat.Primitive &&\n commit.propertyRecord.value.valueFormat ===\n PropertyValueFormat.Primitive\n );\n const newPropertyValue = propertyRecord.copyWithNewValue(commit.newValue);\n const syncItem: DialogPropertySyncItem = {\n value: commit.newValue as DialogItemValue,\n propertyName: initialItem.property.name,\n isDisabled: newPropertyValue.isDisabled,\n };\n uiDataProvider.applyUiPropertyChange(syncItem);\n // Now have the uiDataProvider refetch the latest property values from the tool\n uiDataProvider.reloadDialogItems(true);\n },\n [initialItem.property.name, propertyRecord, uiDataProvider]\n );\n const handleCancel = () => {};\n\n const useNewEditors = useToolSettingsNewEditors();\n\n return (\n <div key={initialItem.property.name} className={className}>\n {useNewEditors ? (\n <PropertyRecordEditor\n key={initialItem.property.name}\n propertyRecord={propertyRecord}\n setFocus={setFocus}\n onCommit={handleCommit}\n onCancel={onCancel ?? handleCancel}\n editorSystem=\"new\"\n size=\"small\"\n />\n ) : (\n <EditorContainer\n key={initialItem.property.name}\n propertyRecord={propertyRecord}\n setFocus={setFocus}\n onCommit={handleCommit}\n onCancel={onCancel ?? handleCancel}\n />\n )}\n </div>\n );\n}\n\n/** Utility methods to generate react ui from DialogRow specs\n * @public\n */\nexport class ComponentGenerator {\n constructor(\n private _uiDataProvider: UiLayoutDataProvider,\n private _onCancel?: () => void\n ) {}\n\n public get uiDataProvider() {\n return this._uiDataProvider;\n }\n\n private getEditor(\n item: BaseDialogItem,\n isLock = false,\n setFocus = false\n ): React.ReactNode {\n return (\n <PropertyEditor\n key={item.property.name}\n uiDataProvider={this.uiDataProvider}\n initialItem={item}\n isLock={isLock}\n setFocus={setFocus}\n onCancel={this._onCancel}\n />\n );\n }\n\n private generateRowWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): React.ReactNode {\n if (1 === row.items.length) {\n return (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n );\n }\n\n return (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n );\n }\n\n private generateEntryWithButtonGroupEditors(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (1 === row.items.length) {\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={row.items[0].property.name}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n {this.getEditor(row.items[0])}\n </div>\n ),\n };\n }\n\n return {\n labelNode: \"\",\n editorNode: (\n <div\n key={rowIndex}\n className=\"uifw-default-inline-editor-group uifw-default-center-across-width\"\n >\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item) => this.getEditor(item))}\n </div>\n </div>\n ),\n };\n }\n\n private getEditorLabel(\n item: DialogItem,\n isLeftmostRecord = false\n ): React.ReactNode {\n return (\n <EditorLabel\n uiDataProvider={this.uiDataProvider}\n item={item}\n isLeftmostRecord={isLeftmostRecord}\n />\n );\n }\n\n private getLeftLockAndLabel(\n rowItem: DialogItem,\n multiplePropertiesOnRow: boolean\n ): React.ReactNode {\n const record = UiLayoutDataProvider.getPropertyRecord(rowItem);\n const lockEditor = UiLayoutDataProvider.hasAssociatedLockProperty(rowItem)\n ? this.getEditor(rowItem.lockProperty!, true)\n : null;\n const label = UiLayoutDataProvider.editorWantsLabel(rowItem)\n ? this.getEditorLabel(rowItem)\n : null;\n const classNames = multiplePropertiesOnRow\n ? \"uifw-default-lock-and-label uifw-default-wide-only-display\"\n : \"uifw-default-lock-and-label\";\n return (\n <div key={`lock-${record.property.name}`} className={classNames}>\n {lockEditor}\n {label}\n </div>\n );\n }\n\n private getInlineLabelAndEditor(\n item: DialogItem,\n isLeftmostRecord: boolean\n ): React.ReactNode {\n const label = UiLayoutDataProvider.editorWantsLabel(item)\n ? this.getEditorLabel(item, isLeftmostRecord)\n : null;\n return (\n <div\n key={item.property.name}\n className=\"uifw-default-inline-label-and-editor\"\n >\n {label}\n {this.getEditor(item)}\n </div>\n );\n }\n\n private getRowWithMultipleEditors(row: DialogRow): React.ReactNode {\n return (\n <div className=\"uifw-default-inline-editor-group\">\n {row.items.map((item: DialogItem, index: number) =>\n this.getInlineLabelAndEditor(item, index === 0)\n )}\n </div>\n );\n }\n\n private getDivForRow(row: DialogRow): React.ReactNode {\n if (row.items.length === 1) return this.getEditor(row.items[0]);\n return this.getRowWithMultipleEditors(row);\n }\n\n public getRow(row: DialogRow, rowIndex: number): React.ReactNode {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateRowWithButtonGroupEditors(row, rowIndex);\n } else {\n return (\n <React.Fragment key={rowIndex}>\n {this.getLeftLockAndLabel(row.items[0], row.items.length > 1)}\n {this.getDivForRow(row)}\n </React.Fragment>\n );\n }\n }\n\n public getToolSettingsEntry(\n row: DialogRow,\n rowIndex: number\n ): ToolSettingsEntry {\n if (UiLayoutDataProvider.onlyContainButtonGroupEditors(row)) {\n return this.generateEntryWithButtonGroupEditors(row, rowIndex);\n } else {\n return {\n labelNode: this.getLeftLockAndLabel(row.items[0], row.items.length > 1),\n editorNode: this.getDivForRow(row),\n };\n }\n }\n\n /** ToolSettingsEntries are used by the tool settings bar. */\n public getToolSettingsEntries(): ToolSettingsEntry[] {\n return this.uiDataProvider.rows.map((row: DialogRow, index: number) =>\n this.getToolSettingsEntry(row, index)\n );\n }\n}\n\nfunction findDialogItem(\n uiDataProvider: UiLayoutDataProvider,\n propertyName: string,\n isLock: boolean\n) {\n const dialogItem = uiDataProvider.items.find((item) => {\n if (isLock) {\n return item.lockProperty?.property.name === propertyName;\n }\n return item.property.name === propertyName;\n });\n return isLock ? dialogItem?.lockProperty : dialogItem;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module UiProvider
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { PropertyEditorBase } from "@itwin/components-react";
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare class LockPropertyEditor extends PropertyEditorBase {
|
|
8
|
+
get reactNode(): React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare const LockPropertyEditorName = "appui-internal:tool-settings-lock";
|
|
12
|
+
//# sourceMappingURL=LockEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockEditor.d.ts","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/LockEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAyE7D,gBAAgB;AAChB,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF;AAED,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module UiProvider
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { PropertyEditorBase } from "@itwin/components-react";
|
|
10
|
+
import { IconButton } from "@itwin/itwinui-react";
|
|
11
|
+
import { SvgLock, SvgLockUnlocked } from "@itwin/itwinui-icons-react";
|
|
12
|
+
import { PropertyValueFormat } from "@itwin/appui-abstract";
|
|
13
|
+
const LockEditor = React.forwardRef(function LockEditor(props, forwardedRef) {
|
|
14
|
+
const ref = React.useRef(null);
|
|
15
|
+
const getCurrentValue = () => {
|
|
16
|
+
if (props.propertyRecord &&
|
|
17
|
+
props.propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {
|
|
18
|
+
return props.propertyRecord.value.value;
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
};
|
|
22
|
+
const currentValue = getCurrentValue();
|
|
23
|
+
React.useImperativeHandle(forwardedRef, () => ({
|
|
24
|
+
getPropertyValue: async () => {
|
|
25
|
+
let propertyValue;
|
|
26
|
+
if (props.propertyRecord &&
|
|
27
|
+
props.propertyRecord.value.valueFormat ===
|
|
28
|
+
PropertyValueFormat.Primitive) {
|
|
29
|
+
propertyValue = {
|
|
30
|
+
valueFormat: PropertyValueFormat.Primitive,
|
|
31
|
+
value: currentValue,
|
|
32
|
+
displayValue: "",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return propertyValue;
|
|
36
|
+
},
|
|
37
|
+
htmlElement: ref.current,
|
|
38
|
+
hasFocus: document.activeElement === ref.current,
|
|
39
|
+
}), [currentValue, props.propertyRecord]);
|
|
40
|
+
const displayLabel = props.propertyRecord?.property.displayLabel;
|
|
41
|
+
const label = displayLabel ? displayLabel : "Toggle lock";
|
|
42
|
+
const disabled = props.propertyRecord?.isDisabled;
|
|
43
|
+
return (React.createElement(IconButton, { ref: ref, label: label, size: "small", styleType: "borderless", isActive: currentValue, disabled: disabled, onClick: () => {
|
|
44
|
+
if (!props.propertyRecord || !props.onCommit)
|
|
45
|
+
return;
|
|
46
|
+
props.onCommit({
|
|
47
|
+
propertyRecord: props.propertyRecord,
|
|
48
|
+
newValue: {
|
|
49
|
+
valueFormat: PropertyValueFormat.Primitive,
|
|
50
|
+
value: !currentValue,
|
|
51
|
+
displayValue: "",
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
} }, currentValue ? React.createElement(SvgLock, null) : React.createElement(SvgLockUnlocked, null)));
|
|
55
|
+
});
|
|
56
|
+
/** @internal */
|
|
57
|
+
export class LockPropertyEditor extends PropertyEditorBase {
|
|
58
|
+
get reactNode() {
|
|
59
|
+
return React.createElement(LockEditor, null);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** @internal */
|
|
63
|
+
export const LockPropertyEditorName = "appui-internal:tool-settings-lock";
|
|
64
|
+
//# sourceMappingURL=LockEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockEditor.js","sourceRoot":"","sources":["../../../src/appui-react/uiprovider/LockEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\nimport * as React from \"react\";\nimport type { PropertyEditorProps, TypeEditor } from \"@itwin/components-react\";\nimport { PropertyEditorBase } from \"@itwin/components-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport { SvgLock, SvgLockUnlocked } from \"@itwin/itwinui-icons-react\";\nimport type { PropertyValue } from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\n\nconst LockEditor = React.forwardRef<TypeEditor, PropertyEditorProps>(\n function LockEditor(props, forwardedRef) {\n const ref = React.useRef<HTMLButtonElement>(null);\n const getCurrentValue = () => {\n if (\n props.propertyRecord &&\n props.propertyRecord.value.valueFormat === PropertyValueFormat.Primitive\n ) {\n return props.propertyRecord.value.value as boolean;\n }\n return false;\n };\n const currentValue = getCurrentValue();\n\n React.useImperativeHandle(\n forwardedRef,\n () => ({\n getPropertyValue: async () => {\n let propertyValue: PropertyValue | undefined;\n if (\n props.propertyRecord &&\n props.propertyRecord.value.valueFormat ===\n PropertyValueFormat.Primitive\n ) {\n propertyValue = {\n valueFormat: PropertyValueFormat.Primitive,\n value: currentValue,\n displayValue: \"\",\n };\n }\n return propertyValue;\n },\n htmlElement: ref.current,\n hasFocus: document.activeElement === ref.current,\n }),\n [currentValue, props.propertyRecord]\n );\n\n const displayLabel = props.propertyRecord?.property.displayLabel;\n const label = displayLabel ? displayLabel : \"Toggle lock\";\n const disabled = props.propertyRecord?.isDisabled;\n return (\n <IconButton\n ref={ref}\n label={label}\n size=\"small\"\n styleType=\"borderless\"\n isActive={currentValue}\n disabled={disabled}\n onClick={() => {\n if (!props.propertyRecord || !props.onCommit) return;\n props.onCommit({\n propertyRecord: props.propertyRecord,\n newValue: {\n valueFormat: PropertyValueFormat.Primitive,\n value: !currentValue,\n displayValue: \"\",\n },\n });\n }}\n >\n {currentValue ? <SvgLock /> : <SvgLockUnlocked />}\n </IconButton>\n );\n }\n);\n\n/** @internal */\nexport class LockPropertyEditor extends PropertyEditorBase {\n public get reactNode(): React.ReactNode {\n return <LockEditor />;\n }\n}\n\n/** @internal */\nexport const LockPropertyEditorName = \"appui-internal:tool-settings-lock\";\n"]}
|
|
@@ -56,7 +56,7 @@ export class PropsHelper {
|
|
|
56
56
|
static getAbstractPropsForReactIcon(
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
58
58
|
iconSpec, internalData
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-redundant-type-constituents
|
|
60
60
|
) {
|
|
61
61
|
if (!iconSpec || !React.isValidElement(iconSpec))
|
|
62
62
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropsHelper.js","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,sDAAsD;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,sHAAsH;IAC/G,MAAM,CAAC,aAAa,CACzB,aAAyE,EACzE,SAAkB;QAElB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IACvB,MAAM,CAAC,iBAAiB,CAC7B,IAAoD;QAEpD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,IAAI,YAAY,sBAAsB;YAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;;YAC/D,KAAK,GAAG,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8JAA8J;IACvJ,MAAM,CAAC,OAAO,CACnB,QAA2D;QAE3D,IAAI,QAAQ,YAAY,sBAAsB;YAC5C,4DAA4D;YAC5D,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,GAAI,CAAC;QAE5C,4DAA4D;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,4FAA4F;IACrF,MAAM,CAAC,cAAc,CAAC,MAAW,EAAE,OAAY;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAC3D,MAAM,CAAC,4BAA4B;IACxC,4DAA4D;IAC5D,QAAkB,EAClB,YAA+B;IAC/B
|
|
1
|
+
{"version":3,"file":"PropsHelper.js","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,sDAAsD;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,sHAAsH;IAC/G,MAAM,CAAC,aAAa,CACzB,aAAyE,EACzE,SAAkB;QAElB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IACvB,MAAM,CAAC,iBAAiB,CAC7B,IAAoD;QAEpD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,IAAI,YAAY,sBAAsB;YAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;;YAC/D,KAAK,GAAG,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8JAA8J;IACvJ,MAAM,CAAC,OAAO,CACnB,QAA2D;QAE3D,IAAI,QAAQ,YAAY,sBAAsB;YAC5C,4DAA4D;YAC5D,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,GAAI,CAAC;QAE5C,4DAA4D;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,4FAA4F;IACrF,MAAM,CAAC,cAAc,CAAC,MAAW,EAAE,OAAY;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAC3D,MAAM,CAAC,4BAA4B;IACxC,4DAA4D;IAC5D,QAAkB,EAClB,YAA+B;IAC/B,+GAA+G;;QAE/G,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAEzD,4DAA4D;QAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE5D,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACzD,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 Utilities\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport * as React from \"react\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { Icon, IconHelper } from \"@itwin/core-react\";\nimport type {\n StringGetter,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as UIA_AbstractWidgetProps,\n // @ts-ignore Removed in 4.0\n CommonBackstageItem as UIA_CommonBackstageItem,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { IModelApp } from \"@itwin/core-frontend\";\n\n/** A set of helper methods for various props\n * @public\n * @deprecated in 4.16.0. Used internally.\n */\nexport class PropsHelper {\n /** Get spec for returning a string. Could be a simple string of a 'StringGetter' method used to return the string. */\n public static getStringSpec(\n explicitValue: string | StringGetter | ConditionalStringValue | undefined,\n stringKey?: string\n ): string | StringGetter | ConditionalStringValue {\n if (explicitValue) {\n return explicitValue;\n }\n\n const outValue = stringKey\n ? IModelApp.localization.getLocalizedString(stringKey)\n : \"\";\n return outValue;\n }\n\n /** Get the display string. */\n public static getStringFromSpec(\n spec: string | StringGetter | ConditionalStringValue\n ): string {\n let label = \"\";\n if (typeof spec === \"string\") label = spec;\n else if (spec instanceof ConditionalStringValue) label = spec.value;\n else label = spec();\n return label;\n }\n\n /** Get JSX element that defines an icon. If iconSpec is a string, then a web-font icon class is used otherwise a ReactNode holding an SVG icon is assumed. */\n public static getIcon(\n iconSpec: string | ConditionalStringValue | React.ReactNode\n ): React.ReactElement | undefined {\n if (iconSpec instanceof ConditionalStringValue)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return <Icon iconSpec={iconSpec.value} />;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iconSpec ? <Icon iconSpec={iconSpec} /> : undefined;\n }\n\n /** returns true if the two objects are the same using a shallow compare of each property */\n public static isShallowEqual(newObj: any, prevObj: any) {\n for (const key in newObj) {\n if (newObj[key] !== prevObj[key]) return false;\n }\n return true;\n }\n\n /** @deprecated in 4.0 These abstract props types are obsolete. */\n public static getAbstractPropsForReactIcon(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec: IconSpec,\n internalData?: Map<string, any>\n // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-redundant-type-constituents\n ): Partial<UIA_AbstractWidgetProps> | Partial<UIA_CommonBackstageItem> {\n if (!iconSpec || !React.isValidElement(iconSpec)) return {};\n\n if (!internalData) internalData = new Map<string, any>();\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const icon = IconHelper.getIconData(iconSpec, internalData);\n\n return icon === \"\" ? { icon } : { icon, internalData };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicToolWidget.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,qHAAqH;IACrH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1C,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,WAAW,EAAE,CAAC;CACzC;AAED;;;GAGG;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"BasicToolWidget.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,qHAAqH;IACrH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1C,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,WAAW,EAAE,CAAC;CACzC;AAED;;;GAGG;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAiH1D"}
|
|
@@ -83,6 +83,8 @@ export function BasicToolWidget(props) {
|
|
|
83
83
|
]);
|
|
84
84
|
const uiIsVisible = useUiVisibility();
|
|
85
85
|
const className = classnames(!uiIsVisible && "nz-hidden");
|
|
86
|
-
return (React.createElement(ToolWidgetComposer, { className: className,
|
|
86
|
+
return (React.createElement(ToolWidgetComposer, { className: className,
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
88
|
+
cornerItem: React.createElement(BackstageAppButton, { icon: props.icon }), horizontalToolbar: React.createElement(ToolbarComposer, { items: horizontalItems, usage: ToolbarUsage.ContentManipulation, orientation: ToolbarOrientation.Horizontal }), verticalToolbar: React.createElement(ToolbarComposer, { items: verticalItems, usage: ToolbarUsage.ContentManipulation, orientation: ToolbarOrientation.Vertical }) }));
|
|
87
89
|
}
|
|
88
90
|
//# sourceMappingURL=BasicToolWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicToolWidget.js","sourceRoot":"","sources":["../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BasicToolWidget.js","sourceRoot":"","sources":["../../../src/appui-react/widgets/BasicToolWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { ToolbarComposer } from \"../toolbar/ToolbarComposer.js\";\nimport { ToolWidgetComposer } from \"./ToolWidgetComposer.js\";\nimport { BackstageAppButton } from \"./BackstageAppButton.js\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility.js\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarOrientation, ToolbarUsage } from \"../toolbar/ToolbarItem.js\";\nimport { ToolbarItems } from \"../tools/ToolbarItems.js\";\n\n/** Properties that can be used to append items to the default set of toolbar items.\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof BasicToolWidget>`\n */\nexport interface BasicToolWidgetProps {\n /** if true include hide/isolate Models and Categories */\n showCategoryAndModelsContextTools?: boolean;\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\n icon?: string;\n /** optional set of additional items to include in horizontal toolbar */\n additionalHorizontalItems?: ToolbarItem[];\n /** optional set of additional items to include in vertical toolbar */\n additionalVerticalItems?: ToolbarItem[];\n}\n\n/** Default Tool Widget for standard \"review\" applications. Provides standard tools to review, and measure elements.\n * This definition will also show a overflow button if there is not enough room to display all the toolbar buttons.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function BasicToolWidget(props: BasicToolWidgetProps) {\n const getHorizontalToolbarItems = React.useCallback(\n (useCategoryAndModelsContextTools: boolean): ToolbarItem[] => {\n const items: ToolbarItem[] = [];\n if (useCategoryAndModelsContextTools) {\n items.push(\n ToolbarItems.createClearSelection({\n itemPriority: 10,\n }),\n ToolbarItems.createClearHideIsolateEmphasizeElements({\n itemPriority: 20,\n }),\n ToolbarItems.createHideSectionGroup({\n itemPriority: 30,\n }),\n ToolbarItems.createIsolateSelectionGroup({\n itemPriority: 40,\n }),\n ToolbarItems.createEmphasizeElements({\n itemPriority: 50,\n })\n );\n } else {\n items.push(\n ToolbarItems.createClearSelection({\n itemPriority: 10,\n }),\n ToolbarItems.createClearHideIsolateEmphasizeElements({\n itemPriority: 20,\n }),\n ToolbarItems.createHideElements({\n itemPriority: 30,\n }),\n ToolbarItems.createIsolateElements({\n itemPriority: 40,\n }),\n ToolbarItems.createEmphasizeElements({\n itemPriority: 50,\n })\n );\n }\n if (props.additionalHorizontalItems)\n items.push(...props.additionalHorizontalItems);\n return items;\n },\n [props.additionalHorizontalItems]\n );\n\n const getVerticalToolbarItems = React.useCallback((): ToolbarItem[] => {\n const items: ToolbarItem[] = [];\n items.push(\n ToolbarItems.createSelectElement({\n itemPriority: 10,\n }),\n ToolbarItems.createMeasureGroup({\n itemPriority: 20,\n }),\n ToolbarItems.createSectionGroup({\n itemPriority: 30,\n })\n );\n if (props.additionalVerticalItems)\n items.push(...props.additionalVerticalItems);\n return items;\n }, [props.additionalVerticalItems]);\n\n const [horizontalItems, setHorizontalItems] = React.useState(() =>\n getHorizontalToolbarItems(!!props.showCategoryAndModelsContextTools)\n );\n const [verticalItems, setVerticalItems] = React.useState(() =>\n getVerticalToolbarItems()\n );\n\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setHorizontalItems(\n getHorizontalToolbarItems(!!props.showCategoryAndModelsContextTools)\n );\n setVerticalItems(getVerticalToolbarItems());\n }\n }, [\n props.showCategoryAndModelsContextTools,\n props.additionalHorizontalItems,\n props.additionalVerticalItems,\n getHorizontalToolbarItems,\n getVerticalToolbarItems,\n ]);\n\n const uiIsVisible = useUiVisibility();\n const className = classnames(!uiIsVisible && \"nz-hidden\");\n return (\n <ToolWidgetComposer\n className={className}\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n cornerItem={<BackstageAppButton icon={props.icon} />}\n horizontalToolbar={\n <ToolbarComposer\n items={horizontalItems}\n usage={ToolbarUsage.ContentManipulation}\n orientation={ToolbarOrientation.Horizontal}\n />\n }\n verticalToolbar={\n <ToolbarComposer\n items={verticalItems}\n usage={ToolbarUsage.ContentManipulation}\n orientation={ToolbarOrientation.Vertical}\n />\n }\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAW,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAEL,yBAAyB,EAC1B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAQ1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;GAGG;AAEH,qBAAa,uBAAwB,SAAQ,OAAO,CAAC,2BAA2B,CAAC;CAAG;AAEpF;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,SAAS,IAAA;CACV;AAID;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAK;IACxB,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAM;IAE/B,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEzC,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,OAAO,CAAC,sBAAsB,CAAC,CAAgB;IAC/C,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAoB;IAEpD,OAAO,CAAC,uBAAuB,CAAC,CAAU;IAC1C,OAAO,CAAC,oBAAoB,CAAC,CAAoC;IACjE,OAAO,CAAC,cAAc,CAAC,CAAe;IAEtC,IAAW,KAAK,IAAI,WAAW,CAM9B;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,wBAAwB,IAAI,OAAO,CAW7C;IAED,IAAW,8BAA8B,IAAI,OAAO,CAOnD;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IACD,IAAW,WAAW,IAAI,OAAO,CAEhC;IACD,IAAW,YAAY,IAAI,OAAO,CAEjC;IACD,IAAW,eAAe,IAAI,GAAG,CAEhC;IACD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,kEAAkE;IAElE,IAAW,QAAQ,IAAI,QAAQ,CAK9B;IAGD,IAAW,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAKjC;IACD,sDAAsD;IAEtD,IAAW,SAAS,IAAI,SAAS,GAAG,SAAS,CAE5C;IACD,IAAW,SAAS,IAAI,SAAS,GAAG,SAAS,CAE5C;IACD,IAAW,aAAa,IAAI,YAAY,GAAG,SAAS,CAEnD;IAED,IAAW,UAAU,IAAI,UAAU,CAElC;IACD,IAAW,UAAU,CAAC,IAAI,EAAE,UAAU,EAErC;IAED,gBAAgB;IAChB,IAAW,uBAAuB,IAGW,KAAK,GAAG,SAAS,CAD7D;IACD,IAAW,uBAAuB,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAE7D;IAED,gBAAgB;IAChB,IAAW,mBAAmB,IAGO,SAAS,GAAG,SAAS,CADzD;IACD,IAAW,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAEzD;IAED,IAAW,YAAY,gBAEtB;;IAOD,gBAAgB;WACF,MAAM,CAClB,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,UAAmC;IAO3C,OAAO,CAAC,oBAAoB;IA2D5B,aAAa;IACb,IAAW,kBAAkB,8BAE5B;IAED,2BAA2B;IAC3B,IAAW,KAAK,IAAI,MAAM,CAGzB;IAED;;OAEG;IACI,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,YAAY;IAezE,6BAA6B;IAC7B,IAAW,OAAO,IAAI,MAAM,CAG3B;IAED;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,YAAY;IAInE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAatC;IAED,IAAW,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAEzC;IAEM,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IA8ClD,gBAAgB;IACT,wBAAwB,CAAC,QAAQ,EAAE,WAAW;IAS9C,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAI9C,IAAW,SAAS,IAAI,OAAO,GAAG,SAAS,CAE1C;IAEM,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIvD,IAAW,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEnD;IAEM,OAAO,IAAI,OAAO;IAIzB,IAAW,SAAS,IAAI,OAAO,CAI9B;IAED,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAE1D;IAED,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IAED,IAAW,mBAAmB,IAC1B,aAAa,CAAC,kBAAkB,CAAC,GACjC,SAAS,CAEZ;IAED,IAAW,mBAAmB,CAC5B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,SAAS,EAGvD;IAEM,oBAAoB,IAAI,IAAI;IAKnC,kEAAkE;IAC3D,kBAAkB,IAAI,IAAI;IAMjC;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAgBvC;;;;;OAKG;IACI,IAAI;IAqBX;;OAEG;IACI,MAAM;IAcb,8FAA8F;IAC9F,IAAW,OAAO,IAAI,MAAM,GAAG,gCAAgC,GAAG,SAAS,CAE1E;IAED,6FAA6F;IAC7F,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAEpD;IAED,6FAA6F;IACtF,gBAAgB,CACrB,IAAI,EAAE,yBAAyB,GAC9B,aAAa,GAAG,SAAS;CAsD7B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EACzB,QAAQ,EAAE,aAAa,eAuCxB"}
|