@elementor/editor-app-bar 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -50,7 +50,22 @@ function SettingsButton() {
50
50
  value: "document-settings",
51
51
  selected: isActive,
52
52
  disabled: isBlocked,
53
- onChange: () => openRoute2("panel/page-settings/settings"),
53
+ onChange: () => {
54
+ const extendedWindow = window;
55
+ const config = extendedWindow?.elementor?.editorEvents?.config;
56
+ if (config) {
57
+ extendedWindow.elementor.editorEvents.dispatchEvent(
58
+ config.names.topBar.documentSettings,
59
+ {
60
+ location: config.locations.topBar,
61
+ secondaryLocation: config.secondaryLocations["document-settings"],
62
+ trigger: config.triggers.click,
63
+ element: config.elements.buttonIcon
64
+ }
65
+ );
66
+ }
67
+ openRoute2("panel/page-settings/settings");
68
+ },
54
69
  "aria-label": title,
55
70
  size: "small",
56
71
  sx: {
@@ -106,10 +121,27 @@ function useActionProps() {
106
121
  return {
107
122
  icon: EyeIcon,
108
123
  title: __2("Preview Changes", "elementor"),
109
- onClick: () => document2 && runCommand("editor/documents/preview", {
110
- id: document2.id,
111
- force: true
112
- })
124
+ onClick: () => {
125
+ const extendedWindow = window;
126
+ const config = extendedWindow?.elementor?.editorEvents?.config;
127
+ if (config) {
128
+ extendedWindow.elementor.editorEvents.dispatchEvent(
129
+ config.names.topBar.previewPage,
130
+ {
131
+ location: config.locations.topBar,
132
+ secondaryLocation: config.secondaryLocations["preview-page"],
133
+ trigger: config.triggers.click,
134
+ element: config.elements.buttonIcon
135
+ }
136
+ );
137
+ }
138
+ if (document2) {
139
+ runCommand("editor/documents/preview", {
140
+ id: document2.id,
141
+ force: true
142
+ });
143
+ }
144
+ }
113
145
  };
114
146
  }
115
147
 
@@ -252,7 +284,24 @@ function PrimaryAction() {
252
284
  return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(ButtonGroup, { size: "large", variant: "contained" }, /* @__PURE__ */ React3.createElement(
253
285
  Button,
254
286
  {
255
- onClick: () => !document2.isSaving && save(),
287
+ onClick: () => {
288
+ const extendedWindow = window;
289
+ const config = extendedWindow?.elementor?.editorEvents?.config;
290
+ if (config) {
291
+ extendedWindow.elementor.editorEvents.dispatchEvent(
292
+ config.names.topBar.publishButton,
293
+ {
294
+ location: config.locations.topBar,
295
+ secondaryLocation: config.secondaryLocations["publish-button"],
296
+ trigger: config.triggers.click,
297
+ element: config.elements.mainCta
298
+ }
299
+ );
300
+ }
301
+ if (!document2.isSaving) {
302
+ save();
303
+ }
304
+ },
256
305
  sx: {
257
306
  height: "100%",
258
307
  borderRadius: 0,
@@ -391,7 +440,22 @@ function useActionProps2() {
391
440
  return {
392
441
  title: __9("Add Element", "elementor"),
393
442
  icon: PlusIcon,
394
- onClick: () => openRoute3("panel/elements/categories"),
443
+ onClick: () => {
444
+ const extendedWindow = window;
445
+ const config = extendedWindow?.elementor?.editorEvents?.config;
446
+ if (config) {
447
+ extendedWindow.elementor.editorEvents.dispatchEvent(
448
+ config.names.topBar.widgetPanel,
449
+ {
450
+ location: config.locations.topBar,
451
+ secondaryLocation: config.secondaryLocations["widget-panel"],
452
+ trigger: config.triggers.toggleClick,
453
+ element: config.elements.buttonIcon
454
+ }
455
+ );
456
+ }
457
+ openRoute3("panel/elements/categories");
458
+ },
395
459
  selected: isActive,
396
460
  disabled: isBlocked
397
461
  };
@@ -422,7 +486,22 @@ function useActionProps3() {
422
486
  return {
423
487
  title: __10("Finder", "elementor"),
424
488
  icon: SearchIcon,
425
- onClick: () => runCommand3("finder/toggle"),
489
+ onClick: () => {
490
+ const extendedWindow = window;
491
+ const config = extendedWindow?.elementor?.editorEvents?.config;
492
+ if (config) {
493
+ extendedWindow.elementor.editorEvents.dispatchEvent(
494
+ config.names.topBar.finder,
495
+ {
496
+ location: config.locations.topBar,
497
+ secondaryLocation: config.secondaryLocations.finder,
498
+ trigger: config.triggers.toggleClick,
499
+ element: config.elements.buttonIcon
500
+ }
501
+ );
502
+ }
503
+ runCommand3("finder/toggle");
504
+ },
426
505
  disabled: isBlocked
427
506
  };
428
507
  }
@@ -451,7 +530,22 @@ function init6() {
451
530
  title: __11("Help", "elementor"),
452
531
  href: "https://go.elementor.com/editor-top-bar-learn/",
453
532
  icon: HelpIcon,
454
- target: "_blank"
533
+ target: "_blank",
534
+ onClick: () => {
535
+ const extendedWindow = window;
536
+ const config = extendedWindow?.elementor?.editorEvents?.config;
537
+ if (config) {
538
+ extendedWindow.elementor.editorEvents.dispatchEvent(
539
+ config.names.topBar.help,
540
+ {
541
+ location: config.locations.topBar,
542
+ secondaryLocation: config.secondaryLocations.help,
543
+ trigger: config.triggers.click,
544
+ element: config.elements.buttonIcon
545
+ }
546
+ );
547
+ }
548
+ }
455
549
  };
456
550
  }
457
551
  });
@@ -469,7 +563,22 @@ function useActionProps4() {
469
563
  return {
470
564
  title: __12("History", "elementor"),
471
565
  icon: HistoryIcon,
472
- onClick: () => openRoute4("panel/history/actions"),
566
+ onClick: () => {
567
+ const extendedWindow = window;
568
+ const config = extendedWindow?.elementor?.editorEvents?.config;
569
+ if (config) {
570
+ extendedWindow.elementor.editorEvents.dispatchEvent(
571
+ config.names.topBar.history,
572
+ {
573
+ location: config.locations.topBar,
574
+ secondaryLocation: config.secondaryLocations.elementorLogo,
575
+ trigger: config.triggers.click,
576
+ element: config.elements.link
577
+ }
578
+ );
579
+ }
580
+ openRoute4("panel/history/actions");
581
+ },
473
582
  selected: isActive,
474
583
  disabled: isBlocked
475
584
  };
@@ -495,7 +604,22 @@ function useActionProps5() {
495
604
  return {
496
605
  icon: KeyboardIcon,
497
606
  title: __13("Keyboard Shortcuts", "elementor"),
498
- onClick: () => runCommand4("shortcuts/open")
607
+ onClick: () => {
608
+ const extendedWindow = window;
609
+ const config = extendedWindow?.elementor?.editorEvents?.config;
610
+ if (config) {
611
+ extendedWindow.elementor.editorEvents.dispatchEvent(
612
+ config.names.topBar.keyboardShortcuts,
613
+ {
614
+ location: config.locations.topBar,
615
+ secondaryLocation: config.secondaryLocations.elementorLogo,
616
+ trigger: config.triggers.click,
617
+ element: config.elements.link
618
+ }
619
+ );
620
+ }
621
+ runCommand4("shortcuts/open");
622
+ }
499
623
  };
500
624
  }
501
625
 
@@ -582,7 +706,26 @@ function useActionProps6() {
582
706
  return {
583
707
  title: __15("Site Settings", "elementor"),
584
708
  icon: AdjustmentsHorizontalIcon,
585
- onClick: () => isActive ? runCommand5("panel/global/close") : runCommand5("panel/global/open"),
709
+ onClick: () => {
710
+ const extendedWindow = window;
711
+ const config = extendedWindow?.elementor?.editorEvents?.config;
712
+ if (config) {
713
+ extendedWindow.elementor.editorEvents.dispatchEvent(
714
+ config.names.topBar.siteSettings,
715
+ {
716
+ location: config.locations.topBar,
717
+ secondaryLocation: config.secondaryLocations.siteSettings,
718
+ trigger: config.triggers.toggleClick,
719
+ element: config.elements.buttonIcon
720
+ }
721
+ );
722
+ }
723
+ if (isActive) {
724
+ runCommand5("panel/global/close");
725
+ } else {
726
+ runCommand5("panel/global/open");
727
+ }
728
+ },
586
729
  selected: isActive,
587
730
  disabled: isBlocked
588
731
  };
@@ -613,7 +756,22 @@ function useActionProps7() {
613
756
  return {
614
757
  title: __16("Structure", "elementor"),
615
758
  icon: StructureIcon,
616
- onClick: () => runCommand6("navigator/toggle"),
759
+ onClick: () => {
760
+ const extendedWindow = window;
761
+ const config = extendedWindow?.elementor?.editorEvents?.config;
762
+ if (config) {
763
+ extendedWindow.elementor.editorEvents.dispatchEvent(
764
+ config.names.topBar.structure,
765
+ {
766
+ location: config.locations.topBar,
767
+ secondaryLocation: config.secondaryLocations.structure,
768
+ trigger: config.triggers.toggleClick,
769
+ element: config.elements.buttonIcon
770
+ }
771
+ );
772
+ }
773
+ runCommand6("navigator/toggle");
774
+ },
617
775
  selected: isActive,
618
776
  disabled: isBlocked
619
777
  };
@@ -639,7 +797,22 @@ function useActionProps8() {
639
797
  return {
640
798
  icon: ThemeBuilderIcon,
641
799
  title: __17("Theme Builder", "elementor"),
642
- onClick: () => runCommand7("app/open")
800
+ onClick: () => {
801
+ const extendedWindow = window;
802
+ const config = extendedWindow?.elementor?.editorEvents?.config;
803
+ if (config) {
804
+ extendedWindow.elementor.editorEvents.dispatchEvent(
805
+ config.names.topBar.themeBuilder,
806
+ {
807
+ location: config.locations.topBar,
808
+ secondaryLocation: config.secondaryLocations.elementorLogo,
809
+ trigger: config.triggers.click,
810
+ element: config.elements.link
811
+ }
812
+ );
813
+ }
814
+ runCommand7("app/open");
815
+ }
643
816
  };
644
817
  }
645
818
 
@@ -663,7 +836,22 @@ function useActionProps9() {
663
836
  return {
664
837
  icon: ToggleRightIcon,
665
838
  title: __18("User Preferences", "elementor"),
666
- onClick: () => openRoute5("panel/editor-preferences"),
839
+ onClick: () => {
840
+ const extendedWindow = window;
841
+ const config = extendedWindow?.elementor?.editorEvents?.config;
842
+ if (config) {
843
+ extendedWindow.elementor.editorEvents.dispatchEvent(
844
+ config.names.topBar.userPreferences,
845
+ {
846
+ location: config.locations.topBar,
847
+ secondaryLocation: config.secondaryLocations.elementorLogo,
848
+ trigger: config.triggers.click,
849
+ element: config.elements.link
850
+ }
851
+ );
852
+ }
853
+ openRoute5("panel/editor-preferences");
854
+ },
667
855
  selected: isActive,
668
856
  disabled: isBlocked
669
857
  };
@@ -693,7 +881,22 @@ function init13() {
693
881
  return {
694
882
  title: __19("Exit to WordPress", "elementor"),
695
883
  href: document2?.links?.platformEdit,
696
- icon: WordpressIcon
884
+ icon: WordpressIcon,
885
+ onClick: () => {
886
+ const extendedWindow = window;
887
+ const config = extendedWindow?.elementor?.editorEvents?.config;
888
+ if (config) {
889
+ extendedWindow.elementor.editorEvents.dispatchEvent(
890
+ config.names.topBar.exitToWordpress,
891
+ {
892
+ location: config.locations.topBar,
893
+ secondaryLocation: config.secondaryLocations.elementorLogo,
894
+ trigger: config.triggers.click,
895
+ element: config.elements.link
896
+ }
897
+ );
898
+ }
899
+ }
697
900
  };
698
901
  }
699
902
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/extensions/documents-save/locations.ts","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-preview/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/help/index.ts","../src/extensions/history/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["// Re-exporting the menus & locations from `@elementor/editor-app-bar-ui`\n// to expose the API for other packages to use.\nexport {\n\t__privateMainMenu as mainMenu,\n\t__privateToolsMenu as toolsMenu,\n\t__privateUtilitiesMenu as utilitiesMenu,\n\t__privateIntegrationsMenu as integrationsMenu,\n\t__privateInjectIntoPageIndication as injectIntoPageIndication,\n\t__privateInjectIntoResponsive as injectIntoResponsive,\n\t__privateInjectIntoPrimaryAction as injectIntoPrimaryAction,\n} from '@elementor/editor-app-bar-ui';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nimport init from './init';\n\ninit();\n","import { __privateCreateMenu as createMenu } from '@elementor/editor-app-bar-ui';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import { __privateAppBar as AppBar } from '@elementor/editor-app-bar-ui';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import { __privateInjectIntoPageIndication as injectIntoPageIndication } from '@elementor/editor-app-bar-ui';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { __privateInjectIntoPrimaryAction as injectIntoPrimaryAction } from '@elementor/editor-app-bar-ui';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () => document?.id && runCommand( 'editor/documents/view', {\n\t\t\tid: document.id,\n\t\t} ),\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { __privatePopoverMenu as PopoverMenu, PopoverMenuProps } from '@elementor/editor-app-bar-ui';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not(.MuiDivider-root):not(:last-of-type) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { LinkIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled: ! document ||\n\t\t\tdocument.isSaving ||\n\t\t\tdocument.isSavingDraft ||\n\t\t\t! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { __privateIsRouteActive as isRouteActive, routeCloseEvent, routeOpenEvent, __privateUseListenTo as useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["injectIntoTop","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","__","EyeIcon","useActiveDocument","runCommand","document","React","__","React","Box","Tooltip","useActiveDocument","useActiveDocumentActions","document","__","__","useActiveDocument","useActiveDocumentActions","document","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","utilitiesMenu","__","runCommand","useRouteStatus","useActionProps","init","utilitiesMenu","useActionProps","utilitiesMenu","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","mainMenu","__","openRoute","useRouteStatus","useActionProps","init","mainMenu","useActionProps","mainMenu","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/extensions/documents-save/locations.ts","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-preview/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/help/index.ts","../src/extensions/history/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["// Re-exporting the menus & locations from `@elementor/editor-app-bar-ui`\n// to expose the API for other packages to use.\nexport {\n\t__privateMainMenu as mainMenu,\n\t__privateToolsMenu as toolsMenu,\n\t__privateUtilitiesMenu as utilitiesMenu,\n\t__privateIntegrationsMenu as integrationsMenu,\n\t__privateInjectIntoPageIndication as injectIntoPageIndication,\n\t__privateInjectIntoResponsive as injectIntoResponsive,\n\t__privateInjectIntoPrimaryAction as injectIntoPrimaryAction,\n} from '@elementor/editor-app-bar-ui';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nimport init from './init';\n\ninit();\n","import { __privateCreateMenu as createMenu } from '@elementor/editor-app-bar-ui';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import { __privateAppBar as AppBar } from '@elementor/editor-app-bar-ui';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import { __privateInjectIntoPageIndication as injectIntoPageIndication } from '@elementor/editor-app-bar-ui';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.documentSettings,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.previewPage,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t};\n}\n","import { __privateInjectIntoPrimaryAction as injectIntoPrimaryAction } from '@elementor/editor-app-bar-ui';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () => document?.id && runCommand( 'editor/documents/view', {\n\t\t\tid: document.id,\n\t\t} ),\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.publishButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { __privatePopoverMenu as PopoverMenu, PopoverMenuProps } from '@elementor/editor-app-bar-ui';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not(.MuiDivider-root):not(:last-of-type) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { LinkIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled: ! document ||\n\t\t\tdocument.isSaving ||\n\t\t\tdocument.isSavingDraft ||\n\t\t\t! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.widgetPanel,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.finder,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateUtilitiesMenu as utilitiesMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\nimport { ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.help,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.history,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.keyboardShortcuts,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\n\t};\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { __privateIsRouteActive as isRouteActive, routeCloseEvent, routeOpenEvent, __privateUseListenTo as useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.siteSettings,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateToolsMenu as toolsMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.structure,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '@elementor/editor-app-bar-ui';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.themeBuilder,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '@elementor/editor-app-bar-ui';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\tconfig.names.topBar.userPreferences,\n\t\t\t\t\t{\n\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __privateMainMenu as mainMenu } from '@elementor/editor-app-bar-ui';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { ExtendedWindow } from '../../types';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.exitToWordpress,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["injectIntoTop","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","__","EyeIcon","useActiveDocument","runCommand","document","React","__","React","Box","Tooltip","useActiveDocument","useActiveDocumentActions","document","__","__","useActiveDocument","useActiveDocumentActions","document","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","utilitiesMenu","__","runCommand","useRouteStatus","useActionProps","init","utilitiesMenu","useActionProps","utilitiesMenu","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","toolsMenu","__","runCommand","useRouteStatus","useActionProps","init","toolsMenu","useActionProps","mainMenu","__","runCommand","useActionProps","init","mainMenu","useActionProps","mainMenu","__","openRoute","useRouteStatus","useActionProps","init","mainMenu","useActionProps","mainMenu","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-app-bar",
3
3
  "description": "App Bar extension for @elementor/editor",
4
- "version": "0.13.0",
4
+ "version": "0.14.0",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@elementor/editor": "^0.10.11",
37
- "@elementor/editor-app-bar-ui": "^0.3.0",
37
+ "@elementor/editor-app-bar-ui": "^0.4.0",
38
38
  "@elementor/editor-documents": "^0.11.0",
39
39
  "@elementor/editor-v1-adapters": "^0.6.0",
40
40
  "@elementor/icons": "^0.8.0",
@@ -44,5 +44,5 @@
44
44
  "peerDependencies": {
45
45
  "react": "18.x"
46
46
  },
47
- "gitHead": "8e01300ff8f9ef0fdacf842bf0a900df6e114a3d"
47
+ "gitHead": "d1675ce63120e7854ff74f8611e41011f97a96a0"
48
48
  }
@@ -4,6 +4,7 @@ import { __ } from '@wordpress/i18n';
4
4
  import { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';
5
5
  import { SettingsIcon } from '@elementor/icons';
6
6
  import { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';
7
+ import { ExtendedWindow } from '../../../types';
7
8
 
8
9
  export default function SettingsButton() {
9
10
  const activeDocument = useActiveDocument();
@@ -31,7 +32,24 @@ export default function SettingsButton() {
31
32
  value="document-settings"
32
33
  selected={ isActive }
33
34
  disabled={ isBlocked }
34
- onChange={ () => openRoute( 'panel/page-settings/settings' ) }
35
+ onChange={ () => {
36
+ const extendedWindow = window as unknown as ExtendedWindow;
37
+ const config = extendedWindow?.elementor?.editorEvents?.config;
38
+
39
+ if ( config ) {
40
+ extendedWindow.elementor.editorEvents.dispatchEvent(
41
+ config.names.topBar.documentSettings,
42
+ {
43
+ location: config.locations.topBar,
44
+ secondaryLocation: config.secondaryLocations[ 'document-settings' ],
45
+ trigger: config.triggers.click,
46
+ element: config.elements.buttonIcon,
47
+ },
48
+ );
49
+ }
50
+
51
+ openRoute( 'panel/page-settings/settings' );
52
+ } }
35
53
  aria-label={ title }
36
54
  size="small"
37
55
  sx={ {