@elementor/editor-app-bar 4.1.0-838 → 4.1.0-beta2
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.js +307 -176
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +289 -158
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -11
- package/src/components/locations/tools-menu-location.tsx +2 -0
- package/src/extensions/angie/angie-consts.ts +20 -0
- package/src/extensions/angie/components/angie-guide-card.tsx +54 -0
- package/src/extensions/angie/components/angie-guide-location.tsx +91 -0
- package/src/extensions/angie/hooks/use-action-props.ts +20 -15
- package/src/extensions/angie/hooks/use-auto-show.ts +17 -0
- package/src/extensions/angie/index.ts +1 -1
package/dist/index.mjs
CHANGED
|
@@ -189,9 +189,9 @@ var documentOptionsMenu = createMenu2({
|
|
|
189
189
|
import { injectIntoTop as injectIntoTop2 } from "@elementor/editor";
|
|
190
190
|
|
|
191
191
|
// src/components/app-bar.tsx
|
|
192
|
-
import * as
|
|
192
|
+
import * as React22 from "react";
|
|
193
193
|
import { __useActiveDocument as useActiveDocument } from "@elementor/editor-documents";
|
|
194
|
-
import { AppBar as BaseAppBar, Box as Box3, Divider as Divider2, Grid, ThemeProvider as
|
|
194
|
+
import { AppBar as BaseAppBar, Box as Box3, Divider as Divider2, Grid, ThemeProvider as ThemeProvider3, Toolbar } from "@elementor/ui";
|
|
195
195
|
|
|
196
196
|
// src/components/locations/main-menu-location.tsx
|
|
197
197
|
import * as React10 from "react";
|
|
@@ -329,33 +329,162 @@ function ResponsiveLocation() {
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
// src/components/locations/tools-menu-location.tsx
|
|
332
|
-
import * as
|
|
332
|
+
import * as React20 from "react";
|
|
333
333
|
|
|
334
|
-
// src/components/
|
|
334
|
+
// src/extensions/angie/components/angie-guide-location.tsx
|
|
335
|
+
import * as React15 from "react";
|
|
336
|
+
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
337
|
+
import { useCurrentUserCapabilities } from "@elementor/editor-current-user";
|
|
338
|
+
import { ThemeProvider } from "@elementor/editor-ui";
|
|
339
|
+
import { useMixpanel } from "@elementor/events";
|
|
340
|
+
import { Infotip } from "@elementor/ui";
|
|
341
|
+
|
|
342
|
+
// src/extensions/angie/angie-consts.ts
|
|
343
|
+
import { __ as __2 } from "@wordpress/i18n";
|
|
344
|
+
var ANGIE_GUIDE_TOGGLE_EVENT = "elementor/editor/toggle-angie-guide";
|
|
345
|
+
var CREATE_WIDGET_EVENT = "elementor/editor/create-widget";
|
|
346
|
+
var ANGIE_BUTTON_ARIA_LABEL = __2("Angie", "elementor");
|
|
347
|
+
var ANGIE_LEARN_MORE_URL = "https://go.elementor.com/angie-learn-more";
|
|
348
|
+
var ANGIE_DESCRIPTION = __2(
|
|
349
|
+
"Angie lets you generate custom widgets, sections, and code using simple instructions.",
|
|
350
|
+
"elementor"
|
|
351
|
+
);
|
|
352
|
+
var AI_WIDGET_CTA_VIEWED_EVENT = "ai_widget_cta_viewed";
|
|
353
|
+
var ANGIE_TOP_BAR_PROMOTION_IMAGE_URL = "https://assets.elementor.com/packages/v1/images/angie-top-bar-promotion.svg";
|
|
354
|
+
var ANGIE_TOP_BAR_DESCRIPTION = __2("Build custom widgets using simple instructions.", "elementor");
|
|
355
|
+
|
|
356
|
+
// src/extensions/angie/components/angie-guide-card.tsx
|
|
335
357
|
import * as React14 from "react";
|
|
336
|
-
import { Stack as Stack2 } from "@elementor/ui";
|
|
358
|
+
import { Button, Chip, ClickAwayListener, CloseButton, Image, Stack as Stack2, Typography } from "@elementor/ui";
|
|
359
|
+
import { __ as __3 } from "@wordpress/i18n";
|
|
360
|
+
function AngieGuideCard({ imageUrl, description, learnMoreUrl, onInstall, onClose }) {
|
|
361
|
+
return /* @__PURE__ */ React14.createElement(ClickAwayListener, { onClickAway: onClose }, /* @__PURE__ */ React14.createElement(Stack2, { sx: { width: 296 }, "data-testid": "e-angie-guide-card" }, /* @__PURE__ */ React14.createElement(Stack2, { direction: "row", alignItems: "center", gap: 1, py: 1, px: 2 }, /* @__PURE__ */ React14.createElement(Typography, { variant: "subtitle2" }, __3("Meet Angie", "elementor")), /* @__PURE__ */ React14.createElement(Chip, { label: __3("New", "elementor"), size: "small", color: "info", variant: "standard" }), /* @__PURE__ */ React14.createElement(
|
|
362
|
+
CloseButton,
|
|
363
|
+
{
|
|
364
|
+
edge: "end",
|
|
365
|
+
sx: { ml: "auto" },
|
|
366
|
+
slotProps: { icon: { fontSize: "small" } },
|
|
367
|
+
onClick: onClose
|
|
368
|
+
}
|
|
369
|
+
)), /* @__PURE__ */ React14.createElement(Image, { src: imageUrl, alt: __3("Angie", "elementor"), sx: { height: 150, width: "100%" } }), /* @__PURE__ */ React14.createElement(Stack2, { px: 2, pt: 1.5, pb: 1 }, /* @__PURE__ */ React14.createElement(Typography, { variant: "body2", color: "secondary" }, description)), /* @__PURE__ */ React14.createElement(Stack2, { direction: "row", justifyContent: "flex-end", gap: 1, pt: 1, pb: 1.5, px: 2 }, /* @__PURE__ */ React14.createElement(
|
|
370
|
+
Button,
|
|
371
|
+
{
|
|
372
|
+
variant: "text",
|
|
373
|
+
size: "small",
|
|
374
|
+
color: "secondary",
|
|
375
|
+
onClick: () => {
|
|
376
|
+
window.open(learnMoreUrl, "_blank", "noopener,noreferrer");
|
|
377
|
+
onClose();
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
__3("Learn More", "elementor")
|
|
381
|
+
), onInstall && /* @__PURE__ */ React14.createElement(Button, { variant: "contained", size: "small", color: "accent", onClick: onInstall }, __3("Try for free", "elementor")))));
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// src/extensions/angie/hooks/use-auto-show.ts
|
|
385
|
+
import { useEffect } from "react";
|
|
386
|
+
function useAutoShow() {
|
|
387
|
+
useEffect(() => {
|
|
388
|
+
if (!window.elementor?.config?.angie?.autoShow) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
const id = setTimeout(() => {
|
|
392
|
+
window.dispatchEvent(new CustomEvent(ANGIE_GUIDE_TOGGLE_EVENT));
|
|
393
|
+
}, 0);
|
|
394
|
+
return () => clearTimeout(id);
|
|
395
|
+
}, []);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// src/extensions/angie/components/angie-guide-location.tsx
|
|
399
|
+
function AngieGuideLocation() {
|
|
400
|
+
useAutoShow();
|
|
401
|
+
const [anchorEl, setAnchorEl] = useState2(null);
|
|
402
|
+
const { dispatchEvent: dispatchEvent2 } = useMixpanel();
|
|
403
|
+
const { isAdmin } = useCurrentUserCapabilities();
|
|
404
|
+
const isOpen = Boolean(anchorEl);
|
|
405
|
+
useEffect2(() => {
|
|
406
|
+
const handleToggle = () => {
|
|
407
|
+
setAnchorEl((prev) => {
|
|
408
|
+
if (prev) {
|
|
409
|
+
return null;
|
|
410
|
+
}
|
|
411
|
+
return document.querySelector(`[aria-label="${ANGIE_BUTTON_ARIA_LABEL}"]`);
|
|
412
|
+
});
|
|
413
|
+
};
|
|
414
|
+
window.addEventListener(ANGIE_GUIDE_TOGGLE_EVENT, handleToggle);
|
|
415
|
+
return () => {
|
|
416
|
+
window.removeEventListener(ANGIE_GUIDE_TOGGLE_EVENT, handleToggle);
|
|
417
|
+
};
|
|
418
|
+
}, []);
|
|
419
|
+
const handleClose = () => setAnchorEl(null);
|
|
420
|
+
const handleInstall = async () => {
|
|
421
|
+
dispatchEvent2?.(AI_WIDGET_CTA_VIEWED_EVENT, {
|
|
422
|
+
entry_point: "top_bar_icon"
|
|
423
|
+
});
|
|
424
|
+
window.dispatchEvent(
|
|
425
|
+
new CustomEvent(CREATE_WIDGET_EVENT, {
|
|
426
|
+
detail: {
|
|
427
|
+
entry_point: "top_bar_icon"
|
|
428
|
+
}
|
|
429
|
+
})
|
|
430
|
+
);
|
|
431
|
+
handleClose();
|
|
432
|
+
};
|
|
433
|
+
return /* @__PURE__ */ React15.createElement(ThemeProvider, null, /* @__PURE__ */ React15.createElement(
|
|
434
|
+
Infotip,
|
|
435
|
+
{
|
|
436
|
+
content: /* @__PURE__ */ React15.createElement(
|
|
437
|
+
AngieGuideCard,
|
|
438
|
+
{
|
|
439
|
+
imageUrl: ANGIE_TOP_BAR_PROMOTION_IMAGE_URL,
|
|
440
|
+
description: ANGIE_TOP_BAR_DESCRIPTION,
|
|
441
|
+
learnMoreUrl: ANGIE_LEARN_MORE_URL,
|
|
442
|
+
onInstall: isAdmin ? handleInstall : void 0,
|
|
443
|
+
onClose: handleClose
|
|
444
|
+
}
|
|
445
|
+
),
|
|
446
|
+
placement: "bottom-start",
|
|
447
|
+
open: isOpen,
|
|
448
|
+
disableHoverListener: true,
|
|
449
|
+
PopperProps: {
|
|
450
|
+
anchorEl,
|
|
451
|
+
modifiers: [
|
|
452
|
+
{
|
|
453
|
+
name: "offset",
|
|
454
|
+
options: { offset: [-4, -4] }
|
|
455
|
+
}
|
|
456
|
+
]
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
/* @__PURE__ */ React15.createElement("span", null)
|
|
460
|
+
));
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
// src/components/ui/toolbar-menu.tsx
|
|
464
|
+
import * as React16 from "react";
|
|
465
|
+
import { Stack as Stack3 } from "@elementor/ui";
|
|
337
466
|
function ToolbarMenu({ children, ...props }) {
|
|
338
|
-
return /* @__PURE__ */
|
|
467
|
+
return /* @__PURE__ */ React16.createElement(MenuContextProvider, { type: "toolbar" }, /* @__PURE__ */ React16.createElement(Stack3, { sx: { px: 1.5 }, spacing: 1.5, direction: "row", alignItems: "center", ...props }, children));
|
|
339
468
|
}
|
|
340
469
|
|
|
341
470
|
// src/components/ui/toolbar-menu-more.tsx
|
|
342
|
-
import * as
|
|
471
|
+
import * as React17 from "react";
|
|
343
472
|
import { DotsVerticalIcon } from "@elementor/icons";
|
|
344
473
|
import { bindMenu as bindMenu2, bindTrigger as bindTrigger2, usePopupState as usePopupState2 } from "@elementor/ui";
|
|
345
|
-
import { __ as
|
|
474
|
+
import { __ as __4 } from "@wordpress/i18n";
|
|
346
475
|
function ToolbarMenuMore({ children, id }) {
|
|
347
476
|
const popupState = usePopupState2({
|
|
348
477
|
variant: "popover",
|
|
349
478
|
popupId: id
|
|
350
479
|
});
|
|
351
|
-
return /* @__PURE__ */
|
|
480
|
+
return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(ToolbarMenuItem, { ...bindTrigger2(popupState), title: __4("More", "elementor") }, /* @__PURE__ */ React17.createElement(DotsVerticalIcon, null)), /* @__PURE__ */ React17.createElement(PopoverMenu, { onClick: popupState.close, ...bindMenu2(popupState) }, children));
|
|
352
481
|
}
|
|
353
482
|
|
|
354
483
|
// src/components/locations/integrations-menu-location.tsx
|
|
355
|
-
import * as
|
|
484
|
+
import * as React18 from "react";
|
|
356
485
|
import { PlugIcon } from "@elementor/icons";
|
|
357
486
|
import { bindMenu as bindMenu3, bindTrigger as bindTrigger3, usePopupState as usePopupState3 } from "@elementor/ui";
|
|
358
|
-
import { __ as
|
|
487
|
+
import { __ as __5 } from "@wordpress/i18n";
|
|
359
488
|
var { useMenuItems: useMenuItems2 } = integrationsMenu;
|
|
360
489
|
function IntegrationsMenuLocation() {
|
|
361
490
|
const menuItems = useMenuItems2();
|
|
@@ -366,7 +495,7 @@ function IntegrationsMenuLocation() {
|
|
|
366
495
|
if (menuItems.default.length === 0) {
|
|
367
496
|
return null;
|
|
368
497
|
}
|
|
369
|
-
return /* @__PURE__ */
|
|
498
|
+
return /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(ToolbarMenuItem, { ...bindTrigger3(popupState), title: __5("Integrations", "elementor") }, /* @__PURE__ */ React18.createElement(PlugIcon, null)), /* @__PURE__ */ React18.createElement(
|
|
370
499
|
PopoverMenu,
|
|
371
500
|
{
|
|
372
501
|
onClick: popupState.close,
|
|
@@ -374,32 +503,32 @@ function IntegrationsMenuLocation() {
|
|
|
374
503
|
marginThreshold: 8,
|
|
375
504
|
open: popupState.isOpen
|
|
376
505
|
},
|
|
377
|
-
menuItems.default.map(({ MenuItem: IntegrationsMenuItem, id }) => /* @__PURE__ */
|
|
506
|
+
menuItems.default.map(({ MenuItem: IntegrationsMenuItem, id }) => /* @__PURE__ */ React18.createElement(IntegrationsMenuItem, { key: id }))
|
|
378
507
|
));
|
|
379
508
|
}
|
|
380
509
|
|
|
381
510
|
// src/components/locations/send-feedback-popup-location.tsx
|
|
382
|
-
import * as
|
|
383
|
-
import { useEffect, useState as
|
|
384
|
-
import { ThemeProvider } from "@elementor/editor-ui";
|
|
511
|
+
import * as React19 from "react";
|
|
512
|
+
import { useEffect as useEffect3, useState as useState3 } from "react";
|
|
513
|
+
import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
|
|
385
514
|
import { isExperimentActive } from "@elementor/editor-v1-adapters";
|
|
386
|
-
import { useMixpanel } from "@elementor/events";
|
|
515
|
+
import { useMixpanel as useMixpanel2 } from "@elementor/events";
|
|
387
516
|
import { httpService } from "@elementor/http-client";
|
|
388
517
|
import { AlertCircleIcon, CheckIcon } from "@elementor/icons";
|
|
389
518
|
import {
|
|
390
519
|
bindDialog,
|
|
391
|
-
Button,
|
|
392
|
-
CloseButton,
|
|
520
|
+
Button as Button2,
|
|
521
|
+
CloseButton as CloseButton2,
|
|
393
522
|
Dialog,
|
|
394
523
|
DialogContent,
|
|
395
524
|
DialogHeader,
|
|
396
525
|
DialogTitle,
|
|
397
526
|
Popover,
|
|
398
|
-
Stack as
|
|
527
|
+
Stack as Stack4,
|
|
399
528
|
TextField,
|
|
400
529
|
usePopupState as usePopupState4
|
|
401
530
|
} from "@elementor/ui";
|
|
402
|
-
import { __ as
|
|
531
|
+
import { __ as __6 } from "@wordpress/i18n";
|
|
403
532
|
|
|
404
533
|
// src/extensions/feedback/feedback-consts.ts
|
|
405
534
|
var EXPERIMENT_NAME = "in_editor_feedback";
|
|
@@ -413,23 +542,23 @@ var checkIfUserIsConnected = () => {
|
|
|
413
542
|
function SendFeedbackPopupLocation() {
|
|
414
543
|
const isActive = isExperimentActive(EXPERIMENT_NAME);
|
|
415
544
|
const extendedWindow = window;
|
|
416
|
-
const [isUserConnected, setIsUserConnected] =
|
|
545
|
+
const [isUserConnected, setIsUserConnected] = useState3(checkIfUserIsConnected());
|
|
417
546
|
const connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;
|
|
418
|
-
const [feedbackContent, setFeedbackContent] =
|
|
419
|
-
const [feedbackResult, setFeedbackResult] =
|
|
420
|
-
const [submitDisabled, setSubmitDisabled] =
|
|
421
|
-
const { dispatchEvent:
|
|
547
|
+
const [feedbackContent, setFeedbackContent] = useState3("");
|
|
548
|
+
const [feedbackResult, setFeedbackResult] = useState3(null);
|
|
549
|
+
const [submitDisabled, setSubmitDisabled] = useState3(true);
|
|
550
|
+
const { dispatchEvent: trackEvent2 = (...args) => void args } = useMixpanel2();
|
|
422
551
|
const popupState = usePopupState4({
|
|
423
552
|
variant: "dialog",
|
|
424
553
|
popupId: FEEDBACK_TOGGLE_EVENT
|
|
425
554
|
});
|
|
426
|
-
const [isFetching, setIsFetching] =
|
|
427
|
-
|
|
555
|
+
const [isFetching, setIsFetching] = useState3(false);
|
|
556
|
+
useEffect3(() => {
|
|
428
557
|
const handler = () => {
|
|
429
558
|
popupState.toggle();
|
|
430
559
|
setIsUserConnected(checkIfUserIsConnected());
|
|
431
560
|
setFeedbackResult(null);
|
|
432
|
-
|
|
561
|
+
trackEvent2("feedback_modal_opened", {
|
|
433
562
|
source: "top_bar",
|
|
434
563
|
context: "v4_beta"
|
|
435
564
|
});
|
|
@@ -438,13 +567,13 @@ function SendFeedbackPopupLocation() {
|
|
|
438
567
|
return () => {
|
|
439
568
|
window.removeEventListener(FEEDBACK_TOGGLE_EVENT, handler);
|
|
440
569
|
};
|
|
441
|
-
}, [popupState,
|
|
442
|
-
|
|
570
|
+
}, [popupState, trackEvent2]);
|
|
571
|
+
useEffect3(() => {
|
|
443
572
|
setSubmitDisabled(feedbackContent.trim().length < 10 || !isUserConnected || isFetching);
|
|
444
573
|
}, [feedbackContent, feedbackResult, isUserConnected, isFetching]);
|
|
445
574
|
const handleClose = () => {
|
|
446
575
|
popupState.close();
|
|
447
|
-
|
|
576
|
+
trackEvent2("feedback_modal_closed", {
|
|
448
577
|
feedback_text: feedbackContent
|
|
449
578
|
});
|
|
450
579
|
};
|
|
@@ -464,7 +593,7 @@ function SendFeedbackPopupLocation() {
|
|
|
464
593
|
if (!response.data.success && response.data.code.toString() === "401" || response.data.code.toString() === "403") {
|
|
465
594
|
setIsUserConnected(false);
|
|
466
595
|
}
|
|
467
|
-
|
|
596
|
+
trackEvent2(response.data.success ? "feedback_submitted" : "feedback_error", {
|
|
468
597
|
feedback_length: feedbackContent.length,
|
|
469
598
|
error_type: response.data.success ? void 0 : "server",
|
|
470
599
|
error_message: response.data.success ? void 0 : response.data.message
|
|
@@ -474,8 +603,8 @@ function SendFeedbackPopupLocation() {
|
|
|
474
603
|
if (!isActive) {
|
|
475
604
|
return null;
|
|
476
605
|
}
|
|
477
|
-
return /* @__PURE__ */
|
|
478
|
-
|
|
606
|
+
return /* @__PURE__ */ React19.createElement(ThemeProvider2, null, /* @__PURE__ */ React19.createElement(Popover, { ...bindDialog(popupState), onClose: () => handleClose() }, /* @__PURE__ */ React19.createElement(Dialog, { open: popupState.isOpen }, /* @__PURE__ */ React19.createElement(DialogHeader, { style: { width: "100%", minWidth: "35rem" } }, /* @__PURE__ */ React19.createElement(DialogTitle, { style: { width: "100%" } }, /* @__PURE__ */ React19.createElement(
|
|
607
|
+
Stack4,
|
|
479
608
|
{
|
|
480
609
|
display: "flex",
|
|
481
610
|
direction: "row",
|
|
@@ -483,18 +612,18 @@ function SendFeedbackPopupLocation() {
|
|
|
483
612
|
justifyContent: "space-between",
|
|
484
613
|
width: "100%"
|
|
485
614
|
},
|
|
486
|
-
|
|
487
|
-
/* @__PURE__ */
|
|
488
|
-
))), /* @__PURE__ */
|
|
615
|
+
__6("Submit Feedback", "elementor"),
|
|
616
|
+
/* @__PURE__ */ React19.createElement(CloseButton2, { onClick: popupState.close })
|
|
617
|
+
))), /* @__PURE__ */ React19.createElement(DialogContent, null, /* @__PURE__ */ React19.createElement(Stack4, { direction: "column", gap: 2 }, isUserConnected ? /* @__PURE__ */ React19.createElement(React19.Fragment, null, /* @__PURE__ */ React19.createElement(
|
|
489
618
|
TextField,
|
|
490
619
|
{
|
|
491
620
|
autofocus: true,
|
|
492
|
-
placeholder:
|
|
621
|
+
placeholder: __6(
|
|
493
622
|
"E.g. Can you add ABC features? I want to do ABC and it\u2019s important because \u2026",
|
|
494
623
|
"elementor"
|
|
495
624
|
),
|
|
496
625
|
fullwith: true,
|
|
497
|
-
label:
|
|
626
|
+
label: __6("Your Feedback", "elementor"),
|
|
498
627
|
multiline: true,
|
|
499
628
|
id: "elementor-feedback-usercontent",
|
|
500
629
|
rows: 6,
|
|
@@ -503,8 +632,8 @@ function SendFeedbackPopupLocation() {
|
|
|
503
632
|
onChange: (event) => setFeedbackContent(event.target.value),
|
|
504
633
|
value: feedbackContent
|
|
505
634
|
}
|
|
506
|
-
), /* @__PURE__ */
|
|
507
|
-
|
|
635
|
+
), /* @__PURE__ */ React19.createElement(Stack4, { direction: "row", justifyContent: "flex-end", alignItems: "center", gap: 2 }, feedbackResult && /* @__PURE__ */ React19.createElement(React19.Fragment, null, feedbackResult.success ? /* @__PURE__ */ React19.createElement(CheckIcon, { color: "success" }) : /* @__PURE__ */ React19.createElement(AlertCircleIcon, { color: "error" }), feedbackResult.message), feedbackResult?.success ? /* @__PURE__ */ React19.createElement(Button2, { variant: "text", onClick: () => handleStartAnother() }, __6("Submit Another Feedback", "elementor")) : /* @__PURE__ */ React19.createElement(
|
|
636
|
+
Button2,
|
|
508
637
|
{
|
|
509
638
|
disabled: submitDisabled,
|
|
510
639
|
onClick: submitFeedback,
|
|
@@ -512,9 +641,9 @@ function SendFeedbackPopupLocation() {
|
|
|
512
641
|
color: "primary",
|
|
513
642
|
size: "small"
|
|
514
643
|
},
|
|
515
|
-
|
|
516
|
-
))) : /* @__PURE__ */
|
|
517
|
-
|
|
644
|
+
__6("Submit", "elementor")
|
|
645
|
+
))) : /* @__PURE__ */ React19.createElement(React19.Fragment, null, /* @__PURE__ */ React19.createElement(
|
|
646
|
+
Button2,
|
|
518
647
|
{
|
|
519
648
|
variant: "contained",
|
|
520
649
|
color: "primary",
|
|
@@ -524,7 +653,7 @@ function SendFeedbackPopupLocation() {
|
|
|
524
653
|
rel: "noopener",
|
|
525
654
|
onClick: popupState.close
|
|
526
655
|
},
|
|
527
|
-
|
|
656
|
+
__6("Connect to Elementor", "elementor")
|
|
528
657
|
)))))));
|
|
529
658
|
}
|
|
530
659
|
|
|
@@ -535,11 +664,11 @@ function ToolsMenuLocation() {
|
|
|
535
664
|
const menuItems = useMenuItems3();
|
|
536
665
|
const toolbarMenuItems = menuItems.default.slice(0, MAX_TOOLBAR_ACTIONS);
|
|
537
666
|
const popoverMenuItems = menuItems.default.slice(MAX_TOOLBAR_ACTIONS);
|
|
538
|
-
return /* @__PURE__ */
|
|
667
|
+
return /* @__PURE__ */ React20.createElement(ToolbarMenu, null, toolbarMenuItems.map(({ MenuItem: MenuItem2, id }) => /* @__PURE__ */ React20.createElement(MenuItem2, { key: id })), /* @__PURE__ */ React20.createElement(AngieGuideLocation, null), /* @__PURE__ */ React20.createElement(SendFeedbackPopupLocation, null), /* @__PURE__ */ React20.createElement(IntegrationsMenuLocation, null), popoverMenuItems.length > 0 && /* @__PURE__ */ React20.createElement(ToolbarMenuMore, { id: "elementor-editor-app-bar-tools-more" }, popoverMenuItems.map(({ MenuItem: MenuItem2, id }) => /* @__PURE__ */ React20.createElement(MenuItem2, { key: id }))));
|
|
539
668
|
}
|
|
540
669
|
|
|
541
670
|
// src/components/locations/utilities-menu-location.tsx
|
|
542
|
-
import * as
|
|
671
|
+
import * as React21 from "react";
|
|
543
672
|
import { Fragment as Fragment4 } from "react";
|
|
544
673
|
var MAX_TOOLBAR_ACTIONS2 = 4;
|
|
545
674
|
var { useMenuItems: useMenuItems4 } = utilitiesMenu;
|
|
@@ -548,40 +677,42 @@ function UtilitiesMenuLocation() {
|
|
|
548
677
|
const shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS2 + 1;
|
|
549
678
|
const toolbarMenuItems = shouldUsePopover ? menuItems.default.slice(0, MAX_TOOLBAR_ACTIONS2) : menuItems.default;
|
|
550
679
|
const popoverMenuItems = shouldUsePopover ? menuItems.default.slice(MAX_TOOLBAR_ACTIONS2) : [];
|
|
551
|
-
return /* @__PURE__ */
|
|
680
|
+
return /* @__PURE__ */ React21.createElement(ToolbarMenu, null, toolbarMenuItems.map(({ MenuItem: MenuItem2, id }) => /* @__PURE__ */ React21.createElement(Fragment4, { key: id }, /* @__PURE__ */ React21.createElement(MenuItem2, null))), popoverMenuItems.length > 0 && /* @__PURE__ */ React21.createElement(ToolbarMenuMore, { id: "elementor-editor-app-bar-utilities-more" }, popoverMenuItems.map(({ MenuItem: MenuItem2, id }) => /* @__PURE__ */ React21.createElement(MenuItem2, { key: id }))));
|
|
552
681
|
}
|
|
553
682
|
|
|
554
683
|
// src/components/app-bar.tsx
|
|
555
684
|
function AppBar() {
|
|
556
685
|
const document2 = useActiveDocument();
|
|
557
|
-
return /* @__PURE__ */
|
|
686
|
+
return /* @__PURE__ */ React22.createElement(ThemeProvider3, { colorScheme: "dark" }, /* @__PURE__ */ React22.createElement(BaseAppBar, { position: "sticky" }, /* @__PURE__ */ React22.createElement(Toolbar, { disableGutters: true, variant: "dense" }, /* @__PURE__ */ React22.createElement(Box3, { display: "grid", gridTemplateColumns: "repeat(3, 1fr)", flexGrow: 1 }, /* @__PURE__ */ React22.createElement(Grid, { container: true, flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(MainMenuLocation, null), document2?.permissions?.allowAddingWidgets && /* @__PURE__ */ React22.createElement(ToolsMenuLocation, null)), /* @__PURE__ */ React22.createElement(Grid, { container: true, justifyContent: "center" }, /* @__PURE__ */ React22.createElement(ToolbarMenu, { spacing: 1.5 }, /* @__PURE__ */ React22.createElement(Divider2, { orientation: "vertical" }), /* @__PURE__ */ React22.createElement(PageIndicationLocation, null), /* @__PURE__ */ React22.createElement(Divider2, { orientation: "vertical" }), /* @__PURE__ */ React22.createElement(ResponsiveLocation, null), /* @__PURE__ */ React22.createElement(Divider2, { orientation: "vertical" }))), /* @__PURE__ */ React22.createElement(Grid, { container: true, justifyContent: "flex-end", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(UtilitiesMenuLocation, null), /* @__PURE__ */ React22.createElement(PrimaryActionLocation, null))))));
|
|
558
687
|
}
|
|
559
688
|
|
|
560
689
|
// src/extensions/angie/hooks/use-action-props.ts
|
|
690
|
+
import { useEffect as useEffect4 } from "react";
|
|
561
691
|
import { isAngieAvailable } from "@elementor/editor-mcp";
|
|
692
|
+
import { trackEvent } from "@elementor/events";
|
|
562
693
|
import { AngieIcon } from "@elementor/icons";
|
|
563
|
-
import { __ as
|
|
564
|
-
var CREATE_WIDGET_EVENT = "elementor/editor/create-widget";
|
|
565
|
-
var CREATE_WIDGET_PROMPT = `Create a widget for me.
|
|
566
|
-
Goal: [What should this widget help me accomplish?]
|
|
567
|
-
Placement: [Where will I see it in the editor/UI?]
|
|
568
|
-
How it should work: `;
|
|
694
|
+
import { __ as __7 } from "@wordpress/i18n";
|
|
569
695
|
function useActionProps() {
|
|
696
|
+
const hasAngieInstalled = isAngieAvailable();
|
|
697
|
+
const visible = !hasAngieInstalled;
|
|
698
|
+
useEffect4(() => {
|
|
699
|
+
if (!visible) {
|
|
700
|
+
return;
|
|
701
|
+
}
|
|
702
|
+
trackEvent({
|
|
703
|
+
eventName: AI_WIDGET_CTA_VIEWED_EVENT,
|
|
704
|
+
entry_point: "top_bar_icon",
|
|
705
|
+
has_angie_installed: false
|
|
706
|
+
});
|
|
707
|
+
}, [visible]);
|
|
570
708
|
return {
|
|
571
|
-
title:
|
|
709
|
+
title: __7("Angie", "elementor"),
|
|
572
710
|
icon: AngieIcon,
|
|
573
711
|
onClick: () => {
|
|
574
|
-
window.dispatchEvent(
|
|
575
|
-
new CustomEvent(CREATE_WIDGET_EVENT, {
|
|
576
|
-
detail: {
|
|
577
|
-
prompt: CREATE_WIDGET_PROMPT,
|
|
578
|
-
entry_point: "top_bar"
|
|
579
|
-
}
|
|
580
|
-
})
|
|
581
|
-
);
|
|
712
|
+
window.dispatchEvent(new CustomEvent(ANGIE_GUIDE_TOGGLE_EVENT));
|
|
582
713
|
},
|
|
583
714
|
selected: false,
|
|
584
|
-
visible
|
|
715
|
+
visible
|
|
585
716
|
};
|
|
586
717
|
}
|
|
587
718
|
|
|
@@ -597,7 +728,7 @@ function init() {
|
|
|
597
728
|
// src/extensions/connect/hooks/use-connect-link-config.tsx
|
|
598
729
|
import { useCallback } from "react";
|
|
599
730
|
import { UserIcon } from "@elementor/icons";
|
|
600
|
-
import { __ as
|
|
731
|
+
import { __ as __8 } from "@wordpress/i18n";
|
|
601
732
|
var dispatchConnectClickEvent = (eventName) => {
|
|
602
733
|
try {
|
|
603
734
|
const extendedWindow = window;
|
|
@@ -650,12 +781,12 @@ function useConnectLinkConfig() {
|
|
|
650
781
|
[extendedWindow]
|
|
651
782
|
);
|
|
652
783
|
return isUserConnected ? {
|
|
653
|
-
title:
|
|
784
|
+
title: __8("My Elementor", "elementor"),
|
|
654
785
|
href: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,
|
|
655
786
|
icon: UserIcon,
|
|
656
787
|
target: "_blank"
|
|
657
788
|
} : {
|
|
658
|
-
title:
|
|
789
|
+
title: __8("Connect my account", "elementor"),
|
|
659
790
|
href: extendedWindow?.elementor?.config.user.top_bar.connect_url,
|
|
660
791
|
icon: UserIcon,
|
|
661
792
|
target,
|
|
@@ -677,12 +808,12 @@ function init2() {
|
|
|
677
808
|
import { __useActiveDocument as useActiveDocument2 } from "@elementor/editor-documents";
|
|
678
809
|
import { __privateRunCommand as runCommand } from "@elementor/editor-v1-adapters";
|
|
679
810
|
import { EyeIcon } from "@elementor/icons";
|
|
680
|
-
import { __ as
|
|
811
|
+
import { __ as __9 } from "@wordpress/i18n";
|
|
681
812
|
function useActionProps2() {
|
|
682
813
|
const document2 = useActiveDocument2();
|
|
683
814
|
return {
|
|
684
815
|
icon: EyeIcon,
|
|
685
|
-
title:
|
|
816
|
+
title: __9("Preview Changes", "elementor"),
|
|
686
817
|
onClick: () => {
|
|
687
818
|
const extendedWindow = window;
|
|
688
819
|
const config = extendedWindow?.elementorCommon?.eventsManager?.config;
|
|
@@ -714,7 +845,7 @@ function init3() {
|
|
|
714
845
|
}
|
|
715
846
|
|
|
716
847
|
// src/extensions/documents-save/components/primary-action.tsx
|
|
717
|
-
import * as
|
|
848
|
+
import * as React24 from "react";
|
|
718
849
|
import {
|
|
719
850
|
__useActiveDocument as useActiveDocument3,
|
|
720
851
|
__useActiveDocumentActions as useActiveDocumentActions
|
|
@@ -725,16 +856,16 @@ import {
|
|
|
725
856
|
bindMenu as bindMenu4,
|
|
726
857
|
bindTrigger as bindTrigger4,
|
|
727
858
|
Box as Box4,
|
|
728
|
-
Button as
|
|
859
|
+
Button as Button3,
|
|
729
860
|
ButtonGroup,
|
|
730
861
|
CircularProgress,
|
|
731
862
|
Tooltip as Tooltip3,
|
|
732
863
|
usePopupState as usePopupState5
|
|
733
864
|
} from "@elementor/ui";
|
|
734
|
-
import { __ as
|
|
865
|
+
import { __ as __10 } from "@wordpress/i18n";
|
|
735
866
|
|
|
736
867
|
// src/extensions/documents-save/components/primary-action-menu.tsx
|
|
737
|
-
import * as
|
|
868
|
+
import * as React23 from "react";
|
|
738
869
|
import { Divider as Divider3, styled as styled2 } from "@elementor/ui";
|
|
739
870
|
var { useMenuItems: useMenuItems5 } = documentOptionsMenu;
|
|
740
871
|
var StyledPopoverMenu = styled2(PopoverMenu)`
|
|
@@ -750,7 +881,7 @@ var StyledPopoverMenu = styled2(PopoverMenu)`
|
|
|
750
881
|
`;
|
|
751
882
|
function PrimaryActionMenu(props) {
|
|
752
883
|
const { save: saveActions, default: defaultActions } = useMenuItems5();
|
|
753
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ React23.createElement(
|
|
754
885
|
StyledPopoverMenu,
|
|
755
886
|
{
|
|
756
887
|
...props,
|
|
@@ -768,13 +899,13 @@ function PrimaryActionMenu(props) {
|
|
|
768
899
|
}
|
|
769
900
|
},
|
|
770
901
|
saveActions.map(({ MenuItem: MenuItem2, id }, index) => [
|
|
771
|
-
index > 0 && /* @__PURE__ */
|
|
772
|
-
/* @__PURE__ */
|
|
902
|
+
index > 0 && /* @__PURE__ */ React23.createElement(Divider3, { key: `${id}-divider` }),
|
|
903
|
+
/* @__PURE__ */ React23.createElement(MenuItem2, { key: id })
|
|
773
904
|
]),
|
|
774
|
-
saveActions.length > 0 && defaultActions.length > 0 && /* @__PURE__ */
|
|
905
|
+
saveActions.length > 0 && defaultActions.length > 0 && /* @__PURE__ */ React23.createElement(Divider3, null),
|
|
775
906
|
defaultActions.map(({ MenuItem: MenuItem2, id }, index) => [
|
|
776
|
-
index > 0 && /* @__PURE__ */
|
|
777
|
-
/* @__PURE__ */
|
|
907
|
+
index > 0 && /* @__PURE__ */ React23.createElement(Divider3, { key: `${id}-divider` }),
|
|
908
|
+
/* @__PURE__ */ React23.createElement(MenuItem2, { key: id })
|
|
778
909
|
])
|
|
779
910
|
);
|
|
780
911
|
}
|
|
@@ -795,8 +926,8 @@ function PrimaryAction() {
|
|
|
795
926
|
const isPublishDisabled = !isEditMode || !isPublishEnabled(document2);
|
|
796
927
|
const isSaveOptionsDisabled = !isEditMode || document2.type.value === "kit";
|
|
797
928
|
const shouldShowSpinner = document2.isSaving && !isPublishDisabled;
|
|
798
|
-
return /* @__PURE__ */
|
|
799
|
-
|
|
929
|
+
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(ButtonGroup, { size: "large", variant: "contained" }, /* @__PURE__ */ React24.createElement(
|
|
930
|
+
Button3,
|
|
800
931
|
{
|
|
801
932
|
onClick: () => {
|
|
802
933
|
const extendedWindow = window;
|
|
@@ -826,11 +957,11 @@ function PrimaryAction() {
|
|
|
826
957
|
},
|
|
827
958
|
disabled: isPublishDisabled
|
|
828
959
|
},
|
|
829
|
-
shouldShowSpinner ? /* @__PURE__ */
|
|
830
|
-
), /* @__PURE__ */
|
|
960
|
+
shouldShowSpinner ? /* @__PURE__ */ React24.createElement(CircularProgress, { color: "inherit", size: "1.5em" }) : getLabel(document2)
|
|
961
|
+
), /* @__PURE__ */ React24.createElement(
|
|
831
962
|
Tooltip3,
|
|
832
963
|
{
|
|
833
|
-
title:
|
|
964
|
+
title: __10("Save Options", "elementor"),
|
|
834
965
|
PopperProps: {
|
|
835
966
|
sx: {
|
|
836
967
|
"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom": {
|
|
@@ -840,21 +971,21 @@ function PrimaryAction() {
|
|
|
840
971
|
}
|
|
841
972
|
}
|
|
842
973
|
},
|
|
843
|
-
/* @__PURE__ */
|
|
844
|
-
|
|
974
|
+
/* @__PURE__ */ React24.createElement(Box4, { component: "span", "aria-label": void 0 }, /* @__PURE__ */ React24.createElement(
|
|
975
|
+
Button3,
|
|
845
976
|
{
|
|
846
977
|
size: "small",
|
|
847
978
|
...bindTrigger4(popupState),
|
|
848
979
|
sx: { px: 0, height: "100%", borderRadius: 0 },
|
|
849
980
|
disabled: isSaveOptionsDisabled,
|
|
850
|
-
"aria-label":
|
|
981
|
+
"aria-label": __10("Save Options", "elementor")
|
|
851
982
|
},
|
|
852
|
-
/* @__PURE__ */
|
|
983
|
+
/* @__PURE__ */ React24.createElement(ChevronDownIcon, null)
|
|
853
984
|
))
|
|
854
|
-
)), /* @__PURE__ */
|
|
985
|
+
)), /* @__PURE__ */ React24.createElement(PrimaryActionMenu, { ...bindMenu4(popupState), onClick: popupState.close }));
|
|
855
986
|
}
|
|
856
987
|
function getLabel(document2) {
|
|
857
|
-
return document2.userCan.publish ?
|
|
988
|
+
return document2.userCan.publish ? __10("Publish", "elementor") : __10("Submit", "elementor");
|
|
858
989
|
}
|
|
859
990
|
function isPublishEnabled(document2) {
|
|
860
991
|
if (document2.type.value === "kit") {
|
|
@@ -868,16 +999,16 @@ import {
|
|
|
868
999
|
__useActiveDocument as useActiveDocument4,
|
|
869
1000
|
__useActiveDocumentActions as useActiveDocumentActions2
|
|
870
1001
|
} from "@elementor/editor-documents";
|
|
871
|
-
import { useMixpanel as
|
|
1002
|
+
import { useMixpanel as useMixpanel3 } from "@elementor/events";
|
|
872
1003
|
import { LinkIcon } from "@elementor/icons";
|
|
873
|
-
import { __ as
|
|
1004
|
+
import { __ as __11 } from "@wordpress/i18n";
|
|
874
1005
|
function useDocumentCopyAndShareProps() {
|
|
875
1006
|
const document2 = useActiveDocument4();
|
|
876
1007
|
const { copyAndShare } = useActiveDocumentActions2();
|
|
877
|
-
const { dispatchEvent: dispatchEvent2, config } =
|
|
1008
|
+
const { dispatchEvent: dispatchEvent2, config } = useMixpanel3();
|
|
878
1009
|
return {
|
|
879
1010
|
icon: LinkIcon,
|
|
880
|
-
title:
|
|
1011
|
+
title: __11("Copy and Share", "elementor"),
|
|
881
1012
|
onClick: () => {
|
|
882
1013
|
const eventName = config?.names?.editorOne?.topBarPublishDropdown;
|
|
883
1014
|
if (eventName) {
|
|
@@ -905,16 +1036,16 @@ import {
|
|
|
905
1036
|
__useActiveDocument as useActiveDocument5,
|
|
906
1037
|
__useActiveDocumentActions as useActiveDocumentActions3
|
|
907
1038
|
} from "@elementor/editor-documents";
|
|
908
|
-
import { useMixpanel as
|
|
1039
|
+
import { useMixpanel as useMixpanel4 } from "@elementor/events";
|
|
909
1040
|
import { FileReportIcon } from "@elementor/icons";
|
|
910
|
-
import { __ as
|
|
1041
|
+
import { __ as __12 } from "@wordpress/i18n";
|
|
911
1042
|
function useDocumentSaveDraftProps() {
|
|
912
1043
|
const document2 = useActiveDocument5();
|
|
913
1044
|
const { saveDraft } = useActiveDocumentActions3();
|
|
914
|
-
const { dispatchEvent: dispatchEvent2, config } =
|
|
1045
|
+
const { dispatchEvent: dispatchEvent2, config } = useMixpanel4();
|
|
915
1046
|
return {
|
|
916
1047
|
icon: FileReportIcon,
|
|
917
|
-
title:
|
|
1048
|
+
title: __12("Save Draft", "elementor"),
|
|
918
1049
|
onClick: () => {
|
|
919
1050
|
const eventName = config?.names?.editorOne?.topBarPublishDropdown;
|
|
920
1051
|
if (eventName) {
|
|
@@ -938,15 +1069,15 @@ function useDocumentSaveDraftProps() {
|
|
|
938
1069
|
|
|
939
1070
|
// src/extensions/documents-save/hooks/use-document-save-template-props.ts
|
|
940
1071
|
import { __useActiveDocumentActions as useActiveDocumentActions4 } from "@elementor/editor-documents";
|
|
941
|
-
import { useMixpanel as
|
|
1072
|
+
import { useMixpanel as useMixpanel5 } from "@elementor/events";
|
|
942
1073
|
import { FolderIcon } from "@elementor/icons";
|
|
943
|
-
import { __ as
|
|
1074
|
+
import { __ as __13 } from "@wordpress/i18n";
|
|
944
1075
|
function useDocumentSaveTemplateProps() {
|
|
945
1076
|
const { saveTemplate } = useActiveDocumentActions4();
|
|
946
|
-
const { dispatchEvent: dispatchEvent2, config } =
|
|
1077
|
+
const { dispatchEvent: dispatchEvent2, config } = useMixpanel5();
|
|
947
1078
|
return {
|
|
948
1079
|
icon: FolderIcon,
|
|
949
|
-
title:
|
|
1080
|
+
title: __13("Save as Template", "elementor"),
|
|
950
1081
|
onClick: () => {
|
|
951
1082
|
const eventName = config?.names?.editorOne?.topBarPublishDropdown;
|
|
952
1083
|
if (eventName) {
|
|
@@ -971,12 +1102,12 @@ function useDocumentSaveTemplateProps() {
|
|
|
971
1102
|
import { __useActiveDocument as useActiveDocument6 } from "@elementor/editor-documents";
|
|
972
1103
|
import { __privateRunCommand as runCommand2 } from "@elementor/editor-v1-adapters";
|
|
973
1104
|
import { EyeIcon as EyeIcon2 } from "@elementor/icons";
|
|
974
|
-
import { __ as
|
|
1105
|
+
import { __ as __14 } from "@wordpress/i18n";
|
|
975
1106
|
function useDocumentViewAsMarkdownProps() {
|
|
976
1107
|
const document2 = useActiveDocument6();
|
|
977
1108
|
return {
|
|
978
1109
|
icon: EyeIcon2,
|
|
979
|
-
title:
|
|
1110
|
+
title: __14("View as Markdown", "elementor"),
|
|
980
1111
|
onClick: async () => {
|
|
981
1112
|
const baseUrl = document2?.links?.wpPreview || document2?.links?.permalink;
|
|
982
1113
|
if (!baseUrl) {
|
|
@@ -995,15 +1126,15 @@ function useDocumentViewAsMarkdownProps() {
|
|
|
995
1126
|
// src/extensions/documents-save/hooks/use-document-view-page-props.ts
|
|
996
1127
|
import { __useActiveDocument as useActiveDocument7 } from "@elementor/editor-documents";
|
|
997
1128
|
import { __privateRunCommand as runCommand3 } from "@elementor/editor-v1-adapters";
|
|
998
|
-
import { useMixpanel as
|
|
1129
|
+
import { useMixpanel as useMixpanel6 } from "@elementor/events";
|
|
999
1130
|
import { EyeIcon as EyeIcon3 } from "@elementor/icons";
|
|
1000
|
-
import { __ as
|
|
1131
|
+
import { __ as __15 } from "@wordpress/i18n";
|
|
1001
1132
|
function useDocumentViewPageProps() {
|
|
1002
1133
|
const document2 = useActiveDocument7();
|
|
1003
|
-
const { dispatchEvent: dispatchEvent2, config } =
|
|
1134
|
+
const { dispatchEvent: dispatchEvent2, config } = useMixpanel6();
|
|
1004
1135
|
return {
|
|
1005
1136
|
icon: EyeIcon3,
|
|
1006
|
-
title:
|
|
1137
|
+
title: __15("View Page", "elementor"),
|
|
1007
1138
|
onClick: () => {
|
|
1008
1139
|
const eventName = config?.names?.editorOne?.topBarPublishDropdown;
|
|
1009
1140
|
if (eventName) {
|
|
@@ -1073,7 +1204,7 @@ import {
|
|
|
1073
1204
|
__privateUseRouteStatus as useRouteStatus
|
|
1074
1205
|
} from "@elementor/editor-v1-adapters";
|
|
1075
1206
|
import { FileSettingsIcon } from "@elementor/icons";
|
|
1076
|
-
import { __ as
|
|
1207
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
1077
1208
|
function useActionProps3() {
|
|
1078
1209
|
const activeDocument = useActiveDocument8();
|
|
1079
1210
|
const hostDocument = useHostDocument();
|
|
@@ -1081,8 +1212,8 @@ function useActionProps3() {
|
|
|
1081
1212
|
const document2 = activeDocument && activeDocument.type.value !== "kit" ? activeDocument : hostDocument;
|
|
1082
1213
|
const ButtonTitle = document2 ? (
|
|
1083
1214
|
/* translators: %s: Post type label. */
|
|
1084
|
-
|
|
1085
|
-
) :
|
|
1215
|
+
__16("%s Settings", "elementor").replace("%s", document2.type.label)
|
|
1216
|
+
) : __16("Document Settings", "elementor");
|
|
1086
1217
|
return {
|
|
1087
1218
|
title: ButtonTitle,
|
|
1088
1219
|
icon: FileSettingsIcon,
|
|
@@ -1122,11 +1253,11 @@ import {
|
|
|
1122
1253
|
__privateUseRouteStatus as useRouteStatus2
|
|
1123
1254
|
} from "@elementor/editor-v1-adapters";
|
|
1124
1255
|
import { PlusIcon } from "@elementor/icons";
|
|
1125
|
-
import { __ as
|
|
1256
|
+
import { __ as __17 } from "@wordpress/i18n";
|
|
1126
1257
|
function useActionProps4() {
|
|
1127
1258
|
const { isActive, isBlocked } = useRouteStatus2("panel/elements");
|
|
1128
1259
|
return {
|
|
1129
|
-
title:
|
|
1260
|
+
title: __17("Add Element", "elementor"),
|
|
1130
1261
|
icon: PlusIcon,
|
|
1131
1262
|
onClick: () => {
|
|
1132
1263
|
const extendedWindow = window;
|
|
@@ -1153,10 +1284,10 @@ import {
|
|
|
1153
1284
|
routeOpenEvent,
|
|
1154
1285
|
v1ReadyEvent
|
|
1155
1286
|
} from "@elementor/editor-v1-adapters";
|
|
1156
|
-
import { __ as
|
|
1287
|
+
import { __ as __18 } from "@wordpress/i18n";
|
|
1157
1288
|
function syncPanelTitle() {
|
|
1158
|
-
const panelTitle =
|
|
1159
|
-
const tabTitle =
|
|
1289
|
+
const panelTitle = __18("Elements", "elementor");
|
|
1290
|
+
const tabTitle = __18("Widgets", "elementor");
|
|
1160
1291
|
listenTo(routeOpenEvent("panel/elements"), () => {
|
|
1161
1292
|
setPanelTitle(panelTitle);
|
|
1162
1293
|
setTabTitle(tabTitle);
|
|
@@ -1191,7 +1322,7 @@ function init6() {
|
|
|
1191
1322
|
// src/extensions/feedback/index.ts
|
|
1192
1323
|
import { isExperimentActive as isExperimentActive2 } from "@elementor/editor-v1-adapters";
|
|
1193
1324
|
import { MessageLinesIcon } from "@elementor/icons";
|
|
1194
|
-
import { __ as
|
|
1325
|
+
import { __ as __19 } from "@wordpress/i18n";
|
|
1195
1326
|
function init7() {
|
|
1196
1327
|
const isActive = isExperimentActive2(EXPERIMENT_NAME);
|
|
1197
1328
|
if (!isActive) {
|
|
@@ -1204,7 +1335,7 @@ function init7() {
|
|
|
1204
1335
|
useProps: () => {
|
|
1205
1336
|
return {
|
|
1206
1337
|
icon: MessageLinesIcon,
|
|
1207
|
-
title:
|
|
1338
|
+
title: __19("Send Feedback", "elementor"),
|
|
1208
1339
|
onClick: () => {
|
|
1209
1340
|
dispatchEvent(new CustomEvent(FEEDBACK_TOGGLE_EVENT));
|
|
1210
1341
|
}
|
|
@@ -1216,10 +1347,10 @@ function init7() {
|
|
|
1216
1347
|
// src/extensions/finder/hooks/use-action-props.ts
|
|
1217
1348
|
import { __privateRunCommand as runCommand4 } from "@elementor/editor-v1-adapters";
|
|
1218
1349
|
import { SearchIcon } from "@elementor/icons";
|
|
1219
|
-
import { __ as
|
|
1350
|
+
import { __ as __20 } from "@wordpress/i18n";
|
|
1220
1351
|
function useActionProps5() {
|
|
1221
1352
|
return {
|
|
1222
|
-
title:
|
|
1353
|
+
title: __20("Finder", "elementor"),
|
|
1223
1354
|
icon: SearchIcon,
|
|
1224
1355
|
onClick: () => {
|
|
1225
1356
|
const extendedWindow = window;
|
|
@@ -1248,10 +1379,10 @@ function init8() {
|
|
|
1248
1379
|
|
|
1249
1380
|
// src/extensions/help/hooks/use-action-props.ts
|
|
1250
1381
|
import { HelpIcon } from "@elementor/icons";
|
|
1251
|
-
import { __ as
|
|
1382
|
+
import { __ as __21 } from "@wordpress/i18n";
|
|
1252
1383
|
function useActionProps6() {
|
|
1253
1384
|
return {
|
|
1254
|
-
title:
|
|
1385
|
+
title: __21("Help Center", "elementor"),
|
|
1255
1386
|
href: "https://go.elementor.com/editor-top-bar-learn/",
|
|
1256
1387
|
icon: HelpIcon,
|
|
1257
1388
|
target: "_blank",
|
|
@@ -1286,11 +1417,11 @@ import {
|
|
|
1286
1417
|
__privateUseRouteStatus as useRouteStatus3
|
|
1287
1418
|
} from "@elementor/editor-v1-adapters";
|
|
1288
1419
|
import { HistoryIcon } from "@elementor/icons";
|
|
1289
|
-
import { __ as
|
|
1420
|
+
import { __ as __22 } from "@wordpress/i18n";
|
|
1290
1421
|
function useActionProps7() {
|
|
1291
1422
|
const { isActive, isBlocked } = useRouteStatus3("panel/history");
|
|
1292
1423
|
return {
|
|
1293
|
-
title:
|
|
1424
|
+
title: __22("History", "elementor"),
|
|
1294
1425
|
icon: HistoryIcon,
|
|
1295
1426
|
onClick: () => {
|
|
1296
1427
|
const extendedWindow = window;
|
|
@@ -1322,11 +1453,11 @@ function init10() {
|
|
|
1322
1453
|
// src/extensions/keyboard-shortcuts/hooks/use-action-props.ts
|
|
1323
1454
|
import { __privateRunCommand as runCommand5 } from "@elementor/editor-v1-adapters";
|
|
1324
1455
|
import { KeyboardIcon } from "@elementor/icons";
|
|
1325
|
-
import { __ as
|
|
1456
|
+
import { __ as __23 } from "@wordpress/i18n";
|
|
1326
1457
|
function useActionProps8() {
|
|
1327
1458
|
return {
|
|
1328
1459
|
icon: KeyboardIcon,
|
|
1329
|
-
title:
|
|
1460
|
+
title: __23("Keyboard Shortcuts", "elementor"),
|
|
1330
1461
|
onClick: () => {
|
|
1331
1462
|
const extendedWindow = window;
|
|
1332
1463
|
const config = extendedWindow?.elementorCommon?.eventsManager?.config;
|
|
@@ -1354,7 +1485,7 @@ function init11() {
|
|
|
1354
1485
|
}
|
|
1355
1486
|
|
|
1356
1487
|
// src/extensions/responsive/components/breakpoints-switcher.tsx
|
|
1357
|
-
import * as
|
|
1488
|
+
import * as React25 from "react";
|
|
1358
1489
|
import {
|
|
1359
1490
|
useActivateBreakpoint,
|
|
1360
1491
|
useActiveBreakpoint,
|
|
@@ -1370,7 +1501,7 @@ import {
|
|
|
1370
1501
|
WidescreenIcon
|
|
1371
1502
|
} from "@elementor/icons";
|
|
1372
1503
|
import { Tab, Tabs, Tooltip as BaseTooltip2 } from "@elementor/ui";
|
|
1373
|
-
import { __ as
|
|
1504
|
+
import { __ as __24 } from "@wordpress/i18n";
|
|
1374
1505
|
function BreakpointsSwitcher() {
|
|
1375
1506
|
const breakpoints = useBreakpoints();
|
|
1376
1507
|
const activeBreakpoint = useActiveBreakpoint();
|
|
@@ -1392,14 +1523,14 @@ function BreakpointsSwitcher() {
|
|
|
1392
1523
|
}
|
|
1393
1524
|
activateBreakpoint(value);
|
|
1394
1525
|
};
|
|
1395
|
-
return /* @__PURE__ */
|
|
1526
|
+
return /* @__PURE__ */ React25.createElement(
|
|
1396
1527
|
Tabs,
|
|
1397
1528
|
{
|
|
1398
1529
|
textColor: "inherit",
|
|
1399
1530
|
indicatorColor: "secondary",
|
|
1400
1531
|
value: activeBreakpoint,
|
|
1401
1532
|
onChange,
|
|
1402
|
-
"aria-label":
|
|
1533
|
+
"aria-label": __24("Switch Device", "elementor"),
|
|
1403
1534
|
sx: {
|
|
1404
1535
|
"& .MuiTabs-indicator": {
|
|
1405
1536
|
backgroundColor: "text.primary"
|
|
@@ -1409,13 +1540,13 @@ function BreakpointsSwitcher() {
|
|
|
1409
1540
|
breakpoints.map(({ id, label, type, width }) => {
|
|
1410
1541
|
const Icon = iconsMap[id];
|
|
1411
1542
|
const title = labelsMap[type || "default"].replace("%s", label).replace("%d", width?.toString() || "");
|
|
1412
|
-
return /* @__PURE__ */
|
|
1543
|
+
return /* @__PURE__ */ React25.createElement(
|
|
1413
1544
|
Tab,
|
|
1414
1545
|
{
|
|
1415
1546
|
value: id,
|
|
1416
1547
|
key: id,
|
|
1417
1548
|
"aria-label": title,
|
|
1418
|
-
icon: /* @__PURE__ */
|
|
1549
|
+
icon: /* @__PURE__ */ React25.createElement(Tooltip4, { title }, /* @__PURE__ */ React25.createElement(Icon, null)),
|
|
1419
1550
|
sx: { minWidth: "auto" },
|
|
1420
1551
|
"data-testid": `switch-device-to-${id}`
|
|
1421
1552
|
}
|
|
@@ -1424,7 +1555,7 @@ function BreakpointsSwitcher() {
|
|
|
1424
1555
|
);
|
|
1425
1556
|
}
|
|
1426
1557
|
function Tooltip4(props) {
|
|
1427
|
-
return /* @__PURE__ */
|
|
1558
|
+
return /* @__PURE__ */ React25.createElement(
|
|
1428
1559
|
BaseTooltip2,
|
|
1429
1560
|
{
|
|
1430
1561
|
PopperProps: {
|
|
@@ -1450,9 +1581,9 @@ var iconsMap = {
|
|
|
1450
1581
|
var labelsMap = {
|
|
1451
1582
|
default: "%s",
|
|
1452
1583
|
// translators: %s: Breakpoint label, %d: Breakpoint size.
|
|
1453
|
-
"min-width":
|
|
1584
|
+
"min-width": __24("%s (%dpx and up)", "elementor"),
|
|
1454
1585
|
// translators: %s: Breakpoint label, %d: Breakpoint size.
|
|
1455
|
-
"max-width":
|
|
1586
|
+
"max-width": __24("%s (up to %dpx)", "elementor")
|
|
1456
1587
|
};
|
|
1457
1588
|
|
|
1458
1589
|
// src/extensions/responsive/index.ts
|
|
@@ -1471,10 +1602,10 @@ function init12() {
|
|
|
1471
1602
|
import { injectIntoTop } from "@elementor/editor";
|
|
1472
1603
|
|
|
1473
1604
|
// src/extensions/site-settings/components/portalled-primary-action.tsx
|
|
1474
|
-
import * as
|
|
1605
|
+
import * as React28 from "react";
|
|
1475
1606
|
|
|
1476
1607
|
// src/extensions/site-settings/components/portal.tsx
|
|
1477
|
-
import * as
|
|
1608
|
+
import * as React26 from "react";
|
|
1478
1609
|
import {
|
|
1479
1610
|
__privateIsRouteActive as isRouteActive2,
|
|
1480
1611
|
__privateUseListenTo as useListenTo,
|
|
@@ -1490,24 +1621,24 @@ function Portal(props) {
|
|
|
1490
1621
|
if (!containerRef.current) {
|
|
1491
1622
|
return null;
|
|
1492
1623
|
}
|
|
1493
|
-
return /* @__PURE__ */
|
|
1624
|
+
return /* @__PURE__ */ React26.createElement(BasePortal, { container: containerRef.current, ...props });
|
|
1494
1625
|
}
|
|
1495
1626
|
function getContainerRef() {
|
|
1496
1627
|
return isRouteActive2("panel/global") ? { current: document.querySelector("#elementor-panel-inner") } : { current: null };
|
|
1497
1628
|
}
|
|
1498
1629
|
|
|
1499
1630
|
// src/extensions/site-settings/components/primary-action.tsx
|
|
1500
|
-
import * as
|
|
1631
|
+
import * as React27 from "react";
|
|
1501
1632
|
import {
|
|
1502
1633
|
__useActiveDocument as useActiveDocument9,
|
|
1503
1634
|
__useActiveDocumentActions as useActiveDocumentActions5
|
|
1504
1635
|
} from "@elementor/editor-documents";
|
|
1505
|
-
import { Button as
|
|
1506
|
-
import { __ as
|
|
1636
|
+
import { Button as Button4, CircularProgress as CircularProgress2, Paper } from "@elementor/ui";
|
|
1637
|
+
import { __ as __25 } from "@wordpress/i18n";
|
|
1507
1638
|
function PrimaryAction2() {
|
|
1508
1639
|
const document2 = useActiveDocument9();
|
|
1509
1640
|
const { save } = useActiveDocumentActions5();
|
|
1510
|
-
return /* @__PURE__ */
|
|
1641
|
+
return /* @__PURE__ */ React27.createElement(
|
|
1511
1642
|
Paper,
|
|
1512
1643
|
{
|
|
1513
1644
|
sx: {
|
|
@@ -1517,8 +1648,8 @@ function PrimaryAction2() {
|
|
|
1517
1648
|
borderColor: "divider"
|
|
1518
1649
|
}
|
|
1519
1650
|
},
|
|
1520
|
-
/* @__PURE__ */
|
|
1521
|
-
|
|
1651
|
+
/* @__PURE__ */ React27.createElement(
|
|
1652
|
+
Button4,
|
|
1522
1653
|
{
|
|
1523
1654
|
variant: "contained",
|
|
1524
1655
|
disabled: !document2 || !document2.isDirty,
|
|
@@ -1526,14 +1657,14 @@ function PrimaryAction2() {
|
|
|
1526
1657
|
sx: { width: "100%" },
|
|
1527
1658
|
onClick: () => document2 && !document2.isSaving ? save() : null
|
|
1528
1659
|
},
|
|
1529
|
-
document2?.isSaving ? /* @__PURE__ */
|
|
1660
|
+
document2?.isSaving ? /* @__PURE__ */ React27.createElement(CircularProgress2, null) : __25("Save Changes", "elementor")
|
|
1530
1661
|
)
|
|
1531
1662
|
);
|
|
1532
1663
|
}
|
|
1533
1664
|
|
|
1534
1665
|
// src/extensions/site-settings/components/portalled-primary-action.tsx
|
|
1535
1666
|
function PortalledPrimaryAction() {
|
|
1536
|
-
return /* @__PURE__ */
|
|
1667
|
+
return /* @__PURE__ */ React28.createElement(Portal, null, /* @__PURE__ */ React28.createElement(PrimaryAction2, null));
|
|
1537
1668
|
}
|
|
1538
1669
|
|
|
1539
1670
|
// src/extensions/site-settings/hooks/use-action-props.ts
|
|
@@ -1542,13 +1673,13 @@ import {
|
|
|
1542
1673
|
__privateUseRouteStatus as useRouteStatus4
|
|
1543
1674
|
} from "@elementor/editor-v1-adapters";
|
|
1544
1675
|
import { SettingsIcon } from "@elementor/icons";
|
|
1545
|
-
import { __ as
|
|
1676
|
+
import { __ as __26 } from "@wordpress/i18n";
|
|
1546
1677
|
function useActionProps9() {
|
|
1547
1678
|
const { isActive, isBlocked } = useRouteStatus4("panel/global", {
|
|
1548
1679
|
blockOnKitRoutes: false
|
|
1549
1680
|
});
|
|
1550
1681
|
return {
|
|
1551
|
-
title:
|
|
1682
|
+
title: __26("Site Settings", "elementor"),
|
|
1552
1683
|
icon: SettingsIcon,
|
|
1553
1684
|
onClick: () => {
|
|
1554
1685
|
const extendedWindow = window;
|
|
@@ -1592,11 +1723,11 @@ import {
|
|
|
1592
1723
|
__privateUseRouteStatus as useRouteStatus5
|
|
1593
1724
|
} from "@elementor/editor-v1-adapters";
|
|
1594
1725
|
import { StructureIcon } from "@elementor/icons";
|
|
1595
|
-
import { __ as
|
|
1726
|
+
import { __ as __27 } from "@wordpress/i18n";
|
|
1596
1727
|
function useActionProps10() {
|
|
1597
1728
|
const { isActive, isBlocked } = useRouteStatus5("navigator");
|
|
1598
1729
|
return {
|
|
1599
|
-
title:
|
|
1730
|
+
title: __27("Structure", "elementor"),
|
|
1600
1731
|
icon: StructureIcon,
|
|
1601
1732
|
onClick: () => {
|
|
1602
1733
|
const extendedWindow = window;
|
|
@@ -1628,11 +1759,11 @@ function init14() {
|
|
|
1628
1759
|
// src/extensions/theme-builder/hooks/use-action-props.ts
|
|
1629
1760
|
import { __privateRunCommand as runCommand8 } from "@elementor/editor-v1-adapters";
|
|
1630
1761
|
import { ThemeBuilderIcon } from "@elementor/icons";
|
|
1631
|
-
import { __ as
|
|
1762
|
+
import { __ as __28 } from "@wordpress/i18n";
|
|
1632
1763
|
function useActionProps11() {
|
|
1633
1764
|
return {
|
|
1634
1765
|
icon: ThemeBuilderIcon,
|
|
1635
|
-
title:
|
|
1766
|
+
title: __28("Theme Builder", "elementor"),
|
|
1636
1767
|
onClick: () => {
|
|
1637
1768
|
const extendedWindow = window;
|
|
1638
1769
|
const config = extendedWindow?.elementorCommon?.eventsManager?.config;
|
|
@@ -1665,12 +1796,12 @@ import {
|
|
|
1665
1796
|
__privateUseRouteStatus as useRouteStatus6
|
|
1666
1797
|
} from "@elementor/editor-v1-adapters";
|
|
1667
1798
|
import { ToggleRightIcon } from "@elementor/icons";
|
|
1668
|
-
import { __ as
|
|
1799
|
+
import { __ as __29 } from "@wordpress/i18n";
|
|
1669
1800
|
function useActionProps12() {
|
|
1670
1801
|
const { isActive, isBlocked } = useRouteStatus6("panel/editor-preferences");
|
|
1671
1802
|
return {
|
|
1672
1803
|
icon: ToggleRightIcon,
|
|
1673
|
-
title:
|
|
1804
|
+
title: __29("User Preferences", "elementor"),
|
|
1674
1805
|
onClick: () => {
|
|
1675
1806
|
const extendedWindow = window;
|
|
1676
1807
|
const config = extendedWindow?.elementorCommon?.eventsManager?.config;
|
|
@@ -1702,7 +1833,7 @@ function init16() {
|
|
|
1702
1833
|
// src/extensions/wordpress/index.ts
|
|
1703
1834
|
import { __useActiveDocument as useActiveDocument10 } from "@elementor/editor-documents";
|
|
1704
1835
|
import { WordpressIcon } from "@elementor/icons";
|
|
1705
|
-
import { __ as
|
|
1836
|
+
import { __ as __30 } from "@wordpress/i18n";
|
|
1706
1837
|
function init17() {
|
|
1707
1838
|
mainMenu.registerLink({
|
|
1708
1839
|
id: "exit-to-wordpress",
|
|
@@ -1711,7 +1842,7 @@ function init17() {
|
|
|
1711
1842
|
useProps: () => {
|
|
1712
1843
|
const document2 = useActiveDocument10();
|
|
1713
1844
|
return {
|
|
1714
|
-
title:
|
|
1845
|
+
title: __30("Exit to WordPress", "elementor"),
|
|
1715
1846
|
href: document2?.links?.platformEdit,
|
|
1716
1847
|
icon: WordpressIcon,
|
|
1717
1848
|
onClick: () => {
|