@itwin/appui-react 3.0.0-dev.173 → 3.0.0-dev.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE.md +1 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +2 -0
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +8 -0
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/configurableui/state.d.ts +3 -0
  7. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/configurableui/state.js +7 -2
  9. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  10. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  11. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  12. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +26 -17
  13. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  14. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +24 -0
  15. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/statusfields/Indicator.js +1 -1
  17. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  18. package/lib/cjs/appui-react/statusfields/Indicator.scss +0 -9
  19. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -10
  20. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +14 -35
  22. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  23. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +5 -9
  24. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +9 -19
  26. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  27. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +5 -9
  28. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +36 -49
  30. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  31. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -0
  32. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/uistate/AppUiSettings.js +4 -0
  34. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  35. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +94 -2
  36. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/widget-panels/Frontstage.js +10 -2
  38. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  39. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  40. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +0 -1
  42. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  43. package/lib/esm/appui-react/UiFramework.d.ts +2 -0
  44. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  45. package/lib/esm/appui-react/UiFramework.js +8 -0
  46. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  47. package/lib/esm/appui-react/configurableui/state.d.ts +3 -0
  48. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  49. package/lib/esm/appui-react/configurableui/state.js +7 -2
  50. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  51. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  52. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  53. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +26 -17
  54. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  55. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +24 -0
  56. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  57. package/lib/esm/appui-react/statusfields/Indicator.js +1 -1
  58. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  59. package/lib/esm/appui-react/statusfields/Indicator.scss +0 -9
  60. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -10
  61. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  62. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +15 -36
  63. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  64. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +5 -9
  65. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  66. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +10 -20
  67. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  68. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +5 -9
  69. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  70. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +37 -50
  71. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  72. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -0
  73. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  74. package/lib/esm/appui-react/uistate/AppUiSettings.js +4 -0
  75. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  76. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +94 -2
  77. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  78. package/lib/esm/appui-react/widget-panels/Frontstage.js +10 -2
  79. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  80. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  81. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  82. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +0 -1
  83. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  84. package/lib/public/locales/en/UiFramework.json +3 -1
  85. package/package.json +34 -34
@@ -1 +1 @@
1
- {"version":3,"file":"UiSettingsPage.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Settings\r\n */\r\n\r\n// cSpell:ignore configurableui checkmark\r\n\r\nimport widowSettingsIconSvg from \"@bentley/icons-generic/icons/window-settings.svg?sprite\";\r\nimport \"./UiSettingsPage.scss\";\r\nimport * as React from \"react\";\r\nimport { SettingsTabEntry } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"../../theme/ThemeManager\";\r\nimport { UiShowHideManager } from \"../../utils/UiShowHideManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../../syncui/SyncUiEventDispatcher\";\r\nimport { IconSpecUtilities, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { Select, SelectOption, Slider, ToggleSwitch } from \"@itwin/itwinui-react\";\r\n\r\n/** UiSettingsPage displaying the active UI settings. This page lets users set the following settings.\r\n *\r\n * - theme - Dark, Light, or based on OS preference.\r\n * - auto hide - Starts a timer and blanks out ui components that overlay content if there is no mouse movement for a period of time.\r\n * - drag interaction - If set, toolbar group buttons require a press and drag or a long press to open. In this mode a child action\r\n * item is shown as the group button and is activated when button is clicked. If a different child item is selected, it becomes the\r\n * active group button item.\r\n * - use proximity - Changes the opacity of toolbar from transparent to opaque as the mouse moves closer.\r\n * - snap widget opacity - triggers an abrupt change from transparent to opaque for tool and navigation widgets, instead of a gradual change based on mouse location.\r\n * - widget opacity - determines how transparent floating widgets in V2 and all widgets in V1 become when the mouse in not in them.\r\n * - UI version - if allowed by props, the UI version can be toggled between V1 and V2.\r\n *\r\n * @beta\r\n */\r\nexport function UiSettingsPage({ allowSettingUiFrameworkVersion }: { allowSettingUiFrameworkVersion: boolean }) {\r\n const themeTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeTitle\"));\r\n const themeDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeDescription\"));\r\n const autoHideTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideTitle\"));\r\n const autoHideDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideDescription\"));\r\n const dragInteractionTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionTitle\"));\r\n const dragInteractionDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionDescription\"));\r\n const useNewUiTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiTitle\"));\r\n const useNewUiDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiDescription\"));\r\n const useProximityOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityTitle\"));\r\n const useProximityOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityDescription\"));\r\n const snapWidgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityTitle\"));\r\n const snapWidgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityDescription\"));\r\n const darkLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dark\"));\r\n const lightLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.light\"));\r\n const systemPreferredLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.systemPreferred\"));\r\n const widgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityTitle\"));\r\n const widgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityDescription\"));\r\n\r\n const [theme, setTheme] = React.useState(() => UiFramework.getColorTheme());\r\n const [uiVersion, setUiVersion] = React.useState(() => UiFramework.uiVersion);\r\n const [useDragInteraction, setUseDragInteraction] = React.useState(() => UiFramework.useDragInteraction);\r\n const [widgetOpacity, setWidgetOpacity] = React.useState(() => UiFramework.getWidgetOpacity());\r\n const [autoHideUi, setAutoHideUi] = React.useState(() => UiShowHideManager.autoHideUi);\r\n const [useProximityOpacity, setUseProximityOpacity] = React.useState(() => UiShowHideManager.useProximityOpacity);\r\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(() => UiShowHideManager.snapWidgetOpacity);\r\n\r\n React.useEffect(() => {\r\n const syncIdsOfInterest = [\"configurableui:set_theme\", \"configurableui:set_widget_opacity\",\r\n \"configurableui:set-drag-interaction\", \"configurableui:set-framework-version\", SyncUiEventId.ShowHideManagerSettingChange];\r\n\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\r\n if (UiFramework.getColorTheme() !== theme)\r\n setTheme(UiFramework.getColorTheme());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiFramework.uiVersion !== uiVersion)\r\n setUiVersion(UiFramework.uiVersion);\r\n if (UiFramework.useDragInteraction !== useDragInteraction)\r\n setUseDragInteraction(UiFramework.useDragInteraction);\r\n if (UiFramework.getWidgetOpacity() !== widgetOpacity)\r\n setWidgetOpacity(UiFramework.getWidgetOpacity());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiShowHideManager.useProximityOpacity !== useProximityOpacity)\r\n setUseProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n if (UiShowHideManager.snapWidgetOpacity !== snapWidgetOpacity)\r\n setSnapWidgetOpacity(UiShowHideManager.snapWidgetOpacity);\r\n }\r\n };\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n }, [autoHideUi, snapWidgetOpacity, theme, uiVersion, useDragInteraction, useProximityOpacity, widgetOpacity]);\r\n\r\n const defaultThemeOption = { label: systemPreferredLabel.current, value: SYSTEM_PREFERRED_COLOR_THEME };\r\n const themeOptions: SelectOption<string>[] = [\r\n defaultThemeOption,\r\n { label: lightLabel.current, value: ColorTheme.Light },\r\n { label: darkLabel.current, value: ColorTheme.Dark },\r\n ];\r\n\r\n const onThemeChange = React.useCallback((newValue: string) => {\r\n UiFramework.setColorTheme(newValue);\r\n }, []);\r\n\r\n const onAutoHideChange = React.useCallback(async () => {\r\n UiShowHideManager.autoHideUi = !UiShowHideManager.autoHideUi;\r\n }, []);\r\n\r\n const onUseProximityOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.useProximityOpacity = !UiShowHideManager.useProximityOpacity;\r\n }, []);\r\n\r\n const onSnapWidgetOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.snapWidgetOpacity = !UiShowHideManager.snapWidgetOpacity;\r\n }, []);\r\n\r\n const onWidgetOpacityChange = React.useCallback(async (values: readonly number[]) => {\r\n // istanbul ignore else\r\n if (values.length > 0) {\r\n UiFramework.setWidgetOpacity(values[0]);\r\n }\r\n }, []);\r\n const onToggleFrameworkVersion = React.useCallback(async () => {\r\n UiFramework.setUiVersion(UiFramework.uiVersion === \"2\" ? \"1\" : \"2\");\r\n }, []);\r\n\r\n const onToggleDragInteraction = React.useCallback(async () => {\r\n UiFramework.setUseDragInteraction(!UiFramework.useDragInteraction);\r\n }, []);\r\n\r\n const currentTheme = UiFramework.getColorTheme();\r\n\r\n return (\r\n <div className=\"uifw-settings\">\r\n <SettingsItem title={themeTitle.current} description={themeDescription.current}\r\n settingUi={\r\n <div data-testid=\"select-theme-container\" className=\"select-theme-container\">\r\n <Select\r\n value={currentTheme}\r\n onChange={onThemeChange}\r\n options={themeOptions}\r\n data-testid=\"select-theme\"\r\n size=\"small\"\r\n />\r\n </div>\r\n }\r\n />\r\n <SettingsItem title={autoHideTitle.current} description={autoHideDescription.current}\r\n settingUi={<ToggleSwitch checked={UiShowHideManager.autoHideUi} onChange={onAutoHideChange} />}\r\n />\r\n {allowSettingUiFrameworkVersion && <SettingsItem title={useNewUiTitle.current} description={useNewUiDescription.current}\r\n settingUi={<ToggleSwitch checked={UiFramework.uiVersion === \"2\"} onChange={onToggleFrameworkVersion} />}\r\n />}\r\n {UiFramework.uiVersion === \"2\" && <>\r\n <SettingsItem title={dragInteractionTitle.current} description={dragInteractionDescription.current}\r\n settingUi={<ToggleSwitch checked={UiFramework.useDragInteraction} onChange={onToggleDragInteraction} />}\r\n />\r\n <SettingsItem title={useProximityOpacityTitle.current} description={useProximityOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={UiShowHideManager.useProximityOpacity} onChange={onUseProximityOpacityChange} />}\r\n />\r\n <SettingsItem title={snapWidgetOpacityTitle.current} description={snapWidgetOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={UiShowHideManager.snapWidgetOpacity} onChange={onSnapWidgetOpacityChange} />}\r\n />\r\n </>\r\n }\r\n <SettingsItem title={widgetOpacityTitle.current} description={widgetOpacityDescription.current}\r\n settingUi={\r\n <Slider style={{ flex: \"1\" }} values={[UiFramework.getWidgetOpacity()]} step={0.05} onChange={onWidgetOpacityChange}\r\n min={0.20} max={1.0} maxLabel=\"1.0\" tickLabels={[\"\", \"\", \"\", \"\", \"\"]} />\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\ninterface SettingsItemProps {\r\n title: string;\r\n description: string;\r\n settingUi: React.ReactNode;\r\n}\r\n\r\nfunction SettingsItem(props: SettingsItemProps) {\r\n const { title, description, settingUi } = props;\r\n\r\n return (\r\n <div className=\"uifw-settings-item\">\r\n <div className=\"panel left-panel\">\r\n <span className=\"title\">{title}</span>\r\n <span className=\"description\">{description}</span>\r\n </div>\r\n <div className=\"panel right-panel\">\r\n {settingUi}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\r\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\r\n * @beta\r\n */\r\nexport function getUiSettingsManagerEntry(itemPriority: number, allowSettingUiFrameworkVersion?: boolean): SettingsTabEntry {\r\n return {\r\n itemPriority, tabId: \"uifw:UiStateStorage\",\r\n label: UiFramework.translate(\"settings.uiSettingsPage.label\"),\r\n icon: IconSpecUtilities.createSvgIconSpec(widowSettingsIconSvg),\r\n page: <UiSettingsPage allowSettingUiFrameworkVersion={!!allowSettingUiFrameworkVersion} />,\r\n isDisabled: false,\r\n tooltip: UiFramework.translate(\"settings.uiSettingsPage.tooltip\"),\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"UiSettingsPage.js","sourceRoot":"","sources":["../../../../../src/appui-react/settings/ui/UiSettingsPage.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,yCAAyC;AAEzC,wGAA2F;AAC3F,iCAA+B;AAC/B,+BAA+B;AAE/B,mDAAgD;AAChD,2DAAoF;AACpF,qEAAkE;AAClE,8EAA0F;AAC1F,0DAA2E;AAC3E,wDAAkF;AAElF;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAAC,EAAE,8BAA8B,EAA+C;IAC5G,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC7F,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACzG,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACnG,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC/G,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACjH,MAAM,0BAA0B,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC7H,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAChG,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC5G,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC,CAAC;IACzH,MAAM,8BAA8B,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACrI,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACrH,MAAM,4BAA4B,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC,CAAC;IACjI,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACxF,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC,CAAC;IAC5G,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC;IAC7G,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC,CAAC;IACzH,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACvG,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAW,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAEnH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAW,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAW,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAW,CAAC,kBAAkB,CAAC,CAAC;IACzG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAW,CAAC,cAAc,CAAC,CAAC;IAC7F,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,yBAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,qCAAiB,CAAC,UAAU,CAAC,CAAC;IACvF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;IAClH,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,qCAAiB,CAAC,iBAAiB,CAAC,CAAC;IAE5G,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iBAAiB,GAAG,CAAC,0BAA0B,EAAE,mCAAmC,EAAE,qCAAqC;YAC/H,qCAAqC,EAAE,sCAAsC,EAAE,qCAAa,CAAC,4BAA4B,CAAC,CAAC;QAE7H,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAE,EAAE;YAClD,uBAAuB;YACvB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChF,IAAI,yBAAW,CAAC,aAAa,EAAE,KAAK,KAAK;oBACvC,QAAQ,CAAC,yBAAW,CAAC,aAAa,EAAE,CAAC,CAAC;gBACxC,IAAI,qCAAiB,CAAC,UAAU,KAAK,UAAU;oBAC7C,aAAa,CAAC,qCAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,yBAAW,CAAC,SAAS,KAAK,SAAS;oBACrC,YAAY,CAAC,yBAAW,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,yBAAW,CAAC,kBAAkB,KAAK,kBAAkB;oBACvD,qBAAqB,CAAC,yBAAW,CAAC,kBAAkB,CAAC,CAAC;gBACxD,IAAI,yBAAW,CAAC,cAAc,KAAK,cAAc;oBAC/C,iBAAiB,CAAC,yBAAW,CAAC,cAAc,CAAC,CAAC;gBAChD,IAAI,yBAAW,CAAC,gBAAgB,EAAE,KAAK,aAAa;oBAClD,gBAAgB,CAAC,yBAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACnD,IAAI,qCAAiB,CAAC,UAAU,KAAK,UAAU;oBAC7C,aAAa,CAAC,qCAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,qCAAiB,CAAC,mBAAmB,KAAK,mBAAmB;oBAC/D,sBAAsB,CAAC,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;gBAChE,IAAI,qCAAiB,CAAC,iBAAiB,KAAK,iBAAiB;oBAC3D,oBAAoB,CAAC,qCAAiB,CAAC,iBAAiB,CAAC,CAAC;aAC7D;QACH,CAAC,CAAC;QACF,OAAO,6CAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9H,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,2CAA4B,EAAE,CAAC;IACxG,MAAM,YAAY,GAA2B;QAC3C,kBAAkB;QAClB,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAU,CAAC,KAAK,EAAE;QACtD,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAU,CAAC,IAAI,EAAE;KACrD,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QAC3D,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACpD,qCAAiB,CAAC,UAAU,GAAG,CAAC,UAAU,CAAC;IAC7C,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC/D,qCAAiB,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;IAC/D,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC7D,qCAAiB,CAAC,iBAAiB,GAAG,CAAC,iBAAiB,CAAC;IAC3D,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACtD,yBAAW,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAyB,EAAE,EAAE;QAClF,uBAAuB;QACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,yBAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5D,yBAAW,CAAC,YAAY,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3D,yBAAW,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,MAAM,YAAY,GAAG,yBAAW,CAAC,aAAa,EAAE,CAAC;IAEjD,OAAO,CACL,6BAAK,SAAS,EAAC,eAAe;QAC5B,oBAAC,YAAY,IAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAC5E,SAAS,EACP,4CAAiB,wBAAwB,EAAC,SAAS,EAAC,wBAAwB;gBAC1E,oBAAC,sBAAM,IACL,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,iBACT,cAAc,EAC1B,IAAI,EAAC,OAAO,GACZ,CACE,GAER;QACF,oBAAC,YAAY,IAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAClF,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,GAAI,GAC5E;QACD,8BAA8B,IAAI,oBAAC,YAAY,IAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC,OAAO,EACrH,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,yBAAW,CAAC,SAAS,KAAK,GAAG,EAAE,QAAQ,EAAE,wBAAwB,GAAI,GACvG;QACD,yBAAW,CAAC,SAAS,KAAK,GAAG,IAAI;YAChC,oBAAC,YAAY,IAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,0BAA0B,CAAC,OAAO,EAChG,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,uBAAuB,GAAI,GAC3F;YACF,oBAAC,YAAY,IAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,8BAA8B,CAAC,OAAO,EACxG,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,2BAA2B,GAAI,GAChG;YACF,oBAAC,YAAY,IAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,4BAA4B,CAAC,OAAO,EACpG,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,GAAI,GAC5F;YACF,oBAAC,YAAY,IAAC,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,CAAC,OAAO,EACtF,SAAS,EAAE,oBAAC,4BAAY,IAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,GAAI,GAClF,CACD;QAEH,oBAAC,YAAY,IAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,wBAAwB,CAAC,OAAO,EAC5F,SAAS,EACP,oBAAC,sBAAM,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAChG,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAI,GAE5E,CACE,CACP,CAAC;AACJ,CAAC;AAnJD,wCAmJC;AAQD,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEhD,OAAO,CACL,6BAAK,SAAS,EAAC,oBAAoB;QACjC,6BAAK,SAAS,EAAC,kBAAkB;YAC/B,8BAAM,SAAS,EAAC,OAAO,IAAE,KAAK,CAAQ;YACtC,8BAAM,SAAS,EAAC,aAAa,IAAE,WAAW,CAAQ,CAC9C;QACN,6BAAK,SAAS,EAAC,mBAAmB,IAC/B,SAAS,CACN,CACF,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,YAAoB,EAAE,8BAAwC;IACtG,OAAO;QACL,YAAY,EAAE,KAAK,EAAE,qBAAqB;QAC1C,KAAK,EAAE,yBAAW,CAAC,SAAS,CAAC,+BAA+B,CAAC;QAC7D,IAAI,EAAE,kCAAiB,CAAC,iBAAiB,CAAC,oCAAoB,CAAC;QAC/D,IAAI,EAAE,oBAAC,cAAc,IAAC,8BAA8B,EAAE,CAAC,CAAC,8BAA8B,GAAI;QAC1F,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,yBAAW,CAAC,SAAS,CAAC,iCAAiC,CAAC;KAClE,CAAC;AACJ,CAAC;AATD,8DASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Settings\r\n */\r\n\r\n// cSpell:ignore configurableui checkmark\r\n\r\nimport widowSettingsIconSvg from \"@bentley/icons-generic/icons/window-settings.svg?sprite\";\r\nimport \"./UiSettingsPage.scss\";\r\nimport * as React from \"react\";\r\nimport { SettingsTabEntry } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"../../theme/ThemeManager\";\r\nimport { UiShowHideManager } from \"../../utils/UiShowHideManager\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../../syncui/SyncUiEventDispatcher\";\r\nimport { IconSpecUtilities, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { Select, SelectOption, Slider, ToggleSwitch } from \"@itwin/itwinui-react\";\r\n\r\n/** UiSettingsPage displaying the active UI settings. This page lets users set the following settings.\r\n *\r\n * - theme - Dark, Light, or based on OS preference.\r\n * - auto hide - Starts a timer and blanks out ui components that overlay content if there is no mouse movement for a period of time.\r\n * - drag interaction - If set, toolbar group buttons require a press and drag or a long press to open. In this mode a child action\r\n * item is shown as the group button and is activated when button is clicked. If a different child item is selected, it becomes the\r\n * active group button item.\r\n * - use proximity - Changes the opacity of toolbar from transparent to opaque as the mouse moves closer.\r\n * - snap widget opacity - triggers an abrupt change from transparent to opaque for tool and navigation widgets, instead of a gradual change based on mouse location.\r\n * - widget opacity - determines how transparent floating widgets in V2 and all widgets in V1 become when the mouse in not in them.\r\n * - UI version - if allowed by props, the UI version can be toggled between V1 and V2.\r\n *\r\n * @beta\r\n */\r\nexport function UiSettingsPage({ allowSettingUiFrameworkVersion }: { allowSettingUiFrameworkVersion: boolean }) {\r\n const themeTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeTitle\"));\r\n const themeDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.themeDescription\"));\r\n const autoHideTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideTitle\"));\r\n const autoHideDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.autoHideDescription\"));\r\n const dragInteractionTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionTitle\"));\r\n const dragInteractionDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dragInteractionDescription\"));\r\n const useNewUiTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiTitle\"));\r\n const useNewUiDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.newUiDescription\"));\r\n const useProximityOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityTitle\"));\r\n const useProximityOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.useProximityOpacityDescription\"));\r\n const snapWidgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityTitle\"));\r\n const snapWidgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.snapWidgetOpacityDescription\"));\r\n const darkLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.dark\"));\r\n const lightLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.light\"));\r\n const systemPreferredLabel = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.systemPreferred\"));\r\n const widgetOpacityTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityTitle\"));\r\n const widgetOpacityDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetOpacityDescription\"));\r\n const widgetIconTitle = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconTitle\"));\r\n const widgetIconDescription = React.useRef(UiFramework.translate(\"settings.uiSettingsPage.widgetIconDescription\"));\r\n\r\n const [theme, setTheme] = React.useState(() => UiFramework.getColorTheme());\r\n const [uiVersion, setUiVersion] = React.useState(() => UiFramework.uiVersion);\r\n const [useDragInteraction, setUseDragInteraction] = React.useState(() => UiFramework.useDragInteraction);\r\n const [showWidgetIcon, setShowWidgetIcon] = React.useState(() => UiFramework.showWidgetIcon);\r\n const [widgetOpacity, setWidgetOpacity] = React.useState(() => UiFramework.getWidgetOpacity());\r\n const [autoHideUi, setAutoHideUi] = React.useState(() => UiShowHideManager.autoHideUi);\r\n const [useProximityOpacity, setUseProximityOpacity] = React.useState(() => UiShowHideManager.useProximityOpacity);\r\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(() => UiShowHideManager.snapWidgetOpacity);\r\n\r\n React.useEffect(() => {\r\n const syncIdsOfInterest = [\"configurableui:set_theme\", \"configurableui:set_widget_opacity\", \"configurableui:set-show-widget-icon\",\r\n \"configurableui:set-drag-interaction\", \"configurableui:set-framework-version\", SyncUiEventId.ShowHideManagerSettingChange];\r\n\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value))) {\r\n if (UiFramework.getColorTheme() !== theme)\r\n setTheme(UiFramework.getColorTheme());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiFramework.uiVersion !== uiVersion)\r\n setUiVersion(UiFramework.uiVersion);\r\n if (UiFramework.useDragInteraction !== useDragInteraction)\r\n setUseDragInteraction(UiFramework.useDragInteraction);\r\n if (UiFramework.showWidgetIcon !== showWidgetIcon)\r\n setShowWidgetIcon(UiFramework.showWidgetIcon);\r\n if (UiFramework.getWidgetOpacity() !== widgetOpacity)\r\n setWidgetOpacity(UiFramework.getWidgetOpacity());\r\n if (UiShowHideManager.autoHideUi !== autoHideUi)\r\n setAutoHideUi(UiShowHideManager.autoHideUi);\r\n if (UiShowHideManager.useProximityOpacity !== useProximityOpacity)\r\n setUseProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n if (UiShowHideManager.snapWidgetOpacity !== snapWidgetOpacity)\r\n setSnapWidgetOpacity(UiShowHideManager.snapWidgetOpacity);\r\n }\r\n };\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n }, [autoHideUi, showWidgetIcon, snapWidgetOpacity, theme, uiVersion, useDragInteraction, useProximityOpacity, widgetOpacity]);\r\n\r\n const defaultThemeOption = { label: systemPreferredLabel.current, value: SYSTEM_PREFERRED_COLOR_THEME };\r\n const themeOptions: SelectOption<string>[] = [\r\n defaultThemeOption,\r\n { label: lightLabel.current, value: ColorTheme.Light },\r\n { label: darkLabel.current, value: ColorTheme.Dark },\r\n ];\r\n\r\n const onThemeChange = React.useCallback((newValue: string) => {\r\n UiFramework.setColorTheme(newValue);\r\n }, []);\r\n\r\n const onAutoHideChange = React.useCallback(async () => {\r\n UiShowHideManager.autoHideUi = !autoHideUi;\r\n }, [autoHideUi]);\r\n\r\n const onUseProximityOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.useProximityOpacity = !useProximityOpacity;\r\n }, [useProximityOpacity]);\r\n\r\n const onSnapWidgetOpacityChange = React.useCallback(async () => {\r\n UiShowHideManager.snapWidgetOpacity = !snapWidgetOpacity;\r\n }, [snapWidgetOpacity]);\r\n\r\n const onWidgetIconChange = React.useCallback(async () => {\r\n UiFramework.setShowWidgetIcon(!showWidgetIcon);\r\n }, [showWidgetIcon]);\r\n\r\n const onWidgetOpacityChange = React.useCallback(async (values: readonly number[]) => {\r\n // istanbul ignore else\r\n if (values.length > 0) {\r\n UiFramework.setWidgetOpacity(values[0]);\r\n }\r\n }, []);\r\n const onToggleFrameworkVersion = React.useCallback(async () => {\r\n UiFramework.setUiVersion(uiVersion === \"2\" ? \"1\" : \"2\");\r\n }, [uiVersion]);\r\n\r\n const onToggleDragInteraction = React.useCallback(async () => {\r\n UiFramework.setUseDragInteraction(!useDragInteraction);\r\n }, [useDragInteraction]);\r\n\r\n const currentTheme = UiFramework.getColorTheme();\r\n\r\n return (\r\n <div className=\"uifw-settings\">\r\n <SettingsItem title={themeTitle.current} description={themeDescription.current}\r\n settingUi={\r\n <div data-testid=\"select-theme-container\" className=\"select-theme-container\">\r\n <Select\r\n value={currentTheme}\r\n onChange={onThemeChange}\r\n options={themeOptions}\r\n data-testid=\"select-theme\"\r\n size=\"small\"\r\n />\r\n </div>\r\n }\r\n />\r\n <SettingsItem title={autoHideTitle.current} description={autoHideDescription.current}\r\n settingUi={<ToggleSwitch checked={autoHideUi} onChange={onAutoHideChange} />}\r\n />\r\n {allowSettingUiFrameworkVersion && <SettingsItem title={useNewUiTitle.current} description={useNewUiDescription.current}\r\n settingUi={<ToggleSwitch checked={UiFramework.uiVersion === \"2\"} onChange={onToggleFrameworkVersion} />}\r\n />}\r\n {UiFramework.uiVersion === \"2\" && <>\r\n <SettingsItem title={dragInteractionTitle.current} description={dragInteractionDescription.current}\r\n settingUi={<ToggleSwitch checked={useDragInteraction} onChange={onToggleDragInteraction} />}\r\n />\r\n <SettingsItem title={useProximityOpacityTitle.current} description={useProximityOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={useProximityOpacity} onChange={onUseProximityOpacityChange} />}\r\n />\r\n <SettingsItem title={snapWidgetOpacityTitle.current} description={snapWidgetOpacityDescription.current}\r\n settingUi={<ToggleSwitch checked={snapWidgetOpacity} onChange={onSnapWidgetOpacityChange} />}\r\n />\r\n <SettingsItem title={widgetIconTitle.current} description={widgetIconDescription.current}\r\n settingUi={<ToggleSwitch checked={showWidgetIcon} onChange={onWidgetIconChange} />}\r\n />\r\n </>\r\n }\r\n <SettingsItem title={widgetOpacityTitle.current} description={widgetOpacityDescription.current}\r\n settingUi={\r\n <Slider style={{ flex: \"1\" }} values={[widgetOpacity]} step={0.05} onChange={onWidgetOpacityChange}\r\n min={0.20} max={1.0} maxLabel=\"1.0\" tickLabels={[\"\", \"\", \"\", \"\", \"\"]} />\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\ninterface SettingsItemProps {\r\n title: string;\r\n description: string;\r\n settingUi: React.ReactNode;\r\n}\r\n\r\nfunction SettingsItem(props: SettingsItemProps) {\r\n const { title, description, settingUi } = props;\r\n\r\n return (\r\n <div className=\"uifw-settings-item\">\r\n <div className=\"panel left-panel\">\r\n <span className=\"title\">{title}</span>\r\n <span className=\"description\">{description}</span>\r\n </div>\r\n <div className=\"panel right-panel\">\r\n {settingUi}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Return a SettingsTabEntry that can be used to define the available settings that can be set for an application.\r\n * @param itemPriority - Used to define the order of the entry in the Settings Stage\r\n * @beta\r\n */\r\nexport function getUiSettingsManagerEntry(itemPriority: number, allowSettingUiFrameworkVersion?: boolean): SettingsTabEntry {\r\n return {\r\n itemPriority, tabId: \"uifw:UiStateStorage\",\r\n label: UiFramework.translate(\"settings.uiSettingsPage.label\"),\r\n icon: IconSpecUtilities.createSvgIconSpec(widowSettingsIconSvg),\r\n page: <UiSettingsPage allowSettingUiFrameworkVersion={!!allowSettingUiFrameworkVersion} />,\r\n isDisabled: false,\r\n tooltip: UiFramework.translate(\"settings.uiSettingsPage.tooltip\"),\r\n };\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Frontstage
3
3
  */
4
+ /// <reference types="react" />
4
5
  import { StagePanelLocation, StagePanelSection } from "@itwin/appui-abstract";
5
6
  import { UiEvent } from "@itwin/core-react";
6
7
  import { NineZoneState, PanelSide } from "@itwin/appui-layout-react";
@@ -224,6 +225,29 @@ export declare const setPanelSize: (base: {
224
225
  readonly [x: string]: {
225
226
  readonly id: string;
226
227
  readonly label: string;
228
+ readonly iconSpec?: boolean | import("react").ReactText | {
229
+ readonly type: string | import("react").JSXElementConstructor<any>;
230
+ readonly props: any;
231
+ readonly key: import("react").Key | null;
232
+ } | {} | {
233
+ readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
234
+ } | {
235
+ readonly key: import("react").Key | null;
236
+ readonly children: boolean | import("react").ReactText | {
237
+ readonly type: string | import("react").JSXElementConstructor<any>;
238
+ readonly props: any;
239
+ readonly key: import("react").Key | null;
240
+ } | {} | {
241
+ readonly [Symbol.iterator]: () => Iterator<import("react").ReactNode, any, undefined>;
242
+ } | any | null | undefined;
243
+ readonly type: string | import("react").JSXElementConstructor<any>;
244
+ readonly props: any;
245
+ } | {
246
+ readonly stringGetter: () => string;
247
+ readonly syncEventIds: readonly string[];
248
+ readonly value: string;
249
+ readonly refresh: () => boolean;
250
+ } | null | undefined;
227
251
  readonly preferredFloatingWidgetSize?: {
228
252
  readonly width: number;
229
253
  readonly height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StagePanelDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/stagepanels/StagePanelDef.tsx"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ function Indicator(props) {
34
34
  const classNames = (0, classnames_1.default)("uifw-footer-label-left", "uifw-footer-indicator", inFooter && "nz-footer-mode", hasClickAction && "uifw-footer-action", labelSide === appui_abstract_1.StatusBarLabelSide.Right && "uifw-footer-label-reversed", className);
35
35
  return (React.createElement(React.Fragment, null,
36
36
  React.createElement("div", { ref: target, role: "button", tabIndex: -1, className: classNames, title: title, style: style, onClick: handleOnIndicatorClick },
37
- isLabelVisible && label && React.createElement("span", null, appui_abstract_1.ConditionalStringValue.getValue(label)),
37
+ isLabelVisible && label && React.createElement("span", { className: "nz-label" }, appui_abstract_1.ConditionalStringValue.getValue(label)),
38
38
  icon && React.createElement("div", { className: "uifw-indicator-icon" },
39
39
  React.createElement(core_react_1.Icon, { iconSpec: icon }))),
40
40
  dialog && React.createElement(appui_layout_react_1.FooterPopup, { contentType: contentType, target: target.current, onClose: () => setIsOpen(false), isOpen: isOpen }, dialog)));
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAC/B,0DAAmF;AACnF,kDAAsD;AACtD,kEAAgF;AA8BhF;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxJ,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,oBAAU,EAC3B,wBAAwB,EAAE,uBAAuB,EACjD,QAAQ,IAAI,gBAAgB,EAC5B,cAAc,IAAI,oBAAoB,EACtC,SAAS,KAAK,mCAAkB,CAAC,KAAK,IAAI,4BAA4B,EACtE,SAAS,CAAC,CAAC;IACb,OAAO,CAEL;QAEE,6BAAK,GAAG,EAAE,MAAM,EACd,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB;YAE9B,cAAc,IAAI,KAAK,IAAI,kCAAO,uCAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;YAChF,IAAI,IAAI,6BAAK,SAAS,EAAC,qBAAqB;gBAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,GAAI,CAAM,CACxE;QACL,MAAM,IAAI,oBAAC,gCAAW,IAAC,WAAW,EAAE,WAAW,EAC9C,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,EAAE,MAAM,IACb,MAAM,CACK,CACb,CACJ,CAAC;AACJ,CAAC;AA1CD,8BA0CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./Indicator.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalStringValue, StatusBarLabelSide } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { FooterPopup, FooterPopupContentType } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[Indicator]] component. */\r\ninterface IndicatorProps extends CommonProps {\r\n /** Label of balloon icon. @deprecated use label */\r\n balloonLabel?: string;\r\n /** Dialog to display in popup when indicator is clicked. */\r\n dialog?: React.ReactChild;\r\n /** Icon to use in the footer. @deprecated use iconSpec */\r\n iconName?: string;\r\n /** specification for Icon, overrides iconName specification */\r\n iconSpec?: string | ConditionalStringValue;\r\n /** Describes if the indicator label is visible. */\r\n isLabelVisible?: boolean;\r\n /** Indicator label. */\r\n label?: string;\r\n /** Side to display label. */\r\n labelSide?: StatusBarLabelSide;\r\n /** Function called when indicator is clicked. */\r\n onClick?: () => void;\r\n /** If dialog prop is set, used to determine initial state. */\r\n opened?: boolean;\r\n /** Describes whether the footer is in footer or widget mode. */\r\n isInFooterMode?: boolean;\r\n /** Tooltip text if not specified label is used */\r\n toolTip?: string;\r\n /** ContentType is used to determine color of popup arrow. If not set defaults to FooterPopupContentType.Dialog */\r\n contentType?: FooterPopupContentType;\r\n}\r\n\r\n/** General-purpose [[Footer]] indicator. Shows an icon and supports an optional popup dialog.\r\n * @beta\r\n */\r\nexport function Indicator(props: IndicatorProps) {\r\n const { className, contentType, dialog, iconName, iconSpec, isInFooterMode, isLabelVisible, label, labelSide, onClick, opened, style, toolTip } = props;\r\n const hasClickAction = React.useMemo(() => !!onClick || !!dialog, [dialog, onClick]);\r\n const [isOpen, setIsOpen] = React.useState(!!opened);\r\n const handleOnIndicatorClick = React.useCallback(() => {\r\n if (dialog) {\r\n setIsOpen(!isOpen);\r\n }\r\n onClick && onClick();\r\n }, [dialog, isOpen, onClick]);\r\n const inFooter = React.useMemo(() => false === isInFooterMode ? false : true, [isInFooterMode]);\r\n const target = React.useRef<HTMLDivElement>(null);\r\n const icon = React.useMemo(() => iconSpec ?? iconName, [iconSpec, iconName]);\r\n const title = React.useMemo(() => toolTip ?? label, [toolTip, label]);\r\n const classNames = classnames(\r\n \"uifw-footer-label-left\", \"uifw-footer-indicator\",\r\n inFooter && \"nz-footer-mode\",\r\n hasClickAction && \"uifw-footer-action\",\r\n labelSide === StatusBarLabelSide.Right && \"uifw-footer-label-reversed\",\r\n className);\r\n return (\r\n\r\n <>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div ref={target}\r\n role=\"button\" tabIndex={-1}\r\n className={classNames}\r\n title={title}\r\n style={style}\r\n onClick={handleOnIndicatorClick}\r\n >\r\n {isLabelVisible && label && <span>{ConditionalStringValue.getValue(label)}</span>}\r\n {icon && <div className=\"uifw-indicator-icon\"><Icon iconSpec={icon} /></div>}\r\n </div>\r\n {dialog && <FooterPopup contentType={contentType}\r\n target={target.current}\r\n onClose={() => setIsOpen(false)}\r\n isOpen={isOpen}>\r\n {dialog}\r\n </FooterPopup>}\r\n </>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/Indicator.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAC/B,0DAAmF;AACnF,kDAAsD;AACtD,kEAAgF;AA8BhF;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxJ,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,oBAAU,EAC3B,wBAAwB,EAAE,uBAAuB,EACjD,QAAQ,IAAI,gBAAgB,EAC5B,cAAc,IAAI,oBAAoB,EACtC,SAAS,KAAK,mCAAkB,CAAC,KAAK,IAAI,4BAA4B,EACtE,SAAS,CAAC,CAAC;IACb,OAAO,CAEL;QAEE,6BAAK,GAAG,EAAE,MAAM,EACd,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB;YAE9B,cAAc,IAAI,KAAK,IAAI,8BAAM,SAAS,EAAC,UAAU,IAAE,uCAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;YACrG,IAAI,IAAI,6BAAK,SAAS,EAAC,qBAAqB;gBAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,GAAI,CAAM,CACxE;QACL,MAAM,IAAI,oBAAC,gCAAW,IAAC,WAAW,EAAE,WAAW,EAC9C,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,EAAE,MAAM,IACb,MAAM,CACK,CACb,CACJ,CAAC;AACJ,CAAC;AA1CD,8BA0CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StatusBar\r\n */\r\n\r\nimport \"./Indicator.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalStringValue, StatusBarLabelSide } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { FooterPopup, FooterPopupContentType } from \"@itwin/appui-layout-react\";\r\n\r\n/** Properties of [[Indicator]] component. */\r\ninterface IndicatorProps extends CommonProps {\r\n /** Label of balloon icon. @deprecated use label */\r\n balloonLabel?: string;\r\n /** Dialog to display in popup when indicator is clicked. */\r\n dialog?: React.ReactChild;\r\n /** Icon to use in the footer. @deprecated use iconSpec */\r\n iconName?: string;\r\n /** specification for Icon, overrides iconName specification */\r\n iconSpec?: string | ConditionalStringValue;\r\n /** Describes if the indicator label is visible. */\r\n isLabelVisible?: boolean;\r\n /** Indicator label. */\r\n label?: string;\r\n /** Side to display label. */\r\n labelSide?: StatusBarLabelSide;\r\n /** Function called when indicator is clicked. */\r\n onClick?: () => void;\r\n /** If dialog prop is set, used to determine initial state. */\r\n opened?: boolean;\r\n /** Describes whether the footer is in footer or widget mode. */\r\n isInFooterMode?: boolean;\r\n /** Tooltip text if not specified label is used */\r\n toolTip?: string;\r\n /** ContentType is used to determine color of popup arrow. If not set defaults to FooterPopupContentType.Dialog */\r\n contentType?: FooterPopupContentType;\r\n}\r\n\r\n/** General-purpose [[Footer]] indicator. Shows an icon and supports an optional popup dialog.\r\n * @beta\r\n */\r\nexport function Indicator(props: IndicatorProps) {\r\n const { className, contentType, dialog, iconName, iconSpec, isInFooterMode, isLabelVisible, label, labelSide, onClick, opened, style, toolTip } = props;\r\n const hasClickAction = React.useMemo(() => !!onClick || !!dialog, [dialog, onClick]);\r\n const [isOpen, setIsOpen] = React.useState(!!opened);\r\n const handleOnIndicatorClick = React.useCallback(() => {\r\n if (dialog) {\r\n setIsOpen(!isOpen);\r\n }\r\n onClick && onClick();\r\n }, [dialog, isOpen, onClick]);\r\n const inFooter = React.useMemo(() => false === isInFooterMode ? false : true, [isInFooterMode]);\r\n const target = React.useRef<HTMLDivElement>(null);\r\n const icon = React.useMemo(() => iconSpec ?? iconName, [iconSpec, iconName]);\r\n const title = React.useMemo(() => toolTip ?? label, [toolTip, label]);\r\n const classNames = classnames(\r\n \"uifw-footer-label-left\", \"uifw-footer-indicator\",\r\n inFooter && \"nz-footer-mode\",\r\n hasClickAction && \"uifw-footer-action\",\r\n labelSide === StatusBarLabelSide.Right && \"uifw-footer-label-reversed\",\r\n className);\r\n return (\r\n\r\n <>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div ref={target}\r\n role=\"button\" tabIndex={-1}\r\n className={classNames}\r\n title={title}\r\n style={style}\r\n onClick={handleOnIndicatorClick}\r\n >\r\n {isLabelVisible && label && <span className=\"nz-label\">{ConditionalStringValue.getValue(label)}</span>}\r\n {icon && <div className=\"uifw-indicator-icon\"><Icon iconSpec={icon} /></div>}\r\n </div>\r\n {dialog && <FooterPopup contentType={contentType}\r\n target={target.current}\r\n onClose={() => setIsOpen(false)}\r\n isOpen={isOpen}>\r\n {dialog}\r\n </FooterPopup>}\r\n </>\r\n );\r\n}\r\n"]}
@@ -110,15 +110,6 @@
110
110
  padding-right: $nz-footer-indicator-horizontal-padding-small;
111
111
  }
112
112
 
113
- >.nz-label {
114
- margin-right: $space-between-text-and-icon;
115
- display: none;
116
-
117
- &.nz-is-visible {
118
- display: block;
119
- }
120
- }
121
-
122
113
  >.nz-balloon-container {
123
114
  height: 100%;
124
115
  position: relative;
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module StandardUiItemsProvider
3
3
  */
4
- import { CommonStatusBarItem, CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsProvider } from "@itwin/appui-abstract";
4
+ import { BaseUiItemsProvider, CommonStatusBarItem, CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from "@itwin/appui-abstract";
5
5
  /**
6
6
  * Defines options that may be set in frontstage app data to control what group priorities
7
7
  * to use for each tool button that can be added by this extension. Defining groupIds is optional
@@ -65,10 +65,8 @@ export interface DefaultContentTools {
65
65
  * Provide standard tools for the ContentManipulationWidgetComposer.
66
66
  * @public
67
67
  */
68
- export declare class StandardContentToolsProvider implements UiItemsProvider {
69
- private _providerId;
68
+ export declare class StandardContentToolsProvider extends BaseUiItemsProvider {
70
69
  private defaultContextTools?;
71
- private isSupportedStage?;
72
70
  /**
73
71
  * static function to register the StandardContentToolsProvider
74
72
  * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
@@ -78,11 +76,9 @@ export declare class StandardContentToolsProvider implements UiItemsProvider {
78
76
  * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and
79
77
  * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.
80
78
  */
81
- static register(providerId: string, defaultContextTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean): void;
82
- static unregister(providerId: string): void;
83
- constructor(_providerId: string, defaultContextTools?: DefaultContentTools | undefined, isSupportedStage?: ((stageId: string, stageUsage: string, stageAppData?: any) => boolean) | undefined);
84
- get id(): string;
85
- provideToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[];
86
- provideStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): CommonStatusBarItem[];
79
+ static register(providerId: string, defaultContextTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean): StandardContentToolsProvider;
80
+ constructor(providerId: string, defaultContextTools?: DefaultContentTools | undefined, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean);
81
+ provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[];
82
+ provideStatusBarItemsInternal(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[];
87
83
  }
88
84
  //# sourceMappingURL=StandardContentToolsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StandardContentToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAgC,kBAAkB,EAAE,YAAY,EAAkB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQhL;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE;YACT,0BAA0B,CAAC,EAAE,MAAM,CAAC;YACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,2BAA2B,CAAC,EAAE,MAAM,CAAC;YACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,4FAA4F;QAC5F,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC3B,+FAA+F;QAC/F,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,sDAAsD;QACtD,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAeD;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IAsBtD,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,mBAAmB,CAAC;IAAuB,OAAO,CAAC,gBAAgB,CAAC;IApBrH;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;WAO/J,UAAU,CAAC,UAAU,EAAE,MAAM;gBAIvB,WAAW,EAAE,MAAM,EAAU,mBAAmB,CAAC,iCAAqB,EAAU,gBAAgB,CAAC,aAAY,MAAM,cAAc,MAAM,iBAAiB,GAAG,KAAK,OAAO,aAAA;IAE3L,IAAW,EAAE,IAAI,MAAM,CAA6B;IAE7C,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAuD3K,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,mBAAmB,EAAE;CAuB7G"}
1
+ {"version":3,"file":"StandardContentToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAoB,kBAAkB,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAQxK;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE;YACT,0BAA0B,CAAC,EAAE,MAAM,CAAC;YACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,2BAA2B,CAAC,EAAE,MAAM,CAAC;YACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,4FAA4F;QAC5F,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC3B,+FAA+F;QAC/F,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,sDAAsD;QACtD,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAeD;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,mBAAmB;IAmBnC,OAAO,CAAC,mBAAmB,CAAC;IAlB5D;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;gBASjK,UAAU,EAAE,MAAM,EAAU,mBAAmB,CAAC,iCAAqB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;IAI1J,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAgDrL,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,mBAAmB,EAAE;CAWjI"}
@@ -31,11 +31,10 @@ function getGroupPriority(potentialId, defaultValue) {
31
31
  * Provide standard tools for the ContentManipulationWidgetComposer.
32
32
  * @public
33
33
  */
34
- class StandardContentToolsProvider {
35
- constructor(_providerId, defaultContextTools, isSupportedStage) {
36
- this._providerId = _providerId;
34
+ class StandardContentToolsProvider extends appui_abstract_1.BaseUiItemsProvider {
35
+ constructor(providerId, defaultContextTools, isSupportedStage) {
36
+ super(providerId, isSupportedStage);
37
37
  this.defaultContextTools = defaultContextTools;
38
- this.isSupportedStage = isSupportedStage;
39
38
  }
40
39
  /**
41
40
  * static function to register the StandardContentToolsProvider
@@ -47,25 +46,16 @@ class StandardContentToolsProvider {
47
46
  * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.
48
47
  */
49
48
  static register(providerId, defaultContextTools, isSupportedStage) {
50
- appui_abstract_1.UiItemsManager.register(new StandardContentToolsProvider(providerId, defaultContextTools, isSupportedStage));
49
+ const provider = new StandardContentToolsProvider(providerId, defaultContextTools, isSupportedStage);
50
+ appui_abstract_1.UiItemsManager.register(provider);
51
51
  // register core commands not automatically registered
52
52
  core_frontend_1.ViewClipByPlaneTool.register();
53
+ return provider;
53
54
  }
54
- static unregister(providerId) {
55
- appui_abstract_1.UiItemsManager.unregister(providerId);
56
- }
57
- get id() { return this._providerId; }
58
- provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
55
+ provideToolbarButtonItemsInternal(_stageId, _stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
59
56
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
60
57
  const items = [];
61
- let provideToStage = false;
62
- if (this.isSupportedStage) {
63
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);
64
- }
65
- else {
66
- provideToStage = (stageUsage === appui_abstract_1.StageUsage.General);
67
- }
68
- if (provideToStage && toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) {
58
+ if (toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) {
69
59
  const clearSelectionGroupPriority = getGroupPriority((_b = (_a = stageAppData === null || stageAppData === void 0 ? void 0 : stageAppData.defaultContentTools) === null || _a === void 0 ? void 0 : _a.horizontal) === null || _b === void 0 ? void 0 : _b.clearSelectionGroupPriority, 10);
70
60
  const overridesGroupPriority = getGroupPriority((_d = (_c = stageAppData === null || stageAppData === void 0 ? void 0 : stageAppData.defaultContentTools) === null || _c === void 0 ? void 0 : _c.horizontal) === null || _d === void 0 ? void 0 : _d.overridesGroupPriority, 20);
71
61
  if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearSelection)
@@ -88,7 +78,7 @@ class StandardContentToolsProvider {
88
78
  items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextItemDef_1.SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));
89
79
  }
90
80
  }
91
- else /* istanbul ignore else */ if (provideToStage && toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
81
+ else /* istanbul ignore else */ if (toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
92
82
  const selectElementGroupPriority = getGroupPriority((_k = (_j = stageAppData === null || stageAppData === void 0 ? void 0 : stageAppData.defaultContentTools) === null || _j === void 0 ? void 0 : _j.vertical) === null || _k === void 0 ? void 0 : _k.selectElementGroupPriority, 10);
93
83
  const measureGroupPriority = getGroupPriority((_m = (_l = stageAppData === null || stageAppData === void 0 ? void 0 : stageAppData.defaultContentTools) === null || _l === void 0 ? void 0 : _l.vertical) === null || _m === void 0 ? void 0 : _m.measureGroupPriority, 10);
94
84
  const selectionGroupPriority = getGroupPriority((_p = (_o = stageAppData === null || stageAppData === void 0 ? void 0 : stageAppData.defaultContentTools) === null || _o === void 0 ? void 0 : _o.vertical) === null || _p === void 0 ? void 0 : _p.selectionGroupPriority, 10);
@@ -101,24 +91,13 @@ class StandardContentToolsProvider {
101
91
  }
102
92
  return items;
103
93
  }
104
- provideStatusBarItems(stageId, stageUsage, stageAppData) {
94
+ provideStatusBarItemsInternal(_stageId, _stageUsage, _stageAppData) {
105
95
  var _a, _b;
106
96
  const statusBarItems = [];
107
- let provideToStage = false;
108
- // istanbul ignore else
109
- if (this.isSupportedStage) {
110
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);
111
- }
112
- else {
113
- provideToStage = (stageUsage === appui_abstract_1.StageUsage.General);
114
- }
115
- // istanbul ignore else
116
- if (provideToStage) {
117
- // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section
118
- if ((_b = (_a = this.defaultContextTools) === null || _a === void 0 ? void 0 : _a.vertical) === null || _b === void 0 ? void 0 : _b.sectionGroup) {
119
- const Sections = (0, withStatusFieldProps_1.withStatusFieldProps)(SectionsField_1.SectionsStatusField);
120
- statusBarItems.push(StatusBarItemUtilities_1.StatusBarItemUtilities.createStatusBarItem("uifw.Sections", appui_abstract_1.StatusBarSection.Center, 20, React.createElement(Sections, { hideWhenUnused: true })));
121
- }
97
+ // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section
98
+ if ((_b = (_a = this.defaultContextTools) === null || _a === void 0 ? void 0 : _a.vertical) === null || _b === void 0 ? void 0 : _b.sectionGroup) {
99
+ const Sections = (0, withStatusFieldProps_1.withStatusFieldProps)(SectionsField_1.SectionsStatusField);
100
+ statusBarItems.push(StatusBarItemUtilities_1.StatusBarItemUtilities.createStatusBarItem("uifw.Sections", appui_abstract_1.StatusBarSection.Center, 20, React.createElement(Sections, { hideWhenUnused: true })));
122
101
  }
123
102
  return statusBarItems;
124
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,wDAA2D;AAC3D,0DAAgL;AAChL,kFAAuF;AACvF,gFAA6E;AAC7E,4EAAyE;AACzE,iEAAoE;AACpE,4DAAyD;AACzD,sEAAyD;AA+DzD,SAAS,gBAAgB,CAAC,WAAgB,EAAE,YAAoB;IAC9D,IAAI,SAAS,KAAK,WAAW;QAC3B,OAAO,YAAY,CAAC;IAEtB,uBAAuB;IACvB,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,OAAO,WAAW,CAAC;KACpB;IAED,uBAAuB;IACvB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAa,4BAA4B;IAsBvC,YAAoB,WAAmB,EAAU,mBAAyC,EAAU,gBAAuF;QAAvK,gBAAW,GAAX,WAAW,CAAQ;QAAU,wBAAmB,GAAnB,mBAAmB,CAAsB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAuE;IAAI,CAAC;IApBhM;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,CAAC,UAAkB,EAAE,mBAAyC,EAAE,gBAAuF;QAC3K,+BAAc,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAE7G,sDAAsD;QACtD,mCAAmB,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,UAAkB;QACzC,+BAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAID,IAAW,EAAE,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE7C,yBAAyB,CAAC,OAAe,EAAE,UAAkB,EAAE,YAA0B,EAAE,kBAAsC,EAAE,YAAkB;;QAC1J,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;SAC3E;aAAM;YACL,cAAc,GAAG,CAAC,UAAU,KAAK,2BAAU,CAAC,OAAO,CAAC,CAAC;SACtD;QAED,IAAI,cAAc,IAAI,YAAY,KAAK,6BAAY,CAAC,mBAAmB,IAAI,kBAAkB,KAAK,mCAAkB,CAAC,UAAU,EAAE;YAC/H,MAAM,2BAA2B,GAAG,gBAAgB,CAAC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,mBAAmB,0CAAE,UAAU,0CAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;YACrI,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,mBAAmB,0CAAE,UAAU,0CAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAE3H,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,cAAc;gBACzH,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;YAE9I,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,qBAAqB;gBAChI,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,wCAAwC,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAElL,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE;gBACjH,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,0CAAE,IAAI,MAAK,OAAO;oBACxD,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,oBAAoB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;;oBAE5J,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,mBAAmB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;aAC9J;YAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,EAAE;gBACpH,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,0CAAE,OAAO,MAAK,OAAO;oBAC3D,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,yBAAyB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;;oBAEjK,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,sBAAsB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACjK;YAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE;gBACtH,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,yDAA+B,CAAC,wBAAwB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACjK;SAEF;aAAM,0BAA0B,CAAC,IAAI,cAAc,IAAI,YAAY,KAAK,6BAAY,CAAC,mBAAmB,IAAI,kBAAkB,KAAK,mCAAkB,CAAC,QAAQ,EAAE;YAC/J,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,mBAAmB,0CAAE,QAAQ,0CAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;YACjI,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,mBAAmB,0CAAE,QAAQ,0CAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;YACrH,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,mBAAmB,0CAAE,QAAQ,0CAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAEzH,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa;gBACpH,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,+BAAS,CAAC,oBAAoB,EAAE,EAAE,aAAa,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAE5I,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY;gBACnH,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,+BAAS,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAElI,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY;gBACnH,KAAK,CAAC,IAAI,CAAC,6BAAa,CAAC,4BAA4B,CAAC,EAAE,EAAE,+BAAS,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;SACrI;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,qBAAqB,CAAC,OAAe,EAAE,UAAkB,EAAE,YAAkB;;QAClF,MAAM,cAAc,GAA0B,EAAE,CAAC;QACjD,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,uBAAuB;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;SAC3E;aAAM;YACL,cAAc,GAAG,CAAC,UAAU,KAAK,2BAAU,CAAC,OAAO,CAAC,CAAC;SACtD;QAED,uBAAuB;QACvB,IAAI,cAAc,EAAE;YAClB,8HAA8H;YAC9H,IAAI,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,QAAQ,0CAAE,YAAY,EAAE;gBACpD,MAAM,QAAQ,GAAG,IAAA,2CAAoB,EAAC,mCAAmB,CAAC,CAAC;gBAC3D,cAAc,CAAC,IAAI,CAAC,+CAAsB,CAAC,mBAAmB,CAAC,eAAe,EAAE,iCAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,oBAAC,QAAQ,IAAC,cAAc,SAAG,CAAC,CAAC,CAAC;aAC5I;SACF;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CAEF;AAxGD,oEAwGC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport { CommonStatusBarItem, CommonToolbarItem, StageUsage, StatusBarSection, ToolbarOrientation, ToolbarUsage, UiItemsManager, UiItemsProvider } from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/**\r\n * Defines options that may be set in frontstage app data to control what group priorities\r\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\r\n * and only required if use wants to override the default grouping. This application data is statically\r\n * set in the FrontstageProvider.\r\n * @example\r\n * ```\r\n * const applicationData = {\r\n * defaultContentTools: {\r\n * vertical: {\r\n * selectElementGroupPriority: 100,\r\n * measureGroupPriority: 200,\r\n * selectionGroupPriority: 300,\r\n * },\r\n * horizontal: {\r\n * clearSelectionGroupPriority: 100,\r\n * overridesGroupPriority: 200,\r\n * },\r\n * },\r\n * }\r\n *\r\n * ```\r\n * @public\r\n */\r\nexport interface DefaultContentToolsAppData {\r\n defaultContentTools?: {\r\n vertical?: {\r\n selectElementGroupPriority?: number;\r\n measureGroupPriority?: number;\r\n selectionGroupPriority?: number;\r\n };\r\n horizontal?: {\r\n clearSelectionGroupPriority?: number;\r\n overridesGroupPriority?: number;\r\n };\r\n };\r\n}\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultContentTools {\r\n horizontal?: {\r\n clearSelection?: boolean;\r\n clearDisplayOverrides?: boolean;\r\n /** if group then group button is shown to allow user to hide by element, category, model */\r\n hide?: \"group\" | \"element\";\r\n /** if group then group button is shown to allow user to isolate by element, category, model */\r\n isolate?: \"group\" | \"element\";\r\n /** only element is currently support for emphasize */\r\n emphasize?: \"element\";\r\n };\r\n vertical?: {\r\n selectElement?: boolean;\r\n measureGroup?: boolean;\r\n sectionGroup?: boolean;\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ContentManipulationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardContentToolsProvider implements UiItemsProvider {\r\n\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools.\r\n * @param defaultContextTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultContextTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n UiItemsManager.register(new StandardContentToolsProvider(providerId, defaultContextTools, isSupportedStage));\r\n\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n }\r\n\r\n public static unregister(providerId: string) {\r\n UiItemsManager.unregister(providerId);\r\n }\r\n\r\n constructor(private _providerId: string, private defaultContextTools?: DefaultContentTools, private isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) { }\r\n\r\n public get id(): string { return this._providerId; }\r\n\r\n public provideToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n let provideToStage = false;\r\n\r\n if (this.isSupportedStage) {\r\n provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);\r\n } else {\r\n provideToStage = (stageUsage === StageUsage.General);\r\n }\r\n\r\n if (provideToStage && toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.hide) {\r\n if (this.defaultContextTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.isolate) {\r\n if (this.defaultContextTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (provideToStage && toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.sectionGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n return items;\r\n }\r\n\r\n public provideStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n let provideToStage = false;\r\n\r\n // istanbul ignore else\r\n if (this.isSupportedStage) {\r\n provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);\r\n } else {\r\n provideToStage = (stageUsage === StageUsage.General);\r\n }\r\n\r\n // istanbul ignore else\r\n if (provideToStage) {\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContextTools?.vertical?.sectionGroup) {\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"StandardContentToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardContentToolsProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ViewClipByPlaneTool } from \"@itwin/core-frontend\";\r\nimport { BaseUiItemsProvider, CommonStatusBarItem, CommonToolbarItem, StatusBarSection, ToolbarOrientation, ToolbarUsage, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { SelectionContextToolDefinitions } from \"../selection/SelectionContextItemDef\";\r\nimport { StatusBarItemUtilities } from \"../statusbar/StatusBarItemUtilities\";\r\nimport { withStatusFieldProps } from \"../statusbar/withStatusFieldProps\";\r\nimport { SectionsStatusField } from \"../statusfields/SectionsField\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/**\r\n * Defines options that may be set in frontstage app data to control what group priorities\r\n * to use for each tool button that can be added by this extension. Defining groupIds is optional\r\n * and only required if use wants to override the default grouping. This application data is statically\r\n * set in the FrontstageProvider.\r\n * @example\r\n * ```\r\n * const applicationData = {\r\n * defaultContentTools: {\r\n * vertical: {\r\n * selectElementGroupPriority: 100,\r\n * measureGroupPriority: 200,\r\n * selectionGroupPriority: 300,\r\n * },\r\n * horizontal: {\r\n * clearSelectionGroupPriority: 100,\r\n * overridesGroupPriority: 200,\r\n * },\r\n * },\r\n * }\r\n *\r\n * ```\r\n * @public\r\n */\r\nexport interface DefaultContentToolsAppData {\r\n defaultContentTools?: {\r\n vertical?: {\r\n selectElementGroupPriority?: number;\r\n measureGroupPriority?: number;\r\n selectionGroupPriority?: number;\r\n };\r\n horizontal?: {\r\n clearSelectionGroupPriority?: number;\r\n overridesGroupPriority?: number;\r\n };\r\n };\r\n}\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultContentTools {\r\n horizontal?: {\r\n clearSelection?: boolean;\r\n clearDisplayOverrides?: boolean;\r\n /** if group then group button is shown to allow user to hide by element, category, model */\r\n hide?: \"group\" | \"element\";\r\n /** if group then group button is shown to allow user to isolate by element, category, model */\r\n isolate?: \"group\" | \"element\";\r\n /** only element is currently support for emphasize */\r\n emphasize?: \"element\";\r\n };\r\n vertical?: {\r\n selectElement?: boolean;\r\n measureGroup?: boolean;\r\n sectionGroup?: boolean;\r\n };\r\n}\r\n\r\nfunction getGroupPriority(potentialId: any, defaultValue: number) {\r\n if (undefined === potentialId)\r\n return defaultValue;\r\n\r\n // istanbul ignore else\r\n if (typeof potentialId === \"number\") {\r\n return potentialId;\r\n }\r\n\r\n // istanbul ignore next\r\n return defaultValue;\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ContentManipulationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardContentToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools.\r\n * @param defaultContextTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultContextTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardContentToolsProvider(providerId, defaultContextTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n\r\n // register core commands not automatically registered\r\n ViewClipByPlaneTool.register();\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultContextTools?: DefaultContentTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n\r\n if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n const clearSelectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.clearSelectionGroupPriority, 10);\r\n const overridesGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.horizontal?.overridesGroupPriority, 20);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearSelection)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.clearSelectionItemDef, { groupPriority: clearSelectionGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.clearDisplayOverrides)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, SelectionContextToolDefinitions.clearHideIsolateEmphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.hide) {\r\n if (this.defaultContextTools?.horizontal?.hide === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideSectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, SelectionContextToolDefinitions.hideElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.isolate) {\r\n if (this.defaultContextTools?.horizontal?.isolate === \"group\")\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateSelectionToolGroup, { groupPriority: overridesGroupPriority }));\r\n else\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, SelectionContextToolDefinitions.isolateElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.horizontal || this.defaultContextTools.horizontal.emphasize) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, SelectionContextToolDefinitions.emphasizeElementsItemDef, { groupPriority: overridesGroupPriority }));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n const selectElementGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectElementGroupPriority, 10);\r\n const measureGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.measureGroupPriority, 10);\r\n const selectionGroupPriority = getGroupPriority(stageAppData?.defaultContentTools?.vertical?.selectionGroupPriority, 10);\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.selectElement)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.selectElementCommand, { groupPriority: selectElementGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.measureGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.measureToolGroup, { groupPriority: measureGroupPriority }));\r\n\r\n if (!this.defaultContextTools || !this.defaultContextTools.vertical || this.defaultContextTools.vertical.sectionGroup)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.sectionToolGroup, { groupPriority: selectionGroupPriority }));\r\n }\r\n return items;\r\n }\r\n\r\n public override provideStatusBarItemsInternal(_stageId: string, _stageUsage: string, _stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n // if the sectionGroup tools are to be shown then we want the status field added to allow clearing or manipulation the section\r\n if (this.defaultContextTools?.vertical?.sectionGroup) {\r\n const Sections = withStatusFieldProps(SectionsStatusField);\r\n statusBarItems.push(StatusBarItemUtilities.createStatusBarItem(\"uifw.Sections\", StatusBarSection.Center, 20, <Sections hideWhenUnused />));\r\n }\r\n\r\n return statusBarItems;\r\n }\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module StandardUiItemsProvider
3
3
  */
4
- import { CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsProvider } from "@itwin/appui-abstract";
4
+ import { BaseUiItemsProvider, CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from "@itwin/appui-abstract";
5
5
  /**
6
6
  * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are
7
7
  * specified then only those tools will be provided to stage.
@@ -24,10 +24,8 @@ export interface DefaultNavigationTools {
24
24
  * Provide standard tools for the ViewNavigationWidgetComposer.
25
25
  * @public
26
26
  */
27
- export declare class StandardNavigationToolsProvider implements UiItemsProvider {
28
- private _providerId;
27
+ export declare class StandardNavigationToolsProvider extends BaseUiItemsProvider {
29
28
  private defaultNavigationTools?;
30
- private isSupportedStage?;
31
29
  /**
32
30
  * static function to register the StandardContentToolsProvider
33
31
  * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
@@ -37,10 +35,8 @@ export declare class StandardNavigationToolsProvider implements UiItemsProvider
37
35
  * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and
38
36
  * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.
39
37
  */
40
- static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean): void;
41
- constructor(_providerId: string, defaultNavigationTools?: DefaultNavigationTools | undefined, isSupportedStage?: ((stageId: string, stageUsage: string, stageAppData?: any) => boolean) | undefined);
42
- static unregister(providerId: string): void;
43
- get id(): string;
44
- provideToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[];
38
+ static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean): StandardNavigationToolsProvider;
39
+ constructor(providerId: string, defaultNavigationTools?: DefaultNavigationTools | undefined, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean);
40
+ provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, _stageAppData?: any): CommonToolbarItem[];
45
41
  }
46
42
  //# sourceMappingURL=StandardNavigationToolsProvider.d.ts.map
@@ -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,EAAE,iBAAiB,EAAc,kBAAkB,EAAE,YAAY,EAAkB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIzI;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,eAAe;IAczD,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,sBAAsB,CAAC;IAA0B,OAAO,CAAC,gBAAgB,CAAC;IAb3H;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;gBAI/J,WAAW,EAAE,MAAM,EAAU,sBAAsB,CAAC,oCAAwB,EAAU,gBAAgB,CAAC,aAAY,MAAM,cAAc,MAAM,iBAAiB,GAAG,KAAK,OAAO,aAAA;WAEnL,UAAU,CAAC,UAAU,EAAE,MAAM;IAI3C,IAAW,EAAE,IAAI,MAAM,CAA6B;IAE7C,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;CAyCnL"}
1
+ {"version":3,"file":"StandardNavigationToolsProvider.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAIjI;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,mBAAmB;IAgBtC,OAAO,CAAC,sBAAsB,CAAC;IAf/D;;;;;;;;OAQG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;gBAMvK,UAAU,EAAE,MAAM,EAAU,sBAAsB,CAAC,oCAAwB,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,OAAO;IAIhK,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,iBAAiB,EAAE;CAiCvM"}
@@ -15,11 +15,10 @@ const CoreToolDefinitions_1 = require("../tools/CoreToolDefinitions");
15
15
  * Provide standard tools for the ViewNavigationWidgetComposer.
16
16
  * @public
17
17
  */
18
- class StandardNavigationToolsProvider {
19
- constructor(_providerId, defaultNavigationTools, isSupportedStage) {
20
- this._providerId = _providerId;
18
+ class StandardNavigationToolsProvider extends appui_abstract_1.BaseUiItemsProvider {
19
+ constructor(providerId, defaultNavigationTools, isSupportedStage) {
20
+ super(providerId, isSupportedStage);
21
21
  this.defaultNavigationTools = defaultNavigationTools;
22
- this.isSupportedStage = isSupportedStage;
23
22
  }
24
23
  /**
25
24
  * static function to register the StandardContentToolsProvider
@@ -31,22 +30,13 @@ class StandardNavigationToolsProvider {
31
30
  * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.
32
31
  */
33
32
  static register(providerId, defaultNavigationTools, isSupportedStage) {
34
- appui_abstract_1.UiItemsManager.register(new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage));
33
+ const provider = new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage);
34
+ appui_abstract_1.UiItemsManager.register(provider);
35
+ return provider;
35
36
  }
36
- static unregister(providerId) {
37
- appui_abstract_1.UiItemsManager.unregister(providerId);
38
- }
39
- get id() { return this._providerId; }
40
- provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
37
+ provideToolbarButtonItemsInternal(_stageId, _stageUsage, toolbarUsage, toolbarOrientation, _stageAppData) {
41
38
  const items = [];
42
- let provideToStage = false;
43
- if (this.isSupportedStage) {
44
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);
45
- }
46
- else {
47
- provideToStage = (stageUsage === appui_abstract_1.StageUsage.General);
48
- }
49
- if (provideToStage && toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) {
39
+ if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal) {
50
40
  if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)
51
41
  items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(10, CoreToolDefinitions_1.CoreTools.rotateViewCommand));
52
42
  if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)
@@ -62,7 +52,7 @@ class StandardNavigationToolsProvider {
62
52
  items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(60, CoreToolDefinitions_1.CoreTools.viewRedoCommand));
63
53
  }
64
54
  }
65
- else /* istanbul ignore else */ if (provideToStage && toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
55
+ else if (toolbarUsage === appui_abstract_1.ToolbarUsage.ViewNavigation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Vertical) {
66
56
  if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)
67
57
  items.push(ToolbarHelper_1.ToolbarHelper.createToolbarItemFromItemDef(10, CoreToolDefinitions_1.CoreTools.walkViewCommand));
68
58
  if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.toggleCamera)
@@ -1 +1 @@
1
- {"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport { CommonToolbarItem, StageUsage, ToolbarOrientation, ToolbarUsage, UiItemsManager, UiItemsProvider } from \"@itwin/appui-abstract\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultNavigationTools {\r\n horizontal?: {\r\n rotateView?: boolean;\r\n panView?: boolean;\r\n fitView?: boolean;\r\n windowArea?: boolean;\r\n viewUndoRedo?: boolean;\r\n };\r\n vertical?: {\r\n walk?: boolean;\r\n toggleCamera?: boolean;\r\n };\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ViewNavigationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardNavigationToolsProvider implements UiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools\r\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n UiItemsManager.register(new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage));\r\n }\r\n\r\n constructor(private _providerId: string, private defaultNavigationTools?: DefaultNavigationTools, private isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) { }\r\n\r\n public static unregister(providerId: string) {\r\n UiItemsManager.unregister(providerId);\r\n }\r\n\r\n public get id(): string { return this._providerId; }\r\n\r\n public provideToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n let provideToStage = false;\r\n\r\n if (this.isSupportedStage) {\r\n provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData);\r\n } else {\r\n provideToStage = (stageUsage === StageUsage.General);\r\n }\r\n\r\n if (provideToStage && toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.rotateViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.panViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.fitView) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.fitViewCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.windowArea) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, CoreTools.windowAreaCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.viewUndoRedo) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, CoreTools.viewUndoCommand));\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(60, CoreTools.viewRedoCommand));\r\n }\r\n\r\n } else /* istanbul ignore else */ if (provideToStage && toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.walkViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.toggleCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.toggleCameraViewCommand));\r\n }\r\n return items;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"StandardNavigationToolsProvider.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/StandardNavigationToolsProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module StandardUiItemsProvider\r\n */\r\n\r\nimport { BaseUiItemsProvider, CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsManager } from \"@itwin/appui-abstract\";\r\nimport { ToolbarHelper } from \"../toolbar/ToolbarHelper\";\r\nimport { CoreTools } from \"../tools/CoreToolDefinitions\";\r\n\r\n/**\r\n * Defines what tools to include from the provider. If any tools in the horizontal or vertical group are\r\n * specified then only those tools will be provided to stage.\r\n * @public\r\n */\r\nexport interface DefaultNavigationTools {\r\n horizontal?: {\r\n rotateView?: boolean;\r\n panView?: boolean;\r\n fitView?: boolean;\r\n windowArea?: boolean;\r\n viewUndoRedo?: boolean;\r\n };\r\n vertical?: {\r\n walk?: boolean;\r\n toggleCamera?: boolean;\r\n };\r\n}\r\n\r\n/**\r\n * Provide standard tools for the ViewNavigationWidgetComposer.\r\n * @public\r\n */\r\nexport class StandardNavigationToolsProvider extends BaseUiItemsProvider {\r\n /**\r\n * static function to register the StandardContentToolsProvider\r\n * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want\r\n * to set up custom stage with their own subset of standard tools\r\n * @param defaultNavigationTools - if undefined all available tools are provided to stage. If defined only those\r\n * specific tool buttons are shown.\r\n * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and\r\n * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.\r\n */\r\n public static register(providerId: string, defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n const provider = new StandardNavigationToolsProvider(providerId, defaultNavigationTools, isSupportedStage);\r\n UiItemsManager.register(provider);\r\n return provider;\r\n }\r\n\r\n constructor(providerId: string, private defaultNavigationTools?: DefaultNavigationTools, isSupportedStage?: (stageId: string, stageUsage: string, stageAppData?: any) => boolean) {\r\n super(providerId, isSupportedStage);\r\n }\r\n\r\n public override provideToolbarButtonItemsInternal(_stageId: string, _stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation, _stageAppData?: any): CommonToolbarItem[] {\r\n const items: CommonToolbarItem[] = [];\r\n if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Horizontal) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.rotateView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.rotateViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.panView)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.panViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.fitView) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(30, CoreTools.fitViewCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.windowArea) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(40, CoreTools.windowAreaCommand));\r\n }\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.horizontal || this.defaultNavigationTools.horizontal.viewUndoRedo) {\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(50, CoreTools.viewUndoCommand));\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(60, CoreTools.viewRedoCommand));\r\n }\r\n\r\n } else if (toolbarUsage === ToolbarUsage.ViewNavigation && toolbarOrientation === ToolbarOrientation.Vertical) {\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.walk)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(10, CoreTools.walkViewCommand));\r\n\r\n if (!this.defaultNavigationTools || !this.defaultNavigationTools.vertical || this.defaultNavigationTools.vertical.toggleCamera)\r\n items.push(ToolbarHelper.createToolbarItemFromItemDef(20, CoreTools.toggleCameraViewCommand));\r\n }\r\n return items;\r\n }\r\n}\r\n"]}